GNSBorrowingFees
Facet #9: Borrowing Fees and open interests
constructor
setBorrowingPairParams
Updates borrowing pair params of a pair
Parameters
_collateralIndex
uint8
index of the collateral
_pairIndex
uint16
index of the pair
_value
new value
setBorrowingPairParamsArray
Updates borrowing pair params of multiple pairs
Parameters
_collateralIndex
uint8
index of the collateral
_indices
uint16[]
indices of the pairs
_values
new values
setBorrowingGroupParams
Updates borrowing group params of a group
Parameters
_collateralIndex
uint8
index of the collateral
_groupIndex
uint16
index of the borrowing group
_value
new value
setBorrowingGroupParamsArray
Updates borrowing group params of multiple groups
Parameters
_collateralIndex
uint8
index of the collateral
_indices
uint16[]
indices of the groups
_values
new values
handleTradeBorrowingCallback
Callback after a trade is opened/closed to store pending borrowing fees and adjust open interests
Parameters
_collateralIndex
uint8
index of the collateral
_trader
address
address of the trader
_pairIndex
uint16
index of the pair
_index
uint32
index of the trade
_positionSizeCollateral
uint256
position size of the trade in collateral tokens
_open
bool
true if trade has been opened, false if trade has been closed
_long
bool
true if trade is long, false if trade is short
resetTradeBorrowingFees
Resets a trade borrowing fee to 0 (useful when new trade opened or when partial trade executed)
Parameters
_collateralIndex
uint8
index of the collateral
_trader
address
address of the trader
_pairIndex
uint16
index of the pair
_index
uint32
index of the trade
_long
bool
true if trade is long, false if trade is short
getBorrowingPairPendingAccFees
Returns the pending acc borrowing fees for a pair on both sides
Parameters
_collateralIndex
uint8
index of the collateral
_pairIndex
uint16
index of the pair
_currentBlock
uint256
current block number
Return Values
accFeeLong
uint64
new pair acc borrowing fee on long side
accFeeShort
uint64
new pair acc borrowing fee on short side
pairAccFeeDelta
uint64
pair acc borrowing fee delta (for side that changed)
getBorrowingGroupPendingAccFees
Returns the pending acc borrowing fees for a borrowing group on both sides
Parameters
_collateralIndex
uint8
index of the collateral
_groupIndex
uint16
index of the borrowing group
_currentBlock
uint256
current block number
Return Values
accFeeLong
uint64
new group acc borrowing fee on long side
accFeeShort
uint64
new group acc borrowing fee on short side
groupAccFeeDelta
uint64
group acc borrowing fee delta (for side that changed)
getTradeBorrowingFee
Returns the borrowing fee for a trade
Parameters
_input
input data (collateralIndex, trader, pairIndex, index, long, collateral, leverage)
Return Values
feeAmountCollateral
uint256
borrowing fee (collateral precision)
getTradeLiquidationPrice
Returns the liquidation price for a trade
Parameters
_input
input data (collateralIndex, trader, pairIndex, index, openPrice, long, collateral, leverage)
getPairOisCollateral
Returns the open interests for a pair
Parameters
_collateralIndex
uint8
index of the collateral
_pairIndex
uint16
index of the pair
Return Values
longOi
uint256
open interest on long side
shortOi
uint256
open interest on short side
getBorrowingPairGroupIndex
Returns the borrowing group index for a pair
Parameters
_collateralIndex
uint8
index of the collateral
_pairIndex
uint16
index of the pair
Return Values
groupIndex
uint16
borrowing group index
getPairOiCollateral
Returns the open interest in collateral tokens for a pair on one side
Parameters
_collateralIndex
uint8
index of the collateral
_pairIndex
uint16
index of the pair
_long
bool
true if long side
withinMaxBorrowingGroupOi
Returns whether a trade is within the max group borrowing open interest
Parameters
_collateralIndex
uint8
index of the collateral
_pairIndex
uint16
index of the pair
_long
bool
true if long side
_positionSizeCollateral
uint256
position size of the trade in collateral tokens
getBorrowingGroup
Returns a borrowing group's data
Parameters
_collateralIndex
uint8
index of the collateral
_groupIndex
uint16
index of the borrowing group
getBorrowingGroupOi
Returns a borrowing group's oi data
Parameters
_collateralIndex
uint8
index of the collateral
_groupIndex
uint16
index of the borrowing group
getBorrowingPair
Returns a borrowing pair's data
Parameters
_collateralIndex
uint8
index of the collateral
_pairIndex
uint16
index of the pair
getBorrowingPairOi
Returns a borrowing pair's oi data
Parameters
_collateralIndex
uint8
index of the collateral
_pairIndex
uint16
index of the pair
getBorrowingPairGroups
Returns a borrowing pair's oi data
Parameters
_collateralIndex
uint8
index of the collateral
_pairIndex
uint16
index of the pair
getAllBorrowingPairs
Returns all borrowing pairs' borrowing data, oi data, and pair groups data
Parameters
_collateralIndex
uint8
index of the collateral
getBorrowingGroups
Returns borrowing groups' data and oi data
Parameters
_collateralIndex
uint8
index of the collateral
_indices
uint16[]
indices of the groups
getBorrowingInitialAccFees
Returns borrowing groups' data
Parameters
_collateralIndex
uint8
index of the collateral
_trader
address
address of trader
_index
uint32
index of trade
getPairMaxOi
Returns the max open interest for a pair
Parameters
_collateralIndex
uint8
index of the collateral
_pairIndex
uint16
index of the pair
getPairMaxOiCollateral
Returns the max open interest in collateral tokens for a pair
Parameters
_collateralIndex
uint8
index of the collateral
_pairIndex
uint16
index of the pair
Last updated