IExchange
SwapParams
SwapResponse
SwapCallbackData
RealizePnlParams
Functions
swap
The actual swap function
can only be called from ClearingHouse
Parameters:
params
struct IExchange.SwapParams
The parameters of the swap
Return Values:
swapResponse
struct IExchange.SwapResponse
The result of the swap
settleFunding
Settle the funding payment for the time interval since the last settlement
This function should be called at the beginning of every high-level function, such as openPosition()
while it doesn't matter who calls this function this function 1. settles personal funding payment 2. updates global funding growth personal funding payment is settled whenever there is pending funding payment the global funding growth update only happens once per unique timestamp (not blockNumber, due to Arbitrum)
Return Values:
fundingPayment
int256
the funding payment of a trader in one market should be settled into owned realized Pnl
fundingGrowthGlobal
struct Funding.Growth
the up-to-date globalFundingGrowth, usually used for later calculations
getMaxTickCrossedWithinBlock
Get the max ticks allowed to be crossed within a block when reducing position
Parameters:
baseToken
address
Address of the base token
Return Values:
maxTickCrossedWithinBlock
uint24
The max ticks allowed to be crossed within a block when reducing position
getAllPendingFundingPayment
Get all the pending funding payment for a trader
Return Values:
pendingFundingPayment
int256
The pending funding payment of the trader.
Positive value means the trader pays funding, negative value means the trader receives funding.
isOverPriceSpread
Check if current price spread between market price and index twap is over maximum price spread.
Parameters:
baseToken
address
Address of the base token
Return Values:
true
bool
if over the maximum price spread
getPendingFundingPayment
Get the pending funding payment for a trader in a given market
this is the view version of _updateFundingGrowth()
Return Values:
pendingFundingPayment
int256
The pending funding payment of a trader in one market,
including liquidity & balance coefficients. Positive value means the trader pays funding, negative value means the trader receives funding.
getSqrtMarkTwapX96
Deprecated function, will be removed in the next release, use getSqrtMarketTwapX96()
instead Get the square root of the market twap price with the given time interval
The return value is a X96 number
Parameters:
baseToken
address
Address of the base token
twapInterval
uint32
The time interval in seconds
Return Values:
sqrtMarkTwapX96
uint160
The square root of the market twap price
getSqrtMarketTwapX96
Get the square root of the market twap price with the given time interval
The return value is a X96 number
Parameters:
baseToken
address
Address of the base token
twapInterval
uint32
The time interval in seconds
Return Values:
sqrtMarketTwapX96
uint160
The square root of the market twap price
getPnlToBeRealized
Get the pnl that can be realized if trader reduce position
This function normally won't be needed by traders, but it might be useful for 3rd party
Parameters:
params
struct IExchange.RealizePnlParams
The params needed to do the query, encoded as RealizePnlParams
in calldata
Return Values:
pnlToBeRealized
int256
The pnl that can be realized if trader reduce position
getOrderBook
Get OrderBook
contract address
Return Values:
orderBook
address
OrderBook
contract address
getAccountBalance
Get AccountBalance
contract address
Return Values:
accountBalance
address
AccountBalance
contract address
getClearingHouseConfig
Get ClearingHouseConfig
contract address
Return Values:
clearingHouse
address
ClearingHouseConfig
contract address
Events
FundingUpdated
Emitted when the global funding growth is updated
Parameters:
baseToken
address
Address of the base token
marketTwap
uint256
The market twap price when the funding growth is updated
indexTwap
uint256
The index twap price when the funding growth is updated
MaxTickCrossedWithinBlockChanged
Emitted when maxTickCrossedWithinBlock is updated
Parameters:
baseToken
address
Address of the base token
maxTickCrossedWithinBlock
uint24
Max tick allowed to be crossed within block when reducing position
AccountBalanceChanged
Emitted when accountBalance is updated
Parameters:
accountBalance
address
The address of accountBalance contract
Last updated