Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ICfdVault

Git Source

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

NameTypeDescription
recipientaddressAddress to receive USDC
amountuint256USDC 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;

recordRecapitalizationInflow

Records an explicit recapitalization inflow intended to restore senior first.

function recordRecapitalizationInflow(
    uint256 amount
) external;

recordTradingRevenueInflow

Records LP-owned trading revenue and directly attaches it to seeded claimants when both tranches are otherwise at zero principal.

function recordTradingRevenueInflow(
    uint256 amount
) 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);