@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,349 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AccountClient = exports.IGNORED_LYC_TOKEN_ADDRESSES = exports.REDEMPTION_EPOCH_CACHE_CATEGORY = exports.YIELDING_BANK_CACHE_CATEGORY = exports.LYC_TOKEN_CACHE_CATEGORY = void 0;
|
|
4
|
+
const kit_1 = require("@solana/kit");
|
|
5
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
6
|
+
const lycToken_1 = require("../models/lycToken");
|
|
7
|
+
const yieldingBank_1 = require("../models/yieldingBank");
|
|
8
|
+
const common_1 = require("common");
|
|
9
|
+
const ix_1 = require("../utils/ix");
|
|
10
|
+
/** DataCache category for LYC `Token` accounts (used when clearing cache after writes). */
|
|
11
|
+
exports.LYC_TOKEN_CACHE_CATEGORY = "token";
|
|
12
|
+
exports.YIELDING_BANK_CACHE_CATEGORY = "yieldingBank";
|
|
13
|
+
exports.REDEMPTION_EPOCH_CACHE_CATEGORY = "redemptionEpoch";
|
|
14
|
+
exports.IGNORED_LYC_TOKEN_ADDRESSES = new Set([
|
|
15
|
+
"GphwC2jwG3mcM8FYFFm5j8A4jNw3i7Hhic4poLbnoKpu", // jupSOL - need proper oracle implementation to fix this (TODO)
|
|
16
|
+
]);
|
|
17
|
+
/**
|
|
18
|
+
* Account fetchers for the long_yield_carry program.
|
|
19
|
+
*
|
|
20
|
+
* Extends {@link BaseAccountClient} for shared DataCache + `splAtaExists`, then adds LYC-specific
|
|
21
|
+
* deserialization and helpers (Token, YieldingBank, carry-trade metas).
|
|
22
|
+
*/
|
|
23
|
+
class AccountClient extends common_1.BaseAccountClient {
|
|
24
|
+
constructor(program, pda, rpc) {
|
|
25
|
+
super(rpc, {
|
|
26
|
+
categoryTtlMs: {
|
|
27
|
+
[exports.LYC_TOKEN_CACHE_CATEGORY]: 60000 * 5,
|
|
28
|
+
[exports.YIELDING_BANK_CACHE_CATEGORY]: 60000 * 10,
|
|
29
|
+
[exports.REDEMPTION_EPOCH_CACHE_CATEGORY]: 30000,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
this.program = program;
|
|
33
|
+
this.pda = pda;
|
|
34
|
+
}
|
|
35
|
+
/** Fetch and deserialize a Token account by its PDA address. */
|
|
36
|
+
async fetchToken(token, opts) {
|
|
37
|
+
if (opts?.fresh) {
|
|
38
|
+
this.dataCache.clearCacheEntry(exports.LYC_TOKEN_CACHE_CATEGORY, token);
|
|
39
|
+
}
|
|
40
|
+
const { data } = await this.dataCache.getDataOrThrow(() => this.program.account.token.fetch((0, common_1.toWeb3Pk)(token)), exports.LYC_TOKEN_CACHE_CATEGORY, token);
|
|
41
|
+
return new lycToken_1.LYCToken(token, data);
|
|
42
|
+
}
|
|
43
|
+
/** Fetch and deserialize multiple Token accounts by their PDA addresses. */
|
|
44
|
+
async fetchTokens(tokens) {
|
|
45
|
+
const { data } = await this.dataCache.getDataBatch(() => this.program.account.token.fetchMultiple(tokens.map(common_1.toWeb3Pk)), exports.LYC_TOKEN_CACHE_CATEGORY, tokens);
|
|
46
|
+
return data.map((x, i) => new lycToken_1.LYCToken(tokens[i], x));
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Fetch all Token accounts owned by the program.
|
|
50
|
+
*
|
|
51
|
+
* Pass `{ fresh: true }` to clear the cached `"all"` entry before reading,
|
|
52
|
+
* forcing a fresh `getProgramAccounts` call. The returned data is
|
|
53
|
+
* re-cached so subsequent callers benefit from the same refresh.
|
|
54
|
+
*/
|
|
55
|
+
async fetchAllTokens(opts) {
|
|
56
|
+
if (opts?.fresh) {
|
|
57
|
+
this.dataCache.clearCacheEntry(exports.LYC_TOKEN_CACHE_CATEGORY, "all");
|
|
58
|
+
}
|
|
59
|
+
const { data } = await this.dataCache.getDataOrThrow(() => this.program.account.token.all(), exports.LYC_TOKEN_CACHE_CATEGORY, "all");
|
|
60
|
+
return data
|
|
61
|
+
.map((acc) => new lycToken_1.LYCToken((0, kit_1.address)(acc.publicKey.toBase58()), acc.account))
|
|
62
|
+
.filter((token) => !exports.IGNORED_LYC_TOKEN_ADDRESSES.has(token.address) &&
|
|
63
|
+
!exports.IGNORED_LYC_TOKEN_ADDRESSES.has(token.mint));
|
|
64
|
+
}
|
|
65
|
+
/** Fetch and deserialize a YieldingBank account by its PDA address. */
|
|
66
|
+
async fetchYieldingBank(bank) {
|
|
67
|
+
const { data } = await this.dataCache.getDataOrThrow(() => this.program.account.yieldingBank.fetch((0, common_1.toWeb3Pk)(bank)), exports.YIELDING_BANK_CACHE_CATEGORY, bank);
|
|
68
|
+
return new yieldingBank_1.LYCYieldingBank(bank, data);
|
|
69
|
+
}
|
|
70
|
+
/** Fetch and deserialize multiple YieldingBank accounts by their PDA addresses. */
|
|
71
|
+
async fetchYieldingBanks(banks) {
|
|
72
|
+
const { data } = await this.dataCache.getDataBatch(() => this.program.account.yieldingBank.fetchMultiple(banks.map(common_1.toWeb3Pk)), exports.YIELDING_BANK_CACHE_CATEGORY, banks);
|
|
73
|
+
return data.map((x, i) => new yieldingBank_1.LYCYieldingBank(banks[i], x));
|
|
74
|
+
}
|
|
75
|
+
/** Fetch all YieldingBank accounts owned by the program. */
|
|
76
|
+
async fetchAllYieldingBanks() {
|
|
77
|
+
const { data } = await this.dataCache.getDataOrThrow(() => this.program.account.yieldingBank.all(), exports.YIELDING_BANK_CACHE_CATEGORY, "all");
|
|
78
|
+
return data.map((acc) => new yieldingBank_1.LYCYieldingBank((0, kit_1.address)(acc.publicKey.toBase58()), acc.account));
|
|
79
|
+
}
|
|
80
|
+
/** Fetch and deserialize a RedemptionEpoch account by its PDA address. */
|
|
81
|
+
async fetchRedemptionEpoch(epochPda, opts) {
|
|
82
|
+
if (opts?.fresh) {
|
|
83
|
+
this.dataCache.clearCacheEntry(exports.REDEMPTION_EPOCH_CACHE_CATEGORY, epochPda);
|
|
84
|
+
}
|
|
85
|
+
const { data } = await this.dataCache.getDataOrThrow(() => this.program.account.redemptionEpoch.fetch((0, common_1.toWeb3Pk)(epochPda)), exports.REDEMPTION_EPOCH_CACHE_CATEGORY, epochPda);
|
|
86
|
+
return this.toRedemptionEpochSnapshot(epochPda, data);
|
|
87
|
+
}
|
|
88
|
+
/** Fetch all RedemptionEpoch accounts owned by the program. */
|
|
89
|
+
async fetchAllRedemptionEpochs(opts) {
|
|
90
|
+
if (opts?.fresh) {
|
|
91
|
+
this.dataCache.clearCacheEntry(exports.REDEMPTION_EPOCH_CACHE_CATEGORY, "all");
|
|
92
|
+
}
|
|
93
|
+
const { data } = await this.dataCache.getDataOrThrow(() => this.program.account.redemptionEpoch.all(), exports.REDEMPTION_EPOCH_CACHE_CATEGORY, "all");
|
|
94
|
+
return data
|
|
95
|
+
.filter((acc) => acc?.publicKey && acc?.account)
|
|
96
|
+
.map((acc) => this.toRedemptionEpochSnapshot((0, kit_1.address)(acc.publicKey.toBase58()), acc.account));
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Fetch all LYC yToken holdings for a wallet.
|
|
100
|
+
*
|
|
101
|
+
* Reads the user's ATA per LYC token directly via `getMultipleAccounts` —
|
|
102
|
+
* cost scales with the LYC token count (typically <10), not the wallet's
|
|
103
|
+
* total token-account count, which can be in the hundreds for active users.
|
|
104
|
+
*
|
|
105
|
+
* USD valuation: only when `opts.priceMap` supplies a positive USD price for
|
|
106
|
+
* the collateral mint and `token.price` (NAV) is positive:
|
|
107
|
+
* `valueUsd = uiBalance × token.price × priceMap[collateralMint]`.
|
|
108
|
+
* If the caller does not supply a usable collateral price, `valueUsd` is
|
|
109
|
+
* omitted — we do not infer USD from on-chain `tvlUsd` / `totalSupply`, since
|
|
110
|
+
* those can lag risk-asset markets by tens of minutes.
|
|
111
|
+
*
|
|
112
|
+
* Tokens with no user ATA or a zero balance are filtered out unless
|
|
113
|
+
* `opts.includeEmpty` is set.
|
|
114
|
+
*
|
|
115
|
+
* Pass `opts.tokens` when the caller already has a list of tokens (e.g. a
|
|
116
|
+
* backend service with its own shorter-lived tokens cache) to skip the
|
|
117
|
+
* internal `fetchAllTokens` call and its 5-minute SDK cache.
|
|
118
|
+
*/
|
|
119
|
+
async fetchUserHoldings(owner, opts) {
|
|
120
|
+
const tokens = opts?.tokens ?? (await this.fetchAllTokens());
|
|
121
|
+
if (tokens.length === 0)
|
|
122
|
+
return [];
|
|
123
|
+
// Derive the user's ATA per LYC token mint up front so we can fetch them
|
|
124
|
+
// all in a single round trip rather than enumerating the wallet's full
|
|
125
|
+
// token-account set.
|
|
126
|
+
const ataByMint = new Map();
|
|
127
|
+
const ataAddresses = [];
|
|
128
|
+
for (const token of tokens) {
|
|
129
|
+
const tokenProgram = (0, common_1.resolveTokenProgram)(token.data.config.tokenProgram);
|
|
130
|
+
const ata = await (0, common_1.getAtaAddress)(token.mint, owner, tokenProgram);
|
|
131
|
+
ataByMint.set(token.mint, ata);
|
|
132
|
+
ataAddresses.push(ata);
|
|
133
|
+
}
|
|
134
|
+
const balanceByAta = await (0, common_1.fetchSplTokenAccountAmounts)(this.rpc, ataAddresses);
|
|
135
|
+
const holdings = [];
|
|
136
|
+
for (const token of tokens) {
|
|
137
|
+
const tokenAccount = ataByMint.get(token.mint);
|
|
138
|
+
const balance = balanceByAta.get(tokenAccount) ?? BigInt(0);
|
|
139
|
+
if (balance === BigInt(0) && !opts?.includeEmpty)
|
|
140
|
+
continue;
|
|
141
|
+
const uiBalance = (0, common_1.toUiAmount)(balance, token.decimals);
|
|
142
|
+
const collateralPrice = opts?.priceMap?.[token.collateralMint];
|
|
143
|
+
let valueUsd;
|
|
144
|
+
if (collateralPrice !== undefined && collateralPrice > 0 && token.price > 0) {
|
|
145
|
+
valueUsd = uiBalance * token.price * collateralPrice;
|
|
146
|
+
}
|
|
147
|
+
holdings.push({
|
|
148
|
+
token,
|
|
149
|
+
tokenAccount,
|
|
150
|
+
balance,
|
|
151
|
+
uiBalance,
|
|
152
|
+
valueUsd,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
return holdings;
|
|
156
|
+
}
|
|
157
|
+
/** Fetch all Token and YieldingBank accounts in parallel. */
|
|
158
|
+
async fetchAllTokensAndYieldingBanks() {
|
|
159
|
+
const [tokens, yieldingBanks] = await Promise.all([
|
|
160
|
+
this.fetchAllTokens(),
|
|
161
|
+
this.fetchAllYieldingBanks(),
|
|
162
|
+
]);
|
|
163
|
+
return { tokens, yieldingBanks };
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Build the ordered remaining-accounts list required by refresh_yielding_bank
|
|
167
|
+
* (and embedded within rebalance_yielding_bank):
|
|
168
|
+
*
|
|
169
|
+
* 1. base_asset: [token_account, oracle, external_liquidity...] (if active)
|
|
170
|
+
* 2. Per active asset holding (in slot order): [token_account, oracle, external_liquidity...]
|
|
171
|
+
* The token_account is the mint's ATA owned by the bank PDA; the program
|
|
172
|
+
* reads its raw balance to sync asset.amount on every refresh.
|
|
173
|
+
* 3. One user account per active external yielding position (in slot order)
|
|
174
|
+
*
|
|
175
|
+
* If `newAllocation` is provided, its [token_account, oracle, external_liquidity...]
|
|
176
|
+
* tuple is injected at the first inactive slot, matching where `apply_allocation`
|
|
177
|
+
* will register it.
|
|
178
|
+
*/
|
|
179
|
+
async getYieldingBankRefreshAccounts(bank, newAllocation, externalLiquiditySources = []) {
|
|
180
|
+
const bankData = await this.fetchYieldingBank(bank);
|
|
181
|
+
const pushAssetAccounts = async (mint, tokenProgramAddr, externalLiquidityType, oracle, accounts) => {
|
|
182
|
+
const ata = await (0, common_1.getAtaAddress)(mint, bank, tokenProgramAddr);
|
|
183
|
+
accounts.push((0, common_1.toCustomAccountMeta)(ata, false, { owner: bank, tokenProgram: tokenProgramAddr, mint }));
|
|
184
|
+
accounts.push((0, common_1.toCustomAccountMeta)(oracle));
|
|
185
|
+
if ((0, common_1.ExternalLiquidityTypeToEnum)(externalLiquidityType) !== common_1.ExternalLiquidityType.None) {
|
|
186
|
+
const sources = externalLiquiditySources
|
|
187
|
+
.filter((source) => source.mint === mint)
|
|
188
|
+
.map((source) => source.account);
|
|
189
|
+
accounts.push(...sources.map((source) => (0, common_1.toCustomAccountMeta)(source)));
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
const assetAccounts = [];
|
|
193
|
+
// base_asset first
|
|
194
|
+
const baseAsset = bankData.baseAsset;
|
|
195
|
+
if (!baseAsset.mint.equals(web3_js_1.PublicKey.default)) {
|
|
196
|
+
await pushAssetAccounts((0, common_1.fromWeb3Pk)(baseAsset.mint), (0, common_1.resolveTokenProgram)(baseAsset.tokenProgram), baseAsset.externalLiquidity, (0, common_1.fromWeb3Pk)(baseAsset.oracle), assetAccounts);
|
|
197
|
+
}
|
|
198
|
+
// Per active asset holding: [token_account, oracle].
|
|
199
|
+
// The first inactive slot gets the newAllocation pair (if provided).
|
|
200
|
+
let newAssetInserted = false;
|
|
201
|
+
for (const asset of bankData.assets) {
|
|
202
|
+
if (!asset.mint.equals(web3_js_1.PublicKey.default)) {
|
|
203
|
+
await pushAssetAccounts((0, common_1.fromWeb3Pk)(asset.mint), (0, common_1.resolveTokenProgram)(asset.tokenProgram), asset.externalLiquidity, (0, common_1.fromWeb3Pk)(asset.oracle), assetAccounts);
|
|
204
|
+
}
|
|
205
|
+
else if (newAllocation?.assetHolding && !newAssetInserted) {
|
|
206
|
+
const { mint, oracle, externalLiquidityType } = newAllocation.assetHolding;
|
|
207
|
+
const mintInfo = await this.rpc.getAccountInfo(mint, { encoding: "base64" }).send();
|
|
208
|
+
const mintOwner = mintInfo.value.owner;
|
|
209
|
+
await pushAssetAccounts(mint, mintOwner, externalLiquidityType, oracle, assetAccounts);
|
|
210
|
+
newAssetInserted = true;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
// External position accounts — active slots only (lendingPlatform != None).
|
|
214
|
+
// Per position: [protocol_user_acc, collateral_reserve].
|
|
215
|
+
// The new allocation's accounts are inserted at the first inactive slot.
|
|
216
|
+
const extAccounts = [];
|
|
217
|
+
let newExtInserted = false;
|
|
218
|
+
for (const pos of bankData.externalYieldingPositions) {
|
|
219
|
+
if (!("none" in pos.lendingPlatform)) {
|
|
220
|
+
extAccounts.push((0, common_1.toCustomAccountMeta)((0, common_1.fromWeb3Pk)(pos.protocolUserAcc)));
|
|
221
|
+
extAccounts.push((0, common_1.toCustomAccountMeta)((0, common_1.fromWeb3Pk)(pos.collateralReserve)));
|
|
222
|
+
}
|
|
223
|
+
else if (newAllocation?.externalPosition && !newExtInserted) {
|
|
224
|
+
extAccounts.push((0, common_1.toCustomAccountMeta)(newAllocation.externalPosition.protocolUserAcc));
|
|
225
|
+
extAccounts.push((0, common_1.toCustomAccountMeta)(newAllocation.externalPosition.collateralReserve));
|
|
226
|
+
newExtInserted = true;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return [...assetAccounts, ...extAccounts];
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Build the carry-trade remaining accounts for increase/decrease carry
|
|
233
|
+
* position instructions.
|
|
234
|
+
*
|
|
235
|
+
* Fetches the token's lending position at `lendingPositionIndex`, derives
|
|
236
|
+
* the debt ATAs, and returns the ordered account metas that
|
|
237
|
+
* `parse_carry_trade_accounts` expects on the Rust side.
|
|
238
|
+
*
|
|
239
|
+
* Returns the fixed carry-trade account prefix, including the instructions
|
|
240
|
+
* sysvar in slot 8 so CPI refs are derived against the on-chain layout.
|
|
241
|
+
*
|
|
242
|
+
* @param lendingPositionUserAccount - Override for the protocol user account.
|
|
243
|
+
* Defaults to the value stored in the on-chain lending position.
|
|
244
|
+
*/
|
|
245
|
+
async getCarryTradeAccounts(token, yieldingBank, lendingPositionIndex, lendingPositionUserAccount) {
|
|
246
|
+
const tokenData = await this.fetchToken(token);
|
|
247
|
+
const position = tokenData.data.lendingPositions[lendingPositionIndex];
|
|
248
|
+
const debt = position.accounting.debt;
|
|
249
|
+
const debtMint = (0, common_1.fromWeb3Pk)(debt.mint);
|
|
250
|
+
const debtTokenProgram = (0, common_1.resolveTokenProgram)(debt.tokenProgram);
|
|
251
|
+
const tokenLpDebtTa = await (0, common_1.getAtaAddress)(debtMint, token, debtTokenProgram);
|
|
252
|
+
const yieldingBankTa = await (0, common_1.getAtaAddress)(debtMint, yieldingBank, debtTokenProgram);
|
|
253
|
+
return (0, ix_1.buildCarryTradeAccountMetas)(token, yieldingBank, tokenLpDebtTa, yieldingBankTa, lendingPositionUserAccount ?? (0, common_1.fromWeb3Pk)(position.protocolUserAcc), (0, common_1.fromWeb3Pk)(position.collateralReserve), (0, common_1.fromWeb3Pk)(position.accounting.debt.oracle), debtMint, debtTokenProgram);
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Derive the account set needed to refresh a single token lending position.
|
|
257
|
+
*
|
|
258
|
+
* This pulls the protocol user account, collateral reserve, and debt oracle
|
|
259
|
+
* from the selected lending position so callers can pass the exact accounts
|
|
260
|
+
* required by refresh-oriented instructions. Optional overrides let tests or
|
|
261
|
+
* advanced callers substitute explicit addresses when needed.
|
|
262
|
+
*/
|
|
263
|
+
getTokenLendingPositionRefreshAccounts(tokenData, lendingPositionIndex, overrides) {
|
|
264
|
+
const position = tokenData.lendingPositions[lendingPositionIndex];
|
|
265
|
+
if (!position) {
|
|
266
|
+
throw new Error(`Invalid lending position index: ${lendingPositionIndex}`);
|
|
267
|
+
}
|
|
268
|
+
return {
|
|
269
|
+
userAccount: overrides?.userAccount ?? (0, common_1.fromWeb3Pk)(position.protocolUserAcc),
|
|
270
|
+
collateralReserve: overrides?.collateralReserve ?? (0, common_1.fromWeb3Pk)(position.collateralReserve),
|
|
271
|
+
debtOracle: overrides?.debtOracle ?? (0, common_1.fromWeb3Pk)(position.accounting.debt.oracle),
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Build the fixed initial-accounts prefix for `rebalance_token`.
|
|
276
|
+
*
|
|
277
|
+
* The Rust handler reads these positionally from the front of
|
|
278
|
+
* `remaining_accounts` (see `RebalanceTokenAccounts::parse`). Returning the
|
|
279
|
+
* prefix as `initialAccounts` to `createMultiCpiRefs` lets every CPI in the
|
|
280
|
+
* flash-rebalance bundle deduplicate against these slots, shrinking the
|
|
281
|
+
* transaction's account list compared to declaring them as named ix
|
|
282
|
+
* accounts that would force separate copies in the message header.
|
|
283
|
+
*/
|
|
284
|
+
async getRebalanceTokenInitialAccounts(token, yieldingBank, lpIndex, destinationDebtOracle, overrides) {
|
|
285
|
+
const tokenData = await this.fetchToken(token);
|
|
286
|
+
const position = tokenData.data.lendingPositions[lpIndex];
|
|
287
|
+
if (!position) {
|
|
288
|
+
throw new Error(`Invalid lending position index: ${lpIndex}`);
|
|
289
|
+
}
|
|
290
|
+
const sourceDebtMint = (0, common_1.fromWeb3Pk)(position.accounting.debt.mint);
|
|
291
|
+
const sourceDebtTokenProgram = (0, common_1.resolveTokenProgram)(position.accounting.debt.tokenProgram);
|
|
292
|
+
const yieldingBankSourceDebtAta = await (0, common_1.getAtaAddress)(sourceDebtMint, yieldingBank, sourceDebtTokenProgram);
|
|
293
|
+
const lp = this.getTokenLendingPositionRefreshAccounts(tokenData.data, lpIndex, overrides);
|
|
294
|
+
return (0, ix_1.buildRebalanceTokenInitialAccounts)({
|
|
295
|
+
token,
|
|
296
|
+
yieldingBank,
|
|
297
|
+
sourceDebtMint,
|
|
298
|
+
sourceDebtTokenProgram,
|
|
299
|
+
yieldingBankSourceDebtAta,
|
|
300
|
+
lpUserAccount: lp.userAccount,
|
|
301
|
+
sourceDebtOracle: lp.debtOracle,
|
|
302
|
+
destinationDebtOracle,
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Build the initial account pool seed for refresh_token_state.
|
|
307
|
+
*
|
|
308
|
+
* These accounts are placed at the front of the deduplicated remaining_accounts
|
|
309
|
+
* pool (positions 0..N-1), so the index-based TokenRefreshRefs computed by
|
|
310
|
+
* the builder remain stable whether or not prereq CPIs introduce additional accounts.
|
|
311
|
+
*
|
|
312
|
+
* Order:
|
|
313
|
+
* 1. Per active lending position (in slot order): protocol_user_acc, collateral_reserve, debt_oracle
|
|
314
|
+
* 2. One YieldingBank PDA per active carry position (in slot order)
|
|
315
|
+
*/
|
|
316
|
+
async getTokenRefreshAccounts(token) {
|
|
317
|
+
const tokenData = await this.fetchToken(token);
|
|
318
|
+
const accounts = [];
|
|
319
|
+
for (const position of tokenData.data.lendingPositions) {
|
|
320
|
+
if ((0, common_1.lendingPlatformToEnum)(position.platform) === common_1.LendingPlatform.None)
|
|
321
|
+
continue;
|
|
322
|
+
accounts.push((0, common_1.toCustomAccountMeta)((0, common_1.fromWeb3Pk)(position.protocolUserAcc)));
|
|
323
|
+
accounts.push((0, common_1.toCustomAccountMeta)((0, common_1.fromWeb3Pk)(position.collateralReserve)));
|
|
324
|
+
accounts.push((0, common_1.toCustomAccountMeta)((0, common_1.fromWeb3Pk)(position.accounting.debt.oracle)));
|
|
325
|
+
}
|
|
326
|
+
for (const { data: carry } of tokenData.activeCarryPositions) {
|
|
327
|
+
const baseMint = (0, common_1.fromWeb3Pk)(carry.yieldingBaseMint);
|
|
328
|
+
const [bankPda] = await this.pda.deriveYieldingBankPda(baseMint, carry.yieldingBankId);
|
|
329
|
+
accounts.push((0, common_1.toCustomAccountMeta)(bankPda));
|
|
330
|
+
}
|
|
331
|
+
return accounts;
|
|
332
|
+
}
|
|
333
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
334
|
+
toRedemptionEpochSnapshot(pda, data) {
|
|
335
|
+
return {
|
|
336
|
+
pda,
|
|
337
|
+
tokenPda: data.header.token.toBase58(),
|
|
338
|
+
epochId: BigInt(data.header.id.toString()),
|
|
339
|
+
payer: data.header.payer.toBase58(),
|
|
340
|
+
status: data.header.status,
|
|
341
|
+
requestCount: Number(data.sequencing.requestCount.toString()),
|
|
342
|
+
processedRequestCount: Number(data.sequencing.processedRequestCount.toString()),
|
|
343
|
+
grossCollateralClaim: (0, common_1.toBigInt)(data.accounting.grossCollateralClaim),
|
|
344
|
+
realizedUnwindLoss: (0, common_1.toBigInt)(data.accounting.realizedUnwindLoss),
|
|
345
|
+
fundedCollateral: (0, common_1.toBigInt)(data.accounting.fundedCollateral),
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
exports.AccountClient = AccountClient;
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
import type { BN } from "@anchor-lang/core";
|
|
2
|
+
import type { Address } from "@solana/kit";
|
|
3
|
+
import type { LendingPlatform } from "common";
|
|
4
|
+
import type { BurnTokenIxParams, BurnTokenTxParams, ClaimIncentivesTxParams, CollectInterestTxParams, ClaimIncentivesParams, CollectInterestParams, CreateCpiPlanParams, CreateTokenLendingPositionAccounts, CreateTokenLendingPositionParams, CreateTokenParams, CreateYieldingBankParams, DecreaseCarryPositionParams, DecreaseCarryPositionTxParams, DepositUnlentCollateralParams, DepositUnlentCollateralTxParams, IncreaseCarryPositionParams, IncreaseCarryPositionTxParams, MintTokenTxParams, RebalanceTokenParams, RebalanceTokenTxParams, RebalanceYieldingBankParams, RebalanceYieldingBankTxParams, RecollateralizeLossParams, RecollateralizeLossTxParams, RefreshTokensTxParams, UpdateLendingPositionConfigParams, UpdateTokenConfigurationParams, UpdateTokenMetadataParams, UpdateYieldingBankConfigParams, SetRedemptionEpochStatusParams, TopUpUnlentReservesParams, TopUpUnlentReservesTxParams, ProcessAsyncBurnTxParams, YieldingBankAllocationConfig, YieldingBankExternalLiquiditySource } from "../types";
|
|
5
|
+
export interface CreateTokenIxArgs {
|
|
6
|
+
mint: Address;
|
|
7
|
+
collateralMint: Address;
|
|
8
|
+
params: CreateTokenParams;
|
|
9
|
+
tokenProgram?: Address;
|
|
10
|
+
collateralTokenProgram?: Address;
|
|
11
|
+
/** Curator signer. Must be in the on-chain `WHITELISTED_CURATORS` list.
|
|
12
|
+
* Defaults to the builder's admin wallet. */
|
|
13
|
+
curator?: Address;
|
|
14
|
+
/** Optional per-token admin override. Omit to use the feature-gated program default. */
|
|
15
|
+
adminRole?: Address;
|
|
16
|
+
/** Optional per-token manager override. Omit to use the program default. */
|
|
17
|
+
managerRole?: Address;
|
|
18
|
+
/** Optional per-token curator-fees wallet override. Omit to use the program default. */
|
|
19
|
+
feesRole?: Address;
|
|
20
|
+
/** Optional per-token circuit-breaker controller override. Omit to use the program default. */
|
|
21
|
+
cbControllerRole?: Address;
|
|
22
|
+
}
|
|
23
|
+
export interface CreateCpiPlanIxArgs {
|
|
24
|
+
cpiPlan: Address;
|
|
25
|
+
manager: Address;
|
|
26
|
+
params: CreateCpiPlanParams;
|
|
27
|
+
}
|
|
28
|
+
export interface UpdateTokenMetadataIxArgs {
|
|
29
|
+
token: Address;
|
|
30
|
+
mint: Address;
|
|
31
|
+
params: UpdateTokenMetadataParams;
|
|
32
|
+
}
|
|
33
|
+
export interface CreateTokenLendingPositionIxArgs {
|
|
34
|
+
token: Address;
|
|
35
|
+
params: CreateTokenLendingPositionParams;
|
|
36
|
+
/**
|
|
37
|
+
* Accounts that describe the new lending position — their pubkeys are
|
|
38
|
+
* stored on the position and their on-chain state is read by the final
|
|
39
|
+
* refresh.
|
|
40
|
+
*/
|
|
41
|
+
accounts: CreateTokenLendingPositionAccounts;
|
|
42
|
+
}
|
|
43
|
+
export interface CreateTokenLendingPositionTxArgs {
|
|
44
|
+
/** Token PDA that will own the new lending position. */
|
|
45
|
+
token: Address;
|
|
46
|
+
/**
|
|
47
|
+
* Debt mint address. Decimals, token program, and oracle metadata are
|
|
48
|
+
* derived from the mint registry / oracle service.
|
|
49
|
+
*/
|
|
50
|
+
debtMint: Address;
|
|
51
|
+
/** Debt reserve address. Looked up by `debtMint` against the pool when omitted. */
|
|
52
|
+
debtReserve?: Address;
|
|
53
|
+
/**
|
|
54
|
+
* Lending-protocol user-account ID used when the obligation must be
|
|
55
|
+
* created. Ignored when the protocol user account already exists.
|
|
56
|
+
* Defaults to 0. For Kamino this is the obligation sub-account index.
|
|
57
|
+
*/
|
|
58
|
+
userAccountId?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Lending pool. When omitted, resolved automatically from the token's
|
|
61
|
+
* collateral mint via {@link resolveDefaultPool}. Throws if the mint
|
|
62
|
+
* is listed in zero or multiple pools (caller must disambiguate).
|
|
63
|
+
*/
|
|
64
|
+
pool?: Address;
|
|
65
|
+
/** @default LendingPlatform.Kamino */
|
|
66
|
+
lendingPlatform?: LendingPlatform;
|
|
67
|
+
/** @default 9000 */
|
|
68
|
+
targetUtilizationRateBps?: number;
|
|
69
|
+
/** @default 150 */
|
|
70
|
+
maxDeviationAboveTargetUtilBps?: number;
|
|
71
|
+
/** @default 300 */
|
|
72
|
+
maxDeviationBelowTargetUtilBps?: number;
|
|
73
|
+
/** Optional txId reused across composed plans in the same transaction. */
|
|
74
|
+
txId?: string;
|
|
75
|
+
}
|
|
76
|
+
export interface CreateYieldingBankIxArgs {
|
|
77
|
+
baseMint: Address;
|
|
78
|
+
params: CreateYieldingBankParams;
|
|
79
|
+
baseMintTokenProgram?: Address;
|
|
80
|
+
/** Curator signer. Must be in on-chain `WHITELISTED_CURATORS`. Defaults to builder admin. */
|
|
81
|
+
curator?: Address;
|
|
82
|
+
/** Optional admin override. Omit to use the program default. */
|
|
83
|
+
adminRole?: Address;
|
|
84
|
+
/** Optional manager override. Omit to use the program default. */
|
|
85
|
+
managerRole?: Address;
|
|
86
|
+
/** Optional circuit-breaker controller override. Omit to use the program default. */
|
|
87
|
+
cbControllerRole?: Address;
|
|
88
|
+
}
|
|
89
|
+
export interface RefreshYieldingBankIxArgs {
|
|
90
|
+
signer: Address;
|
|
91
|
+
yieldingBank: Address;
|
|
92
|
+
externalLiquiditySources?: YieldingBankExternalLiquiditySource[];
|
|
93
|
+
}
|
|
94
|
+
export interface RefreshYieldingBankTxArgs {
|
|
95
|
+
signer: Address;
|
|
96
|
+
yieldingBank: Address;
|
|
97
|
+
}
|
|
98
|
+
export interface CreateYieldingBankAllocationIxArgs {
|
|
99
|
+
yieldingBank: Address;
|
|
100
|
+
config: YieldingBankAllocationConfig;
|
|
101
|
+
}
|
|
102
|
+
export interface RebalanceYieldingBankIxArgs {
|
|
103
|
+
yieldingBank: Address;
|
|
104
|
+
params: RebalanceYieldingBankParams;
|
|
105
|
+
}
|
|
106
|
+
export interface RebalanceYieldingBankTxArgs {
|
|
107
|
+
yieldingBank: Address;
|
|
108
|
+
params: RebalanceYieldingBankTxParams;
|
|
109
|
+
}
|
|
110
|
+
export interface RefreshTokenStateIxArgs {
|
|
111
|
+
signer: Address;
|
|
112
|
+
token: Address;
|
|
113
|
+
collateralOracle: Address;
|
|
114
|
+
/** Optional secondary oracle account, required only for composite oracle
|
|
115
|
+
* types. For `PythSplStake` collateral this is the SPL stake pool account. */
|
|
116
|
+
secondaryCollateralOracle?: Address;
|
|
117
|
+
collateralTokenAccount: Address;
|
|
118
|
+
collateralTokenProgram: Address;
|
|
119
|
+
}
|
|
120
|
+
export interface RefreshTokensBuilderTxArgs {
|
|
121
|
+
signer: Address;
|
|
122
|
+
params: RefreshTokensTxParams;
|
|
123
|
+
}
|
|
124
|
+
export interface IncreaseCarryPositionIxArgs {
|
|
125
|
+
token: Address;
|
|
126
|
+
params: IncreaseCarryPositionParams;
|
|
127
|
+
}
|
|
128
|
+
export interface IncreaseCarryPositionTxArgs {
|
|
129
|
+
manager: Address;
|
|
130
|
+
token: Address;
|
|
131
|
+
params: IncreaseCarryPositionTxParams;
|
|
132
|
+
}
|
|
133
|
+
export interface RebalanceTokenIxArgs {
|
|
134
|
+
token: Address;
|
|
135
|
+
params: RebalanceTokenParams;
|
|
136
|
+
}
|
|
137
|
+
export interface RebalanceTokenTxArgs {
|
|
138
|
+
token: Address;
|
|
139
|
+
params: RebalanceTokenTxParams;
|
|
140
|
+
}
|
|
141
|
+
export interface RecollateralizeLossIxArgs {
|
|
142
|
+
token: Address;
|
|
143
|
+
params: RecollateralizeLossParams;
|
|
144
|
+
}
|
|
145
|
+
export interface RecollateralizeLossTxArgs {
|
|
146
|
+
token: Address;
|
|
147
|
+
params: RecollateralizeLossTxParams;
|
|
148
|
+
}
|
|
149
|
+
export interface DecreaseCarryPositionIxArgs {
|
|
150
|
+
signer: Address;
|
|
151
|
+
params: DecreaseCarryPositionParams;
|
|
152
|
+
}
|
|
153
|
+
export interface DecreaseCarryPositionTxArgs {
|
|
154
|
+
signer: Address;
|
|
155
|
+
token: Address;
|
|
156
|
+
params: DecreaseCarryPositionTxParams;
|
|
157
|
+
/** When set, the DCP loss is attributed to this epoch instead of socialised into the price. */
|
|
158
|
+
redemptionEpoch?: Address;
|
|
159
|
+
}
|
|
160
|
+
export interface UpdateLendingPositionConfigIxArgs {
|
|
161
|
+
token: Address;
|
|
162
|
+
params: UpdateLendingPositionConfigParams;
|
|
163
|
+
}
|
|
164
|
+
export interface DepositUnlentCollateralIxArgs {
|
|
165
|
+
token: Address;
|
|
166
|
+
params: DepositUnlentCollateralParams;
|
|
167
|
+
}
|
|
168
|
+
export interface SetTokenCircuitBreakerIxArgs {
|
|
169
|
+
authority: Address;
|
|
170
|
+
token: Address;
|
|
171
|
+
active: boolean;
|
|
172
|
+
}
|
|
173
|
+
export interface SetTokenCircuitBreakerTxArgs {
|
|
174
|
+
authority: Address;
|
|
175
|
+
token: Address;
|
|
176
|
+
active: boolean;
|
|
177
|
+
}
|
|
178
|
+
export interface MintTokenIxArgs {
|
|
179
|
+
signer: Address;
|
|
180
|
+
token: Address;
|
|
181
|
+
depositAmount: BN;
|
|
182
|
+
}
|
|
183
|
+
export interface MintTokenTxArgs {
|
|
184
|
+
signer: Address;
|
|
185
|
+
token: Address;
|
|
186
|
+
params: MintTokenTxParams;
|
|
187
|
+
}
|
|
188
|
+
export interface BurnTokenIxArgs {
|
|
189
|
+
signer: Address;
|
|
190
|
+
token: Address;
|
|
191
|
+
params: BurnTokenIxParams;
|
|
192
|
+
/** Pays rent for async-path accounts; must sign the transaction. Defaults to signer. */
|
|
193
|
+
payer?: Address;
|
|
194
|
+
}
|
|
195
|
+
export interface BurnTokenTxArgs {
|
|
196
|
+
signer: Address;
|
|
197
|
+
token: Address;
|
|
198
|
+
params: BurnTokenTxParams;
|
|
199
|
+
/** Pays rent for async-path accounts; must sign the transaction. Defaults to signer. */
|
|
200
|
+
payer?: Address;
|
|
201
|
+
}
|
|
202
|
+
export interface SetRedemptionEpochStatusIxArgs {
|
|
203
|
+
token: Address;
|
|
204
|
+
redemptionEpoch: Address;
|
|
205
|
+
params: SetRedemptionEpochStatusParams;
|
|
206
|
+
}
|
|
207
|
+
export interface TopUpUnlentReservesIxArgs {
|
|
208
|
+
token: Address;
|
|
209
|
+
params: TopUpUnlentReservesParams;
|
|
210
|
+
}
|
|
211
|
+
export interface TopUpUnlentReservesTxArgs {
|
|
212
|
+
token: Address;
|
|
213
|
+
params: TopUpUnlentReservesTxParams;
|
|
214
|
+
}
|
|
215
|
+
export interface CreditUnlentToRedemptionEpochIxArgs {
|
|
216
|
+
token: Address;
|
|
217
|
+
redemptionEpoch: Address;
|
|
218
|
+
}
|
|
219
|
+
export interface ProcessAsyncBurnIxArgs {
|
|
220
|
+
token: Address;
|
|
221
|
+
redemptionEpoch: Address;
|
|
222
|
+
request: Address;
|
|
223
|
+
}
|
|
224
|
+
export interface ProcessAsyncBurnTxArgs {
|
|
225
|
+
token: Address;
|
|
226
|
+
params: ProcessAsyncBurnTxParams;
|
|
227
|
+
}
|
|
228
|
+
export interface ClaimIncentivesIxArgs {
|
|
229
|
+
token: Address;
|
|
230
|
+
params: ClaimIncentivesParams;
|
|
231
|
+
}
|
|
232
|
+
export interface ClaimIncentivesTxArgs {
|
|
233
|
+
token: Address;
|
|
234
|
+
params: ClaimIncentivesTxParams;
|
|
235
|
+
}
|
|
236
|
+
export interface CollectInterestIxArgs {
|
|
237
|
+
token: Address;
|
|
238
|
+
yieldingBank: Address;
|
|
239
|
+
params: CollectInterestParams;
|
|
240
|
+
}
|
|
241
|
+
export interface CollectInterestTxArgs {
|
|
242
|
+
manager: Address;
|
|
243
|
+
token: Address;
|
|
244
|
+
params: CollectInterestTxParams;
|
|
245
|
+
}
|
|
246
|
+
export interface SetYieldingBankCircuitBreakerIxArgs {
|
|
247
|
+
authority: Address;
|
|
248
|
+
yieldingBank: Address;
|
|
249
|
+
active: boolean;
|
|
250
|
+
}
|
|
251
|
+
export interface SetYieldingBankCircuitBreakerTxArgs {
|
|
252
|
+
authority: Address;
|
|
253
|
+
yieldingBank: Address;
|
|
254
|
+
active: boolean;
|
|
255
|
+
}
|
|
256
|
+
export interface UpdateYieldingBankConfigIxArgs {
|
|
257
|
+
yieldingBank: Address;
|
|
258
|
+
params: UpdateYieldingBankConfigParams;
|
|
259
|
+
/** Optional admin signer override. */
|
|
260
|
+
admin?: Address;
|
|
261
|
+
/** Optional new manager. Omit for no change. */
|
|
262
|
+
managerRole?: Address;
|
|
263
|
+
/** Optional new circuit-breaker controller. Omit for no change. */
|
|
264
|
+
cbControllerRole?: Address;
|
|
265
|
+
}
|
|
266
|
+
export interface ResetTokenBurnRateLimitIxArgs {
|
|
267
|
+
token: Address;
|
|
268
|
+
}
|
|
269
|
+
export interface UpdateTokenConfigurationIxArgs {
|
|
270
|
+
token: Address;
|
|
271
|
+
params: UpdateTokenConfigurationParams;
|
|
272
|
+
/**
|
|
273
|
+
* Optional authority signer. The token admin may update all configuration;
|
|
274
|
+
* the token manager may update fee fields only. Defaults to the token admin.
|
|
275
|
+
*/
|
|
276
|
+
admin?: Address;
|
|
277
|
+
/** Optional new manager. Omit for no change. */
|
|
278
|
+
managerRole?: Address;
|
|
279
|
+
/** Optional new curator-fees wallet. Omit for no change. */
|
|
280
|
+
feesRole?: Address;
|
|
281
|
+
/** Optional new circuit-breaker controller. Omit for no change. */
|
|
282
|
+
cbControllerRole?: Address;
|
|
283
|
+
}
|
|
284
|
+
export interface CollectFeesIxArgs {
|
|
285
|
+
token: Address;
|
|
286
|
+
/**
|
|
287
|
+
* Signer collecting the fees. Must be either the token's `roles.curator`
|
|
288
|
+
* (drains `pending_curator_fees` into the curator fee wallet) or the
|
|
289
|
+
* program-wide `PROTOCOL_ADMIN` (drains `pending_protocol_fees` into the
|
|
290
|
+
* protocol fee wallet). The fee bucket and destination wallet are both
|
|
291
|
+
* derived from whichever role this signer matches.
|
|
292
|
+
*/
|
|
293
|
+
authority: Address;
|
|
294
|
+
}
|
|
295
|
+
export interface DepositUnlentCollateralTxArgs {
|
|
296
|
+
manager: Address;
|
|
297
|
+
token: Address;
|
|
298
|
+
params: DepositUnlentCollateralTxParams;
|
|
299
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Instruction } from "@solana/kit";
|
|
2
|
+
import type { CreditUnlentToRedemptionEpochIxArgs, ProcessAsyncBurnIxArgs, ProcessAsyncBurnTxArgs, SetRedemptionEpochStatusIxArgs, TopUpUnlentReservesIxArgs, TopUpUnlentReservesTxArgs } from "./args";
|
|
3
|
+
import type { LongYieldCarryTransactionPlan } from "../types";
|
|
4
|
+
import { LongYieldCarryBuilderBase } from "./base";
|
|
5
|
+
export declare class SetRedemptionEpochStatusBuilder extends LongYieldCarryBuilderBase<SetRedemptionEpochStatusIxArgs, SetRedemptionEpochStatusIxArgs> {
|
|
6
|
+
getTx(args: SetRedemptionEpochStatusIxArgs): Promise<LongYieldCarryTransactionPlan>;
|
|
7
|
+
getIx(args: SetRedemptionEpochStatusIxArgs): Promise<Instruction>;
|
|
8
|
+
}
|
|
9
|
+
export declare class TopUpUnlentReservesBuilder extends LongYieldCarryBuilderBase<TopUpUnlentReservesIxArgs, TopUpUnlentReservesTxArgs> {
|
|
10
|
+
getTx(args: TopUpUnlentReservesTxArgs): Promise<LongYieldCarryTransactionPlan>;
|
|
11
|
+
getIx(args: TopUpUnlentReservesIxArgs): Promise<Instruction>;
|
|
12
|
+
}
|
|
13
|
+
export declare class CreditUnlentToRedemptionEpochBuilder extends LongYieldCarryBuilderBase<CreditUnlentToRedemptionEpochIxArgs, CreditUnlentToRedemptionEpochIxArgs> {
|
|
14
|
+
getTx(args: CreditUnlentToRedemptionEpochIxArgs): Promise<LongYieldCarryTransactionPlan>;
|
|
15
|
+
getIx(args: CreditUnlentToRedemptionEpochIxArgs): Promise<Instruction>;
|
|
16
|
+
}
|
|
17
|
+
export declare class ProcessAsyncBurnBuilder extends LongYieldCarryBuilderBase<ProcessAsyncBurnIxArgs, ProcessAsyncBurnTxArgs> {
|
|
18
|
+
getTx(args: ProcessAsyncBurnTxArgs): Promise<LongYieldCarryTransactionPlan>;
|
|
19
|
+
getIx(args: ProcessAsyncBurnIxArgs): Promise<Instruction>;
|
|
20
|
+
}
|