JavBorrowingFees

General Description

The JavBorrowingFees contract used for managing borrowing fees, parameters, and related data in LeverageX.

Core Functionalities

setBorrowingPairParams

Updates the parameters of a borrowing pair.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _pairIndex (uint16): Pair index.

    • _value (BorrowingPairParams): New parameters.


setBorrowingPairParamsArray

Updates the parameters of multiple borrowing pairs.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _indices (uint16[]): Array of pair indices.

    • _values (BorrowingPairParams[]): Array of new parameters.


setBorrowingGroupParams

Updates the parameters of a borrowing group.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _groupIndex (uint16): Group index.

    • _value (BorrowingGroupParams): New parameters.


setBorrowingGroupParamsArray

Updates the parameters of multiple borrowing groups.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _indices (uint16[]): Array of group indices.

    • _values (BorrowingGroupParams[]): Array of new parameters.


handleTradeBorrowingCallback

Handles borrowing fees and open interests when a trade is opened or closed.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _trader (address): Trader's address.

    • _pairIndex (uint16): Pair index.

    • _index (uint32): Trade index.

    • _positionSizeCollateral (uint256): Trade position size in collateral tokens.

    • _open (bool): True if trade is opened.

    • _long (bool): True if trade is long.


resetTradeBorrowingFees

Resets borrowing fees for a trade.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _trader (address): Trader's address.

    • _pairIndex (uint16): Pair index.

    • _index (uint32): Trade index.

    • _long (bool): True if trade is long.


getBorrowingPairPendingAccFees

Returns pending accumulated borrowing fees for a pair.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _pairIndex (uint16): Pair index.

    • _currentBlock (uint256): Current block number.

  • Returns:

    • accFeeLong (uint64): Accumulated fees on the long side.

    • accFeeShort (uint64): Accumulated fees on the short side.

    • pairAccFeeDelta (uint64): Fee delta for the changed side.


getBorrowingGroupPendingAccFees

Returns pending accumulated borrowing fees for a group.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _groupIndex (uint16): Group index.

    • _currentBlock (uint256): Current block number.

  • Returns:

    • accFeeLong (uint64): Accumulated fees on the long side.

    • accFeeShort (uint64): Accumulated fees on the short side.

    • groupAccFeeDelta (uint64): Fee delta for the changed side.


getTradeBorrowingFee

Calculates borrowing fees for a trade.

  • Parameters:

    • _input (BorrowingFeeInput): Trade input data.

  • Returns:

    • feeAmountCollateral (uint256): Borrowing fee in collateral tokens.


getTradeLiquidationPrice

Calculates the liquidation price for a trade.

  • Parameters:

    • _input (LiqPriceInput): Trade input data.

  • Returns:

    • uint256: Liquidation price.


getPairOisCollateral

Gets open interests for a pair.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _pairIndex (uint16): Pair index.

  • Returns:

    • longOi (uint256): Long open interest.

    • shortOi (uint256): Short open interest.


getBorrowingPairGroupIndex

Gets the borrowing group index for a pair.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _pairIndex (uint16): Pair index.

  • Returns:

    • groupIndex (uint16): Group index.


getPairOiCollateral

Gets open interest for a pair on one side.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _pairIndex (uint16): Pair index.

    • _long (bool): True if long side.

  • Returns:

    • uint256: Open interest in collateral tokens.


withinMaxBorrowingGroupOi

Checks if a trade is within the max group borrowing open interest.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _pairIndex (uint16): Pair index.

    • _long (bool): True if long side.

    • _positionSizeCollateral (uint256): Position size in collateral tokens.

  • Returns:

    • bool: True if within max borrowing OI.


getBorrowingGroup

Gets data for a borrowing group.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _groupIndex (uint16): Group index.

  • Returns:

    • BorrowingData: Group data.


getBorrowingPair

Gets data for a borrowing pair.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _pairIndex (uint16): Pair index.

  • Returns:

    • BorrowingData: Pair data.


getBorrowingPairOi

Gets open interest data for a borrowing pair.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _pairIndex (uint16): Pair index.

  • Returns:

    • OpenInterest: Open interest data.


getBorrowingPairGroups

Gets groups data for a borrowing pair.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _pairIndex (uint16): Pair index.

  • Returns:

    • BorrowingPairGroup[]: Groups data.


getAllBorrowingPairs

Gets all borrowing pair data, open interests, and group data.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

  • Returns:

    • BorrowingData[]: Pair data.

    • OpenInterest[]: Open interests.

    • BorrowingPairGroup[][]: Group data.


getBorrowingGroups

Gets borrowing groups’ data and open interest.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _indices (uint16[]): Group indices.

  • Returns:

    • BorrowingData[]: Group data.

    • OpenInterest[]: Open interests.


getBorrowingInitialAccFees

Gets initial accumulated borrowing fees for a trade.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _trader (address): Trader’s address.

    • _index (uint32): Trade index.

  • Returns:

    • BorrowingInitialAccFees: Initial fees data.


getPairMaxOi

Gets the max open interest for a pair.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _pairIndex (uint16): Pair index.

  • Returns:

    • uint256: Max open interest.


getPairMaxOiCollateral

Gets the max open interest in collateral tokens for a pair.

  • Parameters:

    • _collateralIndex (uint8): Collateral index.

    • _pairIndex (uint16): Pair index.

  • Returns:

    • uint256: Max open interest in collateral tokens.

Last updated