@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,38 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./accounts"), exports);
18
+ __exportStar(require("./data"), exports);
19
+ __exportStar(require("./compat"), exports);
20
+ __exportStar(require("./cpi"), exports);
21
+ __exportStar(require("./instruction"), exports);
22
+ __exportStar(require("./numbers"), exports);
23
+ __exportStar(require("./rpc"), exports);
24
+ __exportStar(require("./jsonRpcFetch"), exports);
25
+ __exportStar(require("./asyncConcurrency"), exports);
26
+ __exportStar(require("./anchor"), exports);
27
+ __exportStar(require("./solana"), exports);
28
+ __exportStar(require("./transaction"), exports);
29
+ __exportStar(require("./transactionSplitter"), exports);
30
+ __exportStar(require("./txAccountCoverage"), exports);
31
+ __exportStar(require("./jito"), exports);
32
+ __exportStar(require("./general"), exports);
33
+ __exportStar(require("./retry"), exports);
34
+ __exportStar(require("./token"), exports);
35
+ __exportStar(require("./timeSeries"), exports);
36
+ __exportStar(require("./metadata"), exports);
37
+ __exportStar(require("./json"), exports);
38
+ __exportStar(require("./priorityFee"), exports);
@@ -0,0 +1,74 @@
1
+ import { BN } from "@anchor-lang/core";
2
+ import { Address, type Instruction, type TransactionSigner, Rpc, SolanaRpcApi } from "@solana/kit";
3
+ import { type BaseAccountClient } from "../services/baseAccountClient";
4
+ import type { TransactionCacheInvalidation } from "../types/general";
5
+ import { CustomAccountMeta } from "../types";
6
+ export declare function setComputeUnitLimitIx(maxComputeUnits: number): Instruction;
7
+ export declare function setComputeUnitPriceIx(microLamports: number): Instruction;
8
+ /**
9
+ * Request a larger BPF heap for the transaction (default is 32 KiB).
10
+ * Use for instructions that chain many CPIs and allocate temporary `Vec`s
11
+ * (e.g. burn-with-unwind through Perena + Kamino).
12
+ *
13
+ * @param bytes - Must be a multiple of 1024; Solana allows up to 256 KiB.
14
+ */
15
+ export declare function requestHeapFrameIx(bytes: number): Instruction;
16
+ /**
17
+ * Scans accounts for required ATAs, checks which ones exist on-chain in a
18
+ * single batched RPC call, and returns idempotent create-ATA instructions
19
+ * for any that are missing.
20
+ *
21
+ * @param rpc - Solana RPC client
22
+ * @param payer - Fee payer for ATA creation
23
+ * @param accounts - Account metas to scan (from CpiData, etc.)
24
+ * @returns Create-ATA instructions and SPL ATA cache invalidations for each new ATA
25
+ */
26
+ export declare function getCreateAtaInstructions(rpc: Rpc<SolanaRpcApi>, payer: Address, accounts: CustomAccountMeta[]): Promise<{
27
+ instructions: Instruction[];
28
+ postSuccessCacheInvalidations: TransactionCacheInvalidation[];
29
+ }>;
30
+ export interface GetCreateAtaIxIfNeededOptions {
31
+ /**
32
+ * When set, {@link BaseAccountClient#splAtaExists} is used instead of a one-off
33
+ * `fetchMaybeToken` RPC read (shared cache + consistent behavior with program SDKs).
34
+ */
35
+ accountClient?: BaseAccountClient;
36
+ }
37
+ export interface CreateAtaIxIfNeededResult {
38
+ instruction: Instruction | null;
39
+ postSuccessCacheInvalidations: TransactionCacheInvalidation[];
40
+ }
41
+ /**
42
+ * Checks if an ATA exists on-chain and returns a create-ATA instruction if it
43
+ * doesn't.
44
+ *
45
+ * @param rpc - Solana RPC client (used for the default existence check unless overridden)
46
+ * @param payer - Fee payer for ATA creation
47
+ * @param mint - Token mint address
48
+ * @param owner - Owner of the ATA
49
+ * @param tokenProgram - Token program (defaults to TOKEN_PROGRAM_ADDRESS)
50
+ * @param options - Optional account client for SPL ATA existence (otherwise uses RPC read)
51
+ */
52
+ export declare function getCreateAtaIxIfNeeded(rpc: Rpc<SolanaRpcApi>, payer: Address | TransactionSigner, mint: Address, owner: Address, tokenProgram?: Address, options?: GetCreateAtaIxIfNeededOptions): Promise<CreateAtaIxIfNeededResult>;
53
+ export interface WrapSolInstructionsResult {
54
+ instructions: Instruction[];
55
+ postSuccessCacheInvalidations: TransactionCacheInvalidation[];
56
+ }
57
+ /**
58
+ * Returns instructions to wrap SOL into WSOL for a given wallet.
59
+ *
60
+ * Creates the WSOL ATA (idempotent), transfers SOL into it, and syncs the
61
+ * native balance so the token account reflects the deposited lamports.
62
+ */
63
+ export declare function getWrapSolInstructions(rpc: Rpc<SolanaRpcApi>, owner: Address, payer: TransactionSigner, lamports: BN, createAtaOptions?: GetCreateAtaIxIfNeededOptions): Promise<WrapSolInstructionsResult>;
64
+ /**
65
+ * Returns instruction to unwrap WSOL back into SOL for a given wallet.
66
+ *
67
+ * Closes the WSOL token account, sending all lamports (including the wrapped
68
+ * SOL balance and the rent-exempt reserve) to the specified destination.
69
+ *
70
+ * @param owner - Wallet that owns the WSOL ATA (must be a TransactionSigner to authorize the close)
71
+ * @param destination - Address to receive the unwrapped SOL (defaults to the owner's address)
72
+ * @returns Instructions to include in a transaction
73
+ */
74
+ export declare function getUnwrapSolInstruction(owner: TransactionSigner, destination?: Address): Promise<Instruction>;
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setComputeUnitLimitIx = setComputeUnitLimitIx;
4
+ exports.setComputeUnitPriceIx = setComputeUnitPriceIx;
5
+ exports.requestHeapFrameIx = requestHeapFrameIx;
6
+ exports.getCreateAtaInstructions = getCreateAtaInstructions;
7
+ exports.getCreateAtaIxIfNeeded = getCreateAtaIxIfNeeded;
8
+ exports.getWrapSolInstructions = getWrapSolInstructions;
9
+ exports.getUnwrapSolInstruction = getUnwrapSolInstruction;
10
+ const compute_budget_1 = require("@solana-program/compute-budget");
11
+ const token_1 = require("@solana-program/token");
12
+ const system_1 = require("@solana-program/system");
13
+ const baseAccountClient_1 = require("../services/baseAccountClient");
14
+ const solana_1 = require("./solana");
15
+ const pda_1 = require("./accounts/pda");
16
+ const rpc_1 = require("./accounts/rpc");
17
+ const mints_1 = require("../services/mints");
18
+ function setComputeUnitLimitIx(maxComputeUnits) {
19
+ return (0, compute_budget_1.getSetComputeUnitLimitInstruction)({
20
+ units: maxComputeUnits,
21
+ });
22
+ }
23
+ function setComputeUnitPriceIx(microLamports) {
24
+ return (0, compute_budget_1.getSetComputeUnitPriceInstruction)({
25
+ microLamports,
26
+ });
27
+ }
28
+ /**
29
+ * Request a larger BPF heap for the transaction (default is 32 KiB).
30
+ * Use for instructions that chain many CPIs and allocate temporary `Vec`s
31
+ * (e.g. burn-with-unwind through Perena + Kamino).
32
+ *
33
+ * @param bytes - Must be a multiple of 1024; Solana allows up to 256 KiB.
34
+ */
35
+ function requestHeapFrameIx(bytes) {
36
+ return (0, compute_budget_1.getRequestHeapFrameInstruction)({ bytes });
37
+ }
38
+ /**
39
+ * Scans accounts for required ATAs, checks which ones exist on-chain in a
40
+ * single batched RPC call, and returns idempotent create-ATA instructions
41
+ * for any that are missing.
42
+ *
43
+ * @param rpc - Solana RPC client
44
+ * @param payer - Fee payer for ATA creation
45
+ * @param accounts - Account metas to scan (from CpiData, etc.)
46
+ * @returns Create-ATA instructions and SPL ATA cache invalidations for each new ATA
47
+ */
48
+ async function getCreateAtaInstructions(rpc, payer, accounts) {
49
+ // Collect unique accounts that are marked as required ATAs
50
+ const requiredAtas = accounts.filter((x) => x.isRequiredAta);
51
+ if (!requiredAtas.length) {
52
+ return { instructions: [], postSuccessCacheInvalidations: [] };
53
+ }
54
+ const { existsByAddress } = await (0, rpc_1.allAccountsExist)(rpc, requiredAtas.map((account) => account.address));
55
+ const payerSigner = (0, solana_1.createSignerFromAddress)(payer);
56
+ const instructions = [];
57
+ const postSuccessCacheInvalidations = [];
58
+ for (const account of requiredAtas) {
59
+ if (!existsByAddress.get(account.address)) {
60
+ const seeds = account.isRequiredAta;
61
+ instructions.push((0, token_1.getCreateAssociatedTokenIdempotentInstruction)({
62
+ payer: payerSigner,
63
+ ata: account.address,
64
+ owner: seeds.owner,
65
+ mint: seeds.mint,
66
+ tokenProgram: seeds.tokenProgram,
67
+ }));
68
+ postSuccessCacheInvalidations.push({ client: baseAccountClient_1.SPL_ATA_CACHE_CATEGORY, ata: account.address });
69
+ }
70
+ }
71
+ return { instructions, postSuccessCacheInvalidations };
72
+ }
73
+ /**
74
+ * Checks if an ATA exists on-chain and returns a create-ATA instruction if it
75
+ * doesn't.
76
+ *
77
+ * @param rpc - Solana RPC client (used for the default existence check unless overridden)
78
+ * @param payer - Fee payer for ATA creation
79
+ * @param mint - Token mint address
80
+ * @param owner - Owner of the ATA
81
+ * @param tokenProgram - Token program (defaults to TOKEN_PROGRAM_ADDRESS)
82
+ * @param options - Optional account client for SPL ATA existence (otherwise uses RPC read)
83
+ */
84
+ async function getCreateAtaIxIfNeeded(rpc, payer, mint, owner, tokenProgram = token_1.TOKEN_PROGRAM_ADDRESS, options) {
85
+ const ata = await (0, pda_1.getAtaAddress)(mint, owner, tokenProgram);
86
+ const exists = options?.accountClient !== undefined
87
+ ? await options.accountClient.splAtaExists(ata)
88
+ : (await (0, token_1.fetchMaybeToken)(rpc, ata)).exists;
89
+ if (exists) {
90
+ return { instruction: null, postSuccessCacheInvalidations: [] };
91
+ }
92
+ const payerSigner = (0, solana_1.isTransactionSigner)(payer) ? payer : (0, solana_1.createSignerFromAddress)(payer);
93
+ const instruction = (0, token_1.getCreateAssociatedTokenIdempotentInstruction)({
94
+ payer: payerSigner,
95
+ ata,
96
+ owner,
97
+ mint,
98
+ tokenProgram,
99
+ });
100
+ return {
101
+ instruction,
102
+ postSuccessCacheInvalidations: [{ client: baseAccountClient_1.SPL_ATA_CACHE_CATEGORY, ata }],
103
+ };
104
+ }
105
+ /**
106
+ * Returns instructions to wrap SOL into WSOL for a given wallet.
107
+ *
108
+ * Creates the WSOL ATA (idempotent), transfers SOL into it, and syncs the
109
+ * native balance so the token account reflects the deposited lamports.
110
+ */
111
+ async function getWrapSolInstructions(rpc, owner, payer, lamports, createAtaOptions) {
112
+ const solMint = mints_1.mints.get("SOL");
113
+ const solMintAddress = solMint.address;
114
+ const ata = await (0, pda_1.getAtaAddress)(solMintAddress, owner);
115
+ const { instruction: createAtaIx, postSuccessCacheInvalidations } = await getCreateAtaIxIfNeeded(rpc, payer, solMintAddress, owner, token_1.TOKEN_PROGRAM_ADDRESS, createAtaOptions);
116
+ const instructions = [];
117
+ if (createAtaIx)
118
+ instructions.push(createAtaIx);
119
+ instructions.push((0, system_1.getTransferSolInstruction)({
120
+ source: payer,
121
+ destination: ata,
122
+ amount: BigInt(lamports.toString()),
123
+ }), (0, token_1.getSyncNativeInstruction)({ account: ata }));
124
+ return { instructions, postSuccessCacheInvalidations };
125
+ }
126
+ /**
127
+ * Returns instruction to unwrap WSOL back into SOL for a given wallet.
128
+ *
129
+ * Closes the WSOL token account, sending all lamports (including the wrapped
130
+ * SOL balance and the rent-exempt reserve) to the specified destination.
131
+ *
132
+ * @param owner - Wallet that owns the WSOL ATA (must be a TransactionSigner to authorize the close)
133
+ * @param destination - Address to receive the unwrapped SOL (defaults to the owner's address)
134
+ * @returns Instructions to include in a transaction
135
+ */
136
+ async function getUnwrapSolInstruction(owner, destination) {
137
+ const solMint = mints_1.mints.get("SOL");
138
+ if (!solMint)
139
+ throw new Error("WSOL mint not found in registry");
140
+ const solMintAddress = solMint.address;
141
+ const ata = await (0, pda_1.getAtaAddress)(solMintAddress, owner.address);
142
+ return (0, token_1.getCloseAccountInstruction)({
143
+ account: ata,
144
+ destination: destination ?? owner.address,
145
+ owner,
146
+ });
147
+ }
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Minimal Jito bundle client.
3
+ *
4
+ * Submits bundles via the user's own RPC endpoint rather than Jito's public
5
+ * block engine. Premium Solana RPC providers (Helius, Ironforge, Triton, etc.)
6
+ * proxy the Jito JSON-RPC methods (`sendBundle`, `getBundleStatuses`,
7
+ * `simulateBundle`) through their authenticated endpoint. This avoids the
8
+ * public Jito endpoint's global rate limit (error `-32097` / HTTP 429).
9
+ *
10
+ * Reference implementation: `EXAMPLE/solauto-sdk/src/utils/jitoUtils.ts`,
11
+ * which routes the same calls through the user's Umi RPC endpoint
12
+ * (Ironforge).
13
+ *
14
+ * Helius sendBundle docs: https://helius.mintlify.app/api-reference/sender/sendbundle
15
+ */
16
+ import type { Address, Instruction, TransactionSigner } from "@solana/kit";
17
+ /** Max transactions per Jito bundle. */
18
+ export declare const MAX_BUNDLE_TRANSACTIONS = 5;
19
+ /** Default tip when the caller doesn't specify one. */
20
+ export declare const DEFAULT_JITO_TIP_LAMPORTS = 2000000;
21
+ export declare class JitoBundleError extends Error {
22
+ readonly bundleId?: string | undefined;
23
+ constructor(message: string, bundleId?: string | undefined);
24
+ }
25
+ /**
26
+ * Static Jito tip accounts. Hardcoded to avoid a network call to
27
+ * `getTipAccounts` on every bundle — the list rarely changes.
28
+ *
29
+ * Exported so tests can lock in the canonical list against the Jito docs
30
+ * and catch any future typo. Verify against:
31
+ * https://docs.jito.wtf/lowlatencytxnsend/#response-example-tips
32
+ */
33
+ export declare const JITO_TIP_ACCOUNTS: readonly Address[];
34
+ /**
35
+ * Conservative upper bound (in wire bytes) for the instructions we inject
36
+ * into each bundle tx _after_ bin-packing: a setComputeUnitLimit ix and,
37
+ * Used by the splitter to reserve headroom so post-split injection never
38
+ * overflows the 1232-byte transaction limit. The tip transfer is injected
39
+ * only into the smallest bin in the bundle, which is typically far from
40
+ * the size limit, so we don't reserve for it here.
41
+ *
42
+ * Breakdown (worst case, ComputeBudget program not in any LUT):
43
+ * • ComputeBudget program key = 32 B
44
+ * • setComputeUnitLimit ix header + 5 B data ≈ 13 B
45
+ * • setComputeUnitPrice ix header + 9 B data ≈ 17 B
46
+ * Rounded up to 64 B to cover compact-u16 edge cases.
47
+ */
48
+ export declare const BUNDLE_INJECTED_IX_RESERVED_BYTES = 64;
49
+ /** Pick one of the 8 Jito tip accounts at random. */
50
+ export declare function getRandomTipAccount(): Address;
51
+ /** Build a SOL transfer instruction to a Jito tip account. */
52
+ export declare function buildTipInstruction(payer: TransactionSigner, tipAccount: Address, lamports: number): Instruction;
53
+ /**
54
+ * Submit a bundle of base64-encoded signed transactions to Jito via the
55
+ * caller's RPC endpoint. Returns the `bundle_id` for status polling.
56
+ *
57
+ * Helius expects `[base64Txs, { encoding: "base64" }]`; Ironforge and the
58
+ * raw Jito block engine accept the same shape and fall back to base58 when
59
+ * encoding is omitted. Using base64 everywhere matches the wire format we
60
+ * already produce via `getBase64EncodedWireTransaction`.
61
+ */
62
+ export declare function sendBundle(rpcUrl: string, base64Txs: string[]): Promise<string>;
63
+ export interface BundleSimulationTxResult {
64
+ /** Tx-level error object, or null on success. */
65
+ err: object | null;
66
+ /** Program logs emitted during this tx (may be empty on signature-only failures). */
67
+ logs: string[];
68
+ /** Compute units consumed by this tx; absent if the tx errored before CU accounting. */
69
+ unitsConsumed?: number;
70
+ /** Tx-level return data, opaque to callers. */
71
+ returnData?: unknown;
72
+ }
73
+ export interface BundleSimulationResult {
74
+ /** "succeeded" string when every tx passed; an object containing `failed` otherwise. */
75
+ summary: "succeeded" | {
76
+ failed: {
77
+ error: unknown;
78
+ txSignature?: string;
79
+ };
80
+ };
81
+ /** Per-tx outcome, in the same order as the bundle's `encodedTransactions`. */
82
+ transactionResults: BundleSimulationTxResult[];
83
+ }
84
+ /**
85
+ * Atomically simulate a bundle of base64-encoded transactions through the
86
+ * caller's RPC endpoint. Mirrors the Jito BlockEngine `simulateBundle` shape,
87
+ * which Helius/Ironforge/Triton proxy.
88
+ *
89
+ * Set `skipSigVerify=true` and `replaceRecentBlockhash=true` (defaults) to
90
+ * simulate _before_ signing — the simulator stamps placeholder signatures and
91
+ * substitutes a fresh blockhash, letting us measure per-tx compute units and
92
+ * verify the bundle composes correctly without paying the signing round trip
93
+ * twice.
94
+ *
95
+ * Unlike running `simulateTransaction` per bin, this preserves the
96
+ * intra-bundle sequencing — a refresh ix in tx 0 is observable to tx 1 — so
97
+ * bundles whose sub-txs depend on each other can be validated without false
98
+ * positives from bin-isolation.
99
+ */
100
+ export declare function simulateBundle(rpcUrl: string, base64Txs: string[], options?: {
101
+ skipSigVerify?: boolean;
102
+ replaceRecentBlockhash?: boolean;
103
+ }): Promise<BundleSimulationResult>;
104
+ /**
105
+ * Poll `getBundleStatuses` until the bundle confirms or fails.
106
+ *
107
+ * Mirrors the solauto reference: a `null` entry means Jito hasn't seen the
108
+ * bundle yet (keep polling); only `err` with an `Err` key is a failure; a
109
+ * `confirmation_status` of "confirmed" or "finalized" means success.
110
+ */
111
+ export declare function confirmBundle(rpcUrl: string, bundleId: string, timeoutMs?: number): Promise<{
112
+ slot: number;
113
+ }>;
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ /**
3
+ * Minimal Jito bundle client.
4
+ *
5
+ * Submits bundles via the user's own RPC endpoint rather than Jito's public
6
+ * block engine. Premium Solana RPC providers (Helius, Ironforge, Triton, etc.)
7
+ * proxy the Jito JSON-RPC methods (`sendBundle`, `getBundleStatuses`,
8
+ * `simulateBundle`) through their authenticated endpoint. This avoids the
9
+ * public Jito endpoint's global rate limit (error `-32097` / HTTP 429).
10
+ *
11
+ * Reference implementation: `EXAMPLE/solauto-sdk/src/utils/jitoUtils.ts`,
12
+ * which routes the same calls through the user's Umi RPC endpoint
13
+ * (Ironforge).
14
+ *
15
+ * Helius sendBundle docs: https://helius.mintlify.app/api-reference/sender/sendbundle
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.BUNDLE_INJECTED_IX_RESERVED_BYTES = exports.JITO_TIP_ACCOUNTS = exports.JitoBundleError = exports.DEFAULT_JITO_TIP_LAMPORTS = exports.MAX_BUNDLE_TRANSACTIONS = void 0;
19
+ exports.getRandomTipAccount = getRandomTipAccount;
20
+ exports.buildTipInstruction = buildTipInstruction;
21
+ exports.sendBundle = sendBundle;
22
+ exports.simulateBundle = simulateBundle;
23
+ exports.confirmBundle = confirmBundle;
24
+ const system_1 = require("@solana-program/system");
25
+ const general_1 = require("./general");
26
+ const jsonRpcFetch_1 = require("./jsonRpcFetch");
27
+ /** Max transactions per Jito bundle. */
28
+ exports.MAX_BUNDLE_TRANSACTIONS = 5;
29
+ /** Default tip when the caller doesn't specify one. */
30
+ exports.DEFAULT_JITO_TIP_LAMPORTS = 2000000;
31
+ class JitoBundleError extends Error {
32
+ constructor(message, bundleId) {
33
+ super(message);
34
+ this.bundleId = bundleId;
35
+ this.name = "JitoBundleError";
36
+ }
37
+ }
38
+ exports.JitoBundleError = JitoBundleError;
39
+ /**
40
+ * Static Jito tip accounts. Hardcoded to avoid a network call to
41
+ * `getTipAccounts` on every bundle — the list rarely changes.
42
+ *
43
+ * Exported so tests can lock in the canonical list against the Jito docs
44
+ * and catch any future typo. Verify against:
45
+ * https://docs.jito.wtf/lowlatencytxnsend/#response-example-tips
46
+ */
47
+ exports.JITO_TIP_ACCOUNTS = [
48
+ "96gYZGLnJYVFmbjzopPSU6QiEV5fGqZNyN9nmNhvrZU5",
49
+ "HFqU5x63VTqvQss8hp11i4wVV8bD44PvwucfZ2bU7gRe",
50
+ ];
51
+ /**
52
+ * Conservative upper bound (in wire bytes) for the instructions we inject
53
+ * into each bundle tx _after_ bin-packing: a setComputeUnitLimit ix and,
54
+ * Used by the splitter to reserve headroom so post-split injection never
55
+ * overflows the 1232-byte transaction limit. The tip transfer is injected
56
+ * only into the smallest bin in the bundle, which is typically far from
57
+ * the size limit, so we don't reserve for it here.
58
+ *
59
+ * Breakdown (worst case, ComputeBudget program not in any LUT):
60
+ * • ComputeBudget program key = 32 B
61
+ * • setComputeUnitLimit ix header + 5 B data ≈ 13 B
62
+ * • setComputeUnitPrice ix header + 9 B data ≈ 17 B
63
+ * Rounded up to 64 B to cover compact-u16 edge cases.
64
+ */
65
+ exports.BUNDLE_INJECTED_IX_RESERVED_BYTES = 64;
66
+ /** Pick one of the 8 Jito tip accounts at random. */
67
+ function getRandomTipAccount() {
68
+ return exports.JITO_TIP_ACCOUNTS[Math.floor(Math.random() * exports.JITO_TIP_ACCOUNTS.length)];
69
+ }
70
+ /** Build a SOL transfer instruction to a Jito tip account. */
71
+ function buildTipInstruction(payer, tipAccount, lamports) {
72
+ return (0, system_1.getTransferSolInstruction)({
73
+ source: payer,
74
+ destination: tipAccount,
75
+ amount: BigInt(lamports),
76
+ });
77
+ }
78
+ /**
79
+ * Submit a bundle of base64-encoded signed transactions to Jito via the
80
+ * caller's RPC endpoint. Returns the `bundle_id` for status polling.
81
+ *
82
+ * Helius expects `[base64Txs, { encoding: "base64" }]`; Ironforge and the
83
+ * raw Jito block engine accept the same shape and fall back to base58 when
84
+ * encoding is omitted. Using base64 everywhere matches the wire format we
85
+ * already produce via `getBase64EncodedWireTransaction`.
86
+ */
87
+ async function sendBundle(rpcUrl, base64Txs) {
88
+ if (base64Txs.length > exports.MAX_BUNDLE_TRANSACTIONS) {
89
+ throw new JitoBundleError(`Bundle has ${base64Txs.length} transactions, max is ${exports.MAX_BUNDLE_TRANSACTIONS}`);
90
+ }
91
+ try {
92
+ return await (0, jsonRpcFetch_1.jsonRpcFetchOnce)(rpcUrl, "sendBundle", [
93
+ base64Txs,
94
+ { encoding: "base64" },
95
+ ]);
96
+ }
97
+ catch (e) {
98
+ throw new JitoBundleError(`sendBundle failed: ${e instanceof Error ? e.message : String(e)}`);
99
+ }
100
+ }
101
+ /**
102
+ * Atomically simulate a bundle of base64-encoded transactions through the
103
+ * caller's RPC endpoint. Mirrors the Jito BlockEngine `simulateBundle` shape,
104
+ * which Helius/Ironforge/Triton proxy.
105
+ *
106
+ * Set `skipSigVerify=true` and `replaceRecentBlockhash=true` (defaults) to
107
+ * simulate _before_ signing — the simulator stamps placeholder signatures and
108
+ * substitutes a fresh blockhash, letting us measure per-tx compute units and
109
+ * verify the bundle composes correctly without paying the signing round trip
110
+ * twice.
111
+ *
112
+ * Unlike running `simulateTransaction` per bin, this preserves the
113
+ * intra-bundle sequencing — a refresh ix in tx 0 is observable to tx 1 — so
114
+ * bundles whose sub-txs depend on each other can be validated without false
115
+ * positives from bin-isolation.
116
+ */
117
+ async function simulateBundle(rpcUrl, base64Txs, options = {}) {
118
+ const { skipSigVerify = true, replaceRecentBlockhash = true } = options;
119
+ if (base64Txs.length > exports.MAX_BUNDLE_TRANSACTIONS) {
120
+ throw new JitoBundleError(`Bundle has ${base64Txs.length} transactions, max is ${exports.MAX_BUNDLE_TRANSACTIONS}`);
121
+ }
122
+ try {
123
+ // `preExecutionAccountsConfigs` and `postExecutionAccountsConfigs` are
124
+ // required fields (one entry per tx) on Jito's BlockEngine and on
125
+ // proxying providers (Helius). We don't read pre/post account state, so
126
+ // each entry is left as `null`.
127
+ const accountsConfigs = base64Txs.map(() => null);
128
+ // Some endpoints return `{ context, value: { ... } }` (Helius) and others
129
+ // return the result directly (raw Jito). Normalize by unwrapping `value`
130
+ // when present.
131
+ const raw = await (0, jsonRpcFetch_1.jsonRpcFetchOnce)(rpcUrl, "simulateBundle", [
132
+ { encodedTransactions: base64Txs },
133
+ {
134
+ preExecutionAccountsConfigs: accountsConfigs,
135
+ postExecutionAccountsConfigs: accountsConfigs,
136
+ skipSigVerify,
137
+ replaceRecentBlockhash,
138
+ transactionEncoding: "base64",
139
+ },
140
+ ]);
141
+ return "value" in raw && raw.value ? raw.value : raw;
142
+ }
143
+ catch (e) {
144
+ throw new JitoBundleError(`simulateBundle failed: ${e instanceof Error ? e.message : String(e)}`);
145
+ }
146
+ }
147
+ /**
148
+ * Poll `getBundleStatuses` until the bundle confirms or fails.
149
+ *
150
+ * Mirrors the solauto reference: a `null` entry means Jito hasn't seen the
151
+ * bundle yet (keep polling); only `err` with an `Err` key is a failure; a
152
+ * `confirmation_status` of "confirmed" or "finalized" means success.
153
+ */
154
+ async function confirmBundle(rpcUrl, bundleId, timeoutMs = 60000) {
155
+ const pollIntervalMs = 1000;
156
+ const startTime = Date.now();
157
+ while (Date.now() - startTime < timeoutMs) {
158
+ await (0, general_1.sleep)(pollIntervalMs);
159
+ let result;
160
+ try {
161
+ result = await (0, jsonRpcFetch_1.jsonRpcFetchOnce)(rpcUrl, "getBundleStatuses", [[bundleId]]);
162
+ }
163
+ catch (e) {
164
+ console.warn(`[Jito] getBundleStatuses error: ${e instanceof Error ? e.message : String(e)}`);
165
+ continue;
166
+ }
167
+ const entry = result.value?.[0];
168
+ if (!entry)
169
+ continue;
170
+ if (entry.err != null && "Err" in entry.err) {
171
+ throw new JitoBundleError(`Bundle ${bundleId} failed: ${JSON.stringify(entry.err)}`, bundleId);
172
+ }
173
+ if (entry.confirmation_status === "confirmed" || entry.confirmation_status === "finalized") {
174
+ return { slot: entry.slot };
175
+ }
176
+ }
177
+ throw new JitoBundleError(`Bundle ${bundleId} confirmation timeout after ${timeoutMs}ms`, bundleId);
178
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Recursively converts `bigint` values to decimal strings so values with
3
+ * on-chain raw amounts are JSON-serializable.
4
+ */
5
+ export declare function serializeForJson<T>(value: T): unknown;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeForJson = serializeForJson;
4
+ /**
5
+ * Recursively converts `bigint` values to decimal strings so values with
6
+ * on-chain raw amounts are JSON-serializable.
7
+ */
8
+ function serializeForJson(value) {
9
+ if (typeof value === "bigint") {
10
+ return value.toString();
11
+ }
12
+ if (value === null || value === undefined) {
13
+ return value;
14
+ }
15
+ if (Array.isArray(value)) {
16
+ return value.map((item) => serializeForJson(item));
17
+ }
18
+ if (typeof value === "object") {
19
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => [
20
+ key,
21
+ serializeForJson(entry),
22
+ ]));
23
+ }
24
+ return value;
25
+ }
@@ -0,0 +1,21 @@
1
+ /** Thrown when the JSON-RPC error should be retried (rate limits, transient HTTP, transport). */
2
+ export declare class JsonRpcTransientError extends Error {
3
+ readonly suggestedDelayMs?: number | undefined;
4
+ constructor(message: string, suggestedDelayMs?: number | undefined);
5
+ }
6
+ /**
7
+ * Serialize async work and enforce a minimum gap (ms) between the end of one
8
+ * invocation and the start of the next. Use `minIntervalMs === 0` to disable.
9
+ */
10
+ export declare function createMinIntervalThrottle(minIntervalMs: number): <T>(fn: () => Promise<T>) => Promise<T>;
11
+ /**
12
+ * One JSON-RPC 2.0 POST. Uses raw `fetch` so response JSON matches RPC wire
13
+ * shape (e.g. Helius webhooks) without SDK bigint coercion.
14
+ */
15
+ export declare function jsonRpcFetchOnce<T>(rpcUrl: string, method: string, params: unknown[]): Promise<T>;
16
+ export type JsonRpcThrottle = <T>(fn: () => Promise<T>) => Promise<T>;
17
+ /**
18
+ * JSON-RPC call with throttling + exponential backoff on {@link JsonRpcTransientError}.
19
+ */
20
+ export declare function jsonRpcFetchWithRetries<T>(throttle: JsonRpcThrottle, rpcUrl: string, method: string, params: unknown[], maxAttempts: number, baseDelayMs: number): Promise<T>;
21
+ export type JsonRpcCall = <T>(method: string, params: unknown[]) => Promise<T>;