@kestrelfi/lyc-sdk 1.0.1 → 1.0.3
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/README.md +32 -0
- package/dist/carry-XU3WUD22.mjs +20 -0
- package/dist/carry-XU3WUD22.mjs.map +1 -0
- package/dist/chunk-2T23QQCX.mjs +3707 -0
- package/dist/chunk-2T23QQCX.mjs.map +1 -0
- package/dist/chunk-GOW6CARW.mjs +3969 -0
- package/dist/chunk-GOW6CARW.mjs.map +1 -0
- package/dist/chunk-ZPXXY3QV.mjs +9330 -0
- package/dist/chunk-ZPXXY3QV.mjs.map +1 -0
- package/dist/{sdks/long-yield-carry/src/idl/long_yield_carry.d.ts → core-DP6wfpME.d.mts} +3242 -84
- package/dist/core-DP6wfpME.d.ts +10485 -0
- package/dist/core.d.mts +8 -0
- package/dist/core.d.ts +8 -0
- package/dist/core.js +12348 -0
- package/dist/core.js.map +1 -0
- package/dist/core.mjs +72 -0
- package/dist/core.mjs.map +1 -0
- package/dist/index.d.mts +2537 -0
- package/dist/index.d.ts +2537 -0
- package/dist/index.js +23884 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +5898 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +56 -10
- package/.env.example +0 -11
- package/dist/sdks/long-yield-carry/scripts/asyncBurn.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/asyncBurn.js +0 -117
- package/dist/sdks/long-yield-carry/scripts/burnToken.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/burnToken.js +0 -98
- package/dist/sdks/long-yield-carry/scripts/claimIncentives.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/claimIncentives.js +0 -108
- package/dist/sdks/long-yield-carry/scripts/closeCpiPlans.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/closeCpiPlans.js +0 -93
- package/dist/sdks/long-yield-carry/scripts/collectInterest.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/collectInterest.js +0 -164
- package/dist/sdks/long-yield-carry/scripts/collectProtocolFees.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/collectProtocolFees.js +0 -120
- package/dist/sdks/long-yield-carry/scripts/computeOptimalAllocations.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/computeOptimalAllocations.js +0 -84
- package/dist/sdks/long-yield-carry/scripts/createToken.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/createToken.js +0 -76
- package/dist/sdks/long-yield-carry/scripts/createTokenLendingPosition.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/createTokenLendingPosition.js +0 -157
- package/dist/sdks/long-yield-carry/scripts/createYieldingBank.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/createYieldingBank.js +0 -69
- package/dist/sdks/long-yield-carry/scripts/decreaseCarryPositions.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/decreaseCarryPositions.js +0 -247
- package/dist/sdks/long-yield-carry/scripts/depositUnlentCollateral.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/depositUnlentCollateral.js +0 -90
- package/dist/sdks/long-yield-carry/scripts/emergency/deleverageAll.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/emergency/deleverageAll.js +0 -202
- package/dist/sdks/long-yield-carry/scripts/emergency/triggerCircuitBreaker.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/emergency/triggerCircuitBreaker.js +0 -68
- package/dist/sdks/long-yield-carry/scripts/env.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/env.js +0 -8
- package/dist/sdks/long-yield-carry/scripts/findTxs.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/findTxs.js +0 -143
- package/dist/sdks/long-yield-carry/scripts/increaseCarryPositions.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/increaseCarryPositions.js +0 -112
- package/dist/sdks/long-yield-carry/scripts/inspect/format.d.ts +0 -13
- package/dist/sdks/long-yield-carry/scripts/inspect/format.js +0 -363
- package/dist/sdks/long-yield-carry/scripts/inspect.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/inspect.js +0 -108
- package/dist/sdks/long-yield-carry/scripts/localUtils.d.ts +0 -53
- package/dist/sdks/long-yield-carry/scripts/localUtils.js +0 -191
- package/dist/sdks/long-yield-carry/scripts/mintToken.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/mintToken.js +0 -103
- package/dist/sdks/long-yield-carry/scripts/processAsyncBurns.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/processAsyncBurns.js +0 -76
- package/dist/sdks/long-yield-carry/scripts/rebalanceToken.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/rebalanceToken.js +0 -210
- package/dist/sdks/long-yield-carry/scripts/rebalanceYieldingBank.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/rebalanceYieldingBank.js +0 -149
- package/dist/sdks/long-yield-carry/scripts/recollateralizeLoss.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/recollateralizeLoss.js +0 -64
- package/dist/sdks/long-yield-carry/scripts/refresh.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/refresh.js +0 -101
- package/dist/sdks/long-yield-carry/scripts/updateFees.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/updateFees.js +0 -369
- package/dist/sdks/long-yield-carry/scripts/updateGeneralLut.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/updateGeneralLut.js +0 -27
- package/dist/sdks/long-yield-carry/scripts/updateLendingPositionConfig.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/updateLendingPositionConfig.js +0 -127
- package/dist/sdks/long-yield-carry/scripts/updateTokenLuts.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/updateTokenLuts.js +0 -27
- package/dist/sdks/long-yield-carry/scripts/updateTokenMetadata.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/updateTokenMetadata.js +0 -194
- package/dist/sdks/long-yield-carry/scripts/updateYieldingBankConfig.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/updateYieldingBankConfig.js +0 -84
- package/dist/sdks/long-yield-carry/scripts/withdrawUnlentCollateral.d.ts +0 -1
- package/dist/sdks/long-yield-carry/scripts/withdrawUnlentCollateral.js +0 -140
- package/dist/sdks/long-yield-carry/src/client/account.d.ts +0 -152
- package/dist/sdks/long-yield-carry/src/client/account.js +0 -349
- package/dist/sdks/long-yield-carry/src/client/builders/args.d.ts +0 -299
- package/dist/sdks/long-yield-carry/src/client/builders/args.js +0 -2
- package/dist/sdks/long-yield-carry/src/client/builders/asyncBurnBuilder.d.ts +0 -20
- package/dist/sdks/long-yield-carry/src/client/builders/asyncBurnBuilder.js +0 -212
- package/dist/sdks/long-yield-carry/src/client/builders/base.d.ts +0 -77
- package/dist/sdks/long-yield-carry/src/client/builders/base.js +0 -191
- package/dist/sdks/long-yield-carry/src/client/builders/burnTokenBuilder.d.ts +0 -18
- package/dist/sdks/long-yield-carry/src/client/builders/burnTokenBuilder.js +0 -165
- package/dist/sdks/long-yield-carry/src/client/builders/claimIncentivesBuilder.d.ts +0 -9
- package/dist/sdks/long-yield-carry/src/client/builders/claimIncentivesBuilder.js +0 -135
- package/dist/sdks/long-yield-carry/src/client/builders/collectFeesBuilder.d.ts +0 -14
- package/dist/sdks/long-yield-carry/src/client/builders/collectFeesBuilder.js +0 -50
- package/dist/sdks/long-yield-carry/src/client/builders/collectInterestBuilder.d.ts +0 -8
- package/dist/sdks/long-yield-carry/src/client/builders/collectInterestBuilder.js +0 -86
- package/dist/sdks/long-yield-carry/src/client/builders/createCpiPlanBuilder.d.ts +0 -6
- package/dist/sdks/long-yield-carry/src/client/builders/createCpiPlanBuilder.js +0 -22
- package/dist/sdks/long-yield-carry/src/client/builders/createTokenBuilder.d.ts +0 -7
- package/dist/sdks/long-yield-carry/src/client/builders/createTokenBuilder.js +0 -64
- package/dist/sdks/long-yield-carry/src/client/builders/createTokenLendingPositionBuilder.d.ts +0 -10
- package/dist/sdks/long-yield-carry/src/client/builders/createTokenLendingPositionBuilder.js +0 -138
- package/dist/sdks/long-yield-carry/src/client/builders/createYieldingBankAllocationBuilder.d.ts +0 -7
- package/dist/sdks/long-yield-carry/src/client/builders/createYieldingBankAllocationBuilder.js +0 -29
- package/dist/sdks/long-yield-carry/src/client/builders/createYieldingBankBuilder.d.ts +0 -7
- package/dist/sdks/long-yield-carry/src/client/builders/createYieldingBankBuilder.js +0 -39
- package/dist/sdks/long-yield-carry/src/client/builders/decreaseCarryPositionBuilder.d.ts +0 -30
- package/dist/sdks/long-yield-carry/src/client/builders/decreaseCarryPositionBuilder.js +0 -99
- package/dist/sdks/long-yield-carry/src/client/builders/depositUnlentCollateralBuilder.d.ts +0 -8
- package/dist/sdks/long-yield-carry/src/client/builders/depositUnlentCollateralBuilder.js +0 -64
- package/dist/sdks/long-yield-carry/src/client/builders/increaseCarryPositionBuilder.d.ts +0 -8
- package/dist/sdks/long-yield-carry/src/client/builders/increaseCarryPositionBuilder.js +0 -73
- package/dist/sdks/long-yield-carry/src/client/builders/index.d.ts +0 -28
- package/dist/sdks/long-yield-carry/src/client/builders/index.js +0 -62
- package/dist/sdks/long-yield-carry/src/client/builders/mintTokenBuilder.d.ts +0 -8
- package/dist/sdks/long-yield-carry/src/client/builders/mintTokenBuilder.js +0 -95
- package/dist/sdks/long-yield-carry/src/client/builders/rebalanceTokenBuilder.d.ts +0 -11
- package/dist/sdks/long-yield-carry/src/client/builders/rebalanceTokenBuilder.js +0 -255
- package/dist/sdks/long-yield-carry/src/client/builders/rebalanceYieldingBankBuilder.d.ts +0 -8
- package/dist/sdks/long-yield-carry/src/client/builders/rebalanceYieldingBankBuilder.js +0 -75
- package/dist/sdks/long-yield-carry/src/client/builders/recollateralizeLossBuilder.d.ts +0 -12
- package/dist/sdks/long-yield-carry/src/client/builders/recollateralizeLossBuilder.js +0 -220
- package/dist/sdks/long-yield-carry/src/client/builders/refreshTokenStateBuilder.d.ts +0 -9
- package/dist/sdks/long-yield-carry/src/client/builders/refreshTokenStateBuilder.js +0 -112
- package/dist/sdks/long-yield-carry/src/client/builders/refreshTokensBuilder.d.ts +0 -9
- package/dist/sdks/long-yield-carry/src/client/builders/refreshTokensBuilder.js +0 -59
- package/dist/sdks/long-yield-carry/src/client/builders/refreshYieldingBankBuilder.d.ts +0 -8
- package/dist/sdks/long-yield-carry/src/client/builders/refreshYieldingBankBuilder.js +0 -29
- package/dist/sdks/long-yield-carry/src/client/builders/resetTokenBurnRateLimitBuilder.d.ts +0 -7
- package/dist/sdks/long-yield-carry/src/client/builders/resetTokenBurnRateLimitBuilder.js +0 -19
- package/dist/sdks/long-yield-carry/src/client/builders/setTokenCircuitBreakerBuilder.d.ts +0 -11
- package/dist/sdks/long-yield-carry/src/client/builders/setTokenCircuitBreakerBuilder.js +0 -31
- package/dist/sdks/long-yield-carry/src/client/builders/setYieldingBankCircuitBreakerBuilder.d.ts +0 -8
- package/dist/sdks/long-yield-carry/src/client/builders/setYieldingBankCircuitBreakerBuilder.js +0 -28
- package/dist/sdks/long-yield-carry/src/client/builders/updateLendingPositionConfigBuilder.d.ts +0 -10
- package/dist/sdks/long-yield-carry/src/client/builders/updateLendingPositionConfigBuilder.js +0 -30
- package/dist/sdks/long-yield-carry/src/client/builders/updateTokenConfigurationBuilder.d.ts +0 -11
- package/dist/sdks/long-yield-carry/src/client/builders/updateTokenConfigurationBuilder.js +0 -47
- package/dist/sdks/long-yield-carry/src/client/builders/updateTokenMetadataBuilder.d.ts +0 -7
- package/dist/sdks/long-yield-carry/src/client/builders/updateTokenMetadataBuilder.js +0 -24
- package/dist/sdks/long-yield-carry/src/client/builders/updateYieldingBankConfigBuilder.d.ts +0 -10
- package/dist/sdks/long-yield-carry/src/client/builders/updateYieldingBankConfigBuilder.js +0 -31
- package/dist/sdks/long-yield-carry/src/client/builders/utils.d.ts +0 -4
- package/dist/sdks/long-yield-carry/src/client/builders/utils.js +0 -20
- package/dist/sdks/long-yield-carry/src/client/client.d.ts +0 -115
- package/dist/sdks/long-yield-carry/src/client/client.js +0 -166
- package/dist/sdks/long-yield-carry/src/client/externalLiquidityResolver.d.ts +0 -13
- package/dist/sdks/long-yield-carry/src/client/externalLiquidityResolver.js +0 -34
- package/dist/sdks/long-yield-carry/src/client/index.d.ts +0 -10
- package/dist/sdks/long-yield-carry/src/client/index.js +0 -33
- package/dist/sdks/long-yield-carry/src/client/lendingPlatformClients.d.ts +0 -19
- package/dist/sdks/long-yield-carry/src/client/lendingPlatformClients.js +0 -33
- package/dist/sdks/long-yield-carry/src/client/pda.d.ts +0 -33
- package/dist/sdks/long-yield-carry/src/client/pda.js +0 -79
- package/dist/sdks/long-yield-carry/src/client/plans/collectInterest.d.ts +0 -24
- package/dist/sdks/long-yield-carry/src/client/plans/collectInterest.js +0 -150
- package/dist/sdks/long-yield-carry/src/client/plans/decreaseCarryPosition.d.ts +0 -12
- package/dist/sdks/long-yield-carry/src/client/plans/decreaseCarryPosition.js +0 -140
- package/dist/sdks/long-yield-carry/src/client/routes/collectInterest.d.ts +0 -13
- package/dist/sdks/long-yield-carry/src/client/routes/collectInterest.js +0 -39
- package/dist/sdks/long-yield-carry/src/client/transaction.d.ts +0 -41
- package/dist/sdks/long-yield-carry/src/client/transaction.js +0 -55
- package/dist/sdks/long-yield-carry/src/client/types/builders.d.ts +0 -18
- package/dist/sdks/long-yield-carry/src/client/types/builders.js +0 -2
- package/dist/sdks/long-yield-carry/src/client/types/enums.d.ts +0 -22
- package/dist/sdks/long-yield-carry/src/client/types/enums.js +0 -48
- package/dist/sdks/long-yield-carry/src/client/types/general.d.ts +0 -98
- package/dist/sdks/long-yield-carry/src/client/types/general.js +0 -2
- package/dist/sdks/long-yield-carry/src/client/types/index.d.ts +0 -6
- package/dist/sdks/long-yield-carry/src/client/types/index.js +0 -22
- package/dist/sdks/long-yield-carry/src/client/types/ix.d.ts +0 -352
- package/dist/sdks/long-yield-carry/src/client/types/ix.js +0 -2
- package/dist/sdks/long-yield-carry/src/client/types/planTypes/collectInterest.d.ts +0 -91
- package/dist/sdks/long-yield-carry/src/client/types/planTypes/collectInterest.js +0 -2
- package/dist/sdks/long-yield-carry/src/client/types/planTypes/common.d.ts +0 -28
- package/dist/sdks/long-yield-carry/src/client/types/planTypes/common.js +0 -2
- package/dist/sdks/long-yield-carry/src/client/types/planTypes/decreaseCarryPosition.d.ts +0 -128
- package/dist/sdks/long-yield-carry/src/client/types/planTypes/decreaseCarryPosition.js +0 -2
- package/dist/sdks/long-yield-carry/src/client/types/planTypes/index.d.ts +0 -3
- package/dist/sdks/long-yield-carry/src/client/types/planTypes/index.js +0 -19
- package/dist/sdks/long-yield-carry/src/client/types/tx.d.ts +0 -339
- package/dist/sdks/long-yield-carry/src/client/types/tx.js +0 -2
- package/dist/sdks/long-yield-carry/src/constants/configs/allocations.d.ts +0 -3
- package/dist/sdks/long-yield-carry/src/constants/configs/allocations.js +0 -23
- package/dist/sdks/long-yield-carry/src/constants/configs/carryTradePresets.d.ts +0 -58
- package/dist/sdks/long-yield-carry/src/constants/configs/carryTradePresets.js +0 -116
- package/dist/sdks/long-yield-carry/src/constants/configs/index.d.ts +0 -2
- package/dist/sdks/long-yield-carry/src/constants/configs/index.js +0 -18
- package/dist/sdks/long-yield-carry/src/constants/general.d.ts +0 -70
- package/dist/sdks/long-yield-carry/src/constants/general.js +0 -107
- package/dist/sdks/long-yield-carry/src/constants/index.d.ts +0 -3
- package/dist/sdks/long-yield-carry/src/constants/index.js +0 -19
- package/dist/sdks/long-yield-carry/src/constants/lycTokenMetadata.d.ts +0 -36
- package/dist/sdks/long-yield-carry/src/constants/lycTokenMetadata.js +0 -41
- package/dist/sdks/long-yield-carry/src/decoders/decodeTransaction.d.ts +0 -86
- package/dist/sdks/long-yield-carry/src/decoders/decodeTransaction.js +0 -230
- package/dist/sdks/long-yield-carry/src/decoders/discriminators.d.ts +0 -8
- package/dist/sdks/long-yield-carry/src/decoders/discriminators.js +0 -11
- package/dist/sdks/long-yield-carry/src/decoders/idlAccounts.d.ts +0 -29
- package/dist/sdks/long-yield-carry/src/decoders/idlAccounts.js +0 -57
- package/dist/sdks/long-yield-carry/src/decoders/index.d.ts +0 -6
- package/dist/sdks/long-yield-carry/src/decoders/index.js +0 -14
- package/dist/sdks/long-yield-carry/src/decoders/innerCpis.d.ts +0 -68
- package/dist/sdks/long-yield-carry/src/decoders/innerCpis.js +0 -225
- package/dist/sdks/long-yield-carry/src/decoders/lycInstructionNames.d.ts +0 -6
- package/dist/sdks/long-yield-carry/src/decoders/lycInstructionNames.js +0 -73
- package/dist/sdks/long-yield-carry/src/decoders/programIds.d.ts +0 -4
- package/dist/sdks/long-yield-carry/src/decoders/programIds.js +0 -11
- package/dist/sdks/long-yield-carry/src/decoders/solana.d.ts +0 -7
- package/dist/sdks/long-yield-carry/src/decoders/solana.js +0 -30
- package/dist/sdks/long-yield-carry/src/decoders/transactionPayload.d.ts +0 -41
- package/dist/sdks/long-yield-carry/src/decoders/transactionPayload.js +0 -6
- package/dist/sdks/long-yield-carry/src/decoders/types.d.ts +0 -58
- package/dist/sdks/long-yield-carry/src/decoders/types.js +0 -2
- package/dist/sdks/long-yield-carry/src/errors.d.ts +0 -69
- package/dist/sdks/long-yield-carry/src/errors.js +0 -183
- package/dist/sdks/long-yield-carry/src/idl/long_yield_carry.js +0 -7323
- package/dist/sdks/long-yield-carry/src/index.d.ts +0 -10
- package/dist/sdks/long-yield-carry/src/index.js +0 -25
- package/dist/sdks/long-yield-carry/src/metrics/index.d.ts +0 -1
- package/dist/sdks/long-yield-carry/src/metrics/index.js +0 -17
- package/dist/sdks/long-yield-carry/src/metrics/protocolMetrics.d.ts +0 -276
- package/dist/sdks/long-yield-carry/src/metrics/protocolMetrics.js +0 -547
- package/dist/sdks/long-yield-carry/src/models/index.d.ts +0 -3
- package/dist/sdks/long-yield-carry/src/models/index.js +0 -7
- package/dist/sdks/long-yield-carry/src/models/lycToken.d.ts +0 -156
- package/dist/sdks/long-yield-carry/src/models/lycToken.js +0 -288
- package/dist/sdks/long-yield-carry/src/models/yieldingBank.d.ts +0 -52
- package/dist/sdks/long-yield-carry/src/models/yieldingBank.js +0 -109
- package/dist/sdks/long-yield-carry/src/services/allocation/allocationService.d.ts +0 -106
- package/dist/sdks/long-yield-carry/src/services/allocation/allocationService.js +0 -589
- package/dist/sdks/long-yield-carry/src/services/allocation/index.d.ts +0 -2
- package/dist/sdks/long-yield-carry/src/services/allocation/index.js +0 -18
- package/dist/sdks/long-yield-carry/src/services/allocation/types.d.ts +0 -25
- package/dist/sdks/long-yield-carry/src/services/allocation/types.js +0 -2
- package/dist/sdks/long-yield-carry/src/services/carry/carryAllocationConfig.d.ts +0 -103
- package/dist/sdks/long-yield-carry/src/services/carry/carryAllocationConfig.js +0 -146
- package/dist/sdks/long-yield-carry/src/services/carry/index.d.ts +0 -2
- package/dist/sdks/long-yield-carry/src/services/carry/index.js +0 -18
- package/dist/sdks/long-yield-carry/src/services/carry/lycLendingPositionManager.d.ts +0 -39
- package/dist/sdks/long-yield-carry/src/services/carry/lycLendingPositionManager.js +0 -100
- package/dist/sdks/long-yield-carry/src/services/index.d.ts +0 -5
- package/dist/sdks/long-yield-carry/src/services/index.js +0 -21
- package/dist/sdks/long-yield-carry/src/services/lendingPosition/index.d.ts +0 -2
- package/dist/sdks/long-yield-carry/src/services/lendingPosition/index.js +0 -5
- package/dist/sdks/long-yield-carry/src/services/lendingPosition/lendingPositionService.d.ts +0 -88
- package/dist/sdks/long-yield-carry/src/services/lendingPosition/lendingPositionService.js +0 -229
- package/dist/sdks/long-yield-carry/src/services/rebalance/index.d.ts +0 -2
- package/dist/sdks/long-yield-carry/src/services/rebalance/index.js +0 -18
- package/dist/sdks/long-yield-carry/src/services/rebalance/token/index.d.ts +0 -1
- package/dist/sdks/long-yield-carry/src/services/rebalance/token/index.js +0 -17
- package/dist/sdks/long-yield-carry/src/services/rebalance/token/tokenRebalanceService.d.ts +0 -51
- package/dist/sdks/long-yield-carry/src/services/rebalance/token/tokenRebalanceService.js +0 -99
- package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/index.d.ts +0 -3
- package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/index.js +0 -21
- package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/planner.d.ts +0 -68
- package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/planner.js +0 -181
- package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/strategy.d.ts +0 -26
- package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/strategy.js +0 -26
- package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/types.d.ts +0 -40
- package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/types.js +0 -2
- package/dist/sdks/long-yield-carry/src/services/redemption/index.d.ts +0 -2
- package/dist/sdks/long-yield-carry/src/services/redemption/index.js +0 -5
- package/dist/sdks/long-yield-carry/src/services/redemption/redemptionService.d.ts +0 -139
- package/dist/sdks/long-yield-carry/src/services/redemption/redemptionService.js +0 -532
- package/dist/sdks/long-yield-carry/src/types/enriched.d.ts +0 -168
- package/dist/sdks/long-yield-carry/src/types/enriched.js +0 -2
- package/dist/sdks/long-yield-carry/src/types/index.d.ts +0 -1
- package/dist/sdks/long-yield-carry/src/types/index.js +0 -17
- package/dist/sdks/long-yield-carry/src/utils/cache.d.ts +0 -4
- package/dist/sdks/long-yield-carry/src/utils/cache.js +0 -10
- package/dist/sdks/long-yield-carry/src/utils/data.d.ts +0 -12
- package/dist/sdks/long-yield-carry/src/utils/data.js +0 -59
- package/dist/sdks/long-yield-carry/src/utils/enrichment.d.ts +0 -5
- package/dist/sdks/long-yield-carry/src/utils/enrichment.js +0 -244
- package/dist/sdks/long-yield-carry/src/utils/feeDripMetrics.d.ts +0 -36
- package/dist/sdks/long-yield-carry/src/utils/feeDripMetrics.js +0 -93
- package/dist/sdks/long-yield-carry/src/utils/general.d.ts +0 -28
- package/dist/sdks/long-yield-carry/src/utils/general.js +0 -47
- package/dist/sdks/long-yield-carry/src/utils/index.d.ts +0 -13
- package/dist/sdks/long-yield-carry/src/utils/index.js +0 -29
- package/dist/sdks/long-yield-carry/src/utils/ix.d.ts +0 -83
- package/dist/sdks/long-yield-carry/src/utils/ix.js +0 -165
- package/dist/sdks/long-yield-carry/src/utils/lendingPosition.d.ts +0 -68
- package/dist/sdks/long-yield-carry/src/utils/lendingPosition.js +0 -105
- package/dist/sdks/long-yield-carry/src/utils/lookupTables.d.ts +0 -55
- package/dist/sdks/long-yield-carry/src/utils/lookupTables.js +0 -216
- package/dist/sdks/long-yield-carry/src/utils/lycData.d.ts +0 -66
- package/dist/sdks/long-yield-carry/src/utils/lycData.js +0 -211
- package/dist/sdks/long-yield-carry/src/utils/timelock.d.ts +0 -19
- package/dist/sdks/long-yield-carry/src/utils/timelock.js +0 -37
- package/dist/sdks/long-yield-carry/src/utils/tokenFeeMath.d.ts +0 -11
- package/dist/sdks/long-yield-carry/src/utils/tokenFeeMath.js +0 -24
- package/dist/sdks/long-yield-carry/src/utils/transactions.d.ts +0 -20
- package/dist/sdks/long-yield-carry/src/utils/transactions.js +0 -72
- package/dist/sdks/long-yield-carry/src/utils/yieldingBank.d.ts +0 -24
- package/dist/sdks/long-yield-carry/src/utils/yieldingBank.js +0 -36
- package/dist/shared/common/src/constants/accountMetas.d.ts +0 -3
- package/dist/shared/common/src/constants/accountMetas.js +0 -9
- package/dist/shared/common/src/constants/general.d.ts +0 -21
- package/dist/shared/common/src/constants/general.js +0 -30
- package/dist/shared/common/src/constants/generated/cpi.d.ts +0 -23
- package/dist/shared/common/src/constants/generated/cpi.js +0 -28
- package/dist/shared/common/src/constants/generated/index.d.ts +0 -1
- package/dist/shared/common/src/constants/generated/index.js +0 -17
- package/dist/shared/common/src/constants/index.d.ts +0 -3
- package/dist/shared/common/src/constants/index.js +0 -19
- package/dist/shared/common/src/index.d.ts +0 -4
- package/dist/shared/common/src/index.js +0 -20
- package/dist/shared/common/src/services/baseAccountClient.d.ts +0 -22
- package/dist/shared/common/src/services/baseAccountClient.js +0 -38
- package/dist/shared/common/src/services/baseIxBuilderService.d.ts +0 -27
- package/dist/shared/common/src/services/baseIxBuilderService.js +0 -48
- package/dist/shared/common/src/services/dataCache.d.ts +0 -41
- package/dist/shared/common/src/services/dataCache.js +0 -130
- package/dist/shared/common/src/services/index.d.ts +0 -8
- package/dist/shared/common/src/services/index.js +0 -24
- package/dist/shared/common/src/services/lutManager.d.ts +0 -31
- package/dist/shared/common/src/services/lutManager.js +0 -133
- package/dist/shared/common/src/services/mints/defaults.d.ts +0 -2
- package/dist/shared/common/src/services/mints/defaults.js +0 -152
- package/dist/shared/common/src/services/mints/index.d.ts +0 -4
- package/dist/shared/common/src/services/mints/index.js +0 -20
- package/dist/shared/common/src/services/mints/registry.d.ts +0 -70
- package/dist/shared/common/src/services/mints/registry.js +0 -117
- package/dist/shared/common/src/services/mints/symbols.d.ts +0 -6
- package/dist/shared/common/src/services/mints/symbols.js +0 -13
- package/dist/shared/common/src/services/mints/types.d.ts +0 -30
- package/dist/shared/common/src/services/mints/types.js +0 -2
- package/dist/shared/common/src/services/swap/index.d.ts +0 -4
- package/dist/shared/common/src/services/swap/index.js +0 -20
- package/dist/shared/common/src/services/swap/routableSwapClient.d.ts +0 -36
- package/dist/shared/common/src/services/swap/routableSwapClient.js +0 -2
- package/dist/shared/common/src/services/swap/swapClientBase.d.ts +0 -45
- package/dist/shared/common/src/services/swap/swapClientBase.js +0 -2
- package/dist/shared/common/src/services/swap/swapRouting.d.ts +0 -13
- package/dist/shared/common/src/services/swap/swapRouting.js +0 -28
- package/dist/shared/common/src/services/swap/types.d.ts +0 -77
- package/dist/shared/common/src/services/swap/types.js +0 -2
- package/dist/shared/common/src/services/token/index.d.ts +0 -2
- package/dist/shared/common/src/services/token/index.js +0 -18
- package/dist/shared/common/src/services/token/tokenProtocolClientBase.d.ts +0 -51
- package/dist/shared/common/src/services/token/tokenProtocolClientBase.js +0 -2
- package/dist/shared/common/src/services/token/types.d.ts +0 -19
- package/dist/shared/common/src/services/token/types.js +0 -2
- package/dist/shared/common/src/services/transactionSender.d.ts +0 -24
- package/dist/shared/common/src/services/transactionSender.js +0 -30
- package/dist/shared/common/src/types/cpi.d.ts +0 -34
- package/dist/shared/common/src/types/cpi.js +0 -8
- package/dist/shared/common/src/types/enums.d.ts +0 -59
- package/dist/shared/common/src/types/enums.js +0 -122
- package/dist/shared/common/src/types/general.d.ts +0 -38
- package/dist/shared/common/src/types/general.js +0 -2
- package/dist/shared/common/src/types/index.d.ts +0 -4
- package/dist/shared/common/src/types/index.js +0 -20
- package/dist/shared/common/src/types/solana.d.ts +0 -24
- package/dist/shared/common/src/types/solana.js +0 -2
- package/dist/shared/common/src/utils/accounts/index.d.ts +0 -5
- package/dist/shared/common/src/utils/accounts/index.js +0 -21
- package/dist/shared/common/src/utils/accounts/meta.d.ts +0 -21
- package/dist/shared/common/src/utils/accounts/meta.js +0 -27
- package/dist/shared/common/src/utils/accounts/pda.d.ts +0 -2
- package/dist/shared/common/src/utils/accounts/pda.js +0 -17
- package/dist/shared/common/src/utils/accounts/roles.d.ts +0 -26
- package/dist/shared/common/src/utils/accounts/roles.js +0 -54
- package/dist/shared/common/src/utils/accounts/rpc.d.ts +0 -8
- package/dist/shared/common/src/utils/accounts/rpc.js +0 -30
- package/dist/shared/common/src/utils/accounts/splBalances.d.ts +0 -15
- package/dist/shared/common/src/utils/accounts/splBalances.js +0 -52
- package/dist/shared/common/src/utils/anchor.d.ts +0 -17
- package/dist/shared/common/src/utils/anchor.js +0 -29
- package/dist/shared/common/src/utils/asyncConcurrency.d.ts +0 -5
- package/dist/shared/common/src/utils/asyncConcurrency.js +0 -28
- package/dist/shared/common/src/utils/compat.d.ts +0 -46
- package/dist/shared/common/src/utils/compat.js +0 -72
- package/dist/shared/common/src/utils/cpi/args.d.ts +0 -69
- package/dist/shared/common/src/utils/cpi/args.js +0 -100
- package/dist/shared/common/src/utils/cpi/index.d.ts +0 -2
- package/dist/shared/common/src/utils/cpi/index.js +0 -18
- package/dist/shared/common/src/utils/cpi/refs.d.ts +0 -122
- package/dist/shared/common/src/utils/cpi/refs.js +0 -234
- package/dist/shared/common/src/utils/data.d.ts +0 -20
- package/dist/shared/common/src/utils/data.js +0 -27
- package/dist/shared/common/src/utils/general.d.ts +0 -24
- package/dist/shared/common/src/utils/general.js +0 -95
- package/dist/shared/common/src/utils/index.d.ts +0 -22
- package/dist/shared/common/src/utils/index.js +0 -38
- package/dist/shared/common/src/utils/instruction.d.ts +0 -74
- package/dist/shared/common/src/utils/instruction.js +0 -147
- package/dist/shared/common/src/utils/jito.d.ts +0 -113
- package/dist/shared/common/src/utils/jito.js +0 -178
- package/dist/shared/common/src/utils/json.d.ts +0 -5
- package/dist/shared/common/src/utils/json.js +0 -25
- package/dist/shared/common/src/utils/jsonRpcFetch.d.ts +0 -21
- package/dist/shared/common/src/utils/jsonRpcFetch.js +0 -134
- package/dist/shared/common/src/utils/metadata.d.ts +0 -107
- package/dist/shared/common/src/utils/metadata.js +0 -194
- package/dist/shared/common/src/utils/numbers.d.ts +0 -72
- package/dist/shared/common/src/utils/numbers.js +0 -193
- package/dist/shared/common/src/utils/priorityFee.d.ts +0 -18
- package/dist/shared/common/src/utils/priorityFee.js +0 -63
- package/dist/shared/common/src/utils/retry.d.ts +0 -20
- package/dist/shared/common/src/utils/retry.js +0 -69
- package/dist/shared/common/src/utils/rpc.d.ts +0 -40
- package/dist/shared/common/src/utils/rpc.js +0 -130
- package/dist/shared/common/src/utils/solana.d.ts +0 -23
- package/dist/shared/common/src/utils/solana.js +0 -61
- package/dist/shared/common/src/utils/timeSeries.d.ts +0 -18
- package/dist/shared/common/src/utils/timeSeries.js +0 -40
- package/dist/shared/common/src/utils/token.d.ts +0 -33
- package/dist/shared/common/src/utils/token.js +0 -82
- package/dist/shared/common/src/utils/transaction.d.ts +0 -154
- package/dist/shared/common/src/utils/transaction.js +0 -585
- package/dist/shared/common/src/utils/transactionSplitter.d.ts +0 -85
- package/dist/shared/common/src/utils/transactionSplitter.js +0 -127
- package/dist/shared/common/src/utils/txAccountCoverage.d.ts +0 -49
- package/dist/shared/common/src/utils/txAccountCoverage.js +0 -122
- package/dist/shared/jupiter-helpers/src/api.d.ts +0 -59
- package/dist/shared/jupiter-helpers/src/api.js +0 -130
- package/dist/shared/jupiter-helpers/src/client.d.ts +0 -79
- package/dist/shared/jupiter-helpers/src/client.js +0 -173
- package/dist/shared/jupiter-helpers/src/constants.d.ts +0 -35
- package/dist/shared/jupiter-helpers/src/constants.js +0 -38
- package/dist/shared/jupiter-helpers/src/extract.d.ts +0 -30
- package/dist/shared/jupiter-helpers/src/extract.js +0 -57
- package/dist/shared/jupiter-helpers/src/index.d.ts +0 -5
- package/dist/shared/jupiter-helpers/src/index.js +0 -21
- package/dist/shared/jupiter-helpers/src/routePreInstructions.d.ts +0 -19
- package/dist/shared/jupiter-helpers/src/routePreInstructions.js +0 -61
- package/dist/shared/jupiter-helpers/src/sizeExactInForMinOutput.d.ts +0 -70
- package/dist/shared/jupiter-helpers/src/sizeExactInForMinOutput.js +0 -95
- package/dist/shared/jupiter-helpers/src/types.d.ts +0 -66
- package/dist/shared/jupiter-helpers/src/types.js +0 -2
- package/dist/shared/lending-platforms/src/constants/cache.d.ts +0 -8
- package/dist/shared/lending-platforms/src/constants/cache.js +0 -11
- package/dist/shared/lending-platforms/src/constants/index.d.ts +0 -3
- package/dist/shared/lending-platforms/src/constants/index.js +0 -19
- package/dist/shared/lending-platforms/src/constants/kamino.d.ts +0 -7
- package/dist/shared/lending-platforms/src/constants/kamino.js +0 -83
- package/dist/shared/lending-platforms/src/constants/lendingPosition.d.ts +0 -7
- package/dist/shared/lending-platforms/src/constants/lendingPosition.js +0 -10
- package/dist/shared/lending-platforms/src/data/accounts/index.d.ts +0 -2
- package/dist/shared/lending-platforms/src/data/accounts/index.js +0 -18
- package/dist/shared/lending-platforms/src/data/accounts/kamino.d.ts +0 -42
- package/dist/shared/lending-platforms/src/data/accounts/kamino.js +0 -104
- package/dist/shared/lending-platforms/src/data/accounts/lpAccountsBase.d.ts +0 -7
- package/dist/shared/lending-platforms/src/data/accounts/lpAccountsBase.js +0 -9
- package/dist/shared/lending-platforms/src/data/incentive/incentiveBase.d.ts +0 -35
- package/dist/shared/lending-platforms/src/data/incentive/incentiveBase.js +0 -26
- package/dist/shared/lending-platforms/src/data/incentive/index.d.ts +0 -2
- package/dist/shared/lending-platforms/src/data/incentive/index.js +0 -18
- package/dist/shared/lending-platforms/src/data/incentive/kamino.d.ts +0 -55
- package/dist/shared/lending-platforms/src/data/incentive/kamino.js +0 -101
- package/dist/shared/lending-platforms/src/data/index.d.ts +0 -6
- package/dist/shared/lending-platforms/src/data/index.js +0 -22
- package/dist/shared/lending-platforms/src/data/instructions/index.d.ts +0 -3
- package/dist/shared/lending-platforms/src/data/instructions/index.js +0 -19
- package/dist/shared/lending-platforms/src/data/instructions/kamino.d.ts +0 -55
- package/dist/shared/lending-platforms/src/data/instructions/kamino.js +0 -630
- package/dist/shared/lending-platforms/src/data/instructions/lpInstructionsBase.d.ts +0 -175
- package/dist/shared/lending-platforms/src/data/instructions/lpInstructionsBase.js +0 -192
- package/dist/shared/lending-platforms/src/data/instructions/types.d.ts +0 -7
- package/dist/shared/lending-platforms/src/data/instructions/types.js +0 -2
- package/dist/shared/lending-platforms/src/data/platform/index.d.ts +0 -2
- package/dist/shared/lending-platforms/src/data/platform/index.js +0 -18
- package/dist/shared/lending-platforms/src/data/platform/kamino.d.ts +0 -59
- package/dist/shared/lending-platforms/src/data/platform/kamino.js +0 -206
- package/dist/shared/lending-platforms/src/data/platform/lpDataBase.d.ts +0 -35
- package/dist/shared/lending-platforms/src/data/platform/lpDataBase.js +0 -31
- package/dist/shared/lending-platforms/src/data/reserve/index.d.ts +0 -2
- package/dist/shared/lending-platforms/src/data/reserve/index.js +0 -18
- package/dist/shared/lending-platforms/src/data/reserve/kamino.d.ts +0 -45
- package/dist/shared/lending-platforms/src/data/reserve/kamino.js +0 -141
- package/dist/shared/lending-platforms/src/data/reserve/reserveBase.d.ts +0 -114
- package/dist/shared/lending-platforms/src/data/reserve/reserveBase.js +0 -125
- package/dist/shared/lending-platforms/src/data/userPosition/index.d.ts +0 -2
- package/dist/shared/lending-platforms/src/data/userPosition/index.js +0 -18
- package/dist/shared/lending-platforms/src/data/userPosition/kamino.d.ts +0 -15
- package/dist/shared/lending-platforms/src/data/userPosition/kamino.js +0 -45
- package/dist/shared/lending-platforms/src/data/userPosition/userPositionBase.d.ts +0 -50
- package/dist/shared/lending-platforms/src/data/userPosition/userPositionBase.js +0 -63
- package/dist/shared/lending-platforms/src/index.d.ts +0 -5
- package/dist/shared/lending-platforms/src/index.js +0 -21
- package/dist/shared/lending-platforms/src/services/client/index.d.ts +0 -2
- package/dist/shared/lending-platforms/src/services/client/index.js +0 -18
- package/dist/shared/lending-platforms/src/services/client/kamino.d.ts +0 -53
- package/dist/shared/lending-platforms/src/services/client/kamino.js +0 -142
- package/dist/shared/lending-platforms/src/services/client/lpClientBase.d.ts +0 -66
- package/dist/shared/lending-platforms/src/services/client/lpClientBase.js +0 -19
- package/dist/shared/lending-platforms/src/services/flashLoan/flashLoanBase.d.ts +0 -49
- package/dist/shared/lending-platforms/src/services/flashLoan/flashLoanBase.js +0 -16
- package/dist/shared/lending-platforms/src/services/flashLoan/index.d.ts +0 -2
- package/dist/shared/lending-platforms/src/services/flashLoan/index.js +0 -18
- package/dist/shared/lending-platforms/src/services/flashLoan/kamino.d.ts +0 -11
- package/dist/shared/lending-platforms/src/services/flashLoan/kamino.js +0 -85
- package/dist/shared/lending-platforms/src/services/index.d.ts +0 -5
- package/dist/shared/lending-platforms/src/services/index.js +0 -21
- package/dist/shared/lending-platforms/src/services/lendingPosition/index.d.ts +0 -2
- package/dist/shared/lending-platforms/src/services/lendingPosition/index.js +0 -18
- package/dist/shared/lending-platforms/src/services/lendingPosition/lendingPositionManager.d.ts +0 -117
- package/dist/shared/lending-platforms/src/services/lendingPosition/lendingPositionManager.js +0 -342
- package/dist/shared/lending-platforms/src/services/lendingPosition/types.d.ts +0 -40
- package/dist/shared/lending-platforms/src/services/lendingPosition/types.js +0 -2
- package/dist/shared/lending-platforms/src/services/leverage/index.d.ts +0 -2
- package/dist/shared/lending-platforms/src/services/leverage/index.js +0 -18
- package/dist/shared/lending-platforms/src/services/leverage/leverageService.d.ts +0 -104
- package/dist/shared/lending-platforms/src/services/leverage/leverageService.js +0 -437
- package/dist/shared/lending-platforms/src/services/leverage/types.d.ts +0 -261
- package/dist/shared/lending-platforms/src/services/leverage/types.js +0 -2
- package/dist/shared/lending-platforms/src/services/reservesManager.d.ts +0 -53
- package/dist/shared/lending-platforms/src/services/reservesManager.js +0 -112
- package/dist/shared/lending-platforms/src/types/general.d.ts +0 -37
- package/dist/shared/lending-platforms/src/types/general.js +0 -8
- package/dist/shared/lending-platforms/src/types/index.d.ts +0 -2
- package/dist/shared/lending-platforms/src/types/index.js +0 -18
- package/dist/shared/lending-platforms/src/types/kamino.d.ts +0 -10
- package/dist/shared/lending-platforms/src/types/kamino.js +0 -2
- package/dist/shared/lending-platforms/src/utils/accounts.d.ts +0 -16
- package/dist/shared/lending-platforms/src/utils/accounts.js +0 -36
- package/dist/shared/lending-platforms/src/utils/cache.d.ts +0 -3
- package/dist/shared/lending-platforms/src/utils/cache.js +0 -11
- package/dist/shared/lending-platforms/src/utils/index.d.ts +0 -6
- package/dist/shared/lending-platforms/src/utils/index.js +0 -22
- package/dist/shared/lending-platforms/src/utils/kamino.d.ts +0 -87
- package/dist/shared/lending-platforms/src/utils/kamino.js +0 -190
- package/dist/shared/lending-platforms/src/utils/lendingPlatform.d.ts +0 -6
- package/dist/shared/lending-platforms/src/utils/lendingPlatform.js +0 -16
- package/dist/shared/lending-platforms/src/utils/math.d.ts +0 -47
- package/dist/shared/lending-platforms/src/utils/math.js +0 -123
- package/dist/shared/lending-platforms/src/utils/scope.d.ts +0 -38
- package/dist/shared/lending-platforms/src/utils/scope.js +0 -144
- package/dist/shared/oracle-service/src/constants/index.d.ts +0 -3
- package/dist/shared/oracle-service/src/constants/index.js +0 -19
- package/dist/shared/oracle-service/src/constants/pyth.d.ts +0 -7
- package/dist/shared/oracle-service/src/constants/pyth.js +0 -71
- package/dist/shared/oracle-service/src/constants/splStake.d.ts +0 -2
- package/dist/shared/oracle-service/src/constants/splStake.js +0 -6
- package/dist/shared/oracle-service/src/constants/switchboard.d.ts +0 -7
- package/dist/shared/oracle-service/src/constants/switchboard.js +0 -10
- package/dist/shared/oracle-service/src/feeds/custom.d.ts +0 -30
- package/dist/shared/oracle-service/src/feeds/custom.js +0 -56
- package/dist/shared/oracle-service/src/feeds/jupiter.d.ts +0 -7
- package/dist/shared/oracle-service/src/feeds/jupiter.js +0 -43
- package/dist/shared/oracle-service/src/feeds/priceBase.d.ts +0 -13
- package/dist/shared/oracle-service/src/feeds/priceBase.js +0 -25
- package/dist/shared/oracle-service/src/feeds/pyth.d.ts +0 -8
- package/dist/shared/oracle-service/src/feeds/pyth.js +0 -59
- package/dist/shared/oracle-service/src/feeds/splStake.d.ts +0 -26
- package/dist/shared/oracle-service/src/feeds/splStake.js +0 -99
- package/dist/shared/oracle-service/src/feeds/switchboard.d.ts +0 -6
- package/dist/shared/oracle-service/src/feeds/switchboard.js +0 -11
- package/dist/shared/oracle-service/src/index.d.ts +0 -5
- package/dist/shared/oracle-service/src/index.js +0 -26
- package/dist/shared/oracle-service/src/oracle.d.ts +0 -22
- package/dist/shared/oracle-service/src/oracle.js +0 -104
- package/dist/shared/oracle-service/src/types.d.ts +0 -4
- package/dist/shared/oracle-service/src/types.js +0 -2
- package/dist/shared/oracle-service/src/utils/general.d.ts +0 -20
- package/dist/shared/oracle-service/src/utils/general.js +0 -65
- package/dist/shared/oracle-service/src/utils/index.d.ts +0 -1
- package/dist/shared/oracle-service/src/utils/index.js +0 -17
- package/dist/shared/perena-helpers/src/accounts.d.ts +0 -7
- package/dist/shared/perena-helpers/src/accounts.js +0 -12
- package/dist/shared/perena-helpers/src/client.d.ts +0 -299
- package/dist/shared/perena-helpers/src/client.js +0 -680
- package/dist/shared/perena-helpers/src/constants.d.ts +0 -5
- package/dist/shared/perena-helpers/src/constants.js +0 -8
- package/dist/shared/perena-helpers/src/cpi/burn.d.ts +0 -27
- package/dist/shared/perena-helpers/src/cpi/burn.js +0 -22
- package/dist/shared/perena-helpers/src/cpi/index.d.ts +0 -3
- package/dist/shared/perena-helpers/src/cpi/index.js +0 -19
- package/dist/shared/perena-helpers/src/cpi/mint.d.ts +0 -27
- package/dist/shared/perena-helpers/src/cpi/mint.js +0 -22
- package/dist/shared/perena-helpers/src/cpi/requestUnstake.d.ts +0 -19
- package/dist/shared/perena-helpers/src/cpi/requestUnstake.js +0 -16
- package/dist/shared/perena-helpers/src/index.d.ts +0 -5
- package/dist/shared/perena-helpers/src/index.js +0 -21
- package/dist/shared/perena-helpers/src/utils.d.ts +0 -9
- package/dist/shared/perena-helpers/src/utils.js +0 -54
- package/dist/shared/swap-aggregator/src/aggSwapClient.d.ts +0 -71
- package/dist/shared/swap-aggregator/src/aggSwapClient.js +0 -103
- package/dist/shared/swap-aggregator/src/index.d.ts +0 -1
- package/dist/shared/swap-aggregator/src/index.js +0 -17
- package/docs/launchingToken.md +0 -57
- package/scripts/asyncBurn.ts +0 -155
- package/scripts/burnToken.ts +0 -120
- package/scripts/claimIncentives.ts +0 -125
- package/scripts/closeCpiPlans.ts +0 -113
- package/scripts/collectInterest.ts +0 -194
- package/scripts/collectProtocolFees.ts +0 -144
- package/scripts/computeOptimalAllocations.ts +0 -117
- package/scripts/createToken.ts +0 -100
- package/scripts/createTokenLendingPosition.ts +0 -204
- package/scripts/createYieldingBank.ts +0 -91
- package/scripts/decreaseCarryPositions.ts +0 -359
- package/scripts/depositUnlentCollateral.ts +0 -106
- package/scripts/emergency/deleverageAll.ts +0 -287
- package/scripts/emergency/triggerCircuitBreaker.ts +0 -87
- package/scripts/env.ts +0 -4
- package/scripts/findTxs.ts +0 -169
- package/scripts/increaseCarryPositions.ts +0 -134
- package/scripts/inspect/format.ts +0 -576
- package/scripts/inspect.ts +0 -147
- package/scripts/localUtils.ts +0 -249
- package/scripts/mintToken.ts +0 -126
- package/scripts/processAsyncBurns.ts +0 -89
- package/scripts/rebalanceToken.ts +0 -269
- package/scripts/rebalanceYieldingBank.ts +0 -183
- package/scripts/recollateralizeLoss.ts +0 -79
- package/scripts/refresh.ts +0 -156
- package/scripts/updateFees.ts +0 -486
- package/scripts/updateGeneralLut.ts +0 -36
- package/scripts/updateLendingPositionConfig.ts +0 -172
- package/scripts/updateTokenLuts.ts +0 -36
- package/scripts/updateTokenMetadata.ts +0 -199
- package/scripts/updateYieldingBankConfig.ts +0 -100
- package/scripts/withdrawUnlentCollateral.ts +0 -178
- package/src/client/account.ts +0 -503
- package/src/client/builders/args.ts +0 -381
- package/src/client/builders/asyncBurnBuilder.ts +0 -305
- package/src/client/builders/base.ts +0 -303
- package/src/client/builders/burnTokenBuilder.ts +0 -258
- package/src/client/builders/claimIncentivesBuilder.ts +0 -211
- package/src/client/builders/collectFeesBuilder.ts +0 -52
- package/src/client/builders/collectInterestBuilder.ts +0 -165
- package/src/client/builders/createCpiPlanBuilder.ts +0 -21
- package/src/client/builders/createTokenBuilder.ts +0 -73
- package/src/client/builders/createTokenLendingPositionBuilder.ts +0 -219
- package/src/client/builders/createYieldingBankAllocationBuilder.ts +0 -32
- package/src/client/builders/createYieldingBankBuilder.ts +0 -39
- package/src/client/builders/decreaseCarryPositionBuilder.ts +0 -162
- package/src/client/builders/depositUnlentCollateralBuilder.ts +0 -95
- package/src/client/builders/increaseCarryPositionBuilder.ts +0 -105
- package/src/client/builders/index.ts +0 -37
- package/src/client/builders/mintTokenBuilder.ts +0 -137
- package/src/client/builders/rebalanceTokenBuilder.ts +0 -356
- package/src/client/builders/rebalanceYieldingBankBuilder.ts +0 -109
- package/src/client/builders/recollateralizeLossBuilder.ts +0 -367
- package/src/client/builders/refreshTokenStateBuilder.ts +0 -153
- package/src/client/builders/refreshTokensBuilder.ts +0 -82
- package/src/client/builders/refreshYieldingBankBuilder.ts +0 -42
- package/src/client/builders/resetTokenBurnRateLimitBuilder.ts +0 -21
- package/src/client/builders/setTokenCircuitBreakerBuilder.ts +0 -40
- package/src/client/builders/setYieldingBankCircuitBreakerBuilder.ts +0 -37
- package/src/client/builders/updateLendingPositionConfigBuilder.ts +0 -33
- package/src/client/builders/updateTokenConfigurationBuilder.ts +0 -50
- package/src/client/builders/updateTokenMetadataBuilder.ts +0 -24
- package/src/client/builders/updateYieldingBankConfigBuilder.ts +0 -32
- package/src/client/builders/utils.ts +0 -26
- package/src/client/client.ts +0 -264
- package/src/client/externalLiquidityResolver.ts +0 -54
- package/src/client/index.ts +0 -20
- package/src/client/lendingPlatformClients.ts +0 -50
- package/src/client/pda.ts +0 -102
- package/src/client/plans/collectInterest.ts +0 -207
- package/src/client/plans/decreaseCarryPosition.ts +0 -226
- package/src/client/routes/collectInterest.ts +0 -56
- package/src/client/transaction.ts +0 -106
- package/src/client/types/builders.ts +0 -19
- package/src/client/types/enums.ts +0 -47
- package/src/client/types/general.ts +0 -117
- package/src/client/types/index.ts +0 -6
- package/src/client/types/ix.ts +0 -452
- package/src/client/types/planTypes/collectInterest.ts +0 -97
- package/src/client/types/planTypes/common.ts +0 -31
- package/src/client/types/planTypes/decreaseCarryPosition.ts +0 -134
- package/src/client/types/planTypes/index.ts +0 -3
- package/src/client/types/tx.ts +0 -409
- package/src/constants/configs/allocations.ts +0 -30
- package/src/constants/configs/carryTradePresets.ts +0 -164
- package/src/constants/configs/index.ts +0 -2
- package/src/constants/general.ts +0 -141
- package/src/constants/index.ts +0 -3
- package/src/constants/lycTokenMetadata.ts +0 -52
- package/src/decoders/decodeTransaction.ts +0 -319
- package/src/decoders/discriminators.ts +0 -10
- package/src/decoders/idlAccounts.ts +0 -75
- package/src/decoders/index.ts +0 -15
- package/src/decoders/innerCpis.ts +0 -262
- package/src/decoders/lycInstructionNames.ts +0 -73
- package/src/decoders/programIds.ts +0 -12
- package/src/decoders/solana.ts +0 -25
- package/src/decoders/transactionPayload.ts +0 -41
- package/src/decoders/types.ts +0 -60
- package/src/errors.ts +0 -195
- package/src/idl/long_yield_carry.ts +0 -14648
- package/src/index.ts +0 -10
- package/src/metrics/index.ts +0 -1
- package/src/metrics/protocolMetrics.ts +0 -976
- package/src/models/index.ts +0 -9
- package/src/models/lycToken.ts +0 -380
- package/src/models/yieldingBank.ts +0 -127
- package/src/services/allocation/allocationService.ts +0 -823
- package/src/services/allocation/index.ts +0 -2
- package/src/services/allocation/types.ts +0 -27
- package/src/services/carry/carryAllocationConfig.ts +0 -266
- package/src/services/carry/index.ts +0 -2
- package/src/services/carry/lycLendingPositionManager.ts +0 -167
- package/src/services/index.ts +0 -5
- package/src/services/lendingPosition/index.ts +0 -5
- package/src/services/lendingPosition/lendingPositionService.ts +0 -328
- package/src/services/rebalance/index.ts +0 -2
- package/src/services/rebalance/token/index.ts +0 -1
- package/src/services/rebalance/token/tokenRebalanceService.ts +0 -142
- package/src/services/rebalance/yieldingBank/index.ts +0 -3
- package/src/services/rebalance/yieldingBank/planner.ts +0 -215
- package/src/services/rebalance/yieldingBank/strategy.ts +0 -41
- package/src/services/rebalance/yieldingBank/types.ts +0 -41
- package/src/services/redemption/index.ts +0 -9
- package/src/services/redemption/redemptionService.ts +0 -758
- package/src/types/enriched.ts +0 -187
- package/src/types/index.ts +0 -1
- package/src/utils/cache.ts +0 -12
- package/src/utils/data.ts +0 -65
- package/src/utils/enrichment.ts +0 -330
- package/src/utils/feeDripMetrics.ts +0 -146
- package/src/utils/general.ts +0 -54
- package/src/utils/index.ts +0 -13
- package/src/utils/ix.ts +0 -227
- package/src/utils/lendingPosition.ts +0 -221
- package/src/utils/lookupTables.ts +0 -309
- package/src/utils/lycData.ts +0 -321
- package/src/utils/timelock.ts +0 -63
- package/src/utils/tokenFeeMath.ts +0 -25
- package/src/utils/transactions.ts +0 -109
- package/src/utils/yieldingBank.ts +0 -38
- package/tsconfig.json +0 -11
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import { BN } from "@anchor-lang/core";
|
|
2
|
-
import { Address, Instruction, Rpc, SolanaRpcApi } from "@solana/kit";
|
|
3
|
-
import { LendingPlatformData } from "../platform";
|
|
4
|
-
import { CpiData, CustomAccountMeta, TransactionCacheInvalidation } from "common";
|
|
5
|
-
import { LpAccountsBase } from "../accounts";
|
|
6
|
-
import { RefreshPrerequisiteTarget } from "./types";
|
|
7
|
-
/** Parameters for deposit, withdraw, and borrow operations */
|
|
8
|
-
export interface LendingOperationParams {
|
|
9
|
-
user: Address;
|
|
10
|
-
payer: Address;
|
|
11
|
-
pool: Address;
|
|
12
|
-
reserve: Address;
|
|
13
|
-
userAccount: Address;
|
|
14
|
-
/**
|
|
15
|
-
* UI-unit amount, or `"all"` (withdraw-only) to encode the platform's
|
|
16
|
-
* "withdraw all" sentinel (Kamino: `u64::MAX` collateral amount) so the
|
|
17
|
-
* obligation's deposit is fully drained on-chain — no dust left behind
|
|
18
|
-
* from off-chain cToken/liquidity rate drift.
|
|
19
|
-
*
|
|
20
|
-
* If neither this nor {@link baseUnitAmount} is provided, the amount is
|
|
21
|
-
* implied to be derived in the program.
|
|
22
|
-
*/
|
|
23
|
-
uiAmount?: number | "all";
|
|
24
|
-
/**
|
|
25
|
-
* Exact liquidity base units for the operation (e.g. lamports for SOL). Prefer over
|
|
26
|
-
* {@link uiAmount} when float round-trips would undershoot on-chain requirements.
|
|
27
|
-
* Pass `"all"` (withdraw-only) for the same sentinel semantics as {@link uiAmount}.
|
|
28
|
-
*/
|
|
29
|
-
baseUnitAmount?: BN | "all";
|
|
30
|
-
txId: string;
|
|
31
|
-
}
|
|
32
|
-
/** Parameters for repay operations, with option for full repayment */
|
|
33
|
-
export interface RepayOperationParams extends LendingOperationParams {
|
|
34
|
-
/** Repay amount in UI units. The withdraw-only `"all"` sentinel is not valid here. */
|
|
35
|
-
uiAmount?: number;
|
|
36
|
-
/** Exact repay amount in liquidity base units. */
|
|
37
|
-
baseUnitAmount?: BN;
|
|
38
|
-
/** When true, repays the entire debt balance regardless of `amount` */
|
|
39
|
-
full?: boolean;
|
|
40
|
-
}
|
|
41
|
-
/** CPI data split into instruction-level prerequisite CPIs and main operation CPIs. */
|
|
42
|
-
export interface SplitLpOperationCpiData {
|
|
43
|
-
prerequisiteCpis: CpiData[];
|
|
44
|
-
cpis: CpiData[];
|
|
45
|
-
allCpis: CpiData[];
|
|
46
|
-
}
|
|
47
|
-
/** Split CPI data plus flattened post-success cache invalidations from all nested CPIs. */
|
|
48
|
-
export interface LendingOperationCpiBundle extends SplitLpOperationCpiData {
|
|
49
|
-
postSuccessCacheInvalidations: TransactionCacheInvalidation[];
|
|
50
|
-
}
|
|
51
|
-
/** Whether a reserve is used as collateral or debt for a user account */
|
|
52
|
-
export type ReserveRole = "collateral" | "debt";
|
|
53
|
-
/** Tracks a reserve's pool and which user accounts reference it (with roles) */
|
|
54
|
-
export interface TxReserveInfo {
|
|
55
|
-
pool: Address;
|
|
56
|
-
userAccounts: Map<string, Set<ReserveRole>>;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Abstract base class for lending platform instruction builders.
|
|
60
|
-
* Provides a unified interface for building CPI data for different lending protocols.
|
|
61
|
-
* Each platform implementation provides the account metas needed to construct CPI calls.
|
|
62
|
-
*
|
|
63
|
-
* @typeParam T - The platform-specific data class extending LendingPlatformData
|
|
64
|
-
*/
|
|
65
|
-
export declare abstract class LpInstructionsBase<T extends LendingPlatformData> {
|
|
66
|
-
rpc: Rpc<SolanaRpcApi>;
|
|
67
|
-
rpcUrl: string;
|
|
68
|
-
data: T;
|
|
69
|
-
abstract programId: Address;
|
|
70
|
-
abstract lookupTable: Address;
|
|
71
|
-
accounts: LpAccountsBase<T>;
|
|
72
|
-
/** Tracks which reserves (and their pools/roles) are involved in each transaction */
|
|
73
|
-
protected txReserves: Map<string, Map<string, TxReserveInfo>>;
|
|
74
|
-
/**
|
|
75
|
-
* Per-txId per-obligation set of debt reserves that the caller has flagged
|
|
76
|
-
* as being fully repaid earlier in the same transaction. Subsequent
|
|
77
|
-
* `RefreshObligation` builds for that obligation must NOT include these
|
|
78
|
-
* reserves in the borrow accounts list — by execution time the borrow row
|
|
79
|
-
* has been removed from the obligation, and Kamino's `handler_refresh_obligation`
|
|
80
|
-
* checks the passed account count against the live obligation state and
|
|
81
|
-
* fails with `InvalidAccountInput` (klend error 6006) on a mismatch.
|
|
82
|
-
*
|
|
83
|
-
* Set via {@link markObligationDebtCleared}, read via {@link getTxObligationClearedDebt}.
|
|
84
|
-
*/
|
|
85
|
-
protected txClearedDebt: Map<string, Map<string, Set<string>>>;
|
|
86
|
-
constructor(rpc: Rpc<SolanaRpcApi>, rpcUrl: string, data: T, accounts: LpAccountsBase<T>);
|
|
87
|
-
emptyAccountMeta(): CustomAccountMeta;
|
|
88
|
-
clearCacheEntry(category: string, id: string): void;
|
|
89
|
-
protected getCacheInvalidation(invalidation: {
|
|
90
|
-
category: string;
|
|
91
|
-
id: Address;
|
|
92
|
-
}): TransactionCacheInvalidation;
|
|
93
|
-
applyPostSuccessCacheInvalidations(invalidations: TransactionCacheInvalidation[]): void;
|
|
94
|
-
protected getCpiData(cpiType: number, accounts: CustomAccountMeta[], data?: Uint8Array, programId?: Address, postSuccessCacheInvalidations?: TransactionCacheInvalidation[]): CpiData;
|
|
95
|
-
protected createSplitOperationCpiData(prerequisiteCpis: CpiData[], cpis: CpiData[]): SplitLpOperationCpiData;
|
|
96
|
-
protected buildLendingOperationCpiBundle(cpiData: SplitLpOperationCpiData): LendingOperationCpiBundle;
|
|
97
|
-
getInitAndDepositCpiBundle(params: LendingOperationParams, userAccountId: number): Promise<LendingOperationCpiBundle>;
|
|
98
|
-
getInitBorrowPositionCpiBundle(params: LendingOperationParams, collReserve: Address): Promise<LendingOperationCpiBundle>;
|
|
99
|
-
getDepositCpiBundle(params: LendingOperationParams): Promise<LendingOperationCpiBundle>;
|
|
100
|
-
getWithdrawCpiBundle(params: LendingOperationParams): Promise<LendingOperationCpiBundle>;
|
|
101
|
-
getBorrowCpiBundle(params: LendingOperationParams): Promise<LendingOperationCpiBundle>;
|
|
102
|
-
getRepayCpiBundle(params: RepayOperationParams): Promise<LendingOperationCpiBundle>;
|
|
103
|
-
/**
|
|
104
|
-
* Registers a reserve as being used in a transaction.
|
|
105
|
-
* When userAccount and role are provided, also tracks the collateral/debt role
|
|
106
|
-
* for that specific user account.
|
|
107
|
-
*/
|
|
108
|
-
protected registerTxReserve(txId: string, pool: Address, reserve: Address, userAccount?: Address, role?: ReserveRole): void;
|
|
109
|
-
/**
|
|
110
|
-
* Returns the collateral and debt reserves registered in the tx cache
|
|
111
|
-
* for a specific user account (obligation).
|
|
112
|
-
*/
|
|
113
|
-
protected getTxUserAccountReserves(txId: string, userAccount: Address): {
|
|
114
|
-
collateral: Address[];
|
|
115
|
-
debt: Address[];
|
|
116
|
-
};
|
|
117
|
-
/**
|
|
118
|
-
* Mark that `reserve` will be fully repaid for `userAccount` earlier in the
|
|
119
|
-
* `txId` flow, so subsequent obligation-refresh builders drop it from the
|
|
120
|
-
* borrow accounts they emit. Call after building a "repay all" CPI; it has
|
|
121
|
-
* no effect on the repay itself.
|
|
122
|
-
*/
|
|
123
|
-
markObligationDebtCleared(txId: string, userAccount: Address, reserve: Address): void;
|
|
124
|
-
/** Returns the set of debt reserves marked cleared for `(txId, userAccount)`. */
|
|
125
|
-
protected getTxObligationClearedDebt(txId: string, userAccount: Address): Set<Address>;
|
|
126
|
-
/**
|
|
127
|
-
* Clears the transaction cache for a given transaction or all transactions.
|
|
128
|
-
* Call after finishing building a transaction to free memory.
|
|
129
|
-
*/
|
|
130
|
-
clearTransactionCache(txId?: string): void;
|
|
131
|
-
/**
|
|
132
|
-
* Returns standalone instructions that must be executed at the top level
|
|
133
|
-
* BEFORE the the main CPIs. Should be called after all CPI methods for this
|
|
134
|
-
* txId have been invoked.
|
|
135
|
-
*/
|
|
136
|
-
abstract getPreInstructions(txId: string): Promise<Instruction[]>;
|
|
137
|
-
/**
|
|
138
|
-
* Returns prerequisite CPIs needed before reading refreshed account state for
|
|
139
|
-
* a batch of lending positions outside a normal deposit/withdraw/borrow/repay
|
|
140
|
-
* flow.
|
|
141
|
-
*/
|
|
142
|
-
getPrerequisiteCpisForRefresh(_targets: RefreshPrerequisiteTarget[]): Promise<CpiData[]>;
|
|
143
|
-
/** Returns CPI data for initializing a user's lending account */
|
|
144
|
-
abstract getInitUserAccountCpiData(pool: Address, user: Address, feePayer: Address, id: number): Promise<SplitLpOperationCpiData>;
|
|
145
|
-
/**
|
|
146
|
-
* Returns CPI data for initializing a lending position end-to-end: the user
|
|
147
|
-
* account itself plus any per-reserve accessory accounts (e.g. Kamino
|
|
148
|
-
* obligation farm user states for the collateral and debt reserves). Called
|
|
149
|
-
* at position-creation time so subsequent deposit/borrow flows don't need
|
|
150
|
-
* to init these inline.
|
|
151
|
-
*
|
|
152
|
-
* Default: delegates to {@link getInitUserAccountCpiData}. Platforms with
|
|
153
|
-
* per-reserve accessory accounts override this to add their inits.
|
|
154
|
-
*/
|
|
155
|
-
getInitLendingPositionCpiData(params: {
|
|
156
|
-
pool: Address;
|
|
157
|
-
user: Address;
|
|
158
|
-
payer: Address;
|
|
159
|
-
userAccountId: number;
|
|
160
|
-
collateralReserve: Address;
|
|
161
|
-
debtReserve: Address;
|
|
162
|
-
}): Promise<SplitLpOperationCpiData>;
|
|
163
|
-
/** Returns CPI data for initializing user account, incentive account (if necessary) and depositing */
|
|
164
|
-
abstract getInitAndDepositCpiData(params: LendingOperationParams, userAccountId: number): Promise<SplitLpOperationCpiData>;
|
|
165
|
-
/** Returns CPI data for initializing a new borrow position */
|
|
166
|
-
abstract getInitBorrowPositionCpiData(params: LendingOperationParams, collReserve: Address): Promise<SplitLpOperationCpiData>;
|
|
167
|
-
/** Returns deposit CPI data split into optional prerequisite CPIs and main CPIs. */
|
|
168
|
-
abstract getDepositCpiData(params: LendingOperationParams): Promise<SplitLpOperationCpiData>;
|
|
169
|
-
/** Returns withdraw CPI data split into optional prerequisite CPIs and main CPIs. */
|
|
170
|
-
abstract getWithdrawCpiData(params: LendingOperationParams): Promise<SplitLpOperationCpiData>;
|
|
171
|
-
/** Returns borrow CPI data split into optional prerequisite CPIs and main CPIs. */
|
|
172
|
-
abstract getBorrowCpiData(params: LendingOperationParams): Promise<SplitLpOperationCpiData>;
|
|
173
|
-
/** Returns repay CPI data split into optional prerequisite CPIs and main CPIs. */
|
|
174
|
-
abstract getRepayCpiData(params: RepayOperationParams): Promise<SplitLpOperationCpiData>;
|
|
175
|
-
}
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LpInstructionsBase = void 0;
|
|
4
|
-
const common_1 = require("common");
|
|
5
|
-
/**
|
|
6
|
-
* Abstract base class for lending platform instruction builders.
|
|
7
|
-
* Provides a unified interface for building CPI data for different lending protocols.
|
|
8
|
-
* Each platform implementation provides the account metas needed to construct CPI calls.
|
|
9
|
-
*
|
|
10
|
-
* @typeParam T - The platform-specific data class extending LendingPlatformData
|
|
11
|
-
*/
|
|
12
|
-
class LpInstructionsBase {
|
|
13
|
-
constructor(rpc, rpcUrl, data, accounts) {
|
|
14
|
-
/** Tracks which reserves (and their pools/roles) are involved in each transaction */
|
|
15
|
-
this.txReserves = new Map();
|
|
16
|
-
/**
|
|
17
|
-
* Per-txId per-obligation set of debt reserves that the caller has flagged
|
|
18
|
-
* as being fully repaid earlier in the same transaction. Subsequent
|
|
19
|
-
* `RefreshObligation` builds for that obligation must NOT include these
|
|
20
|
-
* reserves in the borrow accounts list — by execution time the borrow row
|
|
21
|
-
* has been removed from the obligation, and Kamino's `handler_refresh_obligation`
|
|
22
|
-
* checks the passed account count against the live obligation state and
|
|
23
|
-
* fails with `InvalidAccountInput` (klend error 6006) on a mismatch.
|
|
24
|
-
*
|
|
25
|
-
* Set via {@link markObligationDebtCleared}, read via {@link getTxObligationClearedDebt}.
|
|
26
|
-
*/
|
|
27
|
-
this.txClearedDebt = new Map();
|
|
28
|
-
this.rpc = rpc;
|
|
29
|
-
this.rpcUrl = rpcUrl;
|
|
30
|
-
this.data = data;
|
|
31
|
-
this.accounts = accounts;
|
|
32
|
-
}
|
|
33
|
-
emptyAccountMeta() {
|
|
34
|
-
return (0, common_1.toCustomAccountMeta)(this.programId);
|
|
35
|
-
}
|
|
36
|
-
clearCacheEntry(category, id) {
|
|
37
|
-
this.data.clearCacheEntry(category, id);
|
|
38
|
-
}
|
|
39
|
-
getCacheInvalidation(invalidation) {
|
|
40
|
-
return {
|
|
41
|
-
client: "kamino",
|
|
42
|
-
...invalidation,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
applyPostSuccessCacheInvalidations(invalidations) {
|
|
46
|
-
for (const invalidation of invalidations) {
|
|
47
|
-
if (invalidation.client !== "kamino") {
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
this.clearCacheEntry(invalidation.category, invalidation.id);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
getCpiData(cpiType, accounts, data, programId, postSuccessCacheInvalidations) {
|
|
54
|
-
return {
|
|
55
|
-
programId: programId ?? this.programId,
|
|
56
|
-
cpiType,
|
|
57
|
-
data,
|
|
58
|
-
accounts,
|
|
59
|
-
lookupTables: [this.lookupTable],
|
|
60
|
-
postSuccessCacheInvalidations,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
createSplitOperationCpiData(prerequisiteCpis, cpis) {
|
|
64
|
-
return {
|
|
65
|
-
prerequisiteCpis,
|
|
66
|
-
cpis,
|
|
67
|
-
allCpis: [...prerequisiteCpis, ...cpis],
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
buildLendingOperationCpiBundle(cpiData) {
|
|
71
|
-
return {
|
|
72
|
-
prerequisiteCpis: cpiData.prerequisiteCpis,
|
|
73
|
-
cpis: cpiData.cpis,
|
|
74
|
-
allCpis: [...cpiData.prerequisiteCpis, ...cpiData.cpis],
|
|
75
|
-
postSuccessCacheInvalidations: [...cpiData.prerequisiteCpis, ...cpiData.cpis].flatMap((cpi) => cpi.postSuccessCacheInvalidations ?? []),
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
async getInitAndDepositCpiBundle(params, userAccountId) {
|
|
79
|
-
return this.buildLendingOperationCpiBundle(await this.getInitAndDepositCpiData(params, userAccountId));
|
|
80
|
-
}
|
|
81
|
-
async getInitBorrowPositionCpiBundle(params, collReserve) {
|
|
82
|
-
return this.buildLendingOperationCpiBundle(await this.getInitBorrowPositionCpiData(params, collReserve));
|
|
83
|
-
}
|
|
84
|
-
async getDepositCpiBundle(params) {
|
|
85
|
-
return this.buildLendingOperationCpiBundle(await this.getDepositCpiData(params));
|
|
86
|
-
}
|
|
87
|
-
async getWithdrawCpiBundle(params) {
|
|
88
|
-
return this.buildLendingOperationCpiBundle(await this.getWithdrawCpiData(params));
|
|
89
|
-
}
|
|
90
|
-
async getBorrowCpiBundle(params) {
|
|
91
|
-
return this.buildLendingOperationCpiBundle(await this.getBorrowCpiData(params));
|
|
92
|
-
}
|
|
93
|
-
async getRepayCpiBundle(params) {
|
|
94
|
-
return this.buildLendingOperationCpiBundle(await this.getRepayCpiData(params));
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Registers a reserve as being used in a transaction.
|
|
98
|
-
* When userAccount and role are provided, also tracks the collateral/debt role
|
|
99
|
-
* for that specific user account.
|
|
100
|
-
*/
|
|
101
|
-
registerTxReserve(txId, pool, reserve, userAccount, role) {
|
|
102
|
-
if (!this.txReserves.has(txId)) {
|
|
103
|
-
this.txReserves.set(txId, new Map());
|
|
104
|
-
}
|
|
105
|
-
const txMap = this.txReserves.get(txId);
|
|
106
|
-
if (!txMap.has(reserve)) {
|
|
107
|
-
txMap.set(reserve, { pool, userAccounts: new Map() });
|
|
108
|
-
}
|
|
109
|
-
if (userAccount && role) {
|
|
110
|
-
const entry = txMap.get(reserve);
|
|
111
|
-
if (!entry.userAccounts.has(userAccount)) {
|
|
112
|
-
entry.userAccounts.set(userAccount, new Set());
|
|
113
|
-
}
|
|
114
|
-
entry.userAccounts.get(userAccount).add(role);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Returns the collateral and debt reserves registered in the tx cache
|
|
119
|
-
* for a specific user account (obligation).
|
|
120
|
-
*/
|
|
121
|
-
getTxUserAccountReserves(txId, userAccount) {
|
|
122
|
-
const collateral = [];
|
|
123
|
-
const debt = [];
|
|
124
|
-
const txMap = this.txReserves.get(txId);
|
|
125
|
-
if (!txMap)
|
|
126
|
-
return { collateral, debt };
|
|
127
|
-
for (const [reserve, info] of txMap) {
|
|
128
|
-
const roles = info.userAccounts.get(userAccount);
|
|
129
|
-
if (roles?.has("collateral"))
|
|
130
|
-
collateral.push(reserve);
|
|
131
|
-
if (roles?.has("debt"))
|
|
132
|
-
debt.push(reserve);
|
|
133
|
-
}
|
|
134
|
-
return { collateral, debt };
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Mark that `reserve` will be fully repaid for `userAccount` earlier in the
|
|
138
|
-
* `txId` flow, so subsequent obligation-refresh builders drop it from the
|
|
139
|
-
* borrow accounts they emit. Call after building a "repay all" CPI; it has
|
|
140
|
-
* no effect on the repay itself.
|
|
141
|
-
*/
|
|
142
|
-
markObligationDebtCleared(txId, userAccount, reserve) {
|
|
143
|
-
if (!this.txClearedDebt.has(txId)) {
|
|
144
|
-
this.txClearedDebt.set(txId, new Map());
|
|
145
|
-
}
|
|
146
|
-
const obligationMap = this.txClearedDebt.get(txId);
|
|
147
|
-
if (!obligationMap.has(userAccount)) {
|
|
148
|
-
obligationMap.set(userAccount, new Set());
|
|
149
|
-
}
|
|
150
|
-
obligationMap.get(userAccount).add(reserve);
|
|
151
|
-
}
|
|
152
|
-
/** Returns the set of debt reserves marked cleared for `(txId, userAccount)`. */
|
|
153
|
-
getTxObligationClearedDebt(txId, userAccount) {
|
|
154
|
-
return (this.txClearedDebt.get(txId)?.get(userAccount) ?? new Set());
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Clears the transaction cache for a given transaction or all transactions.
|
|
158
|
-
* Call after finishing building a transaction to free memory.
|
|
159
|
-
*/
|
|
160
|
-
clearTransactionCache(txId) {
|
|
161
|
-
if (txId) {
|
|
162
|
-
this.txReserves.delete(txId);
|
|
163
|
-
this.txClearedDebt.delete(txId);
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
this.txReserves.clear();
|
|
167
|
-
this.txClearedDebt.clear();
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Returns prerequisite CPIs needed before reading refreshed account state for
|
|
172
|
-
* a batch of lending positions outside a normal deposit/withdraw/borrow/repay
|
|
173
|
-
* flow.
|
|
174
|
-
*/
|
|
175
|
-
async getPrerequisiteCpisForRefresh(_targets) {
|
|
176
|
-
return [];
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Returns CPI data for initializing a lending position end-to-end: the user
|
|
180
|
-
* account itself plus any per-reserve accessory accounts (e.g. Kamino
|
|
181
|
-
* obligation farm user states for the collateral and debt reserves). Called
|
|
182
|
-
* at position-creation time so subsequent deposit/borrow flows don't need
|
|
183
|
-
* to init these inline.
|
|
184
|
-
*
|
|
185
|
-
* Default: delegates to {@link getInitUserAccountCpiData}. Platforms with
|
|
186
|
-
* per-reserve accessory accounts override this to add their inits.
|
|
187
|
-
*/
|
|
188
|
-
async getInitLendingPositionCpiData(params) {
|
|
189
|
-
return this.getInitUserAccountCpiData(params.pool, params.user, params.payer, params.userAccountId);
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
exports.LpInstructionsBase = LpInstructionsBase;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./kamino"), exports);
|
|
18
|
-
__exportStar(require("./lpDataBase"), exports);
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { type Address } from "@solana/kit";
|
|
2
|
-
import { KaminoMarket, KaminoObligation, KlendPrices } from "@kamino-finance/klend-sdk";
|
|
3
|
-
import { Farms, FarmState, UserFarm } from "@kamino-finance/farms-sdk";
|
|
4
|
-
import { LendingPlatformData } from "./lpDataBase";
|
|
5
|
-
import { KaminoReserveData, KaminoUserPositionData } from "..";
|
|
6
|
-
import { LendingPlatform } from "../../types";
|
|
7
|
-
import { OraclePrices } from "@kamino-finance/scope-sdk/dist/@codegen/scope/accounts";
|
|
8
|
-
import { CacheTtlConfig } from "common";
|
|
9
|
-
/** Cache configuration for Kamino data with optional market-specific TTL */
|
|
10
|
-
export interface KaminoCacheConfig extends CacheTtlConfig {
|
|
11
|
-
marketsTtlMs?: number;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Data provider for Kamino Lend protocol.
|
|
15
|
-
* Handles fetching and caching of markets, reserves, obligations, farms, and prices.
|
|
16
|
-
* Supports both standard reserve farms and "extra" farms (paired collateral/debt incentives).
|
|
17
|
-
*/
|
|
18
|
-
export declare class KaminoData extends LendingPlatformData {
|
|
19
|
-
farms: Farms;
|
|
20
|
-
private scope;
|
|
21
|
-
constructor(rpcUrl: string, cacheConfig?: KaminoCacheConfig, rpcUrls?: string[]);
|
|
22
|
-
platform(): LendingPlatform;
|
|
23
|
-
/**
|
|
24
|
-
* Warms the market cache for the requested pools. Single-pool calls reuse the
|
|
25
|
-
* normal lazy fetch path; multi-pool calls use Kamino's batched loader.
|
|
26
|
-
*/
|
|
27
|
-
load(pools: Address[]): Promise<void>;
|
|
28
|
-
/** Fetches a market by address, loading from cache if available */
|
|
29
|
-
fetchMarket(market: Address): Promise<KaminoMarket>;
|
|
30
|
-
/** Fetches all oracle prices for assets in the specified market */
|
|
31
|
-
fetchPrices(pool: Address): Promise<KlendPrices>;
|
|
32
|
-
/** Fetches an obligation (user position) by address */
|
|
33
|
-
fetchObligation(market: KaminoMarket, obligation: Address): Promise<KaminoObligation | null>;
|
|
34
|
-
/** Batch fetches farm states by their addresses */
|
|
35
|
-
fetchFarms(farms: Address[]): Promise<FarmState[]>;
|
|
36
|
-
private fetchExtraFarms;
|
|
37
|
-
/**
|
|
38
|
-
* Collects all farm incentives for a reserve, including both standard
|
|
39
|
-
* collateral/debt farms and extra paired farms from Kamino CDN config.
|
|
40
|
-
*/
|
|
41
|
-
private fetchFarmsForReserve;
|
|
42
|
-
fetchUserActiveIncentives(user: Address, specificFarm?: Address): Promise<UserFarm[]>;
|
|
43
|
-
maybeFetchUserPositionInPool(pool: Address, userPosition: Address): Promise<KaminoUserPositionData | null>;
|
|
44
|
-
fetchUserPositionsInPool(pool: Address, userPositions: Address[]): Promise<KaminoUserPositionData[]>;
|
|
45
|
-
fetchAllUserPositionsForUserInPool(pool: Address, user: Address): Promise<KaminoUserPositionData[]>;
|
|
46
|
-
fetchReserve(pool: Address, reserve: Address): Promise<KaminoReserveData>;
|
|
47
|
-
fetchReserveByMint(pool: Address, mint: Address): Promise<KaminoReserveData>;
|
|
48
|
-
private mapReserve;
|
|
49
|
-
/**
|
|
50
|
-
* Fetches and caches the Scope OraclePrices account for a given price feed.
|
|
51
|
-
* @returns The deserialized OraclePrices, or null if the account doesn't exist
|
|
52
|
-
*/
|
|
53
|
-
fetchScopeOraclePrices(priceFeed: Address): Promise<OraclePrices | null>;
|
|
54
|
-
/**
|
|
55
|
-
* Resolves and caches the Scope Configuration account address for a given OraclePrices account.
|
|
56
|
-
* The first call per price feed does a getProgramAccounts lookup; subsequent calls use cache.
|
|
57
|
-
*/
|
|
58
|
-
fetchScopeConfigAddress(priceFeed: Address): Promise<Address>;
|
|
59
|
-
}
|
|
@@ -1,206 +0,0 @@
|
|
|
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.KaminoData = void 0;
|
|
7
|
-
const klend_sdk_1 = require("@kamino-finance/klend-sdk");
|
|
8
|
-
const scope_sdk_1 = require("@kamino-finance/scope-sdk");
|
|
9
|
-
const farms_sdk_1 = require("@kamino-finance/farms-sdk");
|
|
10
|
-
const lpDataBase_1 = require("./lpDataBase");
|
|
11
|
-
const __1 = require("..");
|
|
12
|
-
const constants_1 = require("../../constants");
|
|
13
|
-
const types_1 = require("../../types");
|
|
14
|
-
const utils_1 = require("../../utils");
|
|
15
|
-
const common_1 = require("common");
|
|
16
|
-
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
17
|
-
/**
|
|
18
|
-
* Data provider for Kamino Lend protocol.
|
|
19
|
-
* Handles fetching and caching of markets, reserves, obligations, farms, and prices.
|
|
20
|
-
* Supports both standard reserve farms and "extra" farms (paired collateral/debt incentives).
|
|
21
|
-
*/
|
|
22
|
-
class KaminoData extends lpDataBase_1.LendingPlatformData {
|
|
23
|
-
constructor(rpcUrl, cacheConfig, rpcUrls = [rpcUrl]) {
|
|
24
|
-
const ttlConfig = {
|
|
25
|
-
defaultTtlMs: 90000,
|
|
26
|
-
categoryTtlMs: {
|
|
27
|
-
...cacheConfig?.categoryTtlMs,
|
|
28
|
-
markets: 60000 * 5,
|
|
29
|
-
farms: 60000 * 5,
|
|
30
|
-
extraFarms: Number.MAX_SAFE_INTEGER,
|
|
31
|
-
scopeOraclePrices: 30000,
|
|
32
|
-
scopeConfig: 60000 * 5,
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
super(rpcUrl, ttlConfig, rpcUrls);
|
|
36
|
-
this.farms = new farms_sdk_1.Farms(this.rpc, constants_1.KAMINO_FARMS_PROGRAM_ID);
|
|
37
|
-
this.scope = new scope_sdk_1.Scope("mainnet-beta", this.rpc);
|
|
38
|
-
}
|
|
39
|
-
platform() {
|
|
40
|
-
return types_1.LendingPlatform.Kamino;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Warms the market cache for the requested pools. Single-pool calls reuse the
|
|
44
|
-
* normal lazy fetch path; multi-pool calls use Kamino's batched loader.
|
|
45
|
-
*/
|
|
46
|
-
async load(pools) {
|
|
47
|
-
if (pools.length === 0)
|
|
48
|
-
return;
|
|
49
|
-
if (pools.length === 1) {
|
|
50
|
-
await this.fetchMarket(pools[0]);
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const { data: markets, fromCache } = await this.cache.getDataBatch(async () => {
|
|
54
|
-
const marketsData = await klend_sdk_1.KaminoMarket.loadMultiple(this.rpc, pools, klend_sdk_1.DEFAULT_RECENT_SLOT_DURATION_MS, klend_sdk_1.PROGRAM_ID, true);
|
|
55
|
-
return pools.map((pool) => marketsData.get(pool) ?? null);
|
|
56
|
-
}, this.poolCatKey, pools);
|
|
57
|
-
if (!fromCache) {
|
|
58
|
-
await Promise.all(markets.map(async (market) => await market.loadReserves()));
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
/** Fetches a market by address, loading from cache if available */
|
|
62
|
-
async fetchMarket(market) {
|
|
63
|
-
const { data, fromCache } = await this.cache.getDataOrThrow(async () => await klend_sdk_1.KaminoMarket.load(this.rpc, market, klend_sdk_1.DEFAULT_RECENT_SLOT_DURATION_MS, klend_sdk_1.PROGRAM_ID, true), this.poolCatKey, market);
|
|
64
|
-
if (!fromCache) {
|
|
65
|
-
await data.loadReserves();
|
|
66
|
-
}
|
|
67
|
-
return data;
|
|
68
|
-
}
|
|
69
|
-
/** Fetches all oracle prices for assets in the specified market */
|
|
70
|
-
async fetchPrices(pool) {
|
|
71
|
-
const market = await this.fetchMarket(pool);
|
|
72
|
-
const { data } = await this.cache.getDataOrThrow(async () => await market.getAllPrices(), "prices", "queryAll");
|
|
73
|
-
return data;
|
|
74
|
-
}
|
|
75
|
-
/** Fetches an obligation (user position) by address */
|
|
76
|
-
async fetchObligation(market, obligation) {
|
|
77
|
-
const { data } = await this.cache.getData(async () => await market.getObligationByAddress(obligation), this.userAccountCatKey, obligation, { cacheNull: false });
|
|
78
|
-
return data;
|
|
79
|
-
}
|
|
80
|
-
/** Batch fetches farm states by their addresses */
|
|
81
|
-
async fetchFarms(farms) {
|
|
82
|
-
const { data } = await this.cache.getDataBatch(async () => (await this.farms.getAllFarmStatesByPubkeys(farms)).map((x) => x.farmState), "userFarms", farms);
|
|
83
|
-
return data;
|
|
84
|
-
}
|
|
85
|
-
async fetchExtraFarms() {
|
|
86
|
-
const { data } = await this.cache.getDataOrThrow(async () => await (0, utils_1.fetchExtraFarms)(), "extraFarms", "mainnet-beta");
|
|
87
|
-
return data;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Collects all farm incentives for a reserve, including both standard
|
|
91
|
-
* collateral/debt farms and extra paired farms from Kamino CDN config.
|
|
92
|
-
*/
|
|
93
|
-
async fetchFarmsForReserve(pool, reserve) {
|
|
94
|
-
const market = await this.fetchMarket(pool);
|
|
95
|
-
const reserveData = market.getReserveByAddress(reserve);
|
|
96
|
-
if (!reserveData) {
|
|
97
|
-
throw new Error(`Unable to find reserve ${reserve}`);
|
|
98
|
-
}
|
|
99
|
-
const farms = [];
|
|
100
|
-
const farmCollateral = reserveData.state.farmCollateral;
|
|
101
|
-
const farmDebt = reserveData.state.farmDebt;
|
|
102
|
-
if (farmCollateral && farmCollateral !== klend_sdk_1.DEFAULT_PUBLIC_KEY) {
|
|
103
|
-
farms.push({ address: farmCollateral, isDebtFarm: false });
|
|
104
|
-
}
|
|
105
|
-
if (farmDebt && farmDebt !== klend_sdk_1.DEFAULT_PUBLIC_KEY) {
|
|
106
|
-
farms.push({ address: farmDebt, isDebtFarm: true });
|
|
107
|
-
}
|
|
108
|
-
const extraFarmsData = (await this.fetchExtraFarms()).filter((x) => x.collReserve === reserve || x.debtReserve === reserve);
|
|
109
|
-
const extraFarmEntries = extraFarmsData.map((x) => ({
|
|
110
|
-
address: x.farm,
|
|
111
|
-
isDebtFarm: x.debtReserve === reserve,
|
|
112
|
-
}));
|
|
113
|
-
const allFarmEntries = [...farms, ...extraFarmEntries];
|
|
114
|
-
const allFarmAddresses = allFarmEntries.map((f) => f.address);
|
|
115
|
-
if (!allFarmAddresses.length) {
|
|
116
|
-
return [];
|
|
117
|
-
}
|
|
118
|
-
const farmStates = await this.fetchFarms(allFarmAddresses);
|
|
119
|
-
const result = [];
|
|
120
|
-
farmStates.forEach((farmState, i) => {
|
|
121
|
-
const farmEntry = allFarmEntries[i];
|
|
122
|
-
const isExtraFarm = i >= farms.length;
|
|
123
|
-
const extraFarmIndex = i - farms.length;
|
|
124
|
-
farmState.rewardInfos.forEach((rewardInfo, rewardIndex) => {
|
|
125
|
-
if (rewardInfo.rewardsVault === klend_sdk_1.DEFAULT_PUBLIC_KEY) {
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
result.push({
|
|
129
|
-
data: {
|
|
130
|
-
key: farmEntry.address,
|
|
131
|
-
farmState,
|
|
132
|
-
},
|
|
133
|
-
rewardIndex,
|
|
134
|
-
requiresPairReserve: isExtraFarm ? extraFarmsData[extraFarmIndex].debtReserve : undefined,
|
|
135
|
-
isDebtFarm: farmEntry.isDebtFarm,
|
|
136
|
-
});
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
return result;
|
|
140
|
-
}
|
|
141
|
-
async fetchUserActiveIncentives(user, specificFarm) {
|
|
142
|
-
let { data } = await this.cache.getDataOrThrow(async () => {
|
|
143
|
-
return Array.from((await this.farms.getAllFarmsForUserMultiState(user, new decimal_js_1.default((0, common_1.currentUnixSeconds)()))).values()).flat();
|
|
144
|
-
}, "userFarms", user);
|
|
145
|
-
if (specificFarm) {
|
|
146
|
-
data = data.filter((x) => x.farm === specificFarm);
|
|
147
|
-
}
|
|
148
|
-
return data;
|
|
149
|
-
}
|
|
150
|
-
async maybeFetchUserPositionInPool(pool, userPosition) {
|
|
151
|
-
const market = await this.fetchMarket(pool);
|
|
152
|
-
const obligation = await this.fetchObligation(market, userPosition);
|
|
153
|
-
return obligation ? __1.KaminoUserPositionData.loadData(obligation) : null;
|
|
154
|
-
}
|
|
155
|
-
async fetchUserPositionsInPool(pool, userPositions) {
|
|
156
|
-
const market = await this.fetchMarket(pool);
|
|
157
|
-
const { data } = await this.cache.getDataBatch(async () => await market.getMultipleObligationsByAddress(userPositions), this.userAccountCatKey, userPositions);
|
|
158
|
-
return data.map((obligation) => __1.KaminoUserPositionData.loadData(obligation));
|
|
159
|
-
}
|
|
160
|
-
async fetchAllUserPositionsForUserInPool(pool, user) {
|
|
161
|
-
const market = await this.fetchMarket(pool);
|
|
162
|
-
const { data } = await this.cache.getDataOrThrow(async () => await market.getAllUserObligations(user, "confirmed"), "obligationsBatch", user);
|
|
163
|
-
return data.map((obligation) => __1.KaminoUserPositionData.loadData(obligation));
|
|
164
|
-
}
|
|
165
|
-
async fetchReserve(pool, reserve) {
|
|
166
|
-
const market = await this.fetchMarket(pool);
|
|
167
|
-
const reserveData = market.getReserveByAddress(reserve);
|
|
168
|
-
if (!reserveData) {
|
|
169
|
-
throw new Error(`Unable to find reserve ${reserve}`);
|
|
170
|
-
}
|
|
171
|
-
return this.mapReserve(market, reserveData);
|
|
172
|
-
}
|
|
173
|
-
async fetchReserveByMint(pool, mint) {
|
|
174
|
-
const market = await this.fetchMarket(pool);
|
|
175
|
-
const reserveData = market.getReserveByMint(mint);
|
|
176
|
-
if (!reserveData) {
|
|
177
|
-
throw new Error(`Unable to find reserve by mint ${mint}`);
|
|
178
|
-
}
|
|
179
|
-
return this.mapReserve(market, reserveData);
|
|
180
|
-
}
|
|
181
|
-
async mapReserve(market, reserve) {
|
|
182
|
-
return __1.KaminoReserveData.loadData(market, reserve, await this.fetchFarmsForReserve(market.address, reserve.address), await this.fetchPrices(market.address), await this.getSlot());
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Fetches and caches the Scope OraclePrices account for a given price feed.
|
|
186
|
-
* @returns The deserialized OraclePrices, or null if the account doesn't exist
|
|
187
|
-
*/
|
|
188
|
-
async fetchScopeOraclePrices(priceFeed) {
|
|
189
|
-
const { data } = await this.cache.getData(async () => await this.scope.getSingleOraclePrices({ prices: priceFeed }), "scopeOraclePrices", priceFeed);
|
|
190
|
-
return data;
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Resolves and caches the Scope Configuration account address for a given OraclePrices account.
|
|
194
|
-
* The first call per price feed does a getProgramAccounts lookup; subsequent calls use cache.
|
|
195
|
-
*/
|
|
196
|
-
async fetchScopeConfigAddress(priceFeed) {
|
|
197
|
-
const { data } = await this.cache.getDataOrThrow(async () => {
|
|
198
|
-
const [configAddr] = await this.scope.getSingleFeedConfiguration({
|
|
199
|
-
prices: priceFeed,
|
|
200
|
-
});
|
|
201
|
-
return configAddr;
|
|
202
|
-
}, "scopeConfig", priceFeed);
|
|
203
|
-
return data;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
exports.KaminoData = KaminoData;
|