@kamino-finance/klend-sdk 2.10.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +85 -0
- package/dist/classes/action.d.ts +154 -0
- package/dist/classes/action.js +1505 -0
- package/dist/classes/action.js.map +1 -0
- package/dist/classes/curve.d.ts +15 -0
- package/dist/classes/curve.js +32 -0
- package/dist/classes/curve.js.map +1 -0
- package/dist/classes/fraction.d.ts +23 -0
- package/dist/classes/fraction.js +60 -0
- package/dist/classes/fraction.js.map +1 -0
- package/dist/classes/index.d.ts +8 -0
- package/dist/classes/index.js +25 -0
- package/dist/classes/index.js.map +1 -0
- package/dist/classes/jupiterPerps.d.ts +2 -0
- package/dist/classes/jupiterPerps.js +25 -0
- package/dist/classes/jupiterPerps.js.map +1 -0
- package/dist/classes/market.d.ts +140 -0
- package/dist/classes/market.js +901 -0
- package/dist/classes/market.js.map +1 -0
- package/dist/classes/obligation.d.ts +170 -0
- package/dist/classes/obligation.js +610 -0
- package/dist/classes/obligation.js.map +1 -0
- package/dist/classes/reserve.d.ts +161 -0
- package/dist/classes/reserve.js +474 -0
- package/dist/classes/reserve.js.map +1 -0
- package/dist/classes/shared.d.ts +41 -0
- package/dist/classes/shared.js +10 -0
- package/dist/classes/shared.js.map +1 -0
- package/dist/classes/utils.d.ts +40 -0
- package/dist/classes/utils.js +129 -0
- package/dist/classes/utils.js.map +1 -0
- package/dist/idl.json +4102 -0
- package/dist/idl_codegen/accounts/LendingMarket.d.ts +153 -0
- package/dist/idl_codegen/accounts/LendingMarket.js +204 -0
- package/dist/idl_codegen/accounts/LendingMarket.js.map +1 -0
- package/dist/idl_codegen/accounts/Obligation.d.ts +139 -0
- package/dist/idl_codegen/accounts/Obligation.js +193 -0
- package/dist/idl_codegen/accounts/Obligation.js.map +1 -0
- package/dist/idl_codegen/accounts/ReferrerState.d.ts +22 -0
- package/dist/idl_codegen/accounts/ReferrerState.js +101 -0
- package/dist/idl_codegen/accounts/ReferrerState.js.map +1 -0
- package/dist/idl_codegen/accounts/ReferrerTokenState.d.ts +51 -0
- package/dist/idl_codegen/accounts/ReferrerTokenState.js +126 -0
- package/dist/idl_codegen/accounts/ReferrerTokenState.js.map +1 -0
- package/dist/idl_codegen/accounts/Reserve.d.ts +72 -0
- package/dist/idl_codegen/accounts/Reserve.js +156 -0
- package/dist/idl_codegen/accounts/Reserve.js.map +1 -0
- package/dist/idl_codegen/accounts/ShortUrl.d.ts +22 -0
- package/dist/idl_codegen/accounts/ShortUrl.js +101 -0
- package/dist/idl_codegen/accounts/ShortUrl.js.map +1 -0
- package/dist/idl_codegen/accounts/UserMetadata.d.ts +48 -0
- package/dist/idl_codegen/accounts/UserMetadata.js +126 -0
- package/dist/idl_codegen/accounts/UserMetadata.js.map +1 -0
- package/dist/idl_codegen/accounts/UserState.d.ts +143 -0
- package/dist/idl_codegen/accounts/UserState.js +180 -0
- package/dist/idl_codegen/accounts/UserState.js.map +1 -0
- package/dist/idl_codegen/accounts/index.d.ts +16 -0
- package/dist/idl_codegen/accounts/index.js +20 -0
- package/dist/idl_codegen/accounts/index.js.map +1 -0
- package/dist/idl_codegen/errors/anchor.d.ts +434 -0
- package/dist/idl_codegen/errors/anchor.js +713 -0
- package/dist/idl_codegen/errors/anchor.js.map +1 -0
- package/dist/idl_codegen/errors/custom.d.ts +730 -0
- package/dist/idl_codegen/errors/custom.js +1194 -0
- package/dist/idl_codegen/errors/custom.js.map +1 -0
- package/dist/idl_codegen/errors/index.d.ts +5 -0
- package/dist/idl_codegen/errors/index.js +71 -0
- package/dist/idl_codegen/errors/index.js.map +1 -0
- package/dist/idl_codegen/instructions/borrowObligationLiquidity.d.ts +20 -0
- package/dist/idl_codegen/instructions/borrowObligationLiquidity.js +75 -0
- package/dist/idl_codegen/instructions/borrowObligationLiquidity.js.map +1 -0
- package/dist/idl_codegen/instructions/deleteReferrerStateAndShortUrl.d.ts +9 -0
- package/dist/idl_codegen/instructions/deleteReferrerStateAndShortUrl.js +20 -0
- package/dist/idl_codegen/instructions/deleteReferrerStateAndShortUrl.js.map +1 -0
- package/dist/idl_codegen/instructions/depositObligationCollateral.d.ts +17 -0
- package/dist/idl_codegen/instructions/depositObligationCollateral.js +64 -0
- package/dist/idl_codegen/instructions/depositObligationCollateral.js.map +1 -0
- package/dist/idl_codegen/instructions/depositReserveLiquidity.d.ts +19 -0
- package/dist/idl_codegen/instructions/depositReserveLiquidity.js +74 -0
- package/dist/idl_codegen/instructions/depositReserveLiquidity.js.map +1 -0
- package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.d.ts +21 -0
- package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.js +80 -0
- package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.js.map +1 -0
- package/dist/idl_codegen/instructions/flashBorrowReserveLiquidity.d.ts +20 -0
- package/dist/idl_codegen/instructions/flashBorrowReserveLiquidity.js +75 -0
- package/dist/idl_codegen/instructions/flashBorrowReserveLiquidity.js.map +1 -0
- package/dist/idl_codegen/instructions/flashRepayReserveLiquidity.d.ts +21 -0
- package/dist/idl_codegen/instructions/flashRepayReserveLiquidity.js +75 -0
- package/dist/idl_codegen/instructions/flashRepayReserveLiquidity.js.map +1 -0
- package/dist/idl_codegen/instructions/idlMissingTypes.d.ts +18 -0
- package/dist/idl_codegen/instructions/idlMissingTypes.js +62 -0
- package/dist/idl_codegen/instructions/idlMissingTypes.js.map +1 -0
- package/dist/idl_codegen/instructions/index.d.ts +66 -0
- package/dist/idl_codegen/instructions/index.js +70 -0
- package/dist/idl_codegen/instructions/index.js.map +1 -0
- package/dist/idl_codegen/instructions/initFarmsForReserve.d.ts +19 -0
- package/dist/idl_codegen/instructions/initFarmsForReserve.js +63 -0
- package/dist/idl_codegen/instructions/initFarmsForReserve.js.map +1 -0
- package/dist/idl_codegen/instructions/initLendingMarket.d.ts +13 -0
- package/dist/idl_codegen/instructions/initLendingMarket.js +55 -0
- package/dist/idl_codegen/instructions/initLendingMarket.js.map +1 -0
- package/dist/idl_codegen/instructions/initObligation.d.ts +19 -0
- package/dist/idl_codegen/instructions/initObligation.js +55 -0
- package/dist/idl_codegen/instructions/initObligation.js.map +1 -0
- package/dist/idl_codegen/instructions/initObligationFarmsForReserve.d.ts +20 -0
- package/dist/idl_codegen/instructions/initObligationFarmsForReserve.js +60 -0
- package/dist/idl_codegen/instructions/initObligationFarmsForReserve.js.map +1 -0
- package/dist/idl_codegen/instructions/initReferrerStateAndShortUrl.d.ts +14 -0
- package/dist/idl_codegen/instructions/initReferrerStateAndShortUrl.js +54 -0
- package/dist/idl_codegen/instructions/initReferrerStateAndShortUrl.js.map +1 -0
- package/dist/idl_codegen/instructions/initReferrerTokenState.d.ts +14 -0
- package/dist/idl_codegen/instructions/initReferrerTokenState.js +50 -0
- package/dist/idl_codegen/instructions/initReferrerTokenState.js.map +1 -0
- package/dist/idl_codegen/instructions/initReserve.d.ts +16 -0
- package/dist/idl_codegen/instructions/initReserve.js +47 -0
- package/dist/idl_codegen/instructions/initReserve.js.map +1 -0
- package/dist/idl_codegen/instructions/initUserMetadata.d.ts +14 -0
- package/dist/idl_codegen/instructions/initUserMetadata.js +54 -0
- package/dist/idl_codegen/instructions/initUserMetadata.js.map +1 -0
- package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.d.ts +27 -0
- package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.js +102 -0
- package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.js.map +1 -0
- package/dist/idl_codegen/instructions/redeemFees.d.ts +10 -0
- package/dist/idl_codegen/instructions/redeemFees.js +33 -0
- package/dist/idl_codegen/instructions/redeemFees.js.map +1 -0
- package/dist/idl_codegen/instructions/redeemReserveCollateral.d.ts +19 -0
- package/dist/idl_codegen/instructions/redeemReserveCollateral.js +78 -0
- package/dist/idl_codegen/instructions/redeemReserveCollateral.js.map +1 -0
- package/dist/idl_codegen/instructions/refreshObligation.d.ts +6 -0
- package/dist/idl_codegen/instructions/refreshObligation.js +17 -0
- package/dist/idl_codegen/instructions/refreshObligation.js.map +1 -0
- package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.d.ts +19 -0
- package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.js +63 -0
- package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.js.map +1 -0
- package/dist/idl_codegen/instructions/refreshReserve.d.ts +10 -0
- package/dist/idl_codegen/instructions/refreshReserve.js +29 -0
- package/dist/idl_codegen/instructions/refreshReserve.js.map +1 -0
- package/dist/idl_codegen/instructions/repayObligationLiquidity.d.ts +17 -0
- package/dist/idl_codegen/instructions/repayObligationLiquidity.js +60 -0
- package/dist/idl_codegen/instructions/repayObligationLiquidity.js.map +1 -0
- package/dist/idl_codegen/instructions/requestElevationGroup.d.ts +11 -0
- package/dist/idl_codegen/instructions/requestElevationGroup.js +47 -0
- package/dist/idl_codegen/instructions/requestElevationGroup.js.map +1 -0
- package/dist/idl_codegen/instructions/socializeLoss.d.ts +14 -0
- package/dist/idl_codegen/instructions/socializeLoss.js +53 -0
- package/dist/idl_codegen/instructions/socializeLoss.js.map +1 -0
- package/dist/idl_codegen/instructions/updateEntireReserveConfig.d.ts +13 -0
- package/dist/idl_codegen/instructions/updateEntireReserveConfig.js +51 -0
- package/dist/idl_codegen/instructions/updateEntireReserveConfig.js.map +1 -0
- package/dist/idl_codegen/instructions/updateLendingMarket.d.ts +12 -0
- package/dist/idl_codegen/instructions/updateLendingMarket.js +50 -0
- package/dist/idl_codegen/instructions/updateLendingMarket.js.map +1 -0
- package/dist/idl_codegen/instructions/updateLendingMarketOwner.d.ts +6 -0
- package/dist/idl_codegen/instructions/updateLendingMarketOwner.js +21 -0
- package/dist/idl_codegen/instructions/updateLendingMarketOwner.js.map +1 -0
- package/dist/idl_codegen/instructions/updateReserveConfig.d.ts +13 -0
- package/dist/idl_codegen/instructions/updateReserveConfig.js +51 -0
- package/dist/idl_codegen/instructions/updateReserveConfig.js.map +1 -0
- package/dist/idl_codegen/instructions/updateSingleReserveConfig.d.ts +13 -0
- package/dist/idl_codegen/instructions/updateSingleReserveConfig.js +51 -0
- package/dist/idl_codegen/instructions/updateSingleReserveConfig.js.map +1 -0
- package/dist/idl_codegen/instructions/withdrawObligationCollateral.d.ts +18 -0
- package/dist/idl_codegen/instructions/withdrawObligationCollateral.js +69 -0
- package/dist/idl_codegen/instructions/withdrawObligationCollateral.js.map +1 -0
- package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.d.ts +21 -0
- package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js +84 -0
- package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js.map +1 -0
- package/dist/idl_codegen/instructions/withdrawProtocolFee.d.ts +16 -0
- package/dist/idl_codegen/instructions/withdrawProtocolFee.js +59 -0
- package/dist/idl_codegen/instructions/withdrawProtocolFee.js.map +1 -0
- package/dist/idl_codegen/instructions/withdrawReferrerFees.d.ts +12 -0
- package/dist/idl_codegen/instructions/withdrawReferrerFees.js +35 -0
- package/dist/idl_codegen/instructions/withdrawReferrerFees.js.map +1 -0
- package/dist/idl_codegen/programId.d.ts +4 -0
- package/dist/idl_codegen/programId.js +13 -0
- package/dist/idl_codegen/programId.js.map +1 -0
- package/dist/idl_codegen/types/AssetTier.d.ts +44 -0
- package/dist/idl_codegen/types/AssetTier.js +128 -0
- package/dist/idl_codegen/types/AssetTier.js.map +1 -0
- package/dist/idl_codegen/types/BigFractionBytes.d.ts +27 -0
- package/dist/idl_codegen/types/BigFractionBytes.js +73 -0
- package/dist/idl_codegen/types/BigFractionBytes.js.map +1 -0
- package/dist/idl_codegen/types/BorrowRateCurve.d.ts +27 -0
- package/dist/idl_codegen/types/BorrowRateCurve.js +62 -0
- package/dist/idl_codegen/types/BorrowRateCurve.js.map +1 -0
- package/dist/idl_codegen/types/CurvePoint.d.ts +26 -0
- package/dist/idl_codegen/types/CurvePoint.js +66 -0
- package/dist/idl_codegen/types/CurvePoint.js.map +1 -0
- package/dist/idl_codegen/types/ElevationGroup.d.ts +52 -0
- package/dist/idl_codegen/types/ElevationGroup.js +103 -0
- package/dist/idl_codegen/types/ElevationGroup.js.map +1 -0
- package/dist/idl_codegen/types/FeeCalculation.d.ts +31 -0
- package/dist/idl_codegen/types/FeeCalculation.js +102 -0
- package/dist/idl_codegen/types/FeeCalculation.js.map +1 -0
- package/dist/idl_codegen/types/InitObligationArgs.d.ts +26 -0
- package/dist/idl_codegen/types/InitObligationArgs.js +66 -0
- package/dist/idl_codegen/types/InitObligationArgs.js.map +1 -0
- package/dist/idl_codegen/types/LastUpdate.d.ts +47 -0
- package/dist/idl_codegen/types/LastUpdate.js +86 -0
- package/dist/idl_codegen/types/LastUpdate.js.map +1 -0
- package/dist/idl_codegen/types/ObligationCollateral.d.ts +48 -0
- package/dist/idl_codegen/types/ObligationCollateral.js +87 -0
- package/dist/idl_codegen/types/ObligationCollateral.js.map +1 -0
- package/dist/idl_codegen/types/ObligationLiquidity.d.ts +75 -0
- package/dist/idl_codegen/types/ObligationLiquidity.js +107 -0
- package/dist/idl_codegen/types/ObligationLiquidity.js.map +1 -0
- package/dist/idl_codegen/types/PriceHeuristic.d.ts +41 -0
- package/dist/idl_codegen/types/PriceHeuristic.js +75 -0
- package/dist/idl_codegen/types/PriceHeuristic.js.map +1 -0
- package/dist/idl_codegen/types/PythConfiguration.d.ts +25 -0
- package/dist/idl_codegen/types/PythConfiguration.js +62 -0
- package/dist/idl_codegen/types/PythConfiguration.js.map +1 -0
- package/dist/idl_codegen/types/ReserveCollateral.d.ts +53 -0
- package/dist/idl_codegen/types/ReserveCollateral.js +93 -0
- package/dist/idl_codegen/types/ReserveCollateral.js.map +1 -0
- package/dist/idl_codegen/types/ReserveConfig.d.ts +304 -0
- package/dist/idl_codegen/types/ReserveConfig.js +209 -0
- package/dist/idl_codegen/types/ReserveConfig.js.map +1 -0
- package/dist/idl_codegen/types/ReserveFarmKind.d.ts +31 -0
- package/dist/idl_codegen/types/ReserveFarmKind.js +102 -0
- package/dist/idl_codegen/types/ReserveFarmKind.js.map +1 -0
- package/dist/idl_codegen/types/ReserveFees.d.ts +78 -0
- package/dist/idl_codegen/types/ReserveFees.js +86 -0
- package/dist/idl_codegen/types/ReserveFees.js.map +1 -0
- package/dist/idl_codegen/types/ReserveLiquidity.d.ts +173 -0
- package/dist/idl_codegen/types/ReserveLiquidity.js +166 -0
- package/dist/idl_codegen/types/ReserveLiquidity.js.map +1 -0
- package/dist/idl_codegen/types/ReserveStatus.d.ts +44 -0
- package/dist/idl_codegen/types/ReserveStatus.js +128 -0
- package/dist/idl_codegen/types/ReserveStatus.js.map +1 -0
- package/dist/idl_codegen/types/ScopeConfiguration.d.ts +41 -0
- package/dist/idl_codegen/types/ScopeConfiguration.js +76 -0
- package/dist/idl_codegen/types/ScopeConfiguration.js.map +1 -0
- package/dist/idl_codegen/types/SwitchboardConfiguration.d.ts +30 -0
- package/dist/idl_codegen/types/SwitchboardConfiguration.js +67 -0
- package/dist/idl_codegen/types/SwitchboardConfiguration.js.map +1 -0
- package/dist/idl_codegen/types/TokenInfo.d.ts +109 -0
- package/dist/idl_codegen/types/TokenInfo.js +116 -0
- package/dist/idl_codegen/types/TokenInfo.js.map +1 -0
- package/dist/idl_codegen/types/UpdateConfigMode.d.ts +538 -0
- package/dist/idl_codegen/types/UpdateConfigMode.js +1116 -0
- package/dist/idl_codegen/types/UpdateConfigMode.js.map +1 -0
- package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.d.ts +155 -0
- package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.js +273 -0
- package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.js.map +1 -0
- package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts +200 -0
- package/dist/idl_codegen/types/UpdateLendingMarketMode.js +440 -0
- package/dist/idl_codegen/types/UpdateLendingMarketMode.js.map +1 -0
- package/dist/idl_codegen/types/WithdrawalCaps.d.ts +38 -0
- package/dist/idl_codegen/types/WithdrawalCaps.js +86 -0
- package/dist/idl_codegen/types/WithdrawalCaps.js.map +1 -0
- package/dist/idl_codegen/types/index.d.ts +65 -0
- package/dist/idl_codegen/types/index.js +77 -0
- package/dist/idl_codegen/types/index.js.map +1 -0
- package/dist/idl_codegen/zero_padding/ObligationZP.d.ts +53 -0
- package/dist/idl_codegen/zero_padding/ObligationZP.js +140 -0
- package/dist/idl_codegen/zero_padding/ObligationZP.js.map +1 -0
- package/dist/idl_codegen/zero_padding/index.d.ts +1 -0
- package/dist/idl_codegen/zero_padding/index.js +6 -0
- package/dist/idl_codegen/zero_padding/index.js.map +1 -0
- package/dist/idl_codegen_jupiter_perps/accounts/Pool.d.ts +48 -0
- package/dist/idl_codegen_jupiter_perps/accounts/Pool.js +144 -0
- package/dist/idl_codegen_jupiter_perps/accounts/Pool.js.map +1 -0
- package/dist/idl_codegen_jupiter_perps/accounts/index.d.ts +2 -0
- package/dist/idl_codegen_jupiter_perps/accounts/index.js +6 -0
- package/dist/idl_codegen_jupiter_perps/accounts/index.js.map +1 -0
- package/dist/idl_codegen_jupiter_perps/programId.d.ts +3 -0
- package/dist/idl_codegen_jupiter_perps/programId.js +9 -0
- package/dist/idl_codegen_jupiter_perps/programId.js.map +1 -0
- package/dist/idl_codegen_jupiter_perps/types/Fees.d.ts +62 -0
- package/dist/idl_codegen_jupiter_perps/types/Fees.js +115 -0
- package/dist/idl_codegen_jupiter_perps/types/Fees.js.map +1 -0
- package/dist/idl_codegen_jupiter_perps/types/Limit.d.ts +32 -0
- package/dist/idl_codegen_jupiter_perps/types/Limit.js +75 -0
- package/dist/idl_codegen_jupiter_perps/types/Limit.js.map +1 -0
- package/dist/idl_codegen_jupiter_perps/types/PoolApr.d.ts +32 -0
- package/dist/idl_codegen_jupiter_perps/types/PoolApr.js +75 -0
- package/dist/idl_codegen_jupiter_perps/types/PoolApr.js.map +1 -0
- package/dist/idl_codegen_jupiter_perps/types/index.d.ts +6 -0
- package/dist/idl_codegen_jupiter_perps/types/index.js +10 -0
- package/dist/idl_codegen_jupiter_perps/types/index.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/lending_operations/index.d.ts +2 -0
- package/dist/lending_operations/index.js +19 -0
- package/dist/lending_operations/index.js.map +1 -0
- package/dist/lending_operations/repay_with_collateral_calcs.d.ts +5 -0
- package/dist/lending_operations/repay_with_collateral_calcs.js +26 -0
- package/dist/lending_operations/repay_with_collateral_calcs.js.map +1 -0
- package/dist/lending_operations/repay_with_collateral_operations.d.ts +47 -0
- package/dist/lending_operations/repay_with_collateral_operations.js +163 -0
- package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -0
- package/dist/leverage/calcs.d.ts +132 -0
- package/dist/leverage/calcs.js +291 -0
- package/dist/leverage/calcs.js.map +1 -0
- package/dist/leverage/index.d.ts +4 -0
- package/dist/leverage/index.js +21 -0
- package/dist/leverage/index.js.map +1 -0
- package/dist/leverage/instructions.d.ts +43 -0
- package/dist/leverage/instructions.js +103 -0
- package/dist/leverage/instructions.js.map +1 -0
- package/dist/leverage/operations.d.ts +231 -0
- package/dist/leverage/operations.js +1058 -0
- package/dist/leverage/operations.js.map +1 -0
- package/dist/leverage/utils.d.ts +22 -0
- package/dist/leverage/utils.js +144 -0
- package/dist/leverage/utils.js.map +1 -0
- package/dist/lib.d.ts +9 -0
- package/dist/lib.js +26 -0
- package/dist/lib.js.map +1 -0
- package/dist/referrals/index.d.ts +2 -0
- package/dist/referrals/index.js +19 -0
- package/dist/referrals/index.js.map +1 -0
- package/dist/referrals/instructions.d.ts +16 -0
- package/dist/referrals/instructions.js +76 -0
- package/dist/referrals/instructions.js.map +1 -0
- package/dist/referrals/operations.d.ts +97 -0
- package/dist/referrals/operations.js +258 -0
- package/dist/referrals/operations.js.map +1 -0
- package/dist/utils/ObligationType.d.ts +49 -0
- package/dist/utils/ObligationType.js +129 -0
- package/dist/utils/ObligationType.js.map +1 -0
- package/dist/utils/api.d.ts +6 -0
- package/dist/utils/api.js +61 -0
- package/dist/utils/api.js.map +1 -0
- package/dist/utils/ata.d.ts +25 -0
- package/dist/utils/ata.js +155 -0
- package/dist/utils/ata.js.map +1 -0
- package/dist/utils/constants.d.ts +48 -0
- package/dist/utils/constants.js +75 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/idl.d.ts +2 -0
- package/dist/utils/idl.js +9 -0
- package/dist/utils/idl.js.map +1 -0
- package/dist/utils/index.d.ts +14 -0
- package/dist/utils/index.js +31 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/instruction.d.ts +22 -0
- package/dist/utils/instruction.js +202 -0
- package/dist/utils/instruction.js.map +1 -0
- package/dist/utils/kamino.d.ts +3 -0
- package/dist/utils/kamino.js +45 -0
- package/dist/utils/kamino.js.map +1 -0
- package/dist/utils/layout.d.ts +13 -0
- package/dist/utils/layout.js +123 -0
- package/dist/utils/layout.js.map +1 -0
- package/dist/utils/lookupTable.d.ts +5 -0
- package/dist/utils/lookupTable.js +57 -0
- package/dist/utils/lookupTable.js.map +1 -0
- package/dist/utils/oracle.d.ts +51 -0
- package/dist/utils/oracle.js +295 -0
- package/dist/utils/oracle.js.map +1 -0
- package/dist/utils/pubkey.d.ts +74 -0
- package/dist/utils/pubkey.js +229 -0
- package/dist/utils/pubkey.js.map +1 -0
- package/dist/utils/seeds.d.ts +122 -0
- package/dist/utils/seeds.js +153 -0
- package/dist/utils/seeds.js.map +1 -0
- package/dist/utils/slots.d.ts +18 -0
- package/dist/utils/slots.js +32 -0
- package/dist/utils/slots.js.map +1 -0
- package/dist/utils/syncNative.d.ts +10 -0
- package/dist/utils/syncNative.js +46 -0
- package/dist/utils/syncNative.js.map +1 -0
- package/dist/utils/userMetadata.d.ts +15 -0
- package/dist/utils/userMetadata.js +259 -0
- package/dist/utils/userMetadata.js.map +1 -0
- package/package.json +94 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.ReserveCollateral = void 0;
|
|
30
|
+
const web3_js_1 = require("@solana/web3.js"); // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
31
|
+
const bn_js_1 = __importDefault(require("bn.js")); // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
32
|
+
const borsh = __importStar(require("@coral-xyz/borsh"));
|
|
33
|
+
/** Reserve collateral */
|
|
34
|
+
class ReserveCollateral {
|
|
35
|
+
constructor(fields) {
|
|
36
|
+
this.mintPubkey = fields.mintPubkey;
|
|
37
|
+
this.mintTotalSupply = fields.mintTotalSupply;
|
|
38
|
+
this.supplyVault = fields.supplyVault;
|
|
39
|
+
this.padding1 = fields.padding1;
|
|
40
|
+
this.padding2 = fields.padding2;
|
|
41
|
+
}
|
|
42
|
+
static layout(property) {
|
|
43
|
+
return borsh.struct([
|
|
44
|
+
borsh.publicKey("mintPubkey"),
|
|
45
|
+
borsh.u64("mintTotalSupply"),
|
|
46
|
+
borsh.publicKey("supplyVault"),
|
|
47
|
+
borsh.array(borsh.u128(), 32, "padding1"),
|
|
48
|
+
borsh.array(borsh.u128(), 32, "padding2"),
|
|
49
|
+
], property);
|
|
50
|
+
}
|
|
51
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
52
|
+
static fromDecoded(obj) {
|
|
53
|
+
return new ReserveCollateral({
|
|
54
|
+
mintPubkey: obj.mintPubkey,
|
|
55
|
+
mintTotalSupply: obj.mintTotalSupply,
|
|
56
|
+
supplyVault: obj.supplyVault,
|
|
57
|
+
padding1: obj.padding1,
|
|
58
|
+
padding2: obj.padding2,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
static toEncodable(fields) {
|
|
62
|
+
return {
|
|
63
|
+
mintPubkey: fields.mintPubkey,
|
|
64
|
+
mintTotalSupply: fields.mintTotalSupply,
|
|
65
|
+
supplyVault: fields.supplyVault,
|
|
66
|
+
padding1: fields.padding1,
|
|
67
|
+
padding2: fields.padding2,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
toJSON() {
|
|
71
|
+
return {
|
|
72
|
+
mintPubkey: this.mintPubkey.toString(),
|
|
73
|
+
mintTotalSupply: this.mintTotalSupply.toString(),
|
|
74
|
+
supplyVault: this.supplyVault.toString(),
|
|
75
|
+
padding1: this.padding1.map((item) => item.toString()),
|
|
76
|
+
padding2: this.padding2.map((item) => item.toString()),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
static fromJSON(obj) {
|
|
80
|
+
return new ReserveCollateral({
|
|
81
|
+
mintPubkey: new web3_js_1.PublicKey(obj.mintPubkey),
|
|
82
|
+
mintTotalSupply: new bn_js_1.default(obj.mintTotalSupply),
|
|
83
|
+
supplyVault: new web3_js_1.PublicKey(obj.supplyVault),
|
|
84
|
+
padding1: obj.padding1.map((item) => new bn_js_1.default(item)),
|
|
85
|
+
padding2: obj.padding2.map((item) => new bn_js_1.default(item)),
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
toEncodable() {
|
|
89
|
+
return ReserveCollateral.toEncodable(this);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.ReserveCollateral = ReserveCollateral;
|
|
93
|
+
//# sourceMappingURL=ReserveCollateral.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReserveCollateral.js","sourceRoot":"","sources":["../../../src/idl_codegen/types/ReserveCollateral.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA2C,CAAC,wDAAwD;AACpG,kDAAsB,CAAC,wDAAwD;AAE/E,wDAAyC;AAwBzC,yBAAyB;AACzB,MAAa,iBAAiB;IAU5B,YAAY,MAA+B;QACzC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;QACnC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;QAC7C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;QACrC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IACjC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,QAAiB;QAC7B,OAAO,KAAK,CAAC,MAAM,CACjB;YACE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;YAC7B,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC;YAC5B,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC;YAC9B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC;YACzC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC;SAC1C,EACD,QAAQ,CACT,CAAA;IACH,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,WAAW,CAAC,GAAQ;QACzB,OAAO,IAAI,iBAAiB,CAAC;YAC3B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACvB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,MAA+B;QAChD,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAA;IACH,CAAC;IAED,MAAM;QACJ,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;YACtC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;YAChD,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;SACvD,CAAA;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAA0B;QACxC,OAAO,IAAI,iBAAiB,CAAC;YAC3B,UAAU,EAAE,IAAI,mBAAS,CAAC,GAAG,CAAC,UAAU,CAAC;YACzC,eAAe,EAAE,IAAI,eAAE,CAAC,GAAG,CAAC,eAAe,CAAC;YAC5C,WAAW,EAAE,IAAI,mBAAS,CAAC,GAAG,CAAC,WAAW,CAAC;YAC3C,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,eAAE,CAAC,IAAI,CAAC,CAAC;YAClD,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,eAAE,CAAC,IAAI,CAAC,CAAC;SACnD,CAAC,CAAA;IACJ,CAAC;IAED,WAAW;QACT,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;CACF;AA3ED,8CA2EC","sourcesContent":["import { PublicKey } from \"@solana/web3.js\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport BN from \"bn.js\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport * as types from \"../types\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport * as borsh from \"@coral-xyz/borsh\"\n\nexport interface ReserveCollateralFields {\n /** Reserve collateral mint address */\n mintPubkey: PublicKey\n /** Reserve collateral mint supply, used for exchange rate */\n mintTotalSupply: BN\n /** Reserve collateral supply address */\n supplyVault: PublicKey\n padding1: Array<BN>\n padding2: Array<BN>\n}\n\nexport interface ReserveCollateralJSON {\n /** Reserve collateral mint address */\n mintPubkey: string\n /** Reserve collateral mint supply, used for exchange rate */\n mintTotalSupply: string\n /** Reserve collateral supply address */\n supplyVault: string\n padding1: Array<string>\n padding2: Array<string>\n}\n\n/** Reserve collateral */\nexport class ReserveCollateral {\n /** Reserve collateral mint address */\n readonly mintPubkey: PublicKey\n /** Reserve collateral mint supply, used for exchange rate */\n readonly mintTotalSupply: BN\n /** Reserve collateral supply address */\n readonly supplyVault: PublicKey\n readonly padding1: Array<BN>\n readonly padding2: Array<BN>\n\n constructor(fields: ReserveCollateralFields) {\n this.mintPubkey = fields.mintPubkey\n this.mintTotalSupply = fields.mintTotalSupply\n this.supplyVault = fields.supplyVault\n this.padding1 = fields.padding1\n this.padding2 = fields.padding2\n }\n\n static layout(property?: string) {\n return borsh.struct(\n [\n borsh.publicKey(\"mintPubkey\"),\n borsh.u64(\"mintTotalSupply\"),\n borsh.publicKey(\"supplyVault\"),\n borsh.array(borsh.u128(), 32, \"padding1\"),\n borsh.array(borsh.u128(), 32, \"padding2\"),\n ],\n property\n )\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static fromDecoded(obj: any) {\n return new ReserveCollateral({\n mintPubkey: obj.mintPubkey,\n mintTotalSupply: obj.mintTotalSupply,\n supplyVault: obj.supplyVault,\n padding1: obj.padding1,\n padding2: obj.padding2,\n })\n }\n\n static toEncodable(fields: ReserveCollateralFields) {\n return {\n mintPubkey: fields.mintPubkey,\n mintTotalSupply: fields.mintTotalSupply,\n supplyVault: fields.supplyVault,\n padding1: fields.padding1,\n padding2: fields.padding2,\n }\n }\n\n toJSON(): ReserveCollateralJSON {\n return {\n mintPubkey: this.mintPubkey.toString(),\n mintTotalSupply: this.mintTotalSupply.toString(),\n supplyVault: this.supplyVault.toString(),\n padding1: this.padding1.map((item) => item.toString()),\n padding2: this.padding2.map((item) => item.toString()),\n }\n }\n\n static fromJSON(obj: ReserveCollateralJSON): ReserveCollateral {\n return new ReserveCollateral({\n mintPubkey: new PublicKey(obj.mintPubkey),\n mintTotalSupply: new BN(obj.mintTotalSupply),\n supplyVault: new PublicKey(obj.supplyVault),\n padding1: obj.padding1.map((item) => new BN(item)),\n padding2: obj.padding2.map((item) => new BN(item)),\n })\n }\n\n toEncodable() {\n return ReserveCollateral.toEncodable(this)\n }\n}\n"]}
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
import BN from "bn.js";
|
|
3
|
+
import * as types from "../types";
|
|
4
|
+
export interface ReserveConfigFields {
|
|
5
|
+
/** Status of the reserve Active/Obsolete/Hidden */
|
|
6
|
+
status: number;
|
|
7
|
+
/** Asset tier -> 0 - regular (collateral & debt), 1 - isolated collateral, 2 - isolated debt */
|
|
8
|
+
assetTier: number;
|
|
9
|
+
reserved0: Array<number>;
|
|
10
|
+
/** Boost for side (debt or collateral) */
|
|
11
|
+
multiplierSideBoost: Array<number>;
|
|
12
|
+
/** Reward points multiplier per obligation type */
|
|
13
|
+
multiplierTagBoost: Array<number>;
|
|
14
|
+
/** Protocol take rate is the amount borrowed interest protocol receives, as a percentage */
|
|
15
|
+
protocolTakeRatePct: number;
|
|
16
|
+
/** Cut of the liquidation bonus that the protocol receives, as a percentage */
|
|
17
|
+
protocolLiquidationFeePct: number;
|
|
18
|
+
/**
|
|
19
|
+
* Target ratio of the value of borrows to deposits, as a percentage
|
|
20
|
+
* 0 if use as collateral is disabled
|
|
21
|
+
*/
|
|
22
|
+
loanToValuePct: number;
|
|
23
|
+
/** Loan to value ratio at which an obligation can be liquidated, as percentage */
|
|
24
|
+
liquidationThresholdPct: number;
|
|
25
|
+
/** Minimum bonus a liquidator receives when repaying part of an unhealthy obligation, as bps */
|
|
26
|
+
minLiquidationBonusBps: number;
|
|
27
|
+
/** Maximum bonus a liquidator receives when repaying part of an unhealthy obligation, as bps */
|
|
28
|
+
maxLiquidationBonusBps: number;
|
|
29
|
+
/** Bad debt liquidation bonus for an undercollateralized obligation, as bps */
|
|
30
|
+
badDebtLiquidationBonusBps: number;
|
|
31
|
+
/** Time in seconds that must pass before redemptions are enabled after the deposit limit is crossed */
|
|
32
|
+
deleveragingMarginCallPeriodSecs: BN;
|
|
33
|
+
/**
|
|
34
|
+
* The rate at which the deleveraging threshold decreases in slots per bps
|
|
35
|
+
* e.g. 1 bps per hour would be 7200 slots per bps (assuming 2 slots per second)
|
|
36
|
+
*/
|
|
37
|
+
deleveragingThresholdSlotsPerBps: BN;
|
|
38
|
+
/** Program owner fees assessed, separate from gains due to interest accrual */
|
|
39
|
+
fees: types.ReserveFeesFields;
|
|
40
|
+
/** Borrow rate curve based on utilization */
|
|
41
|
+
borrowRateCurve: types.BorrowRateCurveFields;
|
|
42
|
+
/** Borrow factor in percentage - used for risk adjustment */
|
|
43
|
+
borrowFactorPct: BN;
|
|
44
|
+
/** Maximum deposit limit of liquidity in native units, u64::MAX for inf */
|
|
45
|
+
depositLimit: BN;
|
|
46
|
+
/** Maximum amount borrowed, u64::MAX for inf, 0 to disable borrows (protected deposits) */
|
|
47
|
+
borrowLimit: BN;
|
|
48
|
+
/** Token id from TokenInfos struct */
|
|
49
|
+
tokenInfo: types.TokenInfoFields;
|
|
50
|
+
/** Deposit withdrawl caps - deposit & redeem */
|
|
51
|
+
depositWithdrawalCap: types.WithdrawalCapsFields;
|
|
52
|
+
/** Debt withdrawl caps - borrow & repay */
|
|
53
|
+
debtWithdrawalCap: types.WithdrawalCapsFields;
|
|
54
|
+
elevationGroups: Array<number>;
|
|
55
|
+
reserved1: Array<number>;
|
|
56
|
+
}
|
|
57
|
+
export interface ReserveConfigJSON {
|
|
58
|
+
/** Status of the reserve Active/Obsolete/Hidden */
|
|
59
|
+
status: number;
|
|
60
|
+
/** Asset tier -> 0 - regular (collateral & debt), 1 - isolated collateral, 2 - isolated debt */
|
|
61
|
+
assetTier: number;
|
|
62
|
+
reserved0: Array<number>;
|
|
63
|
+
/** Boost for side (debt or collateral) */
|
|
64
|
+
multiplierSideBoost: Array<number>;
|
|
65
|
+
/** Reward points multiplier per obligation type */
|
|
66
|
+
multiplierTagBoost: Array<number>;
|
|
67
|
+
/** Protocol take rate is the amount borrowed interest protocol receives, as a percentage */
|
|
68
|
+
protocolTakeRatePct: number;
|
|
69
|
+
/** Cut of the liquidation bonus that the protocol receives, as a percentage */
|
|
70
|
+
protocolLiquidationFeePct: number;
|
|
71
|
+
/**
|
|
72
|
+
* Target ratio of the value of borrows to deposits, as a percentage
|
|
73
|
+
* 0 if use as collateral is disabled
|
|
74
|
+
*/
|
|
75
|
+
loanToValuePct: number;
|
|
76
|
+
/** Loan to value ratio at which an obligation can be liquidated, as percentage */
|
|
77
|
+
liquidationThresholdPct: number;
|
|
78
|
+
/** Minimum bonus a liquidator receives when repaying part of an unhealthy obligation, as bps */
|
|
79
|
+
minLiquidationBonusBps: number;
|
|
80
|
+
/** Maximum bonus a liquidator receives when repaying part of an unhealthy obligation, as bps */
|
|
81
|
+
maxLiquidationBonusBps: number;
|
|
82
|
+
/** Bad debt liquidation bonus for an undercollateralized obligation, as bps */
|
|
83
|
+
badDebtLiquidationBonusBps: number;
|
|
84
|
+
/** Time in seconds that must pass before redemptions are enabled after the deposit limit is crossed */
|
|
85
|
+
deleveragingMarginCallPeriodSecs: string;
|
|
86
|
+
/**
|
|
87
|
+
* The rate at which the deleveraging threshold decreases in slots per bps
|
|
88
|
+
* e.g. 1 bps per hour would be 7200 slots per bps (assuming 2 slots per second)
|
|
89
|
+
*/
|
|
90
|
+
deleveragingThresholdSlotsPerBps: string;
|
|
91
|
+
/** Program owner fees assessed, separate from gains due to interest accrual */
|
|
92
|
+
fees: types.ReserveFeesJSON;
|
|
93
|
+
/** Borrow rate curve based on utilization */
|
|
94
|
+
borrowRateCurve: types.BorrowRateCurveJSON;
|
|
95
|
+
/** Borrow factor in percentage - used for risk adjustment */
|
|
96
|
+
borrowFactorPct: string;
|
|
97
|
+
/** Maximum deposit limit of liquidity in native units, u64::MAX for inf */
|
|
98
|
+
depositLimit: string;
|
|
99
|
+
/** Maximum amount borrowed, u64::MAX for inf, 0 to disable borrows (protected deposits) */
|
|
100
|
+
borrowLimit: string;
|
|
101
|
+
/** Token id from TokenInfos struct */
|
|
102
|
+
tokenInfo: types.TokenInfoJSON;
|
|
103
|
+
/** Deposit withdrawl caps - deposit & redeem */
|
|
104
|
+
depositWithdrawalCap: types.WithdrawalCapsJSON;
|
|
105
|
+
/** Debt withdrawl caps - borrow & repay */
|
|
106
|
+
debtWithdrawalCap: types.WithdrawalCapsJSON;
|
|
107
|
+
elevationGroups: Array<number>;
|
|
108
|
+
reserved1: Array<number>;
|
|
109
|
+
}
|
|
110
|
+
/** Reserve configuration values */
|
|
111
|
+
export declare class ReserveConfig {
|
|
112
|
+
/** Status of the reserve Active/Obsolete/Hidden */
|
|
113
|
+
readonly status: number;
|
|
114
|
+
/** Asset tier -> 0 - regular (collateral & debt), 1 - isolated collateral, 2 - isolated debt */
|
|
115
|
+
readonly assetTier: number;
|
|
116
|
+
readonly reserved0: Array<number>;
|
|
117
|
+
/** Boost for side (debt or collateral) */
|
|
118
|
+
readonly multiplierSideBoost: Array<number>;
|
|
119
|
+
/** Reward points multiplier per obligation type */
|
|
120
|
+
readonly multiplierTagBoost: Array<number>;
|
|
121
|
+
/** Protocol take rate is the amount borrowed interest protocol receives, as a percentage */
|
|
122
|
+
readonly protocolTakeRatePct: number;
|
|
123
|
+
/** Cut of the liquidation bonus that the protocol receives, as a percentage */
|
|
124
|
+
readonly protocolLiquidationFeePct: number;
|
|
125
|
+
/**
|
|
126
|
+
* Target ratio of the value of borrows to deposits, as a percentage
|
|
127
|
+
* 0 if use as collateral is disabled
|
|
128
|
+
*/
|
|
129
|
+
readonly loanToValuePct: number;
|
|
130
|
+
/** Loan to value ratio at which an obligation can be liquidated, as percentage */
|
|
131
|
+
readonly liquidationThresholdPct: number;
|
|
132
|
+
/** Minimum bonus a liquidator receives when repaying part of an unhealthy obligation, as bps */
|
|
133
|
+
readonly minLiquidationBonusBps: number;
|
|
134
|
+
/** Maximum bonus a liquidator receives when repaying part of an unhealthy obligation, as bps */
|
|
135
|
+
readonly maxLiquidationBonusBps: number;
|
|
136
|
+
/** Bad debt liquidation bonus for an undercollateralized obligation, as bps */
|
|
137
|
+
readonly badDebtLiquidationBonusBps: number;
|
|
138
|
+
/** Time in seconds that must pass before redemptions are enabled after the deposit limit is crossed */
|
|
139
|
+
readonly deleveragingMarginCallPeriodSecs: BN;
|
|
140
|
+
/**
|
|
141
|
+
* The rate at which the deleveraging threshold decreases in slots per bps
|
|
142
|
+
* e.g. 1 bps per hour would be 7200 slots per bps (assuming 2 slots per second)
|
|
143
|
+
*/
|
|
144
|
+
readonly deleveragingThresholdSlotsPerBps: BN;
|
|
145
|
+
/** Program owner fees assessed, separate from gains due to interest accrual */
|
|
146
|
+
readonly fees: types.ReserveFees;
|
|
147
|
+
/** Borrow rate curve based on utilization */
|
|
148
|
+
readonly borrowRateCurve: types.BorrowRateCurve;
|
|
149
|
+
/** Borrow factor in percentage - used for risk adjustment */
|
|
150
|
+
readonly borrowFactorPct: BN;
|
|
151
|
+
/** Maximum deposit limit of liquidity in native units, u64::MAX for inf */
|
|
152
|
+
readonly depositLimit: BN;
|
|
153
|
+
/** Maximum amount borrowed, u64::MAX for inf, 0 to disable borrows (protected deposits) */
|
|
154
|
+
readonly borrowLimit: BN;
|
|
155
|
+
/** Token id from TokenInfos struct */
|
|
156
|
+
readonly tokenInfo: types.TokenInfo;
|
|
157
|
+
/** Deposit withdrawl caps - deposit & redeem */
|
|
158
|
+
readonly depositWithdrawalCap: types.WithdrawalCaps;
|
|
159
|
+
/** Debt withdrawl caps - borrow & repay */
|
|
160
|
+
readonly debtWithdrawalCap: types.WithdrawalCaps;
|
|
161
|
+
readonly elevationGroups: Array<number>;
|
|
162
|
+
readonly reserved1: Array<number>;
|
|
163
|
+
constructor(fields: ReserveConfigFields);
|
|
164
|
+
static layout(property?: string): any;
|
|
165
|
+
static fromDecoded(obj: any): types.ReserveConfig;
|
|
166
|
+
static toEncodable(fields: ReserveConfigFields): {
|
|
167
|
+
status: number;
|
|
168
|
+
assetTier: number;
|
|
169
|
+
reserved0: number[];
|
|
170
|
+
multiplierSideBoost: number[];
|
|
171
|
+
multiplierTagBoost: number[];
|
|
172
|
+
protocolTakeRatePct: number;
|
|
173
|
+
protocolLiquidationFeePct: number;
|
|
174
|
+
loanToValuePct: number;
|
|
175
|
+
liquidationThresholdPct: number;
|
|
176
|
+
minLiquidationBonusBps: number;
|
|
177
|
+
maxLiquidationBonusBps: number;
|
|
178
|
+
badDebtLiquidationBonusBps: number;
|
|
179
|
+
deleveragingMarginCallPeriodSecs: BN;
|
|
180
|
+
deleveragingThresholdSlotsPerBps: BN;
|
|
181
|
+
fees: {
|
|
182
|
+
borrowFeeSf: BN;
|
|
183
|
+
flashLoanFeeSf: BN;
|
|
184
|
+
padding: number[];
|
|
185
|
+
};
|
|
186
|
+
borrowRateCurve: {
|
|
187
|
+
points: {
|
|
188
|
+
utilizationRateBps: number;
|
|
189
|
+
borrowRateBps: number;
|
|
190
|
+
}[];
|
|
191
|
+
};
|
|
192
|
+
borrowFactorPct: BN;
|
|
193
|
+
depositLimit: BN;
|
|
194
|
+
borrowLimit: BN;
|
|
195
|
+
tokenInfo: {
|
|
196
|
+
name: number[];
|
|
197
|
+
heuristic: {
|
|
198
|
+
lower: BN;
|
|
199
|
+
upper: BN;
|
|
200
|
+
exp: BN;
|
|
201
|
+
};
|
|
202
|
+
maxTwapDivergenceBps: BN;
|
|
203
|
+
maxAgePriceSeconds: BN;
|
|
204
|
+
maxAgeTwapSeconds: BN;
|
|
205
|
+
scopeConfiguration: {
|
|
206
|
+
priceFeed: PublicKey;
|
|
207
|
+
priceChain: number[];
|
|
208
|
+
twapChain: number[];
|
|
209
|
+
};
|
|
210
|
+
switchboardConfiguration: {
|
|
211
|
+
priceAggregator: PublicKey;
|
|
212
|
+
twapAggregator: PublicKey;
|
|
213
|
+
};
|
|
214
|
+
pythConfiguration: {
|
|
215
|
+
price: PublicKey;
|
|
216
|
+
};
|
|
217
|
+
padding: BN[];
|
|
218
|
+
};
|
|
219
|
+
depositWithdrawalCap: {
|
|
220
|
+
configCapacity: BN;
|
|
221
|
+
currentTotal: BN;
|
|
222
|
+
lastIntervalStartTimestamp: BN;
|
|
223
|
+
configIntervalLengthSeconds: BN;
|
|
224
|
+
};
|
|
225
|
+
debtWithdrawalCap: {
|
|
226
|
+
configCapacity: BN;
|
|
227
|
+
currentTotal: BN;
|
|
228
|
+
lastIntervalStartTimestamp: BN;
|
|
229
|
+
configIntervalLengthSeconds: BN;
|
|
230
|
+
};
|
|
231
|
+
elevationGroups: number[];
|
|
232
|
+
reserved1: number[];
|
|
233
|
+
};
|
|
234
|
+
toJSON(): ReserveConfigJSON;
|
|
235
|
+
static fromJSON(obj: ReserveConfigJSON): ReserveConfig;
|
|
236
|
+
toEncodable(): {
|
|
237
|
+
status: number;
|
|
238
|
+
assetTier: number;
|
|
239
|
+
reserved0: number[];
|
|
240
|
+
multiplierSideBoost: number[];
|
|
241
|
+
multiplierTagBoost: number[];
|
|
242
|
+
protocolTakeRatePct: number;
|
|
243
|
+
protocolLiquidationFeePct: number;
|
|
244
|
+
loanToValuePct: number;
|
|
245
|
+
liquidationThresholdPct: number;
|
|
246
|
+
minLiquidationBonusBps: number;
|
|
247
|
+
maxLiquidationBonusBps: number;
|
|
248
|
+
badDebtLiquidationBonusBps: number;
|
|
249
|
+
deleveragingMarginCallPeriodSecs: BN;
|
|
250
|
+
deleveragingThresholdSlotsPerBps: BN;
|
|
251
|
+
fees: {
|
|
252
|
+
borrowFeeSf: BN;
|
|
253
|
+
flashLoanFeeSf: BN;
|
|
254
|
+
padding: number[];
|
|
255
|
+
};
|
|
256
|
+
borrowRateCurve: {
|
|
257
|
+
points: {
|
|
258
|
+
utilizationRateBps: number;
|
|
259
|
+
borrowRateBps: number;
|
|
260
|
+
}[];
|
|
261
|
+
};
|
|
262
|
+
borrowFactorPct: BN;
|
|
263
|
+
depositLimit: BN;
|
|
264
|
+
borrowLimit: BN;
|
|
265
|
+
tokenInfo: {
|
|
266
|
+
name: number[];
|
|
267
|
+
heuristic: {
|
|
268
|
+
lower: BN;
|
|
269
|
+
upper: BN;
|
|
270
|
+
exp: BN;
|
|
271
|
+
};
|
|
272
|
+
maxTwapDivergenceBps: BN;
|
|
273
|
+
maxAgePriceSeconds: BN;
|
|
274
|
+
maxAgeTwapSeconds: BN;
|
|
275
|
+
scopeConfiguration: {
|
|
276
|
+
priceFeed: PublicKey;
|
|
277
|
+
priceChain: number[];
|
|
278
|
+
twapChain: number[];
|
|
279
|
+
};
|
|
280
|
+
switchboardConfiguration: {
|
|
281
|
+
priceAggregator: PublicKey;
|
|
282
|
+
twapAggregator: PublicKey;
|
|
283
|
+
};
|
|
284
|
+
pythConfiguration: {
|
|
285
|
+
price: PublicKey;
|
|
286
|
+
};
|
|
287
|
+
padding: BN[];
|
|
288
|
+
};
|
|
289
|
+
depositWithdrawalCap: {
|
|
290
|
+
configCapacity: BN;
|
|
291
|
+
currentTotal: BN;
|
|
292
|
+
lastIntervalStartTimestamp: BN;
|
|
293
|
+
configIntervalLengthSeconds: BN;
|
|
294
|
+
};
|
|
295
|
+
debtWithdrawalCap: {
|
|
296
|
+
configCapacity: BN;
|
|
297
|
+
currentTotal: BN;
|
|
298
|
+
lastIntervalStartTimestamp: BN;
|
|
299
|
+
configIntervalLengthSeconds: BN;
|
|
300
|
+
};
|
|
301
|
+
elevationGroups: number[];
|
|
302
|
+
reserved1: number[];
|
|
303
|
+
};
|
|
304
|
+
}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.ReserveConfig = void 0;
|
|
30
|
+
const bn_js_1 = __importDefault(require("bn.js")); // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
31
|
+
const types = __importStar(require("../types")); // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
32
|
+
const borsh = __importStar(require("@coral-xyz/borsh"));
|
|
33
|
+
/** Reserve configuration values */
|
|
34
|
+
class ReserveConfig {
|
|
35
|
+
constructor(fields) {
|
|
36
|
+
this.status = fields.status;
|
|
37
|
+
this.assetTier = fields.assetTier;
|
|
38
|
+
this.reserved0 = fields.reserved0;
|
|
39
|
+
this.multiplierSideBoost = fields.multiplierSideBoost;
|
|
40
|
+
this.multiplierTagBoost = fields.multiplierTagBoost;
|
|
41
|
+
this.protocolTakeRatePct = fields.protocolTakeRatePct;
|
|
42
|
+
this.protocolLiquidationFeePct = fields.protocolLiquidationFeePct;
|
|
43
|
+
this.loanToValuePct = fields.loanToValuePct;
|
|
44
|
+
this.liquidationThresholdPct = fields.liquidationThresholdPct;
|
|
45
|
+
this.minLiquidationBonusBps = fields.minLiquidationBonusBps;
|
|
46
|
+
this.maxLiquidationBonusBps = fields.maxLiquidationBonusBps;
|
|
47
|
+
this.badDebtLiquidationBonusBps = fields.badDebtLiquidationBonusBps;
|
|
48
|
+
this.deleveragingMarginCallPeriodSecs =
|
|
49
|
+
fields.deleveragingMarginCallPeriodSecs;
|
|
50
|
+
this.deleveragingThresholdSlotsPerBps =
|
|
51
|
+
fields.deleveragingThresholdSlotsPerBps;
|
|
52
|
+
this.fees = new types.ReserveFees(Object.assign({}, fields.fees));
|
|
53
|
+
this.borrowRateCurve = new types.BorrowRateCurve(Object.assign({}, fields.borrowRateCurve));
|
|
54
|
+
this.borrowFactorPct = fields.borrowFactorPct;
|
|
55
|
+
this.depositLimit = fields.depositLimit;
|
|
56
|
+
this.borrowLimit = fields.borrowLimit;
|
|
57
|
+
this.tokenInfo = new types.TokenInfo(Object.assign({}, fields.tokenInfo));
|
|
58
|
+
this.depositWithdrawalCap = new types.WithdrawalCaps(Object.assign({}, fields.depositWithdrawalCap));
|
|
59
|
+
this.debtWithdrawalCap = new types.WithdrawalCaps(Object.assign({}, fields.debtWithdrawalCap));
|
|
60
|
+
this.elevationGroups = fields.elevationGroups;
|
|
61
|
+
this.reserved1 = fields.reserved1;
|
|
62
|
+
}
|
|
63
|
+
static layout(property) {
|
|
64
|
+
return borsh.struct([
|
|
65
|
+
borsh.u8("status"),
|
|
66
|
+
borsh.u8("assetTier"),
|
|
67
|
+
borsh.array(borsh.u8(), 2, "reserved0"),
|
|
68
|
+
borsh.array(borsh.u8(), 2, "multiplierSideBoost"),
|
|
69
|
+
borsh.array(borsh.u8(), 8, "multiplierTagBoost"),
|
|
70
|
+
borsh.u8("protocolTakeRatePct"),
|
|
71
|
+
borsh.u8("protocolLiquidationFeePct"),
|
|
72
|
+
borsh.u8("loanToValuePct"),
|
|
73
|
+
borsh.u8("liquidationThresholdPct"),
|
|
74
|
+
borsh.u16("minLiquidationBonusBps"),
|
|
75
|
+
borsh.u16("maxLiquidationBonusBps"),
|
|
76
|
+
borsh.u16("badDebtLiquidationBonusBps"),
|
|
77
|
+
borsh.u64("deleveragingMarginCallPeriodSecs"),
|
|
78
|
+
borsh.u64("deleveragingThresholdSlotsPerBps"),
|
|
79
|
+
types.ReserveFees.layout("fees"),
|
|
80
|
+
types.BorrowRateCurve.layout("borrowRateCurve"),
|
|
81
|
+
borsh.u64("borrowFactorPct"),
|
|
82
|
+
borsh.u64("depositLimit"),
|
|
83
|
+
borsh.u64("borrowLimit"),
|
|
84
|
+
types.TokenInfo.layout("tokenInfo"),
|
|
85
|
+
types.WithdrawalCaps.layout("depositWithdrawalCap"),
|
|
86
|
+
types.WithdrawalCaps.layout("debtWithdrawalCap"),
|
|
87
|
+
borsh.array(borsh.u8(), 20, "elevationGroups"),
|
|
88
|
+
borsh.array(borsh.u8(), 4, "reserved1"),
|
|
89
|
+
], property);
|
|
90
|
+
}
|
|
91
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
92
|
+
static fromDecoded(obj) {
|
|
93
|
+
return new ReserveConfig({
|
|
94
|
+
status: obj.status,
|
|
95
|
+
assetTier: obj.assetTier,
|
|
96
|
+
reserved0: obj.reserved0,
|
|
97
|
+
multiplierSideBoost: obj.multiplierSideBoost,
|
|
98
|
+
multiplierTagBoost: obj.multiplierTagBoost,
|
|
99
|
+
protocolTakeRatePct: obj.protocolTakeRatePct,
|
|
100
|
+
protocolLiquidationFeePct: obj.protocolLiquidationFeePct,
|
|
101
|
+
loanToValuePct: obj.loanToValuePct,
|
|
102
|
+
liquidationThresholdPct: obj.liquidationThresholdPct,
|
|
103
|
+
minLiquidationBonusBps: obj.minLiquidationBonusBps,
|
|
104
|
+
maxLiquidationBonusBps: obj.maxLiquidationBonusBps,
|
|
105
|
+
badDebtLiquidationBonusBps: obj.badDebtLiquidationBonusBps,
|
|
106
|
+
deleveragingMarginCallPeriodSecs: obj.deleveragingMarginCallPeriodSecs,
|
|
107
|
+
deleveragingThresholdSlotsPerBps: obj.deleveragingThresholdSlotsPerBps,
|
|
108
|
+
fees: types.ReserveFees.fromDecoded(obj.fees),
|
|
109
|
+
borrowRateCurve: types.BorrowRateCurve.fromDecoded(obj.borrowRateCurve),
|
|
110
|
+
borrowFactorPct: obj.borrowFactorPct,
|
|
111
|
+
depositLimit: obj.depositLimit,
|
|
112
|
+
borrowLimit: obj.borrowLimit,
|
|
113
|
+
tokenInfo: types.TokenInfo.fromDecoded(obj.tokenInfo),
|
|
114
|
+
depositWithdrawalCap: types.WithdrawalCaps.fromDecoded(obj.depositWithdrawalCap),
|
|
115
|
+
debtWithdrawalCap: types.WithdrawalCaps.fromDecoded(obj.debtWithdrawalCap),
|
|
116
|
+
elevationGroups: obj.elevationGroups,
|
|
117
|
+
reserved1: obj.reserved1,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
static toEncodable(fields) {
|
|
121
|
+
return {
|
|
122
|
+
status: fields.status,
|
|
123
|
+
assetTier: fields.assetTier,
|
|
124
|
+
reserved0: fields.reserved0,
|
|
125
|
+
multiplierSideBoost: fields.multiplierSideBoost,
|
|
126
|
+
multiplierTagBoost: fields.multiplierTagBoost,
|
|
127
|
+
protocolTakeRatePct: fields.protocolTakeRatePct,
|
|
128
|
+
protocolLiquidationFeePct: fields.protocolLiquidationFeePct,
|
|
129
|
+
loanToValuePct: fields.loanToValuePct,
|
|
130
|
+
liquidationThresholdPct: fields.liquidationThresholdPct,
|
|
131
|
+
minLiquidationBonusBps: fields.minLiquidationBonusBps,
|
|
132
|
+
maxLiquidationBonusBps: fields.maxLiquidationBonusBps,
|
|
133
|
+
badDebtLiquidationBonusBps: fields.badDebtLiquidationBonusBps,
|
|
134
|
+
deleveragingMarginCallPeriodSecs: fields.deleveragingMarginCallPeriodSecs,
|
|
135
|
+
deleveragingThresholdSlotsPerBps: fields.deleveragingThresholdSlotsPerBps,
|
|
136
|
+
fees: types.ReserveFees.toEncodable(fields.fees),
|
|
137
|
+
borrowRateCurve: types.BorrowRateCurve.toEncodable(fields.borrowRateCurve),
|
|
138
|
+
borrowFactorPct: fields.borrowFactorPct,
|
|
139
|
+
depositLimit: fields.depositLimit,
|
|
140
|
+
borrowLimit: fields.borrowLimit,
|
|
141
|
+
tokenInfo: types.TokenInfo.toEncodable(fields.tokenInfo),
|
|
142
|
+
depositWithdrawalCap: types.WithdrawalCaps.toEncodable(fields.depositWithdrawalCap),
|
|
143
|
+
debtWithdrawalCap: types.WithdrawalCaps.toEncodable(fields.debtWithdrawalCap),
|
|
144
|
+
elevationGroups: fields.elevationGroups,
|
|
145
|
+
reserved1: fields.reserved1,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
toJSON() {
|
|
149
|
+
return {
|
|
150
|
+
status: this.status,
|
|
151
|
+
assetTier: this.assetTier,
|
|
152
|
+
reserved0: this.reserved0,
|
|
153
|
+
multiplierSideBoost: this.multiplierSideBoost,
|
|
154
|
+
multiplierTagBoost: this.multiplierTagBoost,
|
|
155
|
+
protocolTakeRatePct: this.protocolTakeRatePct,
|
|
156
|
+
protocolLiquidationFeePct: this.protocolLiquidationFeePct,
|
|
157
|
+
loanToValuePct: this.loanToValuePct,
|
|
158
|
+
liquidationThresholdPct: this.liquidationThresholdPct,
|
|
159
|
+
minLiquidationBonusBps: this.minLiquidationBonusBps,
|
|
160
|
+
maxLiquidationBonusBps: this.maxLiquidationBonusBps,
|
|
161
|
+
badDebtLiquidationBonusBps: this.badDebtLiquidationBonusBps,
|
|
162
|
+
deleveragingMarginCallPeriodSecs: this.deleveragingMarginCallPeriodSecs.toString(),
|
|
163
|
+
deleveragingThresholdSlotsPerBps: this.deleveragingThresholdSlotsPerBps.toString(),
|
|
164
|
+
fees: this.fees.toJSON(),
|
|
165
|
+
borrowRateCurve: this.borrowRateCurve.toJSON(),
|
|
166
|
+
borrowFactorPct: this.borrowFactorPct.toString(),
|
|
167
|
+
depositLimit: this.depositLimit.toString(),
|
|
168
|
+
borrowLimit: this.borrowLimit.toString(),
|
|
169
|
+
tokenInfo: this.tokenInfo.toJSON(),
|
|
170
|
+
depositWithdrawalCap: this.depositWithdrawalCap.toJSON(),
|
|
171
|
+
debtWithdrawalCap: this.debtWithdrawalCap.toJSON(),
|
|
172
|
+
elevationGroups: this.elevationGroups,
|
|
173
|
+
reserved1: this.reserved1,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
static fromJSON(obj) {
|
|
177
|
+
return new ReserveConfig({
|
|
178
|
+
status: obj.status,
|
|
179
|
+
assetTier: obj.assetTier,
|
|
180
|
+
reserved0: obj.reserved0,
|
|
181
|
+
multiplierSideBoost: obj.multiplierSideBoost,
|
|
182
|
+
multiplierTagBoost: obj.multiplierTagBoost,
|
|
183
|
+
protocolTakeRatePct: obj.protocolTakeRatePct,
|
|
184
|
+
protocolLiquidationFeePct: obj.protocolLiquidationFeePct,
|
|
185
|
+
loanToValuePct: obj.loanToValuePct,
|
|
186
|
+
liquidationThresholdPct: obj.liquidationThresholdPct,
|
|
187
|
+
minLiquidationBonusBps: obj.minLiquidationBonusBps,
|
|
188
|
+
maxLiquidationBonusBps: obj.maxLiquidationBonusBps,
|
|
189
|
+
badDebtLiquidationBonusBps: obj.badDebtLiquidationBonusBps,
|
|
190
|
+
deleveragingMarginCallPeriodSecs: new bn_js_1.default(obj.deleveragingMarginCallPeriodSecs),
|
|
191
|
+
deleveragingThresholdSlotsPerBps: new bn_js_1.default(obj.deleveragingThresholdSlotsPerBps),
|
|
192
|
+
fees: types.ReserveFees.fromJSON(obj.fees),
|
|
193
|
+
borrowRateCurve: types.BorrowRateCurve.fromJSON(obj.borrowRateCurve),
|
|
194
|
+
borrowFactorPct: new bn_js_1.default(obj.borrowFactorPct),
|
|
195
|
+
depositLimit: new bn_js_1.default(obj.depositLimit),
|
|
196
|
+
borrowLimit: new bn_js_1.default(obj.borrowLimit),
|
|
197
|
+
tokenInfo: types.TokenInfo.fromJSON(obj.tokenInfo),
|
|
198
|
+
depositWithdrawalCap: types.WithdrawalCaps.fromJSON(obj.depositWithdrawalCap),
|
|
199
|
+
debtWithdrawalCap: types.WithdrawalCaps.fromJSON(obj.debtWithdrawalCap),
|
|
200
|
+
elevationGroups: obj.elevationGroups,
|
|
201
|
+
reserved1: obj.reserved1,
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
toEncodable() {
|
|
205
|
+
return ReserveConfig.toEncodable(this);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
exports.ReserveConfig = ReserveConfig;
|
|
209
|
+
//# sourceMappingURL=ReserveConfig.js.map
|