@kamino-finance/klend-sdk 3.2.26 → 4.0.0
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/dist/classes/action.d.ts +1 -0
- package/dist/classes/action.d.ts.map +1 -0
- package/dist/classes/action.js +1130 -1186
- package/dist/classes/action.js.map +1 -1
- package/dist/classes/curve.d.ts +1 -0
- package/dist/classes/curve.d.ts.map +1 -0
- package/dist/classes/curve.js +1 -1
- package/dist/classes/curve.js.map +1 -1
- package/dist/classes/fraction.d.ts +1 -0
- package/dist/classes/fraction.d.ts.map +1 -0
- package/dist/classes/fraction.js +7 -6
- package/dist/classes/fraction.js.map +1 -1
- package/dist/classes/index.d.ts +1 -0
- package/dist/classes/index.d.ts.map +1 -0
- package/dist/classes/index.js.map +1 -1
- package/dist/classes/jupiterPerps.d.ts +1 -0
- package/dist/classes/jupiterPerps.d.ts.map +1 -0
- package/dist/classes/jupiterPerps.js +7 -18
- package/dist/classes/jupiterPerps.js.map +1 -1
- package/dist/classes/manager.d.ts +1 -0
- package/dist/classes/manager.d.ts.map +1 -0
- package/dist/classes/manager.js +131 -158
- package/dist/classes/manager.js.map +1 -1
- package/dist/classes/market.d.ts +1 -0
- package/dist/classes/market.d.ts.map +1 -0
- package/dist/classes/market.js +620 -714
- package/dist/classes/market.js.map +1 -1
- package/dist/classes/obligation.d.ts +1 -0
- package/dist/classes/obligation.d.ts.map +1 -0
- package/dist/classes/obligation.js +60 -62
- package/dist/classes/obligation.js.map +1 -1
- package/dist/classes/reserve.d.ts +1 -0
- package/dist/classes/reserve.d.ts.map +1 -0
- package/dist/classes/reserve.js +120 -129
- package/dist/classes/reserve.js.map +1 -1
- package/dist/classes/shared.d.ts +1 -0
- package/dist/classes/shared.d.ts.map +1 -0
- package/dist/classes/shared.js.map +1 -1
- package/dist/classes/utils.d.ts +1 -0
- package/dist/classes/utils.d.ts.map +1 -0
- package/dist/classes/utils.js +3 -3
- package/dist/classes/utils.js.map +1 -1
- package/dist/classes/vault.d.ts +1 -0
- package/dist/classes/vault.d.ts.map +1 -0
- package/dist/classes/vault.js +334 -354
- package/dist/classes/vault.js.map +1 -1
- package/dist/client_kamino_manager.d.ts +1 -0
- package/dist/client_kamino_manager.d.ts.map +1 -0
- package/dist/client_kamino_manager.js +323 -326
- package/dist/client_kamino_manager.js.map +1 -1
- package/dist/idl_codegen/accounts/LendingMarket.d.ts +1 -0
- package/dist/idl_codegen/accounts/LendingMarket.d.ts.map +1 -0
- package/dist/idl_codegen/accounts/LendingMarket.js +89 -55
- package/dist/idl_codegen/accounts/LendingMarket.js.map +1 -1
- package/dist/idl_codegen/accounts/Obligation.d.ts +1 -0
- package/dist/idl_codegen/accounts/Obligation.d.ts.map +1 -0
- package/dist/idl_codegen/accounts/Obligation.js +87 -56
- package/dist/idl_codegen/accounts/Obligation.js.map +1 -1
- package/dist/idl_codegen/accounts/ReferrerState.d.ts +1 -0
- package/dist/idl_codegen/accounts/ReferrerState.d.ts.map +1 -0
- package/dist/idl_codegen/accounts/ReferrerState.js +22 -33
- package/dist/idl_codegen/accounts/ReferrerState.js.map +1 -1
- package/dist/idl_codegen/accounts/ReferrerTokenState.d.ts +1 -0
- package/dist/idl_codegen/accounts/ReferrerTokenState.d.ts.map +1 -0
- package/dist/idl_codegen/accounts/ReferrerTokenState.js +35 -37
- package/dist/idl_codegen/accounts/ReferrerTokenState.js.map +1 -1
- package/dist/idl_codegen/accounts/Reserve.d.ts +1 -0
- package/dist/idl_codegen/accounts/Reserve.d.ts.map +1 -0
- package/dist/idl_codegen/accounts/Reserve.js +60 -49
- package/dist/idl_codegen/accounts/Reserve.js.map +1 -1
- package/dist/idl_codegen/accounts/ShortUrl.d.ts +1 -0
- package/dist/idl_codegen/accounts/ShortUrl.d.ts.map +1 -0
- package/dist/idl_codegen/accounts/ShortUrl.js +22 -33
- package/dist/idl_codegen/accounts/ShortUrl.js.map +1 -1
- package/dist/idl_codegen/accounts/UserMetadata.d.ts +1 -0
- package/dist/idl_codegen/accounts/UserMetadata.d.ts.map +1 -0
- package/dist/idl_codegen/accounts/UserMetadata.js +34 -37
- package/dist/idl_codegen/accounts/UserMetadata.js.map +1 -1
- package/dist/idl_codegen/accounts/UserState.d.ts +1 -0
- package/dist/idl_codegen/accounts/UserState.d.ts.map +1 -0
- package/dist/idl_codegen/accounts/UserState.js +77 -48
- package/dist/idl_codegen/accounts/UserState.js.map +1 -1
- package/dist/idl_codegen/accounts/index.d.ts +1 -0
- package/dist/idl_codegen/accounts/index.d.ts.map +1 -0
- package/dist/idl_codegen/accounts/index.js.map +1 -1
- package/dist/idl_codegen/errors/anchor.d.ts +1 -0
- package/dist/idl_codegen/errors/anchor.d.ts.map +1 -0
- package/dist/idl_codegen/errors/anchor.js +270 -216
- package/dist/idl_codegen/errors/anchor.js.map +1 -1
- package/dist/idl_codegen/errors/custom.d.ts +1 -0
- package/dist/idl_codegen/errors/custom.d.ts.map +1 -0
- package/dist/idl_codegen/errors/custom.js +560 -448
- package/dist/idl_codegen/errors/custom.js.map +1 -1
- package/dist/idl_codegen/errors/index.d.ts +1 -0
- package/dist/idl_codegen/errors/index.d.ts.map +1 -0
- package/dist/idl_codegen/errors/index.js.map +1 -1
- package/dist/idl_codegen/instructions/borrowObligationLiquidity.d.ts +1 -0
- package/dist/idl_codegen/instructions/borrowObligationLiquidity.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/borrowObligationLiquidity.js.map +1 -1
- package/dist/idl_codegen/instructions/deleteReferrerStateAndShortUrl.d.ts +1 -0
- package/dist/idl_codegen/instructions/deleteReferrerStateAndShortUrl.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/deleteReferrerStateAndShortUrl.js.map +1 -1
- package/dist/idl_codegen/instructions/depositObligationCollateral.d.ts +1 -0
- package/dist/idl_codegen/instructions/depositObligationCollateral.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/depositObligationCollateral.js.map +1 -1
- package/dist/idl_codegen/instructions/depositReserveLiquidity.d.ts +1 -0
- package/dist/idl_codegen/instructions/depositReserveLiquidity.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/depositReserveLiquidity.js.map +1 -1
- package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.d.ts +1 -0
- package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.js.map +1 -1
- package/dist/idl_codegen/instructions/flashBorrowReserveLiquidity.d.ts +1 -0
- package/dist/idl_codegen/instructions/flashBorrowReserveLiquidity.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/flashBorrowReserveLiquidity.js.map +1 -1
- package/dist/idl_codegen/instructions/flashRepayReserveLiquidity.d.ts +1 -0
- package/dist/idl_codegen/instructions/flashRepayReserveLiquidity.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/flashRepayReserveLiquidity.js.map +1 -1
- package/dist/idl_codegen/instructions/idlMissingTypes.d.ts +1 -0
- package/dist/idl_codegen/instructions/idlMissingTypes.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/idlMissingTypes.js.map +1 -1
- package/dist/idl_codegen/instructions/index.d.ts +1 -0
- package/dist/idl_codegen/instructions/index.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/index.js.map +1 -1
- package/dist/idl_codegen/instructions/initFarmsForReserve.d.ts +1 -0
- package/dist/idl_codegen/instructions/initFarmsForReserve.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/initFarmsForReserve.js.map +1 -1
- package/dist/idl_codegen/instructions/initLendingMarket.d.ts +1 -0
- package/dist/idl_codegen/instructions/initLendingMarket.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/initLendingMarket.js.map +1 -1
- package/dist/idl_codegen/instructions/initObligation.d.ts +1 -0
- package/dist/idl_codegen/instructions/initObligation.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/initObligation.js.map +1 -1
- package/dist/idl_codegen/instructions/initObligationFarmsForReserve.d.ts +1 -0
- package/dist/idl_codegen/instructions/initObligationFarmsForReserve.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/initObligationFarmsForReserve.js.map +1 -1
- package/dist/idl_codegen/instructions/initReferrerStateAndShortUrl.d.ts +1 -0
- package/dist/idl_codegen/instructions/initReferrerStateAndShortUrl.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/initReferrerStateAndShortUrl.js.map +1 -1
- package/dist/idl_codegen/instructions/initReferrerTokenState.d.ts +1 -0
- package/dist/idl_codegen/instructions/initReferrerTokenState.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/initReferrerTokenState.js.map +1 -1
- package/dist/idl_codegen/instructions/initReserve.d.ts +1 -0
- package/dist/idl_codegen/instructions/initReserve.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/initReserve.js.map +1 -1
- package/dist/idl_codegen/instructions/initUserMetadata.d.ts +1 -0
- package/dist/idl_codegen/instructions/initUserMetadata.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/initUserMetadata.js.map +1 -1
- package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.d.ts +1 -0
- package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.js.map +1 -1
- package/dist/idl_codegen/instructions/redeemFees.d.ts +1 -0
- package/dist/idl_codegen/instructions/redeemFees.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/redeemFees.js.map +1 -1
- package/dist/idl_codegen/instructions/redeemReserveCollateral.d.ts +1 -0
- package/dist/idl_codegen/instructions/redeemReserveCollateral.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/redeemReserveCollateral.js.map +1 -1
- package/dist/idl_codegen/instructions/refreshObligation.d.ts +1 -0
- package/dist/idl_codegen/instructions/refreshObligation.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/refreshObligation.js.map +1 -1
- package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.d.ts +1 -0
- package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.js.map +1 -1
- package/dist/idl_codegen/instructions/refreshReserve.d.ts +1 -0
- package/dist/idl_codegen/instructions/refreshReserve.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/refreshReserve.js.map +1 -1
- package/dist/idl_codegen/instructions/refreshReservesBatch.d.ts +1 -0
- package/dist/idl_codegen/instructions/refreshReservesBatch.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/refreshReservesBatch.js.map +1 -1
- package/dist/idl_codegen/instructions/repayObligationLiquidity.d.ts +1 -0
- package/dist/idl_codegen/instructions/repayObligationLiquidity.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/repayObligationLiquidity.js.map +1 -1
- package/dist/idl_codegen/instructions/requestElevationGroup.d.ts +1 -0
- package/dist/idl_codegen/instructions/requestElevationGroup.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/requestElevationGroup.js.map +1 -1
- package/dist/idl_codegen/instructions/socializeLoss.d.ts +1 -0
- package/dist/idl_codegen/instructions/socializeLoss.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/socializeLoss.js.map +1 -1
- package/dist/idl_codegen/instructions/updateEntireReserveConfig.d.ts +1 -0
- package/dist/idl_codegen/instructions/updateEntireReserveConfig.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/updateEntireReserveConfig.js.map +1 -1
- package/dist/idl_codegen/instructions/updateLendingMarket.d.ts +1 -0
- package/dist/idl_codegen/instructions/updateLendingMarket.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/updateLendingMarket.js.map +1 -1
- package/dist/idl_codegen/instructions/updateLendingMarketOwner.d.ts +1 -0
- package/dist/idl_codegen/instructions/updateLendingMarketOwner.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/updateLendingMarketOwner.js.map +1 -1
- package/dist/idl_codegen/instructions/updateReserveConfig.d.ts +1 -0
- package/dist/idl_codegen/instructions/updateReserveConfig.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/updateReserveConfig.js.map +1 -1
- package/dist/idl_codegen/instructions/updateSingleReserveConfig.d.ts +1 -0
- package/dist/idl_codegen/instructions/updateSingleReserveConfig.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/updateSingleReserveConfig.js.map +1 -1
- package/dist/idl_codegen/instructions/withdrawObligationCollateral.d.ts +1 -0
- package/dist/idl_codegen/instructions/withdrawObligationCollateral.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/withdrawObligationCollateral.js.map +1 -1
- package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.d.ts +1 -0
- package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js.map +1 -1
- package/dist/idl_codegen/instructions/withdrawProtocolFee.d.ts +1 -0
- package/dist/idl_codegen/instructions/withdrawProtocolFee.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/withdrawProtocolFee.js.map +1 -1
- package/dist/idl_codegen/instructions/withdrawReferrerFees.d.ts +1 -0
- package/dist/idl_codegen/instructions/withdrawReferrerFees.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/withdrawReferrerFees.js.map +1 -1
- package/dist/idl_codegen/programId.d.ts +1 -0
- package/dist/idl_codegen/programId.d.ts.map +1 -0
- package/dist/idl_codegen/programId.js.map +1 -1
- package/dist/idl_codegen/types/AssetTier.d.ts +1 -0
- package/dist/idl_codegen/types/AssetTier.d.ts.map +1 -0
- package/dist/idl_codegen/types/AssetTier.js +12 -18
- package/dist/idl_codegen/types/AssetTier.js.map +1 -1
- package/dist/idl_codegen/types/BigFractionBytes.d.ts +1 -0
- package/dist/idl_codegen/types/BigFractionBytes.d.ts.map +1 -0
- package/dist/idl_codegen/types/BigFractionBytes.js +2 -0
- package/dist/idl_codegen/types/BigFractionBytes.js.map +1 -1
- package/dist/idl_codegen/types/BorrowRateCurve.d.ts +1 -0
- package/dist/idl_codegen/types/BorrowRateCurve.d.ts.map +1 -0
- package/dist/idl_codegen/types/BorrowRateCurve.js +2 -1
- package/dist/idl_codegen/types/BorrowRateCurve.js.map +1 -1
- package/dist/idl_codegen/types/CurvePoint.d.ts +1 -0
- package/dist/idl_codegen/types/CurvePoint.d.ts.map +1 -0
- package/dist/idl_codegen/types/CurvePoint.js +2 -0
- package/dist/idl_codegen/types/CurvePoint.js.map +1 -1
- package/dist/idl_codegen/types/ElevationGroup.d.ts +1 -0
- package/dist/idl_codegen/types/ElevationGroup.d.ts.map +1 -0
- package/dist/idl_codegen/types/ElevationGroup.js +10 -0
- package/dist/idl_codegen/types/ElevationGroup.js.map +1 -1
- package/dist/idl_codegen/types/FeeCalculation.d.ts +1 -0
- package/dist/idl_codegen/types/FeeCalculation.d.ts.map +1 -0
- package/dist/idl_codegen/types/FeeCalculation.js +8 -12
- package/dist/idl_codegen/types/FeeCalculation.js.map +1 -1
- package/dist/idl_codegen/types/InitObligationArgs.d.ts +1 -0
- package/dist/idl_codegen/types/InitObligationArgs.d.ts.map +1 -0
- package/dist/idl_codegen/types/InitObligationArgs.js +2 -0
- package/dist/idl_codegen/types/InitObligationArgs.js.map +1 -1
- package/dist/idl_codegen/types/LastUpdate.d.ts +1 -0
- package/dist/idl_codegen/types/LastUpdate.d.ts.map +1 -0
- package/dist/idl_codegen/types/LastUpdate.js +7 -0
- package/dist/idl_codegen/types/LastUpdate.js.map +1 -1
- package/dist/idl_codegen/types/ObligationCollateral.d.ts +1 -0
- package/dist/idl_codegen/types/ObligationCollateral.d.ts.map +1 -0
- package/dist/idl_codegen/types/ObligationCollateral.js +14 -0
- package/dist/idl_codegen/types/ObligationCollateral.js.map +1 -1
- package/dist/idl_codegen/types/ObligationLiquidity.d.ts +1 -0
- package/dist/idl_codegen/types/ObligationLiquidity.d.ts.map +1 -0
- package/dist/idl_codegen/types/ObligationLiquidity.js +17 -1
- package/dist/idl_codegen/types/ObligationLiquidity.js.map +1 -1
- package/dist/idl_codegen/types/PriceHeuristic.d.ts +1 -0
- package/dist/idl_codegen/types/PriceHeuristic.d.ts.map +1 -0
- package/dist/idl_codegen/types/PriceHeuristic.js +6 -0
- package/dist/idl_codegen/types/PriceHeuristic.js.map +1 -1
- package/dist/idl_codegen/types/PythConfiguration.d.ts +1 -0
- package/dist/idl_codegen/types/PythConfiguration.d.ts.map +1 -0
- package/dist/idl_codegen/types/PythConfiguration.js +2 -0
- package/dist/idl_codegen/types/PythConfiguration.js.map +1 -1
- package/dist/idl_codegen/types/ReserveCollateral.d.ts +1 -0
- package/dist/idl_codegen/types/ReserveCollateral.d.ts.map +1 -0
- package/dist/idl_codegen/types/ReserveCollateral.js +8 -0
- package/dist/idl_codegen/types/ReserveCollateral.js.map +1 -1
- package/dist/idl_codegen/types/ReserveConfig.d.ts +1 -0
- package/dist/idl_codegen/types/ReserveConfig.d.ts.map +1 -0
- package/dist/idl_codegen/types/ReserveConfig.js +78 -5
- package/dist/idl_codegen/types/ReserveConfig.js.map +1 -1
- package/dist/idl_codegen/types/ReserveFarmKind.d.ts +1 -0
- package/dist/idl_codegen/types/ReserveFarmKind.d.ts.map +1 -0
- package/dist/idl_codegen/types/ReserveFarmKind.js +8 -12
- package/dist/idl_codegen/types/ReserveFarmKind.js.map +1 -1
- package/dist/idl_codegen/types/ReserveFees.d.ts +1 -0
- package/dist/idl_codegen/types/ReserveFees.d.ts.map +1 -0
- package/dist/idl_codegen/types/ReserveFees.js +16 -0
- package/dist/idl_codegen/types/ReserveFees.js.map +1 -1
- package/dist/idl_codegen/types/ReserveLiquidity.d.ts +1 -0
- package/dist/idl_codegen/types/ReserveLiquidity.d.ts.map +1 -0
- package/dist/idl_codegen/types/ReserveLiquidity.js +43 -1
- package/dist/idl_codegen/types/ReserveLiquidity.js.map +1 -1
- package/dist/idl_codegen/types/ReserveStatus.d.ts +1 -0
- package/dist/idl_codegen/types/ReserveStatus.d.ts.map +1 -0
- package/dist/idl_codegen/types/ReserveStatus.js +12 -18
- package/dist/idl_codegen/types/ReserveStatus.js.map +1 -1
- package/dist/idl_codegen/types/ScopeConfiguration.d.ts +1 -0
- package/dist/idl_codegen/types/ScopeConfiguration.d.ts.map +1 -0
- package/dist/idl_codegen/types/ScopeConfiguration.js +6 -0
- package/dist/idl_codegen/types/ScopeConfiguration.js.map +1 -1
- package/dist/idl_codegen/types/SwitchboardConfiguration.d.ts +1 -0
- package/dist/idl_codegen/types/SwitchboardConfiguration.d.ts.map +1 -0
- package/dist/idl_codegen/types/SwitchboardConfiguration.js +3 -0
- package/dist/idl_codegen/types/SwitchboardConfiguration.js.map +1 -1
- package/dist/idl_codegen/types/TokenInfo.d.ts +1 -0
- package/dist/idl_codegen/types/TokenInfo.d.ts.map +1 -0
- package/dist/idl_codegen/types/TokenInfo.js +27 -4
- package/dist/idl_codegen/types/TokenInfo.js.map +1 -1
- package/dist/idl_codegen/types/UpdateConfigMode.d.ts +1 -0
- package/dist/idl_codegen/types/UpdateConfigMode.d.ts.map +1 -0
- package/dist/idl_codegen/types/UpdateConfigMode.js +188 -282
- package/dist/idl_codegen/types/UpdateConfigMode.js.map +1 -1
- package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.d.ts +1 -0
- package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.d.ts.map +1 -0
- package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.js +41 -33
- package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.js.map +1 -1
- package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts +1 -0
- package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts.map +1 -0
- package/dist/idl_codegen/types/UpdateLendingMarketMode.js +72 -108
- package/dist/idl_codegen/types/UpdateLendingMarketMode.js.map +1 -1
- package/dist/idl_codegen/types/WithdrawalCaps.d.ts +1 -0
- package/dist/idl_codegen/types/WithdrawalCaps.d.ts.map +1 -0
- package/dist/idl_codegen/types/WithdrawalCaps.js +4 -0
- package/dist/idl_codegen/types/WithdrawalCaps.js.map +1 -1
- package/dist/idl_codegen/types/index.d.ts +1 -0
- package/dist/idl_codegen/types/index.d.ts.map +1 -0
- package/dist/idl_codegen/types/index.js.map +1 -1
- package/dist/idl_codegen/zero_padding/ObligationZP.d.ts +1 -0
- package/dist/idl_codegen/zero_padding/ObligationZP.d.ts.map +1 -0
- package/dist/idl_codegen/zero_padding/ObligationZP.js +83 -54
- package/dist/idl_codegen/zero_padding/ObligationZP.js.map +1 -1
- package/dist/idl_codegen/zero_padding/index.d.ts +1 -0
- package/dist/idl_codegen/zero_padding/index.d.ts.map +1 -0
- package/dist/idl_codegen/zero_padding/index.js.map +1 -1
- package/dist/idl_codegen_jupiter_perps/accounts/Pool.d.ts +1 -0
- package/dist/idl_codegen_jupiter_perps/accounts/Pool.d.ts.map +1 -0
- package/dist/idl_codegen_jupiter_perps/accounts/Pool.js +39 -42
- package/dist/idl_codegen_jupiter_perps/accounts/Pool.js.map +1 -1
- package/dist/idl_codegen_jupiter_perps/accounts/index.d.ts +1 -0
- package/dist/idl_codegen_jupiter_perps/accounts/index.d.ts.map +1 -0
- package/dist/idl_codegen_jupiter_perps/accounts/index.js.map +1 -1
- package/dist/idl_codegen_jupiter_perps/programId.d.ts +1 -0
- package/dist/idl_codegen_jupiter_perps/programId.d.ts.map +1 -0
- package/dist/idl_codegen_jupiter_perps/programId.js.map +1 -1
- package/dist/idl_codegen_jupiter_perps/types/Fees.d.ts +1 -0
- package/dist/idl_codegen_jupiter_perps/types/Fees.d.ts.map +1 -0
- package/dist/idl_codegen_jupiter_perps/types/Fees.js +9 -0
- package/dist/idl_codegen_jupiter_perps/types/Fees.js.map +1 -1
- package/dist/idl_codegen_jupiter_perps/types/Limit.d.ts +1 -0
- package/dist/idl_codegen_jupiter_perps/types/Limit.d.ts.map +1 -0
- package/dist/idl_codegen_jupiter_perps/types/Limit.js +3 -0
- package/dist/idl_codegen_jupiter_perps/types/Limit.js.map +1 -1
- package/dist/idl_codegen_jupiter_perps/types/PoolApr.d.ts +1 -0
- package/dist/idl_codegen_jupiter_perps/types/PoolApr.d.ts.map +1 -0
- package/dist/idl_codegen_jupiter_perps/types/PoolApr.js +3 -0
- package/dist/idl_codegen_jupiter_perps/types/PoolApr.js.map +1 -1
- package/dist/idl_codegen_jupiter_perps/types/index.d.ts +1 -0
- package/dist/idl_codegen_jupiter_perps/types/index.d.ts.map +1 -0
- package/dist/idl_codegen_jupiter_perps/types/index.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/Reserve.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/accounts/Reserve.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/accounts/Reserve.js +58 -47
- package/dist/idl_codegen_kamino_vault/accounts/Reserve.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.js +51 -47
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/index.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/accounts/index.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/accounts/index.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/errors/anchor.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/errors/anchor.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/errors/anchor.js +270 -216
- package/dist/idl_codegen_kamino_vault/errors/anchor.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/errors/custom.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/errors/custom.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/errors/custom.js +120 -96
- package/dist/idl_codegen_kamino_vault/errors/custom.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/errors/index.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/errors/index.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/errors/index.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/deposit.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/index.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/index.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/index.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/initVault.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/invest.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/withdraw.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/programId.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/programId.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/programId.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.js +2 -0
- package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.js +2 -1
- package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/CurvePoint.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/types/CurvePoint.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/CurvePoint.js +2 -0
- package/dist/idl_codegen_kamino_vault/types/CurvePoint.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/LastUpdate.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/types/LastUpdate.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/LastUpdate.js +7 -0
- package/dist/idl_codegen_kamino_vault/types/LastUpdate.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.js +6 -0
- package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/PythConfiguration.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/types/PythConfiguration.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/PythConfiguration.js +2 -0
- package/dist/idl_codegen_kamino_vault/types/PythConfiguration.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.js +8 -0
- package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js +77 -5
- package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveFees.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/types/ReserveFees.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/ReserveFees.js +16 -0
- package/dist/idl_codegen_kamino_vault/types/ReserveFees.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js +41 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.js +6 -0
- package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.js +3 -0
- package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/TokenInfo.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/types/TokenInfo.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/TokenInfo.js +27 -4
- package/dist/idl_codegen_kamino_vault/types/TokenInfo.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/VaultAllocation.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/types/VaultAllocation.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/VaultAllocation.js +8 -0
- package/dist/idl_codegen_kamino_vault/types/VaultAllocation.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.js +4 -0
- package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/index.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/types/index.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lending_operations/index.d.ts +1 -0
- package/dist/lending_operations/index.d.ts.map +1 -0
- package/dist/lending_operations/index.js.map +1 -1
- package/dist/lending_operations/repay_with_collateral_calcs.d.ts +1 -0
- package/dist/lending_operations/repay_with_collateral_calcs.d.ts.map +1 -0
- package/dist/lending_operations/repay_with_collateral_calcs.js +1 -1
- package/dist/lending_operations/repay_with_collateral_calcs.js.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.d.ts +1 -0
- package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -0
- package/dist/lending_operations/repay_with_collateral_operations.js +15 -24
- package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
- package/dist/leverage/calcs.d.ts +1 -0
- package/dist/leverage/calcs.d.ts.map +1 -0
- package/dist/leverage/calcs.js +119 -132
- package/dist/leverage/calcs.js.map +1 -1
- package/dist/leverage/index.d.ts +1 -0
- package/dist/leverage/index.d.ts.map +1 -0
- package/dist/leverage/index.js.map +1 -1
- package/dist/leverage/instructions.d.ts +1 -0
- package/dist/leverage/instructions.d.ts.map +1 -0
- package/dist/leverage/instructions.js.map +1 -1
- package/dist/leverage/operations.d.ts +1 -0
- package/dist/leverage/operations.d.ts.map +1 -0
- package/dist/leverage/operations.js +75 -84
- package/dist/leverage/operations.js.map +1 -1
- package/dist/leverage/utils.d.ts +1 -0
- package/dist/leverage/utils.d.ts.map +1 -0
- package/dist/leverage/utils.js +73 -88
- package/dist/leverage/utils.js.map +1 -1
- package/dist/lib.d.ts +1 -0
- package/dist/lib.d.ts.map +1 -0
- package/dist/lib.js.map +1 -1
- package/dist/referrals/index.d.ts +1 -0
- package/dist/referrals/index.d.ts.map +1 -0
- package/dist/referrals/index.js.map +1 -1
- package/dist/referrals/instructions.d.ts +1 -0
- package/dist/referrals/instructions.d.ts.map +1 -0
- package/dist/referrals/instructions.js +8 -17
- package/dist/referrals/instructions.js.map +1 -1
- package/dist/referrals/operations.d.ts +2 -1
- package/dist/referrals/operations.d.ts.map +1 -0
- package/dist/referrals/operations.js +119 -143
- package/dist/referrals/operations.js.map +1 -1
- package/dist/utils/ObligationType.d.ts +1 -0
- package/dist/utils/ObligationType.d.ts.map +1 -0
- package/dist/utils/ObligationType.js +16 -7
- package/dist/utils/ObligationType.js.map +1 -1
- package/dist/utils/api.d.ts +1 -0
- package/dist/utils/api.d.ts.map +1 -0
- package/dist/utils/api.js +10 -21
- package/dist/utils/api.js.map +1 -1
- package/dist/utils/ata.d.ts +1 -0
- package/dist/utils/ata.d.ts.map +1 -0
- package/dist/utils/ata.js +25 -38
- package/dist/utils/ata.js.map +1 -1
- package/dist/utils/constants.d.ts +1 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +1 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/idl.d.ts +1 -0
- package/dist/utils/idl.d.ts.map +1 -0
- package/dist/utils/idl.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/instruction.d.ts +1 -0
- package/dist/utils/instruction.d.ts.map +1 -0
- package/dist/utils/instruction.js +116 -143
- package/dist/utils/instruction.js.map +1 -1
- package/dist/utils/kamino.d.ts +1 -0
- package/dist/utils/kamino.d.ts.map +1 -0
- package/dist/utils/kamino.js +4 -15
- package/dist/utils/kamino.js.map +1 -1
- package/dist/utils/layout.d.ts +1 -0
- package/dist/utils/layout.d.ts.map +1 -0
- package/dist/utils/layout.js.map +1 -1
- package/dist/utils/lookupTable.d.ts +1 -0
- package/dist/utils/lookupTable.d.ts.map +1 -0
- package/dist/utils/lookupTable.js +14 -27
- package/dist/utils/lookupTable.js.map +1 -1
- package/dist/utils/managerTypes.d.ts +1 -0
- package/dist/utils/managerTypes.d.ts.map +1 -0
- package/dist/utils/managerTypes.js +31 -2
- package/dist/utils/managerTypes.js.map +1 -1
- package/dist/utils/oracle.d.ts +1 -0
- package/dist/utils/oracle.d.ts.map +1 -0
- package/dist/utils/oracle.js +70 -83
- package/dist/utils/oracle.js.map +1 -1
- package/dist/utils/pubkey.d.ts +1 -0
- package/dist/utils/pubkey.d.ts.map +1 -0
- package/dist/utils/pubkey.js +7 -9
- package/dist/utils/pubkey.js.map +1 -1
- package/dist/utils/rpc.d.ts +1 -0
- package/dist/utils/rpc.d.ts.map +1 -0
- package/dist/utils/rpc.js +48 -70
- package/dist/utils/rpc.js.map +1 -1
- package/dist/utils/seeds.d.ts +1 -0
- package/dist/utils/seeds.d.ts.map +1 -0
- package/dist/utils/seeds.js.map +1 -1
- package/dist/utils/sendTransactionsUtils.d.ts +1 -0
- package/dist/utils/sendTransactionsUtils.d.ts.map +1 -0
- package/dist/utils/sendTransactionsUtils.js +82 -82
- package/dist/utils/sendTransactionsUtils.js.map +1 -1
- package/dist/utils/slots.d.ts +1 -0
- package/dist/utils/slots.d.ts.map +1 -0
- package/dist/utils/slots.js.map +1 -1
- package/dist/utils/syncNative.d.ts +1 -0
- package/dist/utils/syncNative.d.ts.map +1 -0
- package/dist/utils/syncNative.js.map +1 -1
- package/dist/utils/userMetadata.d.ts +1 -0
- package/dist/utils/userMetadata.d.ts.map +1 -0
- package/dist/utils/userMetadata.js +40 -52
- package/dist/utils/userMetadata.js.map +1 -1
- package/package.json +9 -3
- package/src/classes/action.ts +2884 -0
- package/src/classes/curve.ts +29 -0
- package/src/classes/fraction.ts +65 -0
- package/src/classes/index.ts +10 -0
- package/src/classes/jupiterPerps.ts +14 -0
- package/src/classes/manager.ts +746 -0
- package/src/classes/market.ts +1459 -0
- package/src/classes/obligation.ts +1315 -0
- package/src/classes/reserve.ts +1980 -0
- package/src/classes/shared.ts +57 -0
- package/src/classes/utils.ts +192 -0
- package/src/classes/vault.ts +808 -0
- package/src/client.ts +446 -0
- package/src/client_kamino_manager.ts +791 -0
- package/src/global.d.ts +1 -0
- package/src/idl_codegen/accounts/LendingMarket.ts +364 -0
- package/src/idl_codegen/accounts/Obligation.ts +349 -0
- package/src/idl_codegen/accounts/ReferrerState.ts +97 -0
- package/src/idl_codegen/accounts/ReferrerTokenState.ts +145 -0
- package/src/idl_codegen/accounts/Reserve.ts +248 -0
- package/src/idl_codegen/accounts/ShortUrl.ts +97 -0
- package/src/idl_codegen/accounts/UserMetadata.ts +142 -0
- package/src/idl_codegen/accounts/UserState.ts +301 -0
- package/src/idl_codegen/accounts/index.ts +19 -0
- package/src/idl_codegen/errors/anchor.ts +773 -0
- package/src/idl_codegen/errors/custom.ts +1633 -0
- package/src/idl_codegen/errors/index.ts +62 -0
- package/src/idl_codegen/instructions/borrowObligationLiquidity.ts +82 -0
- package/src/idl_codegen/instructions/deleteReferrerStateAndShortUrl.ts +30 -0
- package/src/idl_codegen/instructions/depositObligationCollateral.ts +62 -0
- package/src/idl_codegen/instructions/depositReserveLiquidity.ts +90 -0
- package/src/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.ts +98 -0
- package/src/idl_codegen/instructions/flashBorrowReserveLiquidity.ts +82 -0
- package/src/idl_codegen/instructions/flashRepayReserveLiquidity.ts +83 -0
- package/src/idl_codegen/instructions/idlMissingTypes.ts +62 -0
- package/src/idl_codegen/instructions/index.ts +138 -0
- package/src/idl_codegen/instructions/initFarmsForReserve.ts +62 -0
- package/src/idl_codegen/instructions/initLendingMarket.ts +50 -0
- package/src/idl_codegen/instructions/initObligation.ts +52 -0
- package/src/idl_codegen/instructions/initObligationFarmsForReserve.ts +60 -0
- package/src/idl_codegen/instructions/initReferrerStateAndShortUrl.ts +50 -0
- package/src/idl_codegen/instructions/initReferrerTokenState.ts +46 -0
- package/src/idl_codegen/instructions/initReserve.ts +74 -0
- package/src/idl_codegen/instructions/initUserMetadata.ts +50 -0
- package/src/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.ts +139 -0
- package/src/idl_codegen/instructions/redeemFees.ts +50 -0
- package/src/idl_codegen/instructions/redeemReserveCollateral.ts +94 -0
- package/src/idl_codegen/instructions/refreshObligation.ts +24 -0
- package/src/idl_codegen/instructions/refreshObligationFarmsForReserve.ts +62 -0
- package/src/idl_codegen/instructions/refreshReserve.ts +40 -0
- package/src/idl_codegen/instructions/refreshReservesBatch.ts +29 -0
- package/src/idl_codegen/instructions/repayObligationLiquidity.ts +64 -0
- package/src/idl_codegen/instructions/requestElevationGroup.ts +40 -0
- package/src/idl_codegen/instructions/socializeLoss.ts +48 -0
- package/src/idl_codegen/instructions/updateEntireReserveConfig.ts +45 -0
- package/src/idl_codegen/instructions/updateLendingMarket.ts +43 -0
- package/src/idl_codegen/instructions/updateLendingMarketOwner.ts +28 -0
- package/src/idl_codegen/instructions/updateReserveConfig.ts +52 -0
- package/src/idl_codegen/instructions/updateSingleReserveConfig.ts +48 -0
- package/src/idl_codegen/instructions/withdrawObligationCollateral.ts +68 -0
- package/src/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.ts +102 -0
- package/src/idl_codegen/instructions/withdrawProtocolFee.ts +62 -0
- package/src/idl_codegen/instructions/withdrawReferrerFees.ts +54 -0
- package/src/idl_codegen/programId.ts +13 -0
- package/src/idl_codegen/types/AssetTier.ts +118 -0
- package/src/idl_codegen/types/BigFractionBytes.ts +67 -0
- package/src/idl_codegen/types/BorrowRateCurve.ts +60 -0
- package/src/idl_codegen/types/CurvePoint.ts +64 -0
- package/src/idl_codegen/types/ElevationGroup.ts +133 -0
- package/src/idl_codegen/types/FeeCalculation.ts +90 -0
- package/src/idl_codegen/types/InitObligationArgs.ts +61 -0
- package/src/idl_codegen/types/LastUpdate.ts +95 -0
- package/src/idl_codegen/types/ObligationCollateral.ts +128 -0
- package/src/idl_codegen/types/ObligationLiquidity.ts +159 -0
- package/src/idl_codegen/types/PriceHeuristic.ts +81 -0
- package/src/idl_codegen/types/PythConfiguration.ts +56 -0
- package/src/idl_codegen/types/ReserveCollateral.ts +104 -0
- package/src/idl_codegen/types/ReserveConfig.ts +467 -0
- package/src/idl_codegen/types/ReserveFarmKind.ts +90 -0
- package/src/idl_codegen/types/ReserveFees.ts +122 -0
- package/src/idl_codegen/types/ReserveLiquidity.ts +286 -0
- package/src/idl_codegen/types/ReserveStatus.ts +120 -0
- package/src/idl_codegen/types/ScopeConfiguration.ts +85 -0
- package/src/idl_codegen/types/SwitchboardConfiguration.ts +67 -0
- package/src/idl_codegen/types/TokenInfo.ts +190 -0
- package/src/idl_codegen/types/UpdateConfigMode.ts +1440 -0
- package/src/idl_codegen/types/UpdateLendingMarketConfigValue.ts +376 -0
- package/src/idl_codegen/types/UpdateLendingMarketMode.ts +570 -0
- package/src/idl_codegen/types/WithdrawalCaps.ts +86 -0
- package/src/idl_codegen/types/index.ts +276 -0
- package/src/idl_codegen/zero_padding/ObligationZP.ts +186 -0
- package/src/idl_codegen/zero_padding/index.ts +1 -0
- package/src/idl_codegen_jupiter_perps/accounts/Pool.ts +155 -0
- package/src/idl_codegen_jupiter_perps/accounts/index.ts +2 -0
- package/src/idl_codegen_jupiter_perps/programId.ts +7 -0
- package/src/idl_codegen_jupiter_perps/types/Fees.ts +130 -0
- package/src/idl_codegen_jupiter_perps/types/Limit.ts +72 -0
- package/src/idl_codegen_jupiter_perps/types/PoolApr.ts +69 -0
- package/src/idl_codegen_jupiter_perps/types/index.ts +6 -0
- package/src/idl_codegen_kamino_vault/accounts/Reserve.ts +221 -0
- package/src/idl_codegen_kamino_vault/accounts/VaultState.ts +214 -0
- package/src/idl_codegen_kamino_vault/accounts/index.ts +4 -0
- package/src/idl_codegen_kamino_vault/errors/anchor.ts +764 -0
- package/src/idl_codegen_kamino_vault/errors/custom.ts +344 -0
- package/src/idl_codegen_kamino_vault/errors/index.ts +49 -0
- package/src/idl_codegen_kamino_vault/instructions/deposit.ts +54 -0
- package/src/idl_codegen_kamino_vault/instructions/index.ts +10 -0
- package/src/idl_codegen_kamino_vault/instructions/initVault.ts +35 -0
- package/src/idl_codegen_kamino_vault/instructions/invest.ts +60 -0
- package/src/idl_codegen_kamino_vault/instructions/updateReserveAllocation.ts +58 -0
- package/src/idl_codegen_kamino_vault/instructions/withdraw.ts +81 -0
- package/src/idl_codegen_kamino_vault/programId.ts +7 -0
- package/src/idl_codegen_kamino_vault/types/BigFractionBytes.ts +61 -0
- package/src/idl_codegen_kamino_vault/types/BorrowRateCurve.ts +55 -0
- package/src/idl_codegen_kamino_vault/types/CurvePoint.ts +61 -0
- package/src/idl_codegen_kamino_vault/types/LastUpdate.ts +90 -0
- package/src/idl_codegen_kamino_vault/types/PriceHeuristic.ts +78 -0
- package/src/idl_codegen_kamino_vault/types/PythConfiguration.ts +56 -0
- package/src/idl_codegen_kamino_vault/types/ReserveCollateral.ts +104 -0
- package/src/idl_codegen_kamino_vault/types/ReserveConfig.ts +426 -0
- package/src/idl_codegen_kamino_vault/types/ReserveFees.ts +118 -0
- package/src/idl_codegen_kamino_vault/types/ReserveLiquidity.ts +268 -0
- package/src/idl_codegen_kamino_vault/types/ScopeConfiguration.ts +85 -0
- package/src/idl_codegen_kamino_vault/types/SwitchboardConfiguration.ts +64 -0
- package/src/idl_codegen_kamino_vault/types/TokenInfo.ts +172 -0
- package/src/idl_codegen_kamino_vault/types/VaultAllocation.ts +115 -0
- package/src/idl_codegen_kamino_vault/types/WithdrawalCaps.ts +86 -0
- package/src/idl_codegen_kamino_vault/types/index.ts +30 -0
- package/src/index.ts +1 -0
- package/src/lending_operations/index.ts +2 -0
- package/src/lending_operations/repay_with_collateral_calcs.ts +71 -0
- package/src/lending_operations/repay_with_collateral_operations.ts +318 -0
- package/src/leverage/calcs.ts +465 -0
- package/src/leverage/index.ts +4 -0
- package/src/leverage/instructions.ts +144 -0
- package/src/leverage/operations.ts +1814 -0
- package/src/leverage/utils.ts +273 -0
- package/src/lib.ts +9 -0
- package/src/referrals/index.ts +2 -0
- package/src/referrals/instructions.ts +114 -0
- package/src/referrals/operations.ts +325 -0
- package/src/utils/ObligationType.ts +171 -0
- package/src/utils/api.ts +59 -0
- package/src/utils/ata.ts +195 -0
- package/src/utils/constants.ts +81 -0
- package/src/utils/idl.ts +4 -0
- package/src/utils/index.ts +16 -0
- package/src/utils/instruction.ts +258 -0
- package/src/utils/kamino.ts +12 -0
- package/src/utils/layout.ts +118 -0
- package/src/utils/lookupTable.ts +55 -0
- package/src/utils/managerTypes.ts +456 -0
- package/src/utils/oracle.ts +338 -0
- package/src/utils/pubkey.ts +261 -0
- package/src/utils/rpc.ts +108 -0
- package/src/utils/seeds.ts +183 -0
- package/src/utils/sendTransactionsUtils.ts +207 -0
- package/src/utils/slots.ts +28 -0
- package/src/utils/syncNative.ts +22 -0
- package/src/utils/userMetadata.ts +401 -0
|
@@ -22,15 +22,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
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
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
27
|
};
|
|
@@ -52,278 +43,276 @@ const spl_token_1 = require("@solana/spl-token");
|
|
|
52
43
|
dotenv_1.default.config({
|
|
53
44
|
path: `.env${process.env.ENV ? '.' + process.env.ENV : ''}`,
|
|
54
45
|
});
|
|
55
|
-
function main() {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
46
|
+
async function main() {
|
|
47
|
+
const commands = new commander_1.Command();
|
|
48
|
+
commands.name('kamino-manager-cli').description('CLI to interact with the kvaults and klend programs');
|
|
49
|
+
commands
|
|
50
|
+
.command('create-market')
|
|
51
|
+
.requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
|
|
52
|
+
.option(`--staging`, 'If true, will use the staging programs')
|
|
53
|
+
.option(`--multisig <string>`, 'If using multisig mode this is required, otherwise will be ignored')
|
|
54
|
+
.action(async ({ mode, staging, multisig }) => {
|
|
55
|
+
const env = initializeClient(mode === 'multisig', staging);
|
|
56
|
+
if (mode === 'multisig' && !multisig) {
|
|
57
|
+
throw new Error('If using multisig mode, multisig pubkey is required');
|
|
58
|
+
}
|
|
59
|
+
const multisigPk = multisig ? new web3_js_1.PublicKey(multisig) : web3_js_1.PublicKey.default;
|
|
60
|
+
const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
|
|
61
|
+
const { market: marketKp, ixns: createMarketIxns } = await kaminoManager.createMarketIxs({
|
|
62
|
+
admin: mode === 'multisig' ? multisigPk : env.payer.publicKey,
|
|
63
|
+
});
|
|
64
|
+
const _createMarketSig = await processTxn(env.client, env.payer, createMarketIxns, mode, 2500, [marketKp]);
|
|
65
|
+
mode === 'execute' && console.log('Market created:', marketKp.publicKey.toBase58());
|
|
66
|
+
});
|
|
67
|
+
commands
|
|
68
|
+
.command('add-asset-to-market')
|
|
69
|
+
.requiredOption('--market <string>', 'Market addres to add asset to')
|
|
70
|
+
.requiredOption('--mint <string>', 'Reserve liquidity token mint')
|
|
71
|
+
.requiredOption('--mint-program-id <string>', 'Reserve liquidity token mint program id')
|
|
72
|
+
.requiredOption('--reserve-config-path <string>', 'Path for the reserve config')
|
|
73
|
+
.requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
|
|
74
|
+
.option(`--staging`, 'If true, will use the staging programs')
|
|
75
|
+
.option(`--multisig <string>`, 'If using multisig mode this is required, otherwise will be ignored')
|
|
76
|
+
.action(async ({ market, mint, mintProgramId, reserveConfigPath, mode, staging, multisig }) => {
|
|
77
|
+
const env = initializeClient(mode === 'multisig', staging);
|
|
78
|
+
const tokenMint = new web3_js_1.PublicKey(mint);
|
|
79
|
+
const tokenMintProgramId = new web3_js_1.PublicKey(mintProgramId);
|
|
80
|
+
const marketAddress = new web3_js_1.PublicKey(market);
|
|
81
|
+
if (mode === 'multisig' && !multisig) {
|
|
82
|
+
throw new Error('If using multisig mode, multisig is required');
|
|
83
|
+
}
|
|
84
|
+
const multisigPk = multisig ? new web3_js_1.PublicKey(multisig) : web3_js_1.PublicKey.default;
|
|
85
|
+
const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
|
|
86
|
+
const reserveConfigFromFile = JSON.parse(fs.readFileSync(reserveConfigPath, 'utf8'));
|
|
87
|
+
const reserveConfig = parseReserveConfigFromFile(reserveConfigFromFile);
|
|
88
|
+
const assetConfig = new lib_1.AssetReserveConfigCli(tokenMint, tokenMintProgramId, reserveConfig);
|
|
89
|
+
const { reserve, txnIxns } = await kaminoManager.addAssetToMarketIxs({
|
|
90
|
+
admin: mode === 'multisig' ? multisigPk : env.payer.publicKey,
|
|
91
|
+
marketAddress: marketAddress,
|
|
92
|
+
assetConfig: assetConfig,
|
|
93
|
+
});
|
|
94
|
+
console.log('reserve: ', reserve.publicKey);
|
|
95
|
+
const _createReserveSig = await processTxn(env.client, env.payer, txnIxns[0], mode, 2500, [reserve]);
|
|
96
|
+
const _updateReserveSig = await processTxn(env.client, env.payer, txnIxns[1], mode, 2500, [], 400_000);
|
|
97
|
+
mode === 'execute' &&
|
|
98
|
+
console.log('Reserve Created with config:', JSON.parse(JSON.stringify(reserveConfig)), '\nreserve address:', reserve.publicKey.toBase58());
|
|
99
|
+
});
|
|
100
|
+
commands
|
|
101
|
+
.command('update-reserve-config')
|
|
102
|
+
.requiredOption('--reserve <string>', 'Reserve address')
|
|
103
|
+
.requiredOption('--reserve-config-path <string>', 'Path for the reserve config')
|
|
104
|
+
.requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
|
|
105
|
+
.option('--update-entire-config', 'If set, it will update entire reserve config in 1 instruction')
|
|
106
|
+
.option(`--staging`, 'If true, will use the staging programs')
|
|
107
|
+
.action(async ({ reserve, reserveConfigPath, mode, updateEntireConfig, staging, multisig }) => {
|
|
108
|
+
const env = initializeClient(mode === 'multisig', staging);
|
|
109
|
+
const reserveAddress = new web3_js_1.PublicKey(reserve);
|
|
110
|
+
const reserveState = await lib_1.Reserve.fetch(env.connection, reserveAddress, env.kLendProgramId);
|
|
111
|
+
if (!reserveState) {
|
|
112
|
+
throw new Error('Reserve not found');
|
|
113
|
+
}
|
|
114
|
+
const marketAddress = reserveState.lendingMarket;
|
|
115
|
+
const marketState = await lib_1.LendingMarket.fetch(env.connection, marketAddress, env.kLendProgramId);
|
|
116
|
+
if (!marketState) {
|
|
117
|
+
throw new Error('Market not found');
|
|
118
|
+
}
|
|
119
|
+
const marketWithAddress = {
|
|
120
|
+
address: marketAddress,
|
|
121
|
+
state: marketState,
|
|
122
|
+
};
|
|
123
|
+
if (mode === 'multisig' && !multisig) {
|
|
124
|
+
throw new Error('If using multisig mode, multisig is required');
|
|
125
|
+
}
|
|
126
|
+
const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
|
|
127
|
+
const reserveConfigFromFile = JSON.parse(fs.readFileSync(reserveConfigPath, 'utf8'));
|
|
128
|
+
const reserveConfig = parseReserveConfigFromFile(reserveConfigFromFile);
|
|
129
|
+
const ixns = await kaminoManager.updateReserveIxs(marketWithAddress, reserveAddress, reserveConfig, reserveState, updateEntireConfig);
|
|
130
|
+
const _updateReserveSig = await processTxn(env.client, env.payer, ixns, mode, 2500, [], 400_000);
|
|
131
|
+
mode === 'execute' && console.log('Reserve Updated with config -> ', JSON.parse(JSON.stringify(reserveConfig)));
|
|
132
|
+
});
|
|
133
|
+
commands
|
|
134
|
+
.command('download-reserve-config')
|
|
135
|
+
.requiredOption('--reserve <string>', 'Reserve address')
|
|
136
|
+
.option(`--staging`, 'If true, will use the staging programs')
|
|
137
|
+
.action(async ({ reserve, staging }) => {
|
|
138
|
+
const env = initializeClient(false, staging);
|
|
139
|
+
const reserveAddress = new web3_js_1.PublicKey(reserve);
|
|
140
|
+
const reserveState = await lib_1.Reserve.fetch(env.connection, reserveAddress, env.kLendProgramId);
|
|
141
|
+
if (!reserveState) {
|
|
142
|
+
throw new Error('Reserve not found');
|
|
143
|
+
}
|
|
144
|
+
fs.mkdirSync('./configs/' + reserveState.lendingMarket.toBase58(), { recursive: true });
|
|
145
|
+
const decoder = new TextDecoder('utf-8');
|
|
146
|
+
const reserveName = decoder.decode(Uint8Array.from(reserveState.config.tokenInfo.name)).replace(/\0/g, '');
|
|
147
|
+
const reserveConfigDisplay = parseReserveConfigToFile(reserveState.config);
|
|
148
|
+
fs.writeFileSync('./configs/' + reserveState.lendingMarket.toBase58() + '/' + reserveName + '.json', JSON.stringify(reserveConfigDisplay, null, 2));
|
|
149
|
+
});
|
|
150
|
+
commands
|
|
151
|
+
.command('create-vault')
|
|
152
|
+
.requiredOption('--mint <string>', 'Vault token mint')
|
|
153
|
+
.requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
|
|
154
|
+
.option(`--staging`, 'If true, will use the staging programs')
|
|
155
|
+
.option(`--multisig <string>`, 'If using multisig mode this is required, otherwise will be ignored')
|
|
156
|
+
.action(async ({ mint, mode, staging, multisig }) => {
|
|
157
|
+
const env = initializeClient(mode === 'multisig', staging);
|
|
158
|
+
const tokenMint = new web3_js_1.PublicKey(mint);
|
|
159
|
+
if (mode === 'multisig' && !multisig) {
|
|
160
|
+
throw new Error('If using multisig mode, multisig is required');
|
|
161
|
+
}
|
|
162
|
+
const multisigPk = multisig ? new web3_js_1.PublicKey(multisig) : web3_js_1.PublicKey.default;
|
|
163
|
+
const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
|
|
164
|
+
const kaminoVaultConfig = new lib_1.KaminoVaultConfig({
|
|
165
|
+
admin: mode === 'multisig' ? multisigPk : env.payer.publicKey,
|
|
166
|
+
tokenMint: tokenMint,
|
|
167
|
+
tokenMintProgramId: spl_token_1.TOKEN_PROGRAM_ID,
|
|
168
|
+
performanceFeeRate: new decimal_js_1.default(0.0),
|
|
169
|
+
managementFeeRate: new decimal_js_1.default(0.0),
|
|
170
|
+
});
|
|
171
|
+
const { vault: vaultKp, ixns: instructions } = await kaminoManager.createVaultIxs(kaminoVaultConfig);
|
|
172
|
+
const _createVaultSig = await processTxn(env.client, env.payer, instructions, mode, 2500, [vaultKp]);
|
|
173
|
+
mode === 'execute' && console.log('Vault created:', vaultKp.publicKey.toBase58());
|
|
174
|
+
});
|
|
175
|
+
commands
|
|
176
|
+
.command('update-vault-reserve-allocation')
|
|
177
|
+
.requiredOption('--vault <string>', 'Vault address')
|
|
178
|
+
.requiredOption('--reserve <string>', 'Reserve address')
|
|
179
|
+
.requiredOption('--allocation-weight <number>', 'Allocation weight')
|
|
180
|
+
.requiredOption('--allocation-cap <string>', 'Allocation cap decimal value')
|
|
181
|
+
.requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
|
|
182
|
+
.option(`--staging`, 'If true, will use the staging programs')
|
|
183
|
+
.option(`--multisig <string>`, 'If using multisig mode this is required, otherwise will be ignored')
|
|
184
|
+
.action(async ({ vault, reserve, allocationWeight, allocationCap, mode, staging, multisig }) => {
|
|
185
|
+
const env = initializeClient(mode === 'multisig', staging);
|
|
186
|
+
const reserveAddress = new web3_js_1.PublicKey(reserve);
|
|
187
|
+
const vaultAddress = new web3_js_1.PublicKey(vault);
|
|
188
|
+
const allocationWeightValue = Number(allocationWeight);
|
|
189
|
+
const allocationCapDecimal = new decimal_js_1.default(allocationCap);
|
|
190
|
+
if (mode === 'multisig' && !multisig) {
|
|
191
|
+
throw new Error('If using multisig mode, multisig is required');
|
|
192
|
+
}
|
|
193
|
+
const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
|
|
194
|
+
const reserveState = await lib_1.Reserve.fetch(env.connection, reserveAddress, env.kLendProgramId);
|
|
195
|
+
if (!reserveState) {
|
|
196
|
+
throw new Error('Reserve not found');
|
|
197
|
+
}
|
|
198
|
+
const reserveWithAddress = {
|
|
199
|
+
address: reserveAddress,
|
|
200
|
+
state: reserveState,
|
|
201
|
+
};
|
|
202
|
+
const firstReserveAllocationConfig = new lib_1.ReserveAllocationConfig(reserveWithAddress, allocationWeightValue, allocationCapDecimal);
|
|
203
|
+
const kaminoVault = new lib_1.KaminoVault(vaultAddress, undefined, env.kVaultProgramId);
|
|
204
|
+
const instructions = await kaminoManager.updateVaultReserveAllocationIxs(kaminoVault, firstReserveAllocationConfig);
|
|
205
|
+
const updateVaultAllocationSig = await processTxn(env.client, env.payer, [instructions], mode, 2500, []);
|
|
206
|
+
mode === 'execute' && console.log('Vault allocation updated:', updateVaultAllocationSig);
|
|
207
|
+
});
|
|
208
|
+
commands.command('get-oracle-mappings').action(async () => {
|
|
209
|
+
const env = initializeClient(false, false);
|
|
210
|
+
const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
|
|
211
|
+
console.log('Getting oracle mappings');
|
|
212
|
+
const oracleConfigs = await kaminoManager.getScopeOracleConfigs();
|
|
213
|
+
console.log('oracleConfigs', JSON.parse(JSON.stringify(oracleConfigs)));
|
|
214
|
+
});
|
|
215
|
+
commands
|
|
216
|
+
.command('download-lending-market-config')
|
|
217
|
+
.requiredOption('--lending-market <string>', 'Lending Market Address')
|
|
218
|
+
.option(`--staging`, 'If true, will use the staging programs')
|
|
219
|
+
.action(async ({ lendingMarket, staging }) => {
|
|
220
|
+
const env = initializeClient(false, staging);
|
|
221
|
+
const lendingMarketAddress = new web3_js_1.PublicKey(lendingMarket);
|
|
222
|
+
const lendingMarketState = await lib_1.LendingMarket.fetch(env.connection, lendingMarketAddress, env.kLendProgramId);
|
|
223
|
+
if (!lendingMarketState) {
|
|
224
|
+
throw new Error('Lending Market not found');
|
|
225
|
+
}
|
|
226
|
+
fs.mkdirSync('./configs/' + lendingMarketAddress.toBase58(), { recursive: true });
|
|
227
|
+
const lendingMarketConfigForFile = lendingMarketState.toJSON();
|
|
228
|
+
fs.writeFileSync('./configs/' + lendingMarketAddress.toBase58() + '/market-' + lendingMarketAddress.toBase58() + '.json', JSON.stringify(lendingMarketConfigForFile, null, 2));
|
|
229
|
+
});
|
|
230
|
+
commands
|
|
231
|
+
.command('download-lending-market-config-and-all-reserves-configs')
|
|
232
|
+
.requiredOption('--lending-market <string>', 'Lending Market Address')
|
|
233
|
+
.option(`--staging`, 'If true, will use the staging programs')
|
|
234
|
+
.action(async ({ lendingMarket, staging }) => {
|
|
235
|
+
const env = initializeClient(false, staging);
|
|
236
|
+
const decoder = new TextDecoder('utf-8');
|
|
237
|
+
const lendingMarketAddress = new web3_js_1.PublicKey(lendingMarket);
|
|
238
|
+
const kaminoMarket = await lib_1.KaminoMarket.load(env.connection, lendingMarketAddress, lib_1.DEFAULT_RECENT_SLOT_DURATION_MS, env.kLendProgramId);
|
|
239
|
+
if (!kaminoMarket) {
|
|
240
|
+
throw new Error('Lending Market not found');
|
|
241
|
+
}
|
|
242
|
+
const lendingMarketState = await lib_1.LendingMarket.fetch(env.connection, lendingMarketAddress, env.kLendProgramId);
|
|
243
|
+
if (!lendingMarketState) {
|
|
244
|
+
throw new Error('Lending Market not found');
|
|
245
|
+
}
|
|
246
|
+
fs.mkdirSync('./configs/' + lendingMarketAddress.toBase58(), { recursive: true });
|
|
247
|
+
const lendingMarketConfigForFile = lendingMarketState.toJSON();
|
|
248
|
+
fs.writeFileSync('./configs/' + lendingMarketAddress.toBase58() + '/market-' + lendingMarketAddress.toBase58() + '.json', JSON.stringify(lendingMarketConfigForFile, null, 2));
|
|
249
|
+
kaminoMarket.reserves.forEach(async (reserve) => {
|
|
250
|
+
const reserveState = reserve.state;
|
|
156
251
|
const reserveName = decoder.decode(Uint8Array.from(reserveState.config.tokenInfo.name)).replace(/\0/g, '');
|
|
157
252
|
const reserveConfigDisplay = parseReserveConfigToFile(reserveState.config);
|
|
158
|
-
fs.writeFileSync('./configs/' +
|
|
159
|
-
})
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
.
|
|
187
|
-
.
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
.
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
const env = initializeClient(false, false);
|
|
220
|
-
const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
|
|
221
|
-
console.log('Getting oracle mappings');
|
|
222
|
-
const oracleConfigs = yield kaminoManager.getScopeOracleConfigs();
|
|
223
|
-
console.log('oracleConfigs', JSON.parse(JSON.stringify(oracleConfigs)));
|
|
224
|
-
}));
|
|
225
|
-
commands
|
|
226
|
-
.command('download-lending-market-config')
|
|
227
|
-
.requiredOption('--lending-market <string>', 'Lending Market Address')
|
|
228
|
-
.option(`--staging`, 'If true, will use the staging programs')
|
|
229
|
-
.action((_a) => __awaiter(this, [_a], void 0, function* ({ lendingMarket, staging }) {
|
|
230
|
-
const env = initializeClient(false, staging);
|
|
231
|
-
const lendingMarketAddress = new web3_js_1.PublicKey(lendingMarket);
|
|
232
|
-
const lendingMarketState = yield lib_1.LendingMarket.fetch(env.connection, lendingMarketAddress, env.kLendProgramId);
|
|
233
|
-
if (!lendingMarketState) {
|
|
234
|
-
throw new Error('Lending Market not found');
|
|
235
|
-
}
|
|
236
|
-
fs.mkdirSync('./configs/' + lendingMarketAddress.toBase58(), { recursive: true });
|
|
237
|
-
const lendingMarketConfigForFile = lendingMarketState.toJSON();
|
|
238
|
-
fs.writeFileSync('./configs/' + lendingMarketAddress.toBase58() + '/market-' + lendingMarketAddress.toBase58() + '.json', JSON.stringify(lendingMarketConfigForFile, null, 2));
|
|
239
|
-
}));
|
|
240
|
-
commands
|
|
241
|
-
.command('download-lending-market-config-and-all-reserves-configs')
|
|
242
|
-
.requiredOption('--lending-market <string>', 'Lending Market Address')
|
|
243
|
-
.option(`--staging`, 'If true, will use the staging programs')
|
|
244
|
-
.action((_a) => __awaiter(this, [_a], void 0, function* ({ lendingMarket, staging }) {
|
|
245
|
-
const env = initializeClient(false, staging);
|
|
246
|
-
const decoder = new TextDecoder('utf-8');
|
|
247
|
-
const lendingMarketAddress = new web3_js_1.PublicKey(lendingMarket);
|
|
248
|
-
const kaminoMarket = yield lib_1.KaminoMarket.load(env.connection, lendingMarketAddress, lib_1.DEFAULT_RECENT_SLOT_DURATION_MS, env.kLendProgramId);
|
|
249
|
-
if (!kaminoMarket) {
|
|
250
|
-
throw new Error('Lending Market not found');
|
|
251
|
-
}
|
|
252
|
-
const lendingMarketState = yield lib_1.LendingMarket.fetch(env.connection, lendingMarketAddress, env.kLendProgramId);
|
|
253
|
-
if (!lendingMarketState) {
|
|
254
|
-
throw new Error('Lending Market not found');
|
|
255
|
-
}
|
|
256
|
-
fs.mkdirSync('./configs/' + lendingMarketAddress.toBase58(), { recursive: true });
|
|
257
|
-
const lendingMarketConfigForFile = lendingMarketState.toJSON();
|
|
258
|
-
fs.writeFileSync('./configs/' + lendingMarketAddress.toBase58() + '/market-' + lendingMarketAddress.toBase58() + '.json', JSON.stringify(lendingMarketConfigForFile, null, 2));
|
|
259
|
-
kaminoMarket.reserves.forEach((reserve) => __awaiter(this, void 0, void 0, function* () {
|
|
260
|
-
const reserveState = reserve.state;
|
|
261
|
-
const reserveName = decoder.decode(Uint8Array.from(reserveState.config.tokenInfo.name)).replace(/\0/g, '');
|
|
262
|
-
const reserveConfigDisplay = parseReserveConfigToFile(reserveState.config);
|
|
263
|
-
fs.writeFileSync('./configs/' + lendingMarketAddress.toBase58() + '/' + reserveName + '.json', JSON.stringify(reserveConfigDisplay, null, 2));
|
|
264
|
-
}));
|
|
265
|
-
}));
|
|
266
|
-
commands
|
|
267
|
-
.command('update-lending-market-from-config')
|
|
268
|
-
.requiredOption('--lending-market <string>', 'Lending Market address')
|
|
269
|
-
.requiredOption('--lending-market-config-path <string>', 'Path for the market config')
|
|
270
|
-
.requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
|
|
271
|
-
.option(`--staging`, 'If true, will use the staging programs')
|
|
272
|
-
.action((_a) => __awaiter(this, [_a], void 0, function* ({ lendingMarket, lendingMarketConfigPath, mode, staging }) {
|
|
273
|
-
const env = initializeClient(mode === 'multisig', staging);
|
|
274
|
-
const lendingMarketAddress = new web3_js_1.PublicKey(lendingMarket);
|
|
275
|
-
const lendingMarketState = yield lib_1.LendingMarket.fetch(env.connection, lendingMarketAddress, env.kLendProgramId);
|
|
276
|
-
if (!lendingMarketState) {
|
|
277
|
-
throw new Error('Lending Market not found');
|
|
278
|
-
}
|
|
279
|
-
const marketWithAddress = {
|
|
280
|
-
address: lendingMarketAddress,
|
|
281
|
-
state: lendingMarketState,
|
|
282
|
-
};
|
|
283
|
-
if (mode === 'multisig') {
|
|
284
|
-
throw new Error('If using multisig mode, multisig is required');
|
|
285
|
-
}
|
|
286
|
-
const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
|
|
287
|
-
const newLendingMarket = lib_1.LendingMarket.fromJSON(JSON.parse(fs.readFileSync(lendingMarketConfigPath, 'utf8')));
|
|
288
|
-
const ixns = kaminoManager.updateLendingMarketIxs(marketWithAddress, newLendingMarket);
|
|
289
|
-
// executing 6 ixns in a txn to make sure they fit
|
|
290
|
-
for (let ixnIndex = 0; ixnIndex < ixns.length; ixnIndex += 6) {
|
|
291
|
-
const ixnToExecute = ixns.slice(ixnIndex, ixnIndex + 6);
|
|
292
|
-
const _updateLendingMarketSig = yield processTxn(env.client, env.payer, ixnToExecute, mode, 2500, [], 400000);
|
|
293
|
-
}
|
|
294
|
-
mode === 'execute' &&
|
|
295
|
-
console.log('Reserve Updated with new config -> ', JSON.parse(JSON.stringify(newLendingMarket)));
|
|
296
|
-
}));
|
|
297
|
-
commands
|
|
298
|
-
.command('update-lending-market-owner')
|
|
299
|
-
.requiredOption('--lending-market <string>', 'Lending Market address')
|
|
300
|
-
.requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
|
|
301
|
-
.option(`--staging`, 'If true, will use the staging programs')
|
|
302
|
-
.action((_a) => __awaiter(this, [_a], void 0, function* ({ lendingMarket, mode, staging }) {
|
|
303
|
-
const env = initializeClient(mode === 'multisig', staging);
|
|
304
|
-
const lendingMarketAddress = new web3_js_1.PublicKey(lendingMarket);
|
|
305
|
-
const lendingMarketState = yield lib_1.LendingMarket.fetch(env.connection, lendingMarketAddress, env.kLendProgramId);
|
|
306
|
-
if (!lendingMarketState) {
|
|
307
|
-
throw new Error('Lending Market not found');
|
|
308
|
-
}
|
|
309
|
-
const marketWithAddress = {
|
|
310
|
-
address: lendingMarketAddress,
|
|
311
|
-
state: lendingMarketState,
|
|
312
|
-
};
|
|
313
|
-
if (!lendingMarketState) {
|
|
314
|
-
throw new Error('Lending Market not found');
|
|
315
|
-
}
|
|
316
|
-
if (mode === 'multisig') {
|
|
317
|
-
throw new Error('If using multisig mode, multisig is required');
|
|
318
|
-
}
|
|
319
|
-
const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
|
|
320
|
-
const ixn = kaminoManager.updateLendingMarketOwnerIxs(marketWithAddress);
|
|
321
|
-
const _updateLendingMarketSig = yield processTxn(env.client, env.payer, [ixn], mode, 2500, [], 400000);
|
|
322
|
-
mode === 'execute' &&
|
|
323
|
-
console.log('Lending market admin updated to the new admin -> ', JSON.parse(JSON.stringify(lendingMarketState.lendingMarketOwnerCached)));
|
|
324
|
-
}));
|
|
325
|
-
yield commands.parseAsync();
|
|
253
|
+
fs.writeFileSync('./configs/' + lendingMarketAddress.toBase58() + '/' + reserveName + '.json', JSON.stringify(reserveConfigDisplay, null, 2));
|
|
254
|
+
});
|
|
255
|
+
});
|
|
256
|
+
commands
|
|
257
|
+
.command('update-lending-market-from-config')
|
|
258
|
+
.requiredOption('--lending-market <string>', 'Lending Market address')
|
|
259
|
+
.requiredOption('--lending-market-config-path <string>', 'Path for the market config')
|
|
260
|
+
.requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
|
|
261
|
+
.option(`--staging`, 'If true, will use the staging programs')
|
|
262
|
+
.action(async ({ lendingMarket, lendingMarketConfigPath, mode, staging }) => {
|
|
263
|
+
const env = initializeClient(mode === 'multisig', staging);
|
|
264
|
+
const lendingMarketAddress = new web3_js_1.PublicKey(lendingMarket);
|
|
265
|
+
const lendingMarketState = await lib_1.LendingMarket.fetch(env.connection, lendingMarketAddress, env.kLendProgramId);
|
|
266
|
+
if (!lendingMarketState) {
|
|
267
|
+
throw new Error('Lending Market not found');
|
|
268
|
+
}
|
|
269
|
+
const marketWithAddress = {
|
|
270
|
+
address: lendingMarketAddress,
|
|
271
|
+
state: lendingMarketState,
|
|
272
|
+
};
|
|
273
|
+
if (mode === 'multisig') {
|
|
274
|
+
throw new Error('If using multisig mode, multisig is required');
|
|
275
|
+
}
|
|
276
|
+
const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
|
|
277
|
+
const newLendingMarket = lib_1.LendingMarket.fromJSON(JSON.parse(fs.readFileSync(lendingMarketConfigPath, 'utf8')));
|
|
278
|
+
const ixns = kaminoManager.updateLendingMarketIxs(marketWithAddress, newLendingMarket);
|
|
279
|
+
// executing 6 ixns in a txn to make sure they fit
|
|
280
|
+
for (let ixnIndex = 0; ixnIndex < ixns.length; ixnIndex += 6) {
|
|
281
|
+
const ixnToExecute = ixns.slice(ixnIndex, ixnIndex + 6);
|
|
282
|
+
const _updateLendingMarketSig = await processTxn(env.client, env.payer, ixnToExecute, mode, 2500, [], 400_000);
|
|
283
|
+
}
|
|
284
|
+
mode === 'execute' &&
|
|
285
|
+
console.log('Reserve Updated with new config -> ', JSON.parse(JSON.stringify(newLendingMarket)));
|
|
286
|
+
});
|
|
287
|
+
commands
|
|
288
|
+
.command('update-lending-market-owner')
|
|
289
|
+
.requiredOption('--lending-market <string>', 'Lending Market address')
|
|
290
|
+
.requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
|
|
291
|
+
.option(`--staging`, 'If true, will use the staging programs')
|
|
292
|
+
.action(async ({ lendingMarket, mode, staging }) => {
|
|
293
|
+
const env = initializeClient(mode === 'multisig', staging);
|
|
294
|
+
const lendingMarketAddress = new web3_js_1.PublicKey(lendingMarket);
|
|
295
|
+
const lendingMarketState = await lib_1.LendingMarket.fetch(env.connection, lendingMarketAddress, env.kLendProgramId);
|
|
296
|
+
if (!lendingMarketState) {
|
|
297
|
+
throw new Error('Lending Market not found');
|
|
298
|
+
}
|
|
299
|
+
const marketWithAddress = {
|
|
300
|
+
address: lendingMarketAddress,
|
|
301
|
+
state: lendingMarketState,
|
|
302
|
+
};
|
|
303
|
+
if (!lendingMarketState) {
|
|
304
|
+
throw new Error('Lending Market not found');
|
|
305
|
+
}
|
|
306
|
+
if (mode === 'multisig') {
|
|
307
|
+
throw new Error('If using multisig mode, multisig is required');
|
|
308
|
+
}
|
|
309
|
+
const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
|
|
310
|
+
const ixn = kaminoManager.updateLendingMarketOwnerIxs(marketWithAddress);
|
|
311
|
+
const _updateLendingMarketSig = await processTxn(env.client, env.payer, [ixn], mode, 2500, [], 400_000);
|
|
312
|
+
mode === 'execute' &&
|
|
313
|
+
console.log('Lending market admin updated to the new admin -> ', JSON.parse(JSON.stringify(lendingMarketState.lendingMarketOwnerCached)));
|
|
326
314
|
});
|
|
315
|
+
await commands.parseAsync();
|
|
327
316
|
}
|
|
328
317
|
main()
|
|
329
318
|
.then(() => {
|
|
@@ -377,55 +366,53 @@ function setUpProgram(args) {
|
|
|
377
366
|
kVaultProgramId: args.kVaultProgramId,
|
|
378
367
|
};
|
|
379
368
|
}
|
|
380
|
-
function processTxn(
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
369
|
+
async function processTxn(web3Client, admin, ixns, mode, priorityFeeMultiplier = 2500, extraSigners, computeUnits = 200_000, priorityFeeLamports = 1000) {
|
|
370
|
+
if (mode !== 'inspect' && mode !== 'simulate' && mode !== 'execute' && mode !== 'multisig') {
|
|
371
|
+
throw new Error('Invalid mode: ' + mode + '. Must be one of: inspect/simulate/execute/multisig');
|
|
372
|
+
}
|
|
373
|
+
if (mode === 'multisig') {
|
|
374
|
+
const { blockhash } = await web3Client.connection.getLatestBlockhash();
|
|
375
|
+
const txn = new web3_js_1.Transaction();
|
|
376
|
+
txn.add(...ixns);
|
|
377
|
+
txn.recentBlockhash = blockhash;
|
|
378
|
+
txn.feePayer = admin.publicKey;
|
|
379
|
+
console.log((0, base58_js_1.binary_to_base58)(txn.serializeMessage()));
|
|
380
|
+
return '';
|
|
381
|
+
}
|
|
382
|
+
else {
|
|
383
|
+
const microLamport = priorityFeeLamports * 10 ** 6; // 1000 lamports
|
|
384
|
+
const microLamportsPrioritizationFee = microLamport / computeUnits;
|
|
385
|
+
const tx = new web3_js_1.Transaction();
|
|
386
|
+
const { blockhash } = await web3Client.connection.getLatestBlockhash();
|
|
387
|
+
if (priorityFeeMultiplier) {
|
|
388
|
+
const priorityFeeIxn = createAddExtraComputeUnitFeeTransaction(computeUnits, microLamportsPrioritizationFee * priorityFeeMultiplier);
|
|
389
|
+
tx.add(...priorityFeeIxn);
|
|
384
390
|
}
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
391
|
+
tx.recentBlockhash = blockhash;
|
|
392
|
+
tx.feePayer = admin.publicKey;
|
|
393
|
+
tx.add(...ixns);
|
|
394
|
+
if (mode === 'execute') {
|
|
395
|
+
return await (0, lib_1.signSendAndConfirmRawTransactionWithRetry)({
|
|
396
|
+
mainConnection: web3Client.sendConnection,
|
|
397
|
+
extraConnections: [],
|
|
398
|
+
tx: new web3_js_1.VersionedTransaction(tx.compileMessage()),
|
|
399
|
+
signers: [admin, ...extraSigners],
|
|
400
|
+
commitment: 'confirmed',
|
|
401
|
+
sendTransactionOptions: {
|
|
402
|
+
skipPreflight: true,
|
|
403
|
+
preflightCommitment: 'confirmed',
|
|
404
|
+
},
|
|
405
|
+
});
|
|
393
406
|
}
|
|
394
|
-
else {
|
|
395
|
-
const
|
|
396
|
-
|
|
397
|
-
const tx = new web3_js_1.Transaction();
|
|
398
|
-
const { blockhash } = yield web3Client.connection.getLatestBlockhash();
|
|
399
|
-
if (priorityFeeMultiplier) {
|
|
400
|
-
const priorityFeeIxn = createAddExtraComputeUnitFeeTransaction(computeUnits, microLamportsPrioritizationFee * priorityFeeMultiplier);
|
|
401
|
-
tx.add(...priorityFeeIxn);
|
|
402
|
-
}
|
|
403
|
-
tx.recentBlockhash = blockhash;
|
|
404
|
-
tx.feePayer = admin.publicKey;
|
|
405
|
-
tx.add(...ixns);
|
|
406
|
-
if (mode === 'execute') {
|
|
407
|
-
return yield (0, lib_1.signSendAndConfirmRawTransactionWithRetry)({
|
|
408
|
-
mainConnection: web3Client.sendConnection,
|
|
409
|
-
extraConnections: [],
|
|
410
|
-
tx: new web3_js_1.VersionedTransaction(tx.compileMessage()),
|
|
411
|
-
signers: [admin, ...extraSigners],
|
|
412
|
-
commitment: 'confirmed',
|
|
413
|
-
sendTransactionOptions: {
|
|
414
|
-
skipPreflight: true,
|
|
415
|
-
preflightCommitment: 'confirmed',
|
|
416
|
-
},
|
|
417
|
-
});
|
|
418
|
-
}
|
|
419
|
-
else if (mode === 'simulate') {
|
|
420
|
-
const simulation = yield web3Client.sendConnection.simulateTransaction(new web3_js_1.VersionedTransaction(tx.compileMessage()));
|
|
421
|
-
console.log('Simulation: \n' + simulation.value.logs);
|
|
422
|
-
}
|
|
423
|
-
else if (mode === 'inspect') {
|
|
424
|
-
console.log('Tx in B64', `https://explorer.solana.com/tx/inspector?message=${encodeURIComponent(tx.serializeMessage().toString('base64'))}`);
|
|
425
|
-
}
|
|
426
|
-
return '';
|
|
407
|
+
else if (mode === 'simulate') {
|
|
408
|
+
const simulation = await web3Client.sendConnection.simulateTransaction(new web3_js_1.VersionedTransaction(tx.compileMessage()));
|
|
409
|
+
console.log('Simulation: \n' + simulation.value.logs);
|
|
427
410
|
}
|
|
428
|
-
|
|
411
|
+
else if (mode === 'inspect') {
|
|
412
|
+
console.log('Tx in B64', `https://explorer.solana.com/tx/inspector?message=${encodeURIComponent(tx.serializeMessage().toString('base64'))}`);
|
|
413
|
+
}
|
|
414
|
+
return '';
|
|
415
|
+
}
|
|
429
416
|
}
|
|
430
417
|
function createAddExtraComputeUnitFeeTransaction(units, microLamports) {
|
|
431
418
|
const ixns = [];
|
|
@@ -451,11 +438,21 @@ function parseReserveConfigFromFile(farmConfigFromFile) {
|
|
|
451
438
|
},
|
|
452
439
|
depositLimit: new anchor_1.BN(farmConfigFromFile.depositLimit),
|
|
453
440
|
borrowLimit: new anchor_1.BN(farmConfigFromFile.borrowLimit),
|
|
454
|
-
tokenInfo:
|
|
441
|
+
tokenInfo: {
|
|
442
|
+
name: (0, lib_1.encodeTokenName)(farmConfigFromFile.tokenInfo.name),
|
|
443
|
+
heuristic: new types_1.PriceHeuristic({
|
|
455
444
|
lower: new anchor_1.BN(farmConfigFromFile.tokenInfo.heuristic.lower),
|
|
456
445
|
upper: new anchor_1.BN(farmConfigFromFile.tokenInfo.heuristic.upper),
|
|
457
446
|
exp: new anchor_1.BN(farmConfigFromFile.tokenInfo.heuristic.exp),
|
|
458
|
-
}),
|
|
447
|
+
}),
|
|
448
|
+
maxTwapDivergenceBps: new anchor_1.BN(farmConfigFromFile.tokenInfo.maxTwapDivergenceBps),
|
|
449
|
+
maxAgePriceSeconds: new anchor_1.BN(farmConfigFromFile.tokenInfo.maxAgePriceSeconds),
|
|
450
|
+
maxAgeTwapSeconds: new anchor_1.BN(farmConfigFromFile.tokenInfo.maxAgeTwapSeconds),
|
|
451
|
+
...parseOracleConfiguration(farmConfigFromFile),
|
|
452
|
+
blockPriceUsage: farmConfigFromFile.tokenInfo.blockPriceUsage,
|
|
453
|
+
reserved: Array(7).fill(0),
|
|
454
|
+
padding: Array(19).fill(new anchor_1.BN(0)),
|
|
455
|
+
},
|
|
459
456
|
borrowRateCurve: parseBorrowRateCurve(farmConfigFromFile),
|
|
460
457
|
depositWithdrawalCap: new types_1.WithdrawalCaps({
|
|
461
458
|
configCapacity: new anchor_1.BN(farmConfigFromFile.depositWithdrawalCap.configCapacity),
|