@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.
Files changed (738) hide show
  1. package/README.md +32 -0
  2. package/dist/carry-XU3WUD22.mjs +20 -0
  3. package/dist/carry-XU3WUD22.mjs.map +1 -0
  4. package/dist/chunk-2T23QQCX.mjs +3707 -0
  5. package/dist/chunk-2T23QQCX.mjs.map +1 -0
  6. package/dist/chunk-GOW6CARW.mjs +3969 -0
  7. package/dist/chunk-GOW6CARW.mjs.map +1 -0
  8. package/dist/chunk-ZPXXY3QV.mjs +9330 -0
  9. package/dist/chunk-ZPXXY3QV.mjs.map +1 -0
  10. package/dist/{sdks/long-yield-carry/src/idl/long_yield_carry.d.ts → core-DP6wfpME.d.mts} +3242 -84
  11. package/dist/core-DP6wfpME.d.ts +10485 -0
  12. package/dist/core.d.mts +8 -0
  13. package/dist/core.d.ts +8 -0
  14. package/dist/core.js +12348 -0
  15. package/dist/core.js.map +1 -0
  16. package/dist/core.mjs +72 -0
  17. package/dist/core.mjs.map +1 -0
  18. package/dist/index.d.mts +2537 -0
  19. package/dist/index.d.ts +2537 -0
  20. package/dist/index.js +23884 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/index.mjs +5898 -0
  23. package/dist/index.mjs.map +1 -0
  24. package/package.json +56 -10
  25. package/.env.example +0 -11
  26. package/dist/sdks/long-yield-carry/scripts/asyncBurn.d.ts +0 -1
  27. package/dist/sdks/long-yield-carry/scripts/asyncBurn.js +0 -117
  28. package/dist/sdks/long-yield-carry/scripts/burnToken.d.ts +0 -1
  29. package/dist/sdks/long-yield-carry/scripts/burnToken.js +0 -98
  30. package/dist/sdks/long-yield-carry/scripts/claimIncentives.d.ts +0 -1
  31. package/dist/sdks/long-yield-carry/scripts/claimIncentives.js +0 -108
  32. package/dist/sdks/long-yield-carry/scripts/closeCpiPlans.d.ts +0 -1
  33. package/dist/sdks/long-yield-carry/scripts/closeCpiPlans.js +0 -93
  34. package/dist/sdks/long-yield-carry/scripts/collectInterest.d.ts +0 -1
  35. package/dist/sdks/long-yield-carry/scripts/collectInterest.js +0 -164
  36. package/dist/sdks/long-yield-carry/scripts/collectProtocolFees.d.ts +0 -1
  37. package/dist/sdks/long-yield-carry/scripts/collectProtocolFees.js +0 -120
  38. package/dist/sdks/long-yield-carry/scripts/computeOptimalAllocations.d.ts +0 -1
  39. package/dist/sdks/long-yield-carry/scripts/computeOptimalAllocations.js +0 -84
  40. package/dist/sdks/long-yield-carry/scripts/createToken.d.ts +0 -1
  41. package/dist/sdks/long-yield-carry/scripts/createToken.js +0 -76
  42. package/dist/sdks/long-yield-carry/scripts/createTokenLendingPosition.d.ts +0 -1
  43. package/dist/sdks/long-yield-carry/scripts/createTokenLendingPosition.js +0 -157
  44. package/dist/sdks/long-yield-carry/scripts/createYieldingBank.d.ts +0 -1
  45. package/dist/sdks/long-yield-carry/scripts/createYieldingBank.js +0 -69
  46. package/dist/sdks/long-yield-carry/scripts/decreaseCarryPositions.d.ts +0 -1
  47. package/dist/sdks/long-yield-carry/scripts/decreaseCarryPositions.js +0 -247
  48. package/dist/sdks/long-yield-carry/scripts/depositUnlentCollateral.d.ts +0 -1
  49. package/dist/sdks/long-yield-carry/scripts/depositUnlentCollateral.js +0 -90
  50. package/dist/sdks/long-yield-carry/scripts/emergency/deleverageAll.d.ts +0 -1
  51. package/dist/sdks/long-yield-carry/scripts/emergency/deleverageAll.js +0 -202
  52. package/dist/sdks/long-yield-carry/scripts/emergency/triggerCircuitBreaker.d.ts +0 -1
  53. package/dist/sdks/long-yield-carry/scripts/emergency/triggerCircuitBreaker.js +0 -68
  54. package/dist/sdks/long-yield-carry/scripts/env.d.ts +0 -1
  55. package/dist/sdks/long-yield-carry/scripts/env.js +0 -8
  56. package/dist/sdks/long-yield-carry/scripts/findTxs.d.ts +0 -1
  57. package/dist/sdks/long-yield-carry/scripts/findTxs.js +0 -143
  58. package/dist/sdks/long-yield-carry/scripts/increaseCarryPositions.d.ts +0 -1
  59. package/dist/sdks/long-yield-carry/scripts/increaseCarryPositions.js +0 -112
  60. package/dist/sdks/long-yield-carry/scripts/inspect/format.d.ts +0 -13
  61. package/dist/sdks/long-yield-carry/scripts/inspect/format.js +0 -363
  62. package/dist/sdks/long-yield-carry/scripts/inspect.d.ts +0 -1
  63. package/dist/sdks/long-yield-carry/scripts/inspect.js +0 -108
  64. package/dist/sdks/long-yield-carry/scripts/localUtils.d.ts +0 -53
  65. package/dist/sdks/long-yield-carry/scripts/localUtils.js +0 -191
  66. package/dist/sdks/long-yield-carry/scripts/mintToken.d.ts +0 -1
  67. package/dist/sdks/long-yield-carry/scripts/mintToken.js +0 -103
  68. package/dist/sdks/long-yield-carry/scripts/processAsyncBurns.d.ts +0 -1
  69. package/dist/sdks/long-yield-carry/scripts/processAsyncBurns.js +0 -76
  70. package/dist/sdks/long-yield-carry/scripts/rebalanceToken.d.ts +0 -1
  71. package/dist/sdks/long-yield-carry/scripts/rebalanceToken.js +0 -210
  72. package/dist/sdks/long-yield-carry/scripts/rebalanceYieldingBank.d.ts +0 -1
  73. package/dist/sdks/long-yield-carry/scripts/rebalanceYieldingBank.js +0 -149
  74. package/dist/sdks/long-yield-carry/scripts/recollateralizeLoss.d.ts +0 -1
  75. package/dist/sdks/long-yield-carry/scripts/recollateralizeLoss.js +0 -64
  76. package/dist/sdks/long-yield-carry/scripts/refresh.d.ts +0 -1
  77. package/dist/sdks/long-yield-carry/scripts/refresh.js +0 -101
  78. package/dist/sdks/long-yield-carry/scripts/updateFees.d.ts +0 -1
  79. package/dist/sdks/long-yield-carry/scripts/updateFees.js +0 -369
  80. package/dist/sdks/long-yield-carry/scripts/updateGeneralLut.d.ts +0 -1
  81. package/dist/sdks/long-yield-carry/scripts/updateGeneralLut.js +0 -27
  82. package/dist/sdks/long-yield-carry/scripts/updateLendingPositionConfig.d.ts +0 -1
  83. package/dist/sdks/long-yield-carry/scripts/updateLendingPositionConfig.js +0 -127
  84. package/dist/sdks/long-yield-carry/scripts/updateTokenLuts.d.ts +0 -1
  85. package/dist/sdks/long-yield-carry/scripts/updateTokenLuts.js +0 -27
  86. package/dist/sdks/long-yield-carry/scripts/updateTokenMetadata.d.ts +0 -1
  87. package/dist/sdks/long-yield-carry/scripts/updateTokenMetadata.js +0 -194
  88. package/dist/sdks/long-yield-carry/scripts/updateYieldingBankConfig.d.ts +0 -1
  89. package/dist/sdks/long-yield-carry/scripts/updateYieldingBankConfig.js +0 -84
  90. package/dist/sdks/long-yield-carry/scripts/withdrawUnlentCollateral.d.ts +0 -1
  91. package/dist/sdks/long-yield-carry/scripts/withdrawUnlentCollateral.js +0 -140
  92. package/dist/sdks/long-yield-carry/src/client/account.d.ts +0 -152
  93. package/dist/sdks/long-yield-carry/src/client/account.js +0 -349
  94. package/dist/sdks/long-yield-carry/src/client/builders/args.d.ts +0 -299
  95. package/dist/sdks/long-yield-carry/src/client/builders/args.js +0 -2
  96. package/dist/sdks/long-yield-carry/src/client/builders/asyncBurnBuilder.d.ts +0 -20
  97. package/dist/sdks/long-yield-carry/src/client/builders/asyncBurnBuilder.js +0 -212
  98. package/dist/sdks/long-yield-carry/src/client/builders/base.d.ts +0 -77
  99. package/dist/sdks/long-yield-carry/src/client/builders/base.js +0 -191
  100. package/dist/sdks/long-yield-carry/src/client/builders/burnTokenBuilder.d.ts +0 -18
  101. package/dist/sdks/long-yield-carry/src/client/builders/burnTokenBuilder.js +0 -165
  102. package/dist/sdks/long-yield-carry/src/client/builders/claimIncentivesBuilder.d.ts +0 -9
  103. package/dist/sdks/long-yield-carry/src/client/builders/claimIncentivesBuilder.js +0 -135
  104. package/dist/sdks/long-yield-carry/src/client/builders/collectFeesBuilder.d.ts +0 -14
  105. package/dist/sdks/long-yield-carry/src/client/builders/collectFeesBuilder.js +0 -50
  106. package/dist/sdks/long-yield-carry/src/client/builders/collectInterestBuilder.d.ts +0 -8
  107. package/dist/sdks/long-yield-carry/src/client/builders/collectInterestBuilder.js +0 -86
  108. package/dist/sdks/long-yield-carry/src/client/builders/createCpiPlanBuilder.d.ts +0 -6
  109. package/dist/sdks/long-yield-carry/src/client/builders/createCpiPlanBuilder.js +0 -22
  110. package/dist/sdks/long-yield-carry/src/client/builders/createTokenBuilder.d.ts +0 -7
  111. package/dist/sdks/long-yield-carry/src/client/builders/createTokenBuilder.js +0 -64
  112. package/dist/sdks/long-yield-carry/src/client/builders/createTokenLendingPositionBuilder.d.ts +0 -10
  113. package/dist/sdks/long-yield-carry/src/client/builders/createTokenLendingPositionBuilder.js +0 -138
  114. package/dist/sdks/long-yield-carry/src/client/builders/createYieldingBankAllocationBuilder.d.ts +0 -7
  115. package/dist/sdks/long-yield-carry/src/client/builders/createYieldingBankAllocationBuilder.js +0 -29
  116. package/dist/sdks/long-yield-carry/src/client/builders/createYieldingBankBuilder.d.ts +0 -7
  117. package/dist/sdks/long-yield-carry/src/client/builders/createYieldingBankBuilder.js +0 -39
  118. package/dist/sdks/long-yield-carry/src/client/builders/decreaseCarryPositionBuilder.d.ts +0 -30
  119. package/dist/sdks/long-yield-carry/src/client/builders/decreaseCarryPositionBuilder.js +0 -99
  120. package/dist/sdks/long-yield-carry/src/client/builders/depositUnlentCollateralBuilder.d.ts +0 -8
  121. package/dist/sdks/long-yield-carry/src/client/builders/depositUnlentCollateralBuilder.js +0 -64
  122. package/dist/sdks/long-yield-carry/src/client/builders/increaseCarryPositionBuilder.d.ts +0 -8
  123. package/dist/sdks/long-yield-carry/src/client/builders/increaseCarryPositionBuilder.js +0 -73
  124. package/dist/sdks/long-yield-carry/src/client/builders/index.d.ts +0 -28
  125. package/dist/sdks/long-yield-carry/src/client/builders/index.js +0 -62
  126. package/dist/sdks/long-yield-carry/src/client/builders/mintTokenBuilder.d.ts +0 -8
  127. package/dist/sdks/long-yield-carry/src/client/builders/mintTokenBuilder.js +0 -95
  128. package/dist/sdks/long-yield-carry/src/client/builders/rebalanceTokenBuilder.d.ts +0 -11
  129. package/dist/sdks/long-yield-carry/src/client/builders/rebalanceTokenBuilder.js +0 -255
  130. package/dist/sdks/long-yield-carry/src/client/builders/rebalanceYieldingBankBuilder.d.ts +0 -8
  131. package/dist/sdks/long-yield-carry/src/client/builders/rebalanceYieldingBankBuilder.js +0 -75
  132. package/dist/sdks/long-yield-carry/src/client/builders/recollateralizeLossBuilder.d.ts +0 -12
  133. package/dist/sdks/long-yield-carry/src/client/builders/recollateralizeLossBuilder.js +0 -220
  134. package/dist/sdks/long-yield-carry/src/client/builders/refreshTokenStateBuilder.d.ts +0 -9
  135. package/dist/sdks/long-yield-carry/src/client/builders/refreshTokenStateBuilder.js +0 -112
  136. package/dist/sdks/long-yield-carry/src/client/builders/refreshTokensBuilder.d.ts +0 -9
  137. package/dist/sdks/long-yield-carry/src/client/builders/refreshTokensBuilder.js +0 -59
  138. package/dist/sdks/long-yield-carry/src/client/builders/refreshYieldingBankBuilder.d.ts +0 -8
  139. package/dist/sdks/long-yield-carry/src/client/builders/refreshYieldingBankBuilder.js +0 -29
  140. package/dist/sdks/long-yield-carry/src/client/builders/resetTokenBurnRateLimitBuilder.d.ts +0 -7
  141. package/dist/sdks/long-yield-carry/src/client/builders/resetTokenBurnRateLimitBuilder.js +0 -19
  142. package/dist/sdks/long-yield-carry/src/client/builders/setTokenCircuitBreakerBuilder.d.ts +0 -11
  143. package/dist/sdks/long-yield-carry/src/client/builders/setTokenCircuitBreakerBuilder.js +0 -31
  144. package/dist/sdks/long-yield-carry/src/client/builders/setYieldingBankCircuitBreakerBuilder.d.ts +0 -8
  145. package/dist/sdks/long-yield-carry/src/client/builders/setYieldingBankCircuitBreakerBuilder.js +0 -28
  146. package/dist/sdks/long-yield-carry/src/client/builders/updateLendingPositionConfigBuilder.d.ts +0 -10
  147. package/dist/sdks/long-yield-carry/src/client/builders/updateLendingPositionConfigBuilder.js +0 -30
  148. package/dist/sdks/long-yield-carry/src/client/builders/updateTokenConfigurationBuilder.d.ts +0 -11
  149. package/dist/sdks/long-yield-carry/src/client/builders/updateTokenConfigurationBuilder.js +0 -47
  150. package/dist/sdks/long-yield-carry/src/client/builders/updateTokenMetadataBuilder.d.ts +0 -7
  151. package/dist/sdks/long-yield-carry/src/client/builders/updateTokenMetadataBuilder.js +0 -24
  152. package/dist/sdks/long-yield-carry/src/client/builders/updateYieldingBankConfigBuilder.d.ts +0 -10
  153. package/dist/sdks/long-yield-carry/src/client/builders/updateYieldingBankConfigBuilder.js +0 -31
  154. package/dist/sdks/long-yield-carry/src/client/builders/utils.d.ts +0 -4
  155. package/dist/sdks/long-yield-carry/src/client/builders/utils.js +0 -20
  156. package/dist/sdks/long-yield-carry/src/client/client.d.ts +0 -115
  157. package/dist/sdks/long-yield-carry/src/client/client.js +0 -166
  158. package/dist/sdks/long-yield-carry/src/client/externalLiquidityResolver.d.ts +0 -13
  159. package/dist/sdks/long-yield-carry/src/client/externalLiquidityResolver.js +0 -34
  160. package/dist/sdks/long-yield-carry/src/client/index.d.ts +0 -10
  161. package/dist/sdks/long-yield-carry/src/client/index.js +0 -33
  162. package/dist/sdks/long-yield-carry/src/client/lendingPlatformClients.d.ts +0 -19
  163. package/dist/sdks/long-yield-carry/src/client/lendingPlatformClients.js +0 -33
  164. package/dist/sdks/long-yield-carry/src/client/pda.d.ts +0 -33
  165. package/dist/sdks/long-yield-carry/src/client/pda.js +0 -79
  166. package/dist/sdks/long-yield-carry/src/client/plans/collectInterest.d.ts +0 -24
  167. package/dist/sdks/long-yield-carry/src/client/plans/collectInterest.js +0 -150
  168. package/dist/sdks/long-yield-carry/src/client/plans/decreaseCarryPosition.d.ts +0 -12
  169. package/dist/sdks/long-yield-carry/src/client/plans/decreaseCarryPosition.js +0 -140
  170. package/dist/sdks/long-yield-carry/src/client/routes/collectInterest.d.ts +0 -13
  171. package/dist/sdks/long-yield-carry/src/client/routes/collectInterest.js +0 -39
  172. package/dist/sdks/long-yield-carry/src/client/transaction.d.ts +0 -41
  173. package/dist/sdks/long-yield-carry/src/client/transaction.js +0 -55
  174. package/dist/sdks/long-yield-carry/src/client/types/builders.d.ts +0 -18
  175. package/dist/sdks/long-yield-carry/src/client/types/builders.js +0 -2
  176. package/dist/sdks/long-yield-carry/src/client/types/enums.d.ts +0 -22
  177. package/dist/sdks/long-yield-carry/src/client/types/enums.js +0 -48
  178. package/dist/sdks/long-yield-carry/src/client/types/general.d.ts +0 -98
  179. package/dist/sdks/long-yield-carry/src/client/types/general.js +0 -2
  180. package/dist/sdks/long-yield-carry/src/client/types/index.d.ts +0 -6
  181. package/dist/sdks/long-yield-carry/src/client/types/index.js +0 -22
  182. package/dist/sdks/long-yield-carry/src/client/types/ix.d.ts +0 -352
  183. package/dist/sdks/long-yield-carry/src/client/types/ix.js +0 -2
  184. package/dist/sdks/long-yield-carry/src/client/types/planTypes/collectInterest.d.ts +0 -91
  185. package/dist/sdks/long-yield-carry/src/client/types/planTypes/collectInterest.js +0 -2
  186. package/dist/sdks/long-yield-carry/src/client/types/planTypes/common.d.ts +0 -28
  187. package/dist/sdks/long-yield-carry/src/client/types/planTypes/common.js +0 -2
  188. package/dist/sdks/long-yield-carry/src/client/types/planTypes/decreaseCarryPosition.d.ts +0 -128
  189. package/dist/sdks/long-yield-carry/src/client/types/planTypes/decreaseCarryPosition.js +0 -2
  190. package/dist/sdks/long-yield-carry/src/client/types/planTypes/index.d.ts +0 -3
  191. package/dist/sdks/long-yield-carry/src/client/types/planTypes/index.js +0 -19
  192. package/dist/sdks/long-yield-carry/src/client/types/tx.d.ts +0 -339
  193. package/dist/sdks/long-yield-carry/src/client/types/tx.js +0 -2
  194. package/dist/sdks/long-yield-carry/src/constants/configs/allocations.d.ts +0 -3
  195. package/dist/sdks/long-yield-carry/src/constants/configs/allocations.js +0 -23
  196. package/dist/sdks/long-yield-carry/src/constants/configs/carryTradePresets.d.ts +0 -58
  197. package/dist/sdks/long-yield-carry/src/constants/configs/carryTradePresets.js +0 -116
  198. package/dist/sdks/long-yield-carry/src/constants/configs/index.d.ts +0 -2
  199. package/dist/sdks/long-yield-carry/src/constants/configs/index.js +0 -18
  200. package/dist/sdks/long-yield-carry/src/constants/general.d.ts +0 -70
  201. package/dist/sdks/long-yield-carry/src/constants/general.js +0 -107
  202. package/dist/sdks/long-yield-carry/src/constants/index.d.ts +0 -3
  203. package/dist/sdks/long-yield-carry/src/constants/index.js +0 -19
  204. package/dist/sdks/long-yield-carry/src/constants/lycTokenMetadata.d.ts +0 -36
  205. package/dist/sdks/long-yield-carry/src/constants/lycTokenMetadata.js +0 -41
  206. package/dist/sdks/long-yield-carry/src/decoders/decodeTransaction.d.ts +0 -86
  207. package/dist/sdks/long-yield-carry/src/decoders/decodeTransaction.js +0 -230
  208. package/dist/sdks/long-yield-carry/src/decoders/discriminators.d.ts +0 -8
  209. package/dist/sdks/long-yield-carry/src/decoders/discriminators.js +0 -11
  210. package/dist/sdks/long-yield-carry/src/decoders/idlAccounts.d.ts +0 -29
  211. package/dist/sdks/long-yield-carry/src/decoders/idlAccounts.js +0 -57
  212. package/dist/sdks/long-yield-carry/src/decoders/index.d.ts +0 -6
  213. package/dist/sdks/long-yield-carry/src/decoders/index.js +0 -14
  214. package/dist/sdks/long-yield-carry/src/decoders/innerCpis.d.ts +0 -68
  215. package/dist/sdks/long-yield-carry/src/decoders/innerCpis.js +0 -225
  216. package/dist/sdks/long-yield-carry/src/decoders/lycInstructionNames.d.ts +0 -6
  217. package/dist/sdks/long-yield-carry/src/decoders/lycInstructionNames.js +0 -73
  218. package/dist/sdks/long-yield-carry/src/decoders/programIds.d.ts +0 -4
  219. package/dist/sdks/long-yield-carry/src/decoders/programIds.js +0 -11
  220. package/dist/sdks/long-yield-carry/src/decoders/solana.d.ts +0 -7
  221. package/dist/sdks/long-yield-carry/src/decoders/solana.js +0 -30
  222. package/dist/sdks/long-yield-carry/src/decoders/transactionPayload.d.ts +0 -41
  223. package/dist/sdks/long-yield-carry/src/decoders/transactionPayload.js +0 -6
  224. package/dist/sdks/long-yield-carry/src/decoders/types.d.ts +0 -58
  225. package/dist/sdks/long-yield-carry/src/decoders/types.js +0 -2
  226. package/dist/sdks/long-yield-carry/src/errors.d.ts +0 -69
  227. package/dist/sdks/long-yield-carry/src/errors.js +0 -183
  228. package/dist/sdks/long-yield-carry/src/idl/long_yield_carry.js +0 -7323
  229. package/dist/sdks/long-yield-carry/src/index.d.ts +0 -10
  230. package/dist/sdks/long-yield-carry/src/index.js +0 -25
  231. package/dist/sdks/long-yield-carry/src/metrics/index.d.ts +0 -1
  232. package/dist/sdks/long-yield-carry/src/metrics/index.js +0 -17
  233. package/dist/sdks/long-yield-carry/src/metrics/protocolMetrics.d.ts +0 -276
  234. package/dist/sdks/long-yield-carry/src/metrics/protocolMetrics.js +0 -547
  235. package/dist/sdks/long-yield-carry/src/models/index.d.ts +0 -3
  236. package/dist/sdks/long-yield-carry/src/models/index.js +0 -7
  237. package/dist/sdks/long-yield-carry/src/models/lycToken.d.ts +0 -156
  238. package/dist/sdks/long-yield-carry/src/models/lycToken.js +0 -288
  239. package/dist/sdks/long-yield-carry/src/models/yieldingBank.d.ts +0 -52
  240. package/dist/sdks/long-yield-carry/src/models/yieldingBank.js +0 -109
  241. package/dist/sdks/long-yield-carry/src/services/allocation/allocationService.d.ts +0 -106
  242. package/dist/sdks/long-yield-carry/src/services/allocation/allocationService.js +0 -589
  243. package/dist/sdks/long-yield-carry/src/services/allocation/index.d.ts +0 -2
  244. package/dist/sdks/long-yield-carry/src/services/allocation/index.js +0 -18
  245. package/dist/sdks/long-yield-carry/src/services/allocation/types.d.ts +0 -25
  246. package/dist/sdks/long-yield-carry/src/services/allocation/types.js +0 -2
  247. package/dist/sdks/long-yield-carry/src/services/carry/carryAllocationConfig.d.ts +0 -103
  248. package/dist/sdks/long-yield-carry/src/services/carry/carryAllocationConfig.js +0 -146
  249. package/dist/sdks/long-yield-carry/src/services/carry/index.d.ts +0 -2
  250. package/dist/sdks/long-yield-carry/src/services/carry/index.js +0 -18
  251. package/dist/sdks/long-yield-carry/src/services/carry/lycLendingPositionManager.d.ts +0 -39
  252. package/dist/sdks/long-yield-carry/src/services/carry/lycLendingPositionManager.js +0 -100
  253. package/dist/sdks/long-yield-carry/src/services/index.d.ts +0 -5
  254. package/dist/sdks/long-yield-carry/src/services/index.js +0 -21
  255. package/dist/sdks/long-yield-carry/src/services/lendingPosition/index.d.ts +0 -2
  256. package/dist/sdks/long-yield-carry/src/services/lendingPosition/index.js +0 -5
  257. package/dist/sdks/long-yield-carry/src/services/lendingPosition/lendingPositionService.d.ts +0 -88
  258. package/dist/sdks/long-yield-carry/src/services/lendingPosition/lendingPositionService.js +0 -229
  259. package/dist/sdks/long-yield-carry/src/services/rebalance/index.d.ts +0 -2
  260. package/dist/sdks/long-yield-carry/src/services/rebalance/index.js +0 -18
  261. package/dist/sdks/long-yield-carry/src/services/rebalance/token/index.d.ts +0 -1
  262. package/dist/sdks/long-yield-carry/src/services/rebalance/token/index.js +0 -17
  263. package/dist/sdks/long-yield-carry/src/services/rebalance/token/tokenRebalanceService.d.ts +0 -51
  264. package/dist/sdks/long-yield-carry/src/services/rebalance/token/tokenRebalanceService.js +0 -99
  265. package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/index.d.ts +0 -3
  266. package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/index.js +0 -21
  267. package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/planner.d.ts +0 -68
  268. package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/planner.js +0 -181
  269. package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/strategy.d.ts +0 -26
  270. package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/strategy.js +0 -26
  271. package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/types.d.ts +0 -40
  272. package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/types.js +0 -2
  273. package/dist/sdks/long-yield-carry/src/services/redemption/index.d.ts +0 -2
  274. package/dist/sdks/long-yield-carry/src/services/redemption/index.js +0 -5
  275. package/dist/sdks/long-yield-carry/src/services/redemption/redemptionService.d.ts +0 -139
  276. package/dist/sdks/long-yield-carry/src/services/redemption/redemptionService.js +0 -532
  277. package/dist/sdks/long-yield-carry/src/types/enriched.d.ts +0 -168
  278. package/dist/sdks/long-yield-carry/src/types/enriched.js +0 -2
  279. package/dist/sdks/long-yield-carry/src/types/index.d.ts +0 -1
  280. package/dist/sdks/long-yield-carry/src/types/index.js +0 -17
  281. package/dist/sdks/long-yield-carry/src/utils/cache.d.ts +0 -4
  282. package/dist/sdks/long-yield-carry/src/utils/cache.js +0 -10
  283. package/dist/sdks/long-yield-carry/src/utils/data.d.ts +0 -12
  284. package/dist/sdks/long-yield-carry/src/utils/data.js +0 -59
  285. package/dist/sdks/long-yield-carry/src/utils/enrichment.d.ts +0 -5
  286. package/dist/sdks/long-yield-carry/src/utils/enrichment.js +0 -244
  287. package/dist/sdks/long-yield-carry/src/utils/feeDripMetrics.d.ts +0 -36
  288. package/dist/sdks/long-yield-carry/src/utils/feeDripMetrics.js +0 -93
  289. package/dist/sdks/long-yield-carry/src/utils/general.d.ts +0 -28
  290. package/dist/sdks/long-yield-carry/src/utils/general.js +0 -47
  291. package/dist/sdks/long-yield-carry/src/utils/index.d.ts +0 -13
  292. package/dist/sdks/long-yield-carry/src/utils/index.js +0 -29
  293. package/dist/sdks/long-yield-carry/src/utils/ix.d.ts +0 -83
  294. package/dist/sdks/long-yield-carry/src/utils/ix.js +0 -165
  295. package/dist/sdks/long-yield-carry/src/utils/lendingPosition.d.ts +0 -68
  296. package/dist/sdks/long-yield-carry/src/utils/lendingPosition.js +0 -105
  297. package/dist/sdks/long-yield-carry/src/utils/lookupTables.d.ts +0 -55
  298. package/dist/sdks/long-yield-carry/src/utils/lookupTables.js +0 -216
  299. package/dist/sdks/long-yield-carry/src/utils/lycData.d.ts +0 -66
  300. package/dist/sdks/long-yield-carry/src/utils/lycData.js +0 -211
  301. package/dist/sdks/long-yield-carry/src/utils/timelock.d.ts +0 -19
  302. package/dist/sdks/long-yield-carry/src/utils/timelock.js +0 -37
  303. package/dist/sdks/long-yield-carry/src/utils/tokenFeeMath.d.ts +0 -11
  304. package/dist/sdks/long-yield-carry/src/utils/tokenFeeMath.js +0 -24
  305. package/dist/sdks/long-yield-carry/src/utils/transactions.d.ts +0 -20
  306. package/dist/sdks/long-yield-carry/src/utils/transactions.js +0 -72
  307. package/dist/sdks/long-yield-carry/src/utils/yieldingBank.d.ts +0 -24
  308. package/dist/sdks/long-yield-carry/src/utils/yieldingBank.js +0 -36
  309. package/dist/shared/common/src/constants/accountMetas.d.ts +0 -3
  310. package/dist/shared/common/src/constants/accountMetas.js +0 -9
  311. package/dist/shared/common/src/constants/general.d.ts +0 -21
  312. package/dist/shared/common/src/constants/general.js +0 -30
  313. package/dist/shared/common/src/constants/generated/cpi.d.ts +0 -23
  314. package/dist/shared/common/src/constants/generated/cpi.js +0 -28
  315. package/dist/shared/common/src/constants/generated/index.d.ts +0 -1
  316. package/dist/shared/common/src/constants/generated/index.js +0 -17
  317. package/dist/shared/common/src/constants/index.d.ts +0 -3
  318. package/dist/shared/common/src/constants/index.js +0 -19
  319. package/dist/shared/common/src/index.d.ts +0 -4
  320. package/dist/shared/common/src/index.js +0 -20
  321. package/dist/shared/common/src/services/baseAccountClient.d.ts +0 -22
  322. package/dist/shared/common/src/services/baseAccountClient.js +0 -38
  323. package/dist/shared/common/src/services/baseIxBuilderService.d.ts +0 -27
  324. package/dist/shared/common/src/services/baseIxBuilderService.js +0 -48
  325. package/dist/shared/common/src/services/dataCache.d.ts +0 -41
  326. package/dist/shared/common/src/services/dataCache.js +0 -130
  327. package/dist/shared/common/src/services/index.d.ts +0 -8
  328. package/dist/shared/common/src/services/index.js +0 -24
  329. package/dist/shared/common/src/services/lutManager.d.ts +0 -31
  330. package/dist/shared/common/src/services/lutManager.js +0 -133
  331. package/dist/shared/common/src/services/mints/defaults.d.ts +0 -2
  332. package/dist/shared/common/src/services/mints/defaults.js +0 -152
  333. package/dist/shared/common/src/services/mints/index.d.ts +0 -4
  334. package/dist/shared/common/src/services/mints/index.js +0 -20
  335. package/dist/shared/common/src/services/mints/registry.d.ts +0 -70
  336. package/dist/shared/common/src/services/mints/registry.js +0 -117
  337. package/dist/shared/common/src/services/mints/symbols.d.ts +0 -6
  338. package/dist/shared/common/src/services/mints/symbols.js +0 -13
  339. package/dist/shared/common/src/services/mints/types.d.ts +0 -30
  340. package/dist/shared/common/src/services/mints/types.js +0 -2
  341. package/dist/shared/common/src/services/swap/index.d.ts +0 -4
  342. package/dist/shared/common/src/services/swap/index.js +0 -20
  343. package/dist/shared/common/src/services/swap/routableSwapClient.d.ts +0 -36
  344. package/dist/shared/common/src/services/swap/routableSwapClient.js +0 -2
  345. package/dist/shared/common/src/services/swap/swapClientBase.d.ts +0 -45
  346. package/dist/shared/common/src/services/swap/swapClientBase.js +0 -2
  347. package/dist/shared/common/src/services/swap/swapRouting.d.ts +0 -13
  348. package/dist/shared/common/src/services/swap/swapRouting.js +0 -28
  349. package/dist/shared/common/src/services/swap/types.d.ts +0 -77
  350. package/dist/shared/common/src/services/swap/types.js +0 -2
  351. package/dist/shared/common/src/services/token/index.d.ts +0 -2
  352. package/dist/shared/common/src/services/token/index.js +0 -18
  353. package/dist/shared/common/src/services/token/tokenProtocolClientBase.d.ts +0 -51
  354. package/dist/shared/common/src/services/token/tokenProtocolClientBase.js +0 -2
  355. package/dist/shared/common/src/services/token/types.d.ts +0 -19
  356. package/dist/shared/common/src/services/token/types.js +0 -2
  357. package/dist/shared/common/src/services/transactionSender.d.ts +0 -24
  358. package/dist/shared/common/src/services/transactionSender.js +0 -30
  359. package/dist/shared/common/src/types/cpi.d.ts +0 -34
  360. package/dist/shared/common/src/types/cpi.js +0 -8
  361. package/dist/shared/common/src/types/enums.d.ts +0 -59
  362. package/dist/shared/common/src/types/enums.js +0 -122
  363. package/dist/shared/common/src/types/general.d.ts +0 -38
  364. package/dist/shared/common/src/types/general.js +0 -2
  365. package/dist/shared/common/src/types/index.d.ts +0 -4
  366. package/dist/shared/common/src/types/index.js +0 -20
  367. package/dist/shared/common/src/types/solana.d.ts +0 -24
  368. package/dist/shared/common/src/types/solana.js +0 -2
  369. package/dist/shared/common/src/utils/accounts/index.d.ts +0 -5
  370. package/dist/shared/common/src/utils/accounts/index.js +0 -21
  371. package/dist/shared/common/src/utils/accounts/meta.d.ts +0 -21
  372. package/dist/shared/common/src/utils/accounts/meta.js +0 -27
  373. package/dist/shared/common/src/utils/accounts/pda.d.ts +0 -2
  374. package/dist/shared/common/src/utils/accounts/pda.js +0 -17
  375. package/dist/shared/common/src/utils/accounts/roles.d.ts +0 -26
  376. package/dist/shared/common/src/utils/accounts/roles.js +0 -54
  377. package/dist/shared/common/src/utils/accounts/rpc.d.ts +0 -8
  378. package/dist/shared/common/src/utils/accounts/rpc.js +0 -30
  379. package/dist/shared/common/src/utils/accounts/splBalances.d.ts +0 -15
  380. package/dist/shared/common/src/utils/accounts/splBalances.js +0 -52
  381. package/dist/shared/common/src/utils/anchor.d.ts +0 -17
  382. package/dist/shared/common/src/utils/anchor.js +0 -29
  383. package/dist/shared/common/src/utils/asyncConcurrency.d.ts +0 -5
  384. package/dist/shared/common/src/utils/asyncConcurrency.js +0 -28
  385. package/dist/shared/common/src/utils/compat.d.ts +0 -46
  386. package/dist/shared/common/src/utils/compat.js +0 -72
  387. package/dist/shared/common/src/utils/cpi/args.d.ts +0 -69
  388. package/dist/shared/common/src/utils/cpi/args.js +0 -100
  389. package/dist/shared/common/src/utils/cpi/index.d.ts +0 -2
  390. package/dist/shared/common/src/utils/cpi/index.js +0 -18
  391. package/dist/shared/common/src/utils/cpi/refs.d.ts +0 -122
  392. package/dist/shared/common/src/utils/cpi/refs.js +0 -234
  393. package/dist/shared/common/src/utils/data.d.ts +0 -20
  394. package/dist/shared/common/src/utils/data.js +0 -27
  395. package/dist/shared/common/src/utils/general.d.ts +0 -24
  396. package/dist/shared/common/src/utils/general.js +0 -95
  397. package/dist/shared/common/src/utils/index.d.ts +0 -22
  398. package/dist/shared/common/src/utils/index.js +0 -38
  399. package/dist/shared/common/src/utils/instruction.d.ts +0 -74
  400. package/dist/shared/common/src/utils/instruction.js +0 -147
  401. package/dist/shared/common/src/utils/jito.d.ts +0 -113
  402. package/dist/shared/common/src/utils/jito.js +0 -178
  403. package/dist/shared/common/src/utils/json.d.ts +0 -5
  404. package/dist/shared/common/src/utils/json.js +0 -25
  405. package/dist/shared/common/src/utils/jsonRpcFetch.d.ts +0 -21
  406. package/dist/shared/common/src/utils/jsonRpcFetch.js +0 -134
  407. package/dist/shared/common/src/utils/metadata.d.ts +0 -107
  408. package/dist/shared/common/src/utils/metadata.js +0 -194
  409. package/dist/shared/common/src/utils/numbers.d.ts +0 -72
  410. package/dist/shared/common/src/utils/numbers.js +0 -193
  411. package/dist/shared/common/src/utils/priorityFee.d.ts +0 -18
  412. package/dist/shared/common/src/utils/priorityFee.js +0 -63
  413. package/dist/shared/common/src/utils/retry.d.ts +0 -20
  414. package/dist/shared/common/src/utils/retry.js +0 -69
  415. package/dist/shared/common/src/utils/rpc.d.ts +0 -40
  416. package/dist/shared/common/src/utils/rpc.js +0 -130
  417. package/dist/shared/common/src/utils/solana.d.ts +0 -23
  418. package/dist/shared/common/src/utils/solana.js +0 -61
  419. package/dist/shared/common/src/utils/timeSeries.d.ts +0 -18
  420. package/dist/shared/common/src/utils/timeSeries.js +0 -40
  421. package/dist/shared/common/src/utils/token.d.ts +0 -33
  422. package/dist/shared/common/src/utils/token.js +0 -82
  423. package/dist/shared/common/src/utils/transaction.d.ts +0 -154
  424. package/dist/shared/common/src/utils/transaction.js +0 -585
  425. package/dist/shared/common/src/utils/transactionSplitter.d.ts +0 -85
  426. package/dist/shared/common/src/utils/transactionSplitter.js +0 -127
  427. package/dist/shared/common/src/utils/txAccountCoverage.d.ts +0 -49
  428. package/dist/shared/common/src/utils/txAccountCoverage.js +0 -122
  429. package/dist/shared/jupiter-helpers/src/api.d.ts +0 -59
  430. package/dist/shared/jupiter-helpers/src/api.js +0 -130
  431. package/dist/shared/jupiter-helpers/src/client.d.ts +0 -79
  432. package/dist/shared/jupiter-helpers/src/client.js +0 -173
  433. package/dist/shared/jupiter-helpers/src/constants.d.ts +0 -35
  434. package/dist/shared/jupiter-helpers/src/constants.js +0 -38
  435. package/dist/shared/jupiter-helpers/src/extract.d.ts +0 -30
  436. package/dist/shared/jupiter-helpers/src/extract.js +0 -57
  437. package/dist/shared/jupiter-helpers/src/index.d.ts +0 -5
  438. package/dist/shared/jupiter-helpers/src/index.js +0 -21
  439. package/dist/shared/jupiter-helpers/src/routePreInstructions.d.ts +0 -19
  440. package/dist/shared/jupiter-helpers/src/routePreInstructions.js +0 -61
  441. package/dist/shared/jupiter-helpers/src/sizeExactInForMinOutput.d.ts +0 -70
  442. package/dist/shared/jupiter-helpers/src/sizeExactInForMinOutput.js +0 -95
  443. package/dist/shared/jupiter-helpers/src/types.d.ts +0 -66
  444. package/dist/shared/jupiter-helpers/src/types.js +0 -2
  445. package/dist/shared/lending-platforms/src/constants/cache.d.ts +0 -8
  446. package/dist/shared/lending-platforms/src/constants/cache.js +0 -11
  447. package/dist/shared/lending-platforms/src/constants/index.d.ts +0 -3
  448. package/dist/shared/lending-platforms/src/constants/index.js +0 -19
  449. package/dist/shared/lending-platforms/src/constants/kamino.d.ts +0 -7
  450. package/dist/shared/lending-platforms/src/constants/kamino.js +0 -83
  451. package/dist/shared/lending-platforms/src/constants/lendingPosition.d.ts +0 -7
  452. package/dist/shared/lending-platforms/src/constants/lendingPosition.js +0 -10
  453. package/dist/shared/lending-platforms/src/data/accounts/index.d.ts +0 -2
  454. package/dist/shared/lending-platforms/src/data/accounts/index.js +0 -18
  455. package/dist/shared/lending-platforms/src/data/accounts/kamino.d.ts +0 -42
  456. package/dist/shared/lending-platforms/src/data/accounts/kamino.js +0 -104
  457. package/dist/shared/lending-platforms/src/data/accounts/lpAccountsBase.d.ts +0 -7
  458. package/dist/shared/lending-platforms/src/data/accounts/lpAccountsBase.js +0 -9
  459. package/dist/shared/lending-platforms/src/data/incentive/incentiveBase.d.ts +0 -35
  460. package/dist/shared/lending-platforms/src/data/incentive/incentiveBase.js +0 -26
  461. package/dist/shared/lending-platforms/src/data/incentive/index.d.ts +0 -2
  462. package/dist/shared/lending-platforms/src/data/incentive/index.js +0 -18
  463. package/dist/shared/lending-platforms/src/data/incentive/kamino.d.ts +0 -55
  464. package/dist/shared/lending-platforms/src/data/incentive/kamino.js +0 -101
  465. package/dist/shared/lending-platforms/src/data/index.d.ts +0 -6
  466. package/dist/shared/lending-platforms/src/data/index.js +0 -22
  467. package/dist/shared/lending-platforms/src/data/instructions/index.d.ts +0 -3
  468. package/dist/shared/lending-platforms/src/data/instructions/index.js +0 -19
  469. package/dist/shared/lending-platforms/src/data/instructions/kamino.d.ts +0 -55
  470. package/dist/shared/lending-platforms/src/data/instructions/kamino.js +0 -630
  471. package/dist/shared/lending-platforms/src/data/instructions/lpInstructionsBase.d.ts +0 -175
  472. package/dist/shared/lending-platforms/src/data/instructions/lpInstructionsBase.js +0 -192
  473. package/dist/shared/lending-platforms/src/data/instructions/types.d.ts +0 -7
  474. package/dist/shared/lending-platforms/src/data/instructions/types.js +0 -2
  475. package/dist/shared/lending-platforms/src/data/platform/index.d.ts +0 -2
  476. package/dist/shared/lending-platforms/src/data/platform/index.js +0 -18
  477. package/dist/shared/lending-platforms/src/data/platform/kamino.d.ts +0 -59
  478. package/dist/shared/lending-platforms/src/data/platform/kamino.js +0 -206
  479. package/dist/shared/lending-platforms/src/data/platform/lpDataBase.d.ts +0 -35
  480. package/dist/shared/lending-platforms/src/data/platform/lpDataBase.js +0 -31
  481. package/dist/shared/lending-platforms/src/data/reserve/index.d.ts +0 -2
  482. package/dist/shared/lending-platforms/src/data/reserve/index.js +0 -18
  483. package/dist/shared/lending-platforms/src/data/reserve/kamino.d.ts +0 -45
  484. package/dist/shared/lending-platforms/src/data/reserve/kamino.js +0 -141
  485. package/dist/shared/lending-platforms/src/data/reserve/reserveBase.d.ts +0 -114
  486. package/dist/shared/lending-platforms/src/data/reserve/reserveBase.js +0 -125
  487. package/dist/shared/lending-platforms/src/data/userPosition/index.d.ts +0 -2
  488. package/dist/shared/lending-platforms/src/data/userPosition/index.js +0 -18
  489. package/dist/shared/lending-platforms/src/data/userPosition/kamino.d.ts +0 -15
  490. package/dist/shared/lending-platforms/src/data/userPosition/kamino.js +0 -45
  491. package/dist/shared/lending-platforms/src/data/userPosition/userPositionBase.d.ts +0 -50
  492. package/dist/shared/lending-platforms/src/data/userPosition/userPositionBase.js +0 -63
  493. package/dist/shared/lending-platforms/src/index.d.ts +0 -5
  494. package/dist/shared/lending-platforms/src/index.js +0 -21
  495. package/dist/shared/lending-platforms/src/services/client/index.d.ts +0 -2
  496. package/dist/shared/lending-platforms/src/services/client/index.js +0 -18
  497. package/dist/shared/lending-platforms/src/services/client/kamino.d.ts +0 -53
  498. package/dist/shared/lending-platforms/src/services/client/kamino.js +0 -142
  499. package/dist/shared/lending-platforms/src/services/client/lpClientBase.d.ts +0 -66
  500. package/dist/shared/lending-platforms/src/services/client/lpClientBase.js +0 -19
  501. package/dist/shared/lending-platforms/src/services/flashLoan/flashLoanBase.d.ts +0 -49
  502. package/dist/shared/lending-platforms/src/services/flashLoan/flashLoanBase.js +0 -16
  503. package/dist/shared/lending-platforms/src/services/flashLoan/index.d.ts +0 -2
  504. package/dist/shared/lending-platforms/src/services/flashLoan/index.js +0 -18
  505. package/dist/shared/lending-platforms/src/services/flashLoan/kamino.d.ts +0 -11
  506. package/dist/shared/lending-platforms/src/services/flashLoan/kamino.js +0 -85
  507. package/dist/shared/lending-platforms/src/services/index.d.ts +0 -5
  508. package/dist/shared/lending-platforms/src/services/index.js +0 -21
  509. package/dist/shared/lending-platforms/src/services/lendingPosition/index.d.ts +0 -2
  510. package/dist/shared/lending-platforms/src/services/lendingPosition/index.js +0 -18
  511. package/dist/shared/lending-platforms/src/services/lendingPosition/lendingPositionManager.d.ts +0 -117
  512. package/dist/shared/lending-platforms/src/services/lendingPosition/lendingPositionManager.js +0 -342
  513. package/dist/shared/lending-platforms/src/services/lendingPosition/types.d.ts +0 -40
  514. package/dist/shared/lending-platforms/src/services/lendingPosition/types.js +0 -2
  515. package/dist/shared/lending-platforms/src/services/leverage/index.d.ts +0 -2
  516. package/dist/shared/lending-platforms/src/services/leverage/index.js +0 -18
  517. package/dist/shared/lending-platforms/src/services/leverage/leverageService.d.ts +0 -104
  518. package/dist/shared/lending-platforms/src/services/leverage/leverageService.js +0 -437
  519. package/dist/shared/lending-platforms/src/services/leverage/types.d.ts +0 -261
  520. package/dist/shared/lending-platforms/src/services/leverage/types.js +0 -2
  521. package/dist/shared/lending-platforms/src/services/reservesManager.d.ts +0 -53
  522. package/dist/shared/lending-platforms/src/services/reservesManager.js +0 -112
  523. package/dist/shared/lending-platforms/src/types/general.d.ts +0 -37
  524. package/dist/shared/lending-platforms/src/types/general.js +0 -8
  525. package/dist/shared/lending-platforms/src/types/index.d.ts +0 -2
  526. package/dist/shared/lending-platforms/src/types/index.js +0 -18
  527. package/dist/shared/lending-platforms/src/types/kamino.d.ts +0 -10
  528. package/dist/shared/lending-platforms/src/types/kamino.js +0 -2
  529. package/dist/shared/lending-platforms/src/utils/accounts.d.ts +0 -16
  530. package/dist/shared/lending-platforms/src/utils/accounts.js +0 -36
  531. package/dist/shared/lending-platforms/src/utils/cache.d.ts +0 -3
  532. package/dist/shared/lending-platforms/src/utils/cache.js +0 -11
  533. package/dist/shared/lending-platforms/src/utils/index.d.ts +0 -6
  534. package/dist/shared/lending-platforms/src/utils/index.js +0 -22
  535. package/dist/shared/lending-platforms/src/utils/kamino.d.ts +0 -87
  536. package/dist/shared/lending-platforms/src/utils/kamino.js +0 -190
  537. package/dist/shared/lending-platforms/src/utils/lendingPlatform.d.ts +0 -6
  538. package/dist/shared/lending-platforms/src/utils/lendingPlatform.js +0 -16
  539. package/dist/shared/lending-platforms/src/utils/math.d.ts +0 -47
  540. package/dist/shared/lending-platforms/src/utils/math.js +0 -123
  541. package/dist/shared/lending-platforms/src/utils/scope.d.ts +0 -38
  542. package/dist/shared/lending-platforms/src/utils/scope.js +0 -144
  543. package/dist/shared/oracle-service/src/constants/index.d.ts +0 -3
  544. package/dist/shared/oracle-service/src/constants/index.js +0 -19
  545. package/dist/shared/oracle-service/src/constants/pyth.d.ts +0 -7
  546. package/dist/shared/oracle-service/src/constants/pyth.js +0 -71
  547. package/dist/shared/oracle-service/src/constants/splStake.d.ts +0 -2
  548. package/dist/shared/oracle-service/src/constants/splStake.js +0 -6
  549. package/dist/shared/oracle-service/src/constants/switchboard.d.ts +0 -7
  550. package/dist/shared/oracle-service/src/constants/switchboard.js +0 -10
  551. package/dist/shared/oracle-service/src/feeds/custom.d.ts +0 -30
  552. package/dist/shared/oracle-service/src/feeds/custom.js +0 -56
  553. package/dist/shared/oracle-service/src/feeds/jupiter.d.ts +0 -7
  554. package/dist/shared/oracle-service/src/feeds/jupiter.js +0 -43
  555. package/dist/shared/oracle-service/src/feeds/priceBase.d.ts +0 -13
  556. package/dist/shared/oracle-service/src/feeds/priceBase.js +0 -25
  557. package/dist/shared/oracle-service/src/feeds/pyth.d.ts +0 -8
  558. package/dist/shared/oracle-service/src/feeds/pyth.js +0 -59
  559. package/dist/shared/oracle-service/src/feeds/splStake.d.ts +0 -26
  560. package/dist/shared/oracle-service/src/feeds/splStake.js +0 -99
  561. package/dist/shared/oracle-service/src/feeds/switchboard.d.ts +0 -6
  562. package/dist/shared/oracle-service/src/feeds/switchboard.js +0 -11
  563. package/dist/shared/oracle-service/src/index.d.ts +0 -5
  564. package/dist/shared/oracle-service/src/index.js +0 -26
  565. package/dist/shared/oracle-service/src/oracle.d.ts +0 -22
  566. package/dist/shared/oracle-service/src/oracle.js +0 -104
  567. package/dist/shared/oracle-service/src/types.d.ts +0 -4
  568. package/dist/shared/oracle-service/src/types.js +0 -2
  569. package/dist/shared/oracle-service/src/utils/general.d.ts +0 -20
  570. package/dist/shared/oracle-service/src/utils/general.js +0 -65
  571. package/dist/shared/oracle-service/src/utils/index.d.ts +0 -1
  572. package/dist/shared/oracle-service/src/utils/index.js +0 -17
  573. package/dist/shared/perena-helpers/src/accounts.d.ts +0 -7
  574. package/dist/shared/perena-helpers/src/accounts.js +0 -12
  575. package/dist/shared/perena-helpers/src/client.d.ts +0 -299
  576. package/dist/shared/perena-helpers/src/client.js +0 -680
  577. package/dist/shared/perena-helpers/src/constants.d.ts +0 -5
  578. package/dist/shared/perena-helpers/src/constants.js +0 -8
  579. package/dist/shared/perena-helpers/src/cpi/burn.d.ts +0 -27
  580. package/dist/shared/perena-helpers/src/cpi/burn.js +0 -22
  581. package/dist/shared/perena-helpers/src/cpi/index.d.ts +0 -3
  582. package/dist/shared/perena-helpers/src/cpi/index.js +0 -19
  583. package/dist/shared/perena-helpers/src/cpi/mint.d.ts +0 -27
  584. package/dist/shared/perena-helpers/src/cpi/mint.js +0 -22
  585. package/dist/shared/perena-helpers/src/cpi/requestUnstake.d.ts +0 -19
  586. package/dist/shared/perena-helpers/src/cpi/requestUnstake.js +0 -16
  587. package/dist/shared/perena-helpers/src/index.d.ts +0 -5
  588. package/dist/shared/perena-helpers/src/index.js +0 -21
  589. package/dist/shared/perena-helpers/src/utils.d.ts +0 -9
  590. package/dist/shared/perena-helpers/src/utils.js +0 -54
  591. package/dist/shared/swap-aggregator/src/aggSwapClient.d.ts +0 -71
  592. package/dist/shared/swap-aggregator/src/aggSwapClient.js +0 -103
  593. package/dist/shared/swap-aggregator/src/index.d.ts +0 -1
  594. package/dist/shared/swap-aggregator/src/index.js +0 -17
  595. package/docs/launchingToken.md +0 -57
  596. package/scripts/asyncBurn.ts +0 -155
  597. package/scripts/burnToken.ts +0 -120
  598. package/scripts/claimIncentives.ts +0 -125
  599. package/scripts/closeCpiPlans.ts +0 -113
  600. package/scripts/collectInterest.ts +0 -194
  601. package/scripts/collectProtocolFees.ts +0 -144
  602. package/scripts/computeOptimalAllocations.ts +0 -117
  603. package/scripts/createToken.ts +0 -100
  604. package/scripts/createTokenLendingPosition.ts +0 -204
  605. package/scripts/createYieldingBank.ts +0 -91
  606. package/scripts/decreaseCarryPositions.ts +0 -359
  607. package/scripts/depositUnlentCollateral.ts +0 -106
  608. package/scripts/emergency/deleverageAll.ts +0 -287
  609. package/scripts/emergency/triggerCircuitBreaker.ts +0 -87
  610. package/scripts/env.ts +0 -4
  611. package/scripts/findTxs.ts +0 -169
  612. package/scripts/increaseCarryPositions.ts +0 -134
  613. package/scripts/inspect/format.ts +0 -576
  614. package/scripts/inspect.ts +0 -147
  615. package/scripts/localUtils.ts +0 -249
  616. package/scripts/mintToken.ts +0 -126
  617. package/scripts/processAsyncBurns.ts +0 -89
  618. package/scripts/rebalanceToken.ts +0 -269
  619. package/scripts/rebalanceYieldingBank.ts +0 -183
  620. package/scripts/recollateralizeLoss.ts +0 -79
  621. package/scripts/refresh.ts +0 -156
  622. package/scripts/updateFees.ts +0 -486
  623. package/scripts/updateGeneralLut.ts +0 -36
  624. package/scripts/updateLendingPositionConfig.ts +0 -172
  625. package/scripts/updateTokenLuts.ts +0 -36
  626. package/scripts/updateTokenMetadata.ts +0 -199
  627. package/scripts/updateYieldingBankConfig.ts +0 -100
  628. package/scripts/withdrawUnlentCollateral.ts +0 -178
  629. package/src/client/account.ts +0 -503
  630. package/src/client/builders/args.ts +0 -381
  631. package/src/client/builders/asyncBurnBuilder.ts +0 -305
  632. package/src/client/builders/base.ts +0 -303
  633. package/src/client/builders/burnTokenBuilder.ts +0 -258
  634. package/src/client/builders/claimIncentivesBuilder.ts +0 -211
  635. package/src/client/builders/collectFeesBuilder.ts +0 -52
  636. package/src/client/builders/collectInterestBuilder.ts +0 -165
  637. package/src/client/builders/createCpiPlanBuilder.ts +0 -21
  638. package/src/client/builders/createTokenBuilder.ts +0 -73
  639. package/src/client/builders/createTokenLendingPositionBuilder.ts +0 -219
  640. package/src/client/builders/createYieldingBankAllocationBuilder.ts +0 -32
  641. package/src/client/builders/createYieldingBankBuilder.ts +0 -39
  642. package/src/client/builders/decreaseCarryPositionBuilder.ts +0 -162
  643. package/src/client/builders/depositUnlentCollateralBuilder.ts +0 -95
  644. package/src/client/builders/increaseCarryPositionBuilder.ts +0 -105
  645. package/src/client/builders/index.ts +0 -37
  646. package/src/client/builders/mintTokenBuilder.ts +0 -137
  647. package/src/client/builders/rebalanceTokenBuilder.ts +0 -356
  648. package/src/client/builders/rebalanceYieldingBankBuilder.ts +0 -109
  649. package/src/client/builders/recollateralizeLossBuilder.ts +0 -367
  650. package/src/client/builders/refreshTokenStateBuilder.ts +0 -153
  651. package/src/client/builders/refreshTokensBuilder.ts +0 -82
  652. package/src/client/builders/refreshYieldingBankBuilder.ts +0 -42
  653. package/src/client/builders/resetTokenBurnRateLimitBuilder.ts +0 -21
  654. package/src/client/builders/setTokenCircuitBreakerBuilder.ts +0 -40
  655. package/src/client/builders/setYieldingBankCircuitBreakerBuilder.ts +0 -37
  656. package/src/client/builders/updateLendingPositionConfigBuilder.ts +0 -33
  657. package/src/client/builders/updateTokenConfigurationBuilder.ts +0 -50
  658. package/src/client/builders/updateTokenMetadataBuilder.ts +0 -24
  659. package/src/client/builders/updateYieldingBankConfigBuilder.ts +0 -32
  660. package/src/client/builders/utils.ts +0 -26
  661. package/src/client/client.ts +0 -264
  662. package/src/client/externalLiquidityResolver.ts +0 -54
  663. package/src/client/index.ts +0 -20
  664. package/src/client/lendingPlatformClients.ts +0 -50
  665. package/src/client/pda.ts +0 -102
  666. package/src/client/plans/collectInterest.ts +0 -207
  667. package/src/client/plans/decreaseCarryPosition.ts +0 -226
  668. package/src/client/routes/collectInterest.ts +0 -56
  669. package/src/client/transaction.ts +0 -106
  670. package/src/client/types/builders.ts +0 -19
  671. package/src/client/types/enums.ts +0 -47
  672. package/src/client/types/general.ts +0 -117
  673. package/src/client/types/index.ts +0 -6
  674. package/src/client/types/ix.ts +0 -452
  675. package/src/client/types/planTypes/collectInterest.ts +0 -97
  676. package/src/client/types/planTypes/common.ts +0 -31
  677. package/src/client/types/planTypes/decreaseCarryPosition.ts +0 -134
  678. package/src/client/types/planTypes/index.ts +0 -3
  679. package/src/client/types/tx.ts +0 -409
  680. package/src/constants/configs/allocations.ts +0 -30
  681. package/src/constants/configs/carryTradePresets.ts +0 -164
  682. package/src/constants/configs/index.ts +0 -2
  683. package/src/constants/general.ts +0 -141
  684. package/src/constants/index.ts +0 -3
  685. package/src/constants/lycTokenMetadata.ts +0 -52
  686. package/src/decoders/decodeTransaction.ts +0 -319
  687. package/src/decoders/discriminators.ts +0 -10
  688. package/src/decoders/idlAccounts.ts +0 -75
  689. package/src/decoders/index.ts +0 -15
  690. package/src/decoders/innerCpis.ts +0 -262
  691. package/src/decoders/lycInstructionNames.ts +0 -73
  692. package/src/decoders/programIds.ts +0 -12
  693. package/src/decoders/solana.ts +0 -25
  694. package/src/decoders/transactionPayload.ts +0 -41
  695. package/src/decoders/types.ts +0 -60
  696. package/src/errors.ts +0 -195
  697. package/src/idl/long_yield_carry.ts +0 -14648
  698. package/src/index.ts +0 -10
  699. package/src/metrics/index.ts +0 -1
  700. package/src/metrics/protocolMetrics.ts +0 -976
  701. package/src/models/index.ts +0 -9
  702. package/src/models/lycToken.ts +0 -380
  703. package/src/models/yieldingBank.ts +0 -127
  704. package/src/services/allocation/allocationService.ts +0 -823
  705. package/src/services/allocation/index.ts +0 -2
  706. package/src/services/allocation/types.ts +0 -27
  707. package/src/services/carry/carryAllocationConfig.ts +0 -266
  708. package/src/services/carry/index.ts +0 -2
  709. package/src/services/carry/lycLendingPositionManager.ts +0 -167
  710. package/src/services/index.ts +0 -5
  711. package/src/services/lendingPosition/index.ts +0 -5
  712. package/src/services/lendingPosition/lendingPositionService.ts +0 -328
  713. package/src/services/rebalance/index.ts +0 -2
  714. package/src/services/rebalance/token/index.ts +0 -1
  715. package/src/services/rebalance/token/tokenRebalanceService.ts +0 -142
  716. package/src/services/rebalance/yieldingBank/index.ts +0 -3
  717. package/src/services/rebalance/yieldingBank/planner.ts +0 -215
  718. package/src/services/rebalance/yieldingBank/strategy.ts +0 -41
  719. package/src/services/rebalance/yieldingBank/types.ts +0 -41
  720. package/src/services/redemption/index.ts +0 -9
  721. package/src/services/redemption/redemptionService.ts +0 -758
  722. package/src/types/enriched.ts +0 -187
  723. package/src/types/index.ts +0 -1
  724. package/src/utils/cache.ts +0 -12
  725. package/src/utils/data.ts +0 -65
  726. package/src/utils/enrichment.ts +0 -330
  727. package/src/utils/feeDripMetrics.ts +0 -146
  728. package/src/utils/general.ts +0 -54
  729. package/src/utils/index.ts +0 -13
  730. package/src/utils/ix.ts +0 -227
  731. package/src/utils/lendingPosition.ts +0 -221
  732. package/src/utils/lookupTables.ts +0 -309
  733. package/src/utils/lycData.ts +0 -321
  734. package/src/utils/timelock.ts +0 -63
  735. package/src/utils/tokenFeeMath.ts +0 -25
  736. package/src/utils/transactions.ts +0 -109
  737. package/src/utils/yieldingBank.ts +0 -38
  738. package/tsconfig.json +0 -11
