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

SolvencyAccountingLib

Git Source

Functions

getMaxLiability

function getMaxLiability(
    uint256 bullMaxProfitUsdc,
    uint256 bearMaxProfitUsdc
) internal pure returns (uint256);

getMaxLiabilityAfterClose

function getMaxLiabilityAfterClose(
    uint256 bullMaxProfitUsdc,
    uint256 bearMaxProfitUsdc,
    CfdTypes.Side side,
    uint256 maxProfitReductionUsdc
) internal pure returns (uint256);

buildSolvencyState

function buildSolvencyState(
    uint256 physicalAssetsUsdc,
    uint256 protocolFeesUsdc,
    uint256 maxLiabilityUsdc,
    int256 solvencyFundingPnlUsdc,
    uint256 deferredTraderPayoutUsdc,
    uint256 deferredClearerBountyUsdc
) internal pure returns (SolvencyState memory state);

effectiveAssetsAfterPendingPayout

function effectiveAssetsAfterPendingPayout(
    SolvencyState memory state,
    uint256 pendingVaultPayoutUsdc
) internal pure returns (uint256);

isInsolvent

function isInsolvent(
    SolvencyState memory state
) internal pure returns (bool);

previewPostOpSolvency

function previewPostOpSolvency(
    SolvencyState memory currentState,
    PreviewDelta memory delta,
    bool alreadyDegraded
) internal pure returns (PreviewResult memory result);

_applySignedDelta

function _applySignedDelta(
    uint256 value,
    int256 delta
) private pure returns (uint256 updatedValue);

Structs

PreviewDelta

struct PreviewDelta {
    int256 physicalAssetsDeltaUsdc;
    uint256 protocolFeesDeltaUsdc;
    uint256 maxLiabilityAfterUsdc;
    int256 deferredTraderPayoutDeltaUsdc;
    int256 deferredLiquidationBountyDeltaUsdc;
    uint256 pendingVaultPayoutUsdc;
}

PreviewResult

struct PreviewResult {
    uint256 effectiveAssetsAfterUsdc;
    uint256 maxLiabilityAfterUsdc;
    bool triggersDegradedMode;
    bool postOpDegradedMode;
}

SolvencyState

struct SolvencyState {
    uint256 physicalAssetsUsdc;
    uint256 protocolFeesUsdc;
    uint256 netPhysicalAssetsUsdc;
    uint256 maxLiabilityUsdc;
    int256 solvencyFundingPnlUsdc;
    uint256 deferredTraderPayoutUsdc;
    uint256 deferredClearerBountyUsdc;
    uint256 effectiveAssetsUsdc;
}