Exchange
InternalReplaySwapParams
InternalSwapResponse
InternalRealizePnlParams
Functions
initialize
setAccountBalance
Parameters:
Name | Type | Description |
---|---|---|
| address | contract address |
setMaxTickCrossedWithinBlock
Restrict the price impact by setting the ticks can be crossed within a block when trader reducing liquidity. It is used to prevent the malicious behavior of the malicious traders. The restriction is applied in _isOverPriceLimitWithTick()
Parameters:
Name | Type | Description |
---|---|---|
| address | The base token address |
| uint24 | The maximum ticks can be crossed within a block |
uniswapV3SwapCallback
Called to msg.sender
after executing a swap via IUniswapV3Pool#swap.
This callback is forwarded to ClearingHouse.uniswapV3SwapCallback() because all the tokens are stored in there.
Parameters:
Name | Type | Description |
---|---|---|
| int256 | The amount of token0 that was sent (negative) or must be received (positive) by the pool by |
the end of the swap. If positive, the callback must send that amount of token0 to the pool. |amount1Delta
| int256 | The amount of token1 that was sent (negative) or must be received (positive) by the pool by the end of the swap. If positive, the callback must send that amount of token1 to the pool. |data
| bytes | Any data passed through by the caller via the IUniswapV3PoolActions#swap call
swap
The actual swap function
can only be called from ClearingHouse
Parameters:
Name | Type | Description |
---|---|---|
| struct IExchange.SwapParams | The parameters of the swap |
Return Values:
Name | Type | Description |
---|---|---|
| struct IExchange.SwapResponse | 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:
Name | Type | Description |
---|---|---|
| int256 | the funding payment of a trader in one market should be settled into owned realized Pnl |
| struct Funding.Growth | the up-to-date globalFundingGrowth, usually used for later calculations |
getOrderBook
Get OrderBook
contract address
Return Values:
Name | Type | Description |
---|---|---|
| address |
|
getAccountBalance
Get AccountBalance
contract address
Return Values:
Name | Type | Description |
---|---|---|
| address |
|
getClearingHouseConfig
Get ClearingHouseConfig
contract address
Return Values:
Name | Type | Description |
---|---|---|
| address |
|
getMaxTickCrossedWithinBlock
Get the max ticks allowed to be crossed within a block when reducing position
Parameters:
Name | Type | Description |
---|---|---|
| address | Address of the base token |
Return Values:
Name | Type | Description |
---|---|---|
| uint24 | The max ticks allowed to be crossed within a block when reducing position |
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:
Name | Type | Description |
---|---|---|
| struct IExchange.RealizePnlParams | The params needed to do the query, encoded as |
Return Values:
Name | Type | Description |
---|---|---|
| int256 | The pnl that can be realized if trader reduce position |
getAllPendingFundingPayment
Get all the pending funding payment for a trader
Return Values:
Name | Type | Description |
---|---|---|
| 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:
Name | Type | Description |
---|---|---|
| address | Address of the base token |
Return Values:
Name | Type | Description |
---|---|---|
| bool | if over the maximum price spread |
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:
Name | Type | Description |
---|---|---|
| address | Address of the base token |
| uint32 | The time interval in seconds |
Return Values:
Name | Type | Description |
---|---|---|
| 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:
Name | Type | Description |
---|---|---|
| address | Address of the base token |
| uint32 | The time interval in seconds |
Return Values:
Name | Type | Description |
---|---|---|
| uint160 | The square root of the market twap price |
getPendingFundingPayment
Get the pending funding payment for a trader in a given market
this is the view version of _updateFundingGrowth()
Return Values:
Name | Type | Description |
---|---|---|
| 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.
Last updated