@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,193 @@
|
|
|
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.Obligation = void 0;
|
|
39
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
40
|
+
const bn_js_1 = __importDefault(require("bn.js")); // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
41
|
+
const borsh = __importStar(require("@coral-xyz/borsh")); // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
42
|
+
const types = __importStar(require("../types")); // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
43
|
+
const programId_1 = require("../programId");
|
|
44
|
+
/** Lending market obligation state */
|
|
45
|
+
class Obligation {
|
|
46
|
+
constructor(fields) {
|
|
47
|
+
this.tag = fields.tag;
|
|
48
|
+
this.lastUpdate = new types.LastUpdate(Object.assign({}, fields.lastUpdate));
|
|
49
|
+
this.lendingMarket = fields.lendingMarket;
|
|
50
|
+
this.owner = fields.owner;
|
|
51
|
+
this.deposits = fields.deposits.map((item) => new types.ObligationCollateral(Object.assign({}, item)));
|
|
52
|
+
this.lowestReserveDepositLtv = fields.lowestReserveDepositLtv;
|
|
53
|
+
this.depositedValueSf = fields.depositedValueSf;
|
|
54
|
+
this.borrows = fields.borrows.map((item) => new types.ObligationLiquidity(Object.assign({}, item)));
|
|
55
|
+
this.borrowFactorAdjustedDebtValueSf =
|
|
56
|
+
fields.borrowFactorAdjustedDebtValueSf;
|
|
57
|
+
this.borrowedAssetsMarketValueSf = fields.borrowedAssetsMarketValueSf;
|
|
58
|
+
this.allowedBorrowValueSf = fields.allowedBorrowValueSf;
|
|
59
|
+
this.unhealthyBorrowValueSf = fields.unhealthyBorrowValueSf;
|
|
60
|
+
this.depositsAssetTiers = fields.depositsAssetTiers;
|
|
61
|
+
this.borrowsAssetTiers = fields.borrowsAssetTiers;
|
|
62
|
+
this.elevationGroup = fields.elevationGroup;
|
|
63
|
+
this.numOfObsoleteReserves = fields.numOfObsoleteReserves;
|
|
64
|
+
this.hasDebt = fields.hasDebt;
|
|
65
|
+
this.referrer = fields.referrer;
|
|
66
|
+
this.padding3 = fields.padding3;
|
|
67
|
+
}
|
|
68
|
+
static fetch(c, address, programId = programId_1.PROGRAM_ID) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const info = yield c.getAccountInfo(address);
|
|
71
|
+
if (info === null) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
if (!info.owner.equals(programId)) {
|
|
75
|
+
throw new Error("account doesn't belong to this program");
|
|
76
|
+
}
|
|
77
|
+
return this.decode(info.data);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
static fetchMultiple(c, addresses, programId = programId_1.PROGRAM_ID) {
|
|
81
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
const infos = yield c.getMultipleAccountsInfo(addresses);
|
|
83
|
+
return infos.map((info) => {
|
|
84
|
+
if (info === null) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
if (!info.owner.equals(programId)) {
|
|
88
|
+
throw new Error("account doesn't belong to this program");
|
|
89
|
+
}
|
|
90
|
+
return this.decode(info.data);
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
static decode(data) {
|
|
95
|
+
if (!data.slice(0, 8).equals(Obligation.discriminator)) {
|
|
96
|
+
throw new Error("invalid account discriminator");
|
|
97
|
+
}
|
|
98
|
+
const dec = Obligation.layout.decode(data.slice(8));
|
|
99
|
+
return new Obligation({
|
|
100
|
+
tag: dec.tag,
|
|
101
|
+
lastUpdate: types.LastUpdate.fromDecoded(dec.lastUpdate),
|
|
102
|
+
lendingMarket: dec.lendingMarket,
|
|
103
|
+
owner: dec.owner,
|
|
104
|
+
deposits: dec.deposits.map((item /* eslint-disable-line @typescript-eslint/no-explicit-any */) => types.ObligationCollateral.fromDecoded(item)),
|
|
105
|
+
lowestReserveDepositLtv: dec.lowestReserveDepositLtv,
|
|
106
|
+
depositedValueSf: dec.depositedValueSf,
|
|
107
|
+
borrows: dec.borrows.map((item /* eslint-disable-line @typescript-eslint/no-explicit-any */) => types.ObligationLiquidity.fromDecoded(item)),
|
|
108
|
+
borrowFactorAdjustedDebtValueSf: dec.borrowFactorAdjustedDebtValueSf,
|
|
109
|
+
borrowedAssetsMarketValueSf: dec.borrowedAssetsMarketValueSf,
|
|
110
|
+
allowedBorrowValueSf: dec.allowedBorrowValueSf,
|
|
111
|
+
unhealthyBorrowValueSf: dec.unhealthyBorrowValueSf,
|
|
112
|
+
depositsAssetTiers: dec.depositsAssetTiers,
|
|
113
|
+
borrowsAssetTiers: dec.borrowsAssetTiers,
|
|
114
|
+
elevationGroup: dec.elevationGroup,
|
|
115
|
+
numOfObsoleteReserves: dec.numOfObsoleteReserves,
|
|
116
|
+
hasDebt: dec.hasDebt,
|
|
117
|
+
referrer: dec.referrer,
|
|
118
|
+
padding3: dec.padding3,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
toJSON() {
|
|
122
|
+
return {
|
|
123
|
+
tag: this.tag.toString(),
|
|
124
|
+
lastUpdate: this.lastUpdate.toJSON(),
|
|
125
|
+
lendingMarket: this.lendingMarket.toString(),
|
|
126
|
+
owner: this.owner.toString(),
|
|
127
|
+
deposits: this.deposits.map((item) => item.toJSON()),
|
|
128
|
+
lowestReserveDepositLtv: this.lowestReserveDepositLtv.toString(),
|
|
129
|
+
depositedValueSf: this.depositedValueSf.toString(),
|
|
130
|
+
borrows: this.borrows.map((item) => item.toJSON()),
|
|
131
|
+
borrowFactorAdjustedDebtValueSf: this.borrowFactorAdjustedDebtValueSf.toString(),
|
|
132
|
+
borrowedAssetsMarketValueSf: this.borrowedAssetsMarketValueSf.toString(),
|
|
133
|
+
allowedBorrowValueSf: this.allowedBorrowValueSf.toString(),
|
|
134
|
+
unhealthyBorrowValueSf: this.unhealthyBorrowValueSf.toString(),
|
|
135
|
+
depositsAssetTiers: this.depositsAssetTiers,
|
|
136
|
+
borrowsAssetTiers: this.borrowsAssetTiers,
|
|
137
|
+
elevationGroup: this.elevationGroup,
|
|
138
|
+
numOfObsoleteReserves: this.numOfObsoleteReserves,
|
|
139
|
+
hasDebt: this.hasDebt,
|
|
140
|
+
referrer: this.referrer.toString(),
|
|
141
|
+
padding3: this.padding3.map((item) => item.toString()),
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
static fromJSON(obj) {
|
|
145
|
+
return new Obligation({
|
|
146
|
+
tag: new bn_js_1.default(obj.tag),
|
|
147
|
+
lastUpdate: types.LastUpdate.fromJSON(obj.lastUpdate),
|
|
148
|
+
lendingMarket: new web3_js_1.PublicKey(obj.lendingMarket),
|
|
149
|
+
owner: new web3_js_1.PublicKey(obj.owner),
|
|
150
|
+
deposits: obj.deposits.map((item) => types.ObligationCollateral.fromJSON(item)),
|
|
151
|
+
lowestReserveDepositLtv: new bn_js_1.default(obj.lowestReserveDepositLtv),
|
|
152
|
+
depositedValueSf: new bn_js_1.default(obj.depositedValueSf),
|
|
153
|
+
borrows: obj.borrows.map((item) => types.ObligationLiquidity.fromJSON(item)),
|
|
154
|
+
borrowFactorAdjustedDebtValueSf: new bn_js_1.default(obj.borrowFactorAdjustedDebtValueSf),
|
|
155
|
+
borrowedAssetsMarketValueSf: new bn_js_1.default(obj.borrowedAssetsMarketValueSf),
|
|
156
|
+
allowedBorrowValueSf: new bn_js_1.default(obj.allowedBorrowValueSf),
|
|
157
|
+
unhealthyBorrowValueSf: new bn_js_1.default(obj.unhealthyBorrowValueSf),
|
|
158
|
+
depositsAssetTiers: obj.depositsAssetTiers,
|
|
159
|
+
borrowsAssetTiers: obj.borrowsAssetTiers,
|
|
160
|
+
elevationGroup: obj.elevationGroup,
|
|
161
|
+
numOfObsoleteReserves: obj.numOfObsoleteReserves,
|
|
162
|
+
hasDebt: obj.hasDebt,
|
|
163
|
+
referrer: new web3_js_1.PublicKey(obj.referrer),
|
|
164
|
+
padding3: obj.padding3.map((item) => new bn_js_1.default(item)),
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
exports.Obligation = Obligation;
|
|
169
|
+
Obligation.discriminator = Buffer.from([
|
|
170
|
+
168, 206, 141, 106, 88, 76, 172, 167,
|
|
171
|
+
]);
|
|
172
|
+
Obligation.layout = borsh.struct([
|
|
173
|
+
borsh.u64("tag"),
|
|
174
|
+
types.LastUpdate.layout("lastUpdate"),
|
|
175
|
+
borsh.publicKey("lendingMarket"),
|
|
176
|
+
borsh.publicKey("owner"),
|
|
177
|
+
borsh.array(types.ObligationCollateral.layout(), 8, "deposits"),
|
|
178
|
+
borsh.u64("lowestReserveDepositLtv"),
|
|
179
|
+
borsh.u128("depositedValueSf"),
|
|
180
|
+
borsh.array(types.ObligationLiquidity.layout(), 5, "borrows"),
|
|
181
|
+
borsh.u128("borrowFactorAdjustedDebtValueSf"),
|
|
182
|
+
borsh.u128("borrowedAssetsMarketValueSf"),
|
|
183
|
+
borsh.u128("allowedBorrowValueSf"),
|
|
184
|
+
borsh.u128("unhealthyBorrowValueSf"),
|
|
185
|
+
borsh.array(borsh.u8(), 8, "depositsAssetTiers"),
|
|
186
|
+
borsh.array(borsh.u8(), 5, "borrowsAssetTiers"),
|
|
187
|
+
borsh.u8("elevationGroup"),
|
|
188
|
+
borsh.u8("numOfObsoleteReserves"),
|
|
189
|
+
borsh.u8("hasDebt"),
|
|
190
|
+
borsh.publicKey("referrer"),
|
|
191
|
+
borsh.array(borsh.u64(), 128, "padding3"),
|
|
192
|
+
]);
|
|
193
|
+
//# sourceMappingURL=Obligation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Obligation.js","sourceRoot":"","sources":["../../../src/idl_codegen/accounts/Obligation.ts"],"names":[],"mappings":"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","sourcesContent":["import { PublicKey, Connection } from \"@solana/web3.js\"\nimport BN from \"bn.js\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport * as borsh from \"@coral-xyz/borsh\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport * as types from \"../types\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport { PROGRAM_ID } from \"../programId\"\n\nexport interface ObligationFields {\n /** Version of the struct */\n tag: BN\n /** Last update to collateral, liquidity, or their market values */\n lastUpdate: types.LastUpdateFields\n /** Lending market address */\n lendingMarket: PublicKey\n /** Owner authority which can borrow liquidity */\n owner: PublicKey\n /**\n * TODO: Does this break the stack size when copied onto the stack, if too big?\n * Deposited collateral for the obligation, unique by deposit reserve address\n */\n deposits: Array<types.ObligationCollateralFields>\n /** Worst LTV for the collaterals backing the loan, represented as a percentage */\n lowestReserveDepositLtv: BN\n /** Market value of deposits (scaled fraction) */\n depositedValueSf: BN\n /** Borrowed liquidity for the obligation, unique by borrow reserve address */\n borrows: Array<types.ObligationLiquidityFields>\n /** Risk adjusted market value of borrows/debt (sum of price * borrowed_amount * borrow_factor) (scaled fraction) */\n borrowFactorAdjustedDebtValueSf: BN\n /** Market value of borrows - used for max_liquidatable_borrowed_amount (scaled fraction) */\n borrowedAssetsMarketValueSf: BN\n /** The maximum borrow value at the weighted average loan to value ratio (scaled fraction) */\n allowedBorrowValueSf: BN\n /** The dangerous borrow value at the weighted average liquidation threshold (scaled fraction) */\n unhealthyBorrowValueSf: BN\n /** The asset tier of the deposits */\n depositsAssetTiers: Array<number>\n /** The asset tier of the borrows */\n borrowsAssetTiers: Array<number>\n /** The elevation group id the obligation opted into. */\n elevationGroup: number\n /** The number of deprecated reserves the obligation has a deposit */\n numOfObsoleteReserves: number\n /** Marked = 1 if borrows array is not empty, 0 = borrows empty */\n hasDebt: number\n /** Wallet address of the referrer */\n referrer: PublicKey\n padding3: Array<BN>\n}\n\nexport interface ObligationJSON {\n /** Version of the struct */\n tag: string\n /** Last update to collateral, liquidity, or their market values */\n lastUpdate: types.LastUpdateJSON\n /** Lending market address */\n lendingMarket: string\n /** Owner authority which can borrow liquidity */\n owner: string\n /**\n * TODO: Does this break the stack size when copied onto the stack, if too big?\n * Deposited collateral for the obligation, unique by deposit reserve address\n */\n deposits: Array<types.ObligationCollateralJSON>\n /** Worst LTV for the collaterals backing the loan, represented as a percentage */\n lowestReserveDepositLtv: string\n /** Market value of deposits (scaled fraction) */\n depositedValueSf: string\n /** Borrowed liquidity for the obligation, unique by borrow reserve address */\n borrows: Array<types.ObligationLiquidityJSON>\n /** Risk adjusted market value of borrows/debt (sum of price * borrowed_amount * borrow_factor) (scaled fraction) */\n borrowFactorAdjustedDebtValueSf: string\n /** Market value of borrows - used for max_liquidatable_borrowed_amount (scaled fraction) */\n borrowedAssetsMarketValueSf: string\n /** The maximum borrow value at the weighted average loan to value ratio (scaled fraction) */\n allowedBorrowValueSf: string\n /** The dangerous borrow value at the weighted average liquidation threshold (scaled fraction) */\n unhealthyBorrowValueSf: string\n /** The asset tier of the deposits */\n depositsAssetTiers: Array<number>\n /** The asset tier of the borrows */\n borrowsAssetTiers: Array<number>\n /** The elevation group id the obligation opted into. */\n elevationGroup: number\n /** The number of deprecated reserves the obligation has a deposit */\n numOfObsoleteReserves: number\n /** Marked = 1 if borrows array is not empty, 0 = borrows empty */\n hasDebt: number\n /** Wallet address of the referrer */\n referrer: string\n padding3: Array<string>\n}\n\n/** Lending market obligation state */\nexport class Obligation {\n /** Version of the struct */\n readonly tag: BN\n /** Last update to collateral, liquidity, or their market values */\n readonly lastUpdate: types.LastUpdate\n /** Lending market address */\n readonly lendingMarket: PublicKey\n /** Owner authority which can borrow liquidity */\n readonly owner: PublicKey\n /**\n * TODO: Does this break the stack size when copied onto the stack, if too big?\n * Deposited collateral for the obligation, unique by deposit reserve address\n */\n readonly deposits: Array<types.ObligationCollateral>\n /** Worst LTV for the collaterals backing the loan, represented as a percentage */\n readonly lowestReserveDepositLtv: BN\n /** Market value of deposits (scaled fraction) */\n readonly depositedValueSf: BN\n /** Borrowed liquidity for the obligation, unique by borrow reserve address */\n readonly borrows: Array<types.ObligationLiquidity>\n /** Risk adjusted market value of borrows/debt (sum of price * borrowed_amount * borrow_factor) (scaled fraction) */\n readonly borrowFactorAdjustedDebtValueSf: BN\n /** Market value of borrows - used for max_liquidatable_borrowed_amount (scaled fraction) */\n readonly borrowedAssetsMarketValueSf: BN\n /** The maximum borrow value at the weighted average loan to value ratio (scaled fraction) */\n readonly allowedBorrowValueSf: BN\n /** The dangerous borrow value at the weighted average liquidation threshold (scaled fraction) */\n readonly unhealthyBorrowValueSf: BN\n /** The asset tier of the deposits */\n readonly depositsAssetTiers: Array<number>\n /** The asset tier of the borrows */\n readonly borrowsAssetTiers: Array<number>\n /** The elevation group id the obligation opted into. */\n readonly elevationGroup: number\n /** The number of deprecated reserves the obligation has a deposit */\n readonly numOfObsoleteReserves: number\n /** Marked = 1 if borrows array is not empty, 0 = borrows empty */\n readonly hasDebt: number\n /** Wallet address of the referrer */\n readonly referrer: PublicKey\n readonly padding3: Array<BN>\n\n static readonly discriminator = Buffer.from([\n 168, 206, 141, 106, 88, 76, 172, 167,\n ])\n\n static readonly layout = borsh.struct([\n borsh.u64(\"tag\"),\n types.LastUpdate.layout(\"lastUpdate\"),\n borsh.publicKey(\"lendingMarket\"),\n borsh.publicKey(\"owner\"),\n borsh.array(types.ObligationCollateral.layout(), 8, \"deposits\"),\n borsh.u64(\"lowestReserveDepositLtv\"),\n borsh.u128(\"depositedValueSf\"),\n borsh.array(types.ObligationLiquidity.layout(), 5, \"borrows\"),\n borsh.u128(\"borrowFactorAdjustedDebtValueSf\"),\n borsh.u128(\"borrowedAssetsMarketValueSf\"),\n borsh.u128(\"allowedBorrowValueSf\"),\n borsh.u128(\"unhealthyBorrowValueSf\"),\n borsh.array(borsh.u8(), 8, \"depositsAssetTiers\"),\n borsh.array(borsh.u8(), 5, \"borrowsAssetTiers\"),\n borsh.u8(\"elevationGroup\"),\n borsh.u8(\"numOfObsoleteReserves\"),\n borsh.u8(\"hasDebt\"),\n borsh.publicKey(\"referrer\"),\n borsh.array(borsh.u64(), 128, \"padding3\"),\n ])\n\n constructor(fields: ObligationFields) {\n this.tag = fields.tag\n this.lastUpdate = new types.LastUpdate({ ...fields.lastUpdate })\n this.lendingMarket = fields.lendingMarket\n this.owner = fields.owner\n this.deposits = fields.deposits.map(\n (item) => new types.ObligationCollateral({ ...item })\n )\n this.lowestReserveDepositLtv = fields.lowestReserveDepositLtv\n this.depositedValueSf = fields.depositedValueSf\n this.borrows = fields.borrows.map(\n (item) => new types.ObligationLiquidity({ ...item })\n )\n this.borrowFactorAdjustedDebtValueSf =\n fields.borrowFactorAdjustedDebtValueSf\n this.borrowedAssetsMarketValueSf = fields.borrowedAssetsMarketValueSf\n this.allowedBorrowValueSf = fields.allowedBorrowValueSf\n this.unhealthyBorrowValueSf = fields.unhealthyBorrowValueSf\n this.depositsAssetTiers = fields.depositsAssetTiers\n this.borrowsAssetTiers = fields.borrowsAssetTiers\n this.elevationGroup = fields.elevationGroup\n this.numOfObsoleteReserves = fields.numOfObsoleteReserves\n this.hasDebt = fields.hasDebt\n this.referrer = fields.referrer\n this.padding3 = fields.padding3\n }\n\n static async fetch(\n c: Connection,\n address: PublicKey,\n programId: PublicKey = PROGRAM_ID\n ): Promise<Obligation | null> {\n const info = await c.getAccountInfo(address)\n\n if (info === null) {\n return null\n }\n if (!info.owner.equals(programId)) {\n throw new Error(\"account doesn't belong to this program\")\n }\n\n return this.decode(info.data)\n }\n\n static async fetchMultiple(\n c: Connection,\n addresses: PublicKey[],\n programId: PublicKey = PROGRAM_ID\n ): Promise<Array<Obligation | null>> {\n const infos = await c.getMultipleAccountsInfo(addresses)\n\n return infos.map((info) => {\n if (info === null) {\n return null\n }\n if (!info.owner.equals(programId)) {\n throw new Error(\"account doesn't belong to this program\")\n }\n\n return this.decode(info.data)\n })\n }\n\n static decode(data: Buffer): Obligation {\n if (!data.slice(0, 8).equals(Obligation.discriminator)) {\n throw new Error(\"invalid account discriminator\")\n }\n\n const dec = Obligation.layout.decode(data.slice(8))\n\n return new Obligation({\n tag: dec.tag,\n lastUpdate: types.LastUpdate.fromDecoded(dec.lastUpdate),\n lendingMarket: dec.lendingMarket,\n owner: dec.owner,\n deposits: dec.deposits.map(\n (\n item: any /* eslint-disable-line @typescript-eslint/no-explicit-any */\n ) => types.ObligationCollateral.fromDecoded(item)\n ),\n lowestReserveDepositLtv: dec.lowestReserveDepositLtv,\n depositedValueSf: dec.depositedValueSf,\n borrows: dec.borrows.map(\n (\n item: any /* eslint-disable-line @typescript-eslint/no-explicit-any */\n ) => types.ObligationLiquidity.fromDecoded(item)\n ),\n borrowFactorAdjustedDebtValueSf: dec.borrowFactorAdjustedDebtValueSf,\n borrowedAssetsMarketValueSf: dec.borrowedAssetsMarketValueSf,\n allowedBorrowValueSf: dec.allowedBorrowValueSf,\n unhealthyBorrowValueSf: dec.unhealthyBorrowValueSf,\n depositsAssetTiers: dec.depositsAssetTiers,\n borrowsAssetTiers: dec.borrowsAssetTiers,\n elevationGroup: dec.elevationGroup,\n numOfObsoleteReserves: dec.numOfObsoleteReserves,\n hasDebt: dec.hasDebt,\n referrer: dec.referrer,\n padding3: dec.padding3,\n })\n }\n\n toJSON(): ObligationJSON {\n return {\n tag: this.tag.toString(),\n lastUpdate: this.lastUpdate.toJSON(),\n lendingMarket: this.lendingMarket.toString(),\n owner: this.owner.toString(),\n deposits: this.deposits.map((item) => item.toJSON()),\n lowestReserveDepositLtv: this.lowestReserveDepositLtv.toString(),\n depositedValueSf: this.depositedValueSf.toString(),\n borrows: this.borrows.map((item) => item.toJSON()),\n borrowFactorAdjustedDebtValueSf:\n this.borrowFactorAdjustedDebtValueSf.toString(),\n borrowedAssetsMarketValueSf: this.borrowedAssetsMarketValueSf.toString(),\n allowedBorrowValueSf: this.allowedBorrowValueSf.toString(),\n unhealthyBorrowValueSf: this.unhealthyBorrowValueSf.toString(),\n depositsAssetTiers: this.depositsAssetTiers,\n borrowsAssetTiers: this.borrowsAssetTiers,\n elevationGroup: this.elevationGroup,\n numOfObsoleteReserves: this.numOfObsoleteReserves,\n hasDebt: this.hasDebt,\n referrer: this.referrer.toString(),\n padding3: this.padding3.map((item) => item.toString()),\n }\n }\n\n static fromJSON(obj: ObligationJSON): Obligation {\n return new Obligation({\n tag: new BN(obj.tag),\n lastUpdate: types.LastUpdate.fromJSON(obj.lastUpdate),\n lendingMarket: new PublicKey(obj.lendingMarket),\n owner: new PublicKey(obj.owner),\n deposits: obj.deposits.map((item) =>\n types.ObligationCollateral.fromJSON(item)\n ),\n lowestReserveDepositLtv: new BN(obj.lowestReserveDepositLtv),\n depositedValueSf: new BN(obj.depositedValueSf),\n borrows: obj.borrows.map((item) =>\n types.ObligationLiquidity.fromJSON(item)\n ),\n borrowFactorAdjustedDebtValueSf: new BN(\n obj.borrowFactorAdjustedDebtValueSf\n ),\n borrowedAssetsMarketValueSf: new BN(obj.borrowedAssetsMarketValueSf),\n allowedBorrowValueSf: new BN(obj.allowedBorrowValueSf),\n unhealthyBorrowValueSf: new BN(obj.unhealthyBorrowValueSf),\n depositsAssetTiers: obj.depositsAssetTiers,\n borrowsAssetTiers: obj.borrowsAssetTiers,\n elevationGroup: obj.elevationGroup,\n numOfObsoleteReserves: obj.numOfObsoleteReserves,\n hasDebt: obj.hasDebt,\n referrer: new PublicKey(obj.referrer),\n padding3: obj.padding3.map((item) => new BN(item)),\n })\n }\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { PublicKey, Connection } from "@solana/web3.js";
|
|
3
|
+
export interface ReferrerStateFields {
|
|
4
|
+
shortUrl: PublicKey;
|
|
5
|
+
owner: PublicKey;
|
|
6
|
+
}
|
|
7
|
+
export interface ReferrerStateJSON {
|
|
8
|
+
shortUrl: string;
|
|
9
|
+
owner: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class ReferrerState {
|
|
12
|
+
readonly shortUrl: PublicKey;
|
|
13
|
+
readonly owner: PublicKey;
|
|
14
|
+
static readonly discriminator: Buffer;
|
|
15
|
+
static readonly layout: any;
|
|
16
|
+
constructor(fields: ReferrerStateFields);
|
|
17
|
+
static fetch(c: Connection, address: PublicKey, programId?: PublicKey): Promise<ReferrerState | null>;
|
|
18
|
+
static fetchMultiple(c: Connection, addresses: PublicKey[], programId?: PublicKey): Promise<Array<ReferrerState | null>>;
|
|
19
|
+
static decode(data: Buffer): ReferrerState;
|
|
20
|
+
toJSON(): ReferrerStateJSON;
|
|
21
|
+
static fromJSON(obj: ReferrerStateJSON): ReferrerState;
|
|
22
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.ReferrerState = void 0;
|
|
36
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
37
|
+
const borsh = __importStar(require("@coral-xyz/borsh")); // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
38
|
+
const programId_1 = require("../programId");
|
|
39
|
+
class ReferrerState {
|
|
40
|
+
constructor(fields) {
|
|
41
|
+
this.shortUrl = fields.shortUrl;
|
|
42
|
+
this.owner = fields.owner;
|
|
43
|
+
}
|
|
44
|
+
static fetch(c, address, programId = programId_1.PROGRAM_ID) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
const info = yield c.getAccountInfo(address);
|
|
47
|
+
if (info === null) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
if (!info.owner.equals(programId)) {
|
|
51
|
+
throw new Error("account doesn't belong to this program");
|
|
52
|
+
}
|
|
53
|
+
return this.decode(info.data);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
static fetchMultiple(c, addresses, programId = programId_1.PROGRAM_ID) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
const infos = yield c.getMultipleAccountsInfo(addresses);
|
|
59
|
+
return infos.map((info) => {
|
|
60
|
+
if (info === null) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
if (!info.owner.equals(programId)) {
|
|
64
|
+
throw new Error("account doesn't belong to this program");
|
|
65
|
+
}
|
|
66
|
+
return this.decode(info.data);
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
static decode(data) {
|
|
71
|
+
if (!data.slice(0, 8).equals(ReferrerState.discriminator)) {
|
|
72
|
+
throw new Error("invalid account discriminator");
|
|
73
|
+
}
|
|
74
|
+
const dec = ReferrerState.layout.decode(data.slice(8));
|
|
75
|
+
return new ReferrerState({
|
|
76
|
+
shortUrl: dec.shortUrl,
|
|
77
|
+
owner: dec.owner,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
toJSON() {
|
|
81
|
+
return {
|
|
82
|
+
shortUrl: this.shortUrl.toString(),
|
|
83
|
+
owner: this.owner.toString(),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
static fromJSON(obj) {
|
|
87
|
+
return new ReferrerState({
|
|
88
|
+
shortUrl: new web3_js_1.PublicKey(obj.shortUrl),
|
|
89
|
+
owner: new web3_js_1.PublicKey(obj.owner),
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.ReferrerState = ReferrerState;
|
|
94
|
+
ReferrerState.discriminator = Buffer.from([
|
|
95
|
+
194, 81, 217, 103, 12, 19, 12, 66,
|
|
96
|
+
]);
|
|
97
|
+
ReferrerState.layout = borsh.struct([
|
|
98
|
+
borsh.publicKey("shortUrl"),
|
|
99
|
+
borsh.publicKey("owner"),
|
|
100
|
+
]);
|
|
101
|
+
//# sourceMappingURL=ReferrerState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReferrerState.js","sourceRoot":"","sources":["../../../src/idl_codegen/accounts/ReferrerState.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAuD;AAEvD,wDAAyC,CAAC,wDAAwD;AAElG,4CAAyC;AAYzC,MAAa,aAAa;IAaxB,YAAY,MAA2B;QACrC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;IAC3B,CAAC;IAED,MAAM,CAAO,KAAK,CAChB,CAAa,EACb,OAAkB,EAClB,YAAuB,sBAAU;;YAEjC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;YAE5C,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,OAAO,IAAI,CAAA;aACZ;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;aAC1D;YAED,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;KAAA;IAED,MAAM,CAAO,aAAa,CACxB,CAAa,EACb,SAAsB,EACtB,YAAuB,sBAAU;;YAEjC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAA;YAExD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACxB,IAAI,IAAI,KAAK,IAAI,EAAE;oBACjB,OAAO,IAAI,CAAA;iBACZ;gBACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;oBACjC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;iBAC1D;gBAED,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC/B,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;IAED,MAAM,CAAC,MAAM,CAAC,IAAY;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;YACzD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;SACjD;QAED,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAEtD,OAAO,IAAI,aAAa,CAAC;YACvB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM;QACJ,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAClC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;SAC7B,CAAA;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAsB;QACpC,OAAO,IAAI,aAAa,CAAC;YACvB,QAAQ,EAAE,IAAI,mBAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;YACrC,KAAK,EAAE,IAAI,mBAAS,CAAC,GAAG,CAAC,KAAK,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;;AA/EH,sCAgFC;AA5EiB,2BAAa,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1C,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;CAClC,CAAC,CAAA;AAEc,oBAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACpC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC;IAC3B,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;CACzB,CAAC,CAAA","sourcesContent":["import { PublicKey, Connection } from \"@solana/web3.js\"\nimport BN from \"bn.js\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport * as borsh from \"@coral-xyz/borsh\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport * as types from \"../types\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport { PROGRAM_ID } from \"../programId\"\n\nexport interface ReferrerStateFields {\n shortUrl: PublicKey\n owner: PublicKey\n}\n\nexport interface ReferrerStateJSON {\n shortUrl: string\n owner: string\n}\n\nexport class ReferrerState {\n readonly shortUrl: PublicKey\n readonly owner: PublicKey\n\n static readonly discriminator = Buffer.from([\n 194, 81, 217, 103, 12, 19, 12, 66,\n ])\n\n static readonly layout = borsh.struct([\n borsh.publicKey(\"shortUrl\"),\n borsh.publicKey(\"owner\"),\n ])\n\n constructor(fields: ReferrerStateFields) {\n this.shortUrl = fields.shortUrl\n this.owner = fields.owner\n }\n\n static async fetch(\n c: Connection,\n address: PublicKey,\n programId: PublicKey = PROGRAM_ID\n ): Promise<ReferrerState | null> {\n const info = await c.getAccountInfo(address)\n\n if (info === null) {\n return null\n }\n if (!info.owner.equals(programId)) {\n throw new Error(\"account doesn't belong to this program\")\n }\n\n return this.decode(info.data)\n }\n\n static async fetchMultiple(\n c: Connection,\n addresses: PublicKey[],\n programId: PublicKey = PROGRAM_ID\n ): Promise<Array<ReferrerState | null>> {\n const infos = await c.getMultipleAccountsInfo(addresses)\n\n return infos.map((info) => {\n if (info === null) {\n return null\n }\n if (!info.owner.equals(programId)) {\n throw new Error(\"account doesn't belong to this program\")\n }\n\n return this.decode(info.data)\n })\n }\n\n static decode(data: Buffer): ReferrerState {\n if (!data.slice(0, 8).equals(ReferrerState.discriminator)) {\n throw new Error(\"invalid account discriminator\")\n }\n\n const dec = ReferrerState.layout.decode(data.slice(8))\n\n return new ReferrerState({\n shortUrl: dec.shortUrl,\n owner: dec.owner,\n })\n }\n\n toJSON(): ReferrerStateJSON {\n return {\n shortUrl: this.shortUrl.toString(),\n owner: this.owner.toString(),\n }\n }\n\n static fromJSON(obj: ReferrerStateJSON): ReferrerState {\n return new ReferrerState({\n shortUrl: new PublicKey(obj.shortUrl),\n owner: new PublicKey(obj.owner),\n })\n }\n}\n"]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { PublicKey, Connection } from "@solana/web3.js";
|
|
3
|
+
import BN from "bn.js";
|
|
4
|
+
export interface ReferrerTokenStateFields {
|
|
5
|
+
/** Pubkey of the referrer/owner */
|
|
6
|
+
referrer: PublicKey;
|
|
7
|
+
/** Token mint for the account */
|
|
8
|
+
mint: PublicKey;
|
|
9
|
+
/** Amount that has been accumulated and not claimed yet -> available to claim (scaled fraction) */
|
|
10
|
+
amountUnclaimedSf: BN;
|
|
11
|
+
/** Amount that has been accumulated in total -> both already claimed and unclaimed (scaled fraction) */
|
|
12
|
+
amountCumulativeSf: BN;
|
|
13
|
+
/** Referrer token state bump, used for address validation */
|
|
14
|
+
bump: BN;
|
|
15
|
+
padding: Array<BN>;
|
|
16
|
+
}
|
|
17
|
+
export interface ReferrerTokenStateJSON {
|
|
18
|
+
/** Pubkey of the referrer/owner */
|
|
19
|
+
referrer: string;
|
|
20
|
+
/** Token mint for the account */
|
|
21
|
+
mint: string;
|
|
22
|
+
/** Amount that has been accumulated and not claimed yet -> available to claim (scaled fraction) */
|
|
23
|
+
amountUnclaimedSf: string;
|
|
24
|
+
/** Amount that has been accumulated in total -> both already claimed and unclaimed (scaled fraction) */
|
|
25
|
+
amountCumulativeSf: string;
|
|
26
|
+
/** Referrer token state bump, used for address validation */
|
|
27
|
+
bump: string;
|
|
28
|
+
padding: Array<string>;
|
|
29
|
+
}
|
|
30
|
+
/** Referrer account -> each owner can have multiple accounts for specific reserves */
|
|
31
|
+
export declare class ReferrerTokenState {
|
|
32
|
+
/** Pubkey of the referrer/owner */
|
|
33
|
+
readonly referrer: PublicKey;
|
|
34
|
+
/** Token mint for the account */
|
|
35
|
+
readonly mint: PublicKey;
|
|
36
|
+
/** Amount that has been accumulated and not claimed yet -> available to claim (scaled fraction) */
|
|
37
|
+
readonly amountUnclaimedSf: BN;
|
|
38
|
+
/** Amount that has been accumulated in total -> both already claimed and unclaimed (scaled fraction) */
|
|
39
|
+
readonly amountCumulativeSf: BN;
|
|
40
|
+
/** Referrer token state bump, used for address validation */
|
|
41
|
+
readonly bump: BN;
|
|
42
|
+
readonly padding: Array<BN>;
|
|
43
|
+
static readonly discriminator: Buffer;
|
|
44
|
+
static readonly layout: any;
|
|
45
|
+
constructor(fields: ReferrerTokenStateFields);
|
|
46
|
+
static fetch(c: Connection, address: PublicKey, programId?: PublicKey): Promise<ReferrerTokenState | null>;
|
|
47
|
+
static fetchMultiple(c: Connection, addresses: PublicKey[], programId?: PublicKey): Promise<Array<ReferrerTokenState | null>>;
|
|
48
|
+
static decode(data: Buffer): ReferrerTokenState;
|
|
49
|
+
toJSON(): ReferrerTokenStateJSON;
|
|
50
|
+
static fromJSON(obj: ReferrerTokenStateJSON): ReferrerTokenState;
|
|
51
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.ReferrerTokenState = void 0;
|
|
39
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
40
|
+
const bn_js_1 = __importDefault(require("bn.js")); // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
41
|
+
const borsh = __importStar(require("@coral-xyz/borsh")); // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
42
|
+
const programId_1 = require("../programId");
|
|
43
|
+
/** Referrer account -> each owner can have multiple accounts for specific reserves */
|
|
44
|
+
class ReferrerTokenState {
|
|
45
|
+
constructor(fields) {
|
|
46
|
+
this.referrer = fields.referrer;
|
|
47
|
+
this.mint = fields.mint;
|
|
48
|
+
this.amountUnclaimedSf = fields.amountUnclaimedSf;
|
|
49
|
+
this.amountCumulativeSf = fields.amountCumulativeSf;
|
|
50
|
+
this.bump = fields.bump;
|
|
51
|
+
this.padding = fields.padding;
|
|
52
|
+
}
|
|
53
|
+
static fetch(c, address, programId = programId_1.PROGRAM_ID) {
|
|
54
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
const info = yield c.getAccountInfo(address);
|
|
56
|
+
if (info === null) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
if (!info.owner.equals(programId)) {
|
|
60
|
+
throw new Error("account doesn't belong to this program");
|
|
61
|
+
}
|
|
62
|
+
return this.decode(info.data);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
static fetchMultiple(c, addresses, programId = programId_1.PROGRAM_ID) {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
const infos = yield c.getMultipleAccountsInfo(addresses);
|
|
68
|
+
return infos.map((info) => {
|
|
69
|
+
if (info === null) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
if (!info.owner.equals(programId)) {
|
|
73
|
+
throw new Error("account doesn't belong to this program");
|
|
74
|
+
}
|
|
75
|
+
return this.decode(info.data);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
static decode(data) {
|
|
80
|
+
if (!data.slice(0, 8).equals(ReferrerTokenState.discriminator)) {
|
|
81
|
+
throw new Error("invalid account discriminator");
|
|
82
|
+
}
|
|
83
|
+
const dec = ReferrerTokenState.layout.decode(data.slice(8));
|
|
84
|
+
return new ReferrerTokenState({
|
|
85
|
+
referrer: dec.referrer,
|
|
86
|
+
mint: dec.mint,
|
|
87
|
+
amountUnclaimedSf: dec.amountUnclaimedSf,
|
|
88
|
+
amountCumulativeSf: dec.amountCumulativeSf,
|
|
89
|
+
bump: dec.bump,
|
|
90
|
+
padding: dec.padding,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
toJSON() {
|
|
94
|
+
return {
|
|
95
|
+
referrer: this.referrer.toString(),
|
|
96
|
+
mint: this.mint.toString(),
|
|
97
|
+
amountUnclaimedSf: this.amountUnclaimedSf.toString(),
|
|
98
|
+
amountCumulativeSf: this.amountCumulativeSf.toString(),
|
|
99
|
+
bump: this.bump.toString(),
|
|
100
|
+
padding: this.padding.map((item) => item.toString()),
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
static fromJSON(obj) {
|
|
104
|
+
return new ReferrerTokenState({
|
|
105
|
+
referrer: new web3_js_1.PublicKey(obj.referrer),
|
|
106
|
+
mint: new web3_js_1.PublicKey(obj.mint),
|
|
107
|
+
amountUnclaimedSf: new bn_js_1.default(obj.amountUnclaimedSf),
|
|
108
|
+
amountCumulativeSf: new bn_js_1.default(obj.amountCumulativeSf),
|
|
109
|
+
bump: new bn_js_1.default(obj.bump),
|
|
110
|
+
padding: obj.padding.map((item) => new bn_js_1.default(item)),
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.ReferrerTokenState = ReferrerTokenState;
|
|
115
|
+
ReferrerTokenState.discriminator = Buffer.from([
|
|
116
|
+
39, 15, 208, 77, 32, 195, 105, 56,
|
|
117
|
+
]);
|
|
118
|
+
ReferrerTokenState.layout = borsh.struct([
|
|
119
|
+
borsh.publicKey("referrer"),
|
|
120
|
+
borsh.publicKey("mint"),
|
|
121
|
+
borsh.u128("amountUnclaimedSf"),
|
|
122
|
+
borsh.u128("amountCumulativeSf"),
|
|
123
|
+
borsh.u64("bump"),
|
|
124
|
+
borsh.array(borsh.u64(), 31, "padding"),
|
|
125
|
+
]);
|
|
126
|
+
//# sourceMappingURL=ReferrerTokenState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReferrerTokenState.js","sourceRoot":"","sources":["../../../src/idl_codegen/accounts/ReferrerTokenState.ts"],"names":[],"mappings":"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","sourcesContent":["import { PublicKey, Connection } from \"@solana/web3.js\"\nimport BN from \"bn.js\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport * as borsh from \"@coral-xyz/borsh\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport * as types from \"../types\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport { PROGRAM_ID } from \"../programId\"\n\nexport interface ReferrerTokenStateFields {\n /** Pubkey of the referrer/owner */\n referrer: PublicKey\n /** Token mint for the account */\n mint: PublicKey\n /** Amount that has been accumulated and not claimed yet -> available to claim (scaled fraction) */\n amountUnclaimedSf: BN\n /** Amount that has been accumulated in total -> both already claimed and unclaimed (scaled fraction) */\n amountCumulativeSf: BN\n /** Referrer token state bump, used for address validation */\n bump: BN\n padding: Array<BN>\n}\n\nexport interface ReferrerTokenStateJSON {\n /** Pubkey of the referrer/owner */\n referrer: string\n /** Token mint for the account */\n mint: string\n /** Amount that has been accumulated and not claimed yet -> available to claim (scaled fraction) */\n amountUnclaimedSf: string\n /** Amount that has been accumulated in total -> both already claimed and unclaimed (scaled fraction) */\n amountCumulativeSf: string\n /** Referrer token state bump, used for address validation */\n bump: string\n padding: Array<string>\n}\n\n/** Referrer account -> each owner can have multiple accounts for specific reserves */\nexport class ReferrerTokenState {\n /** Pubkey of the referrer/owner */\n readonly referrer: PublicKey\n /** Token mint for the account */\n readonly mint: PublicKey\n /** Amount that has been accumulated and not claimed yet -> available to claim (scaled fraction) */\n readonly amountUnclaimedSf: BN\n /** Amount that has been accumulated in total -> both already claimed and unclaimed (scaled fraction) */\n readonly amountCumulativeSf: BN\n /** Referrer token state bump, used for address validation */\n readonly bump: BN\n readonly padding: Array<BN>\n\n static readonly discriminator = Buffer.from([\n 39, 15, 208, 77, 32, 195, 105, 56,\n ])\n\n static readonly layout = borsh.struct([\n borsh.publicKey(\"referrer\"),\n borsh.publicKey(\"mint\"),\n borsh.u128(\"amountUnclaimedSf\"),\n borsh.u128(\"amountCumulativeSf\"),\n borsh.u64(\"bump\"),\n borsh.array(borsh.u64(), 31, \"padding\"),\n ])\n\n constructor(fields: ReferrerTokenStateFields) {\n this.referrer = fields.referrer\n this.mint = fields.mint\n this.amountUnclaimedSf = fields.amountUnclaimedSf\n this.amountCumulativeSf = fields.amountCumulativeSf\n this.bump = fields.bump\n this.padding = fields.padding\n }\n\n static async fetch(\n c: Connection,\n address: PublicKey,\n programId: PublicKey = PROGRAM_ID\n ): Promise<ReferrerTokenState | null> {\n const info = await c.getAccountInfo(address)\n\n if (info === null) {\n return null\n }\n if (!info.owner.equals(programId)) {\n throw new Error(\"account doesn't belong to this program\")\n }\n\n return this.decode(info.data)\n }\n\n static async fetchMultiple(\n c: Connection,\n addresses: PublicKey[],\n programId: PublicKey = PROGRAM_ID\n ): Promise<Array<ReferrerTokenState | null>> {\n const infos = await c.getMultipleAccountsInfo(addresses)\n\n return infos.map((info) => {\n if (info === null) {\n return null\n }\n if (!info.owner.equals(programId)) {\n throw new Error(\"account doesn't belong to this program\")\n }\n\n return this.decode(info.data)\n })\n }\n\n static decode(data: Buffer): ReferrerTokenState {\n if (!data.slice(0, 8).equals(ReferrerTokenState.discriminator)) {\n throw new Error(\"invalid account discriminator\")\n }\n\n const dec = ReferrerTokenState.layout.decode(data.slice(8))\n\n return new ReferrerTokenState({\n referrer: dec.referrer,\n mint: dec.mint,\n amountUnclaimedSf: dec.amountUnclaimedSf,\n amountCumulativeSf: dec.amountCumulativeSf,\n bump: dec.bump,\n padding: dec.padding,\n })\n }\n\n toJSON(): ReferrerTokenStateJSON {\n return {\n referrer: this.referrer.toString(),\n mint: this.mint.toString(),\n amountUnclaimedSf: this.amountUnclaimedSf.toString(),\n amountCumulativeSf: this.amountCumulativeSf.toString(),\n bump: this.bump.toString(),\n padding: this.padding.map((item) => item.toString()),\n }\n }\n\n static fromJSON(obj: ReferrerTokenStateJSON): ReferrerTokenState {\n return new ReferrerTokenState({\n referrer: new PublicKey(obj.referrer),\n mint: new PublicKey(obj.mint),\n amountUnclaimedSf: new BN(obj.amountUnclaimedSf),\n amountCumulativeSf: new BN(obj.amountCumulativeSf),\n bump: new BN(obj.bump),\n padding: obj.padding.map((item) => new BN(item)),\n })\n }\n}\n"]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { PublicKey, Connection } from "@solana/web3.js";
|
|
3
|
+
import BN from "bn.js";
|
|
4
|
+
import * as types from "../types";
|
|
5
|
+
export interface ReserveFields {
|
|
6
|
+
/** Version of the reserve */
|
|
7
|
+
version: BN;
|
|
8
|
+
/** Last slot when supply and rates updated */
|
|
9
|
+
lastUpdate: types.LastUpdateFields;
|
|
10
|
+
/** Lending market address */
|
|
11
|
+
lendingMarket: PublicKey;
|
|
12
|
+
farmCollateral: PublicKey;
|
|
13
|
+
farmDebt: PublicKey;
|
|
14
|
+
/** Reserve liquidity */
|
|
15
|
+
liquidity: types.ReserveLiquidityFields;
|
|
16
|
+
reserveLiquidityPadding: Array<BN>;
|
|
17
|
+
/** Reserve collateral */
|
|
18
|
+
collateral: types.ReserveCollateralFields;
|
|
19
|
+
reserveCollateralPadding: Array<BN>;
|
|
20
|
+
/** Reserve configuration values */
|
|
21
|
+
config: types.ReserveConfigFields;
|
|
22
|
+
configPadding: Array<BN>;
|
|
23
|
+
padding: Array<BN>;
|
|
24
|
+
}
|
|
25
|
+
export interface ReserveJSON {
|
|
26
|
+
/** Version of the reserve */
|
|
27
|
+
version: string;
|
|
28
|
+
/** Last slot when supply and rates updated */
|
|
29
|
+
lastUpdate: types.LastUpdateJSON;
|
|
30
|
+
/** Lending market address */
|
|
31
|
+
lendingMarket: string;
|
|
32
|
+
farmCollateral: string;
|
|
33
|
+
farmDebt: string;
|
|
34
|
+
/** Reserve liquidity */
|
|
35
|
+
liquidity: types.ReserveLiquidityJSON;
|
|
36
|
+
reserveLiquidityPadding: Array<string>;
|
|
37
|
+
/** Reserve collateral */
|
|
38
|
+
collateral: types.ReserveCollateralJSON;
|
|
39
|
+
reserveCollateralPadding: Array<string>;
|
|
40
|
+
/** Reserve configuration values */
|
|
41
|
+
config: types.ReserveConfigJSON;
|
|
42
|
+
configPadding: Array<string>;
|
|
43
|
+
padding: Array<string>;
|
|
44
|
+
}
|
|
45
|
+
export declare class Reserve {
|
|
46
|
+
/** Version of the reserve */
|
|
47
|
+
readonly version: BN;
|
|
48
|
+
/** Last slot when supply and rates updated */
|
|
49
|
+
readonly lastUpdate: types.LastUpdate;
|
|
50
|
+
/** Lending market address */
|
|
51
|
+
readonly lendingMarket: PublicKey;
|
|
52
|
+
readonly farmCollateral: PublicKey;
|
|
53
|
+
readonly farmDebt: PublicKey;
|
|
54
|
+
/** Reserve liquidity */
|
|
55
|
+
readonly liquidity: types.ReserveLiquidity;
|
|
56
|
+
readonly reserveLiquidityPadding: Array<BN>;
|
|
57
|
+
/** Reserve collateral */
|
|
58
|
+
readonly collateral: types.ReserveCollateral;
|
|
59
|
+
readonly reserveCollateralPadding: Array<BN>;
|
|
60
|
+
/** Reserve configuration values */
|
|
61
|
+
readonly config: types.ReserveConfig;
|
|
62
|
+
readonly configPadding: Array<BN>;
|
|
63
|
+
readonly padding: Array<BN>;
|
|
64
|
+
static readonly discriminator: Buffer;
|
|
65
|
+
static readonly layout: any;
|
|
66
|
+
constructor(fields: ReserveFields);
|
|
67
|
+
static fetch(c: Connection, address: PublicKey, programId?: PublicKey): Promise<Reserve | null>;
|
|
68
|
+
static fetchMultiple(c: Connection, addresses: PublicKey[], programId?: PublicKey): Promise<Array<Reserve | null>>;
|
|
69
|
+
static decode(data: Buffer): Reserve;
|
|
70
|
+
toJSON(): ReserveJSON;
|
|
71
|
+
static fromJSON(obj: ReserveJSON): Reserve;
|
|
72
|
+
}
|