@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,758 +0,0 @@
1
- import { type Address, type TransactionSigner } from "@solana/kit";
2
- import { toBigInt, toUiAmount } from "common";
3
- import type { LongYieldCarryClient } from "../../client/client";
4
- import type {
5
- DecreaseCarryRepaySteering,
6
- LongYieldCarryTransactionPlan,
7
- RedemptionEpochSnapshot,
8
- } from "../../client/types";
9
- import {
10
- REDEMPTION_EPOCH_STATUS_FUNDING,
11
- REDEMPTION_EPOCH_STATUS_OPEN,
12
- REDEMPTION_EPOCH_STATUS_PROCESSING,
13
- } from "../../constants/general";
14
- import type { IndexedLendingPosition, LYCToken } from "../../models/lycToken";
15
- import { LendingPositionService } from "../lendingPosition";
16
-
17
- const EPOCH_WINDOW_MS = 60_000;
18
- const DEFAULT_DCP_SWAP_SLIPPAGE_BPS = 100;
19
- // Retries after the initial attempt (3 attempts total). Each attempt
20
- // re-fetches a fresh swap quote.
21
- const DCP_MAX_RETRIES = 2;
22
- // Mirrors on-chain UTILIZATION_RATE_DEVIATION_THRESHOLD_BPS (150 bps relative margin).
23
- const UTILIZATION_RATE_DEVIATION_THRESHOLD_BPS = 150;
24
- // Extra fraction added to partial withdrawals so Kamino rounding never leaves
25
- // the epoch a few lamports short. 0.1% is well within the utilization margin.
26
- const WITHDRAWAL_OVERSHOOT_BPS = 10;
27
-
28
- export interface RedemptionServiceOptions {
29
- /** Swap slippage tolerance for DCP transactions, in bps. Defaults to 100. */
30
- dcpSwapSlippageBps?: number;
31
- /** Optional structured sink for warnings (funding CPI failures, partial funding). */
32
- structuredLog?: (entry: StructuredRedemptionLog) => void;
33
- }
34
-
35
- /** Single LP-targeted funding failure captured during epoch funding. */
36
- export interface RedemptionFundingFailure {
37
- lpIndex: number;
38
- message: string;
39
- }
40
-
41
- /** Aggregated non-fatal failures while funding an epoch (DCP vs withdraw phases). */
42
- export interface RedemptionFundingErrors {
43
- dcp: RedemptionFundingFailure[];
44
- withdraw: RedemptionFundingFailure[];
45
- }
46
-
47
- export interface StructuredRedemptionLog {
48
- level: "warn" | "info";
49
- event: string;
50
- data?: Record<string, unknown>;
51
- }
52
-
53
- export interface FundRedemptionEpochResult {
54
- funded: boolean;
55
- fundedCollateral: bigint;
56
- grossCollateralClaim: bigint;
57
- realizedUnwindLoss: bigint;
58
- errors: RedemptionFundingErrors;
59
- }
60
-
61
- export interface ProcessEpochResult {
62
- requestsProcessed: number;
63
- }
64
-
65
- type LogFn = (msg: string) => void;
66
-
67
- function emptyFundingErrors(): RedemptionFundingErrors {
68
- return { dcp: [], withdraw: [] };
69
- }
70
-
71
- function errorMessage(err: unknown): string {
72
- return err instanceof Error ? err.message : String(err);
73
- }
74
-
75
- function errorNameAndMessage(err: unknown): string {
76
- if (err instanceof Error) return `${err.name}: ${err.message}`;
77
- return String(err);
78
- }
79
-
80
- function compactStack(stack: string): string {
81
- return stack
82
- .split("\n")
83
- .map((line) => line.trim())
84
- .filter(Boolean)
85
- .slice(0, 12)
86
- .join(" | ");
87
- }
88
-
89
- function errorCause(err: unknown): unknown {
90
- return err !== null && typeof err === "object" && "cause" in err
91
- ? (err as { cause?: unknown }).cause
92
- : undefined;
93
- }
94
-
95
- function errorDiagnostics(err: unknown): string[] {
96
- const diagnostics: string[] = [];
97
- let current: unknown = err;
98
-
99
- for (let depth = 0; current !== undefined && depth < 4; depth += 1) {
100
- const prefix = depth === 0 ? "error" : `cause[${depth}]`;
101
- diagnostics.push(`${prefix}: ${errorNameAndMessage(current)}`);
102
-
103
- if (current instanceof Error && current.stack) {
104
- diagnostics.push(`${prefix} stack: ${compactStack(current.stack)}`);
105
- }
106
-
107
- current = errorCause(current);
108
- }
109
-
110
- return diagnostics;
111
- }
112
-
113
- /**
114
- * Orchestrates the redemption epoch lifecycle: detecting open epochs, waiting
115
- * for their time window to elapse, funding (DCP + top-up), and processing
116
- * individual async burn requests.
117
- *
118
- * Holds a reference to the LYC client and caches yielding-bank PDAs per token
119
- * so repeated calls against the same token avoid redundant derivation.
120
- */
121
- export class RedemptionService {
122
- private readonly yieldingBankCache = new Map<string, Address[]>();
123
- private readonly dcpSwapSlippageBps: number;
124
- private readonly lpService: LendingPositionService;
125
- private readonly structuredLog?: (entry: StructuredRedemptionLog) => void;
126
-
127
- constructor(
128
- private readonly client: LongYieldCarryClient,
129
- opts?: RedemptionServiceOptions
130
- ) {
131
- this.dcpSwapSlippageBps = opts?.dcpSwapSlippageBps ?? DEFAULT_DCP_SWAP_SLIPPAGE_BPS;
132
- this.lpService = new LendingPositionService(client);
133
- this.structuredLog = opts?.structuredLog;
134
- }
135
-
136
- // ── Epoch discovery ────────────────────────────────────────────────────────
137
-
138
- /** Delegates to `client.account.fetchAllRedemptionEpochs`. */
139
- async getAllEpochs(): Promise<RedemptionEpochSnapshot[]> {
140
- return this.client.account.fetchAllRedemptionEpochs({ fresh: true });
141
- }
142
-
143
- /** Delegates to `client.account.fetchRedemptionEpoch`. */
144
- async getEpoch(epochPda: Address): Promise<RedemptionEpochSnapshot> {
145
- return this.client.account.fetchRedemptionEpoch(epochPda, { fresh: true });
146
- }
147
-
148
- /** Re-fetches an existing snapshot from on-chain state. */
149
- async refreshEpoch(epoch: RedemptionEpochSnapshot): Promise<RedemptionEpochSnapshot> {
150
- return this.getEpoch(epoch.pda);
151
- }
152
-
153
- // ── Epoch window ───────────────────────────────────────────────────────────
154
-
155
- /**
156
- * Returns the number of milliseconds until the epoch's acceptance window
157
- * closes. Zero or negative means the window has already elapsed.
158
- */
159
- epochWindowRemainingMs(epoch: RedemptionEpochSnapshot): number {
160
- return Number(epoch.epochId) + EPOCH_WINDOW_MS - Date.now();
161
- }
162
-
163
- /**
164
- * Sleeps until the epoch's 60-second acceptance window has elapsed. Returns
165
- * immediately if the window is already closed.
166
- */
167
- async waitForEpochWindow(epoch: RedemptionEpochSnapshot, log?: LogFn): Promise<void> {
168
- const remainingMs = this.epochWindowRemainingMs(epoch);
169
- if (remainingMs <= 0) {
170
- log?.("Epoch window already closed.");
171
- return;
172
- }
173
- log?.(`Waiting ${Math.ceil(remainingMs / 1000)}s for epoch window to close...`);
174
- await new Promise((resolve) => setTimeout(resolve, remainingMs));
175
- log?.("Window closed.");
176
- }
177
-
178
- // ── Status transitions ─────────────────────────────────────────────────────
179
-
180
- /**
181
- * Transitions an epoch from Open → Funding. Waits for the epoch window to
182
- * close first so in-flight burns can still land.
183
- */
184
- async closeEpoch(
185
- signer: TransactionSigner,
186
- epoch: RedemptionEpochSnapshot,
187
- log?: LogFn
188
- ): Promise<void> {
189
- if (epoch.status !== REDEMPTION_EPOCH_STATUS_OPEN) return;
190
-
191
- await this.waitForEpochWindow(epoch, log);
192
-
193
- log?.("Setting status → Funding...");
194
- const plan = await this.client.tx.setRedemptionEpochStatus.getTx({
195
- token: epoch.tokenPda,
196
- redemptionEpoch: epoch.pda,
197
- params: { status: REDEMPTION_EPOCH_STATUS_FUNDING },
198
- });
199
- await this.client.sendTransaction(signer, plan);
200
- this.client.clearAllCache();
201
- }
202
-
203
- /** Transitions an epoch from Funding → Processing. */
204
- async startProcessing(
205
- signer: TransactionSigner,
206
- epoch: RedemptionEpochSnapshot,
207
- log?: LogFn
208
- ): Promise<void> {
209
- if (epoch.status > REDEMPTION_EPOCH_STATUS_FUNDING) return;
210
-
211
- log?.("Setting status → Processing...");
212
- const plan = await this.client.tx.setRedemptionEpochStatus.getTx({
213
- token: epoch.tokenPda,
214
- redemptionEpoch: epoch.pda,
215
- params: { status: REDEMPTION_EPOCH_STATUS_PROCESSING },
216
- });
217
- await this.client.sendTransaction(signer, plan);
218
- this.client.clearAllCache();
219
- }
220
-
221
- // ── Funding ────────────────────────────────────────────────────────────────
222
-
223
- /**
224
- * Funds a redemption epoch. Withdraws from debt-free LPs first (no DCP
225
- * needed), then — if a deficit remains — runs targeted DCP + withdraw on
226
- * carry-loaded LPs, prioritizing non-optimal positions.
227
- */
228
- async fundEpoch(
229
- signer: TransactionSigner,
230
- epoch: RedemptionEpochSnapshot,
231
- log?: LogFn
232
- ): Promise<FundRedemptionEpochResult> {
233
- const fundingErrors = emptyFundingErrors();
234
- const fresh = await this.refreshEpoch(epoch);
235
- if (this.isFullyFunded(fresh)) {
236
- log?.("Already fully funded.");
237
- return this.fundResult(fresh, fundingErrors);
238
- }
239
-
240
- const token = await this.client.account.fetchToken(fresh.tokenPda, { fresh: true });
241
- const decimals = token.data.collateral.decimals;
242
- const deficitUi = this.deficitUi(fresh, decimals);
243
- log?.(`Deficit: ${deficitUi}`);
244
-
245
- await this.fundFromDebtFreeLps(signer, token, fresh, decimals, fundingErrors, log);
246
-
247
- const afterDirect = await this.refreshEpoch(epoch);
248
- if (this.isFullyFunded(afterDirect)) {
249
- log?.("Fully funded from debt-free LPs — no DCP needed.");
250
- return this.fundResult(afterDirect, fundingErrors);
251
- }
252
-
253
- await this.fundFromCarryLps(signer, fresh.tokenPda, afterDirect, decimals, fundingErrors, log);
254
-
255
- const afterCarry = await this.refreshEpoch(epoch);
256
- if (this.isFullyFunded(afterCarry)) {
257
- log?.("Fully funded.");
258
- return this.fundResult(afterCarry, fundingErrors);
259
- }
260
-
261
- await this.creditResidualUnlent(signer, afterCarry, decimals, log);
262
-
263
- const afterResidual = await this.refreshEpoch(epoch);
264
- if (this.isFullyFunded(afterResidual)) {
265
- log?.("Fully funded from lending positions and residual unlent reserves.");
266
- }
267
- return this.fundResult(afterResidual, fundingErrors);
268
- }
269
-
270
- // ── Request processing ─────────────────────────────────────────────────────
271
-
272
- /**
273
- * Processes all remaining async burn requests in a redemption epoch in FIFO
274
- * order.
275
- */
276
- async processRequests(
277
- signer: TransactionSigner,
278
- epoch: RedemptionEpochSnapshot,
279
- log?: LogFn
280
- ): Promise<ProcessEpochResult> {
281
- const snap = await this.refreshEpoch(epoch);
282
- let processed = 0;
283
- for (let seq = snap.processedRequestCount; seq < snap.requestCount; seq++) {
284
- const plan = await this.client.tx.processAsyncBurn.getTx({
285
- token: snap.tokenPda,
286
- params: { epochId: snap.epochId, sequence: seq },
287
- });
288
- const debug = plan.debug?.processAsyncBurn;
289
- if (debug) {
290
- const payoutTarget =
291
- debug.collateralDelivery === "nativeSol"
292
- ? `native SOL via request escrow ${debug.requestCollateralAccount ?? "unknown"}`
293
- : `user collateral ATA ${debug.userCollateralAccount ?? "unknown"}`;
294
- log?.(`Request ${seq}: user ${debug.user}, payout ${payoutTarget}`);
295
- }
296
- const sig = await this.client.sendTransaction(signer, plan);
297
- log?.(`Request ${seq}: ${sig}`);
298
- this.client.clearAllCache();
299
- processed++;
300
- }
301
- return { requestsProcessed: processed };
302
- }
303
-
304
- // ── Full lifecycle ─────────────────────────────────────────────────────────
305
-
306
- /**
307
- * Runs the complete epoch lifecycle: close → fund → transition to
308
- * processing → process all requests.
309
- *
310
- * Returns true if the epoch was fully processed and closed.
311
- */
312
- async processEpoch(
313
- signer: TransactionSigner,
314
- epoch: RedemptionEpochSnapshot,
315
- log?: LogFn
316
- ): Promise<boolean> {
317
- await this.closeEpoch(signer, epoch, log);
318
-
319
- const afterClose = await this.refreshEpoch(epoch);
320
- const fundResult = await this.fundEpoch(signer, afterClose, log);
321
- if (fundResult.errors.dcp.length > 0 || fundResult.errors.withdraw.length > 0) {
322
- const summary = `${fundResult.errors.dcp.length} DCP failure(s), ${fundResult.errors.withdraw.length} withdraw failure(s)`;
323
- log?.(`Funding phase recorded ${summary}.`);
324
- this.structuredLog?.({
325
- level: "warn",
326
- event: "redemption_epoch_funding_failures",
327
- data: {
328
- epochPda: afterClose.pda,
329
- tokenPda: afterClose.tokenPda,
330
- dcp: fundResult.errors.dcp,
331
- withdraw: fundResult.errors.withdraw,
332
- },
333
- });
334
- }
335
- if (!fundResult.funded) {
336
- log?.(
337
- `Epoch underfunded (${fundResult.fundedCollateral} / ${fundResult.grossCollateralClaim}; ` +
338
- `realized unwind loss ${fundResult.realizedUnwindLoss}).`
339
- );
340
- return false;
341
- }
342
-
343
- const afterFunding = await this.refreshEpoch(afterClose);
344
- await this.startProcessing(signer, afterFunding, log);
345
-
346
- const processingEpoch = await this.refreshEpoch(afterFunding);
347
- const remaining = processingEpoch.requestCount - processingEpoch.processedRequestCount;
348
- log?.(`Processing ${remaining} request(s)...`);
349
- await this.processRequests(signer, processingEpoch, log);
350
- return true;
351
- }
352
-
353
- // ── Cache management ───────────────────────────────────────────────────────
354
-
355
- clearYieldingBankCache(): void {
356
- this.yieldingBankCache.clear();
357
- }
358
-
359
- // ── Private: funding phases ───────────────────────────────────────────────
360
-
361
- /**
362
- * Credits only the residual shortfall from collateral already sitting in the
363
- * token PDA's unlent reserve. LP withdrawals run first so existing reserves
364
- * are used as the tail of mixed LP/unlent funding, not the first source.
365
- */
366
- private async creditResidualUnlent(
367
- signer: TransactionSigner,
368
- epoch: RedemptionEpochSnapshot,
369
- decimals: number,
370
- log?: LogFn
371
- ): Promise<void> {
372
- const current = await this.refreshEpoch(epoch);
373
- const shortfall = current.grossCollateralClaim - current.fundedCollateral;
374
- if (shortfall <= 0n) return;
375
-
376
- const token = await this.client.account.fetchToken(current.tokenPda, { fresh: true });
377
- const rawUnlent = token.data.collateral.unlentAmount;
378
- const unlent = rawUnlent === undefined ? 0n : toBigInt(rawUnlent);
379
- const uncreditedUnlent =
380
- unlent > current.fundedCollateral ? unlent - current.fundedCollateral : 0n;
381
- if (uncreditedUnlent === 0n) return;
382
-
383
- const credit = shortfall < uncreditedUnlent ? shortfall : uncreditedUnlent;
384
- log?.(`Crediting residual unlent reserves (${toUiAmount(credit, decimals)}) to epoch...`);
385
- const plan = await this.client.tx.creditUnlentToRedemptionEpoch.getTx({
386
- token: token.address,
387
- redemptionEpoch: current.pda,
388
- });
389
- await this.client.sendTransaction(signer, plan);
390
- this.client.clearAllCache();
391
- }
392
-
393
- /** Phase 1: withdraw directly from LPs that have no debt (no DCP needed). */
394
- private async fundFromDebtFreeLps(
395
- signer: TransactionSigner,
396
- token: LYCToken,
397
- epoch: RedemptionEpochSnapshot,
398
- decimals: number,
399
- fundingErrors: RedemptionFundingErrors,
400
- log?: LogFn
401
- ): Promise<void> {
402
- const debtFreeLps = token.usedLendingPositions.filter(
403
- (lp) => toBigInt(lp.data.accounting.debt.amount) === 0n
404
- );
405
- if (debtFreeLps.length === 0) {
406
- log?.("No debt-free LP collateral available for direct withdrawal.");
407
- return;
408
- }
409
-
410
- log?.(`${debtFreeLps.length} debt-free LP(s) — withdrawing directly...`);
411
- await this.withdrawFromLps(signer, epoch, decimals, debtFreeLps, fundingErrors, log);
412
- }
413
-
414
- /**
415
- * Phase 2: DCP + withdraw from carry-loaded LPs, sorted so non-optimal
416
- * positions are unwound first.
417
- */
418
- private async fundFromCarryLps(
419
- signer: TransactionSigner,
420
- tokenPda: Address,
421
- epoch: RedemptionEpochSnapshot,
422
- decimals: number,
423
- fundingErrors: RedemptionFundingErrors,
424
- log?: LogFn
425
- ): Promise<void> {
426
- const remainingDeficitUi = this.deficitUi(epoch, decimals);
427
- log?.(`Remaining deficit after debt-free withdrawals: ${remainingDeficitUi}`);
428
-
429
- const token = await this.client.account.fetchToken(tokenPda, { fresh: true });
430
- const carryLps = token.usedLendingPositions.filter(
431
- (lp) => toBigInt(lp.data.accounting.debt.amount) > 0n
432
- );
433
- if (carryLps.length === 0) {
434
- log?.("No carry-loaded LP collateral available for DCP funding.");
435
- return;
436
- }
437
-
438
- const sorted = await this.lpService.sortByOptimality(token, carryLps, log);
439
- await this.dcpAcrossLps(
440
- signer,
441
- token,
442
- epoch,
443
- remainingDeficitUi,
444
- decimals,
445
- sorted,
446
- fundingErrors,
447
- log
448
- );
449
- await this.withdrawFromLps(signer, epoch, decimals, sorted, fundingErrors, log);
450
- }
451
-
452
- // ── Private: DCP ──────────────────────────────────────────────────────────
453
-
454
- /**
455
- * Runs a targeted DCP on each LP that needs collateral freed. Iterates `lps`
456
- * in the caller-provided order (non-optimal positions first).
457
- */
458
- private async dcpAcrossLps(
459
- signer: TransactionSigner,
460
- token: LYCToken,
461
- epoch: RedemptionEpochSnapshot,
462
- totalDeficitUi: number,
463
- decimals: number,
464
- lps: IndexedLendingPosition[],
465
- fundingErrors: RedemptionFundingErrors,
466
- log?: LogFn
467
- ): Promise<void> {
468
- if (token.activeCarryPositions.length === 0) return;
469
-
470
- const fallbackBanks = await this.resolveYieldingBanks(token);
471
- const fallbackBank = fallbackBanks[0];
472
- if (!fallbackBank) return;
473
-
474
- let remainingDeficitUi = totalDeficitUi;
475
-
476
- for (const lp of lps) {
477
- if (remainingDeficitUi <= 0) break;
478
-
479
- const lpCollateralUi = toUiAmount(toBigInt(lp.data.accounting.collateral), decimals);
480
-
481
- // Skip DCP only when the amount this LP must supply (plus the withdrawal
482
- // overshoot) can be withdrawn directly while keeping post-withdraw
483
- // utilization within the on-chain threshold. Current utilization being
484
- // in range is not enough: withdrawing collateral with debt outstanding
485
- // raises utilization, and both Kamino's max LTV and the
486
- // top_up_unlent_reserves post-withdraw check validate the resulting state.
487
- const neededUi = Math.min(remainingDeficitUi, lpCollateralUi);
488
- const neededWithOvershootUi = neededUi * (1 + WITHDRAWAL_OVERSHOOT_BPS / 10_000);
489
- const maxDirectUi = toUiAmount(this.maxDirectWithdrawal(lp), decimals);
490
- if (maxDirectUi >= neededWithOvershootUi) {
491
- log?.(
492
- `DCP LP[${lp.index}] skipped — needed ${neededUi} within direct-withdrawal headroom (${maxDirectUi}).`
493
- );
494
- remainingDeficitUi -= neededUi;
495
- continue;
496
- }
497
-
498
- const fullUnwind = remainingDeficitUi >= lpCollateralUi;
499
-
500
- const dcpSucceeded = await this.dcpSingleLp(
501
- signer,
502
- epoch,
503
- lp,
504
- fallbackBank,
505
- fullUnwind,
506
- neededUi,
507
- fundingErrors,
508
- log
509
- );
510
- if (dcpSucceeded) {
511
- remainingDeficitUi -= neededUi;
512
- }
513
- }
514
- }
515
-
516
- /**
517
- * Max collateral (native units) withdrawable from an LP without a prior DCP.
518
- *
519
- * TopUpUnlentReserves re-checks `is_utilization_rate_at_or_below_target`
520
- * AFTER the withdrawal (util <= target + target * threshold / 10_000), and
521
- * utilization scales as `util_after = util * collateral / (collateral - w)`
522
- * when debt and prices stay constant (mirrors on-chain
523
- * `simulate_utilization_rate_bps_after_collateral_withdraw`). Inverting
524
- * against the upper bound gives:
525
- * w_max = collateral * (limit - util) / limit
526
- */
527
- private maxDirectWithdrawal(lp: IndexedLendingPosition): bigint {
528
- const collateral = toBigInt(lp.data.accounting.collateral);
529
- const utilBps = BigInt(lp.data.accounting.ltvUtilizationRateBps);
530
- if (utilBps === 0n) return collateral;
531
-
532
- const target = lp.data.config.targetUtilizationRateBps;
533
- const margin = Math.floor((target * UTILIZATION_RATE_DEVIATION_THRESHOLD_BPS) / 10_000);
534
- const limitBps = BigInt(Math.min(target + margin, 10_000));
535
- if (utilBps >= limitBps) return 0n;
536
- return (collateral * (limitBps - utilBps)) / limitBps;
537
- }
538
-
539
- /**
540
- * Executes a single DCP on one lending position with retry logic. Uses full
541
- * unwind (target utilization 0) when the deficit exceeds the LP's collateral,
542
- * otherwise uses `collateralWithdrawal` steering.
543
- */
544
- private async dcpSingleLp(
545
- signer: TransactionSigner,
546
- epoch: RedemptionEpochSnapshot,
547
- lp: IndexedLendingPosition,
548
- yieldingBank: Address,
549
- fullUnwind: boolean,
550
- withdrawUi: number,
551
- fundingErrors: RedemptionFundingErrors,
552
- log?: LogFn
553
- ): Promise<boolean> {
554
- const repaySteering: DecreaseCarryRepaySteering = fullUnwind
555
- ? {
556
- mode: "explicitTargetUtilization",
557
- targetUtilizationRateBps: 0,
558
- }
559
- : {
560
- mode: "collateralWithdrawal",
561
- collateralWithdrawalUiAmount: withdrawUi,
562
- allowBelowTargetOnChain: true,
563
- };
564
-
565
- const label = fullUnwind ? "full unwind" : "collateralWithdrawal steering";
566
- log?.(`DCP LP[${lp.index}] (${label})...`);
567
-
568
- let lastError = "unknown error";
569
- for (let attempt = 0; attempt <= DCP_MAX_RETRIES; attempt++) {
570
- if (attempt > 0) {
571
- log?.(`DCP LP[${lp.index}] retry ${attempt}/${DCP_MAX_RETRIES}...`);
572
- this.client.clearAllCache();
573
- }
574
-
575
- const attemptLabel = `${attempt + 1}/${DCP_MAX_RETRIES + 1}`;
576
- log?.(
577
- `DCP LP[${lp.index}] attempt ${attemptLabel}: building plan ` +
578
- `(token=${epoch.tokenPda}, epoch=${epoch.pda}, yieldingBank=${yieldingBank}, signer=${signer.address}).`
579
- );
580
-
581
- let plan: LongYieldCarryTransactionPlan;
582
- try {
583
- plan = await this.client.tx.decreaseCarryPosition.getTx({
584
- signer: signer.address,
585
- token: epoch.tokenPda,
586
- redemptionEpoch: epoch.pda,
587
- params: {
588
- lendingPositionIndex: lp.index,
589
- yieldingBank,
590
- swapSlippageBps: this.dcpSwapSlippageBps,
591
- ...(repaySteering ? { repaySteering } : {}),
592
- },
593
- });
594
- } catch (err) {
595
- lastError = errorMessage(err);
596
- log?.(`DCP LP[${lp.index}] plan build failed: ${lastError}`);
597
- for (const detail of errorDiagnostics(err)) {
598
- log?.(`DCP LP[${lp.index}] plan build ${detail}`);
599
- }
600
- continue;
601
- }
602
-
603
- log?.(
604
- `DCP LP[${lp.index}] attempt ${attemptLabel}: plan built ` +
605
- `(${plan.instructions.length} ix, ${plan.lookupTables?.length ?? 0} LUT(s)); sending transaction.`
606
- );
607
-
608
- try {
609
- await this.client.sendTransaction(signer, plan);
610
- this.client.clearAllCache();
611
- log?.(`DCP LP[${lp.index}] done.`);
612
- return true;
613
- } catch (err) {
614
- lastError = errorMessage(err);
615
- log?.(`DCP LP[${lp.index}] send failed: ${lastError}`);
616
- for (const detail of errorDiagnostics(err)) {
617
- log?.(`DCP LP[${lp.index}] send ${detail}`);
618
- }
619
- }
620
- }
621
- log?.(`DCP LP[${lp.index}] exhausted retries — continuing.`);
622
- fundingErrors.dcp.push({ lpIndex: lp.index, message: lastError });
623
- return false;
624
- }
625
-
626
- // ── Private: top-up withdrawals ───────────────────────────────────────────
627
-
628
- /**
629
- * Withdraws collateral from lending positions into unlent reserves, crediting
630
- * the redemption epoch. Stops as soon as the epoch is fully funded.
631
- */
632
- private async withdrawFromLps(
633
- signer: TransactionSigner,
634
- epoch: RedemptionEpochSnapshot,
635
- decimals: number,
636
- lps: IndexedLendingPosition[],
637
- fundingErrors: RedemptionFundingErrors,
638
- log?: LogFn
639
- ): Promise<void> {
640
- for (const lp of lps) {
641
- const current = await this.refreshEpoch(epoch);
642
- if (this.isFullyFunded(current)) break;
643
-
644
- // Re-fetch the LP so post-DCP debt/collateral (and thus utilization) are
645
- // current — the caller's snapshot predates any DCPs run this funding pass.
646
- const token = await this.client.account.fetchToken(epoch.tokenPda, { fresh: true });
647
- const freshLp = token.usedLendingPositions.find((p) => p.index === lp.index);
648
- if (!freshLp) continue;
649
-
650
- const remainingDeficit = current.grossCollateralClaim - current.fundedCollateral;
651
- const lpCollateral = toBigInt(freshLp.data.accounting.collateral);
652
-
653
- // For partial withdrawals, overshoot slightly so Kamino rounding never
654
- // leaves the epoch a few lamports short of fully funded.
655
- const overshoot = (remainingDeficit * BigInt(WITHDRAWAL_OVERSHOOT_BPS)) / 10_000n;
656
- const withOvershoot = remainingDeficit + overshoot;
657
- const requested =
658
- withOvershoot < lpCollateral
659
- ? withOvershoot
660
- : remainingDeficit < lpCollateral
661
- ? remainingDeficit
662
- : lpCollateral;
663
-
664
- // Cap at what the post-withdraw utilization checks (Kamino max LTV and
665
- // on-chain is_utilization_rate_at_or_below_target) allow with the LP's
666
- // remaining debt.
667
- const maxWithdraw = this.maxDirectWithdrawal(freshLp);
668
- if (maxWithdraw === 0n) {
669
- log?.(`LP[${lp.index}]: skipped — no utilization headroom for a direct withdrawal.`);
670
- continue;
671
- }
672
- const amount = requested < maxWithdraw ? requested : maxWithdraw;
673
- if (amount < requested) {
674
- log?.(
675
- `LP[${lp.index}]: capping withdrawal at utilization headroom (${toUiAmount(maxWithdraw, decimals)}).`
676
- );
677
- }
678
-
679
- const drainAll = amount >= lpCollateral;
680
- const fundsFully = amount >= remainingDeficit;
681
- const uiAmount: number | "all" = drainAll ? "all" : toUiAmount(amount, decimals);
682
-
683
- log?.(`LP[${lp.index}]: withdrawing ${drainAll ? "all" : uiAmount}...`);
684
- try {
685
- const plan = await this.client.tx.topUpUnlentReserves.getTx({
686
- token: epoch.tokenPda,
687
- params: {
688
- lendingPositionIndex: lp.index,
689
- uiAmount,
690
- redemptionEpoch: epoch.pda,
691
- },
692
- });
693
- if (!drainAll && fundsFully) {
694
- // Bundle Funding → Processing in the same tx. On-chain the status
695
- // instruction validates funded_collateral >= gross_collateral_claim,
696
- // so the whole tx rolls back atomically if the withdrawal fell short.
697
- const statusIx = await this.client.tx.setRedemptionEpochStatus.getIx({
698
- token: epoch.tokenPda,
699
- redemptionEpoch: epoch.pda,
700
- params: { status: REDEMPTION_EPOCH_STATUS_PROCESSING },
701
- });
702
- plan.instructions.push(statusIx);
703
- }
704
- await this.client.sendTransaction(signer, plan);
705
- this.client.clearAllCache();
706
- if (fundsFully) break;
707
- } catch (err) {
708
- const message = err instanceof Error ? err.message : String(err);
709
- log?.(`LP[${lp.index}] withdraw failed: ${message}`);
710
- fundingErrors.withdraw.push({ lpIndex: lp.index, message });
711
- }
712
- }
713
- }
714
-
715
- // ── Private: utilities ────────────────────────────────────────────────────
716
-
717
- private isFullyFunded(epoch: RedemptionEpochSnapshot): boolean {
718
- return epoch.fundedCollateral >= epoch.grossCollateralClaim;
719
- }
720
-
721
- private deficitUi(epoch: RedemptionEpochSnapshot, decimals: number): number {
722
- return toUiAmount(epoch.grossCollateralClaim - epoch.fundedCollateral, decimals);
723
- }
724
-
725
- private fundResult(
726
- epoch: RedemptionEpochSnapshot,
727
- errors: RedemptionFundingErrors
728
- ): FundRedemptionEpochResult {
729
- return {
730
- funded: this.isFullyFunded(epoch),
731
- fundedCollateral: epoch.fundedCollateral,
732
- grossCollateralClaim: epoch.grossCollateralClaim,
733
- realizedUnwindLoss: epoch.realizedUnwindLoss,
734
- errors,
735
- };
736
- }
737
-
738
- private async resolveYieldingBanks(token: LYCToken): Promise<Address[]> {
739
- const cached = this.yieldingBankCache.get(token.address);
740
- if (cached) return cached;
741
-
742
- const seen = new Set<string>();
743
- const banks: Address[] = [];
744
- for (const carry of token.activeCarryPositions) {
745
- const bankPda = await token.deriveYieldingBankAddressForDebtCarryIndex(
746
- carry.index,
747
- this.client.pda
748
- );
749
- if (!seen.has(bankPda)) {
750
- seen.add(bankPda);
751
- banks.push(bankPda);
752
- }
753
- }
754
-
755
- this.yieldingBankCache.set(token.address, banks);
756
- return banks;
757
- }
758
- }