|
| 1 | +--- |
| 2 | +title: ICoreVaultClient |
| 3 | +sidebar_position: 8 |
| 4 | +description: Agent-facing interface for transferring backing assets into and out of the FAssets core vault. |
| 5 | +--- |
| 6 | + |
| 7 | +:::caution Preview |
| 8 | +This page is a hand-written stub extracted directly from the periphery release (`@flarenetwork/flare-periphery-contracts` v0.1.41) while the auto-generated reference catches up. |
| 9 | +Function signatures and events may change between periphery releases — cross-check against the source before pinning your contract code. |
| 10 | +::: |
| 11 | + |
| 12 | +`ICoreVaultClient` is the agent-facing surface of the FAssets **core vault** subsystem. |
| 13 | +Agents transfer backing into the core vault to free up capital, and request returns when they need to redeem. |
| 14 | +Direct minting (FAssets minted without an XRPL payment from the user) and direct redemptions also flow through this client. |
| 15 | + |
| 16 | +Sourced from `ICoreVaultClient.sol` on [GitHub](https://github.com/flare-foundation/fassets/blob/main/contracts/userInterfaces/ICoreVaultClient.sol). |
| 17 | + |
| 18 | +## Workflows |
| 19 | + |
| 20 | +The interface groups three lifecycle flows: |
| 21 | + |
| 22 | +1. **Transfer to core vault** — `transferToCoreVault`, with `TransferToCoreVaultStarted` → `TransferToCoreVaultSuccessful` (or `TransferToCoreVaultDefaulted`) events. |
| 23 | +2. **Return from core vault** — `requestReturnFromCoreVault` → `confirmReturnFromCoreVault`, with the corresponding `ReturnFromCoreVault*` events. |
| 24 | +3. **Core-vault redemption** — `redeemFromCoreVault`, emitting `CoreVaultRedemptionRequested`. |
| 25 | + |
| 26 | +## Events |
| 27 | + |
| 28 | +A non-exhaustive list of the events exposed by `ICoreVaultClient` (consult the source for the full list and field semantics): |
| 29 | + |
| 30 | +- `TransferToCoreVaultStarted(address agentVault, uint256 transferRedemptionRequestId, uint256 valueUBA)` |
| 31 | +- `TransferToCoreVaultDefaulted(address agentVault, uint256 transferRedemptionRequestId, uint256 remintedUBA)` |
| 32 | +- `TransferToCoreVaultSuccessful(address agentVault, uint256 transferRedemptionRequestId, uint256 valueUBA)` |
| 33 | +- `ReturnFromCoreVaultRequested(address agentVault, uint256 requestId, bytes32 paymentReference, uint256 valueUBA)` |
| 34 | +- `ReturnFromCoreVaultCancelled(address agentVault, uint256 requestId)` |
| 35 | +- `ReturnFromCoreVaultConfirmed(address agentVault, uint256 requestId, uint256 receivedUnderlyingUBA, uint256 remintedUBA)` |
| 36 | +- `CoreVaultRedemptionRequested(address redeemer, string paymentAddress, bytes32 paymentReference, uint256 valueUBA, uint256 feeUBA)` |
| 37 | + |
| 38 | +See the linked source for the full set of functions and accompanying NatSpec. |
0 commit comments