@@ -1,328 +0,0 @@
1
- import { type Address, type TransactionSigner } from "@solana/kit";
2
- import { fromWeb3Pk, LendingPlatform, mints, toBigInt } from "common";
3
- import type { LongYieldCarryClient } from "../../client/client";
4
- import type { LongYieldCarryTransactionPlan } from "../../client/types";
5
- import { LendingPositionBootstrapError } from "../../errors";
6
- import type { IndexedLendingPosition, LYCToken } from "../../models/lycToken";
7
- import {
8
- getAvailableTokenLendingUserAccountId,
9
- resolveDefaultPool,
10
- updateTokenLutIfNeeded,
11
- } from "../../utils";
12
- import { AllocationService } from "../allocation";
13
- import { computeConfigForCollateral } from "../carry/carryAllocationConfig";
14
-
15
- export interface OptimalLendingPosition {
16
- /** The lending position selected. */
17
- lp: IndexedLendingPosition;
18
- /** Debt mint of the selected position. */
19
- debtMint: Address;
20
- /** Human-readable symbol of the debt mint. */
21
- debtSymbol: string;
22
- /** Whether this position uses the optimal debt mint (true) or is the best available fallback. */
23
- isOptimal: boolean;
24
- }
25
-
26
- type LogFn = (msg: string) => void;
27
-
28
- export interface EnsureInitialKaminoLendingPositionOptions {
29
- manager: TransactionSigner;
30
- /** When set, refreshes the per-token LUT after the new LP is created. */
31
- lutManager?: TransactionSigner;
32
- token: LYCToken;
33
- sendPlan: (plan: LongYieldCarryTransactionPlan, label: string) => Promise<void>;
34
- log?: LogFn;
35
- }
36
-
37
- /**
38
- * Shared logic for choosing and interacting with a token's lending positions
39
- * based on allocation optimality. Used by {@link RedemptionService} (to
40
- * prioritize which positions to unwind) and by deposit scripts / backend
41
- * services (to deposit into the best position).
42
- */
43
- export class LendingPositionService {
44
- constructor(private readonly client: LongYieldCarryClient) {}
45
-
46
- /**
47
- * Returns the lending position whose debt mint matches the current optimal
48
- * allocation. If no position matches the optimal mint, returns the position
49
- * with the most collateral as a fallback.
50
- *
51
- * Returns `null` only when the token has no active lending positions.
52
- */
53
- async findOptimalLendingPosition(
54
- token: LYCToken,
55
- log?: LogFn
56
- ): Promise<OptimalLendingPosition | null> {
57
- const usedLps = token.usedLendingPositions;
58
- if (usedLps.length === 0) {
59
- const activeLps = token.activeLendingPositions;
60
- if (activeLps.length === 0) return null;
61
- // Freshly created slots have zero collateral until the first deposit.
62
- log?.("No collateral on any LP yet — using first active slot");
63
- return this.toLpResult(activeLps[0], true);
64
- }
65
-
66
- if (usedLps.length === 1) {
67
- return this.toLpResult(usedLps[0], true);
68
- }
69
-
70
- const optimalMint = await this.findOptimalDebtMint(token, log);
71
- if (optimalMint) {
72
- const match = usedLps.find(
73
- (lp) => fromWeb3Pk(lp.data.accounting.debt.mint) === optimalMint.mint
74
- );
75
- if (match) {
76
- log?.(`Using optimal LP[${match.index}] (debt: ${optimalMint.symbol})`);
77
- return this.toLpResult(match, true);
78
- }
79
- log?.(`No LP matches optimal debt mint ${optimalMint.symbol} — using largest LP`);
80
- }
81
-
82
- const largest = this.largestLp(usedLps);
83
- return this.toLpResult(largest, false);
84
- }
85
-
86
- /**
87
- * Sorts lending positions so non-optimal debt mints come first. Useful for
88
- * choosing which positions to unwind during redemptions — non-optimal
89
- * positions are unwound first to preserve the best-yielding ones.
90
- *
91
- * Returns the original order if there's only one LP or the optimal mint
92
- * lookup fails.
93
- */
94
- async sortByOptimality(
95
- token: LYCToken,
96
- lps: IndexedLendingPosition[],
97
- log?: LogFn
98
- ): Promise<IndexedLendingPosition[]> {
99
- if (lps.length <= 1) return lps;
100
-
101
- const optimalMint = await this.findOptimalDebtMint(token, log);
102
- if (!optimalMint) return lps;
103
-
104
- log?.(`Optimal debt mint: ${optimalMint.symbol} — prioritizing non-optimal LPs for unwind`);
105
-
106
- const nonOptimal = lps.filter(
107
- (lp) => fromWeb3Pk(lp.data.accounting.debt.mint) !== optimalMint.mint
108
- );
109
- const optimal = lps.filter(
110
- (lp) => fromWeb3Pk(lp.data.accounting.debt.mint) === optimalMint.mint
111
- );
112
- return [...nonOptimal, ...optimal];
113
- }
114
-
115
- /**
116
- * Opens the first Kamino lending position on a token that has none yet.
117
- *
118
- * Mirrors `scripts/createTokenLendingPosition.ts` and the create-LP branch in
119
- * `TokenRebalanceWorker`: resolve pool + optimal debt mint, compute carry
120
- * allocation config, send `createTokenLendingPosition`, then refetch the token.
121
- *
122
- * Kamino-specific: the flow resolves the default Kamino pool, fetches Kamino
123
- * reserves, and uses {@link AllocationService} over Kamino reserve data. It is
124
- * named accordingly until a second lending platform actually needs bootstrap
125
- * support (avoid speculative platform abstraction with a single implementation).
126
- *
127
- * No-op when the token already has at least one active lending position slot.
128
- *
129
- * @throws {LendingPositionBootstrapError} when the token cannot be bootstrapped
130
- * because of a permanent configuration gap (collateral mint not in any pool,
131
- * no preset, no viable debt mint / reserve). Callers should treat this as a
132
- * skip rather than a retryable failure.
133
- */
134
- async ensureInitialKaminoLendingPosition(
135
- options: EnsureInitialKaminoLendingPositionOptions
136
- ): Promise<LYCToken> {
137
- const { manager, lutManager, token, sendPlan, log } = options;
138
-
139
- if (token.activeLendingPositions.length > 0) {
140
- return token;
141
- }
142
-
143
- log?.("No lending positions — creating initial LP");
144
-
145
- let pool: Address;
146
- try {
147
- pool = resolveDefaultPool(token.collateralMint);
148
- } catch (err) {
149
- throw new LendingPositionBootstrapError(
150
- `Cannot resolve a default pool for ${token.label} (${token.collateralMint}): ${
151
- err instanceof Error ? err.message : String(err)
152
- }`
153
- );
154
- }
155
-
156
- const kamino = this.client.getLendingPlatformClientByPlatform(LendingPlatform.Kamino);
157
- const collateralReserve = await kamino.data.fetchReserveByMint(pool, token.collateralMint);
158
- if (!collateralReserve) {
159
- throw new LendingPositionBootstrapError(
160
- `No Kamino reserve found for collateral ${token.label} (${token.collateralMint}) in pool ${pool}`
161
- );
162
- }
163
-
164
- const yieldingBanks = await this.client.account.fetchAllYieldingBanks();
165
- const allocationService = new AllocationService(kamino.data, { logger: log, yieldingBanks });
166
- const optimalDebt = await allocationService.findOptimalDebtMint(pool, collateralReserve, token);
167
- if (!optimalDebt) {
168
- throw new LendingPositionBootstrapError(
169
- `No viable debt mint found for ${token.label} on pool ${pool}`
170
- );
171
- }
172
-
173
- log?.(
174
- `Selected debt mint ${optimalDebt.symbol} (borrow APY ${(optimalDebt.borrowApy * 100).toFixed(3)}%)`
175
- );
176
-
177
- const debtReserve = await kamino.data.fetchReserveByMint(pool, optimalDebt.mint);
178
- if (!debtReserve) {
179
- throw new LendingPositionBootstrapError(
180
- `No Kamino reserve found for debt mint ${optimalDebt.symbol} (${optimalDebt.mint})`
181
- );
182
- }
183
-
184
- let config: ReturnType<typeof computeConfigForCollateral>;
185
- try {
186
- config = computeConfigForCollateral({
187
- collateralMint: token.collateralMint,
188
- collateralReserve,
189
- debtReserve,
190
- });
191
- } catch (err) {
192
- throw new LendingPositionBootstrapError(
193
- `No carry allocation config for ${token.label} (${token.collateralMint}): ${
194
- err instanceof Error ? err.message : String(err)
195
- }`
196
- );
197
- }
198
-
199
- const userAccountId = await getAvailableTokenLendingUserAccountId({
200
- lendingClient: kamino,
201
- token,
202
- pool,
203
- });
204
-
205
- const label = `create-initial-lp-${token.label}-${optimalDebt.symbol}`;
206
- const plan = await this.client.tx.createTokenLendingPosition.getTx({
207
- token: token.address,
208
- debtMint: optimalDebt.mint,
209
- userAccountId,
210
- pool,
211
- ...config,
212
- });
213
- await sendPlan(plan, label);
214
- log?.(`Sent createTokenLendingPosition (${plan.instructions.length} ix)`);
215
-
216
- this.client.clearAllCache();
217
- const freshToken = await this.client.account.fetchToken(token.address, { fresh: true });
218
-
219
- if (lutManager) {
220
- try {
221
- await updateTokenLutIfNeeded(lutManager, this.client.rpc, this.client, freshToken);
222
- log?.("Updated per-token LUT after initial lending position");
223
- } catch (err) {
224
- log?.(`updateTokenLutIfNeeded failed: ${err instanceof Error ? err.message : String(err)}`);
225
- }
226
- }
227
-
228
- if (freshToken.activeLendingPositions.length === 0) {
229
- throw new Error(
230
- `Initial lending position creation completed but ${token.label} still has no active LPs`
231
- );
232
- }
233
-
234
- return freshToken;
235
- }
236
-
237
- /**
238
- * Deposits unlent collateral into the optimal lending position. Refreshes
239
- * the token state first, then deposits all unlent collateral into the
240
- * position returned by {@link findOptimalLendingPosition}.
241
- */
242
- async depositToOptimalPosition(
243
- signer: TransactionSigner,
244
- token: LYCToken,
245
- log?: LogFn
246
- ): Promise<{ signature: string; lendingPositionIndex: number; debtSymbol: string }> {
247
- const optimal = await this.findOptimalLendingPosition(token, log);
248
- if (!optimal) {
249
- throw new Error(`Token ${token.address} has no used lending positions to deposit into`);
250
- }
251
-
252
- log?.(
253
- `Depositing unlent collateral into LP[${optimal.lp.index}] (debt: ${optimal.debtSymbol})...`
254
- );
255
-
256
- const refreshPlan = await this.client.tx.refreshTokens.getTx({
257
- signer: signer.address,
258
- params: { tokens: [token.address] },
259
- });
260
- await this.client.sendTransaction(signer, refreshPlan);
261
- this.client.clearAllCache();
262
-
263
- const depositPlan = await this.client.tx.depositUnlentCollateral.getTx({
264
- manager: signer.address,
265
- token: token.address,
266
- params: {
267
- lendingPositionIndex: optimal.lp.index,
268
- depositAll: true,
269
- },
270
- });
271
- const sig = await this.client.sendTransaction(signer, depositPlan);
272
- this.client.clearAllCache();
273
- log?.(`Deposit done: ${sig}`);
274
-
275
- return {
276
- signature: sig,
277
- lendingPositionIndex: optimal.lp.index,
278
- debtSymbol: optimal.debtSymbol,
279
- };
280
- }
281
-
282
- // ── Private ─────────────────────────────────────────────────────────────
283
-
284
- /**
285
- * Queries `AllocationService.findOptimalDebtMint` for the token's
286
- * pool + collateral pair. Returns null on any failure (missing reserve, etc.).
287
- */
288
- private async findOptimalDebtMint(
289
- token: LYCToken,
290
- log?: LogFn
291
- ): Promise<{ mint: Address; symbol: string } | null> {
292
- try {
293
- const firstLp = token.usedLendingPositions[0]?.data;
294
- if (!firstLp) return null;
295
-
296
- const pool = fromWeb3Pk(firstLp.pool);
297
- const kaminoData = this.client.getLendingPlatformClientByPlatform(
298
- LendingPlatform.Kamino
299
- ).data;
300
- const collateralReserve = await kaminoData.fetchReserve(
301
- pool,
302
- fromWeb3Pk(firstLp.collateralReserve)
303
- );
304
- if (!collateralReserve) return null;
305
-
306
- const yieldingBanks = await this.client.account.fetchAllYieldingBanks();
307
- const allocationService = new AllocationService(kaminoData, { yieldingBanks });
308
- return await allocationService.findOptimalDebtMint(pool, collateralReserve, token);
309
- } catch (err) {
310
- log?.(`Optimal debt mint lookup failed: ${err instanceof Error ? err.message : err}`);
311
- return null;
312
- }
313
- }
314
-
315
- private largestLp(lps: IndexedLendingPosition[]): IndexedLendingPosition {
316
- return lps.reduce((best, lp) =>
317
- toBigInt(lp.data.accounting.collateral) > toBigInt(best.data.accounting.collateral)
318
- ? lp
319
- : best
320
- );
321
- }
322
-
323
- private toLpResult(lp: IndexedLendingPosition, isOptimal: boolean): OptimalLendingPosition {
324
- const debtMint = fromWeb3Pk(lp.data.accounting.debt.mint);
325
- const debtSymbol = mints.get(debtMint)?.symbol ?? debtMint.slice(0, 6);
326
- return { lp, debtMint, debtSymbol, isOptimal };
327
- }
328
- }
@@ -1,2 +0,0 @@
1
- export * from "./token";
2
- export * from "./yieldingBank";
@@ -1 +0,0 @@
1
- export * from "./tokenRebalanceService";
@@ -1,142 +0,0 @@
1
- import type { Address } from "@solana/kit";
2
- import { ExactInQuoteExceedsMaxInputError } from "jupiter-helpers";
3
- import { FlashRebalanceSwapCostExceededError } from "lending-platforms";
4
- import { NoOpTransactionError } from "../../../errors";
5
- import type { LYCToken } from "../../../models/lycToken";
6
- import type { LongYieldCarryTransactionPlan } from "../../../client/types";
7
- import type { DebtAllocationTarget, DebtReallocation } from "../../allocation/types";
8
- import type { LongYieldCarryClient } from "../../../client/client";
9
- import { REBALANCE_TOKEN_RATE_LIMIT_SECS } from "../../../constants/general";
10
- import { mints } from "common";
11
-
12
- export type RebalancePlanResult =
13
- | { outcome: "skipped"; reason: string }
14
- | { outcome: "plan"; plan: LongYieldCarryTransactionPlan; label: string };
15
-
16
- /**
17
- * Shared logic for building a token rebalance plan from a {@link DebtReallocation}.
18
- * Callers are responsible for sending the returned plan (and any post-send steps such as
19
- * excess-rent reclaim).
20
- */
21
- export interface TokenRebalanceServiceOptions {
22
- /**
23
- * Maximum acceptable execution cost (route fees + price impact) of the
24
- * rebalance swap quote vs the oracle-fair cross rate, in bps. Candidates
25
- * quoting worse are skipped — that cost is permanently lost value.
26
- * Unset = no limit.
27
- */
28
- maxSwapCostBps?: number;
29
- /**
30
- * Maximum acceptable market basis between the two debt stables, in bps
31
- * either direction. Bounds how much mark-to-market difference the $1-pinned
32
- * books absorb per conversion, and blocks rebalancing through a depegging
33
- * stable. Unset = no limit.
34
- */
35
- maxMarketBasisBps?: number;
36
- }
37
-
38
- export class TokenRebalanceService {
39
- constructor(
40
- private readonly client: LongYieldCarryClient,
41
- private readonly options: TokenRebalanceServiceOptions = {}
42
- ) {}
43
-
44
- /**
45
- * Validates a reallocation and builds the rebalance transaction plan.
46
- * If the primary targets fail due to insufficient borrow/swap capacity
47
- * ({@link ExactInQuoteExceedsMaxInputError}), retries with each fallback
48
- * option in order before giving up.
49
- *
50
- * Returns `{ outcome: "skipped" }` for benign no-ops (inactive token, no active LP for the
51
- * reallocation index, no targets). Throws on unexpected errors from the builder.
52
- */
53
- async buildPlan(token: LYCToken, realloc: DebtReallocation): Promise<RebalancePlanResult> {
54
- if (!token.isActive) {
55
- return { outcome: "skipped", reason: "token inactive (circuit breaker)" };
56
- }
57
-
58
- const lpIndex = realloc.lendingPositionIndex;
59
- const lp = token.activeLendingPositions.find((p) => p.index === lpIndex);
60
- if (!lp) {
61
- return { outcome: "skipped", reason: `no active lending position at index ${lpIndex}` };
62
- }
63
-
64
- // Rate limit: the program rejects a rebalance on a position touched within
65
- // REBALANCE_TOKEN_RATE_LIMIT_SECS (RebalanceRateLimited). Skip client-side
66
- // so we don't build a transaction that would revert on-chain.
67
- const lastUpdatedTs = Number(lp.data.lastUpdatedTs.toString());
68
- const nowSecs = Math.floor(Date.now() / 1000);
69
- const elapsed = nowSecs - lastUpdatedTs;
70
- if (lastUpdatedTs > 0 && elapsed < REBALANCE_TOKEN_RATE_LIMIT_SECS) {
71
- const hoursLeft = ((REBALANCE_TOKEN_RATE_LIMIT_SECS - elapsed) / 3600).toFixed(1);
72
- const reason =
73
- `lp${lpIndex} rebalanced ${(elapsed / 3600).toFixed(1)}h ago; ` +
74
- `rate limit is ${REBALANCE_TOKEN_RATE_LIMIT_SECS / 3600}h (${hoursLeft}h remaining)`;
75
- console.log(`Skip token ${token.address.slice(0, 8)}…: ${reason}`);
76
- return { outcome: "skipped", reason };
77
- }
78
-
79
- const label = `rebalance-token-${token.address.slice(0, 8)}-lp${lpIndex}`;
80
- const allOptions = [realloc.targets, ...(realloc.fallbackTargets ?? [])];
81
-
82
- for (const targets of allOptions) {
83
- const targetMint = targets[0]?.mint;
84
- if (!targetMint) continue;
85
-
86
- try {
87
- const plan = await this.client.tx.rebalanceToken.getTx({
88
- token: token.address,
89
- params: {
90
- lpIndex,
91
- destinationDebtMint: targetMint,
92
- uiAmount: "all",
93
- maxSwapCostBps: this.options.maxSwapCostBps,
94
- maxMarketBasisBps: this.options.maxMarketBasisBps,
95
- },
96
- });
97
- return { outcome: "plan", plan, label };
98
- } catch (err) {
99
- if (err instanceof NoOpTransactionError) {
100
- return { outcome: "skipped", reason: err.message };
101
- }
102
- if (err instanceof FlashRebalanceSwapCostExceededError) {
103
- const symbol = mints.get(targetMint)?.symbol ?? targetMint.slice(0, 6);
104
- console.log(
105
- `Skip ${symbol}: swap ${err.reason} over ${err.limitBps} bps limit ` +
106
- `(execution cost ${err.executionCostBps.toFixed(2)} bps, ` +
107
- `market basis ${err.marketBasisBps.toFixed(2)} bps); trying next candidate`
108
- );
109
- continue;
110
- }
111
- if (err instanceof ExactInQuoteExceedsMaxInputError) {
112
- const symbol = mints.get(targetMint)?.symbol ?? targetMint.slice(0, 6);
113
- console.log(
114
- `Skip ${symbol}: borrow capacity (${err.maxInputAmount}) < swap input (${err.inputAmount}); trying next candidate`
115
- );
116
- continue;
117
- }
118
- if (err instanceof Error && err.message.includes("no available borrow capacity")) {
119
- const symbol = mints.get(targetMint)?.symbol ?? targetMint.slice(0, 6);
120
- console.log(`Skip ${symbol}: no available borrow capacity; trying next candidate`);
121
- continue;
122
- }
123
- throw err;
124
- }
125
- }
126
-
127
- return {
128
- outcome: "skipped",
129
- reason:
130
- "all candidates exhausted — insufficient borrow/swap capacity or swap cost above limit for each",
131
- };
132
- }
133
-
134
- /** Convenience: fetch a fresh token then call {@link buildPlan}. */
135
- async fetchAndBuildPlan(
136
- tokenAddress: Address,
137
- realloc: DebtReallocation
138
- ): Promise<RebalancePlanResult> {
139
- const token = await this.client.account.fetchToken(tokenAddress, { fresh: true });
140
- return this.buildPlan(token, realloc);
141
- }
142
- }
@@ -1,3 +0,0 @@
1
- export * from "./types";
2
- export * from "./strategy";
3
- export { RebalancePlanner } from "./planner";
@@ -1,215 +0,0 @@
1
- import type { Address } from "@solana/kit";
2
- import { PublicKey } from "@solana/web3.js";
3
- import { applyBps, fromWeb3Pk, toBigInt } from "common";
4
- import type { RebalanceSwapSpec, YieldingBankAllocationConfig } from "../../../client/types";
5
- import type { LYCYieldingBank } from "../../../models";
6
- import type { AllocationStrategy } from "./strategy";
7
- import type { AllocationTarget, YieldingBankRebalancePlan } from "./types";
8
-
9
- /** Minimum 6-decimal stablecoin amount worth swapping: 0.01 token (~$0.01). */
10
- const MIN_STABLE_SWAP_AMOUNT = 10_000;
11
-
12
- interface HoldingSnapshot {
13
- mint: Address;
14
- amount: bigint;
15
- }
16
-
17
- /**
18
- * Computes the swaps needed to move a yielding bank from its current
19
- * asset distribution to a target allocation.
20
- *
21
- * The planner is stateless and performs no RPC — it operates entirely on
22
- * the in-memory bank model and the strategy's target. This makes it
23
- * straightforward to unit-test.
24
- *
25
- * ## How it works
26
- *
27
- * 1. The {@link AllocationStrategy} produces a {@link TargetAllocation}
28
- * (e.g. 25% USD*, 75% USD*-J).
29
- * 2. The planner classifies every bank holding as either a **target**
30
- * (a mint the strategy manages) or an **idle source** (everything
31
- * else — the base asset, plus any non-target stablecoins that
32
- * arrived from borrows in other denominations).
33
- * 3. Each idle source with a non-trivial balance gets its own
34
- * {@link YieldingBankRebalancePlan} that deploys its capital
35
- * proportionally across the targets according to their weights.
36
- * 4. If existing target holdings are imbalanced relative to their
37
- * weights (overweight / underweight), a separate rebalance plan
38
- * routes through the base mint. The resulting swaps are sorted
39
- * sells-first so freed base-mint liquidity is available for
40
- * subsequent buy swaps.
41
- *
42
- * All swaps route through the bank's base mint as the common
43
- * intermediate, matching how the on-chain `rebalance_yielding_bank`
44
- * instruction processes CPI swaps.
45
- */
46
- export class RebalancePlanner {
47
- constructor(private readonly strategy: AllocationStrategy) {}
48
-
49
- /**
50
- * Plan the rebalance for a single yielding bank.
51
- * Returns an empty array if no action is needed.
52
- *
53
- * Each element is an independent plan that can be sent as its own
54
- * transaction. Separate plans are produced for:
55
- * - Each idle source (base asset, or non-target stablecoins)
56
- * - Target-to-target rebalancing (selling overweight, buying underweight)
57
- */
58
- plan(bank: LYCYieldingBank): YieldingBankRebalancePlan[] {
59
- const targets = this.strategy.computeTarget(bank);
60
- const targetMints = new Set(targets.map((t) => t.mint));
61
-
62
- const idleSources = this.discoverIdleSources(bank, targetMints);
63
- const targetHoldings = this.snapshotTargetHoldings(bank, targetMints);
64
-
65
- const plans: YieldingBankRebalancePlan[] = [];
66
-
67
- for (const source of idleSources) {
68
- const plan = this.buildDeploymentPlan(bank, targets, source);
69
- if (plan) plans.push(plan);
70
- }
71
-
72
- const rebalancePlan = this.buildTargetRebalancePlan(bank, targets, targetHoldings);
73
- if (rebalancePlan) plans.push(rebalancePlan);
74
-
75
- return plans;
76
- }
77
-
78
- // ---------------------------------------------------------------------------
79
- // Idle source discovery
80
- // ---------------------------------------------------------------------------
81
-
82
- /**
83
- * Returns every holding on the bank that is NOT a strategy target.
84
- * This includes the base asset and any non-target asset slots with
85
- * a positive balance (e.g. a stablecoin that arrived from a
86
- * non-base-mint borrow).
87
- */
88
- private discoverIdleSources(bank: LYCYieldingBank, targetMints: Set<string>): HoldingSnapshot[] {
89
- const sources: HoldingSnapshot[] = [];
90
-
91
- const baseAmount = toBigInt(bank.data.baseAsset.amount);
92
- if (baseAmount > 0n) {
93
- sources.push({ mint: bank.baseMint, amount: baseAmount });
94
- }
95
-
96
- for (const asset of bank.data.assets) {
97
- if (asset.mint.equals(PublicKey.default)) continue;
98
- const mint = fromWeb3Pk(asset.mint);
99
- if (targetMints.has(mint)) continue;
100
- const amount = toBigInt(asset.amount);
101
- if (amount > 0n) {
102
- sources.push({ mint, amount });
103
- }
104
- }
105
-
106
- return sources;
107
- }
108
-
109
- /** Snapshot only the holdings that ARE strategy targets. */
110
- private snapshotTargetHoldings(
111
- bank: LYCYieldingBank,
112
- targetMints: Set<string>
113
- ): HoldingSnapshot[] {
114
- const result: HoldingSnapshot[] = [];
115
-
116
- for (const asset of bank.data.assets) {
117
- if (asset.mint.equals(PublicKey.default)) continue;
118
- const mint = fromWeb3Pk(asset.mint);
119
- if (!targetMints.has(mint)) continue;
120
- result.push({ mint, amount: toBigInt(asset.amount) });
121
- }
122
-
123
- return result;
124
- }
125
-
126
- // ---------------------------------------------------------------------------
127
- // Plan builders
128
- // ---------------------------------------------------------------------------
129
-
130
- /**
131
- * Build a plan that deploys a single idle source proportionally
132
- * across the strategy's targets according to their weights.
133
- */
134
- private buildDeploymentPlan(
135
- bank: LYCYieldingBank,
136
- targets: AllocationTarget[],
137
- source: HoldingSnapshot
138
- ): YieldingBankRebalancePlan | null {
139
- if (source.amount < BigInt(MIN_STABLE_SWAP_AMOUNT)) return null;
140
-
141
- const swaps: RebalanceSwapSpec[] = [];
142
- let newAllocation: { config: YieldingBankAllocationConfig } | undefined;
143
-
144
- for (const alloc of targets) {
145
- const share = applyBps(source.amount, alloc.weightBps);
146
- if (Number(share) < MIN_STABLE_SWAP_AMOUNT) continue;
147
-
148
- swaps.push({
149
- inputMint: source.mint,
150
- outputMint: alloc.mint,
151
- amount: Number(share),
152
- slippageBps: alloc.slippageBps,
153
- });
154
-
155
- if (!newAllocation && bank.findAssetHolding(alloc.mint) === null) {
156
- newAllocation = { config: alloc.allocationConfig };
157
- }
158
- }
159
-
160
- if (swaps.length === 0 && !newAllocation) return null;
161
- return { swaps, newAllocation };
162
- }
163
-
164
- /**
165
- * Build a plan that rebalances between existing target holdings when
166
- * they've drifted from the strategy's desired weights. Overweight
167
- * targets are sold back to the base mint; underweight targets are
168
- * bought with the freed base.
169
- */
170
- private buildTargetRebalancePlan(
171
- bank: LYCYieldingBank,
172
- targets: AllocationTarget[],
173
- targetHoldings: HoldingSnapshot[]
174
- ): YieldingBankRebalancePlan | null {
175
- const totalTargetValue = targetHoldings.reduce((sum, h) => sum + h.amount, 0n);
176
- if (totalTargetValue <= 0n) return null;
177
-
178
- const swaps: RebalanceSwapSpec[] = [];
179
-
180
- for (const alloc of targets) {
181
- const desired = applyBps(totalTargetValue, alloc.weightBps);
182
- const current = this.findCurrentAmount(targetHoldings, alloc.mint);
183
- const delta = desired - current;
184
- const absDelta = delta < 0n ? -delta : delta;
185
-
186
- if (Number(absDelta) < MIN_STABLE_SWAP_AMOUNT) continue;
187
-
188
- if (delta < 0n) {
189
- swaps.push({
190
- inputMint: alloc.mint,
191
- outputMint: bank.baseMint,
192
- amount: Number(absDelta),
193
- slippageBps: alloc.slippageBps,
194
- });
195
- } else {
196
- swaps.push({
197
- inputMint: bank.baseMint,
198
- outputMint: alloc.mint,
199
- amount: Number(delta),
200
- slippageBps: alloc.slippageBps,
201
- });
202
- }
203
- }
204
-
205
- if (swaps.length === 0) return null;
206
- swaps.sort(
207
- (a, b) => (a.inputMint === bank.baseMint ? 1 : 0) - (b.inputMint === bank.baseMint ? 1 : 0)
208
- );
209
- return { swaps };
210
- }
211
-
212
- private findCurrentAmount(holdings: HoldingSnapshot[], mint: string): bigint {
213
- return holdings.find((h) => h.mint === mint)?.amount ?? 0n;
214
- }
215
- }