@kestrelfi/lyc-sdk 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (717) hide show
  1. package/.env.example +11 -0
  2. package/README.md +207 -0
  3. package/dist/sdks/long-yield-carry/scripts/asyncBurn.d.ts +1 -0
  4. package/dist/sdks/long-yield-carry/scripts/asyncBurn.js +117 -0
  5. package/dist/sdks/long-yield-carry/scripts/burnToken.d.ts +1 -0
  6. package/dist/sdks/long-yield-carry/scripts/burnToken.js +98 -0
  7. package/dist/sdks/long-yield-carry/scripts/claimIncentives.d.ts +1 -0
  8. package/dist/sdks/long-yield-carry/scripts/claimIncentives.js +108 -0
  9. package/dist/sdks/long-yield-carry/scripts/closeCpiPlans.d.ts +1 -0
  10. package/dist/sdks/long-yield-carry/scripts/closeCpiPlans.js +93 -0
  11. package/dist/sdks/long-yield-carry/scripts/collectInterest.d.ts +1 -0
  12. package/dist/sdks/long-yield-carry/scripts/collectInterest.js +164 -0
  13. package/dist/sdks/long-yield-carry/scripts/collectProtocolFees.d.ts +1 -0
  14. package/dist/sdks/long-yield-carry/scripts/collectProtocolFees.js +120 -0
  15. package/dist/sdks/long-yield-carry/scripts/computeOptimalAllocations.d.ts +1 -0
  16. package/dist/sdks/long-yield-carry/scripts/computeOptimalAllocations.js +84 -0
  17. package/dist/sdks/long-yield-carry/scripts/createToken.d.ts +1 -0
  18. package/dist/sdks/long-yield-carry/scripts/createToken.js +76 -0
  19. package/dist/sdks/long-yield-carry/scripts/createTokenLendingPosition.d.ts +1 -0
  20. package/dist/sdks/long-yield-carry/scripts/createTokenLendingPosition.js +157 -0
  21. package/dist/sdks/long-yield-carry/scripts/createYieldingBank.d.ts +1 -0
  22. package/dist/sdks/long-yield-carry/scripts/createYieldingBank.js +69 -0
  23. package/dist/sdks/long-yield-carry/scripts/decreaseCarryPositions.d.ts +1 -0
  24. package/dist/sdks/long-yield-carry/scripts/decreaseCarryPositions.js +247 -0
  25. package/dist/sdks/long-yield-carry/scripts/depositUnlentCollateral.d.ts +1 -0
  26. package/dist/sdks/long-yield-carry/scripts/depositUnlentCollateral.js +90 -0
  27. package/dist/sdks/long-yield-carry/scripts/emergency/deleverageAll.d.ts +1 -0
  28. package/dist/sdks/long-yield-carry/scripts/emergency/deleverageAll.js +202 -0
  29. package/dist/sdks/long-yield-carry/scripts/emergency/triggerCircuitBreaker.d.ts +1 -0
  30. package/dist/sdks/long-yield-carry/scripts/emergency/triggerCircuitBreaker.js +68 -0
  31. package/dist/sdks/long-yield-carry/scripts/env.d.ts +1 -0
  32. package/dist/sdks/long-yield-carry/scripts/env.js +8 -0
  33. package/dist/sdks/long-yield-carry/scripts/findTxs.d.ts +1 -0
  34. package/dist/sdks/long-yield-carry/scripts/findTxs.js +143 -0
  35. package/dist/sdks/long-yield-carry/scripts/increaseCarryPositions.d.ts +1 -0
  36. package/dist/sdks/long-yield-carry/scripts/increaseCarryPositions.js +112 -0
  37. package/dist/sdks/long-yield-carry/scripts/inspect/format.d.ts +13 -0
  38. package/dist/sdks/long-yield-carry/scripts/inspect/format.js +363 -0
  39. package/dist/sdks/long-yield-carry/scripts/inspect.d.ts +1 -0
  40. package/dist/sdks/long-yield-carry/scripts/inspect.js +108 -0
  41. package/dist/sdks/long-yield-carry/scripts/localUtils.d.ts +53 -0
  42. package/dist/sdks/long-yield-carry/scripts/localUtils.js +191 -0
  43. package/dist/sdks/long-yield-carry/scripts/mintToken.d.ts +1 -0
  44. package/dist/sdks/long-yield-carry/scripts/mintToken.js +103 -0
  45. package/dist/sdks/long-yield-carry/scripts/processAsyncBurns.d.ts +1 -0
  46. package/dist/sdks/long-yield-carry/scripts/processAsyncBurns.js +76 -0
  47. package/dist/sdks/long-yield-carry/scripts/rebalanceToken.d.ts +1 -0
  48. package/dist/sdks/long-yield-carry/scripts/rebalanceToken.js +210 -0
  49. package/dist/sdks/long-yield-carry/scripts/rebalanceYieldingBank.d.ts +1 -0
  50. package/dist/sdks/long-yield-carry/scripts/rebalanceYieldingBank.js +149 -0
  51. package/dist/sdks/long-yield-carry/scripts/recollateralizeLoss.d.ts +1 -0
  52. package/dist/sdks/long-yield-carry/scripts/recollateralizeLoss.js +64 -0
  53. package/dist/sdks/long-yield-carry/scripts/refresh.d.ts +1 -0
  54. package/dist/sdks/long-yield-carry/scripts/refresh.js +101 -0
  55. package/dist/sdks/long-yield-carry/scripts/updateFees.d.ts +1 -0
  56. package/dist/sdks/long-yield-carry/scripts/updateFees.js +369 -0
  57. package/dist/sdks/long-yield-carry/scripts/updateGeneralLut.d.ts +1 -0
  58. package/dist/sdks/long-yield-carry/scripts/updateGeneralLut.js +27 -0
  59. package/dist/sdks/long-yield-carry/scripts/updateLendingPositionConfig.d.ts +1 -0
  60. package/dist/sdks/long-yield-carry/scripts/updateLendingPositionConfig.js +127 -0
  61. package/dist/sdks/long-yield-carry/scripts/updateTokenLuts.d.ts +1 -0
  62. package/dist/sdks/long-yield-carry/scripts/updateTokenLuts.js +27 -0
  63. package/dist/sdks/long-yield-carry/scripts/updateTokenMetadata.d.ts +1 -0
  64. package/dist/sdks/long-yield-carry/scripts/updateTokenMetadata.js +194 -0
  65. package/dist/sdks/long-yield-carry/scripts/updateYieldingBankConfig.d.ts +1 -0
  66. package/dist/sdks/long-yield-carry/scripts/updateYieldingBankConfig.js +84 -0
  67. package/dist/sdks/long-yield-carry/scripts/withdrawUnlentCollateral.d.ts +1 -0
  68. package/dist/sdks/long-yield-carry/scripts/withdrawUnlentCollateral.js +140 -0
  69. package/dist/sdks/long-yield-carry/src/client/account.d.ts +152 -0
  70. package/dist/sdks/long-yield-carry/src/client/account.js +349 -0
  71. package/dist/sdks/long-yield-carry/src/client/builders/args.d.ts +299 -0
  72. package/dist/sdks/long-yield-carry/src/client/builders/args.js +2 -0
  73. package/dist/sdks/long-yield-carry/src/client/builders/asyncBurnBuilder.d.ts +20 -0
  74. package/dist/sdks/long-yield-carry/src/client/builders/asyncBurnBuilder.js +212 -0
  75. package/dist/sdks/long-yield-carry/src/client/builders/base.d.ts +77 -0
  76. package/dist/sdks/long-yield-carry/src/client/builders/base.js +191 -0
  77. package/dist/sdks/long-yield-carry/src/client/builders/burnTokenBuilder.d.ts +18 -0
  78. package/dist/sdks/long-yield-carry/src/client/builders/burnTokenBuilder.js +165 -0
  79. package/dist/sdks/long-yield-carry/src/client/builders/claimIncentivesBuilder.d.ts +9 -0
  80. package/dist/sdks/long-yield-carry/src/client/builders/claimIncentivesBuilder.js +135 -0
  81. package/dist/sdks/long-yield-carry/src/client/builders/collectFeesBuilder.d.ts +14 -0
  82. package/dist/sdks/long-yield-carry/src/client/builders/collectFeesBuilder.js +50 -0
  83. package/dist/sdks/long-yield-carry/src/client/builders/collectInterestBuilder.d.ts +8 -0
  84. package/dist/sdks/long-yield-carry/src/client/builders/collectInterestBuilder.js +86 -0
  85. package/dist/sdks/long-yield-carry/src/client/builders/createCpiPlanBuilder.d.ts +6 -0
  86. package/dist/sdks/long-yield-carry/src/client/builders/createCpiPlanBuilder.js +22 -0
  87. package/dist/sdks/long-yield-carry/src/client/builders/createTokenBuilder.d.ts +7 -0
  88. package/dist/sdks/long-yield-carry/src/client/builders/createTokenBuilder.js +64 -0
  89. package/dist/sdks/long-yield-carry/src/client/builders/createTokenLendingPositionBuilder.d.ts +10 -0
  90. package/dist/sdks/long-yield-carry/src/client/builders/createTokenLendingPositionBuilder.js +138 -0
  91. package/dist/sdks/long-yield-carry/src/client/builders/createYieldingBankAllocationBuilder.d.ts +7 -0
  92. package/dist/sdks/long-yield-carry/src/client/builders/createYieldingBankAllocationBuilder.js +29 -0
  93. package/dist/sdks/long-yield-carry/src/client/builders/createYieldingBankBuilder.d.ts +7 -0
  94. package/dist/sdks/long-yield-carry/src/client/builders/createYieldingBankBuilder.js +39 -0
  95. package/dist/sdks/long-yield-carry/src/client/builders/decreaseCarryPositionBuilder.d.ts +30 -0
  96. package/dist/sdks/long-yield-carry/src/client/builders/decreaseCarryPositionBuilder.js +99 -0
  97. package/dist/sdks/long-yield-carry/src/client/builders/depositUnlentCollateralBuilder.d.ts +8 -0
  98. package/dist/sdks/long-yield-carry/src/client/builders/depositUnlentCollateralBuilder.js +64 -0
  99. package/dist/sdks/long-yield-carry/src/client/builders/increaseCarryPositionBuilder.d.ts +8 -0
  100. package/dist/sdks/long-yield-carry/src/client/builders/increaseCarryPositionBuilder.js +73 -0
  101. package/dist/sdks/long-yield-carry/src/client/builders/index.d.ts +28 -0
  102. package/dist/sdks/long-yield-carry/src/client/builders/index.js +62 -0
  103. package/dist/sdks/long-yield-carry/src/client/builders/mintTokenBuilder.d.ts +8 -0
  104. package/dist/sdks/long-yield-carry/src/client/builders/mintTokenBuilder.js +95 -0
  105. package/dist/sdks/long-yield-carry/src/client/builders/rebalanceTokenBuilder.d.ts +11 -0
  106. package/dist/sdks/long-yield-carry/src/client/builders/rebalanceTokenBuilder.js +255 -0
  107. package/dist/sdks/long-yield-carry/src/client/builders/rebalanceYieldingBankBuilder.d.ts +8 -0
  108. package/dist/sdks/long-yield-carry/src/client/builders/rebalanceYieldingBankBuilder.js +75 -0
  109. package/dist/sdks/long-yield-carry/src/client/builders/recollateralizeLossBuilder.d.ts +12 -0
  110. package/dist/sdks/long-yield-carry/src/client/builders/recollateralizeLossBuilder.js +220 -0
  111. package/dist/sdks/long-yield-carry/src/client/builders/refreshTokenStateBuilder.d.ts +9 -0
  112. package/dist/sdks/long-yield-carry/src/client/builders/refreshTokenStateBuilder.js +112 -0
  113. package/dist/sdks/long-yield-carry/src/client/builders/refreshTokensBuilder.d.ts +9 -0
  114. package/dist/sdks/long-yield-carry/src/client/builders/refreshTokensBuilder.js +59 -0
  115. package/dist/sdks/long-yield-carry/src/client/builders/refreshYieldingBankBuilder.d.ts +8 -0
  116. package/dist/sdks/long-yield-carry/src/client/builders/refreshYieldingBankBuilder.js +29 -0
  117. package/dist/sdks/long-yield-carry/src/client/builders/resetTokenBurnRateLimitBuilder.d.ts +7 -0
  118. package/dist/sdks/long-yield-carry/src/client/builders/resetTokenBurnRateLimitBuilder.js +19 -0
  119. package/dist/sdks/long-yield-carry/src/client/builders/setTokenCircuitBreakerBuilder.d.ts +11 -0
  120. package/dist/sdks/long-yield-carry/src/client/builders/setTokenCircuitBreakerBuilder.js +31 -0
  121. package/dist/sdks/long-yield-carry/src/client/builders/setYieldingBankCircuitBreakerBuilder.d.ts +8 -0
  122. package/dist/sdks/long-yield-carry/src/client/builders/setYieldingBankCircuitBreakerBuilder.js +28 -0
  123. package/dist/sdks/long-yield-carry/src/client/builders/updateLendingPositionConfigBuilder.d.ts +10 -0
  124. package/dist/sdks/long-yield-carry/src/client/builders/updateLendingPositionConfigBuilder.js +30 -0
  125. package/dist/sdks/long-yield-carry/src/client/builders/updateTokenConfigurationBuilder.d.ts +11 -0
  126. package/dist/sdks/long-yield-carry/src/client/builders/updateTokenConfigurationBuilder.js +47 -0
  127. package/dist/sdks/long-yield-carry/src/client/builders/updateTokenMetadataBuilder.d.ts +7 -0
  128. package/dist/sdks/long-yield-carry/src/client/builders/updateTokenMetadataBuilder.js +24 -0
  129. package/dist/sdks/long-yield-carry/src/client/builders/updateYieldingBankConfigBuilder.d.ts +10 -0
  130. package/dist/sdks/long-yield-carry/src/client/builders/updateYieldingBankConfigBuilder.js +31 -0
  131. package/dist/sdks/long-yield-carry/src/client/builders/utils.d.ts +4 -0
  132. package/dist/sdks/long-yield-carry/src/client/builders/utils.js +20 -0
  133. package/dist/sdks/long-yield-carry/src/client/client.d.ts +115 -0
  134. package/dist/sdks/long-yield-carry/src/client/client.js +166 -0
  135. package/dist/sdks/long-yield-carry/src/client/externalLiquidityResolver.d.ts +13 -0
  136. package/dist/sdks/long-yield-carry/src/client/externalLiquidityResolver.js +34 -0
  137. package/dist/sdks/long-yield-carry/src/client/index.d.ts +10 -0
  138. package/dist/sdks/long-yield-carry/src/client/index.js +33 -0
  139. package/dist/sdks/long-yield-carry/src/client/lendingPlatformClients.d.ts +19 -0
  140. package/dist/sdks/long-yield-carry/src/client/lendingPlatformClients.js +33 -0
  141. package/dist/sdks/long-yield-carry/src/client/pda.d.ts +33 -0
  142. package/dist/sdks/long-yield-carry/src/client/pda.js +79 -0
  143. package/dist/sdks/long-yield-carry/src/client/plans/collectInterest.d.ts +24 -0
  144. package/dist/sdks/long-yield-carry/src/client/plans/collectInterest.js +150 -0
  145. package/dist/sdks/long-yield-carry/src/client/plans/decreaseCarryPosition.d.ts +12 -0
  146. package/dist/sdks/long-yield-carry/src/client/plans/decreaseCarryPosition.js +140 -0
  147. package/dist/sdks/long-yield-carry/src/client/routes/collectInterest.d.ts +13 -0
  148. package/dist/sdks/long-yield-carry/src/client/routes/collectInterest.js +39 -0
  149. package/dist/sdks/long-yield-carry/src/client/transaction.d.ts +41 -0
  150. package/dist/sdks/long-yield-carry/src/client/transaction.js +55 -0
  151. package/dist/sdks/long-yield-carry/src/client/types/builders.d.ts +18 -0
  152. package/dist/sdks/long-yield-carry/src/client/types/builders.js +2 -0
  153. package/dist/sdks/long-yield-carry/src/client/types/enums.d.ts +22 -0
  154. package/dist/sdks/long-yield-carry/src/client/types/enums.js +48 -0
  155. package/dist/sdks/long-yield-carry/src/client/types/general.d.ts +98 -0
  156. package/dist/sdks/long-yield-carry/src/client/types/general.js +2 -0
  157. package/dist/sdks/long-yield-carry/src/client/types/index.d.ts +6 -0
  158. package/dist/sdks/long-yield-carry/src/client/types/index.js +22 -0
  159. package/dist/sdks/long-yield-carry/src/client/types/ix.d.ts +352 -0
  160. package/dist/sdks/long-yield-carry/src/client/types/ix.js +2 -0
  161. package/dist/sdks/long-yield-carry/src/client/types/planTypes/collectInterest.d.ts +91 -0
  162. package/dist/sdks/long-yield-carry/src/client/types/planTypes/collectInterest.js +2 -0
  163. package/dist/sdks/long-yield-carry/src/client/types/planTypes/common.d.ts +28 -0
  164. package/dist/sdks/long-yield-carry/src/client/types/planTypes/common.js +2 -0
  165. package/dist/sdks/long-yield-carry/src/client/types/planTypes/decreaseCarryPosition.d.ts +128 -0
  166. package/dist/sdks/long-yield-carry/src/client/types/planTypes/decreaseCarryPosition.js +2 -0
  167. package/dist/sdks/long-yield-carry/src/client/types/planTypes/index.d.ts +3 -0
  168. package/dist/sdks/long-yield-carry/src/client/types/planTypes/index.js +19 -0
  169. package/dist/sdks/long-yield-carry/src/client/types/tx.d.ts +339 -0
  170. package/dist/sdks/long-yield-carry/src/client/types/tx.js +2 -0
  171. package/dist/sdks/long-yield-carry/src/constants/configs/allocations.d.ts +3 -0
  172. package/dist/sdks/long-yield-carry/src/constants/configs/allocations.js +23 -0
  173. package/dist/sdks/long-yield-carry/src/constants/configs/carryTradePresets.d.ts +58 -0
  174. package/dist/sdks/long-yield-carry/src/constants/configs/carryTradePresets.js +116 -0
  175. package/dist/sdks/long-yield-carry/src/constants/configs/index.d.ts +2 -0
  176. package/dist/sdks/long-yield-carry/src/constants/configs/index.js +18 -0
  177. package/dist/sdks/long-yield-carry/src/constants/general.d.ts +70 -0
  178. package/dist/sdks/long-yield-carry/src/constants/general.js +107 -0
  179. package/dist/sdks/long-yield-carry/src/constants/index.d.ts +3 -0
  180. package/dist/sdks/long-yield-carry/src/constants/index.js +19 -0
  181. package/dist/sdks/long-yield-carry/src/constants/lycTokenMetadata.d.ts +36 -0
  182. package/dist/sdks/long-yield-carry/src/constants/lycTokenMetadata.js +41 -0
  183. package/dist/sdks/long-yield-carry/src/decoders/decodeTransaction.d.ts +86 -0
  184. package/dist/sdks/long-yield-carry/src/decoders/decodeTransaction.js +230 -0
  185. package/dist/sdks/long-yield-carry/src/decoders/discriminators.d.ts +8 -0
  186. package/dist/sdks/long-yield-carry/src/decoders/discriminators.js +11 -0
  187. package/dist/sdks/long-yield-carry/src/decoders/idlAccounts.d.ts +29 -0
  188. package/dist/sdks/long-yield-carry/src/decoders/idlAccounts.js +57 -0
  189. package/dist/sdks/long-yield-carry/src/decoders/index.d.ts +6 -0
  190. package/dist/sdks/long-yield-carry/src/decoders/index.js +14 -0
  191. package/dist/sdks/long-yield-carry/src/decoders/innerCpis.d.ts +68 -0
  192. package/dist/sdks/long-yield-carry/src/decoders/innerCpis.js +225 -0
  193. package/dist/sdks/long-yield-carry/src/decoders/lycInstructionNames.d.ts +6 -0
  194. package/dist/sdks/long-yield-carry/src/decoders/lycInstructionNames.js +73 -0
  195. package/dist/sdks/long-yield-carry/src/decoders/programIds.d.ts +4 -0
  196. package/dist/sdks/long-yield-carry/src/decoders/programIds.js +11 -0
  197. package/dist/sdks/long-yield-carry/src/decoders/solana.d.ts +7 -0
  198. package/dist/sdks/long-yield-carry/src/decoders/solana.js +30 -0
  199. package/dist/sdks/long-yield-carry/src/decoders/transactionPayload.d.ts +41 -0
  200. package/dist/sdks/long-yield-carry/src/decoders/transactionPayload.js +6 -0
  201. package/dist/sdks/long-yield-carry/src/decoders/types.d.ts +58 -0
  202. package/dist/sdks/long-yield-carry/src/decoders/types.js +2 -0
  203. package/dist/sdks/long-yield-carry/src/errors.d.ts +69 -0
  204. package/dist/sdks/long-yield-carry/src/errors.js +183 -0
  205. package/dist/sdks/long-yield-carry/src/idl/long_yield_carry.d.ts +7327 -0
  206. package/dist/sdks/long-yield-carry/src/idl/long_yield_carry.js +7323 -0
  207. package/dist/sdks/long-yield-carry/src/index.d.ts +10 -0
  208. package/dist/sdks/long-yield-carry/src/index.js +25 -0
  209. package/dist/sdks/long-yield-carry/src/metrics/index.d.ts +1 -0
  210. package/dist/sdks/long-yield-carry/src/metrics/index.js +17 -0
  211. package/dist/sdks/long-yield-carry/src/metrics/protocolMetrics.d.ts +276 -0
  212. package/dist/sdks/long-yield-carry/src/metrics/protocolMetrics.js +547 -0
  213. package/dist/sdks/long-yield-carry/src/models/index.d.ts +3 -0
  214. package/dist/sdks/long-yield-carry/src/models/index.js +7 -0
  215. package/dist/sdks/long-yield-carry/src/models/lycToken.d.ts +156 -0
  216. package/dist/sdks/long-yield-carry/src/models/lycToken.js +288 -0
  217. package/dist/sdks/long-yield-carry/src/models/yieldingBank.d.ts +52 -0
  218. package/dist/sdks/long-yield-carry/src/models/yieldingBank.js +109 -0
  219. package/dist/sdks/long-yield-carry/src/services/allocation/allocationService.d.ts +106 -0
  220. package/dist/sdks/long-yield-carry/src/services/allocation/allocationService.js +589 -0
  221. package/dist/sdks/long-yield-carry/src/services/allocation/index.d.ts +2 -0
  222. package/dist/sdks/long-yield-carry/src/services/allocation/index.js +18 -0
  223. package/dist/sdks/long-yield-carry/src/services/allocation/types.d.ts +25 -0
  224. package/dist/sdks/long-yield-carry/src/services/allocation/types.js +2 -0
  225. package/dist/sdks/long-yield-carry/src/services/carry/carryAllocationConfig.d.ts +103 -0
  226. package/dist/sdks/long-yield-carry/src/services/carry/carryAllocationConfig.js +146 -0
  227. package/dist/sdks/long-yield-carry/src/services/carry/index.d.ts +2 -0
  228. package/dist/sdks/long-yield-carry/src/services/carry/index.js +18 -0
  229. package/dist/sdks/long-yield-carry/src/services/carry/lycLendingPositionManager.d.ts +39 -0
  230. package/dist/sdks/long-yield-carry/src/services/carry/lycLendingPositionManager.js +100 -0
  231. package/dist/sdks/long-yield-carry/src/services/index.d.ts +5 -0
  232. package/dist/sdks/long-yield-carry/src/services/index.js +21 -0
  233. package/dist/sdks/long-yield-carry/src/services/lendingPosition/index.d.ts +2 -0
  234. package/dist/sdks/long-yield-carry/src/services/lendingPosition/index.js +5 -0
  235. package/dist/sdks/long-yield-carry/src/services/lendingPosition/lendingPositionService.d.ts +88 -0
  236. package/dist/sdks/long-yield-carry/src/services/lendingPosition/lendingPositionService.js +229 -0
  237. package/dist/sdks/long-yield-carry/src/services/rebalance/index.d.ts +2 -0
  238. package/dist/sdks/long-yield-carry/src/services/rebalance/index.js +18 -0
  239. package/dist/sdks/long-yield-carry/src/services/rebalance/token/index.d.ts +1 -0
  240. package/dist/sdks/long-yield-carry/src/services/rebalance/token/index.js +17 -0
  241. package/dist/sdks/long-yield-carry/src/services/rebalance/token/tokenRebalanceService.d.ts +51 -0
  242. package/dist/sdks/long-yield-carry/src/services/rebalance/token/tokenRebalanceService.js +99 -0
  243. package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/index.d.ts +3 -0
  244. package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/index.js +21 -0
  245. package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/planner.d.ts +68 -0
  246. package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/planner.js +181 -0
  247. package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/strategy.d.ts +26 -0
  248. package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/strategy.js +26 -0
  249. package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/types.d.ts +40 -0
  250. package/dist/sdks/long-yield-carry/src/services/rebalance/yieldingBank/types.js +2 -0
  251. package/dist/sdks/long-yield-carry/src/services/redemption/index.d.ts +2 -0
  252. package/dist/sdks/long-yield-carry/src/services/redemption/index.js +5 -0
  253. package/dist/sdks/long-yield-carry/src/services/redemption/redemptionService.d.ts +139 -0
  254. package/dist/sdks/long-yield-carry/src/services/redemption/redemptionService.js +532 -0
  255. package/dist/sdks/long-yield-carry/src/types/enriched.d.ts +168 -0
  256. package/dist/sdks/long-yield-carry/src/types/enriched.js +2 -0
  257. package/dist/sdks/long-yield-carry/src/types/index.d.ts +1 -0
  258. package/dist/sdks/long-yield-carry/src/types/index.js +17 -0
  259. package/dist/sdks/long-yield-carry/src/utils/cache.d.ts +4 -0
  260. package/dist/sdks/long-yield-carry/src/utils/cache.js +10 -0
  261. package/dist/sdks/long-yield-carry/src/utils/data.d.ts +12 -0
  262. package/dist/sdks/long-yield-carry/src/utils/data.js +59 -0
  263. package/dist/sdks/long-yield-carry/src/utils/enrichment.d.ts +5 -0
  264. package/dist/sdks/long-yield-carry/src/utils/enrichment.js +244 -0
  265. package/dist/sdks/long-yield-carry/src/utils/feeDripMetrics.d.ts +36 -0
  266. package/dist/sdks/long-yield-carry/src/utils/feeDripMetrics.js +93 -0
  267. package/dist/sdks/long-yield-carry/src/utils/general.d.ts +28 -0
  268. package/dist/sdks/long-yield-carry/src/utils/general.js +47 -0
  269. package/dist/sdks/long-yield-carry/src/utils/index.d.ts +13 -0
  270. package/dist/sdks/long-yield-carry/src/utils/index.js +29 -0
  271. package/dist/sdks/long-yield-carry/src/utils/ix.d.ts +83 -0
  272. package/dist/sdks/long-yield-carry/src/utils/ix.js +165 -0
  273. package/dist/sdks/long-yield-carry/src/utils/lendingPosition.d.ts +68 -0
  274. package/dist/sdks/long-yield-carry/src/utils/lendingPosition.js +105 -0
  275. package/dist/sdks/long-yield-carry/src/utils/lookupTables.d.ts +55 -0
  276. package/dist/sdks/long-yield-carry/src/utils/lookupTables.js +216 -0
  277. package/dist/sdks/long-yield-carry/src/utils/lycData.d.ts +66 -0
  278. package/dist/sdks/long-yield-carry/src/utils/lycData.js +211 -0
  279. package/dist/sdks/long-yield-carry/src/utils/timelock.d.ts +19 -0
  280. package/dist/sdks/long-yield-carry/src/utils/timelock.js +37 -0
  281. package/dist/sdks/long-yield-carry/src/utils/tokenFeeMath.d.ts +11 -0
  282. package/dist/sdks/long-yield-carry/src/utils/tokenFeeMath.js +24 -0
  283. package/dist/sdks/long-yield-carry/src/utils/transactions.d.ts +20 -0
  284. package/dist/sdks/long-yield-carry/src/utils/transactions.js +72 -0
  285. package/dist/sdks/long-yield-carry/src/utils/yieldingBank.d.ts +24 -0
  286. package/dist/sdks/long-yield-carry/src/utils/yieldingBank.js +36 -0
  287. package/dist/shared/common/src/constants/accountMetas.d.ts +3 -0
  288. package/dist/shared/common/src/constants/accountMetas.js +9 -0
  289. package/dist/shared/common/src/constants/general.d.ts +21 -0
  290. package/dist/shared/common/src/constants/general.js +30 -0
  291. package/dist/shared/common/src/constants/generated/cpi.d.ts +23 -0
  292. package/dist/shared/common/src/constants/generated/cpi.js +28 -0
  293. package/dist/shared/common/src/constants/generated/index.d.ts +1 -0
  294. package/dist/shared/common/src/constants/generated/index.js +17 -0
  295. package/dist/shared/common/src/constants/index.d.ts +3 -0
  296. package/dist/shared/common/src/constants/index.js +19 -0
  297. package/dist/shared/common/src/index.d.ts +4 -0
  298. package/dist/shared/common/src/index.js +20 -0
  299. package/dist/shared/common/src/services/baseAccountClient.d.ts +22 -0
  300. package/dist/shared/common/src/services/baseAccountClient.js +38 -0
  301. package/dist/shared/common/src/services/baseIxBuilderService.d.ts +27 -0
  302. package/dist/shared/common/src/services/baseIxBuilderService.js +48 -0
  303. package/dist/shared/common/src/services/dataCache.d.ts +41 -0
  304. package/dist/shared/common/src/services/dataCache.js +130 -0
  305. package/dist/shared/common/src/services/index.d.ts +8 -0
  306. package/dist/shared/common/src/services/index.js +24 -0
  307. package/dist/shared/common/src/services/lutManager.d.ts +31 -0
  308. package/dist/shared/common/src/services/lutManager.js +133 -0
  309. package/dist/shared/common/src/services/mints/defaults.d.ts +2 -0
  310. package/dist/shared/common/src/services/mints/defaults.js +152 -0
  311. package/dist/shared/common/src/services/mints/index.d.ts +4 -0
  312. package/dist/shared/common/src/services/mints/index.js +20 -0
  313. package/dist/shared/common/src/services/mints/registry.d.ts +70 -0
  314. package/dist/shared/common/src/services/mints/registry.js +117 -0
  315. package/dist/shared/common/src/services/mints/symbols.d.ts +6 -0
  316. package/dist/shared/common/src/services/mints/symbols.js +13 -0
  317. package/dist/shared/common/src/services/mints/types.d.ts +30 -0
  318. package/dist/shared/common/src/services/mints/types.js +2 -0
  319. package/dist/shared/common/src/services/swap/index.d.ts +4 -0
  320. package/dist/shared/common/src/services/swap/index.js +20 -0
  321. package/dist/shared/common/src/services/swap/routableSwapClient.d.ts +36 -0
  322. package/dist/shared/common/src/services/swap/routableSwapClient.js +2 -0
  323. package/dist/shared/common/src/services/swap/swapClientBase.d.ts +45 -0
  324. package/dist/shared/common/src/services/swap/swapClientBase.js +2 -0
  325. package/dist/shared/common/src/services/swap/swapRouting.d.ts +13 -0
  326. package/dist/shared/common/src/services/swap/swapRouting.js +28 -0
  327. package/dist/shared/common/src/services/swap/types.d.ts +77 -0
  328. package/dist/shared/common/src/services/swap/types.js +2 -0
  329. package/dist/shared/common/src/services/token/index.d.ts +2 -0
  330. package/dist/shared/common/src/services/token/index.js +18 -0
  331. package/dist/shared/common/src/services/token/tokenProtocolClientBase.d.ts +51 -0
  332. package/dist/shared/common/src/services/token/tokenProtocolClientBase.js +2 -0
  333. package/dist/shared/common/src/services/token/types.d.ts +19 -0
  334. package/dist/shared/common/src/services/token/types.js +2 -0
  335. package/dist/shared/common/src/services/transactionSender.d.ts +24 -0
  336. package/dist/shared/common/src/services/transactionSender.js +30 -0
  337. package/dist/shared/common/src/types/cpi.d.ts +34 -0
  338. package/dist/shared/common/src/types/cpi.js +8 -0
  339. package/dist/shared/common/src/types/enums.d.ts +59 -0
  340. package/dist/shared/common/src/types/enums.js +122 -0
  341. package/dist/shared/common/src/types/general.d.ts +38 -0
  342. package/dist/shared/common/src/types/general.js +2 -0
  343. package/dist/shared/common/src/types/index.d.ts +4 -0
  344. package/dist/shared/common/src/types/index.js +20 -0
  345. package/dist/shared/common/src/types/solana.d.ts +24 -0
  346. package/dist/shared/common/src/types/solana.js +2 -0
  347. package/dist/shared/common/src/utils/accounts/index.d.ts +5 -0
  348. package/dist/shared/common/src/utils/accounts/index.js +21 -0
  349. package/dist/shared/common/src/utils/accounts/meta.d.ts +21 -0
  350. package/dist/shared/common/src/utils/accounts/meta.js +27 -0
  351. package/dist/shared/common/src/utils/accounts/pda.d.ts +2 -0
  352. package/dist/shared/common/src/utils/accounts/pda.js +17 -0
  353. package/dist/shared/common/src/utils/accounts/roles.d.ts +26 -0
  354. package/dist/shared/common/src/utils/accounts/roles.js +54 -0
  355. package/dist/shared/common/src/utils/accounts/rpc.d.ts +8 -0
  356. package/dist/shared/common/src/utils/accounts/rpc.js +30 -0
  357. package/dist/shared/common/src/utils/accounts/splBalances.d.ts +15 -0
  358. package/dist/shared/common/src/utils/accounts/splBalances.js +52 -0
  359. package/dist/shared/common/src/utils/anchor.d.ts +17 -0
  360. package/dist/shared/common/src/utils/anchor.js +29 -0
  361. package/dist/shared/common/src/utils/asyncConcurrency.d.ts +5 -0
  362. package/dist/shared/common/src/utils/asyncConcurrency.js +28 -0
  363. package/dist/shared/common/src/utils/compat.d.ts +46 -0
  364. package/dist/shared/common/src/utils/compat.js +72 -0
  365. package/dist/shared/common/src/utils/cpi/args.d.ts +69 -0
  366. package/dist/shared/common/src/utils/cpi/args.js +100 -0
  367. package/dist/shared/common/src/utils/cpi/index.d.ts +2 -0
  368. package/dist/shared/common/src/utils/cpi/index.js +18 -0
  369. package/dist/shared/common/src/utils/cpi/refs.d.ts +122 -0
  370. package/dist/shared/common/src/utils/cpi/refs.js +234 -0
  371. package/dist/shared/common/src/utils/data.d.ts +20 -0
  372. package/dist/shared/common/src/utils/data.js +27 -0
  373. package/dist/shared/common/src/utils/general.d.ts +24 -0
  374. package/dist/shared/common/src/utils/general.js +95 -0
  375. package/dist/shared/common/src/utils/index.d.ts +22 -0
  376. package/dist/shared/common/src/utils/index.js +38 -0
  377. package/dist/shared/common/src/utils/instruction.d.ts +74 -0
  378. package/dist/shared/common/src/utils/instruction.js +147 -0
  379. package/dist/shared/common/src/utils/jito.d.ts +113 -0
  380. package/dist/shared/common/src/utils/jito.js +178 -0
  381. package/dist/shared/common/src/utils/json.d.ts +5 -0
  382. package/dist/shared/common/src/utils/json.js +25 -0
  383. package/dist/shared/common/src/utils/jsonRpcFetch.d.ts +21 -0
  384. package/dist/shared/common/src/utils/jsonRpcFetch.js +134 -0
  385. package/dist/shared/common/src/utils/metadata.d.ts +107 -0
  386. package/dist/shared/common/src/utils/metadata.js +194 -0
  387. package/dist/shared/common/src/utils/numbers.d.ts +72 -0
  388. package/dist/shared/common/src/utils/numbers.js +193 -0
  389. package/dist/shared/common/src/utils/priorityFee.d.ts +18 -0
  390. package/dist/shared/common/src/utils/priorityFee.js +63 -0
  391. package/dist/shared/common/src/utils/retry.d.ts +20 -0
  392. package/dist/shared/common/src/utils/retry.js +69 -0
  393. package/dist/shared/common/src/utils/rpc.d.ts +40 -0
  394. package/dist/shared/common/src/utils/rpc.js +130 -0
  395. package/dist/shared/common/src/utils/solana.d.ts +23 -0
  396. package/dist/shared/common/src/utils/solana.js +61 -0
  397. package/dist/shared/common/src/utils/timeSeries.d.ts +18 -0
  398. package/dist/shared/common/src/utils/timeSeries.js +40 -0
  399. package/dist/shared/common/src/utils/token.d.ts +33 -0
  400. package/dist/shared/common/src/utils/token.js +82 -0
  401. package/dist/shared/common/src/utils/transaction.d.ts +154 -0
  402. package/dist/shared/common/src/utils/transaction.js +585 -0
  403. package/dist/shared/common/src/utils/transactionSplitter.d.ts +85 -0
  404. package/dist/shared/common/src/utils/transactionSplitter.js +127 -0
  405. package/dist/shared/common/src/utils/txAccountCoverage.d.ts +49 -0
  406. package/dist/shared/common/src/utils/txAccountCoverage.js +122 -0
  407. package/dist/shared/jupiter-helpers/src/api.d.ts +59 -0
  408. package/dist/shared/jupiter-helpers/src/api.js +130 -0
  409. package/dist/shared/jupiter-helpers/src/client.d.ts +79 -0
  410. package/dist/shared/jupiter-helpers/src/client.js +173 -0
  411. package/dist/shared/jupiter-helpers/src/constants.d.ts +35 -0
  412. package/dist/shared/jupiter-helpers/src/constants.js +38 -0
  413. package/dist/shared/jupiter-helpers/src/extract.d.ts +30 -0
  414. package/dist/shared/jupiter-helpers/src/extract.js +57 -0
  415. package/dist/shared/jupiter-helpers/src/index.d.ts +5 -0
  416. package/dist/shared/jupiter-helpers/src/index.js +21 -0
  417. package/dist/shared/jupiter-helpers/src/routePreInstructions.d.ts +19 -0
  418. package/dist/shared/jupiter-helpers/src/routePreInstructions.js +61 -0
  419. package/dist/shared/jupiter-helpers/src/sizeExactInForMinOutput.d.ts +70 -0
  420. package/dist/shared/jupiter-helpers/src/sizeExactInForMinOutput.js +95 -0
  421. package/dist/shared/jupiter-helpers/src/types.d.ts +66 -0
  422. package/dist/shared/jupiter-helpers/src/types.js +2 -0
  423. package/dist/shared/lending-platforms/src/constants/cache.d.ts +8 -0
  424. package/dist/shared/lending-platforms/src/constants/cache.js +11 -0
  425. package/dist/shared/lending-platforms/src/constants/index.d.ts +3 -0
  426. package/dist/shared/lending-platforms/src/constants/index.js +19 -0
  427. package/dist/shared/lending-platforms/src/constants/kamino.d.ts +7 -0
  428. package/dist/shared/lending-platforms/src/constants/kamino.js +83 -0
  429. package/dist/shared/lending-platforms/src/constants/lendingPosition.d.ts +7 -0
  430. package/dist/shared/lending-platforms/src/constants/lendingPosition.js +10 -0
  431. package/dist/shared/lending-platforms/src/data/accounts/index.d.ts +2 -0
  432. package/dist/shared/lending-platforms/src/data/accounts/index.js +18 -0
  433. package/dist/shared/lending-platforms/src/data/accounts/kamino.d.ts +42 -0
  434. package/dist/shared/lending-platforms/src/data/accounts/kamino.js +104 -0
  435. package/dist/shared/lending-platforms/src/data/accounts/lpAccountsBase.d.ts +7 -0
  436. package/dist/shared/lending-platforms/src/data/accounts/lpAccountsBase.js +9 -0
  437. package/dist/shared/lending-platforms/src/data/incentive/incentiveBase.d.ts +35 -0
  438. package/dist/shared/lending-platforms/src/data/incentive/incentiveBase.js +26 -0
  439. package/dist/shared/lending-platforms/src/data/incentive/index.d.ts +2 -0
  440. package/dist/shared/lending-platforms/src/data/incentive/index.js +18 -0
  441. package/dist/shared/lending-platforms/src/data/incentive/kamino.d.ts +55 -0
  442. package/dist/shared/lending-platforms/src/data/incentive/kamino.js +101 -0
  443. package/dist/shared/lending-platforms/src/data/index.d.ts +6 -0
  444. package/dist/shared/lending-platforms/src/data/index.js +22 -0
  445. package/dist/shared/lending-platforms/src/data/instructions/index.d.ts +3 -0
  446. package/dist/shared/lending-platforms/src/data/instructions/index.js +19 -0
  447. package/dist/shared/lending-platforms/src/data/instructions/kamino.d.ts +55 -0
  448. package/dist/shared/lending-platforms/src/data/instructions/kamino.js +630 -0
  449. package/dist/shared/lending-platforms/src/data/instructions/lpInstructionsBase.d.ts +175 -0
  450. package/dist/shared/lending-platforms/src/data/instructions/lpInstructionsBase.js +192 -0
  451. package/dist/shared/lending-platforms/src/data/instructions/types.d.ts +7 -0
  452. package/dist/shared/lending-platforms/src/data/instructions/types.js +2 -0
  453. package/dist/shared/lending-platforms/src/data/platform/index.d.ts +2 -0
  454. package/dist/shared/lending-platforms/src/data/platform/index.js +18 -0
  455. package/dist/shared/lending-platforms/src/data/platform/kamino.d.ts +59 -0
  456. package/dist/shared/lending-platforms/src/data/platform/kamino.js +206 -0
  457. package/dist/shared/lending-platforms/src/data/platform/lpDataBase.d.ts +35 -0
  458. package/dist/shared/lending-platforms/src/data/platform/lpDataBase.js +31 -0
  459. package/dist/shared/lending-platforms/src/data/reserve/index.d.ts +2 -0
  460. package/dist/shared/lending-platforms/src/data/reserve/index.js +18 -0
  461. package/dist/shared/lending-platforms/src/data/reserve/kamino.d.ts +45 -0
  462. package/dist/shared/lending-platforms/src/data/reserve/kamino.js +141 -0
  463. package/dist/shared/lending-platforms/src/data/reserve/reserveBase.d.ts +114 -0
  464. package/dist/shared/lending-platforms/src/data/reserve/reserveBase.js +125 -0
  465. package/dist/shared/lending-platforms/src/data/userPosition/index.d.ts +2 -0
  466. package/dist/shared/lending-platforms/src/data/userPosition/index.js +18 -0
  467. package/dist/shared/lending-platforms/src/data/userPosition/kamino.d.ts +15 -0
  468. package/dist/shared/lending-platforms/src/data/userPosition/kamino.js +45 -0
  469. package/dist/shared/lending-platforms/src/data/userPosition/userPositionBase.d.ts +50 -0
  470. package/dist/shared/lending-platforms/src/data/userPosition/userPositionBase.js +63 -0
  471. package/dist/shared/lending-platforms/src/index.d.ts +5 -0
  472. package/dist/shared/lending-platforms/src/index.js +21 -0
  473. package/dist/shared/lending-platforms/src/services/client/index.d.ts +2 -0
  474. package/dist/shared/lending-platforms/src/services/client/index.js +18 -0
  475. package/dist/shared/lending-platforms/src/services/client/kamino.d.ts +53 -0
  476. package/dist/shared/lending-platforms/src/services/client/kamino.js +142 -0
  477. package/dist/shared/lending-platforms/src/services/client/lpClientBase.d.ts +66 -0
  478. package/dist/shared/lending-platforms/src/services/client/lpClientBase.js +19 -0
  479. package/dist/shared/lending-platforms/src/services/flashLoan/flashLoanBase.d.ts +49 -0
  480. package/dist/shared/lending-platforms/src/services/flashLoan/flashLoanBase.js +16 -0
  481. package/dist/shared/lending-platforms/src/services/flashLoan/index.d.ts +2 -0
  482. package/dist/shared/lending-platforms/src/services/flashLoan/index.js +18 -0
  483. package/dist/shared/lending-platforms/src/services/flashLoan/kamino.d.ts +11 -0
  484. package/dist/shared/lending-platforms/src/services/flashLoan/kamino.js +85 -0
  485. package/dist/shared/lending-platforms/src/services/index.d.ts +5 -0
  486. package/dist/shared/lending-platforms/src/services/index.js +21 -0
  487. package/dist/shared/lending-platforms/src/services/lendingPosition/index.d.ts +2 -0
  488. package/dist/shared/lending-platforms/src/services/lendingPosition/index.js +18 -0
  489. package/dist/shared/lending-platforms/src/services/lendingPosition/lendingPositionManager.d.ts +117 -0
  490. package/dist/shared/lending-platforms/src/services/lendingPosition/lendingPositionManager.js +342 -0
  491. package/dist/shared/lending-platforms/src/services/lendingPosition/types.d.ts +40 -0
  492. package/dist/shared/lending-platforms/src/services/lendingPosition/types.js +2 -0
  493. package/dist/shared/lending-platforms/src/services/leverage/index.d.ts +2 -0
  494. package/dist/shared/lending-platforms/src/services/leverage/index.js +18 -0
  495. package/dist/shared/lending-platforms/src/services/leverage/leverageService.d.ts +104 -0
  496. package/dist/shared/lending-platforms/src/services/leverage/leverageService.js +437 -0
  497. package/dist/shared/lending-platforms/src/services/leverage/types.d.ts +261 -0
  498. package/dist/shared/lending-platforms/src/services/leverage/types.js +2 -0
  499. package/dist/shared/lending-platforms/src/services/reservesManager.d.ts +53 -0
  500. package/dist/shared/lending-platforms/src/services/reservesManager.js +112 -0
  501. package/dist/shared/lending-platforms/src/types/general.d.ts +37 -0
  502. package/dist/shared/lending-platforms/src/types/general.js +8 -0
  503. package/dist/shared/lending-platforms/src/types/index.d.ts +2 -0
  504. package/dist/shared/lending-platforms/src/types/index.js +18 -0
  505. package/dist/shared/lending-platforms/src/types/kamino.d.ts +10 -0
  506. package/dist/shared/lending-platforms/src/types/kamino.js +2 -0
  507. package/dist/shared/lending-platforms/src/utils/accounts.d.ts +16 -0
  508. package/dist/shared/lending-platforms/src/utils/accounts.js +36 -0
  509. package/dist/shared/lending-platforms/src/utils/cache.d.ts +3 -0
  510. package/dist/shared/lending-platforms/src/utils/cache.js +11 -0
  511. package/dist/shared/lending-platforms/src/utils/index.d.ts +6 -0
  512. package/dist/shared/lending-platforms/src/utils/index.js +22 -0
  513. package/dist/shared/lending-platforms/src/utils/kamino.d.ts +87 -0
  514. package/dist/shared/lending-platforms/src/utils/kamino.js +190 -0
  515. package/dist/shared/lending-platforms/src/utils/lendingPlatform.d.ts +6 -0
  516. package/dist/shared/lending-platforms/src/utils/lendingPlatform.js +16 -0
  517. package/dist/shared/lending-platforms/src/utils/math.d.ts +47 -0
  518. package/dist/shared/lending-platforms/src/utils/math.js +123 -0
  519. package/dist/shared/lending-platforms/src/utils/scope.d.ts +38 -0
  520. package/dist/shared/lending-platforms/src/utils/scope.js +144 -0
  521. package/dist/shared/oracle-service/src/constants/index.d.ts +3 -0
  522. package/dist/shared/oracle-service/src/constants/index.js +19 -0
  523. package/dist/shared/oracle-service/src/constants/pyth.d.ts +7 -0
  524. package/dist/shared/oracle-service/src/constants/pyth.js +71 -0
  525. package/dist/shared/oracle-service/src/constants/splStake.d.ts +2 -0
  526. package/dist/shared/oracle-service/src/constants/splStake.js +6 -0
  527. package/dist/shared/oracle-service/src/constants/switchboard.d.ts +7 -0
  528. package/dist/shared/oracle-service/src/constants/switchboard.js +10 -0
  529. package/dist/shared/oracle-service/src/feeds/custom.d.ts +30 -0
  530. package/dist/shared/oracle-service/src/feeds/custom.js +56 -0
  531. package/dist/shared/oracle-service/src/feeds/jupiter.d.ts +7 -0
  532. package/dist/shared/oracle-service/src/feeds/jupiter.js +43 -0
  533. package/dist/shared/oracle-service/src/feeds/priceBase.d.ts +13 -0
  534. package/dist/shared/oracle-service/src/feeds/priceBase.js +25 -0
  535. package/dist/shared/oracle-service/src/feeds/pyth.d.ts +8 -0
  536. package/dist/shared/oracle-service/src/feeds/pyth.js +59 -0
  537. package/dist/shared/oracle-service/src/feeds/splStake.d.ts +26 -0
  538. package/dist/shared/oracle-service/src/feeds/splStake.js +99 -0
  539. package/dist/shared/oracle-service/src/feeds/switchboard.d.ts +6 -0
  540. package/dist/shared/oracle-service/src/feeds/switchboard.js +11 -0
  541. package/dist/shared/oracle-service/src/index.d.ts +5 -0
  542. package/dist/shared/oracle-service/src/index.js +26 -0
  543. package/dist/shared/oracle-service/src/oracle.d.ts +22 -0
  544. package/dist/shared/oracle-service/src/oracle.js +104 -0
  545. package/dist/shared/oracle-service/src/types.d.ts +4 -0
  546. package/dist/shared/oracle-service/src/types.js +2 -0
  547. package/dist/shared/oracle-service/src/utils/general.d.ts +20 -0
  548. package/dist/shared/oracle-service/src/utils/general.js +65 -0
  549. package/dist/shared/oracle-service/src/utils/index.d.ts +1 -0
  550. package/dist/shared/oracle-service/src/utils/index.js +17 -0
  551. package/dist/shared/perena-helpers/src/accounts.d.ts +7 -0
  552. package/dist/shared/perena-helpers/src/accounts.js +12 -0
  553. package/dist/shared/perena-helpers/src/client.d.ts +299 -0
  554. package/dist/shared/perena-helpers/src/client.js +680 -0
  555. package/dist/shared/perena-helpers/src/constants.d.ts +5 -0
  556. package/dist/shared/perena-helpers/src/constants.js +8 -0
  557. package/dist/shared/perena-helpers/src/cpi/burn.d.ts +27 -0
  558. package/dist/shared/perena-helpers/src/cpi/burn.js +22 -0
  559. package/dist/shared/perena-helpers/src/cpi/index.d.ts +3 -0
  560. package/dist/shared/perena-helpers/src/cpi/index.js +19 -0
  561. package/dist/shared/perena-helpers/src/cpi/mint.d.ts +27 -0
  562. package/dist/shared/perena-helpers/src/cpi/mint.js +22 -0
  563. package/dist/shared/perena-helpers/src/cpi/requestUnstake.d.ts +19 -0
  564. package/dist/shared/perena-helpers/src/cpi/requestUnstake.js +16 -0
  565. package/dist/shared/perena-helpers/src/index.d.ts +5 -0
  566. package/dist/shared/perena-helpers/src/index.js +21 -0
  567. package/dist/shared/perena-helpers/src/utils.d.ts +9 -0
  568. package/dist/shared/perena-helpers/src/utils.js +54 -0
  569. package/dist/shared/swap-aggregator/src/aggSwapClient.d.ts +71 -0
  570. package/dist/shared/swap-aggregator/src/aggSwapClient.js +103 -0
  571. package/dist/shared/swap-aggregator/src/index.d.ts +1 -0
  572. package/dist/shared/swap-aggregator/src/index.js +17 -0
  573. package/docs/launchingToken.md +57 -0
  574. package/package.json +75 -0
  575. package/scripts/asyncBurn.ts +155 -0
  576. package/scripts/burnToken.ts +120 -0
  577. package/scripts/claimIncentives.ts +125 -0
  578. package/scripts/closeCpiPlans.ts +113 -0
  579. package/scripts/collectInterest.ts +194 -0
  580. package/scripts/collectProtocolFees.ts +144 -0
  581. package/scripts/computeOptimalAllocations.ts +117 -0
  582. package/scripts/createToken.ts +100 -0
  583. package/scripts/createTokenLendingPosition.ts +204 -0
  584. package/scripts/createYieldingBank.ts +91 -0
  585. package/scripts/decreaseCarryPositions.ts +359 -0
  586. package/scripts/depositUnlentCollateral.ts +106 -0
  587. package/scripts/emergency/deleverageAll.ts +287 -0
  588. package/scripts/emergency/triggerCircuitBreaker.ts +87 -0
  589. package/scripts/env.ts +4 -0
  590. package/scripts/findTxs.ts +169 -0
  591. package/scripts/increaseCarryPositions.ts +134 -0
  592. package/scripts/inspect/format.ts +576 -0
  593. package/scripts/inspect.ts +147 -0
  594. package/scripts/localUtils.ts +249 -0
  595. package/scripts/mintToken.ts +126 -0
  596. package/scripts/processAsyncBurns.ts +89 -0
  597. package/scripts/rebalanceToken.ts +269 -0
  598. package/scripts/rebalanceYieldingBank.ts +183 -0
  599. package/scripts/recollateralizeLoss.ts +79 -0
  600. package/scripts/refresh.ts +156 -0
  601. package/scripts/updateFees.ts +486 -0
  602. package/scripts/updateGeneralLut.ts +36 -0
  603. package/scripts/updateLendingPositionConfig.ts +172 -0
  604. package/scripts/updateTokenLuts.ts +36 -0
  605. package/scripts/updateTokenMetadata.ts +199 -0
  606. package/scripts/updateYieldingBankConfig.ts +100 -0
  607. package/scripts/withdrawUnlentCollateral.ts +178 -0
  608. package/src/client/account.ts +503 -0
  609. package/src/client/builders/args.ts +381 -0
  610. package/src/client/builders/asyncBurnBuilder.ts +305 -0
  611. package/src/client/builders/base.ts +303 -0
  612. package/src/client/builders/burnTokenBuilder.ts +258 -0
  613. package/src/client/builders/claimIncentivesBuilder.ts +211 -0
  614. package/src/client/builders/collectFeesBuilder.ts +52 -0
  615. package/src/client/builders/collectInterestBuilder.ts +165 -0
  616. package/src/client/builders/createCpiPlanBuilder.ts +21 -0
  617. package/src/client/builders/createTokenBuilder.ts +73 -0
  618. package/src/client/builders/createTokenLendingPositionBuilder.ts +219 -0
  619. package/src/client/builders/createYieldingBankAllocationBuilder.ts +32 -0
  620. package/src/client/builders/createYieldingBankBuilder.ts +39 -0
  621. package/src/client/builders/decreaseCarryPositionBuilder.ts +162 -0
  622. package/src/client/builders/depositUnlentCollateralBuilder.ts +95 -0
  623. package/src/client/builders/increaseCarryPositionBuilder.ts +105 -0
  624. package/src/client/builders/index.ts +37 -0
  625. package/src/client/builders/mintTokenBuilder.ts +137 -0
  626. package/src/client/builders/rebalanceTokenBuilder.ts +356 -0
  627. package/src/client/builders/rebalanceYieldingBankBuilder.ts +109 -0
  628. package/src/client/builders/recollateralizeLossBuilder.ts +367 -0
  629. package/src/client/builders/refreshTokenStateBuilder.ts +153 -0
  630. package/src/client/builders/refreshTokensBuilder.ts +82 -0
  631. package/src/client/builders/refreshYieldingBankBuilder.ts +42 -0
  632. package/src/client/builders/resetTokenBurnRateLimitBuilder.ts +21 -0
  633. package/src/client/builders/setTokenCircuitBreakerBuilder.ts +40 -0
  634. package/src/client/builders/setYieldingBankCircuitBreakerBuilder.ts +37 -0
  635. package/src/client/builders/updateLendingPositionConfigBuilder.ts +33 -0
  636. package/src/client/builders/updateTokenConfigurationBuilder.ts +50 -0
  637. package/src/client/builders/updateTokenMetadataBuilder.ts +24 -0
  638. package/src/client/builders/updateYieldingBankConfigBuilder.ts +32 -0
  639. package/src/client/builders/utils.ts +26 -0
  640. package/src/client/client.ts +264 -0
  641. package/src/client/externalLiquidityResolver.ts +54 -0
  642. package/src/client/index.ts +20 -0
  643. package/src/client/lendingPlatformClients.ts +50 -0
  644. package/src/client/pda.ts +102 -0
  645. package/src/client/plans/collectInterest.ts +207 -0
  646. package/src/client/plans/decreaseCarryPosition.ts +226 -0
  647. package/src/client/routes/collectInterest.ts +56 -0
  648. package/src/client/transaction.ts +106 -0
  649. package/src/client/types/builders.ts +19 -0
  650. package/src/client/types/enums.ts +47 -0
  651. package/src/client/types/general.ts +117 -0
  652. package/src/client/types/index.ts +6 -0
  653. package/src/client/types/ix.ts +452 -0
  654. package/src/client/types/planTypes/collectInterest.ts +97 -0
  655. package/src/client/types/planTypes/common.ts +31 -0
  656. package/src/client/types/planTypes/decreaseCarryPosition.ts +134 -0
  657. package/src/client/types/planTypes/index.ts +3 -0
  658. package/src/client/types/tx.ts +409 -0
  659. package/src/constants/configs/allocations.ts +30 -0
  660. package/src/constants/configs/carryTradePresets.ts +164 -0
  661. package/src/constants/configs/index.ts +2 -0
  662. package/src/constants/general.ts +141 -0
  663. package/src/constants/index.ts +3 -0
  664. package/src/constants/lycTokenMetadata.ts +52 -0
  665. package/src/decoders/decodeTransaction.ts +319 -0
  666. package/src/decoders/discriminators.ts +10 -0
  667. package/src/decoders/idlAccounts.ts +75 -0
  668. package/src/decoders/index.ts +15 -0
  669. package/src/decoders/innerCpis.ts +262 -0
  670. package/src/decoders/lycInstructionNames.ts +73 -0
  671. package/src/decoders/programIds.ts +12 -0
  672. package/src/decoders/solana.ts +25 -0
  673. package/src/decoders/transactionPayload.ts +41 -0
  674. package/src/decoders/types.ts +60 -0
  675. package/src/errors.ts +195 -0
  676. package/src/idl/long_yield_carry.ts +14648 -0
  677. package/src/index.ts +10 -0
  678. package/src/metrics/index.ts +1 -0
  679. package/src/metrics/protocolMetrics.ts +976 -0
  680. package/src/models/index.ts +9 -0
  681. package/src/models/lycToken.ts +380 -0
  682. package/src/models/yieldingBank.ts +127 -0
  683. package/src/services/allocation/allocationService.ts +823 -0
  684. package/src/services/allocation/index.ts +2 -0
  685. package/src/services/allocation/types.ts +27 -0
  686. package/src/services/carry/carryAllocationConfig.ts +266 -0
  687. package/src/services/carry/index.ts +2 -0
  688. package/src/services/carry/lycLendingPositionManager.ts +167 -0
  689. package/src/services/index.ts +5 -0
  690. package/src/services/lendingPosition/index.ts +5 -0
  691. package/src/services/lendingPosition/lendingPositionService.ts +328 -0
  692. package/src/services/rebalance/index.ts +2 -0
  693. package/src/services/rebalance/token/index.ts +1 -0
  694. package/src/services/rebalance/token/tokenRebalanceService.ts +142 -0
  695. package/src/services/rebalance/yieldingBank/index.ts +3 -0
  696. package/src/services/rebalance/yieldingBank/planner.ts +215 -0
  697. package/src/services/rebalance/yieldingBank/strategy.ts +41 -0
  698. package/src/services/rebalance/yieldingBank/types.ts +41 -0
  699. package/src/services/redemption/index.ts +9 -0
  700. package/src/services/redemption/redemptionService.ts +758 -0
  701. package/src/types/enriched.ts +187 -0
  702. package/src/types/index.ts +1 -0
  703. package/src/utils/cache.ts +12 -0
  704. package/src/utils/data.ts +65 -0
  705. package/src/utils/enrichment.ts +330 -0
  706. package/src/utils/feeDripMetrics.ts +146 -0
  707. package/src/utils/general.ts +54 -0
  708. package/src/utils/index.ts +13 -0
  709. package/src/utils/ix.ts +227 -0
  710. package/src/utils/lendingPosition.ts +221 -0
  711. package/src/utils/lookupTables.ts +309 -0
  712. package/src/utils/lycData.ts +321 -0
  713. package/src/utils/timelock.ts +63 -0
  714. package/src/utils/tokenFeeMath.ts +25 -0
  715. package/src/utils/transactions.ts +109 -0
  716. package/src/utils/yieldingBank.ts +38 -0
  717. package/tsconfig.json +11 -0
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ require("./env");
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const common_1 = require("common");
40
+ const client_1 = require("../src/client/client");
41
+ const general_1 = require("../src/constants/general");
42
+ const localUtils_1 = require("./localUtils");
43
+ /**
44
+ * Updates on-chain Metaplex metadata (name, symbol, URI) for a token's mint.
45
+ *
46
+ * Usage:
47
+ * pnpm run update-token-metadata -- test|prod <TOKEN_PDA|COLLATERAL_SYMBOL> [--name NAME] [--symbol SYMBOL] [--uri URI] [--json PATH] [KEYPAIR_JSON]
48
+ *
49
+ * At least one of --name, --symbol, --uri, or --json must be provided.
50
+ * Omitted fields retain their current on-chain values.
51
+ * When --json is provided, its fields (name, symbol, uri) override individual flags.
52
+ *
53
+ * Examples:
54
+ * pnpm run update-token-metadata -- test SOL --name "ySOL" --symbol "ySOL" --uri "https://example.com/ysol.json"
55
+ * pnpm run update-token-metadata -- test SOL --name "Long Yield SOL"
56
+ * pnpm run update-token-metadata -- prod 7fEA5HTsveMn5HfnXN82nmTniXeWDs6YJuvLyk7qFcNG --uri "https://example.com/new-metadata.json"
57
+ * pnpm run update-token-metadata -- prod SOL --json ./docs/example-metadata.json
58
+ */
59
+ async function main() {
60
+ const { env, rest } = (0, localUtils_1.parseCliEnvironmentAndRest)("update-token-metadata");
61
+ const { rest: args, keypairPath: keypairFlagPath } = (0, localUtils_1.extractKeypairFlag)(rest);
62
+ const { tokenArg, flags, keypairArg } = parseArgs(args);
63
+ const keypairPath = keypairFlagPath ?? keypairArg ?? general_1.LYC_ADMIN_KEYPAIR_FP[env];
64
+ const { signer: adminSigner, web3Keypair } = await (0, common_1.loadLocalKeypairWithWeb3)(keypairPath);
65
+ const provider = (0, common_1.createDefaultAnchorProvider)(env, web3Keypair);
66
+ const client = new client_1.LongYieldCarryClient(provider, env);
67
+ const { tokenPda, collateralSymbol } = await (0, localUtils_1.resolveTokenPda)(client, tokenArg);
68
+ const token = await client.account.fetchToken(tokenPda, { fresh: true });
69
+ const mint = token.mint;
70
+ const metadataPda = await (0, common_1.deriveMetadataPda)(mint);
71
+ const connection = provider.connection;
72
+ const currentMetadata = await (0, common_1.fetchTokenMetadata)(connection, mint);
73
+ const isCreate = currentMetadata === null;
74
+ const currentName = currentMetadata?.name ?? "";
75
+ const currentSymbol = currentMetadata?.symbol ?? "";
76
+ const currentUri = currentMetadata?.uri ?? "";
77
+ const newName = flags.name ?? currentName;
78
+ const newSymbol = flags.symbol ?? currentSymbol;
79
+ const newUri = flags.uri ?? currentUri;
80
+ console.log(`Token PDA: ${tokenPda} (collateral: ${collateralSymbol ?? "unknown"})`);
81
+ console.log(`Mint: ${mint}`);
82
+ console.log(`Metadata: ${metadataPda}`);
83
+ console.log(`Action: ${isCreate ? "CREATE (no metadata account exists)" : "UPDATE"}`);
84
+ console.log("");
85
+ if (!isCreate) {
86
+ console.log("Current metadata:");
87
+ console.log(` name: "${currentName}"`);
88
+ console.log(` symbol: "${currentSymbol}"`);
89
+ console.log(` uri: "${currentUri}"`);
90
+ console.log("");
91
+ }
92
+ console.log("New metadata:");
93
+ console.log(` name: "${newName}"${flags.name || isCreate ? "" : " (unchanged)"}`);
94
+ console.log(` symbol: "${newSymbol}"${flags.symbol || isCreate ? "" : " (unchanged)"}`);
95
+ console.log(` uri: "${newUri}"${flags.uri || isCreate ? "" : " (unchanged)"}`);
96
+ if (!isCreate &&
97
+ newName === currentName &&
98
+ newSymbol === currentSymbol &&
99
+ newUri === currentUri) {
100
+ console.log("\nNo changes detected — skipping transaction.");
101
+ return;
102
+ }
103
+ const cpiData = isCreate
104
+ ? await (0, common_1.buildCreateMetadataCpiData)({
105
+ mint,
106
+ mintAuthority: tokenPda,
107
+ payer: adminSigner.address,
108
+ updateAuthority: tokenPda,
109
+ data: { name: newName, symbol: newSymbol, uri: newUri },
110
+ })
111
+ : await (0, common_1.buildUpdateMetadataCpiData)({
112
+ mint,
113
+ updateAuthority: tokenPda,
114
+ data: { name: newName, symbol: newSymbol, uri: newUri },
115
+ });
116
+ const { accounts, refs } = (0, common_1.createCpiRefs)([cpiData]);
117
+ const plan = await client.tx.updateTokenMetadata.getTx({
118
+ token: tokenPda,
119
+ mint,
120
+ params: {
121
+ ixRefs: refs,
122
+ remainingAccounts: accounts,
123
+ },
124
+ });
125
+ const sig = await client.sendTransaction(adminSigner, plan);
126
+ console.log("");
127
+ console.log("update_token_metadata succeeded.");
128
+ console.log(" environment:", env);
129
+ console.log(" admin:", adminSigner.address);
130
+ console.log(" signature:", sig);
131
+ }
132
+ function parseArgs(rest) {
133
+ if (rest.length < 1) {
134
+ printUsageAndExit();
135
+ }
136
+ const tokenArg = rest[0];
137
+ const flags = {};
138
+ let keypairArg;
139
+ let i = 1;
140
+ while (i < rest.length) {
141
+ const arg = rest[i];
142
+ if (arg === "--name" && i + 1 < rest.length) {
143
+ flags.name = rest[++i];
144
+ }
145
+ else if (arg === "--symbol" && i + 1 < rest.length) {
146
+ flags.symbol = rest[++i];
147
+ }
148
+ else if (arg === "--uri" && i + 1 < rest.length) {
149
+ flags.uri = rest[++i];
150
+ }
151
+ else if (arg === "--json" && i + 1 < rest.length) {
152
+ const jsonPath = path.resolve(process.env.INIT_CWD ?? process.cwd(), rest[++i]);
153
+ const raw = JSON.parse(fs.readFileSync(jsonPath, "utf-8"));
154
+ if (raw.name)
155
+ flags.name = raw.name;
156
+ if (raw.symbol)
157
+ flags.symbol = raw.symbol;
158
+ if (raw.uri)
159
+ flags.uri = raw.uri;
160
+ }
161
+ else if (!arg.startsWith("--") && !keypairArg) {
162
+ keypairArg = arg;
163
+ }
164
+ else {
165
+ console.error(`Unknown or incomplete argument: ${arg}`);
166
+ printUsageAndExit();
167
+ }
168
+ i++;
169
+ }
170
+ if (!flags.name && !flags.symbol && !flags.uri) {
171
+ console.error("Error: At least one of --name, --symbol, --uri, or --json must be provided.\n");
172
+ printUsageAndExit();
173
+ }
174
+ return { tokenArg, flags, keypairArg };
175
+ }
176
+ function printUsageAndExit() {
177
+ console.error("Usage: pnpm run update-token-metadata -- [test|prod] <TOKEN_PDA|COLLATERAL_SYMBOL> [--name NAME] [--symbol SYMBOL] [--uri URI] [--json PATH] [KEYPAIR_JSON]\n\n" +
178
+ "Arguments:\n" +
179
+ " TOKEN_PDA|COLLATERAL_SYMBOL Token PDA address or collateral symbol (e.g. SOL)\n" +
180
+ " --name NAME New token name\n" +
181
+ " --symbol SYMBOL New token symbol\n" +
182
+ " --uri URI New metadata URI\n" +
183
+ " --json PATH Path to a JSON file with name/symbol/uri fields\n" +
184
+ " KEYPAIR_JSON Optional path to admin keypair JSON\n\n" +
185
+ "At least one of --name, --symbol, --uri, or --json must be provided.\n" +
186
+ "Omitted fields retain their current on-chain values.");
187
+ process.exit(1);
188
+ }
189
+ main()
190
+ .then(() => console.log("Finished"))
191
+ .catch((err) => {
192
+ console.error(err);
193
+ process.exit(1);
194
+ });
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("./env");
4
+ const kit_1 = require("@solana/kit");
5
+ const common_1 = require("common");
6
+ const client_1 = require("../src/client/client");
7
+ const general_1 = require("../src/constants/general");
8
+ const localUtils_1 = require("./localUtils");
9
+ const USAGE = `Usage:
10
+
11
+ pnpm run update-yb-config -- [test|prod] <YIELDING_BANK> <REDEMPTION_MINT>
12
+
13
+ YIELDING_BANK: yielding bank PDA address
14
+ REDEMPTION_MINT: new default redemption mint (common registry symbol like USD* or a mint address)
15
+
16
+ Examples:
17
+ pnpm run update-yb-config -- test 7fEA5HTs... USD*`;
18
+ function resolveMint(arg) {
19
+ const trimmed = arg.trim();
20
+ const symbol = trimmed.toUpperCase();
21
+ const mintInfo = common_1.mints.get(symbol);
22
+ if (mintInfo) {
23
+ return { mint: mintInfo.address, label: symbol };
24
+ }
25
+ if (!(0, localUtils_1.isValidPubkeyString)(trimmed)) {
26
+ throw new Error(`Unknown mint "${arg}". Use a common mint symbol (for example USD*) or a mint address.`);
27
+ }
28
+ return { mint: (0, kit_1.address)(trimmed), label: trimmed };
29
+ }
30
+ async function main() {
31
+ const { env, rest } = (0, localUtils_1.parseCliEnvironmentAndRest)("update-yb-config");
32
+ const { rest: args, keypairPath: keypairFlagPath } = (0, localUtils_1.extractKeypairFlag)(rest);
33
+ const yieldingBankArg = args[0];
34
+ const redemptionMintArg = args[1];
35
+ if (yieldingBankArg === undefined || redemptionMintArg === undefined) {
36
+ console.error(USAGE);
37
+ process.exit(1);
38
+ }
39
+ if (!(0, localUtils_1.isValidPubkeyString)(yieldingBankArg)) {
40
+ console.error(`Invalid yielding bank address "${yieldingBankArg}".`);
41
+ process.exit(1);
42
+ }
43
+ let redemptionMint;
44
+ let redemptionLabel;
45
+ try {
46
+ ({ mint: redemptionMint, label: redemptionLabel } = resolveMint(redemptionMintArg));
47
+ }
48
+ catch (err) {
49
+ console.error(err instanceof Error ? err.message : err);
50
+ process.exit(1);
51
+ }
52
+ const yieldingBank = (0, kit_1.address)(yieldingBankArg);
53
+ const { signer: adminSigner, web3Keypair } = await (0, common_1.loadLocalKeypairWithWeb3)(keypairFlagPath ?? general_1.LYC_ADMIN_KEYPAIR_FP[env]);
54
+ const provider = (0, common_1.createDefaultAnchorProvider)(env, web3Keypair);
55
+ const client = new client_1.LongYieldCarryClient(provider, env);
56
+ const bank = await client.account.fetchYieldingBank(yieldingBank);
57
+ const currentRedemptionMint = bank.data.config.defaultRedemptionMint;
58
+ console.log("Yielding bank:", yieldingBank);
59
+ console.log(" base mint:", bank.baseMint);
60
+ console.log("");
61
+ console.log("Current config:");
62
+ console.log(" defaultRedemptionMint:", currentRedemptionMint);
63
+ console.log("");
64
+ console.log("New config:");
65
+ console.log(" defaultRedemptionMint:", redemptionMint, `(${redemptionLabel})`);
66
+ const plan = await client.tx.updateYieldingBankConfig.getTx({
67
+ yieldingBank,
68
+ params: {
69
+ defaultRedemptionMint: redemptionMint,
70
+ },
71
+ });
72
+ const sig = await client.sendTransaction(adminSigner, plan);
73
+ console.log("");
74
+ console.log("update_yielding_bank_config succeeded.");
75
+ console.log(" environment:", env);
76
+ console.log(" admin (must match on-chain):", general_1.PROTOCOL_ADMIN[env]);
77
+ console.log(" signature:", sig);
78
+ }
79
+ main()
80
+ .then(() => console.log("Finished"))
81
+ .catch((err) => {
82
+ console.error(err);
83
+ process.exit(1);
84
+ });
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("./env");
4
+ const common_1 = require("common");
5
+ const client_1 = require("../src/client/client");
6
+ const general_1 = require("../src/constants/general");
7
+ const lycLendingPositionManager_1 = require("../src/services/carry/lycLendingPositionManager");
8
+ const localUtils_1 = require("./localUtils");
9
+ /** Mirrors on-chain `UTILIZATION_RATE_DEVIATION_THRESHOLD_BPS` (150 = 1.5%). */
10
+ const UTILIZATION_RATE_DEVIATION_THRESHOLD_BPS = 150;
11
+ const USAGE = `Withdraw collateral from a lending position into the token PDA's unlent reserves.
12
+
13
+ Requires the **manager** keypair. Withdraws the maximum collateral allowed without
14
+ pushing utilization above the position's target band (same constraint as
15
+ top_up_unlent_reserves on-chain). Debt-free positions withdraw all supply.
16
+
17
+ Usage:
18
+ pnpm run withdraw-unlent -- [test|prod] <TOKEN> <LP_INDEX|DEBT_SYMBOL> [KEYPAIR_JSON]
19
+ From repo root: pnpm run lyc:withdraw-unlent -- [test|prod] <TOKEN> <LP_INDEX|DEBT_SYMBOL] [KEYPAIR_JSON]
20
+
21
+ Examples:
22
+ pnpm run withdraw-unlent -- test SOL USDC
23
+ pnpm run withdraw-unlent -- test SOL 0 --keypair ~/.config/solana/tp-lyc-manager-test.json
24
+
25
+ Keypair defaults to ~/.config/solana/tp-lyc-manager-{env}.json`;
26
+ async function main() {
27
+ const { env, rest } = (0, localUtils_1.parseCliEnvironmentAndRest)("withdraw-unlent");
28
+ const { rest: args, keypairPath: keypairFlagPath } = (0, localUtils_1.extractKeypairFlag)(rest);
29
+ const tokenArg = args[0];
30
+ const positionIdentifier = args[1];
31
+ if (tokenArg === undefined || positionIdentifier === undefined) {
32
+ console.error(USAGE);
33
+ process.exit(1);
34
+ }
35
+ if (args.length > 3) {
36
+ console.error(USAGE);
37
+ process.exit(1);
38
+ }
39
+ const keypairPath = keypairFlagPath ?? args[2] ?? general_1.LYC_MANAGER_KEYPAIR_FP[env];
40
+ const { signer: managerSigner, web3Keypair } = await (0, common_1.loadLocalKeypairWithWeb3)(keypairPath);
41
+ const provider = (0, common_1.createDefaultAnchorProvider)(env, web3Keypair);
42
+ const client = new client_1.LongYieldCarryClient(provider, env);
43
+ const { tokenPda, collateralSymbol } = await (0, localUtils_1.resolveTokenPda)(client, tokenArg);
44
+ let token = await client.account.fetchToken(tokenPda, { fresh: true });
45
+ const lendingPositionIndex = (0, localUtils_1.resolveLendingPositionIndex)(token, positionIdentifier, tokenPda);
46
+ const position = token.data.lendingPositions[lendingPositionIndex];
47
+ const debtMint = (0, common_1.fromWeb3Pk)(position.accounting.debt.mint);
48
+ const debtLabel = common_1.mints.get(debtMint)?.symbol ?? debtMint;
49
+ console.log("Withdraw unlent collateral");
50
+ console.log(" environment:", env);
51
+ console.log(" manager:", managerSigner.address);
52
+ console.log(" token:", tokenPda, collateralSymbol ? `(${collateralSymbol})` : "");
53
+ console.log(" lending position index:", lendingPositionIndex);
54
+ console.log(" debt mint:", debtLabel);
55
+ const collateralRaw = (0, common_1.toBigInt)(position.accounting.collateral);
56
+ if (collateralRaw === BigInt(0)) {
57
+ console.error("Lending position has no supplied collateral to withdraw.");
58
+ process.exit(1);
59
+ }
60
+ const collateralUiBefore = (0, common_1.toUiAmount)(collateralRaw, token.data.collateral.decimals);
61
+ console.log(` supplied collateral: ${collateralUiBefore}`);
62
+ console.log("\nRefreshing token state...");
63
+ const refreshPlan = await client.tx.refreshTokens.getTx({
64
+ signer: managerSigner.address,
65
+ params: { tokens: [tokenPda] },
66
+ });
67
+ await client.sendTransaction(managerSigner, refreshPlan);
68
+ client.clearAllCache();
69
+ token = await client.account.fetchToken(tokenPda, { fresh: true });
70
+ const withdrawUiAmount = await computeMaxWithdrawUiAmount(client, token, lendingPositionIndex);
71
+ if (withdrawUiAmount === 0) {
72
+ console.error("No collateral can be withdrawn without exceeding the position utilization target. " +
73
+ "Run decrease-carry or deleverage-all first to free headroom.");
74
+ process.exit(1);
75
+ }
76
+ const withdrawLabel = withdrawUiAmount === "all" ? "all" : withdrawUiAmount.toFixed(9);
77
+ console.log(`\nWithdrawing ${withdrawLabel} collateral to unlent reserves...`);
78
+ const topUpPlan = await client.tx.topUpUnlentReserves.getTx({
79
+ token: tokenPda,
80
+ params: {
81
+ lendingPositionIndex,
82
+ uiAmount: withdrawUiAmount,
83
+ },
84
+ });
85
+ const sig = await client.sendTransaction(managerSigner, topUpPlan);
86
+ console.log("\ntop_up_unlent_reserves succeeded.");
87
+ console.log(" signature:", sig);
88
+ console.log(" withdrawn:", withdrawLabel);
89
+ }
90
+ /**
91
+ * Maximum withdraw allowed by `top_up_unlent_reserves`: all collateral when
92
+ * debt-free; otherwise the largest partial withdraw that keeps post-withdraw
93
+ * utilization at or below target + deviation margin.
94
+ */
95
+ async function computeMaxWithdrawUiAmount(client, token, lendingPositionIndex) {
96
+ const position = token.data.lendingPositions[lendingPositionIndex];
97
+ const decimals = token.data.collateral.decimals;
98
+ const collateralUi = (0, common_1.toUiAmount)(position.accounting.collateral, decimals);
99
+ if ((0, common_1.toBigInt)(position.accounting.debt.amount) === BigInt(0)) {
100
+ return "all";
101
+ }
102
+ const manager = await lycLendingPositionManager_1.LycLendingPositionManager.create(client.getLendingPlatformClient(position).data, position);
103
+ const target = position.config.targetUtilizationRateBps;
104
+ const margin = Math.floor((target * UTILIZATION_RATE_DEVIATION_THRESHOLD_BPS) / 10000);
105
+ const upperBoundBps = Math.min(target + margin, 10000);
106
+ const minWithdrawUi = 1 / 10 ** decimals;
107
+ try {
108
+ const postUtilAtMin = await manager.calcPostWithdrawalUtilizationRateBps(minWithdrawUi);
109
+ if (postUtilAtMin > upperBoundBps) {
110
+ return 0;
111
+ }
112
+ }
113
+ catch {
114
+ return 0;
115
+ }
116
+ let lo = minWithdrawUi;
117
+ let hi = collateralUi * (1 - 1 / 10 ** decimals);
118
+ for (let i = 0; i < 50; i += 1) {
119
+ const mid = (lo + hi) / 2;
120
+ try {
121
+ const postUtil = await manager.calcPostWithdrawalUtilizationRateBps(mid);
122
+ if (postUtil <= upperBoundBps) {
123
+ lo = mid;
124
+ }
125
+ else {
126
+ hi = mid;
127
+ }
128
+ }
129
+ catch {
130
+ hi = mid;
131
+ }
132
+ }
133
+ return lo >= minWithdrawUi ? lo : 0;
134
+ }
135
+ main()
136
+ .then(() => console.log("Finished"))
137
+ .catch((err) => {
138
+ console.error(err);
139
+ process.exit(1);
140
+ });
@@ -0,0 +1,152 @@
1
+ import { type Address, type Rpc, type SolanaRpcApi } from "@solana/kit";
2
+ import { Program } from "@anchor-lang/core";
3
+ import { LongYieldCarry } from "../idl/long_yield_carry";
4
+ import { LYCToken, type TokenAccountData } from "../models/lycToken";
5
+ import { LYCYieldingBank } from "../models/yieldingBank";
6
+ import { BaseAccountClient, CustomAccountMeta } from "common";
7
+ import type { PdaClient } from "./pda";
8
+ import type { RedemptionEpochSnapshot, TokenLpPositionAccountOverrides, UserHolding, YieldingBankAllocationConfig, YieldingBankExternalLiquiditySource } from "./types";
9
+ /** DataCache category for LYC `Token` accounts (used when clearing cache after writes). */
10
+ export declare const LYC_TOKEN_CACHE_CATEGORY = "token";
11
+ export declare const YIELDING_BANK_CACHE_CATEGORY = "yieldingBank";
12
+ export declare const REDEMPTION_EPOCH_CACHE_CATEGORY = "redemptionEpoch";
13
+ export declare const IGNORED_LYC_TOKEN_ADDRESSES: Set<string>;
14
+ /**
15
+ * Account fetchers for the long_yield_carry program.
16
+ *
17
+ * Extends {@link BaseAccountClient} for shared DataCache + `splAtaExists`, then adds LYC-specific
18
+ * deserialization and helpers (Token, YieldingBank, carry-trade metas).
19
+ */
20
+ export declare class AccountClient extends BaseAccountClient {
21
+ private readonly program;
22
+ readonly pda: PdaClient;
23
+ constructor(program: Program<LongYieldCarry>, pda: PdaClient, rpc: Rpc<SolanaRpcApi>);
24
+ /** Fetch and deserialize a Token account by its PDA address. */
25
+ fetchToken(token: Address, opts?: {
26
+ fresh?: boolean;
27
+ }): Promise<LYCToken>;
28
+ /** Fetch and deserialize multiple Token accounts by their PDA addresses. */
29
+ fetchTokens(tokens: Address[]): Promise<LYCToken[]>;
30
+ /**
31
+ * Fetch all Token accounts owned by the program.
32
+ *
33
+ * Pass `{ fresh: true }` to clear the cached `"all"` entry before reading,
34
+ * forcing a fresh `getProgramAccounts` call. The returned data is
35
+ * re-cached so subsequent callers benefit from the same refresh.
36
+ */
37
+ fetchAllTokens(opts?: {
38
+ fresh?: boolean;
39
+ }): Promise<LYCToken[]>;
40
+ /** Fetch and deserialize a YieldingBank account by its PDA address. */
41
+ fetchYieldingBank(bank: Address): Promise<LYCYieldingBank>;
42
+ /** Fetch and deserialize multiple YieldingBank accounts by their PDA addresses. */
43
+ fetchYieldingBanks(banks: Address[]): Promise<LYCYieldingBank[]>;
44
+ /** Fetch all YieldingBank accounts owned by the program. */
45
+ fetchAllYieldingBanks(): Promise<LYCYieldingBank[]>;
46
+ /** Fetch and deserialize a RedemptionEpoch account by its PDA address. */
47
+ fetchRedemptionEpoch(epochPda: Address, opts?: {
48
+ fresh?: boolean;
49
+ }): Promise<RedemptionEpochSnapshot>;
50
+ /** Fetch all RedemptionEpoch accounts owned by the program. */
51
+ fetchAllRedemptionEpochs(opts?: {
52
+ fresh?: boolean;
53
+ }): Promise<RedemptionEpochSnapshot[]>;
54
+ /**
55
+ * Fetch all LYC yToken holdings for a wallet.
56
+ *
57
+ * Reads the user's ATA per LYC token directly via `getMultipleAccounts` —
58
+ * cost scales with the LYC token count (typically <10), not the wallet's
59
+ * total token-account count, which can be in the hundreds for active users.
60
+ *
61
+ * USD valuation: only when `opts.priceMap` supplies a positive USD price for
62
+ * the collateral mint and `token.price` (NAV) is positive:
63
+ * `valueUsd = uiBalance × token.price × priceMap[collateralMint]`.
64
+ * If the caller does not supply a usable collateral price, `valueUsd` is
65
+ * omitted — we do not infer USD from on-chain `tvlUsd` / `totalSupply`, since
66
+ * those can lag risk-asset markets by tens of minutes.
67
+ *
68
+ * Tokens with no user ATA or a zero balance are filtered out unless
69
+ * `opts.includeEmpty` is set.
70
+ *
71
+ * Pass `opts.tokens` when the caller already has a list of tokens (e.g. a
72
+ * backend service with its own shorter-lived tokens cache) to skip the
73
+ * internal `fetchAllTokens` call and its 5-minute SDK cache.
74
+ */
75
+ fetchUserHoldings(owner: Address, opts?: {
76
+ includeEmpty?: boolean;
77
+ tokens?: LYCToken[];
78
+ priceMap?: Partial<Record<Address, number>>;
79
+ }): Promise<UserHolding[]>;
80
+ /** Fetch all Token and YieldingBank accounts in parallel. */
81
+ fetchAllTokensAndYieldingBanks(): Promise<{
82
+ tokens: LYCToken[];
83
+ yieldingBanks: LYCYieldingBank[];
84
+ }>;
85
+ /**
86
+ * Build the ordered remaining-accounts list required by refresh_yielding_bank
87
+ * (and embedded within rebalance_yielding_bank):
88
+ *
89
+ * 1. base_asset: [token_account, oracle, external_liquidity...] (if active)
90
+ * 2. Per active asset holding (in slot order): [token_account, oracle, external_liquidity...]
91
+ * The token_account is the mint's ATA owned by the bank PDA; the program
92
+ * reads its raw balance to sync asset.amount on every refresh.
93
+ * 3. One user account per active external yielding position (in slot order)
94
+ *
95
+ * If `newAllocation` is provided, its [token_account, oracle, external_liquidity...]
96
+ * tuple is injected at the first inactive slot, matching where `apply_allocation`
97
+ * will register it.
98
+ */
99
+ getYieldingBankRefreshAccounts(bank: Address, newAllocation?: YieldingBankAllocationConfig, externalLiquiditySources?: YieldingBankExternalLiquiditySource[]): Promise<CustomAccountMeta[]>;
100
+ /**
101
+ * Build the carry-trade remaining accounts for increase/decrease carry
102
+ * position instructions.
103
+ *
104
+ * Fetches the token's lending position at `lendingPositionIndex`, derives
105
+ * the debt ATAs, and returns the ordered account metas that
106
+ * `parse_carry_trade_accounts` expects on the Rust side.
107
+ *
108
+ * Returns the fixed carry-trade account prefix, including the instructions
109
+ * sysvar in slot 8 so CPI refs are derived against the on-chain layout.
110
+ *
111
+ * @param lendingPositionUserAccount - Override for the protocol user account.
112
+ * Defaults to the value stored in the on-chain lending position.
113
+ */
114
+ getCarryTradeAccounts(token: Address, yieldingBank: Address, lendingPositionIndex: number, lendingPositionUserAccount?: Address): Promise<CustomAccountMeta[]>;
115
+ /**
116
+ * Derive the account set needed to refresh a single token lending position.
117
+ *
118
+ * This pulls the protocol user account, collateral reserve, and debt oracle
119
+ * from the selected lending position so callers can pass the exact accounts
120
+ * required by refresh-oriented instructions. Optional overrides let tests or
121
+ * advanced callers substitute explicit addresses when needed.
122
+ */
123
+ getTokenLendingPositionRefreshAccounts(tokenData: TokenAccountData, lendingPositionIndex: number, overrides?: TokenLpPositionAccountOverrides): {
124
+ userAccount: Address;
125
+ collateralReserve: Address;
126
+ debtOracle: Address;
127
+ };
128
+ /**
129
+ * Build the fixed initial-accounts prefix for `rebalance_token`.
130
+ *
131
+ * The Rust handler reads these positionally from the front of
132
+ * `remaining_accounts` (see `RebalanceTokenAccounts::parse`). Returning the
133
+ * prefix as `initialAccounts` to `createMultiCpiRefs` lets every CPI in the
134
+ * flash-rebalance bundle deduplicate against these slots, shrinking the
135
+ * transaction's account list compared to declaring them as named ix
136
+ * accounts that would force separate copies in the message header.
137
+ */
138
+ getRebalanceTokenInitialAccounts(token: Address, yieldingBank: Address, lpIndex: number, destinationDebtOracle: Address, overrides?: TokenLpPositionAccountOverrides): Promise<CustomAccountMeta[]>;
139
+ /**
140
+ * Build the initial account pool seed for refresh_token_state.
141
+ *
142
+ * These accounts are placed at the front of the deduplicated remaining_accounts
143
+ * pool (positions 0..N-1), so the index-based TokenRefreshRefs computed by
144
+ * the builder remain stable whether or not prereq CPIs introduce additional accounts.
145
+ *
146
+ * Order:
147
+ * 1. Per active lending position (in slot order): protocol_user_acc, collateral_reserve, debt_oracle
148
+ * 2. One YieldingBank PDA per active carry position (in slot order)
149
+ */
150
+ getTokenRefreshAccounts(token: Address): Promise<CustomAccountMeta[]>;
151
+ private toRedemptionEpochSnapshot;
152
+ }