Git Source
function getMaxLiability(
uint256 bullMaxProfitUsdc,
uint256 bearMaxProfitUsdc
) internal pure returns (uint256);
function getMaxLiabilityAfterClose(
uint256 bullMaxProfitUsdc,
uint256 bearMaxProfitUsdc,
CfdTypes.Side side,
uint256 maxProfitReductionUsdc
) internal pure returns (uint256);
function buildSolvencyState(
uint256 physicalAssetsUsdc,
uint256 protocolFeesUsdc,
uint256 maxLiabilityUsdc,
uint256 deferredTraderCreditUsdc,
uint256 deferredKeeperCreditUsdc
) internal pure returns (SolvencyState memory state);
function effectiveAssetsAfterPendingPayout(
SolvencyState memory state,
uint256 pendingVaultPayoutUsdc
) internal pure returns (uint256);
function isInsolvent(
SolvencyState memory state
) internal pure returns (bool);
function previewPostOpSolvency(
SolvencyState memory currentState,
PreviewDelta memory delta,
bool alreadyDegraded
) internal pure returns (PreviewResult memory result);
function _applySignedDelta(
uint256 value,
int256 delta
) private pure returns (uint256 updatedValue);
struct PreviewDelta {
int256 physicalAssetsDeltaUsdc;
uint256 protocolFeesDeltaUsdc;
uint256 maxLiabilityAfterUsdc;
int256 deferredTraderPayoutDeltaUsdc;
int256 deferredKeeperCreditDeltaUsdc;
uint256 pendingVaultPayoutUsdc;
}
struct PreviewResult {
uint256 effectiveAssetsAfterUsdc;
uint256 maxLiabilityAfterUsdc;
bool triggersDegradedMode;
bool postOpDegradedMode;
}
struct SolvencyState {
uint256 physicalAssetsUsdc;
uint256 protocolFeesUsdc;
uint256 netPhysicalAssetsUsdc;
uint256 maxLiabilityUsdc;
uint256 deferredTraderCreditUsdc;
uint256 deferredKeeperCreditUsdc;
uint256 withdrawalReservedUsdc;
uint256 freeWithdrawableUsdc;
uint256 effectiveAssetsUsdc;
}