@kestrelfi/lyc-sdk 1.0.1
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/.env.example +11 -0
- package/README.md +207 -0
- package/dist/sdks/long-yield-carry/scripts/asyncBurn.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/asyncBurn.js +117 -0
- package/dist/sdks/long-yield-carry/scripts/burnToken.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/burnToken.js +98 -0
- package/dist/sdks/long-yield-carry/scripts/claimIncentives.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/claimIncentives.js +108 -0
- package/dist/sdks/long-yield-carry/scripts/closeCpiPlans.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/closeCpiPlans.js +93 -0
- package/dist/sdks/long-yield-carry/scripts/collectInterest.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/collectInterest.js +164 -0
- package/dist/sdks/long-yield-carry/scripts/collectProtocolFees.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/collectProtocolFees.js +120 -0
- package/dist/sdks/long-yield-carry/scripts/computeOptimalAllocations.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/computeOptimalAllocations.js +84 -0
- package/dist/sdks/long-yield-carry/scripts/createToken.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/createToken.js +76 -0
- package/dist/sdks/long-yield-carry/scripts/createTokenLendingPosition.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/createTokenLendingPosition.js +157 -0
- package/dist/sdks/long-yield-carry/scripts/createYieldingBank.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/createYieldingBank.js +69 -0
- package/dist/sdks/long-yield-carry/scripts/decreaseCarryPositions.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/decreaseCarryPositions.js +247 -0
- package/dist/sdks/long-yield-carry/scripts/depositUnlentCollateral.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/depositUnlentCollateral.js +90 -0
- package/dist/sdks/long-yield-carry/scripts/emergency/deleverageAll.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/emergency/deleverageAll.js +202 -0
- package/dist/sdks/long-yield-carry/scripts/emergency/triggerCircuitBreaker.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/emergency/triggerCircuitBreaker.js +68 -0
- package/dist/sdks/long-yield-carry/scripts/env.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/env.js +8 -0
- package/dist/sdks/long-yield-carry/scripts/findTxs.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/findTxs.js +143 -0
- package/dist/sdks/long-yield-carry/scripts/increaseCarryPositions.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/increaseCarryPositions.js +112 -0
- package/dist/sdks/long-yield-carry/scripts/inspect/format.d.ts +13 -0
- package/dist/sdks/long-yield-carry/scripts/inspect/format.js +363 -0
- package/dist/sdks/long-yield-carry/scripts/inspect.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/inspect.js +108 -0
- package/dist/sdks/long-yield-carry/scripts/localUtils.d.ts +53 -0
- package/dist/sdks/long-yield-carry/scripts/localUtils.js +191 -0
- package/dist/sdks/long-yield-carry/scripts/mintToken.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/mintToken.js +103 -0
- package/dist/sdks/long-yield-carry/scripts/processAsyncBurns.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/processAsyncBurns.js +76 -0
- package/dist/sdks/long-yield-carry/scripts/rebalanceToken.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/rebalanceToken.js +210 -0
- package/dist/sdks/long-yield-carry/scripts/rebalanceYieldingBank.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/rebalanceYieldingBank.js +149 -0
- package/dist/sdks/long-yield-carry/scripts/recollateralizeLoss.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/recollateralizeLoss.js +64 -0
- package/dist/sdks/long-yield-carry/scripts/refresh.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/refresh.js +101 -0
- package/dist/sdks/long-yield-carry/scripts/updateFees.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/updateFees.js +369 -0
- package/dist/sdks/long-yield-carry/scripts/updateGeneralLut.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/updateGeneralLut.js +27 -0
- package/dist/sdks/long-yield-carry/scripts/updateLendingPositionConfig.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/updateLendingPositionConfig.js +127 -0
- package/dist/sdks/long-yield-carry/scripts/updateTokenLuts.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/updateTokenLuts.js +27 -0
- package/dist/sdks/long-yield-carry/scripts/updateTokenMetadata.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/updateTokenMetadata.js +194 -0
- package/dist/sdks/long-yield-carry/scripts/updateYieldingBankConfig.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/updateYieldingBankConfig.js +84 -0
- package/dist/sdks/long-yield-carry/scripts/withdrawUnlentCollateral.d.ts +1 -0
- package/dist/sdks/long-yield-carry/scripts/withdrawUnlentCollateral.js +140 -0
- package/dist/sdks/long-yield-carry/src/client/account.d.ts +152 -0
- package/dist/sdks/long-yield-carry/src/client/account.js +349 -0
- package/dist/sdks/long-yield-carry/src/client/builders/args.d.ts +299 -0
- package/dist/sdks/long-yield-carry/src/client/builders/args.js +2 -0
- package/dist/sdks/long-yield-carry/src/client/builders/asyncBurnBuilder.d.ts +20 -0
- package/dist/sdks/long-yield-carry/src/client/builders/asyncBurnBuilder.js +212 -0
- package/dist/sdks/long-yield-carry/src/client/builders/base.d.ts +77 -0
- package/dist/sdks/long-yield-carry/src/client/builders/base.js +191 -0
- package/dist/sdks/long-yield-carry/src/client/builders/burnTokenBuilder.d.ts +18 -0
- package/dist/sdks/long-yield-carry/src/client/builders/burnTokenBuilder.js +165 -0
- package/dist/sdks/long-yield-carry/src/client/builders/claimIncentivesBuilder.d.ts +9 -0
- package/dist/sdks/long-yield-carry/src/client/builders/claimIncentivesBuilder.js +135 -0
- package/dist/sdks/long-yield-carry/src/client/builders/collectFeesBuilder.d.ts +14 -0
- package/dist/sdks/long-yield-carry/src/client/builders/collectFeesBuilder.js +50 -0
- package/dist/sdks/long-yield-carry/src/client/builders/collectInterestBuilder.d.ts +8 -0
- package/dist/sdks/long-yield-carry/src/client/builders/collectInterestBuilder.js +86 -0
- package/dist/sdks/long-yield-carry/src/client/builders/createCpiPlanBuilder.d.ts +6 -0
- package/dist/sdks/long-yield-carry/src/client/builders/createCpiPlanBuilder.js +22 -0
- package/dist/sdks/long-yield-carry/src/client/builders/createTokenBuilder.d.ts +7 -0
- package/dist/sdks/long-yield-carry/src/client/builders/createTokenBuilder.js +64 -0
- package/dist/sdks/long-yield-carry/src/client/builders/createTokenLendingPositionBuilder.d.ts +10 -0
- package/dist/sdks/long-yield-carry/src/client/builders/createTokenLendingPositionBuilder.js +138 -0
- package/dist/sdks/long-yield-carry/src/client/builders/createYieldingBankAllocationBuilder.d.ts +7 -0
- package/dist/sdks/long-yield-carry/src/client/builders/createYieldingBankAllocationBuilder.js +29 -0
- package/dist/sdks/long-yield-carry/src/client/builders/createYieldingBankBuilder.d.ts +7 -0
- package/dist/sdks/long-yield-carry/src/client/builders/createYieldingBankBuilder.js +39 -0
- package/dist/sdks/long-yield-carry/src/client/builders/decreaseCarryPositionBuilder.d.ts +30 -0
- package/dist/sdks/long-yield-carry/src/client/builders/decreaseCarryPositionBuilder.js +99 -0
- package/dist/sdks/long-yield-carry/src/client/builders/depositUnlentCollateralBuilder.d.ts +8 -0
- package/dist/sdks/long-yield-carry/src/client/builders/depositUnlentCollateralBuilder.js +64 -0
- package/dist/sdks/long-yield-carry/src/client/builders/increaseCarryPositionBuilder.d.ts +8 -0
- package/dist/sdks/long-yield-carry/src/client/builders/increaseCarryPositionBuilder.js +73 -0
- package/dist/sdks/long-yield-carry/src/client/builders/index.d.ts +28 -0
- package/dist/sdks/long-yield-carry/src/client/builders/index.js +62 -0
- package/dist/sdks/long-yield-carry/src/client/builders/mintTokenBuilder.d.ts +8 -0
- package/dist/sdks/long-yield-carry/src/client/builders/mintTokenBuilder.js +95 -0
- package/dist/sdks/long-yield-carry/src/client/builders/rebalanceTokenBuilder.d.ts +11 -0
- package/dist/sdks/long-yield-carry/src/client/builders/rebalanceTokenBuilder.js +255 -0
- package/dist/sdks/long-yield-carry/src/client/builders/rebalanceYieldingBankBuilder.d.ts +8 -0
- package/dist/sdks/long-yield-carry/src/client/builders/rebalanceYieldingBankBuilder.js +75 -0
- package/dist/sdks/long-yield-carry/src/client/builders/recollateralizeLossBuilder.d.ts +12 -0
- package/dist/sdks/long-yield-carry/src/client/builders/recollateralizeLossBuilder.js +220 -0
- package/dist/sdks/long-yield-carry/src/client/builders/refreshTokenStateBuilder.d.ts +9 -0
- package/dist/sdks/long-yield-carry/src/client/builders/refreshTokenStateBuilder.js +112 -0
- package/dist/sdks/long-yield-carry/src/client/builders/refreshTokensBuilder.d.ts +9 -0
- package/dist/sdks/long-yield-carry/src/client/builders/refreshTokensBuilder.js +59 -0
- package/dist/sdks/long-yield-carry/src/client/builders/refreshYieldingBankBuilder.d.ts +8 -0
- package/dist/sdks/long-yield-carry/src/client/builders/refreshYieldingBankBuilder.js +29 -0
- package/dist/sdks/long-yield-carry/src/client/builders/resetTokenBurnRateLimitBuilder.d.ts +7 -0
- package/dist/sdks/long-yield-carry/src/client/builders/resetTokenBurnRateLimitBuilder.js +19 -0
- package/dist/sdks/long-yield-carry/src/client/builders/setTokenCircuitBreakerBuilder.d.ts +11 -0
- package/dist/sdks/long-yield-carry/src/client/builders/setTokenCircuitBreakerBuilder.js +31 -0
- package/dist/sdks/long-yield-carry/src/client/builders/setYieldingBankCircuitBreakerBuilder.d.ts +8 -0
- package/dist/sdks/long-yield-carry/src/client/builders/setYieldingBankCircuitBreakerBuilder.js +28 -0
- package/dist/sdks/long-yield-carry/src/client/builders/updateLendingPositionConfigBuilder.d.ts +10 -0
- package/dist/sdks/long-yield-carry/src/client/builders/updateLendingPositionConfigBuilder.js +30 -0
- package/dist/sdks/long-yield-carry/src/client/builders/updateTokenConfigurationBuilder.d.ts +11 -0
- package/dist/sdks/long-yield-carry/src/client/builders/updateTokenConfigurationBuilder.js +47 -0
- package/dist/sdks/long-yield-carry/src/client/builders/updateTokenMetadataBuilder.d.ts +7 -0
- package/dist/sdks/long-yield-carry/src/client/builders/updateTokenMetadataBuilder.js +24 -0
- package/dist/sdks/long-yield-carry/src/client/builders/updateYieldingBankConfigBuilder.d.ts +10 -0
- package/dist/sdks/long-yield-carry/src/client/builders/updateYieldingBankConfigBuilder.js +31 -0
- package/dist/sdks/long-yield-carry/src/client/builders/utils.d.ts +4 -0
- package/dist/sdks/long-yield-carry/src/client/builders/utils.js +20 -0
- package/dist/sdks/long-yield-carry/src/client/client.d.ts +115 -0
- package/dist/sdks/long-yield-carry/src/client/client.js +166 -0
- package/dist/sdks/long-yield-carry/src/client/externalLiquidityResolver.d.ts +13 -0
- package/dist/sdks/long-yield-carry/src/client/externalLiquidityResolver.js +34 -0
- package/dist/sdks/long-yield-carry/src/client/index.d.ts +10 -0
- package/dist/sdks/long-yield-carry/src/client/index.js +33 -0
- package/dist/sdks/long-yield-carry/src/client/lendingPlatformClients.d.ts +19 -0
- package/dist/sdks/long-yield-carry/src/client/lendingPlatformClients.js +33 -0
- package/dist/sdks/long-yield-carry/src/client/pda.d.ts +33 -0
- package/dist/sdks/long-yield-carry/src/client/pda.js +79 -0
- package/dist/sdks/long-yield-carry/src/client/plans/collectInterest.d.ts +24 -0
- package/dist/sdks/long-yield-carry/src/client/plans/collectInterest.js +150 -0
- package/dist/sdks/long-yield-carry/src/client/plans/decreaseCarryPosition.d.ts +12 -0
- package/dist/sdks/long-yield-carry/src/client/plans/decreaseCarryPosition.js +140 -0
- package/dist/sdks/long-yield-carry/src/client/routes/collectInterest.d.ts +13 -0
- package/dist/sdks/long-yield-carry/src/client/routes/collectInterest.js +39 -0
- package/dist/sdks/long-yield-carry/src/client/transaction.d.ts +41 -0
- package/dist/sdks/long-yield-carry/src/client/transaction.js +55 -0
- package/dist/sdks/long-yield-carry/src/client/types/builders.d.ts +18 -0
- package/dist/sdks/long-yield-carry/src/client/types/builders.js +2 -0
- package/dist/sdks/long-yield-carry/src/client/types/enums.d.ts +22 -0
- package/dist/sdks/long-yield-carry/src/client/types/enums.js +48 -0
- package/dist/sdks/long-yield-carry/src/client/types/general.d.ts +98 -0
- package/dist/sdks/long-yield-carry/src/client/types/general.js +2 -0
- package/dist/sdks/long-yield-carry/src/client/types/index.d.ts +6 -0
- package/dist/sdks/long-yield-carry/src/client/types/index.js +22 -0
- package/dist/sdks/long-yield-carry/src/client/types/ix.d.ts +352 -0
- package/dist/sdks/long-yield-carry/src/client/types/ix.js +2 -0
- package/dist/sdks/long-yield-carry/src/client/types/planTypes/collectInterest.d.ts +91 -0
- package/dist/sdks/long-yield-carry/src/client/types/planTypes/collectInterest.js +2 -0
- package/dist/sdks/long-yield-carry/src/client/types/planTypes/common.d.ts +28 -0
- package/dist/sdks/long-yield-carry/src/client/types/planTypes/common.js +2 -0
- package/dist/sdks/long-yield-carry/src/client/types/planTypes/decreaseCarryPosition.d.ts +128 -0
- package/dist/sdks/long-yield-carry/src/client/types/planTypes/decreaseCarryPosition.js +2 -0
- package/dist/sdks/long-yield-carry/src/client/types/planTypes/index.d.ts +3 -0
- package/dist/sdks/long-yield-carry/src/client/types/planTypes/index.js +19 -0
- package/dist/sdks/long-yield-carry/src/client/types/tx.d.ts +339 -0
- package/dist/sdks/long-yield-carry/src/client/types/tx.js +2 -0
- package/dist/sdks/long-yield-carry/src/constants/configs/allocations.d.ts +3 -0
- package/dist/sdks/long-yield-carry/src/constants/configs/allocations.js +23 -0
- package/dist/sdks/long-yield-carry/src/constants/configs/carryTradePresets.d.ts +58 -0
- package/dist/sdks/long-yield-carry/src/constants/configs/carryTradePresets.js +116 -0
- package/dist/sdks/long-yield-carry/src/constants/configs/index.d.ts +2 -0
- package/dist/sdks/long-yield-carry/src/constants/configs/index.js +18 -0
- package/dist/sdks/long-yield-carry/src/constants/general.d.ts +70 -0
- package/dist/sdks/long-yield-carry/src/constants/general.js +107 -0
- package/dist/sdks/long-yield-carry/src/constants/index.d.ts +3 -0
- package/dist/sdks/long-yield-carry/src/constants/index.js +19 -0
- package/dist/sdks/long-yield-carry/src/constants/lycTokenMetadata.d.ts +36 -0
- package/dist/sdks/long-yield-carry/src/constants/lycTokenMetadata.js +41 -0
- package/dist/sdks/long-yield-carry/src/decoders/decodeTransaction.d.ts +86 -0
- package/dist/sdks/long-yield-carry/src/decoders/decodeTransaction.js +230 -0
- package/dist/sdks/long-yield-carry/src/decoders/discriminators.d.ts +8 -0
- package/dist/sdks/long-yield-carry/src/decoders/discriminators.js +11 -0
- package/dist/sdks/long-yield-carry/src/decoders/idlAccounts.d.ts +29 -0
- package/dist/sdks/long-yield-carry/src/decoders/idlAccounts.js +57 -0
- package/dist/sdks/long-yield-carry/src/decoders/index.d.ts +6 -0
- package/dist/sdks/long-yield-carry/src/decoders/index.js +14 -0
- package/dist/sdks/long-yield-carry/src/decoders/innerCpis.d.ts +68 -0
- package/dist/sdks/long-yield-carry/src/decoders/innerCpis.js +225 -0
- package/dist/sdks/long-yield-carry/src/decoders/lycInstructionNames.d.ts +6 -0
- package/dist/sdks/long-yield-carry/src/decoders/lycInstructionNames.js +73 -0
- package/dist/sdks/long-yield-carry/src/decoders/programIds.d.ts +4 -0
- package/dist/sdks/long-yield-carry/src/decoders/programIds.js +11 -0
- package/dist/sdks/long-yield-carry/src/decoders/solana.d.ts +7 -0
- package/dist/sdks/long-yield-carry/src/decoders/solana.js +30 -0
- package/dist/sdks/long-yield-carry/src/decoders/transactionPayload.d.ts +41 -0
- package/dist/sdks/long-yield-carry/src/decoders/transactionPayload.js +6 -0
- package/dist/sdks/long-yield-carry/src/decoders/types.d.ts +58 -0
- package/dist/sdks/long-yield-carry/src/decoders/types.js +2 -0
- package/dist/sdks/long-yield-carry/src/errors.d.ts +69 -0
- package/dist/sdks/long-yield-carry/src/errors.js +183 -0
- package/dist/sdks/long-yield-carry/src/idl/long_yield_carry.d.ts +7327 -0
- package/dist/sdks/long-yield-carry/src/idl/long_yield_carry.js +7323 -0
- package/dist/sdks/long-yield-carry/src/index.d.ts +10 -0
- package/dist/sdks/long-yield-carry/src/index.js +25 -0
- package/dist/sdks/long-yield-carry/src/metrics/index.d.ts +1 -0
- package/dist/sdks/long-yield-carry/src/metrics/index.js +17 -0
- package/dist/sdks/long-yield-carry/src/metrics/protocolMetrics.d.ts +276 -0
- package/dist/sdks/long-yield-carry/src/metrics/protocolMetrics.js +547 -0
- package/dist/sdks/long-yield-carry/src/models/index.d.ts +3 -0
- package/dist/sdks/long-yield-carry/src/models/index.js +7 -0
- package/dist/sdks/long-yield-carry/src/models/lycToken.d.ts +156 -0
- package/dist/sdks/long-yield-carry/src/models/lycToken.js +288 -0
- package/dist/sdks/long-yield-carry/src/models/yieldingBank.d.ts +52 -0
- package/dist/sdks/long-yield-carry/src/models/yieldingBank.js +109 -0
- package/dist/sdks/long-yield-carry/src/services/allocation/allocationService.d.ts +106 -0
- package/dist/sdks/long-yield-carry/src/services/allocation/allocationService.js +589 -0
- package/dist/sdks/long-yield-carry/src/services/allocation/index.d.ts +2 -0
- package/dist/sdks/long-yield-carry/src/services/allocation/index.js +18 -0
- package/dist/sdks/long-yield-carry/src/services/allocation/types.d.ts +25 -0
- package/dist/sdks/long-yield-carry/src/services/allocation/types.js +2 -0
- package/dist/sdks/long-yield-carry/src/services/carry/carryAllocationConfig.d.ts +103 -0
- package/dist/sdks/long-yield-carry/src/services/carry/carryAllocationConfig.js +146 -0
- package/dist/sdks/long-yield-carry/src/services/carry/index.d.ts +2 -0
- package/dist/sdks/long-yield-carry/src/services/carry/index.js +18 -0
- package/dist/sdks/long-yield-carry/src/services/carry/lycLendingPositionManager.d.ts +39 -0
- package/dist/sdks/long-yield-carry/src/services/carry/lycLendingPositionManager.js +100 -0
- package/dist/sdks/long-yield-carry/src/services/index.d.ts +5 -0
- package/dist/sdks/long-yield-carry/src/services/index.js +21 -0
- package/dist/sdks/long-yield-carry/src/services/lendingPosition/index.d.ts +2 -0
- package/dist/sdks/long-yield-carry/src/services/lendingPosition/index.js +5 -0
- package/dist/sdks/long-yield-carry/src/services/lendingPosition/lendingPositionService.d.ts +88 -0
- package/dist/sdks/long-yield-carry/src/services/lendingPosition/lendingPositionService.js +229 -0
- package/dist/sdks/long-yield-carry/src/services/rebalance/index.d.ts +2 -0
- package/dist/sdks/long-yield-carry/src/services/rebalance/index.js +18 -0
- package/dist/sdks/long-yield-carry/src/services/rebalance/token/index.d.ts +1 -0
- package/dist/sdks/long-yield-carry/src/services/rebalance/token/index.js +17 -0
- package/dist/sdks/long-yield-carry/src/services/rebalance/token/tokenRebalanceService.d.ts +51 -0
- package/dist/sdks/long-yield-carry/src/services/rebalance/token/tokenRebalanceService.js +99 -0
- package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/index.d.ts +3 -0
- package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/index.js +21 -0
- package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/planner.d.ts +68 -0
- package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/planner.js +181 -0
- package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/strategy.d.ts +26 -0
- package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/strategy.js +26 -0
- package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/types.d.ts +40 -0
- package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/types.js +2 -0
- package/dist/sdks/long-yield-carry/src/services/redemption/index.d.ts +2 -0
- package/dist/sdks/long-yield-carry/src/services/redemption/index.js +5 -0
- package/dist/sdks/long-yield-carry/src/services/redemption/redemptionService.d.ts +139 -0
- package/dist/sdks/long-yield-carry/src/services/redemption/redemptionService.js +532 -0
- package/dist/sdks/long-yield-carry/src/types/enriched.d.ts +168 -0
- package/dist/sdks/long-yield-carry/src/types/enriched.js +2 -0
- package/dist/sdks/long-yield-carry/src/types/index.d.ts +1 -0
- package/dist/sdks/long-yield-carry/src/types/index.js +17 -0
- package/dist/sdks/long-yield-carry/src/utils/cache.d.ts +4 -0
- package/dist/sdks/long-yield-carry/src/utils/cache.js +10 -0
- package/dist/sdks/long-yield-carry/src/utils/data.d.ts +12 -0
- package/dist/sdks/long-yield-carry/src/utils/data.js +59 -0
- package/dist/sdks/long-yield-carry/src/utils/enrichment.d.ts +5 -0
- package/dist/sdks/long-yield-carry/src/utils/enrichment.js +244 -0
- package/dist/sdks/long-yield-carry/src/utils/feeDripMetrics.d.ts +36 -0
- package/dist/sdks/long-yield-carry/src/utils/feeDripMetrics.js +93 -0
- package/dist/sdks/long-yield-carry/src/utils/general.d.ts +28 -0
- package/dist/sdks/long-yield-carry/src/utils/general.js +47 -0
- package/dist/sdks/long-yield-carry/src/utils/index.d.ts +13 -0
- package/dist/sdks/long-yield-carry/src/utils/index.js +29 -0
- package/dist/sdks/long-yield-carry/src/utils/ix.d.ts +83 -0
- package/dist/sdks/long-yield-carry/src/utils/ix.js +165 -0
- package/dist/sdks/long-yield-carry/src/utils/lendingPosition.d.ts +68 -0
- package/dist/sdks/long-yield-carry/src/utils/lendingPosition.js +105 -0
- package/dist/sdks/long-yield-carry/src/utils/lookupTables.d.ts +55 -0
- package/dist/sdks/long-yield-carry/src/utils/lookupTables.js +216 -0
- package/dist/sdks/long-yield-carry/src/utils/lycData.d.ts +66 -0
- package/dist/sdks/long-yield-carry/src/utils/lycData.js +211 -0
- package/dist/sdks/long-yield-carry/src/utils/timelock.d.ts +19 -0
- package/dist/sdks/long-yield-carry/src/utils/timelock.js +37 -0
- package/dist/sdks/long-yield-carry/src/utils/tokenFeeMath.d.ts +11 -0
- package/dist/sdks/long-yield-carry/src/utils/tokenFeeMath.js +24 -0
- package/dist/sdks/long-yield-carry/src/utils/transactions.d.ts +20 -0
- package/dist/sdks/long-yield-carry/src/utils/transactions.js +72 -0
- package/dist/sdks/long-yield-carry/src/utils/yieldingBank.d.ts +24 -0
- package/dist/sdks/long-yield-carry/src/utils/yieldingBank.js +36 -0
- package/dist/shared/common/src/constants/accountMetas.d.ts +3 -0
- package/dist/shared/common/src/constants/accountMetas.js +9 -0
- package/dist/shared/common/src/constants/general.d.ts +21 -0
- package/dist/shared/common/src/constants/general.js +30 -0
- package/dist/shared/common/src/constants/generated/cpi.d.ts +23 -0
- package/dist/shared/common/src/constants/generated/cpi.js +28 -0
- package/dist/shared/common/src/constants/generated/index.d.ts +1 -0
- package/dist/shared/common/src/constants/generated/index.js +17 -0
- package/dist/shared/common/src/constants/index.d.ts +3 -0
- package/dist/shared/common/src/constants/index.js +19 -0
- package/dist/shared/common/src/index.d.ts +4 -0
- package/dist/shared/common/src/index.js +20 -0
- package/dist/shared/common/src/services/baseAccountClient.d.ts +22 -0
- package/dist/shared/common/src/services/baseAccountClient.js +38 -0
- package/dist/shared/common/src/services/baseIxBuilderService.d.ts +27 -0
- package/dist/shared/common/src/services/baseIxBuilderService.js +48 -0
- package/dist/shared/common/src/services/dataCache.d.ts +41 -0
- package/dist/shared/common/src/services/dataCache.js +130 -0
- package/dist/shared/common/src/services/index.d.ts +8 -0
- package/dist/shared/common/src/services/index.js +24 -0
- package/dist/shared/common/src/services/lutManager.d.ts +31 -0
- package/dist/shared/common/src/services/lutManager.js +133 -0
- package/dist/shared/common/src/services/mints/defaults.d.ts +2 -0
- package/dist/shared/common/src/services/mints/defaults.js +152 -0
- package/dist/shared/common/src/services/mints/index.d.ts +4 -0
- package/dist/shared/common/src/services/mints/index.js +20 -0
- package/dist/shared/common/src/services/mints/registry.d.ts +70 -0
- package/dist/shared/common/src/services/mints/registry.js +117 -0
- package/dist/shared/common/src/services/mints/symbols.d.ts +6 -0
- package/dist/shared/common/src/services/mints/symbols.js +13 -0
- package/dist/shared/common/src/services/mints/types.d.ts +30 -0
- package/dist/shared/common/src/services/mints/types.js +2 -0
- package/dist/shared/common/src/services/swap/index.d.ts +4 -0
- package/dist/shared/common/src/services/swap/index.js +20 -0
- package/dist/shared/common/src/services/swap/routableSwapClient.d.ts +36 -0
- package/dist/shared/common/src/services/swap/routableSwapClient.js +2 -0
- package/dist/shared/common/src/services/swap/swapClientBase.d.ts +45 -0
- package/dist/shared/common/src/services/swap/swapClientBase.js +2 -0
- package/dist/shared/common/src/services/swap/swapRouting.d.ts +13 -0
- package/dist/shared/common/src/services/swap/swapRouting.js +28 -0
- package/dist/shared/common/src/services/swap/types.d.ts +77 -0
- package/dist/shared/common/src/services/swap/types.js +2 -0
- package/dist/shared/common/src/services/token/index.d.ts +2 -0
- package/dist/shared/common/src/services/token/index.js +18 -0
- package/dist/shared/common/src/services/token/tokenProtocolClientBase.d.ts +51 -0
- package/dist/shared/common/src/services/token/tokenProtocolClientBase.js +2 -0
- package/dist/shared/common/src/services/token/types.d.ts +19 -0
- package/dist/shared/common/src/services/token/types.js +2 -0
- package/dist/shared/common/src/services/transactionSender.d.ts +24 -0
- package/dist/shared/common/src/services/transactionSender.js +30 -0
- package/dist/shared/common/src/types/cpi.d.ts +34 -0
- package/dist/shared/common/src/types/cpi.js +8 -0
- package/dist/shared/common/src/types/enums.d.ts +59 -0
- package/dist/shared/common/src/types/enums.js +122 -0
- package/dist/shared/common/src/types/general.d.ts +38 -0
- package/dist/shared/common/src/types/general.js +2 -0
- package/dist/shared/common/src/types/index.d.ts +4 -0
- package/dist/shared/common/src/types/index.js +20 -0
- package/dist/shared/common/src/types/solana.d.ts +24 -0
- package/dist/shared/common/src/types/solana.js +2 -0
- package/dist/shared/common/src/utils/accounts/index.d.ts +5 -0
- package/dist/shared/common/src/utils/accounts/index.js +21 -0
- package/dist/shared/common/src/utils/accounts/meta.d.ts +21 -0
- package/dist/shared/common/src/utils/accounts/meta.js +27 -0
- package/dist/shared/common/src/utils/accounts/pda.d.ts +2 -0
- package/dist/shared/common/src/utils/accounts/pda.js +17 -0
- package/dist/shared/common/src/utils/accounts/roles.d.ts +26 -0
- package/dist/shared/common/src/utils/accounts/roles.js +54 -0
- package/dist/shared/common/src/utils/accounts/rpc.d.ts +8 -0
- package/dist/shared/common/src/utils/accounts/rpc.js +30 -0
- package/dist/shared/common/src/utils/accounts/splBalances.d.ts +15 -0
- package/dist/shared/common/src/utils/accounts/splBalances.js +52 -0
- package/dist/shared/common/src/utils/anchor.d.ts +17 -0
- package/dist/shared/common/src/utils/anchor.js +29 -0
- package/dist/shared/common/src/utils/asyncConcurrency.d.ts +5 -0
- package/dist/shared/common/src/utils/asyncConcurrency.js +28 -0
- package/dist/shared/common/src/utils/compat.d.ts +46 -0
- package/dist/shared/common/src/utils/compat.js +72 -0
- package/dist/shared/common/src/utils/cpi/args.d.ts +69 -0
- package/dist/shared/common/src/utils/cpi/args.js +100 -0
- package/dist/shared/common/src/utils/cpi/index.d.ts +2 -0
- package/dist/shared/common/src/utils/cpi/index.js +18 -0
- package/dist/shared/common/src/utils/cpi/refs.d.ts +122 -0
- package/dist/shared/common/src/utils/cpi/refs.js +234 -0
- package/dist/shared/common/src/utils/data.d.ts +20 -0
- package/dist/shared/common/src/utils/data.js +27 -0
- package/dist/shared/common/src/utils/general.d.ts +24 -0
- package/dist/shared/common/src/utils/general.js +95 -0
- package/dist/shared/common/src/utils/index.d.ts +22 -0
- package/dist/shared/common/src/utils/index.js +38 -0
- package/dist/shared/common/src/utils/instruction.d.ts +74 -0
- package/dist/shared/common/src/utils/instruction.js +147 -0
- package/dist/shared/common/src/utils/jito.d.ts +113 -0
- package/dist/shared/common/src/utils/jito.js +178 -0
- package/dist/shared/common/src/utils/json.d.ts +5 -0
- package/dist/shared/common/src/utils/json.js +25 -0
- package/dist/shared/common/src/utils/jsonRpcFetch.d.ts +21 -0
- package/dist/shared/common/src/utils/jsonRpcFetch.js +134 -0
- package/dist/shared/common/src/utils/metadata.d.ts +107 -0
- package/dist/shared/common/src/utils/metadata.js +194 -0
- package/dist/shared/common/src/utils/numbers.d.ts +72 -0
- package/dist/shared/common/src/utils/numbers.js +193 -0
- package/dist/shared/common/src/utils/priorityFee.d.ts +18 -0
- package/dist/shared/common/src/utils/priorityFee.js +63 -0
- package/dist/shared/common/src/utils/retry.d.ts +20 -0
- package/dist/shared/common/src/utils/retry.js +69 -0
- package/dist/shared/common/src/utils/rpc.d.ts +40 -0
- package/dist/shared/common/src/utils/rpc.js +130 -0
- package/dist/shared/common/src/utils/solana.d.ts +23 -0
- package/dist/shared/common/src/utils/solana.js +61 -0
- package/dist/shared/common/src/utils/timeSeries.d.ts +18 -0
- package/dist/shared/common/src/utils/timeSeries.js +40 -0
- package/dist/shared/common/src/utils/token.d.ts +33 -0
- package/dist/shared/common/src/utils/token.js +82 -0
- package/dist/shared/common/src/utils/transaction.d.ts +154 -0
- package/dist/shared/common/src/utils/transaction.js +585 -0
- package/dist/shared/common/src/utils/transactionSplitter.d.ts +85 -0
- package/dist/shared/common/src/utils/transactionSplitter.js +127 -0
- package/dist/shared/common/src/utils/txAccountCoverage.d.ts +49 -0
- package/dist/shared/common/src/utils/txAccountCoverage.js +122 -0
- package/dist/shared/jupiter-helpers/src/api.d.ts +59 -0
- package/dist/shared/jupiter-helpers/src/api.js +130 -0
- package/dist/shared/jupiter-helpers/src/client.d.ts +79 -0
- package/dist/shared/jupiter-helpers/src/client.js +173 -0
- package/dist/shared/jupiter-helpers/src/constants.d.ts +35 -0
- package/dist/shared/jupiter-helpers/src/constants.js +38 -0
- package/dist/shared/jupiter-helpers/src/extract.d.ts +30 -0
- package/dist/shared/jupiter-helpers/src/extract.js +57 -0
- package/dist/shared/jupiter-helpers/src/index.d.ts +5 -0
- package/dist/shared/jupiter-helpers/src/index.js +21 -0
- package/dist/shared/jupiter-helpers/src/routePreInstructions.d.ts +19 -0
- package/dist/shared/jupiter-helpers/src/routePreInstructions.js +61 -0
- package/dist/shared/jupiter-helpers/src/sizeExactInForMinOutput.d.ts +70 -0
- package/dist/shared/jupiter-helpers/src/sizeExactInForMinOutput.js +95 -0
- package/dist/shared/jupiter-helpers/src/types.d.ts +66 -0
- package/dist/shared/jupiter-helpers/src/types.js +2 -0
- package/dist/shared/lending-platforms/src/constants/cache.d.ts +8 -0
- package/dist/shared/lending-platforms/src/constants/cache.js +11 -0
- package/dist/shared/lending-platforms/src/constants/index.d.ts +3 -0
- package/dist/shared/lending-platforms/src/constants/index.js +19 -0
- package/dist/shared/lending-platforms/src/constants/kamino.d.ts +7 -0
- package/dist/shared/lending-platforms/src/constants/kamino.js +83 -0
- package/dist/shared/lending-platforms/src/constants/lendingPosition.d.ts +7 -0
- package/dist/shared/lending-platforms/src/constants/lendingPosition.js +10 -0
- package/dist/shared/lending-platforms/src/data/accounts/index.d.ts +2 -0
- package/dist/shared/lending-platforms/src/data/accounts/index.js +18 -0
- package/dist/shared/lending-platforms/src/data/accounts/kamino.d.ts +42 -0
- package/dist/shared/lending-platforms/src/data/accounts/kamino.js +104 -0
- package/dist/shared/lending-platforms/src/data/accounts/lpAccountsBase.d.ts +7 -0
- package/dist/shared/lending-platforms/src/data/accounts/lpAccountsBase.js +9 -0
- package/dist/shared/lending-platforms/src/data/incentive/incentiveBase.d.ts +35 -0
- package/dist/shared/lending-platforms/src/data/incentive/incentiveBase.js +26 -0
- package/dist/shared/lending-platforms/src/data/incentive/index.d.ts +2 -0
- package/dist/shared/lending-platforms/src/data/incentive/index.js +18 -0
- package/dist/shared/lending-platforms/src/data/incentive/kamino.d.ts +55 -0
- package/dist/shared/lending-platforms/src/data/incentive/kamino.js +101 -0
- package/dist/shared/lending-platforms/src/data/index.d.ts +6 -0
- package/dist/shared/lending-platforms/src/data/index.js +22 -0
- package/dist/shared/lending-platforms/src/data/instructions/index.d.ts +3 -0
- package/dist/shared/lending-platforms/src/data/instructions/index.js +19 -0
- package/dist/shared/lending-platforms/src/data/instructions/kamino.d.ts +55 -0
- package/dist/shared/lending-platforms/src/data/instructions/kamino.js +630 -0
- package/dist/shared/lending-platforms/src/data/instructions/lpInstructionsBase.d.ts +175 -0
- package/dist/shared/lending-platforms/src/data/instructions/lpInstructionsBase.js +192 -0
- package/dist/shared/lending-platforms/src/data/instructions/types.d.ts +7 -0
- package/dist/shared/lending-platforms/src/data/instructions/types.js +2 -0
- package/dist/shared/lending-platforms/src/data/platform/index.d.ts +2 -0
- package/dist/shared/lending-platforms/src/data/platform/index.js +18 -0
- package/dist/shared/lending-platforms/src/data/platform/kamino.d.ts +59 -0
- package/dist/shared/lending-platforms/src/data/platform/kamino.js +206 -0
- package/dist/shared/lending-platforms/src/data/platform/lpDataBase.d.ts +35 -0
- package/dist/shared/lending-platforms/src/data/platform/lpDataBase.js +31 -0
- package/dist/shared/lending-platforms/src/data/reserve/index.d.ts +2 -0
- package/dist/shared/lending-platforms/src/data/reserve/index.js +18 -0
- package/dist/shared/lending-platforms/src/data/reserve/kamino.d.ts +45 -0
- package/dist/shared/lending-platforms/src/data/reserve/kamino.js +141 -0
- package/dist/shared/lending-platforms/src/data/reserve/reserveBase.d.ts +114 -0
- package/dist/shared/lending-platforms/src/data/reserve/reserveBase.js +125 -0
- package/dist/shared/lending-platforms/src/data/userPosition/index.d.ts +2 -0
- package/dist/shared/lending-platforms/src/data/userPosition/index.js +18 -0
- package/dist/shared/lending-platforms/src/data/userPosition/kamino.d.ts +15 -0
- package/dist/shared/lending-platforms/src/data/userPosition/kamino.js +45 -0
- package/dist/shared/lending-platforms/src/data/userPosition/userPositionBase.d.ts +50 -0
- package/dist/shared/lending-platforms/src/data/userPosition/userPositionBase.js +63 -0
- package/dist/shared/lending-platforms/src/index.d.ts +5 -0
- package/dist/shared/lending-platforms/src/index.js +21 -0
- package/dist/shared/lending-platforms/src/services/client/index.d.ts +2 -0
- package/dist/shared/lending-platforms/src/services/client/index.js +18 -0
- package/dist/shared/lending-platforms/src/services/client/kamino.d.ts +53 -0
- package/dist/shared/lending-platforms/src/services/client/kamino.js +142 -0
- package/dist/shared/lending-platforms/src/services/client/lpClientBase.d.ts +66 -0
- package/dist/shared/lending-platforms/src/services/client/lpClientBase.js +19 -0
- package/dist/shared/lending-platforms/src/services/flashLoan/flashLoanBase.d.ts +49 -0
- package/dist/shared/lending-platforms/src/services/flashLoan/flashLoanBase.js +16 -0
- package/dist/shared/lending-platforms/src/services/flashLoan/index.d.ts +2 -0
- package/dist/shared/lending-platforms/src/services/flashLoan/index.js +18 -0
- package/dist/shared/lending-platforms/src/services/flashLoan/kamino.d.ts +11 -0
- package/dist/shared/lending-platforms/src/services/flashLoan/kamino.js +85 -0
- package/dist/shared/lending-platforms/src/services/index.d.ts +5 -0
- package/dist/shared/lending-platforms/src/services/index.js +21 -0
- package/dist/shared/lending-platforms/src/services/lendingPosition/index.d.ts +2 -0
- package/dist/shared/lending-platforms/src/services/lendingPosition/index.js +18 -0
- package/dist/shared/lending-platforms/src/services/lendingPosition/lendingPositionManager.d.ts +117 -0
- package/dist/shared/lending-platforms/src/services/lendingPosition/lendingPositionManager.js +342 -0
- package/dist/shared/lending-platforms/src/services/lendingPosition/types.d.ts +40 -0
- package/dist/shared/lending-platforms/src/services/lendingPosition/types.js +2 -0
- package/dist/shared/lending-platforms/src/services/leverage/index.d.ts +2 -0
- package/dist/shared/lending-platforms/src/services/leverage/index.js +18 -0
- package/dist/shared/lending-platforms/src/services/leverage/leverageService.d.ts +104 -0
- package/dist/shared/lending-platforms/src/services/leverage/leverageService.js +437 -0
- package/dist/shared/lending-platforms/src/services/leverage/types.d.ts +261 -0
- package/dist/shared/lending-platforms/src/services/leverage/types.js +2 -0
- package/dist/shared/lending-platforms/src/services/reservesManager.d.ts +53 -0
- package/dist/shared/lending-platforms/src/services/reservesManager.js +112 -0
- package/dist/shared/lending-platforms/src/types/general.d.ts +37 -0
- package/dist/shared/lending-platforms/src/types/general.js +8 -0
- package/dist/shared/lending-platforms/src/types/index.d.ts +2 -0
- package/dist/shared/lending-platforms/src/types/index.js +18 -0
- package/dist/shared/lending-platforms/src/types/kamino.d.ts +10 -0
- package/dist/shared/lending-platforms/src/types/kamino.js +2 -0
- package/dist/shared/lending-platforms/src/utils/accounts.d.ts +16 -0
- package/dist/shared/lending-platforms/src/utils/accounts.js +36 -0
- package/dist/shared/lending-platforms/src/utils/cache.d.ts +3 -0
- package/dist/shared/lending-platforms/src/utils/cache.js +11 -0
- package/dist/shared/lending-platforms/src/utils/index.d.ts +6 -0
- package/dist/shared/lending-platforms/src/utils/index.js +22 -0
- package/dist/shared/lending-platforms/src/utils/kamino.d.ts +87 -0
- package/dist/shared/lending-platforms/src/utils/kamino.js +190 -0
- package/dist/shared/lending-platforms/src/utils/lendingPlatform.d.ts +6 -0
- package/dist/shared/lending-platforms/src/utils/lendingPlatform.js +16 -0
- package/dist/shared/lending-platforms/src/utils/math.d.ts +47 -0
- package/dist/shared/lending-platforms/src/utils/math.js +123 -0
- package/dist/shared/lending-platforms/src/utils/scope.d.ts +38 -0
- package/dist/shared/lending-platforms/src/utils/scope.js +144 -0
- package/dist/shared/oracle-service/src/constants/index.d.ts +3 -0
- package/dist/shared/oracle-service/src/constants/index.js +19 -0
- package/dist/shared/oracle-service/src/constants/pyth.d.ts +7 -0
- package/dist/shared/oracle-service/src/constants/pyth.js +71 -0
- package/dist/shared/oracle-service/src/constants/splStake.d.ts +2 -0
- package/dist/shared/oracle-service/src/constants/splStake.js +6 -0
- package/dist/shared/oracle-service/src/constants/switchboard.d.ts +7 -0
- package/dist/shared/oracle-service/src/constants/switchboard.js +10 -0
- package/dist/shared/oracle-service/src/feeds/custom.d.ts +30 -0
- package/dist/shared/oracle-service/src/feeds/custom.js +56 -0
- package/dist/shared/oracle-service/src/feeds/jupiter.d.ts +7 -0
- package/dist/shared/oracle-service/src/feeds/jupiter.js +43 -0
- package/dist/shared/oracle-service/src/feeds/priceBase.d.ts +13 -0
- package/dist/shared/oracle-service/src/feeds/priceBase.js +25 -0
- package/dist/shared/oracle-service/src/feeds/pyth.d.ts +8 -0
- package/dist/shared/oracle-service/src/feeds/pyth.js +59 -0
- package/dist/shared/oracle-service/src/feeds/splStake.d.ts +26 -0
- package/dist/shared/oracle-service/src/feeds/splStake.js +99 -0
- package/dist/shared/oracle-service/src/feeds/switchboard.d.ts +6 -0
- package/dist/shared/oracle-service/src/feeds/switchboard.js +11 -0
- package/dist/shared/oracle-service/src/index.d.ts +5 -0
- package/dist/shared/oracle-service/src/index.js +26 -0
- package/dist/shared/oracle-service/src/oracle.d.ts +22 -0
- package/dist/shared/oracle-service/src/oracle.js +104 -0
- package/dist/shared/oracle-service/src/types.d.ts +4 -0
- package/dist/shared/oracle-service/src/types.js +2 -0
- package/dist/shared/oracle-service/src/utils/general.d.ts +20 -0
- package/dist/shared/oracle-service/src/utils/general.js +65 -0
- package/dist/shared/oracle-service/src/utils/index.d.ts +1 -0
- package/dist/shared/oracle-service/src/utils/index.js +17 -0
- package/dist/shared/perena-helpers/src/accounts.d.ts +7 -0
- package/dist/shared/perena-helpers/src/accounts.js +12 -0
- package/dist/shared/perena-helpers/src/client.d.ts +299 -0
- package/dist/shared/perena-helpers/src/client.js +680 -0
- package/dist/shared/perena-helpers/src/constants.d.ts +5 -0
- package/dist/shared/perena-helpers/src/constants.js +8 -0
- package/dist/shared/perena-helpers/src/cpi/burn.d.ts +27 -0
- package/dist/shared/perena-helpers/src/cpi/burn.js +22 -0
- package/dist/shared/perena-helpers/src/cpi/index.d.ts +3 -0
- package/dist/shared/perena-helpers/src/cpi/index.js +19 -0
- package/dist/shared/perena-helpers/src/cpi/mint.d.ts +27 -0
- package/dist/shared/perena-helpers/src/cpi/mint.js +22 -0
- package/dist/shared/perena-helpers/src/cpi/requestUnstake.d.ts +19 -0
- package/dist/shared/perena-helpers/src/cpi/requestUnstake.js +16 -0
- package/dist/shared/perena-helpers/src/index.d.ts +5 -0
- package/dist/shared/perena-helpers/src/index.js +21 -0
- package/dist/shared/perena-helpers/src/utils.d.ts +9 -0
- package/dist/shared/perena-helpers/src/utils.js +54 -0
- package/dist/shared/swap-aggregator/src/aggSwapClient.d.ts +71 -0
- package/dist/shared/swap-aggregator/src/aggSwapClient.js +103 -0
- package/dist/shared/swap-aggregator/src/index.d.ts +1 -0
- package/dist/shared/swap-aggregator/src/index.js +17 -0
- package/docs/launchingToken.md +57 -0
- package/package.json +75 -0
- package/scripts/asyncBurn.ts +155 -0
- package/scripts/burnToken.ts +120 -0
- package/scripts/claimIncentives.ts +125 -0
- package/scripts/closeCpiPlans.ts +113 -0
- package/scripts/collectInterest.ts +194 -0
- package/scripts/collectProtocolFees.ts +144 -0
- package/scripts/computeOptimalAllocations.ts +117 -0
- package/scripts/createToken.ts +100 -0
- package/scripts/createTokenLendingPosition.ts +204 -0
- package/scripts/createYieldingBank.ts +91 -0
- package/scripts/decreaseCarryPositions.ts +359 -0
- package/scripts/depositUnlentCollateral.ts +106 -0
- package/scripts/emergency/deleverageAll.ts +287 -0
- package/scripts/emergency/triggerCircuitBreaker.ts +87 -0
- package/scripts/env.ts +4 -0
- package/scripts/findTxs.ts +169 -0
- package/scripts/increaseCarryPositions.ts +134 -0
- package/scripts/inspect/format.ts +576 -0
- package/scripts/inspect.ts +147 -0
- package/scripts/localUtils.ts +249 -0
- package/scripts/mintToken.ts +126 -0
- package/scripts/processAsyncBurns.ts +89 -0
- package/scripts/rebalanceToken.ts +269 -0
- package/scripts/rebalanceYieldingBank.ts +183 -0
- package/scripts/recollateralizeLoss.ts +79 -0
- package/scripts/refresh.ts +156 -0
- package/scripts/updateFees.ts +486 -0
- package/scripts/updateGeneralLut.ts +36 -0
- package/scripts/updateLendingPositionConfig.ts +172 -0
- package/scripts/updateTokenLuts.ts +36 -0
- package/scripts/updateTokenMetadata.ts +199 -0
- package/scripts/updateYieldingBankConfig.ts +100 -0
- package/scripts/withdrawUnlentCollateral.ts +178 -0
- package/src/client/account.ts +503 -0
- package/src/client/builders/args.ts +381 -0
- package/src/client/builders/asyncBurnBuilder.ts +305 -0
- package/src/client/builders/base.ts +303 -0
- package/src/client/builders/burnTokenBuilder.ts +258 -0
- package/src/client/builders/claimIncentivesBuilder.ts +211 -0
- package/src/client/builders/collectFeesBuilder.ts +52 -0
- package/src/client/builders/collectInterestBuilder.ts +165 -0
- package/src/client/builders/createCpiPlanBuilder.ts +21 -0
- package/src/client/builders/createTokenBuilder.ts +73 -0
- package/src/client/builders/createTokenLendingPositionBuilder.ts +219 -0
- package/src/client/builders/createYieldingBankAllocationBuilder.ts +32 -0
- package/src/client/builders/createYieldingBankBuilder.ts +39 -0
- package/src/client/builders/decreaseCarryPositionBuilder.ts +162 -0
- package/src/client/builders/depositUnlentCollateralBuilder.ts +95 -0
- package/src/client/builders/increaseCarryPositionBuilder.ts +105 -0
- package/src/client/builders/index.ts +37 -0
- package/src/client/builders/mintTokenBuilder.ts +137 -0
- package/src/client/builders/rebalanceTokenBuilder.ts +356 -0
- package/src/client/builders/rebalanceYieldingBankBuilder.ts +109 -0
- package/src/client/builders/recollateralizeLossBuilder.ts +367 -0
- package/src/client/builders/refreshTokenStateBuilder.ts +153 -0
- package/src/client/builders/refreshTokensBuilder.ts +82 -0
- package/src/client/builders/refreshYieldingBankBuilder.ts +42 -0
- package/src/client/builders/resetTokenBurnRateLimitBuilder.ts +21 -0
- package/src/client/builders/setTokenCircuitBreakerBuilder.ts +40 -0
- package/src/client/builders/setYieldingBankCircuitBreakerBuilder.ts +37 -0
- package/src/client/builders/updateLendingPositionConfigBuilder.ts +33 -0
- package/src/client/builders/updateTokenConfigurationBuilder.ts +50 -0
- package/src/client/builders/updateTokenMetadataBuilder.ts +24 -0
- package/src/client/builders/updateYieldingBankConfigBuilder.ts +32 -0
- package/src/client/builders/utils.ts +26 -0
- package/src/client/client.ts +264 -0
- package/src/client/externalLiquidityResolver.ts +54 -0
- package/src/client/index.ts +20 -0
- package/src/client/lendingPlatformClients.ts +50 -0
- package/src/client/pda.ts +102 -0
- package/src/client/plans/collectInterest.ts +207 -0
- package/src/client/plans/decreaseCarryPosition.ts +226 -0
- package/src/client/routes/collectInterest.ts +56 -0
- package/src/client/transaction.ts +106 -0
- package/src/client/types/builders.ts +19 -0
- package/src/client/types/enums.ts +47 -0
- package/src/client/types/general.ts +117 -0
- package/src/client/types/index.ts +6 -0
- package/src/client/types/ix.ts +452 -0
- package/src/client/types/planTypes/collectInterest.ts +97 -0
- package/src/client/types/planTypes/common.ts +31 -0
- package/src/client/types/planTypes/decreaseCarryPosition.ts +134 -0
- package/src/client/types/planTypes/index.ts +3 -0
- package/src/client/types/tx.ts +409 -0
- package/src/constants/configs/allocations.ts +30 -0
- package/src/constants/configs/carryTradePresets.ts +164 -0
- package/src/constants/configs/index.ts +2 -0
- package/src/constants/general.ts +141 -0
- package/src/constants/index.ts +3 -0
- package/src/constants/lycTokenMetadata.ts +52 -0
- package/src/decoders/decodeTransaction.ts +319 -0
- package/src/decoders/discriminators.ts +10 -0
- package/src/decoders/idlAccounts.ts +75 -0
- package/src/decoders/index.ts +15 -0
- package/src/decoders/innerCpis.ts +262 -0
- package/src/decoders/lycInstructionNames.ts +73 -0
- package/src/decoders/programIds.ts +12 -0
- package/src/decoders/solana.ts +25 -0
- package/src/decoders/transactionPayload.ts +41 -0
- package/src/decoders/types.ts +60 -0
- package/src/errors.ts +195 -0
- package/src/idl/long_yield_carry.ts +14648 -0
- package/src/index.ts +10 -0
- package/src/metrics/index.ts +1 -0
- package/src/metrics/protocolMetrics.ts +976 -0
- package/src/models/index.ts +9 -0
- package/src/models/lycToken.ts +380 -0
- package/src/models/yieldingBank.ts +127 -0
- package/src/services/allocation/allocationService.ts +823 -0
- package/src/services/allocation/index.ts +2 -0
- package/src/services/allocation/types.ts +27 -0
- package/src/services/carry/carryAllocationConfig.ts +266 -0
- package/src/services/carry/index.ts +2 -0
- package/src/services/carry/lycLendingPositionManager.ts +167 -0
- package/src/services/index.ts +5 -0
- package/src/services/lendingPosition/index.ts +5 -0
- package/src/services/lendingPosition/lendingPositionService.ts +328 -0
- package/src/services/rebalance/index.ts +2 -0
- package/src/services/rebalance/token/index.ts +1 -0
- package/src/services/rebalance/token/tokenRebalanceService.ts +142 -0
- package/src/services/rebalance/yieldingBank/index.ts +3 -0
- package/src/services/rebalance/yieldingBank/planner.ts +215 -0
- package/src/services/rebalance/yieldingBank/strategy.ts +41 -0
- package/src/services/rebalance/yieldingBank/types.ts +41 -0
- package/src/services/redemption/index.ts +9 -0
- package/src/services/redemption/redemptionService.ts +758 -0
- package/src/types/enriched.ts +187 -0
- package/src/types/index.ts +1 -0
- package/src/utils/cache.ts +12 -0
- package/src/utils/data.ts +65 -0
- package/src/utils/enrichment.ts +330 -0
- package/src/utils/feeDripMetrics.ts +146 -0
- package/src/utils/general.ts +54 -0
- package/src/utils/index.ts +13 -0
- package/src/utils/ix.ts +227 -0
- package/src/utils/lendingPosition.ts +221 -0
- package/src/utils/lookupTables.ts +309 -0
- package/src/utils/lycData.ts +321 -0
- package/src/utils/timelock.ts +63 -0
- package/src/utils/tokenFeeMath.ts +25 -0
- package/src/utils/transactions.ts +109 -0
- package/src/utils/yieldingBank.ts +38 -0
- package/tsconfig.json +11 -0
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
import type { Address, Instruction } from "@solana/kit";
|
|
2
|
+
import type BN from "bn.js";
|
|
3
|
+
import type { CpiData, Environment, SwapClient, TransactionCacheInvalidation } from "common";
|
|
4
|
+
import type { LendingPlatformData } from "../../data";
|
|
5
|
+
import type { LpInstructionsBase } from "../../data/instructions/lpInstructionsBase";
|
|
6
|
+
import type { ReserveBase } from "../../data/reserve/reserveBase";
|
|
7
|
+
import type { FlashLoanBase } from "../flashLoan";
|
|
8
|
+
/**
|
|
9
|
+
* How the position changes when debt is adjusted.
|
|
10
|
+
*
|
|
11
|
+
* - `levered` — flash-loan loop where borrowed funds also increase supplied
|
|
12
|
+
* collateral (e.g. multiply token).
|
|
13
|
+
* - `debtOnly` — only debt changes, supplied collateral stays constant
|
|
14
|
+
* (e.g. carry-position borrow/repay).
|
|
15
|
+
*/
|
|
16
|
+
export type LeverageChangeMode = "levered" | "debtOnly";
|
|
17
|
+
/**
|
|
18
|
+
* Shared context for leverage operations: the lending-platform client, reserves,
|
|
19
|
+
* and position identity needed for both sizing and CPI construction.
|
|
20
|
+
*/
|
|
21
|
+
export interface LeverageContext {
|
|
22
|
+
/** Lending-platform instruction client for building CPIs. */
|
|
23
|
+
lendingIx: LpInstructionsBase<LendingPlatformData>;
|
|
24
|
+
/** Collateral reserve. */
|
|
25
|
+
supplyReserve: ReserveBase;
|
|
26
|
+
/** Debt reserve. */
|
|
27
|
+
debtReserve: ReserveBase;
|
|
28
|
+
/** Account that owns the lending position (e.g. a token PDA). */
|
|
29
|
+
user: Address;
|
|
30
|
+
/** Transaction signer / fee payer. */
|
|
31
|
+
payer: Address;
|
|
32
|
+
/** Lending pool address. */
|
|
33
|
+
pool: Address;
|
|
34
|
+
/** Lending protocol user account (e.g. Kamino obligation). */
|
|
35
|
+
userAccount: Address;
|
|
36
|
+
/** Transaction identifier shared with the lending client for pre-instruction deduplication. */
|
|
37
|
+
txId: string;
|
|
38
|
+
/** Deployment environment used for oracle price fetches. */
|
|
39
|
+
environment?: Environment;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Inputs for an increase-leverage (borrow) operation.
|
|
43
|
+
*/
|
|
44
|
+
export interface IncreaseLeverageParams {
|
|
45
|
+
/** Current supply position in UI units (e.g. 1.5 SOL). */
|
|
46
|
+
currentSupplyUiAmount: number;
|
|
47
|
+
/** Current debt position in UI units (e.g. 100 USDC). */
|
|
48
|
+
currentDebtUiAmount: number;
|
|
49
|
+
/** Target LTV utilization rate in basis points (0–10000). */
|
|
50
|
+
targetUtilizationRateBps: number;
|
|
51
|
+
/** Defaults to `debtOnly`. */
|
|
52
|
+
mode?: LeverageChangeMode;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Inputs for a decrease-leverage (repay) operation.
|
|
56
|
+
*/
|
|
57
|
+
export interface DecreaseLeverageParams {
|
|
58
|
+
/** Current supply position in UI units. */
|
|
59
|
+
currentSupplyUiAmount: number;
|
|
60
|
+
/** Current debt position in UI units. */
|
|
61
|
+
currentDebtUiAmount: number;
|
|
62
|
+
/** Target LTV utilization rate in basis points (0–10000). */
|
|
63
|
+
targetUtilizationRateBps: number;
|
|
64
|
+
/** Defaults to `debtOnly`. */
|
|
65
|
+
mode?: LeverageChangeMode;
|
|
66
|
+
/**
|
|
67
|
+
* When set, replaces the utilization-derived repay size for both the on-chain
|
|
68
|
+
* `repay_amount` and the embedded Kamino repay CPI amount. Used for full
|
|
69
|
+
* deleverages where refreshed obligation debt can exceed stale token accounting.
|
|
70
|
+
*/
|
|
71
|
+
repayBaseUnitsOverride?: BN;
|
|
72
|
+
/**
|
|
73
|
+
* When the debt token must be obtained via a swap (source asset differs
|
|
74
|
+
* from debt mint), provide swap context so the service can quote the swap
|
|
75
|
+
* and prepend a swap CPI group when the on-hand balance is insufficient.
|
|
76
|
+
*/
|
|
77
|
+
swapContext?: LeverageSwapContext;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Context for quoting a swap that tops up the debt token before repay.
|
|
81
|
+
*/
|
|
82
|
+
export interface LeverageSwapContext {
|
|
83
|
+
/** Swap client used to quote and build CPI data. */
|
|
84
|
+
swap: SwapClient;
|
|
85
|
+
/** Mint of the asset to sell (source of liquidity). */
|
|
86
|
+
sourceMint: Address;
|
|
87
|
+
/** Debt mint the repay requires. */
|
|
88
|
+
debtMint: Address;
|
|
89
|
+
/** Base units of the source asset available for the swap. */
|
|
90
|
+
sourceBalanceBaseUnits: bigint;
|
|
91
|
+
/** Address that executes the swap (e.g. a vault PDA). */
|
|
92
|
+
swapTarget: Address;
|
|
93
|
+
/** Real signer that can pay for swap route setup instructions. */
|
|
94
|
+
payer?: Address;
|
|
95
|
+
/** Slippage tolerance in basis points. Defaults to 40 for decrease-leverage swaps. */
|
|
96
|
+
slippageBps?: number;
|
|
97
|
+
/** DEX labels to exclude from swap routing (e.g. venues that failed a prior attempt). */
|
|
98
|
+
excludeDexes?: string[];
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Result of an increase-leverage (borrow) operation.
|
|
102
|
+
*/
|
|
103
|
+
export interface IncreaseLeverageResult {
|
|
104
|
+
/** Borrow amount in UI units. */
|
|
105
|
+
borrowUiAmount: number;
|
|
106
|
+
/** Borrow amount in debt-token base units. */
|
|
107
|
+
borrowBaseUnits: BN;
|
|
108
|
+
/** Prerequisite CPIs (e.g. obligation refresh) that precede the borrow. */
|
|
109
|
+
prerequisiteCpis: CpiData[];
|
|
110
|
+
/** Main borrow CPI descriptors. */
|
|
111
|
+
borrowCpis: CpiData[];
|
|
112
|
+
/** Top-level instructions that must execute before CPIs (e.g. Kamino LUT warmup). */
|
|
113
|
+
preInstructions: Instruction[];
|
|
114
|
+
/** Cache invalidations from the lending operation. */
|
|
115
|
+
postSuccessCacheInvalidations: TransactionCacheInvalidation[];
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Per-leg context for a flash-loan-wrapped rebalance leg (source or destination).
|
|
119
|
+
*/
|
|
120
|
+
export interface FlashRebalanceLegContext {
|
|
121
|
+
/** Lending-platform instruction client for building CPIs on this leg. */
|
|
122
|
+
lendingIx: LpInstructionsBase<LendingPlatformData>;
|
|
123
|
+
/** Collateral (supply) reserve. */
|
|
124
|
+
supplyReserve: ReserveBase;
|
|
125
|
+
/** Debt reserve. */
|
|
126
|
+
debtReserve: ReserveBase;
|
|
127
|
+
/** Lending pool address. */
|
|
128
|
+
pool: Address;
|
|
129
|
+
/** Lending-protocol user account (e.g. Kamino obligation). */
|
|
130
|
+
userAccount: Address;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Shared context for a flash-loan-wrapped rebalance, moving collateral between
|
|
134
|
+
* two lending positions without touching carry positions.
|
|
135
|
+
*/
|
|
136
|
+
export interface FlashRebalanceContext {
|
|
137
|
+
/** Source position (collateral withdraws from here, debt temporarily repaid). */
|
|
138
|
+
source: FlashRebalanceLegContext;
|
|
139
|
+
/** Destination position (collateral deposits here, fresh debt borrowed). */
|
|
140
|
+
destination: FlashRebalanceLegContext;
|
|
141
|
+
/** Flash-loan client for the source debt mint's lending platform. */
|
|
142
|
+
flashLoan: FlashLoanBase<LendingPlatformData>;
|
|
143
|
+
/** Swap client used to quote the exact-in swap back to source debt mint. */
|
|
144
|
+
swap: SwapClient;
|
|
145
|
+
/** Account owning the lending positions (e.g. token PDA). */
|
|
146
|
+
user: Address;
|
|
147
|
+
/** Transaction signer / fee payer. */
|
|
148
|
+
payer: Address;
|
|
149
|
+
/** Transaction identifier shared with lending clients for pre-instruction dedup. */
|
|
150
|
+
txId: string;
|
|
151
|
+
/** Deployment environment — passed to oracle fetches so custom oracles (e.g. PythSplStake) use the correct RPC endpoint. */
|
|
152
|
+
environment?: Environment;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Inputs for a flash-loan-wrapped rebalance.
|
|
156
|
+
*/
|
|
157
|
+
export interface FlashRebalanceParams {
|
|
158
|
+
/** Collateral amount in UI units; used to size the source repay for partial rebalances. */
|
|
159
|
+
collateralUiAmount: number;
|
|
160
|
+
/** Target LTV utilization rate (bps) the source should land at after the repay. */
|
|
161
|
+
sourceTargetUtilizationRateBps: number;
|
|
162
|
+
/**
|
|
163
|
+
* Upper utilization bound (bps) the destination must stay under after the borrow.
|
|
164
|
+
* This should mirror the on-chain post-rebalance guard.
|
|
165
|
+
*/
|
|
166
|
+
destinationMaxUtilizationRateBps?: number;
|
|
167
|
+
/** Slippage tolerance for the exact-in swap, in basis points. Defaults to 100. */
|
|
168
|
+
swapSlippageBps?: number;
|
|
169
|
+
/**
|
|
170
|
+
* Extra safety margin (bps) added on top of `swapSlippageBps` when sizing
|
|
171
|
+
* the destination borrow / swap input. The over-borrow makes the worst-case
|
|
172
|
+
* post-slippage swap output exceed the flash repay by this much; the
|
|
173
|
+
* excess is swept to the yielding bank on-chain. Defaults to 50.
|
|
174
|
+
*/
|
|
175
|
+
swapBufferBps?: number;
|
|
176
|
+
/**
|
|
177
|
+
* Upper bound for how much destination debt mint the builder may borrow.
|
|
178
|
+
* Defaults to the destination reserve's available borrow capacity.
|
|
179
|
+
*/
|
|
180
|
+
maxDestinationBorrowBaseUnits?: bigint;
|
|
181
|
+
/**
|
|
182
|
+
* If true, the source-side repay uses the platform's "repay all" sentinel so
|
|
183
|
+
* the obligation's full debt is cleared on-chain — caller still passes
|
|
184
|
+
* `collateralUiAmount` (used for sizing the destination borrow / swap).
|
|
185
|
+
* Set when rebalancing 100% of a position's debt.
|
|
186
|
+
*/
|
|
187
|
+
withdrawAll?: boolean;
|
|
188
|
+
/**
|
|
189
|
+
* Maximum acceptable **execution cost** of the destination-debt →
|
|
190
|
+
* source-debt swap quote, in bps, measured against the oracle-fair cross
|
|
191
|
+
* rate (`destDebtUsd / sourceDebtUsd`): route fees + price impact only.
|
|
192
|
+
* Genuine market basis between the two stables is excluded here — bound it
|
|
193
|
+
* with {@link maxMarketBasisBps}. Exceeding this throws
|
|
194
|
+
* `FlashRebalanceSwapCostExceededError` (reason `"execution-cost"`); the
|
|
195
|
+
* cost is permanently lost value. Unset = no limit.
|
|
196
|
+
*/
|
|
197
|
+
maxSwapCostBps?: number;
|
|
198
|
+
/**
|
|
199
|
+
* Maximum acceptable **market basis** between the two debt stables, in bps:
|
|
200
|
+
* how far the oracle-fair cross rate sits from 1:1 (either direction).
|
|
201
|
+
* Under the $1-pinned on-chain books the basis is charged to the token's
|
|
202
|
+
* carry-vs-debt difference at conversion time (as mark-to-market that
|
|
203
|
+
* reverses on unwind if the basis persists), and a large basis usually
|
|
204
|
+
* means one leg is depegging. Exceeding this throws
|
|
205
|
+
* `FlashRebalanceSwapCostExceededError` (reason `"market-basis"`).
|
|
206
|
+
* Unset = no limit.
|
|
207
|
+
*/
|
|
208
|
+
maxMarketBasisBps?: number;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Result of a flash-loan-wrapped rebalance build.
|
|
212
|
+
*
|
|
213
|
+
* The caller wraps the on-chain rebalance instruction with the returned
|
|
214
|
+
* {@link flashBorrowIx} and {@link flashRepayIx} at the top level.
|
|
215
|
+
*/
|
|
216
|
+
export interface FlashRebalanceResult {
|
|
217
|
+
/** Flash-borrow amount in source-debt-mint base units. */
|
|
218
|
+
flashBorrowAmountBaseUnits: BN;
|
|
219
|
+
/** Flash-repay amount in source-debt-mint base units (borrow + fee). */
|
|
220
|
+
flashRepayAmountBaseUnits: BN;
|
|
221
|
+
/** Flash fee in source-debt-mint base units. */
|
|
222
|
+
flashFeeBaseUnits: BN;
|
|
223
|
+
/** Source repay amount in UI units (equals flash-borrow amount). */
|
|
224
|
+
sourceRepayUiAmount: number;
|
|
225
|
+
/** Destination borrow amount in UI units (quote's max input). */
|
|
226
|
+
destinationBorrowUiAmount: number;
|
|
227
|
+
/** Top-level flash-borrow instruction (goes before the rebalance ix). */
|
|
228
|
+
flashBorrowIx: Instruction;
|
|
229
|
+
/** Source repay CPI group (flash-borrowed tokens → source debt), prereqs prepended. */
|
|
230
|
+
sourceRepayCpis: CpiData[];
|
|
231
|
+
/** Destination borrow CPI group, prereqs prepended. */
|
|
232
|
+
destinationBorrowCpis: CpiData[];
|
|
233
|
+
/** Swap CPI descriptor (single Swap CPI, exact-in). */
|
|
234
|
+
swapCpis: CpiData[];
|
|
235
|
+
/** Hoisted top-level instructions (Kamino LUT warmup etc.), deduplicated across legs. */
|
|
236
|
+
preInstructions: Instruction[];
|
|
237
|
+
/** Cache invalidations for the lending operations. */
|
|
238
|
+
postSuccessCacheInvalidations: TransactionCacheInvalidation[];
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Result of a decrease-leverage (repay) operation.
|
|
242
|
+
*/
|
|
243
|
+
export interface DecreaseLeverageResult {
|
|
244
|
+
/** Repay amount in UI units. */
|
|
245
|
+
repayUiAmount: number;
|
|
246
|
+
/** Repay amount in debt-token base units. */
|
|
247
|
+
repayBaseUnits: BN;
|
|
248
|
+
/** Prerequisite CPIs (e.g. obligation refresh) that precede the repay. */
|
|
249
|
+
prerequisiteCpis: CpiData[];
|
|
250
|
+
/** Main repay CPI descriptors. */
|
|
251
|
+
repayCpis: CpiData[];
|
|
252
|
+
/**
|
|
253
|
+
* Ordered CPI groups for the operation: `[swapGroup?, repayGroup]`.
|
|
254
|
+
* When no swap is needed, contains a single repay group.
|
|
255
|
+
*/
|
|
256
|
+
cpiDataGroups: CpiData[][];
|
|
257
|
+
/** True when a swap CPI was prepended because on-hand debt was insufficient. */
|
|
258
|
+
swapRequired: boolean;
|
|
259
|
+
/** Top-level instructions that must execute before CPIs. */
|
|
260
|
+
preInstructions: Instruction[];
|
|
261
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type Environment } from "common";
|
|
2
|
+
import { PriceResult } from "oracle-service";
|
|
3
|
+
import { ReserveBase } from "../data";
|
|
4
|
+
import { PositionBalanceChange } from "../types";
|
|
5
|
+
export interface ReservesPrices {
|
|
6
|
+
supply: PriceResult;
|
|
7
|
+
debt: PriceResult;
|
|
8
|
+
}
|
|
9
|
+
export interface DebtAdjustmentOptions {
|
|
10
|
+
/**
|
|
11
|
+
* How the position changes when debt is adjusted.
|
|
12
|
+
* `levered` models a loop / flash-loan rebalance where borrowed funds also
|
|
13
|
+
* increase supplied collateral.
|
|
14
|
+
* `debtOnly` models changes such as carry-position borrows where only debt
|
|
15
|
+
* changes and supplied collateral stays constant.
|
|
16
|
+
*/
|
|
17
|
+
positionChangeMode?: "levered" | "debtOnly";
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Manages a supply/debt reserve pair and provides calculations
|
|
21
|
+
* for APY, simulations, and debt adjustments.
|
|
22
|
+
*/
|
|
23
|
+
export declare class ReservesManager {
|
|
24
|
+
supplyReserve: ReserveBase;
|
|
25
|
+
debtReserve: ReserveBase;
|
|
26
|
+
private environment?;
|
|
27
|
+
private cache;
|
|
28
|
+
constructor(supplyReserve: ReserveBase, debtReserve: ReserveBase, environment?: Environment | undefined);
|
|
29
|
+
/** Max LTV ratio (0-1), using e-mode override when the pair qualifies */
|
|
30
|
+
get maxLtv(): number;
|
|
31
|
+
/**
|
|
32
|
+
* Returns supply and debt token prices.
|
|
33
|
+
* Uses reserve-embedded prices when available, otherwise fetches from oracle and caches the result.
|
|
34
|
+
*/
|
|
35
|
+
prices(): Promise<ReservesPrices>;
|
|
36
|
+
/**
|
|
37
|
+
* Net APY for the lending & borrowing position.
|
|
38
|
+
* Accounts for eligible incentives based on the paired reserve relationship.
|
|
39
|
+
*/
|
|
40
|
+
get netAPY(): number;
|
|
41
|
+
/**
|
|
42
|
+
* Simulates net APY after hypothetical position changes.
|
|
43
|
+
* Accounts for eligible incentives based on the paired reserve relationship.
|
|
44
|
+
*/
|
|
45
|
+
simulateNetAPY(args: PositionBalanceChange[]): number;
|
|
46
|
+
/** Current LTV utilization rate in basis points (0-10000) given USD position values */
|
|
47
|
+
calcLtvUtilizationRateBps(supplyUsd: number, debtUsd: number): number;
|
|
48
|
+
/**
|
|
49
|
+
* Calculates the USD debt adjustment needed to reach a target LTV utilization rate.
|
|
50
|
+
* Positive result = boost (increase leverage), negative = deleverage.
|
|
51
|
+
*/
|
|
52
|
+
calcDebtAdjustmentUsd(uiSupplyAmount: number, uiDebtAmount: number, targetLtvUtilizationRateBps: number, options?: DebtAdjustmentOptions): Promise<number>;
|
|
53
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReservesManager = void 0;
|
|
4
|
+
const common_1 = require("common");
|
|
5
|
+
const oracle_service_1 = require("oracle-service");
|
|
6
|
+
/**
|
|
7
|
+
* Manages a supply/debt reserve pair and provides calculations
|
|
8
|
+
* for APY, simulations, and debt adjustments.
|
|
9
|
+
*/
|
|
10
|
+
class ReservesManager {
|
|
11
|
+
constructor(supplyReserve, debtReserve, environment) {
|
|
12
|
+
this.supplyReserve = supplyReserve;
|
|
13
|
+
this.debtReserve = debtReserve;
|
|
14
|
+
this.environment = environment;
|
|
15
|
+
this.cache = new common_1.DataCache();
|
|
16
|
+
}
|
|
17
|
+
/** Max LTV ratio (0-1), using e-mode override when the pair qualifies */
|
|
18
|
+
get maxLtv() {
|
|
19
|
+
const emode = this.supplyReserve.emodes?.find((e) => e.debtReserve === this.debtReserve.address);
|
|
20
|
+
return emode?.ltvPct ?? this.supplyReserve.ltvPct;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Returns supply and debt token prices.
|
|
24
|
+
* Uses reserve-embedded prices when available, otherwise fetches from oracle and caches the result.
|
|
25
|
+
*/
|
|
26
|
+
async prices() {
|
|
27
|
+
const { data } = await this.cache.getDataOrThrow(async () => {
|
|
28
|
+
const supplyRealtimePrice = this.supplyReserve.mintPrice;
|
|
29
|
+
const debtRealtimePrice = this.debtReserve.mintPrice;
|
|
30
|
+
const supplyEmaPrice = this.supplyReserve.mintEmaPrice;
|
|
31
|
+
const debtEmaPrice = this.debtReserve.mintEmaPrice;
|
|
32
|
+
const realtimeMintsToFetch = [
|
|
33
|
+
...(supplyRealtimePrice === undefined ? [this.supplyReserve.mint.mint] : []),
|
|
34
|
+
...(debtRealtimePrice === undefined ? [this.debtReserve.mint.mint] : []),
|
|
35
|
+
];
|
|
36
|
+
const emaMintsToFetch = [
|
|
37
|
+
...(supplyEmaPrice === undefined ? [this.supplyReserve.mint.mint] : []),
|
|
38
|
+
...(debtEmaPrice === undefined ? [this.debtReserve.mint.mint] : []),
|
|
39
|
+
];
|
|
40
|
+
const [realtime, ema] = await Promise.all([
|
|
41
|
+
realtimeMintsToFetch.length
|
|
42
|
+
? oracle_service_1.oracle.fetchPrices(realtimeMintsToFetch, "realtime", undefined, this.environment)
|
|
43
|
+
: {},
|
|
44
|
+
emaMintsToFetch.length
|
|
45
|
+
? oracle_service_1.oracle.fetchPrices(emaMintsToFetch, "ema", undefined, this.environment)
|
|
46
|
+
: {},
|
|
47
|
+
]);
|
|
48
|
+
return {
|
|
49
|
+
supply: {
|
|
50
|
+
realtimePrice: supplyRealtimePrice ?? realtime[this.supplyReserve.mint.mint],
|
|
51
|
+
emaPrice: supplyEmaPrice ?? ema[this.supplyReserve.mint.mint],
|
|
52
|
+
},
|
|
53
|
+
debt: {
|
|
54
|
+
realtimePrice: debtRealtimePrice ?? realtime[this.debtReserve.mint.mint],
|
|
55
|
+
emaPrice: debtEmaPrice ?? ema[this.debtReserve.mint.mint],
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
}, "prices", `${this.supplyReserve.mint.mint}:${this.debtReserve.mint.mint}`);
|
|
59
|
+
return data;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Net APY for the lending & borrowing position.
|
|
63
|
+
* Accounts for eligible incentives based on the paired reserve relationship.
|
|
64
|
+
*/
|
|
65
|
+
get netAPY() {
|
|
66
|
+
return this.supplyReserve.supplyAPY(this.debtReserve.address) - this.debtReserve.borrowAPY();
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Simulates net APY after hypothetical position changes.
|
|
70
|
+
* Accounts for eligible incentives based on the paired reserve relationship.
|
|
71
|
+
*/
|
|
72
|
+
simulateNetAPY(args) {
|
|
73
|
+
return (this.supplyReserve.simulateNewSupplyAPY(args.find((x) => Boolean(x.collateralChange)) ?? { collateralChange: 0 }, this.debtReserve.address) -
|
|
74
|
+
this.debtReserve.simulateNewBorrowAPY(args.find((x) => Boolean(x.debtChange)) ?? { debtChange: 0 }));
|
|
75
|
+
}
|
|
76
|
+
/** Current LTV utilization rate in basis points (0-10000) given USD position values */
|
|
77
|
+
calcLtvUtilizationRateBps(supplyUsd, debtUsd) {
|
|
78
|
+
if (supplyUsd <= 0)
|
|
79
|
+
return 0;
|
|
80
|
+
return (debtUsd / (supplyUsd * this.maxLtv)) * 10000;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Calculates the USD debt adjustment needed to reach a target LTV utilization rate.
|
|
84
|
+
* Positive result = boost (increase leverage), negative = deleverage.
|
|
85
|
+
*/
|
|
86
|
+
async calcDebtAdjustmentUsd(uiSupplyAmount, uiDebtAmount, targetLtvUtilizationRateBps, options = {}) {
|
|
87
|
+
const { supply: supplyPrice, debt: debtPrice } = await this.prices();
|
|
88
|
+
let supplyUsd = uiSupplyAmount * supplyPrice.realtimePrice;
|
|
89
|
+
let debtUsd = uiDebtAmount * debtPrice.realtimePrice;
|
|
90
|
+
const maxLtv = this.maxLtv;
|
|
91
|
+
const targetUtilizationRate = targetLtvUtilizationRateBps / 10000;
|
|
92
|
+
const flFee = this.debtReserve.config.flashLoanFeePct / 100;
|
|
93
|
+
const lpBorrowFee = this.debtReserve.config.borrowFeePct / 100;
|
|
94
|
+
const positionChangeMode = options.positionChangeMode ?? "levered";
|
|
95
|
+
const currentLtvUtilizationRate = supplyUsd > 0 ? debtUsd / (supplyUsd * maxLtv) : 0;
|
|
96
|
+
const isBoost = currentLtvUtilizationRate < targetUtilizationRate;
|
|
97
|
+
if (isBoost) {
|
|
98
|
+
supplyUsd = uiSupplyAmount * (supplyPrice.emaPrice ?? supplyPrice.realtimePrice);
|
|
99
|
+
debtUsd = uiDebtAmount * (debtPrice.emaPrice ?? debtPrice.realtimePrice);
|
|
100
|
+
}
|
|
101
|
+
if (positionChangeMode === "debtOnly") {
|
|
102
|
+
const targetDebtDeltaUsd = targetUtilizationRate * maxLtv * supplyUsd - debtUsd;
|
|
103
|
+
return isBoost ? targetDebtDeltaUsd / (1.0 + lpBorrowFee) : targetDebtDeltaUsd;
|
|
104
|
+
}
|
|
105
|
+
return isBoost
|
|
106
|
+
? (targetUtilizationRate * maxLtv * supplyUsd - debtUsd) /
|
|
107
|
+
(1.0 + lpBorrowFee + flFee - targetUtilizationRate * maxLtv)
|
|
108
|
+
: (targetUtilizationRate * maxLtv * supplyUsd - debtUsd) /
|
|
109
|
+
(1.0 - targetUtilizationRate * maxLtv * (1.0 + flFee));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.ReservesManager = ReservesManager;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Address } from "@solana/kit";
|
|
2
|
+
/** Supported lending platforms */
|
|
3
|
+
export declare enum LendingPlatform {
|
|
4
|
+
Kamino = 0
|
|
5
|
+
}
|
|
6
|
+
export interface OutstandingIncentiveClaimAccounts {
|
|
7
|
+
farm: Address;
|
|
8
|
+
userFarm: Address;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Represents a hypothetical change to a user's position.
|
|
12
|
+
* Used for simulating APY changes before executing transactions.
|
|
13
|
+
* Values are in UI units (token amounts, not raw).
|
|
14
|
+
*/
|
|
15
|
+
export interface PositionBalanceChange {
|
|
16
|
+
/** Change in collateral amount (positive = deposit, negative = withdraw) */
|
|
17
|
+
collateralChange?: number;
|
|
18
|
+
/** Change in debt amount (positive = borrow, negative = repay) */
|
|
19
|
+
debtChange?: number;
|
|
20
|
+
}
|
|
21
|
+
/** A claimable lending-platform incentive balance for a specific claim path. */
|
|
22
|
+
export interface OutstandingIncentive {
|
|
23
|
+
mint: Address;
|
|
24
|
+
/** Claimable balance in the reward token's raw base units. */
|
|
25
|
+
amount: number;
|
|
26
|
+
/** Decimals of the reward token mint (0 if unknown). */
|
|
27
|
+
decimals: number;
|
|
28
|
+
/** Claimable balance in UI units (`amount / 10 ** decimals`). */
|
|
29
|
+
uiAmount: number;
|
|
30
|
+
claimAccounts?: OutstandingIncentiveClaimAccounts;
|
|
31
|
+
}
|
|
32
|
+
export interface SupportedReserve {
|
|
33
|
+
address: Address;
|
|
34
|
+
mintSymbol: string;
|
|
35
|
+
}
|
|
36
|
+
/** Pool mapped to supported reserves */
|
|
37
|
+
export type LendingPlatformAccounts = Record<Address, SupportedReserve[]>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LendingPlatform = void 0;
|
|
4
|
+
/** Supported lending platforms */
|
|
5
|
+
var LendingPlatform;
|
|
6
|
+
(function (LendingPlatform) {
|
|
7
|
+
LendingPlatform[LendingPlatform["Kamino"] = 0] = "Kamino";
|
|
8
|
+
})(LendingPlatform || (exports.LendingPlatform = LendingPlatform = {}));
|
|
@@ -0,0 +1,18 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./kamino"), exports);
|
|
18
|
+
__exportStar(require("./general"), exports);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Address } from "@solana/kit";
|
|
2
|
+
/**
|
|
3
|
+
* Returns all lending pool addresses that list a reserve matching the
|
|
4
|
+
* given mint symbol (case-insensitive).
|
|
5
|
+
*
|
|
6
|
+
* Useful for resolving which pool(s) a collateral token is eligible for
|
|
7
|
+
* when the caller hasn't specified a pool explicitly.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getEligiblePools(mintSymbol: string): Address[];
|
|
10
|
+
/**
|
|
11
|
+
* Returns all mint symbols listed in a given lending pool.
|
|
12
|
+
*
|
|
13
|
+
* Callers can cross-reference with the common mint registry's `assetType`
|
|
14
|
+
* to filter for stablecoins, LSTs, etc.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getBorrowableMintsForPool(pool: Address): string[];
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEligiblePools = getEligiblePools;
|
|
4
|
+
exports.getBorrowableMintsForPool = getBorrowableMintsForPool;
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
/**
|
|
7
|
+
* Returns all lending pool addresses that list a reserve matching the
|
|
8
|
+
* given mint symbol (case-insensitive).
|
|
9
|
+
*
|
|
10
|
+
* Useful for resolving which pool(s) a collateral token is eligible for
|
|
11
|
+
* when the caller hasn't specified a pool explicitly.
|
|
12
|
+
*/
|
|
13
|
+
function getEligiblePools(mintSymbol) {
|
|
14
|
+
const needle = mintSymbol.toUpperCase();
|
|
15
|
+
const pools = [];
|
|
16
|
+
for (const pool of Object.keys(constants_1.KAMINO_ACCOUNTS)) {
|
|
17
|
+
const reserves = constants_1.KAMINO_ACCOUNTS[pool];
|
|
18
|
+
if (reserves.some((r) => r.mintSymbol.toUpperCase() === needle)) {
|
|
19
|
+
pools.push(pool);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return pools;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Returns all mint symbols listed in a given lending pool.
|
|
26
|
+
*
|
|
27
|
+
* Callers can cross-reference with the common mint registry's `assetType`
|
|
28
|
+
* to filter for stablecoins, LSTs, etc.
|
|
29
|
+
*/
|
|
30
|
+
function getBorrowableMintsForPool(pool) {
|
|
31
|
+
const reserves = constants_1.KAMINO_ACCOUNTS[pool];
|
|
32
|
+
if (!reserves) {
|
|
33
|
+
throw new Error(`getBorrowableMintsForPool: unknown pool ${pool}`);
|
|
34
|
+
}
|
|
35
|
+
return reserves.map((r) => r.mintSymbol);
|
|
36
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getLendingUserAccountCacheInvalidation = getLendingUserAccountCacheInvalidation;
|
|
4
|
+
const cache_1 = require("../constants/cache");
|
|
5
|
+
function getLendingUserAccountCacheInvalidation(userAccount) {
|
|
6
|
+
return {
|
|
7
|
+
client: "kamino",
|
|
8
|
+
category: cache_1.LENDING_PLATFORM_DATA_CACHE_CATEGORY_USER_ACCOUNT,
|
|
9
|
+
id: userAccount,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./accounts"), exports);
|
|
18
|
+
__exportStar(require("./cache"), exports);
|
|
19
|
+
__exportStar(require("./kamino"), exports);
|
|
20
|
+
__exportStar(require("./lendingPlatform"), exports);
|
|
21
|
+
__exportStar(require("./math"), exports);
|
|
22
|
+
__exportStar(require("./scope"), exports);
|