ExchangeLiquidatePositionHandler
ExchangeLiquidatePositionHandler
Addresses
| Chain | Address |
|---|---|
| Arbitrum Sepolia | 0x4E469A29706c0ffbcE447Df14Bc6cA7560FA51A1 |
| Base Sepolia | 0xbba50b352287505910Fd5D86451f04c054aDe73F |
| Base Mainnet | 0xaf753dDdcDc078b7107a5D2e0daDAb7deF0A4857 |
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
| Name | Type | Description |
|---|---|---|
positionId | PositionId | Position to liquidate |
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | uint256 | liquidatorReward 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