@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,20 @@
|
|
|
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("./solana"), exports);
|
|
18
|
+
__exportStar(require("./general"), exports);
|
|
19
|
+
__exportStar(require("./cpi"), exports);
|
|
20
|
+
__exportStar(require("./enums"), exports);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AssociatedTokenSeeds } from "@solana-program/token";
|
|
2
|
+
import { AccountRole, Address, Instruction } from "@solana/kit";
|
|
3
|
+
import type { TransactionCacheInvalidation } from "./general";
|
|
4
|
+
export type CustomAccountMeta = {
|
|
5
|
+
address: Address;
|
|
6
|
+
role: AccountRole;
|
|
7
|
+
isRequiredAta?: AssociatedTokenSeeds;
|
|
8
|
+
};
|
|
9
|
+
export interface CpiData {
|
|
10
|
+
cpiType: number;
|
|
11
|
+
programId: Address;
|
|
12
|
+
accounts: CustomAccountMeta[];
|
|
13
|
+
/** Instruction data for the given CPI. if not provided, it implies the program should provide it internally. Can pass new UInt8Array() if no data is expected */
|
|
14
|
+
data?: Uint8Array;
|
|
15
|
+
lookupTables?: Address[];
|
|
16
|
+
postSuccessCacheInvalidations?: TransactionCacheInvalidation[];
|
|
17
|
+
/**
|
|
18
|
+
* Top-level instructions that must run before the host transaction's CPI
|
|
19
|
+
* dispatcher (e.g. createATA for intermediate-mint accounts a multi-hop
|
|
20
|
+
* Jupiter route will write into). The host bundler is responsible for
|
|
21
|
+
* placing these before the CPI but after lending-platform pre-instructions.
|
|
22
|
+
*/
|
|
23
|
+
preInstructions?: Instruction[];
|
|
24
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
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("./meta"), exports);
|
|
18
|
+
__exportStar(require("./roles"), exports);
|
|
19
|
+
__exportStar(require("./rpc"), exports);
|
|
20
|
+
__exportStar(require("./pda"), exports);
|
|
21
|
+
__exportStar(require("./splBalances"), exports);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Address } from "@solana/kit";
|
|
2
|
+
import { CustomAccountMeta } from "../../types";
|
|
3
|
+
import { AccountMeta } from "@solana/web3.js";
|
|
4
|
+
import { AssociatedTokenSeeds } from "@solana-program/token";
|
|
5
|
+
/**
|
|
6
|
+
* Create a CustomAccountMeta from individual parameters.
|
|
7
|
+
*
|
|
8
|
+
* @param address - The account's public key
|
|
9
|
+
* @param isWritable - Whether the account is writable (default: false)
|
|
10
|
+
* @param requiredAtaDetails - Optional ATA details if this account needs to be created
|
|
11
|
+
* @param isSigner - Whether the account is a signer (default: false)
|
|
12
|
+
* @returns A CustomAccountMeta object
|
|
13
|
+
*/
|
|
14
|
+
export declare function toCustomAccountMeta(address: Address, isWritable?: boolean, requiredAtaDetails?: AssociatedTokenSeeds, isSigner?: boolean): CustomAccountMeta;
|
|
15
|
+
/**
|
|
16
|
+
* Convert a web3.js AccountMeta to a CustomAccountMeta.
|
|
17
|
+
*
|
|
18
|
+
* @param web3AccountMeta - The web3.js AccountMeta
|
|
19
|
+
* @returns A CustomAccountMeta object
|
|
20
|
+
*/
|
|
21
|
+
export declare function toCustomAccountMetaFromWeb3AccountMeta(web3AccountMeta: AccountMeta): CustomAccountMeta;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toCustomAccountMeta = toCustomAccountMeta;
|
|
4
|
+
exports.toCustomAccountMetaFromWeb3AccountMeta = toCustomAccountMetaFromWeb3AccountMeta;
|
|
5
|
+
const roles_1 = require("./roles");
|
|
6
|
+
/**
|
|
7
|
+
* Create a CustomAccountMeta from individual parameters.
|
|
8
|
+
*
|
|
9
|
+
* @param address - The account's public key
|
|
10
|
+
* @param isWritable - Whether the account is writable (default: false)
|
|
11
|
+
* @param requiredAtaDetails - Optional ATA details if this account needs to be created
|
|
12
|
+
* @param isSigner - Whether the account is a signer (default: false)
|
|
13
|
+
* @returns A CustomAccountMeta object
|
|
14
|
+
*/
|
|
15
|
+
function toCustomAccountMeta(address, isWritable, requiredAtaDetails, isSigner) {
|
|
16
|
+
const role = (0, roles_1.getAccountRole)(isWritable ?? false, isSigner ?? false);
|
|
17
|
+
return { address, role, isRequiredAta: requiredAtaDetails };
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Convert a web3.js AccountMeta to a CustomAccountMeta.
|
|
21
|
+
*
|
|
22
|
+
* @param web3AccountMeta - The web3.js AccountMeta
|
|
23
|
+
* @returns A CustomAccountMeta object
|
|
24
|
+
*/
|
|
25
|
+
function toCustomAccountMetaFromWeb3AccountMeta(web3AccountMeta) {
|
|
26
|
+
return toCustomAccountMeta(web3AccountMeta.pubkey.toBase58(), web3AccountMeta.isWritable, undefined, web3AccountMeta.isSigner);
|
|
27
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAtaAddress = getAtaAddress;
|
|
4
|
+
const token_1 = require("@solana-program/token");
|
|
5
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
6
|
+
const compat_1 = require("../compat");
|
|
7
|
+
/**
|
|
8
|
+
* SPL associated token account (ATA) for mint + owner + token program (same PDA as
|
|
9
|
+
* `@solana-program/token`’s `findAssociatedTokenPda`).
|
|
10
|
+
*/
|
|
11
|
+
function deriveAssociatedTokenAddress(mint, owner, tokenProgram) {
|
|
12
|
+
const [ata] = web3_js_1.PublicKey.findProgramAddressSync([(0, compat_1.toWeb3Pk)(owner).toBuffer(), (0, compat_1.toWeb3Pk)(tokenProgram).toBuffer(), (0, compat_1.toWeb3Pk)(mint).toBuffer()], new web3_js_1.PublicKey(token_1.ASSOCIATED_TOKEN_PROGRAM_ADDRESS));
|
|
13
|
+
return (0, compat_1.fromWeb3Pk)(ata);
|
|
14
|
+
}
|
|
15
|
+
async function getAtaAddress(mint, owner, tokenProgram = token_1.TOKEN_PROGRAM_ADDRESS) {
|
|
16
|
+
return deriveAssociatedTokenAddress(mint, owner, tokenProgram);
|
|
17
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { AccountRole } from "@solana/kit";
|
|
2
|
+
import { CustomAccountMeta } from "../../types";
|
|
3
|
+
export declare function isRoleWritable(role: AccountRole): boolean;
|
|
4
|
+
export declare function isRoleSigner(role: AccountRole): boolean;
|
|
5
|
+
export declare function getAccountRole(isWritable: boolean, isSigner: boolean): AccountRole;
|
|
6
|
+
/**
|
|
7
|
+
* Downgrade a role from signer to non-signer, preserving writability.
|
|
8
|
+
*
|
|
9
|
+
* This is useful when preparing accounts for CPI patterns where a PDA
|
|
10
|
+
* signs via `invoke_signed` on-chain, not externally.
|
|
11
|
+
*
|
|
12
|
+
* @param role - The account role to downgrade
|
|
13
|
+
* @returns The role without signer status
|
|
14
|
+
*/
|
|
15
|
+
export declare function downgradeRoleFromSigner(role: AccountRole): AccountRole;
|
|
16
|
+
/**
|
|
17
|
+
* Strip signer status from all accounts in a list.
|
|
18
|
+
*
|
|
19
|
+
* Use this when passing accounts as remainingAccounts for CPI patterns
|
|
20
|
+
* where a PDA signs via `invoke_signed`. The on-chain program handles
|
|
21
|
+
* PDA signing, so remainingAccounts should not have signer flags.
|
|
22
|
+
*
|
|
23
|
+
* @param accounts - Array of accounts to strip signer status from
|
|
24
|
+
* @returns New array with signer status removed
|
|
25
|
+
*/
|
|
26
|
+
export declare function stripSignerFromAccounts(accounts: CustomAccountMeta[]): CustomAccountMeta[];
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isRoleWritable = isRoleWritable;
|
|
4
|
+
exports.isRoleSigner = isRoleSigner;
|
|
5
|
+
exports.getAccountRole = getAccountRole;
|
|
6
|
+
exports.downgradeRoleFromSigner = downgradeRoleFromSigner;
|
|
7
|
+
exports.stripSignerFromAccounts = stripSignerFromAccounts;
|
|
8
|
+
const kit_1 = require("@solana/kit");
|
|
9
|
+
function isRoleWritable(role) {
|
|
10
|
+
return role === kit_1.AccountRole.WRITABLE || role === kit_1.AccountRole.WRITABLE_SIGNER;
|
|
11
|
+
}
|
|
12
|
+
function isRoleSigner(role) {
|
|
13
|
+
return role === kit_1.AccountRole.READONLY_SIGNER || role === kit_1.AccountRole.WRITABLE_SIGNER;
|
|
14
|
+
}
|
|
15
|
+
function getAccountRole(isWritable, isSigner) {
|
|
16
|
+
let role = kit_1.AccountRole.READONLY;
|
|
17
|
+
if (isWritable)
|
|
18
|
+
role = (0, kit_1.upgradeRoleToWritable)(role);
|
|
19
|
+
if (isSigner)
|
|
20
|
+
role = (0, kit_1.upgradeRoleToSigner)(role);
|
|
21
|
+
return role;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Downgrade a role from signer to non-signer, preserving writability.
|
|
25
|
+
*
|
|
26
|
+
* This is useful when preparing accounts for CPI patterns where a PDA
|
|
27
|
+
* signs via `invoke_signed` on-chain, not externally.
|
|
28
|
+
*
|
|
29
|
+
* @param role - The account role to downgrade
|
|
30
|
+
* @returns The role without signer status
|
|
31
|
+
*/
|
|
32
|
+
function downgradeRoleFromSigner(role) {
|
|
33
|
+
if (role === kit_1.AccountRole.READONLY_SIGNER)
|
|
34
|
+
return kit_1.AccountRole.READONLY;
|
|
35
|
+
if (role === kit_1.AccountRole.WRITABLE_SIGNER)
|
|
36
|
+
return kit_1.AccountRole.WRITABLE;
|
|
37
|
+
return role;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Strip signer status from all accounts in a list.
|
|
41
|
+
*
|
|
42
|
+
* Use this when passing accounts as remainingAccounts for CPI patterns
|
|
43
|
+
* where a PDA signs via `invoke_signed`. The on-chain program handles
|
|
44
|
+
* PDA signing, so remainingAccounts should not have signer flags.
|
|
45
|
+
*
|
|
46
|
+
* @param accounts - Array of accounts to strip signer status from
|
|
47
|
+
* @returns New array with signer status removed
|
|
48
|
+
*/
|
|
49
|
+
function stripSignerFromAccounts(accounts) {
|
|
50
|
+
return accounts.map((acc) => ({
|
|
51
|
+
...acc,
|
|
52
|
+
role: downgradeRoleFromSigner(acc.role),
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Address, Rpc, SolanaRpcApi } from "@solana/kit";
|
|
2
|
+
export interface AllAccountsExistResult {
|
|
3
|
+
existingAddresses: Address[];
|
|
4
|
+
missingAddresses: Address[];
|
|
5
|
+
existsByAddress: Map<Address, boolean>;
|
|
6
|
+
}
|
|
7
|
+
export declare function allAccountsExist(rpc: Rpc<SolanaRpcApi>, addresses: Address[]): Promise<AllAccountsExistResult>;
|
|
8
|
+
export declare function accountExists(rpc: Rpc<SolanaRpcApi>, address: Address): Promise<boolean>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.allAccountsExist = allAccountsExist;
|
|
4
|
+
exports.accountExists = accountExists;
|
|
5
|
+
async function allAccountsExist(rpc, addresses) {
|
|
6
|
+
if (!addresses.length) {
|
|
7
|
+
return {
|
|
8
|
+
existingAddresses: [],
|
|
9
|
+
missingAddresses: [],
|
|
10
|
+
existsByAddress: new Map(),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
const uniqueAddresses = [...new Set(addresses)];
|
|
14
|
+
const response = await rpc
|
|
15
|
+
.getMultipleAccounts(uniqueAddresses, { encoding: "base64" })
|
|
16
|
+
.send();
|
|
17
|
+
const existsByAddress = new Map();
|
|
18
|
+
for (let i = 0; i < uniqueAddresses.length; i += 1) {
|
|
19
|
+
existsByAddress.set(uniqueAddresses[i], response.value[i] !== null);
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
existingAddresses: uniqueAddresses.filter((address) => existsByAddress.get(address)),
|
|
23
|
+
missingAddresses: uniqueAddresses.filter((address) => !existsByAddress.get(address)),
|
|
24
|
+
existsByAddress,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
async function accountExists(rpc, address) {
|
|
28
|
+
const accountInfo = await rpc.getAccountInfo(address, { encoding: "base64" }).send();
|
|
29
|
+
return accountInfo.value !== null;
|
|
30
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Address, Rpc, SolanaRpcApi } from "@solana/kit";
|
|
2
|
+
/**
|
|
3
|
+
* Fetch SPL token account `amount` values for a list of token accounts in one
|
|
4
|
+
* (or a small number of) RPC calls.
|
|
5
|
+
*
|
|
6
|
+
* Keyed by token account address rather than mint so the caller can derive
|
|
7
|
+
* whatever mapping they need. Closed or non-existent accounts are simply
|
|
8
|
+
* absent from the returned map (callers should treat them as `0`).
|
|
9
|
+
*
|
|
10
|
+
* Works for both SPL Token and Token-2022 accounts — the base layout through
|
|
11
|
+
* byte 72 is identical. Use this instead of `getTokenAccountsByOwner` when
|
|
12
|
+
* the set of accounts to read is known in advance; it scales with the query
|
|
13
|
+
* set size rather than with the wallet's total token-account count.
|
|
14
|
+
*/
|
|
15
|
+
export declare function fetchSplTokenAccountAmounts(rpc: Rpc<SolanaRpcApi>, tokenAccounts: Address[]): Promise<Map<Address, bigint>>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchSplTokenAccountAmounts = fetchSplTokenAccountAmounts;
|
|
4
|
+
/**
|
|
5
|
+
* Byte offset of the `amount` field in an SPL token account's serialized layout:
|
|
6
|
+
*
|
|
7
|
+
* [0..32) mint
|
|
8
|
+
* [32..64) owner
|
|
9
|
+
* [64..72) amount: u64 little-endian
|
|
10
|
+
*
|
|
11
|
+
* Token-2022 preserves the same base layout at these offsets; account
|
|
12
|
+
* extensions (if any) live after byte 165, so reading the base `amount` at 64
|
|
13
|
+
* is correct for both token programs.
|
|
14
|
+
*/
|
|
15
|
+
const SPL_TOKEN_ACCOUNT_AMOUNT_OFFSET = 64;
|
|
16
|
+
/** `getMultipleAccounts` is capped at this many keys per request. */
|
|
17
|
+
const GET_MULTIPLE_ACCOUNTS_MAX_KEYS = 100;
|
|
18
|
+
/**
|
|
19
|
+
* Fetch SPL token account `amount` values for a list of token accounts in one
|
|
20
|
+
* (or a small number of) RPC calls.
|
|
21
|
+
*
|
|
22
|
+
* Keyed by token account address rather than mint so the caller can derive
|
|
23
|
+
* whatever mapping they need. Closed or non-existent accounts are simply
|
|
24
|
+
* absent from the returned map (callers should treat them as `0`).
|
|
25
|
+
*
|
|
26
|
+
* Works for both SPL Token and Token-2022 accounts — the base layout through
|
|
27
|
+
* byte 72 is identical. Use this instead of `getTokenAccountsByOwner` when
|
|
28
|
+
* the set of accounts to read is known in advance; it scales with the query
|
|
29
|
+
* set size rather than with the wallet's total token-account count.
|
|
30
|
+
*/
|
|
31
|
+
async function fetchSplTokenAccountAmounts(rpc, tokenAccounts) {
|
|
32
|
+
if (tokenAccounts.length === 0)
|
|
33
|
+
return new Map();
|
|
34
|
+
const chunks = [];
|
|
35
|
+
for (let i = 0; i < tokenAccounts.length; i += GET_MULTIPLE_ACCOUNTS_MAX_KEYS) {
|
|
36
|
+
chunks.push(tokenAccounts.slice(i, i + GET_MULTIPLE_ACCOUNTS_MAX_KEYS));
|
|
37
|
+
}
|
|
38
|
+
const balances = new Map();
|
|
39
|
+
await Promise.all(chunks.map(async (chunk) => {
|
|
40
|
+
const response = await rpc
|
|
41
|
+
.getMultipleAccounts(chunk, { encoding: "base64" })
|
|
42
|
+
.send();
|
|
43
|
+
for (let i = 0; i < chunk.length; i++) {
|
|
44
|
+
const entry = response.value[i];
|
|
45
|
+
if (!entry)
|
|
46
|
+
continue;
|
|
47
|
+
const buf = Buffer.from(entry.data[0], "base64");
|
|
48
|
+
balances.set(chunk[i], buf.readBigUInt64LE(SPL_TOKEN_ACCOUNT_AMOUNT_OFFSET));
|
|
49
|
+
}
|
|
50
|
+
}));
|
|
51
|
+
return balances;
|
|
52
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AnchorProvider, Wallet } from "@anchor-lang/core";
|
|
2
|
+
import { type ConfirmOptions, Keypair } from "@solana/web3.js";
|
|
3
|
+
import type { Environment } from "../types";
|
|
4
|
+
/**
|
|
5
|
+
* Builds an {@link AnchorProvider} for the given cluster with the standard script defaults
|
|
6
|
+
* (`Connection` + `opts` use the same commitment, default `"confirmed"`).
|
|
7
|
+
*
|
|
8
|
+
* @param walletOrKeypair - Anchor `Wallet`, or a `@solana/web3.js` `Keypair` (wrapped as `Wallet`).
|
|
9
|
+
*/
|
|
10
|
+
export declare function createDefaultAnchorProvider(env: Environment, walletOrKeypair: Wallet | Keypair, confirmOptions?: ConfirmOptions): AnchorProvider;
|
|
11
|
+
/**
|
|
12
|
+
* Builds a read-only {@link AnchorProvider} with a throwaway keypair.
|
|
13
|
+
*
|
|
14
|
+
* Use this for services that only need to read on-chain state (e.g. the
|
|
15
|
+
* price ingestion Lambda) and never sign transactions.
|
|
16
|
+
*/
|
|
17
|
+
export declare function createReadOnlyAnchorProvider(env: Environment): AnchorProvider;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createDefaultAnchorProvider = createDefaultAnchorProvider;
|
|
4
|
+
exports.createReadOnlyAnchorProvider = createReadOnlyAnchorProvider;
|
|
5
|
+
const core_1 = require("@anchor-lang/core");
|
|
6
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
7
|
+
const rpc_1 = require("./rpc");
|
|
8
|
+
const DEFAULT_COMMITMENT = "confirmed";
|
|
9
|
+
/**
|
|
10
|
+
* Builds an {@link AnchorProvider} for the given cluster with the standard script defaults
|
|
11
|
+
* (`Connection` + `opts` use the same commitment, default `"confirmed"`).
|
|
12
|
+
*
|
|
13
|
+
* @param walletOrKeypair - Anchor `Wallet`, or a `@solana/web3.js` `Keypair` (wrapped as `Wallet`).
|
|
14
|
+
*/
|
|
15
|
+
function createDefaultAnchorProvider(env, walletOrKeypair, confirmOptions) {
|
|
16
|
+
const commitment = confirmOptions?.commitment ?? DEFAULT_COMMITMENT;
|
|
17
|
+
const wallet = walletOrKeypair instanceof web3_js_1.Keypair ? new core_1.Wallet(walletOrKeypair) : walletOrKeypair;
|
|
18
|
+
const opts = { commitment, ...confirmOptions };
|
|
19
|
+
return new core_1.AnchorProvider(new web3_js_1.Connection((0, rpc_1.getRpcUrl)(env), commitment), wallet, opts);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Builds a read-only {@link AnchorProvider} with a throwaway keypair.
|
|
23
|
+
*
|
|
24
|
+
* Use this for services that only need to read on-chain state (e.g. the
|
|
25
|
+
* price ingestion Lambda) and never sign transactions.
|
|
26
|
+
*/
|
|
27
|
+
function createReadOnlyAnchorProvider(env) {
|
|
28
|
+
return createDefaultAnchorProvider(env, web3_js_1.Keypair.generate());
|
|
29
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Process items from an async iterable with at most `concurrency` parallel workers.
|
|
3
|
+
* The source iterator is advanced serially; workers run in parallel up to the limit.
|
|
4
|
+
*/
|
|
5
|
+
export declare function runWithConcurrency<T>(source: AsyncIterable<T>, concurrency: number, worker: (item: T) => Promise<void>, onWorkerError?: (error: unknown) => void): Promise<void>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runWithConcurrency = runWithConcurrency;
|
|
4
|
+
/**
|
|
5
|
+
* Process items from an async iterable with at most `concurrency` parallel workers.
|
|
6
|
+
* The source iterator is advanced serially; workers run in parallel up to the limit.
|
|
7
|
+
*/
|
|
8
|
+
async function runWithConcurrency(source, concurrency, worker, onWorkerError) {
|
|
9
|
+
const pending = new Set();
|
|
10
|
+
const logError = onWorkerError ??
|
|
11
|
+
((e) => {
|
|
12
|
+
console.error("runWithConcurrency worker error", JSON.stringify({ error: e instanceof Error ? e.message : String(e) }));
|
|
13
|
+
});
|
|
14
|
+
for await (const item of source) {
|
|
15
|
+
if (pending.size >= concurrency) {
|
|
16
|
+
await Promise.race(pending);
|
|
17
|
+
}
|
|
18
|
+
const p = worker(item)
|
|
19
|
+
.catch((e) => {
|
|
20
|
+
logError(e);
|
|
21
|
+
})
|
|
22
|
+
.finally(() => {
|
|
23
|
+
pending.delete(p);
|
|
24
|
+
});
|
|
25
|
+
pending.add(p);
|
|
26
|
+
}
|
|
27
|
+
await Promise.all(pending);
|
|
28
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kit <-> Web3.js compatibility helpers.
|
|
3
|
+
*
|
|
4
|
+
* These helpers bridge between Kit v2 types and web3.js v1 types,
|
|
5
|
+
* which is needed when using Kit with Anchor (which still uses web3.js v1).
|
|
6
|
+
*/
|
|
7
|
+
import { PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
8
|
+
import { Address, AccountMeta, Instruction } from "@solana/kit";
|
|
9
|
+
import { CustomAccountMeta } from "../types";
|
|
10
|
+
/**
|
|
11
|
+
* Convert a Kit Address to a web3.js PublicKey.
|
|
12
|
+
*
|
|
13
|
+
* @param addr - Kit Address (base58 string branded type)
|
|
14
|
+
* @returns web3.js PublicKey
|
|
15
|
+
*/
|
|
16
|
+
export declare function toWeb3Pk(addr: Address): PublicKey;
|
|
17
|
+
/**
|
|
18
|
+
* Convert a web3.js PublicKey to a Kit Address
|
|
19
|
+
*
|
|
20
|
+
* @param addr - web3.js PublicKey
|
|
21
|
+
* @returns Kit Address
|
|
22
|
+
*/
|
|
23
|
+
export declare function fromWeb3Pk(addr: PublicKey): Address;
|
|
24
|
+
/**
|
|
25
|
+
* Convert a Kit AccountMeta to web3.js AccountMeta format.
|
|
26
|
+
*
|
|
27
|
+
* Kit uses an AccountRole enum, while web3.js uses isSigner/isWritable booleans.
|
|
28
|
+
* This is useful for Anchor's remainingAccounts which expects web3.js format.
|
|
29
|
+
*
|
|
30
|
+
* @param account - Kit AccountMeta
|
|
31
|
+
* @returns web3.js compatible AccountMeta
|
|
32
|
+
*/
|
|
33
|
+
export declare function toWeb3AccountMeta(account: AccountMeta | CustomAccountMeta): {
|
|
34
|
+
pubkey: PublicKey;
|
|
35
|
+
isSigner: boolean;
|
|
36
|
+
isWritable: boolean;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Convert a web3.js TransactionInstruction to Kit Instruction.
|
|
40
|
+
*
|
|
41
|
+
* This allows using Anchor-generated instructions with Kit's transaction building.
|
|
42
|
+
*
|
|
43
|
+
* @param ix - web3.js TransactionInstruction (from Anchor's .instruction())
|
|
44
|
+
* @returns Kit Instruction
|
|
45
|
+
*/
|
|
46
|
+
export declare function toKitInstruction(ix: TransactionInstruction): Instruction;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Kit <-> Web3.js compatibility helpers.
|
|
4
|
+
*
|
|
5
|
+
* These helpers bridge between Kit v2 types and web3.js v1 types,
|
|
6
|
+
* which is needed when using Kit with Anchor (which still uses web3.js v1).
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.toWeb3Pk = toWeb3Pk;
|
|
10
|
+
exports.fromWeb3Pk = fromWeb3Pk;
|
|
11
|
+
exports.toWeb3AccountMeta = toWeb3AccountMeta;
|
|
12
|
+
exports.toKitInstruction = toKitInstruction;
|
|
13
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
14
|
+
const kit_1 = require("@solana/kit");
|
|
15
|
+
/**
|
|
16
|
+
* Convert a Kit Address to a web3.js PublicKey.
|
|
17
|
+
*
|
|
18
|
+
* @param addr - Kit Address (base58 string branded type)
|
|
19
|
+
* @returns web3.js PublicKey
|
|
20
|
+
*/
|
|
21
|
+
function toWeb3Pk(addr) {
|
|
22
|
+
return new web3_js_1.PublicKey(addr);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Convert a web3.js PublicKey to a Kit Address
|
|
26
|
+
*
|
|
27
|
+
* @param addr - web3.js PublicKey
|
|
28
|
+
* @returns Kit Address
|
|
29
|
+
*/
|
|
30
|
+
function fromWeb3Pk(addr) {
|
|
31
|
+
return (0, kit_1.address)(addr.toString());
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Convert a Kit AccountMeta to web3.js AccountMeta format.
|
|
35
|
+
*
|
|
36
|
+
* Kit uses an AccountRole enum, while web3.js uses isSigner/isWritable booleans.
|
|
37
|
+
* This is useful for Anchor's remainingAccounts which expects web3.js format.
|
|
38
|
+
*
|
|
39
|
+
* @param account - Kit AccountMeta
|
|
40
|
+
* @returns web3.js compatible AccountMeta
|
|
41
|
+
*/
|
|
42
|
+
function toWeb3AccountMeta(account) {
|
|
43
|
+
return {
|
|
44
|
+
pubkey: new web3_js_1.PublicKey(account.address),
|
|
45
|
+
isSigner: account.role === kit_1.AccountRole.READONLY_SIGNER || account.role === kit_1.AccountRole.WRITABLE_SIGNER,
|
|
46
|
+
isWritable: account.role === kit_1.AccountRole.WRITABLE || account.role === kit_1.AccountRole.WRITABLE_SIGNER,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Convert a web3.js TransactionInstruction to Kit Instruction.
|
|
51
|
+
*
|
|
52
|
+
* This allows using Anchor-generated instructions with Kit's transaction building.
|
|
53
|
+
*
|
|
54
|
+
* @param ix - web3.js TransactionInstruction (from Anchor's .instruction())
|
|
55
|
+
* @returns Kit Instruction
|
|
56
|
+
*/
|
|
57
|
+
function toKitInstruction(ix) {
|
|
58
|
+
return {
|
|
59
|
+
programAddress: ix.programId.toBase58(),
|
|
60
|
+
data: new Uint8Array(ix.data),
|
|
61
|
+
accounts: ix.keys.map((key) => ({
|
|
62
|
+
address: key.pubkey.toBase58(),
|
|
63
|
+
role: key.isWritable
|
|
64
|
+
? key.isSigner
|
|
65
|
+
? kit_1.AccountRole.WRITABLE_SIGNER
|
|
66
|
+
: kit_1.AccountRole.WRITABLE
|
|
67
|
+
: key.isSigner
|
|
68
|
+
? kit_1.AccountRole.READONLY_SIGNER
|
|
69
|
+
: kit_1.AccountRole.READONLY,
|
|
70
|
+
})),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CPI args buffer utilities.
|
|
3
|
+
*
|
|
4
|
+
* # Wire format (per CPI slot)
|
|
5
|
+
*
|
|
6
|
+
* ```text
|
|
7
|
+
* [u16 LE length]
|
|
8
|
+
* • 0xFFFF → skip (program must compute args)
|
|
9
|
+
* • 0 → no instruction args (invoke with empty data)
|
|
10
|
+
* • N > 0 → N bytes of client-provided data follow
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* Protocol-specific getter functions (e.g. `getPerenaMintArgs`) return raw
|
|
14
|
+
* serialized bytes (no prefix). Wrap them with `serializeArgs()` to add
|
|
15
|
+
* the u16 length prefix before packing into the CPI args buffer.
|
|
16
|
+
*/
|
|
17
|
+
/** Sentinel u16 value meaning "program must provide args." */
|
|
18
|
+
export declare const SKIP_SENTINEL = 65535;
|
|
19
|
+
/**
|
|
20
|
+
* Serialize CPI args with a u16 LE length prefix.
|
|
21
|
+
*
|
|
22
|
+
* - Called with data → `[u16_len, ...data]` (client provides args; len may be 0)
|
|
23
|
+
* - Called without data → `[0xFF, 0xFF]` (skip — program provides args)
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* serializeArgs(getPerenaMintArgs({ ... })) // [16, 0, ...16 bytes]
|
|
28
|
+
* serializeArgs(jupiterSwapData) // [N, 0, ...N bytes]
|
|
29
|
+
* serializeArgs(Buffer.alloc(0)) // [0, 0] — no-args instruction
|
|
30
|
+
* serializeArgs() // [0xFF, 0xFF] — skip
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare function serializeArgs(data?: Buffer | Uint8Array): Buffer;
|
|
34
|
+
/**
|
|
35
|
+
* Fluent builder for packing CPI args into a single buffer.
|
|
36
|
+
*
|
|
37
|
+
* Each `.add()` call wraps the provided data with a u16 length prefix
|
|
38
|
+
* via `serializeArgs`, then appends it.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* const cpiArgs = new CpiArgsBuilder()
|
|
43
|
+
* .add(getPerenaMintArgs({ amountYieldingDeposit: 1e6, minBankMintMinted: 9e5 }))
|
|
44
|
+
* .add(jupiterSwapData)
|
|
45
|
+
* .noArgs() // no-args instruction (len = 0)
|
|
46
|
+
* .skip() // program provides args (0xFFFF)
|
|
47
|
+
* .build();
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare class CpiArgsBuilder {
|
|
51
|
+
private parts;
|
|
52
|
+
/**
|
|
53
|
+
* Add client-provided args for the next CPI slot.
|
|
54
|
+
* Automatically wraps with a u16 LE length prefix.
|
|
55
|
+
*/
|
|
56
|
+
add(data: Buffer | Uint8Array): this;
|
|
57
|
+
/**
|
|
58
|
+
* Mark the next CPI slot as a no-args instruction (length = 0).
|
|
59
|
+
* The Rust side will invoke the CPI with empty instruction data.
|
|
60
|
+
*/
|
|
61
|
+
noArgs(): this;
|
|
62
|
+
/**
|
|
63
|
+
* Mark the next CPI slot as program-provided (sentinel 0xFFFF).
|
|
64
|
+
* The Rust handler must compute args and call `invoke_cpi` directly.
|
|
65
|
+
*/
|
|
66
|
+
skip(): this;
|
|
67
|
+
/** Build the final packed buffer. */
|
|
68
|
+
build(): Buffer;
|
|
69
|
+
}
|