@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,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MINT_TOKEN_REQUIRED_ACCOUNT_NAMES = exports.MINT_TOKEN_ACCOUNTS = exports.BURN_TOKEN_REQUIRED_ACCOUNT_NAMES = exports.BURN_TOKEN_ACCOUNTS = exports.listLycTopLevelInstructionNames = exports.parseLycProgramTransactionRecord = exports.decodeLycProgramTransactionWithDiagnostics = exports.decodeLycProgramTransaction = void 0;
|
|
4
|
+
var decodeTransaction_1 = require("./decodeTransaction");
|
|
5
|
+
Object.defineProperty(exports, "decodeLycProgramTransaction", { enumerable: true, get: function () { return decodeTransaction_1.decodeLycProgramTransaction; } });
|
|
6
|
+
Object.defineProperty(exports, "decodeLycProgramTransactionWithDiagnostics", { enumerable: true, get: function () { return decodeTransaction_1.decodeLycProgramTransactionWithDiagnostics; } });
|
|
7
|
+
Object.defineProperty(exports, "parseLycProgramTransactionRecord", { enumerable: true, get: function () { return decodeTransaction_1.parseLycProgramTransactionRecord; } });
|
|
8
|
+
var lycInstructionNames_1 = require("./lycInstructionNames");
|
|
9
|
+
Object.defineProperty(exports, "listLycTopLevelInstructionNames", { enumerable: true, get: function () { return lycInstructionNames_1.listLycTopLevelInstructionNames; } });
|
|
10
|
+
var idlAccounts_1 = require("./idlAccounts");
|
|
11
|
+
Object.defineProperty(exports, "BURN_TOKEN_ACCOUNTS", { enumerable: true, get: function () { return idlAccounts_1.BURN_TOKEN_ACCOUNTS; } });
|
|
12
|
+
Object.defineProperty(exports, "BURN_TOKEN_REQUIRED_ACCOUNT_NAMES", { enumerable: true, get: function () { return idlAccounts_1.BURN_TOKEN_REQUIRED_ACCOUNT_NAMES; } });
|
|
13
|
+
Object.defineProperty(exports, "MINT_TOKEN_ACCOUNTS", { enumerable: true, get: function () { return idlAccounts_1.MINT_TOKEN_ACCOUNTS; } });
|
|
14
|
+
Object.defineProperty(exports, "MINT_TOKEN_REQUIRED_ACCOUNT_NAMES", { enumerable: true, get: function () { return idlAccounts_1.MINT_TOKEN_REQUIRED_ACCOUNT_NAMES; } });
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { InnerInstructionBlock, TokenBalanceRow, TxMeta } from "./transactionPayload";
|
|
2
|
+
/** Resolve the inner-instructions block for a given top-level instruction. */
|
|
3
|
+
export declare function findInnerInstructionBlock(meta: TxMeta, topLevelIndex: number): InnerInstructionBlock | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* Find the SPL Token `Burn` CPI whose source token account matches
|
|
6
|
+
* `sourceAtaIndex` and return its amount. Tx-level account indexes are shared
|
|
7
|
+
* between outer and inner instructions, so callers resolve the source by
|
|
8
|
+
* outer IDL-named account (e.g. `burn_token.user_token_account`) and we match
|
|
9
|
+
* against `burn.accounts[0]` here.
|
|
10
|
+
*
|
|
11
|
+
* `Burn` account layout: `[source_ata, mint, authority, ...signers]`.
|
|
12
|
+
*/
|
|
13
|
+
export declare function splBurnAmountFromSource(keys: string[], block: InnerInstructionBlock, sourceAtaIndex: number): bigint | null;
|
|
14
|
+
/**
|
|
15
|
+
* Find the SPL Token `MintTo` CPI whose destination ATA matches `destAtaIndex`
|
|
16
|
+
* and return its amount. The mint slot (`MintTo.accounts[0]`) is not checked:
|
|
17
|
+
* an ATA has a fixed mint, so a MintTo landing in the right ATA cannot be for
|
|
18
|
+
* any other mint — the on-chain SPL program rejects mismatches.
|
|
19
|
+
*
|
|
20
|
+
* `MintTo` account layout: `[mint, dest_ata, authority, ...signers]`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function splMintToAmountToDest(keys: string[], block: InnerInstructionBlock, destAtaIndex: number): bigint | null;
|
|
23
|
+
interface SplTransferSummary {
|
|
24
|
+
sourceIndex: number;
|
|
25
|
+
destIndex: number;
|
|
26
|
+
amount: bigint;
|
|
27
|
+
/**
|
|
28
|
+
* For `TransferChecked` the mint sits in the ix's `accounts[1]`, so we can
|
|
29
|
+
* pin it down without consulting the balance-row table. Plain `Transfer`
|
|
30
|
+
* leaves this undefined — callers fall back to {@link mintForAccountIndex}.
|
|
31
|
+
*/
|
|
32
|
+
explicitMint: string | undefined;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Collect every SPL Token `Transfer` / `TransferChecked` CPI in the given inner
|
|
36
|
+
* block whose destination matches `destAtaIndex`. Multiple transfers (e.g. fees
|
|
37
|
+
* split across two CPIs, managed-unwind returning partial then final amounts)
|
|
38
|
+
* are returned as-is so callers can aggregate per mint.
|
|
39
|
+
*/
|
|
40
|
+
export declare function collectSplTransfersTo(keys: string[], block: InnerInstructionBlock, destAtaIndex: number): SplTransferSummary[];
|
|
41
|
+
/**
|
|
42
|
+
* Sum the amounts of every SPL Token `Transfer` / `TransferChecked` CPI in the
|
|
43
|
+
* given inner block whose source matches `sourceAtaIndex`. Returns 0n if none.
|
|
44
|
+
*
|
|
45
|
+
* Used by `decodeMintToken` to total the collateral moved out of the user's
|
|
46
|
+
* collateral ATA. The collateral mint is known structurally from the IDL
|
|
47
|
+
* (`mint_token.collateral_mint`), so we don't need to track per-transfer mints.
|
|
48
|
+
*/
|
|
49
|
+
export declare function sumSplTransfersFromSource(keys: string[], block: InnerInstructionBlock, sourceAtaIndex: number): bigint;
|
|
50
|
+
/**
|
|
51
|
+
* Look up the mint a token account was holding by finding any row in pre/post
|
|
52
|
+
* balances with the matching `accountIndex`. Used when a plain `Transfer` CPI
|
|
53
|
+
* doesn't carry the mint in-line — we read it off the counterparty's row.
|
|
54
|
+
*/
|
|
55
|
+
export declare function mintForAccountIndex(pre: TokenBalanceRow[] | undefined, post: TokenBalanceRow[] | undefined, accountIndex: number): string | null;
|
|
56
|
+
/**
|
|
57
|
+
* Given the inner-instruction transfers that delivered collateral to the user's
|
|
58
|
+
* collateral ATA, resolve (mint, amount) per mint and return the largest.
|
|
59
|
+
*
|
|
60
|
+
* Multi-mint returns (dust + primary) are possible in managed-unwind paths; we
|
|
61
|
+
* pick the dominant mint rather than summing across mints so the event's
|
|
62
|
+
* `collateralMint` remains a single string that matches the user's intent.
|
|
63
|
+
*/
|
|
64
|
+
export declare function aggregateCollateralTransfers(meta: TxMeta, transfers: SplTransferSummary[]): {
|
|
65
|
+
collateralMint: string;
|
|
66
|
+
amount: bigint;
|
|
67
|
+
} | null;
|
|
68
|
+
export {};
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.findInnerInstructionBlock = findInnerInstructionBlock;
|
|
7
|
+
exports.splBurnAmountFromSource = splBurnAmountFromSource;
|
|
8
|
+
exports.splMintToAmountToDest = splMintToAmountToDest;
|
|
9
|
+
exports.collectSplTransfersTo = collectSplTransfersTo;
|
|
10
|
+
exports.sumSplTransfersFromSource = sumSplTransfersFromSource;
|
|
11
|
+
exports.mintForAccountIndex = mintForAccountIndex;
|
|
12
|
+
exports.aggregateCollateralTransfers = aggregateCollateralTransfers;
|
|
13
|
+
const bs58_1 = __importDefault(require("bs58"));
|
|
14
|
+
const token_1 = require("@solana-program/token");
|
|
15
|
+
const token_2022_1 = require("@solana-program/token-2022");
|
|
16
|
+
/**
|
|
17
|
+
* Inner-instruction (CPI) scanning primitives for the decoder.
|
|
18
|
+
*
|
|
19
|
+
* The decoder reads LYC user events off the on-chain CPIs the program emits,
|
|
20
|
+
* not off net balance deltas. A `burn_token` top-level ix is decoded by finding
|
|
21
|
+
* the SPL Token `Burn` CPI (for the token amount) and the SPL Token
|
|
22
|
+
* `Transfer` / `TransferChecked` CPIs to the user's collateral ATA (for the
|
|
23
|
+
* collateral amount + mint) inside the burn ix's inner-instructions block.
|
|
24
|
+
*
|
|
25
|
+
* Reading CPIs is robust to ATA lifecycle quirks (created + closed in the same
|
|
26
|
+
* tx, wrap + unwrap side effects, etc.) because the CPIs are the actions that
|
|
27
|
+
* actually happened — balance rows are just their net effect and can be hidden
|
|
28
|
+
* or confounded by other same-tx ixs.
|
|
29
|
+
*
|
|
30
|
+
* Program IDs come from {@link TOKEN_PROGRAM_ADDRESS} / {@link TOKEN_2022_PROGRAM_ADDRESS}
|
|
31
|
+
* (kit-aligned `@solana-program/*` clients). Instruction tags use {@link TokenInstruction}
|
|
32
|
+
* — Token-2022 shares the same numeric tags for Transfer / TransferChecked / MintTo / Burn.
|
|
33
|
+
*/
|
|
34
|
+
const SPL_TOKEN_PROGRAM_IDS = new Set([token_1.TOKEN_PROGRAM_ADDRESS, token_2022_1.TOKEN_2022_PROGRAM_ADDRESS]);
|
|
35
|
+
/**
|
|
36
|
+
* Decode an SPL Token ix and extract its tag + u64 amount, if the tag is one
|
|
37
|
+
* we care about (Transfer, TransferChecked, MintTo, Burn). Returns null for
|
|
38
|
+
* any other variant (approve, close, sync native, etc.) or for malformed data.
|
|
39
|
+
*
|
|
40
|
+
* Layout (all little-endian):
|
|
41
|
+
* - Transfer: `[3, amount:u64]` (9 bytes)
|
|
42
|
+
* - MintTo: `[7, amount:u64]` (9 bytes)
|
|
43
|
+
* - Burn: `[8, amount:u64]` (9 bytes)
|
|
44
|
+
* - TransferChecked: `[12, amount:u64, decimals:u8]` (10 bytes)
|
|
45
|
+
*/
|
|
46
|
+
function parseSplAmountIx(ix) {
|
|
47
|
+
let bytes;
|
|
48
|
+
try {
|
|
49
|
+
bytes = bs58_1.default.decode(ix.data);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
if (bytes.length < 9)
|
|
55
|
+
return null;
|
|
56
|
+
const tag = bytes[0];
|
|
57
|
+
if (tag !== token_1.TokenInstruction.Transfer &&
|
|
58
|
+
tag !== token_1.TokenInstruction.TransferChecked &&
|
|
59
|
+
tag !== token_1.TokenInstruction.MintTo &&
|
|
60
|
+
tag !== token_1.TokenInstruction.Burn) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
let amount = 0n;
|
|
64
|
+
for (let i = 0; i < 8; i++) {
|
|
65
|
+
amount |= BigInt(bytes[1 + i]) << BigInt(i * 8);
|
|
66
|
+
}
|
|
67
|
+
return { tag, amount };
|
|
68
|
+
}
|
|
69
|
+
/** Resolve the inner-instructions block for a given top-level instruction. */
|
|
70
|
+
function findInnerInstructionBlock(meta, topLevelIndex) {
|
|
71
|
+
return meta.innerInstructions?.find((b) => b.index === topLevelIndex);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Find the SPL Token `Burn` CPI whose source token account matches
|
|
75
|
+
* `sourceAtaIndex` and return its amount. Tx-level account indexes are shared
|
|
76
|
+
* between outer and inner instructions, so callers resolve the source by
|
|
77
|
+
* outer IDL-named account (e.g. `burn_token.user_token_account`) and we match
|
|
78
|
+
* against `burn.accounts[0]` here.
|
|
79
|
+
*
|
|
80
|
+
* `Burn` account layout: `[source_ata, mint, authority, ...signers]`.
|
|
81
|
+
*/
|
|
82
|
+
function splBurnAmountFromSource(keys, block, sourceAtaIndex) {
|
|
83
|
+
for (const ix of block.instructions) {
|
|
84
|
+
if (!SPL_TOKEN_PROGRAM_IDS.has(keys[ix.programIdIndex] ?? ""))
|
|
85
|
+
continue;
|
|
86
|
+
if (ix.accounts.length < 3 || ix.accounts[0] !== sourceAtaIndex)
|
|
87
|
+
continue;
|
|
88
|
+
const parsed = parseSplAmountIx(ix);
|
|
89
|
+
if (parsed?.tag !== token_1.TokenInstruction.Burn)
|
|
90
|
+
continue;
|
|
91
|
+
if (parsed.amount <= 0n)
|
|
92
|
+
continue;
|
|
93
|
+
return parsed.amount;
|
|
94
|
+
}
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Find the SPL Token `MintTo` CPI whose destination ATA matches `destAtaIndex`
|
|
99
|
+
* and return its amount. The mint slot (`MintTo.accounts[0]`) is not checked:
|
|
100
|
+
* an ATA has a fixed mint, so a MintTo landing in the right ATA cannot be for
|
|
101
|
+
* any other mint — the on-chain SPL program rejects mismatches.
|
|
102
|
+
*
|
|
103
|
+
* `MintTo` account layout: `[mint, dest_ata, authority, ...signers]`.
|
|
104
|
+
*/
|
|
105
|
+
function splMintToAmountToDest(keys, block, destAtaIndex) {
|
|
106
|
+
for (const ix of block.instructions) {
|
|
107
|
+
if (!SPL_TOKEN_PROGRAM_IDS.has(keys[ix.programIdIndex] ?? ""))
|
|
108
|
+
continue;
|
|
109
|
+
if (ix.accounts.length < 3 || ix.accounts[1] !== destAtaIndex)
|
|
110
|
+
continue;
|
|
111
|
+
const parsed = parseSplAmountIx(ix);
|
|
112
|
+
if (parsed?.tag !== token_1.TokenInstruction.MintTo)
|
|
113
|
+
continue;
|
|
114
|
+
if (parsed.amount <= 0n)
|
|
115
|
+
continue;
|
|
116
|
+
return parsed.amount;
|
|
117
|
+
}
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
function extractTransfer(keys, ix) {
|
|
121
|
+
if (!SPL_TOKEN_PROGRAM_IDS.has(keys[ix.programIdIndex] ?? ""))
|
|
122
|
+
return null;
|
|
123
|
+
const parsed = parseSplAmountIx(ix);
|
|
124
|
+
if (!parsed)
|
|
125
|
+
return null;
|
|
126
|
+
if (parsed.amount <= 0n)
|
|
127
|
+
return null;
|
|
128
|
+
if (parsed.tag === token_1.TokenInstruction.Transfer && ix.accounts.length >= 3) {
|
|
129
|
+
return {
|
|
130
|
+
sourceIndex: ix.accounts[0],
|
|
131
|
+
destIndex: ix.accounts[1],
|
|
132
|
+
amount: parsed.amount,
|
|
133
|
+
explicitMint: undefined,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
if (parsed.tag === token_1.TokenInstruction.TransferChecked && ix.accounts.length >= 4) {
|
|
137
|
+
return {
|
|
138
|
+
sourceIndex: ix.accounts[0],
|
|
139
|
+
destIndex: ix.accounts[2],
|
|
140
|
+
amount: parsed.amount,
|
|
141
|
+
explicitMint: keys[ix.accounts[1]] ?? undefined,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Collect every SPL Token `Transfer` / `TransferChecked` CPI in the given inner
|
|
148
|
+
* block whose destination matches `destAtaIndex`. Multiple transfers (e.g. fees
|
|
149
|
+
* split across two CPIs, managed-unwind returning partial then final amounts)
|
|
150
|
+
* are returned as-is so callers can aggregate per mint.
|
|
151
|
+
*/
|
|
152
|
+
function collectSplTransfersTo(keys, block, destAtaIndex) {
|
|
153
|
+
const out = [];
|
|
154
|
+
for (const ix of block.instructions) {
|
|
155
|
+
const summary = extractTransfer(keys, ix);
|
|
156
|
+
if (summary && summary.destIndex === destAtaIndex) {
|
|
157
|
+
out.push(summary);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return out;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Sum the amounts of every SPL Token `Transfer` / `TransferChecked` CPI in the
|
|
164
|
+
* given inner block whose source matches `sourceAtaIndex`. Returns 0n if none.
|
|
165
|
+
*
|
|
166
|
+
* Used by `decodeMintToken` to total the collateral moved out of the user's
|
|
167
|
+
* collateral ATA. The collateral mint is known structurally from the IDL
|
|
168
|
+
* (`mint_token.collateral_mint`), so we don't need to track per-transfer mints.
|
|
169
|
+
*/
|
|
170
|
+
function sumSplTransfersFromSource(keys, block, sourceAtaIndex) {
|
|
171
|
+
let total = 0n;
|
|
172
|
+
for (const ix of block.instructions) {
|
|
173
|
+
const summary = extractTransfer(keys, ix);
|
|
174
|
+
if (summary && summary.sourceIndex === sourceAtaIndex) {
|
|
175
|
+
total += summary.amount;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return total;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Look up the mint a token account was holding by finding any row in pre/post
|
|
182
|
+
* balances with the matching `accountIndex`. Used when a plain `Transfer` CPI
|
|
183
|
+
* doesn't carry the mint in-line — we read it off the counterparty's row.
|
|
184
|
+
*/
|
|
185
|
+
function mintForAccountIndex(pre, post, accountIndex) {
|
|
186
|
+
for (const row of pre ?? []) {
|
|
187
|
+
if (row.accountIndex === accountIndex)
|
|
188
|
+
return row.mint;
|
|
189
|
+
}
|
|
190
|
+
for (const row of post ?? []) {
|
|
191
|
+
if (row.accountIndex === accountIndex)
|
|
192
|
+
return row.mint;
|
|
193
|
+
}
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Given the inner-instruction transfers that delivered collateral to the user's
|
|
198
|
+
* collateral ATA, resolve (mint, amount) per mint and return the largest.
|
|
199
|
+
*
|
|
200
|
+
* Multi-mint returns (dust + primary) are possible in managed-unwind paths; we
|
|
201
|
+
* pick the dominant mint rather than summing across mints so the event's
|
|
202
|
+
* `collateralMint` remains a single string that matches the user's intent.
|
|
203
|
+
*/
|
|
204
|
+
function aggregateCollateralTransfers(meta, transfers) {
|
|
205
|
+
const totals = new Map();
|
|
206
|
+
for (const t of transfers) {
|
|
207
|
+
const mint = t.explicitMint ??
|
|
208
|
+
mintForAccountIndex(meta.preTokenBalances, meta.postTokenBalances, t.sourceIndex) ??
|
|
209
|
+
mintForAccountIndex(meta.preTokenBalances, meta.postTokenBalances, t.destIndex);
|
|
210
|
+
if (!mint)
|
|
211
|
+
continue;
|
|
212
|
+
totals.set(mint, (totals.get(mint) ?? 0n) + t.amount);
|
|
213
|
+
}
|
|
214
|
+
let bestMint = null;
|
|
215
|
+
let bestAmt = 0n;
|
|
216
|
+
for (const [mint, amt] of totals) {
|
|
217
|
+
if (amt > bestAmt) {
|
|
218
|
+
bestAmt = amt;
|
|
219
|
+
bestMint = mint;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
if (bestMint === null || bestAmt <= 0n)
|
|
223
|
+
return null;
|
|
224
|
+
return { collateralMint: bestMint, amount: bestAmt };
|
|
225
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { LycProgramTransactionRecord } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Top-level instructions that invoke the LYC program, in tx order.
|
|
4
|
+
* Returns `null` if the payload can't be parsed (missing meta/message).
|
|
5
|
+
*/
|
|
6
|
+
export declare function listLycTopLevelInstructionNames(record: LycProgramTransactionRecord): string[] | null;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listLycTopLevelInstructionNames = listLycTopLevelInstructionNames;
|
|
4
|
+
const decodeTransaction_1 = require("./decodeTransaction");
|
|
5
|
+
const programIds_1 = require("./programIds");
|
|
6
|
+
const solana_1 = require("./solana");
|
|
7
|
+
/**
|
|
8
|
+
* Anchor instruction discriminators → camelCase names (from
|
|
9
|
+
* `idl/long_yield_carry.ts` instructions tuple). Update when the IDL changes
|
|
10
|
+
* (`npm run copy:idl`). Used only to populate the indexer's diagnostic
|
|
11
|
+
* `instructionNames` column for the API's transaction-history response.
|
|
12
|
+
*/
|
|
13
|
+
const LYC_INSTRUCTION_DISCRIMINATOR_TO_NAME = {
|
|
14
|
+
"185,165,216,246,144,31,70,74": "burnToken",
|
|
15
|
+
"79,126,77,51,253,163,193,248": "claimIncentives",
|
|
16
|
+
"164,152,207,99,30,186,19,182": "collectFees",
|
|
17
|
+
"238,101,253,86,160,25,16,134": "collectInterest",
|
|
18
|
+
"84,52,204,228,24,140,234,75": "createToken",
|
|
19
|
+
"32,13,223,159,125,144,219,148": "createTokenLendingPosition",
|
|
20
|
+
"123,125,211,195,102,102,90,7": "createYieldingBank",
|
|
21
|
+
"213,191,99,159,78,2,87,126": "createYieldingBankAllocation",
|
|
22
|
+
"109,115,98,62,206,179,42,145": "decreaseCarryPosition",
|
|
23
|
+
"112,210,209,249,61,231,192,207": "depositUnlentCollateral",
|
|
24
|
+
"216,191,255,166,144,169,3,187": "increaseCarryPosition",
|
|
25
|
+
"172,137,183,14,207,110,234,56": "mintToken",
|
|
26
|
+
"152,98,123,66,134,191,199,73": "rebalanceToken",
|
|
27
|
+
"181,53,252,136,138,104,145,137": "rebalanceYieldingBank",
|
|
28
|
+
"98,11,43,3,199,227,100,112": "recollateralizeLoss",
|
|
29
|
+
"229,167,209,155,223,252,150,188": "refreshTokenState",
|
|
30
|
+
"234,183,180,72,113,250,213,76": "refreshYieldingBank",
|
|
31
|
+
"152,222,104,180,163,231,152,77": "resetTokenBurnRateLimit",
|
|
32
|
+
"123,100,170,97,214,192,245,151": "setTokenCircuitBreaker",
|
|
33
|
+
"25,188,1,254,63,110,168,255": "setYieldingBankCircuitBreaker",
|
|
34
|
+
"164,56,56,248,51,167,213,96": "updateLendingPositionConfig",
|
|
35
|
+
"115,111,91,203,143,224,71,136": "updateTokenConfiguration",
|
|
36
|
+
"243,6,8,23,126,181,251,158": "updateTokenMetadata",
|
|
37
|
+
"236,3,226,53,30,160,216,24": "updateYieldingBankConfig",
|
|
38
|
+
};
|
|
39
|
+
function lycInstructionNameFromData(data) {
|
|
40
|
+
if (data.length < 8)
|
|
41
|
+
return "truncated_instruction_data";
|
|
42
|
+
let key = "";
|
|
43
|
+
for (let i = 0; i < 8; i++) {
|
|
44
|
+
if (i > 0)
|
|
45
|
+
key += ",";
|
|
46
|
+
key += data[i];
|
|
47
|
+
}
|
|
48
|
+
return LYC_INSTRUCTION_DISCRIMINATOR_TO_NAME[key] ?? `unknown_discriminator(${key})`;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Top-level instructions that invoke the LYC program, in tx order.
|
|
52
|
+
* Returns `null` if the payload can't be parsed (missing meta/message).
|
|
53
|
+
*/
|
|
54
|
+
function listLycTopLevelInstructionNames(record) {
|
|
55
|
+
const parsed = (0, decodeTransaction_1.parseRecordPayload)(record);
|
|
56
|
+
if (!parsed)
|
|
57
|
+
return null;
|
|
58
|
+
const { keys, message } = parsed;
|
|
59
|
+
const names = [];
|
|
60
|
+
for (let i = 0; i < message.instructions.length; i++) {
|
|
61
|
+
const ix = message.instructions[i];
|
|
62
|
+
const programId = keys[ix.programIdIndex];
|
|
63
|
+
if (!programId || !programIds_1.LYC_PROGRAM_IDS.has(programId))
|
|
64
|
+
continue;
|
|
65
|
+
try {
|
|
66
|
+
names.push(lycInstructionNameFromData((0, solana_1.decodeInstructionData)(ix.data)));
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
names.push(`invalid_ix_data@${i}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return names;
|
|
73
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LYC_PROGRAM_IDS = void 0;
|
|
4
|
+
const general_1 = require("../constants/general");
|
|
5
|
+
const UNSET_PROGRAM_PLACEHOLDER = "11111111111111111111111111111111";
|
|
6
|
+
/**
|
|
7
|
+
* Deployed `long_yield_carry` program IDs (excludes unset prod placeholder in {@link PROGRAM_ID}).
|
|
8
|
+
*/
|
|
9
|
+
exports.LYC_PROGRAM_IDS = new Set(Object.values(general_1.PROGRAM_ID)
|
|
10
|
+
.map((a) => String(a))
|
|
11
|
+
.filter((id) => id !== UNSET_PROGRAM_PLACEHOLDER));
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TxMessage, TxMeta } from "./transactionPayload";
|
|
2
|
+
/**
|
|
3
|
+
* v0 message: static `accountKeys` + ALT-loaded writable addresses + readonly addresses.
|
|
4
|
+
*/
|
|
5
|
+
export declare function buildAccountKeys(message: TxMessage, meta: TxMeta): string[];
|
|
6
|
+
export declare function decodeInstructionData(dataB58: string): Uint8Array;
|
|
7
|
+
export declare function discriminatorMatches(data: Uint8Array, disc: Uint8Array): boolean;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.buildAccountKeys = buildAccountKeys;
|
|
7
|
+
exports.decodeInstructionData = decodeInstructionData;
|
|
8
|
+
exports.discriminatorMatches = discriminatorMatches;
|
|
9
|
+
const bs58_1 = __importDefault(require("bs58"));
|
|
10
|
+
/**
|
|
11
|
+
* v0 message: static `accountKeys` + ALT-loaded writable addresses + readonly addresses.
|
|
12
|
+
*/
|
|
13
|
+
function buildAccountKeys(message, meta) {
|
|
14
|
+
const staticKeys = message.accountKeys;
|
|
15
|
+
const loadedWritable = meta.loadedAddresses?.writable ?? [];
|
|
16
|
+
const loadedReadonly = meta.loadedAddresses?.readonly ?? [];
|
|
17
|
+
return [...staticKeys, ...loadedWritable, ...loadedReadonly];
|
|
18
|
+
}
|
|
19
|
+
function decodeInstructionData(dataB58) {
|
|
20
|
+
return bs58_1.default.decode(dataB58);
|
|
21
|
+
}
|
|
22
|
+
function discriminatorMatches(data, disc) {
|
|
23
|
+
if (data.length < disc.length)
|
|
24
|
+
return false;
|
|
25
|
+
for (let i = 0; i < disc.length; i++) {
|
|
26
|
+
if (data[i] !== disc[i])
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire shapes for streamed / RPC `getTransaction`-style payloads (Helius, etc.).
|
|
3
|
+
* Internal to the decoder — not part of the public queue contract ({@link LycProgramTransactionRecord}).
|
|
4
|
+
*/
|
|
5
|
+
export interface TokenBalanceRow {
|
|
6
|
+
/** Present on RPC `meta.preTokenBalances` / `postTokenBalances` — needed for per-account deltas. */
|
|
7
|
+
accountIndex?: number;
|
|
8
|
+
owner: string;
|
|
9
|
+
mint: string;
|
|
10
|
+
uiTokenAmount: {
|
|
11
|
+
amount: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export interface CompiledInstruction {
|
|
15
|
+
accounts: number[];
|
|
16
|
+
data: string;
|
|
17
|
+
programIdIndex: number;
|
|
18
|
+
}
|
|
19
|
+
export interface TxMessage {
|
|
20
|
+
accountKeys: string[];
|
|
21
|
+
instructions: CompiledInstruction[];
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* RPC `meta.innerInstructions`: the CPI ixs emitted by each top-level ix,
|
|
25
|
+
* grouped by the top-level ix's position. Account indexes inside inner
|
|
26
|
+
* instructions share the same tx-level key space as outer ixs.
|
|
27
|
+
*/
|
|
28
|
+
export interface InnerInstructionBlock {
|
|
29
|
+
index: number;
|
|
30
|
+
instructions: CompiledInstruction[];
|
|
31
|
+
}
|
|
32
|
+
export interface TxMeta {
|
|
33
|
+
fee: number;
|
|
34
|
+
preTokenBalances?: TokenBalanceRow[];
|
|
35
|
+
postTokenBalances?: TokenBalanceRow[];
|
|
36
|
+
loadedAddresses?: {
|
|
37
|
+
readonly?: string[];
|
|
38
|
+
writable?: string[];
|
|
39
|
+
};
|
|
40
|
+
innerInstructions?: InnerInstructionBlock[];
|
|
41
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Wire shapes for streamed / RPC `getTransaction`-style payloads (Helius, etc.).
|
|
4
|
+
* Internal to the decoder — not part of the public queue contract ({@link LycProgramTransactionRecord}).
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/** User-facing LYC transaction kinds we index. */
|
|
2
|
+
export type LycTransactionType = "mint" | "burn";
|
|
3
|
+
/**
|
|
4
|
+
* A single normalized LYC transaction event produced from a raw tx payload.
|
|
5
|
+
*
|
|
6
|
+
* A single Solana transaction can contain multiple top-level LYC instructions
|
|
7
|
+
* (e.g. `refresh_yielding_bank` + `decrease_carry_position` + `burn_token`),
|
|
8
|
+
* but only user-facing ones (`mint_token`, `burn_token`) surface here. Other
|
|
9
|
+
* LYC instructions in the same tx are infrastructure and are not indexed as
|
|
10
|
+
* user events.
|
|
11
|
+
*/
|
|
12
|
+
export interface LycTransactionEvent {
|
|
13
|
+
/** Solana transaction signature. */
|
|
14
|
+
signature: string;
|
|
15
|
+
/** Solana slot the tx was included in. */
|
|
16
|
+
slot: number;
|
|
17
|
+
/** Block time (unix seconds). */
|
|
18
|
+
blockTime: number;
|
|
19
|
+
/** Classified instruction kind. */
|
|
20
|
+
type: LycTransactionType;
|
|
21
|
+
/** User wallet: the tx signer for mint/burn (fee payer index 0). */
|
|
22
|
+
wallet: string;
|
|
23
|
+
/** Token mint minted into / burned from the user's token ATA. */
|
|
24
|
+
tokenMint: string;
|
|
25
|
+
/**
|
|
26
|
+
* Token base-unit amount.
|
|
27
|
+
* - `mint`: minted to the user (positive).
|
|
28
|
+
* - `burn`: burned from the user (positive).
|
|
29
|
+
*/
|
|
30
|
+
tokenAmountBaseUnits: string;
|
|
31
|
+
/** Underlying collateral mint (e.g. wSOL when collateral is SOL). */
|
|
32
|
+
collateralMint: string;
|
|
33
|
+
/**
|
|
34
|
+
* Collateral base-unit amount moved to/from the user:
|
|
35
|
+
* - `mint`: collateral deposited by the user.
|
|
36
|
+
* - `burn`: collateral paid out to the user (net of fees).
|
|
37
|
+
*/
|
|
38
|
+
collateralAmountBaseUnits: string;
|
|
39
|
+
/** Transaction fee in lamports paid by the signer. */
|
|
40
|
+
fee: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* One LYC-program-related transaction we ingested and queued for indexing.
|
|
44
|
+
*
|
|
45
|
+
* `payload` is the raw Solana transaction object (slot, meta, transaction,
|
|
46
|
+
* version, etc.) — the same shape you get from `getTransaction` / streamed
|
|
47
|
+
* commitment updates. `source` discriminates this envelope from other queue
|
|
48
|
+
* producers if we add them later.
|
|
49
|
+
*/
|
|
50
|
+
export interface LycProgramTransactionRecord {
|
|
51
|
+
source: "lyc-program-transaction";
|
|
52
|
+
/** Unix seconds when our API accepted and wrapped the payload. */
|
|
53
|
+
receivedAt: number;
|
|
54
|
+
signature: string;
|
|
55
|
+
slot?: number;
|
|
56
|
+
/** Raw Solana tx + meta (RPC / stream shape). */
|
|
57
|
+
payload: unknown;
|
|
58
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/** LYC program error when on-chain utilization guards block a carry update. */
|
|
2
|
+
export declare const INVALID_UTILIZATION_RATE_CONDITION_CODE = 8020;
|
|
3
|
+
/**
|
|
4
|
+
* Thrown when a tx builder receives inputs that make the operation a no-op
|
|
5
|
+
* (e.g. zero borrow amount, no yield to collect). Callers can catch this
|
|
6
|
+
* to distinguish "nothing to do" from genuine failures.
|
|
7
|
+
*/
|
|
8
|
+
export declare class NoOpTransactionError extends Error {
|
|
9
|
+
constructor(message: string);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Thrown when `collect_interest` has nothing meaningful to redeem or swap
|
|
13
|
+
* (no net carry yield, no matching carry slot, redeem rounds to zero, etc.).
|
|
14
|
+
*
|
|
15
|
+
* Extends {@link NoOpTransactionError} so batch jobs that skip no-ops via
|
|
16
|
+
* `instanceof NoOpTransactionError` continue to treat this as a skip.
|
|
17
|
+
*/
|
|
18
|
+
export declare class NoInterestToCollectError extends NoOpTransactionError {
|
|
19
|
+
constructor(message: string);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Thrown when an initial lending position cannot be created because of a
|
|
23
|
+
* permanent configuration gap rather than a transient failure — e.g. the
|
|
24
|
+
* collateral mint is not listed in any lending pool, has no carry preset, or
|
|
25
|
+
* has no viable debt mint / reserve.
|
|
26
|
+
*
|
|
27
|
+
* Callers running on a tight schedule (e.g. the unlent-buffer worker) should
|
|
28
|
+
* catch this to **skip** the token instead of failing the task, which would
|
|
29
|
+
* otherwise retry every cycle and churn the DLQ until the config is fixed.
|
|
30
|
+
*/
|
|
31
|
+
export declare class LendingPositionBootstrapError extends Error {
|
|
32
|
+
constructor(message: string);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Looks up an Anchor custom error code against the LYC program IDL.
|
|
36
|
+
* Returns the error name and message if found, or `undefined` for codes
|
|
37
|
+
* belonging to other programs (e.g. Kamino, SPL Token).
|
|
38
|
+
*/
|
|
39
|
+
export declare function lookupLycError(code: number): {
|
|
40
|
+
name: string;
|
|
41
|
+
msg: string;
|
|
42
|
+
} | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Parses a logged Anchor error from a simulation failure message or program log line.
|
|
45
|
+
*/
|
|
46
|
+
export declare function parseLoggedLycAnchorError(text: string): {
|
|
47
|
+
name: string;
|
|
48
|
+
code: number;
|
|
49
|
+
msg: string;
|
|
50
|
+
} | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Extracts an LYC program error code from a failed transaction, when present.
|
|
53
|
+
*/
|
|
54
|
+
export declare function extractLycErrorCode(err: unknown): number | undefined;
|
|
55
|
+
/** True when a failed tx was rejected by an expected LYC guard (not an incident). */
|
|
56
|
+
export declare function isSkippableLycTransactionError(err: unknown): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Attempts to parse a Solana `InstructionError` from a transaction simulation
|
|
59
|
+
* failure message and returns a human-readable string.
|
|
60
|
+
*
|
|
61
|
+
* Handles formats like:
|
|
62
|
+
* - `Transaction simulation failed: {"InstructionError":["0",{"Custom":"6121"}]}`
|
|
63
|
+
* - `Transaction simulation failed: {"InstructionError":["1","ProgramFailedToComplete"]}`
|
|
64
|
+
*
|
|
65
|
+
* If the error contains a `Custom` code in the LYC IDL range, it's decoded to
|
|
66
|
+
* the program error name and message. Otherwise, the raw code or variant is
|
|
67
|
+
* included with a note that it may be from a CPI target program.
|
|
68
|
+
*/
|
|
69
|
+
export declare function formatTransactionError(errMessage: string): string;
|