Qilin Protocol
Search
K
Comment on page

QilinV2Pool

QILINV2POOL

Managing liquidity pools, LP tokens, positions

addLiquidity

Add liquidity to a trading pool to obtain corresponding LP tokens
function addLiquidity(
address user,
uint256 amount
) external;
parameters:
name
type
description
user
address
Address of whom actually adds liquidity, since Qilin's trading pool is called by Router, the actually signer address cannot be obtained through msg.sender
amount
uint256
Amount of added liquidity (measured in pool tokens)

removeLiquidity

Remove the liquidity in a trading pool, destroy the corresponding LP token, and obtain the pool tokens
function removeLiquidity(
address user,
uint256 lsAmount,
uint256 bondsAmount,
address receipt
) external;
parameters:
name
type
description
user
address
Address of whom actually removes liquidity
lsAmount
uint256
Amount of removed liquidity (measured in ls tokens)
bondsAmount
uint256
The amount of bond tokens used to offset debt when removing liquidity
receipt
address
Receiver address after removing liquidity

openPosition

Open a position based on a certain trading pool
function openPosition(
address user,
uint8 direction,
uint16 leverage,
uint256 position
) external returns (uint32);
parameters:
name
type
description
user
address
Actual trading address
direction
uint8
Trading direction,1: buy long,2: buy short
leverage
uint16
Leverage
position
uint256
Initial margin size of position
returns:
name
type
description
positionId
uint32
Position ID

addMargin

Add margin to a specified position
function addMargin(
address user,
uint32 positionId,
uint256 margin
) external;
parameters:
name
type
description
user
address
The address where the margin is actually added
positionId
uint32
Position ID
margin
uint256
Amount of margin added

closePosition

Close position, only when the remaining margin of the position is not lower than the margin*margin rate, the position can be closed
function closePosition(
address receipt,
uint32 positionId
) external;
parameters:
name
type
description
receipt
address
Address to receive tokens
positionId
uint32
Position ID

liquidate

Liquidation, when the remaining margin of the position is lower than the margin * margin rate, you can use this interface to liquidate
function liquidate(
address user,
uint32 positionId,
address receipt
) external;
parameters:
name
type
description
user
address
The address where the position is actually liquidated
positionId
uint32
Position ID
receipt
address
Address to receive tokens