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