Skip to main content

ExchangeLiquidatePositionHandler

ExchangeLiquidatePositionHandler

Addresses

ChainAddress
Arbitrum Sepolia0x4E469A29706c0ffbcE447Df14Bc6cA7560FA51A1
Base Sepolia0xbba50b352287505910Fd5D86451f04c054aDe73F
Base Mainnet0xaf753dDdcDc078b7107a5D2e0daDAb7deF0A4857

Functions

initialize

function initialize(struct StorageInstance app_) external

_getLiquidatorReward

function _getLiquidatorReward(
struct PositionPtr position,
struct ProductPtr product,
FPSigned pnl
) internal view returns (
uint256 loss,
int256 netPnl,
uint256 remainingReward,
uint256 liquidatorReward
)

liquidate

Liquidate a position with PnL at or below liquidation threshold

function liquidate(PositionId positionId) public returns (uint256)
Dev note

revert if not liquidatable

Parameters

NameTypeDescription
positionIdPositionIdPosition to liquidate

Return Values

NameTypeDescription
[0]uint256liquidatorReward Bounty approved for transfer from Vault to msg.sender

_emitLiquidation

function _emitLiquidation(
PositionId positionId,
struct PositionPtr position,
int256 netPnl,
FPUnsigned oraclePrice,
uint256 liquidatorReward,
uint256 remainingReward
) internal

liquidateMany

function liquidateMany(PositionId[] positionIds, address feeReceiver) external