ICfdVault
Vault that custodies USDC backing the CFD trading system.
Functions
totalAssets
Canonical economic USDC backing recognized by the vault (6 decimals). Ignores unsolicited positive token transfers until explicitly accounted, but still reflects raw-balance shortfalls if assets leave the vault unexpectedly.
function totalAssets() external view returns (uint256);
payOut
Transfers USDC from the vault to a recipient
function payOut(
address recipient,
uint256 amount
) external;
Parameters
| Name | Type | Description |
|---|---|---|
recipient | address | Address to receive USDC |
amount | uint256 | USDC amount to transfer (6 decimals) |
recordProtocolInflow
Increases canonical vault assets to recognize a legitimate protocol-owned inflow.
This is the controlled accounting path for endogenous protocol gains that should
increase economic vault depth. It does not require raw excess to be present and may
also be used to restore canonical accounting after a raw-balance shortfall has already
reduced totalAssets() via the min(rawBalance, accountedAssets) boundary.
Reverts if the caller is unauthorized.
function recordProtocolInflow(
uint256 amount
) external;
recordClaimantInflow
Records claimant-owned value that should ultimately flow through the tranche waterfall.
CashArrived increments canonical accounted assets because raw USDC arrived in this flow.
AlreadyRetained only routes ownership for value already retained physically by the vault.
function recordClaimantInflow(
uint256 amount,
ClaimantInflowKind kind,
ClaimantInflowCashMode cashMode
) external;
markStalenessLimit
Maximum age for mark price freshness checks outside FAD mode (seconds)
function markStalenessLimit() external view returns (uint256);
isSeedLifecycleComplete
Returns true once both tranche seed positions exist.
function isSeedLifecycleComplete() external view returns (bool);
hasSeedLifecycleStarted
Returns true if bootstrap seeding has started for either tranche.
function hasSeedLifecycleStarted() external view returns (bool);
canAcceptOrdinaryDeposits
Returns true once ordinary LP deposits are allowed.
function canAcceptOrdinaryDeposits() external view returns (bool);
canIncreaseRisk
Returns true once risk-increasing trader actions are allowed.
function canIncreaseRisk() external view returns (bool);
isTradingActive
Returns true if owner has activated trading after seed completion.
function isTradingActive() external view returns (bool);
Enums
ClaimantInflowKind
enum ClaimantInflowKind {
Revenue,
Recapitalization
}
ClaimantInflowCashMode
enum ClaimantInflowCashMode {
CashArrived,
AlreadyRetained
}