ICfdEngineCore
Core/operator-facing engine surface used by live perps contracts.
Functions
clearinghouse
function clearinghouse() external view returns (address);
orderRouter
function orderRouter() external view returns (address);
settlementModule
function settlementModule() external view returns (address);
USDC
function USDC() external view returns (IERC20);
lastMarkPrice
function lastMarkPrice() external view returns (uint256);
riskParams
function riskParams()
external
view
returns (
uint256 vpiFactor,
uint256 maxSkewRatio,
uint256 maintMarginBps,
uint256 initMarginBps,
uint256 fadMarginBps,
uint256 baseCarryBps,
uint256 minBountyUsdc,
uint256 bountyBps
);
processOrderTyped
function processOrderTyped(
CfdTypes.Order memory order,
uint256 currentOraclePrice,
uint256 vaultDepthUsdc,
uint64 publishTime
) external;
recordDeferredKeeperCredit
function recordDeferredKeeperCredit(
address keeper,
uint256 amountUsdc
) external;
reserveCloseOrderExecutionBounty
function reserveCloseOrderExecutionBounty(
bytes32 accountId,
uint256 sizeDelta,
uint256 amountUsdc,
address recipient
) external;
absorbRouterCancellationFee
function absorbRouterCancellationFee(
uint256 amountUsdc
) external;
recordRouterProtocolFee
function recordRouterProtocolFee(
uint256 amountUsdc
) external;
creditKeeperExecutionBounty
function creditKeeperExecutionBounty(
address beneficiary,
uint256 amountUsdc,
uint256 price,
uint64 publishTime
) external;
accumulatedFeesUsdc
function accumulatedFeesUsdc() external view returns (uint256);
totalDeferredTraderCreditUsdc
function totalDeferredTraderCreditUsdc() external view returns (uint256);
totalDeferredKeeperCreditUsdc
function totalDeferredKeeperCreditUsdc() external view returns (uint256);
liquidatePosition
function liquidatePosition(
bytes32 accountId,
uint256 currentOraclePrice,
uint256 vaultDepthUsdc,
uint64 publishTime
) external returns (uint256 keeperBountyUsdc);
lastMarkTime
function lastMarkTime() external view returns (uint64);
updateMarkPrice
function updateMarkPrice(
uint256 price,
uint64 publishTime
) external;
CAP_PRICE
function CAP_PRICE() external view returns (uint256);
realizeCarryBeforeMarginChange
function realizeCarryBeforeMarginChange(
bytes32 accountId,
uint256 reachableCollateralBasisUsdc
) external;
checkpointCarryUsingStoredMark
function checkpointCarryUsingStoredMark(
bytes32 accountId,
uint256 reachableCollateralBasisUsdc
) external;
isFadWindow
function isFadWindow() external view returns (bool);
fadMaxStaleness
function fadMaxStaleness() external view returns (uint256);
engineMarkStalenessLimit
function engineMarkStalenessLimit() external view returns (uint256);
fadDayOverrides
function fadDayOverrides(
uint256 dayNumber
) external view returns (bool);
isOracleFrozen
function isOracleFrozen() external view returns (bool);
positions
function positions(
bytes32 accountId
)
external
view
returns (
uint256 size,
uint256 margin,
uint256 entryPrice,
uint256 maxProfitUsdc,
CfdTypes.Side side,
uint64 lastUpdateTime,
int256 vpiAccrued
);
degradedMode
function degradedMode() external view returns (bool);
getProtocolStatus
function getProtocolStatus() external view returns (EngineStatusViewTypes.ProtocolStatus memory status);
Errors
CfdEngine__TypedOrderFailure
error CfdEngine__TypedOrderFailure(
CfdEnginePlanTypes.ExecutionFailurePolicyCategory failureCategory, uint8 failureCode, bool isClose
);
CfdEngine__MarkPriceOutOfOrder
error CfdEngine__MarkPriceOutOfOrder();