Git Source
function buildAccountUsdcBuckets(
uint256 settlementBalanceUsdc,
uint256 positionMarginUsdc,
uint256 committedOrderMarginUsdc,
uint256 reservedSettlementUsdc
) internal pure returns (IMarginClearinghouse.AccountUsdcBuckets memory buckets);
function buildPartialCloseUsdcBuckets(
uint256 settlementBalanceUsdc,
uint256 positionMarginUsdc,
uint256 committedOrderMarginUsdc,
uint256 reservedSettlementUsdc
) internal pure returns (IMarginClearinghouse.AccountUsdcBuckets memory buckets);
function planFundingLossConsumption(
IMarginClearinghouse.AccountUsdcBuckets memory buckets,
uint256 lossUsdc
) internal pure returns (SettlementConsumption memory consumption);
function getTerminalReachableUsdc(
IMarginClearinghouse.AccountUsdcBuckets memory buckets
) internal pure returns (uint256 reachableUsdc);
function getSettlementReachableUsdc(
IMarginClearinghouse.AccountUsdcBuckets memory buckets,
uint256 protectedLockedMarginUsdc
) internal pure returns (uint256 reachableUsdc);
function planTerminalLossConsumption(
IMarginClearinghouse.AccountUsdcBuckets memory buckets,
uint256 protectedLockedMarginUsdc,
uint256 lossUsdc
) internal pure returns (SettlementConsumption memory consumption);
function applyFundingLossMutation(
IMarginClearinghouse.AccountUsdcBuckets memory,
SettlementConsumption memory consumption
) internal pure returns (BucketMutation memory mutation);
function applyTerminalLossMutation(
IMarginClearinghouse.AccountUsdcBuckets memory,
uint256,
SettlementConsumption memory consumption
) internal pure returns (BucketMutation memory mutation);
function planLiquidationResidual(
IMarginClearinghouse.AccountUsdcBuckets memory buckets,
int256 residualUsdc
) internal pure returns (LiquidationResidualPlan memory plan);
struct SettlementConsumption {
uint256 freeSettlementConsumedUsdc;
uint256 activeMarginConsumedUsdc;
uint256 otherLockedMarginConsumedUsdc;
uint256 totalConsumedUsdc;
uint256 uncoveredUsdc;
}
struct BucketMutation {
uint256 settlementDebitUsdc;
uint256 positionMarginUnlockedUsdc;
uint256 otherLockedMarginUnlockedUsdc;
}
struct LiquidationResidualPlan {
uint256 settlementRetainedUsdc;
uint256 settlementSeizedUsdc;
uint256 freshTraderPayoutUsdc;
uint256 badDebtUsdc;
BucketMutation mutation;
}