@shogun-sdk/intents-sdk 1.2.31 → 1.4.0

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 (660) hide show
  1. package/README.md +76 -25
  2. package/dist/index.cjs +8997 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +1654 -0
  5. package/dist/index.d.ts +1654 -0
  6. package/dist/index.js +9246 -0
  7. package/dist/index.js.map +1 -0
  8. package/package.json +44 -30
  9. package/src/auth/siwe.ts +8 -3
  10. package/src/chains.ts +6 -0
  11. package/src/constants.ts +71 -15
  12. package/src/core/evm/chain-provider.ts +4 -1
  13. package/src/core/evm/connectors/monad.ts +27 -0
  14. package/src/core/evm/cross-chain-limit-order.ts +14 -14
  15. package/src/core/evm/intent-helpers.ts +162 -21
  16. package/src/core/evm/intent-provider.ts +5 -4
  17. package/src/core/evm/permit2.ts +36 -0
  18. package/src/core/evm/single-chain-dca-order.ts +18 -18
  19. package/src/core/evm/single-chain-limit-order.ts +15 -15
  20. package/src/core/evm/types.ts +4 -4
  21. package/src/core/evm/validator.ts +1 -1
  22. package/src/core/orders/api/fetch.ts +33 -16
  23. package/src/core/orders/api/index.ts +39 -8
  24. package/src/core/orders/common.ts +2 -0
  25. package/src/core/orders/cross-chain.ts +15 -18
  26. package/src/core/orders/single-chain.ts +30 -13
  27. package/src/core/sdk.ts +11 -0
  28. package/src/core/solana/cancel-order.ts +4 -2
  29. package/src/core/solana/client.ts +1 -1
  30. package/src/core/solana/dca/cancel-order.ts +2 -1
  31. package/src/core/solana/dca/single-chain-dca-order.ts +19 -22
  32. package/src/core/solana/dca/single-chain-limit-order.ts +20 -22
  33. package/src/core/solana/generated/cross-chain/accounts/dcaOrder.ts +2 -2
  34. package/src/core/solana/generated/cross-chain/accounts/guard.ts +22 -10
  35. package/src/core/solana/generated/cross-chain/errors/sourceChainGuard.ts +37 -33
  36. package/src/core/solana/generated/cross-chain/instructions/cancelDcaOrder.ts +36 -22
  37. package/src/core/solana/generated/cross-chain/instructions/cancelOrder.ts +32 -18
  38. package/src/core/solana/generated/cross-chain/instructions/claimTokensForDcaInterval.ts +396 -0
  39. package/src/core/solana/generated/cross-chain/instructions/index.ts +5 -0
  40. package/src/core/solana/generated/cross-chain/instructions/preStartDcaOrderExecution.ts +504 -0
  41. package/src/core/solana/generated/cross-chain/instructions/setCancelAuthorities.ts +326 -0
  42. package/src/core/solana/generated/cross-chain/instructions/startDcaOrderExecution.ts +440 -0
  43. package/src/core/solana/generated/cross-chain/instructions/startDcaOrderExecutionAfterSwap.ts +322 -0
  44. package/src/core/solana/generated/cross-chain/programs/sourceChainGuard.ts +80 -0
  45. package/src/core/solana/generated/cross-chain/types/cancelAuthoritiesUpdated.ts +40 -0
  46. package/src/core/solana/generated/cross-chain/types/index.ts +1 -0
  47. package/src/core/solana/generated/single-chain/accounts/guard.ts +22 -10
  48. package/src/core/solana/generated/single-chain/errors/singleChainGuard.ts +24 -20
  49. package/src/core/solana/generated/single-chain/instructions/cancelDcaOrder.ts +28 -14
  50. package/src/core/solana/generated/single-chain/instructions/cancelLimitOrder.ts +28 -14
  51. package/src/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.ts +30 -4
  52. package/src/core/solana/generated/single-chain/instructions/fulfillLimitOrder.ts +30 -4
  53. package/src/core/solana/generated/single-chain/instructions/index.ts +1 -0
  54. package/src/core/solana/generated/single-chain/instructions/setCancelAuthorities.ts +326 -0
  55. package/src/core/solana/generated/single-chain/programs/singleChainGuard.ts +17 -1
  56. package/src/core/solana/generated/single-chain/types/cancelAuthoritiesUpdated.ts +40 -0
  57. package/src/core/solana/generated/single-chain/types/index.ts +1 -0
  58. package/src/core/solana/intent-helpers.ts +38 -27
  59. package/src/core/solana/sdk.ts +1 -1
  60. package/src/core/solana/utils.ts +10 -1
  61. package/src/core/sui/cross-chain-limit-order.ts +1 -29
  62. package/src/core/sui/intent-helpers.ts +39 -41
  63. package/src/core/sui/order-transaction.ts +1 -1
  64. package/src/core/sui/single-chain-dca-order.ts +19 -32
  65. package/src/core/sui/single-chain-limit-order.ts +19 -34
  66. package/src/index.ts +22 -9
  67. package/src/types/api.ts +22 -2
  68. package/src/types/intent.ts +42 -5
  69. package/src/types/token-list.ts +35 -0
  70. package/src/utils/base-validator.ts +0 -4
  71. package/src/utils/defillama.ts +2 -0
  72. package/src/utils/generate-execution-details-hash.ts +13 -0
  73. package/src/utils/quote/address.ts +4 -0
  74. package/src/utils/quote/aggregator.ts +326 -76
  75. package/src/utils/quote/liquidswap.ts +42 -13
  76. package/src/utils/quote/paraswap.ts +2 -0
  77. package/src/utils/quote/pricing/constants.ts +33 -0
  78. package/src/utils/quote/pricing/decimals.ts +11 -0
  79. package/src/utils/quote/pricing/estimate-amount-out.ts +36 -0
  80. package/src/utils/quote/pricing/expenses.ts +62 -0
  81. package/src/utils/quote/pricing/gas.ts +28 -0
  82. package/src/utils/quote/pumpfun/estimations.ts +206 -0
  83. package/src/utils/quote/pumpfun/estimations_amm.ts +165 -0
  84. package/src/utils/quote/pumpfun/index.ts +266 -0
  85. package/src/utils/quote/pumpfun/models.ts +163 -0
  86. package/src/utils/quote/pumpfun/utils.ts +343 -0
  87. package/src/utils/quote/raydium.ts +506 -0
  88. package/src/utils/quote/relay.ts +99 -0
  89. package/src/utils/quote/stablecoins-tokens.ts +35 -8
  90. package/src/utils/quote/utils.ts +8 -0
  91. package/src/utils/tokens/index.ts +38 -0
  92. package/dist/esm/auth/siwe.js +0 -26
  93. package/dist/esm/auth/siwe.js.map +0 -1
  94. package/dist/esm/chains.js +0 -62
  95. package/dist/esm/chains.js.map +0 -1
  96. package/dist/esm/config.js +0 -2
  97. package/dist/esm/config.js.map +0 -1
  98. package/dist/esm/constants.js +0 -106
  99. package/dist/esm/constants.js.map +0 -1
  100. package/dist/esm/core/evm/abi/erc20.js +0 -313
  101. package/dist/esm/core/evm/abi/erc20.js.map +0 -1
  102. package/dist/esm/core/evm/abi/permit2.js +0 -395
  103. package/dist/esm/core/evm/abi/permit2.js.map +0 -1
  104. package/dist/esm/core/evm/abi/single-chain-guard-limit.js +0 -768
  105. package/dist/esm/core/evm/abi/single-chain-guard-limit.js.map +0 -1
  106. package/dist/esm/core/evm/abi/source-chain-guard.js +0 -1121
  107. package/dist/esm/core/evm/abi/source-chain-guard.js.map +0 -1
  108. package/dist/esm/core/evm/cancel-order.js +0 -130
  109. package/dist/esm/core/evm/cancel-order.js.map +0 -1
  110. package/dist/esm/core/evm/chain-provider.js +0 -118
  111. package/dist/esm/core/evm/chain-provider.js.map +0 -1
  112. package/dist/esm/core/evm/connectors/hyperevm.js +0 -23
  113. package/dist/esm/core/evm/connectors/hyperevm.js.map +0 -1
  114. package/dist/esm/core/evm/cross-chain-limit-order.js +0 -43
  115. package/dist/esm/core/evm/cross-chain-limit-order.js.map +0 -1
  116. package/dist/esm/core/evm/intent-helpers.js +0 -130
  117. package/dist/esm/core/evm/intent-helpers.js.map +0 -1
  118. package/dist/esm/core/evm/intent-provider.js +0 -162
  119. package/dist/esm/core/evm/intent-provider.js.map +0 -1
  120. package/dist/esm/core/evm/order-signature.js +0 -41
  121. package/dist/esm/core/evm/order-signature.js.map +0 -1
  122. package/dist/esm/core/evm/permit2.js +0 -82
  123. package/dist/esm/core/evm/permit2.js.map +0 -1
  124. package/dist/esm/core/evm/sdk.js +0 -175
  125. package/dist/esm/core/evm/sdk.js.map +0 -1
  126. package/dist/esm/core/evm/single-chain-dca-order.js +0 -49
  127. package/dist/esm/core/evm/single-chain-dca-order.js.map +0 -1
  128. package/dist/esm/core/evm/single-chain-limit-order.js +0 -45
  129. package/dist/esm/core/evm/single-chain-limit-order.js.map +0 -1
  130. package/dist/esm/core/evm/types.js +0 -8
  131. package/dist/esm/core/evm/types.js.map +0 -1
  132. package/dist/esm/core/evm/validator.js +0 -111
  133. package/dist/esm/core/evm/validator.js.map +0 -1
  134. package/dist/esm/core/orders/api/fetch.js +0 -17
  135. package/dist/esm/core/orders/api/fetch.js.map +0 -1
  136. package/dist/esm/core/orders/api/index.js +0 -31
  137. package/dist/esm/core/orders/api/index.js.map +0 -1
  138. package/dist/esm/core/orders/common.js +0 -8
  139. package/dist/esm/core/orders/common.js.map +0 -1
  140. package/dist/esm/core/orders/cross-chain.js +0 -319
  141. package/dist/esm/core/orders/cross-chain.js.map +0 -1
  142. package/dist/esm/core/orders/dca-single-chain.js +0 -172
  143. package/dist/esm/core/orders/dca-single-chain.js.map +0 -1
  144. package/dist/esm/core/orders/single-chain.js +0 -197
  145. package/dist/esm/core/orders/single-chain.js.map +0 -1
  146. package/dist/esm/core/sdk.js +0 -86
  147. package/dist/esm/core/sdk.js.map +0 -1
  148. package/dist/esm/core/solana/cancel-order.js +0 -176
  149. package/dist/esm/core/solana/cancel-order.js.map +0 -1
  150. package/dist/esm/core/solana/client.js +0 -19
  151. package/dist/esm/core/solana/client.js.map +0 -1
  152. package/dist/esm/core/solana/cross-chain-limit-order.js +0 -18
  153. package/dist/esm/core/solana/cross-chain-limit-order.js.map +0 -1
  154. package/dist/esm/core/solana/dca/cancel-order.js +0 -61
  155. package/dist/esm/core/solana/dca/cancel-order.js.map +0 -1
  156. package/dist/esm/core/solana/dca/create-order.js +0 -82
  157. package/dist/esm/core/solana/dca/create-order.js.map +0 -1
  158. package/dist/esm/core/solana/dca/single-chain-dca-order.js +0 -23
  159. package/dist/esm/core/solana/dca/single-chain-dca-order.js.map +0 -1
  160. package/dist/esm/core/solana/dca/single-chain-limit-order.js +0 -29
  161. package/dist/esm/core/solana/dca/single-chain-limit-order.js.map +0 -1
  162. package/dist/esm/core/solana/generated/cross-chain/accounts/adminSingleton.js +0 -60
  163. package/dist/esm/core/solana/generated/cross-chain/accounts/adminSingleton.js.map +0 -1
  164. package/dist/esm/core/solana/generated/cross-chain/accounts/dcaOrder.js +0 -90
  165. package/dist/esm/core/solana/generated/cross-chain/accounts/dcaOrder.js.map +0 -1
  166. package/dist/esm/core/solana/generated/cross-chain/accounts/guard.js +0 -64
  167. package/dist/esm/core/solana/generated/cross-chain/accounts/guard.js.map +0 -1
  168. package/dist/esm/core/solana/generated/cross-chain/accounts/index.js +0 -12
  169. package/dist/esm/core/solana/generated/cross-chain/accounts/index.js.map +0 -1
  170. package/dist/esm/core/solana/generated/cross-chain/accounts/order.js +0 -78
  171. package/dist/esm/core/solana/generated/cross-chain/accounts/order.js.map +0 -1
  172. package/dist/esm/core/solana/generated/cross-chain/errors/index.js +0 -9
  173. package/dist/esm/core/solana/generated/cross-chain/errors/index.js.map +0 -1
  174. package/dist/esm/core/solana/generated/cross-chain/errors/sourceChainGuard.js +0 -140
  175. package/dist/esm/core/solana/generated/cross-chain/errors/sourceChainGuard.js.map +0 -1
  176. package/dist/esm/core/solana/generated/cross-chain/index.js +0 -13
  177. package/dist/esm/core/solana/generated/cross-chain/index.js.map +0 -1
  178. package/dist/esm/core/solana/generated/cross-chain/instructions/acceptAdmin.js +0 -88
  179. package/dist/esm/core/solana/generated/cross-chain/instructions/acceptAdmin.js.map +0 -1
  180. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelDcaOrder.js +0 -118
  181. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelDcaOrder.js.map +0 -1
  182. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelOrder.js +0 -107
  183. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelOrder.js.map +0 -1
  184. package/dist/esm/core/solana/generated/cross-chain/instructions/claimTokens.js +0 -127
  185. package/dist/esm/core/solana/generated/cross-chain/instructions/claimTokens.js.map +0 -1
  186. package/dist/esm/core/solana/generated/cross-chain/instructions/collectProtocolFees.js +0 -133
  187. package/dist/esm/core/solana/generated/cross-chain/instructions/collectProtocolFees.js.map +0 -1
  188. package/dist/esm/core/solana/generated/cross-chain/instructions/createDcaOrder.js +0 -170
  189. package/dist/esm/core/solana/generated/cross-chain/instructions/createDcaOrder.js.map +0 -1
  190. package/dist/esm/core/solana/generated/cross-chain/instructions/createGuard.js +0 -188
  191. package/dist/esm/core/solana/generated/cross-chain/instructions/createGuard.js.map +0 -1
  192. package/dist/esm/core/solana/generated/cross-chain/instructions/createOrder.js +0 -166
  193. package/dist/esm/core/solana/generated/cross-chain/instructions/createOrder.js.map +0 -1
  194. package/dist/esm/core/solana/generated/cross-chain/instructions/index.js +0 -22
  195. package/dist/esm/core/solana/generated/cross-chain/instructions/index.js.map +0 -1
  196. package/dist/esm/core/solana/generated/cross-chain/instructions/initialize.js +0 -126
  197. package/dist/esm/core/solana/generated/cross-chain/instructions/initialize.js.map +0 -1
  198. package/dist/esm/core/solana/generated/cross-chain/instructions/preStartOrderExecution.js +0 -110
  199. package/dist/esm/core/solana/generated/cross-chain/instructions/preStartOrderExecution.js.map +0 -1
  200. package/dist/esm/core/solana/generated/cross-chain/instructions/setAdmin.js +0 -98
  201. package/dist/esm/core/solana/generated/cross-chain/instructions/setAdmin.js.map +0 -1
  202. package/dist/esm/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.js +0 -111
  203. package/dist/esm/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.js.map +0 -1
  204. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecution.js +0 -98
  205. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecution.js.map +0 -1
  206. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.js +0 -106
  207. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.js.map +0 -1
  208. package/dist/esm/core/solana/generated/cross-chain/programs/index.js +0 -9
  209. package/dist/esm/core/solana/generated/cross-chain/programs/index.js.map +0 -1
  210. package/dist/esm/core/solana/generated/cross-chain/programs/sourceChainGuard.js +0 -98
  211. package/dist/esm/core/solana/generated/cross-chain/programs/sourceChainGuard.js.map +0 -1
  212. package/dist/esm/core/solana/generated/cross-chain/shared/index.js +0 -79
  213. package/dist/esm/core/solana/generated/cross-chain/shared/index.js.map +0 -1
  214. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdateStarted.js +0 -18
  215. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdateStarted.js.map +0 -1
  216. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdated.js +0 -18
  217. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdated.js.map +0 -1
  218. package/dist/esm/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.js +0 -24
  219. package/dist/esm/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.js.map +0 -1
  220. package/dist/esm/core/solana/generated/cross-chain/types/dcaExecutionStarted.js +0 -32
  221. package/dist/esm/core/solana/generated/cross-chain/types/dcaExecutionStarted.js.map +0 -1
  222. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderCreated.js +0 -42
  223. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderCreated.js.map +0 -1
  224. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.js +0 -26
  225. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.js.map +0 -1
  226. package/dist/esm/core/solana/generated/cross-chain/types/dcaTokenInSwapped.js +0 -28
  227. package/dist/esm/core/solana/generated/cross-chain/types/dcaTokenInSwapped.js.map +0 -1
  228. package/dist/esm/core/solana/generated/cross-chain/types/executionStarted.js +0 -30
  229. package/dist/esm/core/solana/generated/cross-chain/types/executionStarted.js.map +0 -1
  230. package/dist/esm/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.js +0 -26
  231. package/dist/esm/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.js.map +0 -1
  232. package/dist/esm/core/solana/generated/cross-chain/types/guardCreated.js +0 -28
  233. package/dist/esm/core/solana/generated/cross-chain/types/guardCreated.js.map +0 -1
  234. package/dist/esm/core/solana/generated/cross-chain/types/index.js +0 -22
  235. package/dist/esm/core/solana/generated/cross-chain/types/index.js.map +0 -1
  236. package/dist/esm/core/solana/generated/cross-chain/types/orderCancelled.js +0 -18
  237. package/dist/esm/core/solana/generated/cross-chain/types/orderCancelled.js.map +0 -1
  238. package/dist/esm/core/solana/generated/cross-chain/types/orderCreated.js +0 -36
  239. package/dist/esm/core/solana/generated/cross-chain/types/orderCreated.js.map +0 -1
  240. package/dist/esm/core/solana/generated/cross-chain/types/orderFulfilled.js +0 -18
  241. package/dist/esm/core/solana/generated/cross-chain/types/orderFulfilled.js.map +0 -1
  242. package/dist/esm/core/solana/generated/cross-chain/types/tokenInSwapped.js +0 -26
  243. package/dist/esm/core/solana/generated/cross-chain/types/tokenInSwapped.js.map +0 -1
  244. package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js +0 -60
  245. package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js.map +0 -1
  246. package/dist/esm/core/solana/generated/single-chain/accounts/dcaOrder.js +0 -75
  247. package/dist/esm/core/solana/generated/single-chain/accounts/dcaOrder.js.map +0 -1
  248. package/dist/esm/core/solana/generated/single-chain/accounts/guard.js +0 -62
  249. package/dist/esm/core/solana/generated/single-chain/accounts/guard.js.map +0 -1
  250. package/dist/esm/core/solana/generated/single-chain/accounts/index.js +0 -12
  251. package/dist/esm/core/solana/generated/single-chain/accounts/index.js.map +0 -1
  252. package/dist/esm/core/solana/generated/single-chain/accounts/limitOrder.js +0 -65
  253. package/dist/esm/core/solana/generated/single-chain/accounts/limitOrder.js.map +0 -1
  254. package/dist/esm/core/solana/generated/single-chain/errors/index.js +0 -9
  255. package/dist/esm/core/solana/generated/single-chain/errors/index.js.map +0 -1
  256. package/dist/esm/core/solana/generated/single-chain/errors/singleChainGuard.js +0 -101
  257. package/dist/esm/core/solana/generated/single-chain/errors/singleChainGuard.js.map +0 -1
  258. package/dist/esm/core/solana/generated/single-chain/index.js +0 -13
  259. package/dist/esm/core/solana/generated/single-chain/index.js.map +0 -1
  260. package/dist/esm/core/solana/generated/single-chain/instructions/acceptAdmin.js +0 -88
  261. package/dist/esm/core/solana/generated/single-chain/instructions/acceptAdmin.js.map +0 -1
  262. package/dist/esm/core/solana/generated/single-chain/instructions/cancelDcaOrder.js +0 -84
  263. package/dist/esm/core/solana/generated/single-chain/instructions/cancelDcaOrder.js.map +0 -1
  264. package/dist/esm/core/solana/generated/single-chain/instructions/cancelLimitOrder.js +0 -84
  265. package/dist/esm/core/solana/generated/single-chain/instructions/cancelLimitOrder.js.map +0 -1
  266. package/dist/esm/core/solana/generated/single-chain/instructions/collectProtocolFees.js +0 -121
  267. package/dist/esm/core/solana/generated/single-chain/instructions/collectProtocolFees.js.map +0 -1
  268. package/dist/esm/core/solana/generated/single-chain/instructions/createDcaOrder.js +0 -172
  269. package/dist/esm/core/solana/generated/single-chain/instructions/createDcaOrder.js.map +0 -1
  270. package/dist/esm/core/solana/generated/single-chain/instructions/createGuard.js +0 -163
  271. package/dist/esm/core/solana/generated/single-chain/instructions/createGuard.js.map +0 -1
  272. package/dist/esm/core/solana/generated/single-chain/instructions/createLimitOrder.js +0 -168
  273. package/dist/esm/core/solana/generated/single-chain/instructions/createLimitOrder.js.map +0 -1
  274. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.js +0 -146
  275. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.js.map +0 -1
  276. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillLimitOrder.js +0 -146
  277. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillLimitOrder.js.map +0 -1
  278. package/dist/esm/core/solana/generated/single-chain/instructions/index.js +0 -20
  279. package/dist/esm/core/solana/generated/single-chain/instructions/index.js.map +0 -1
  280. package/dist/esm/core/solana/generated/single-chain/instructions/initialize.js +0 -126
  281. package/dist/esm/core/solana/generated/single-chain/instructions/initialize.js.map +0 -1
  282. package/dist/esm/core/solana/generated/single-chain/instructions/setAdmin.js +0 -98
  283. package/dist/esm/core/solana/generated/single-chain/instructions/setAdmin.js.map +0 -1
  284. package/dist/esm/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.js +0 -111
  285. package/dist/esm/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.js.map +0 -1
  286. package/dist/esm/core/solana/generated/single-chain/programs/index.js +0 -9
  287. package/dist/esm/core/solana/generated/single-chain/programs/index.js.map +0 -1
  288. package/dist/esm/core/solana/generated/single-chain/programs/singleChainGuard.js +0 -90
  289. package/dist/esm/core/solana/generated/single-chain/programs/singleChainGuard.js.map +0 -1
  290. package/dist/esm/core/solana/generated/single-chain/shared/index.js +0 -79
  291. package/dist/esm/core/solana/generated/single-chain/shared/index.js.map +0 -1
  292. package/dist/esm/core/solana/generated/single-chain/types/adminUpdateStarted.js +0 -18
  293. package/dist/esm/core/solana/generated/single-chain/types/adminUpdateStarted.js.map +0 -1
  294. package/dist/esm/core/solana/generated/single-chain/types/adminUpdated.js +0 -18
  295. package/dist/esm/core/solana/generated/single-chain/types/adminUpdated.js.map +0 -1
  296. package/dist/esm/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.js +0 -24
  297. package/dist/esm/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.js.map +0 -1
  298. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderCreated.js +0 -42
  299. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderCreated.js.map +0 -1
  300. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderFulfilled.js +0 -18
  301. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderFulfilled.js.map +0 -1
  302. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.js +0 -30
  303. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.js.map +0 -1
  304. package/dist/esm/core/solana/generated/single-chain/types/guardCreated.js +0 -26
  305. package/dist/esm/core/solana/generated/single-chain/types/guardCreated.js.map +0 -1
  306. package/dist/esm/core/solana/generated/single-chain/types/index.js +0 -18
  307. package/dist/esm/core/solana/generated/single-chain/types/index.js.map +0 -1
  308. package/dist/esm/core/solana/generated/single-chain/types/limitOrderCreated.js +0 -36
  309. package/dist/esm/core/solana/generated/single-chain/types/limitOrderCreated.js.map +0 -1
  310. package/dist/esm/core/solana/generated/single-chain/types/limitOrderFulfilled.js +0 -24
  311. package/dist/esm/core/solana/generated/single-chain/types/limitOrderFulfilled.js.map +0 -1
  312. package/dist/esm/core/solana/generated/single-chain/types/orderCancelled.js +0 -18
  313. package/dist/esm/core/solana/generated/single-chain/types/orderCancelled.js.map +0 -1
  314. package/dist/esm/core/solana/inspect.js +0 -43
  315. package/dist/esm/core/solana/inspect.js.map +0 -1
  316. package/dist/esm/core/solana/intent-helpers.js +0 -177
  317. package/dist/esm/core/solana/intent-helpers.js.map +0 -1
  318. package/dist/esm/core/solana/order-instructions.js +0 -163
  319. package/dist/esm/core/solana/order-instructions.js.map +0 -1
  320. package/dist/esm/core/solana/sdk.js +0 -220
  321. package/dist/esm/core/solana/sdk.js.map +0 -1
  322. package/dist/esm/core/solana/utils.js +0 -19
  323. package/dist/esm/core/solana/utils.js.map +0 -1
  324. package/dist/esm/core/solana/validator.js +0 -28
  325. package/dist/esm/core/solana/validator.js.map +0 -1
  326. package/dist/esm/core/sui/cancel.js +0 -36
  327. package/dist/esm/core/sui/cancel.js.map +0 -1
  328. package/dist/esm/core/sui/client.js +0 -3
  329. package/dist/esm/core/sui/client.js.map +0 -1
  330. package/dist/esm/core/sui/cross-chain-limit-order.js +0 -26
  331. package/dist/esm/core/sui/cross-chain-limit-order.js.map +0 -1
  332. package/dist/esm/core/sui/intent-helpers.js +0 -136
  333. package/dist/esm/core/sui/intent-helpers.js.map +0 -1
  334. package/dist/esm/core/sui/order-transaction.js +0 -58
  335. package/dist/esm/core/sui/order-transaction.js.map +0 -1
  336. package/dist/esm/core/sui/sdk.js +0 -119
  337. package/dist/esm/core/sui/sdk.js.map +0 -1
  338. package/dist/esm/core/sui/single-chain-dca-order.js +0 -99
  339. package/dist/esm/core/sui/single-chain-dca-order.js.map +0 -1
  340. package/dist/esm/core/sui/single-chain-limit-order.js +0 -103
  341. package/dist/esm/core/sui/single-chain-limit-order.js.map +0 -1
  342. package/dist/esm/core/sui/validator.js +0 -31
  343. package/dist/esm/core/sui/validator.js.map +0 -1
  344. package/dist/esm/errors/index.js +0 -68
  345. package/dist/esm/errors/index.js.map +0 -1
  346. package/dist/esm/index.js +0 -38
  347. package/dist/esm/index.js.map +0 -1
  348. package/dist/esm/types/api.js +0 -7
  349. package/dist/esm/types/api.js.map +0 -1
  350. package/dist/esm/types/intent.js +0 -2
  351. package/dist/esm/types/intent.js.map +0 -1
  352. package/dist/esm/utils/base-validator.js +0 -91
  353. package/dist/esm/utils/base-validator.js.map +0 -1
  354. package/dist/esm/utils/defillama.js +0 -104
  355. package/dist/esm/utils/defillama.js.map +0 -1
  356. package/dist/esm/utils/logger.js +0 -109
  357. package/dist/esm/utils/logger.js.map +0 -1
  358. package/dist/esm/utils/order-validator.js +0 -112
  359. package/dist/esm/utils/order-validator.js.map +0 -1
  360. package/dist/esm/utils/parsers.js +0 -28
  361. package/dist/esm/utils/parsers.js.map +0 -1
  362. package/dist/esm/utils/quote/aftermath.js +0 -15
  363. package/dist/esm/utils/quote/aftermath.js.map +0 -1
  364. package/dist/esm/utils/quote/aggregator.js +0 -254
  365. package/dist/esm/utils/quote/aggregator.js.map +0 -1
  366. package/dist/esm/utils/quote/jupiter.js +0 -31
  367. package/dist/esm/utils/quote/jupiter.js.map +0 -1
  368. package/dist/esm/utils/quote/liquidswap.js +0 -22
  369. package/dist/esm/utils/quote/liquidswap.js.map +0 -1
  370. package/dist/esm/utils/quote/paraswap.js +0 -67
  371. package/dist/esm/utils/quote/paraswap.js.map +0 -1
  372. package/dist/esm/utils/quote/stablecoins-tokens.js +0 -13
  373. package/dist/esm/utils/quote/stablecoins-tokens.js.map +0 -1
  374. package/dist/esm/utils/type-utils.js +0 -2
  375. package/dist/esm/utils/type-utils.js.map +0 -1
  376. package/dist/types/auth/siwe.d.ts +0 -13
  377. package/dist/types/auth/siwe.d.ts.map +0 -1
  378. package/dist/types/chains.d.ts +0 -62
  379. package/dist/types/chains.d.ts.map +0 -1
  380. package/dist/types/config.d.ts +0 -21
  381. package/dist/types/config.d.ts.map +0 -1
  382. package/dist/types/constants.d.ts +0 -43
  383. package/dist/types/constants.d.ts.map +0 -1
  384. package/dist/types/core/evm/abi/erc20.d.ts +0 -240
  385. package/dist/types/core/evm/abi/erc20.d.ts.map +0 -1
  386. package/dist/types/core/evm/abi/permit2.d.ts +0 -304
  387. package/dist/types/core/evm/abi/permit2.d.ts.map +0 -1
  388. package/dist/types/core/evm/abi/single-chain-guard-limit.d.ts +0 -596
  389. package/dist/types/core/evm/abi/single-chain-guard-limit.d.ts.map +0 -1
  390. package/dist/types/core/evm/abi/source-chain-guard.d.ts +0 -877
  391. package/dist/types/core/evm/abi/source-chain-guard.d.ts.map +0 -1
  392. package/dist/types/core/evm/cancel-order.d.ts +0 -28
  393. package/dist/types/core/evm/cancel-order.d.ts.map +0 -1
  394. package/dist/types/core/evm/chain-provider.d.ts +0 -62338
  395. package/dist/types/core/evm/chain-provider.d.ts.map +0 -1
  396. package/dist/types/core/evm/connectors/hyperevm.d.ts +0 -38
  397. package/dist/types/core/evm/connectors/hyperevm.d.ts.map +0 -1
  398. package/dist/types/core/evm/cross-chain-limit-order.d.ts +0 -22
  399. package/dist/types/core/evm/cross-chain-limit-order.d.ts.map +0 -1
  400. package/dist/types/core/evm/intent-helpers.d.ts +0 -105
  401. package/dist/types/core/evm/intent-helpers.d.ts.map +0 -1
  402. package/dist/types/core/evm/intent-provider.d.ts +0 -19
  403. package/dist/types/core/evm/intent-provider.d.ts.map +0 -1
  404. package/dist/types/core/evm/order-signature.d.ts +0 -22
  405. package/dist/types/core/evm/order-signature.d.ts.map +0 -1
  406. package/dist/types/core/evm/permit2.d.ts +0 -261
  407. package/dist/types/core/evm/permit2.d.ts.map +0 -1
  408. package/dist/types/core/evm/sdk.d.ts +0 -63
  409. package/dist/types/core/evm/sdk.d.ts.map +0 -1
  410. package/dist/types/core/evm/single-chain-dca-order.d.ts +0 -26
  411. package/dist/types/core/evm/single-chain-dca-order.d.ts.map +0 -1
  412. package/dist/types/core/evm/single-chain-limit-order.d.ts +0 -23
  413. package/dist/types/core/evm/single-chain-limit-order.d.ts.map +0 -1
  414. package/dist/types/core/evm/types.d.ts +0 -8
  415. package/dist/types/core/evm/types.d.ts.map +0 -1
  416. package/dist/types/core/evm/validator.d.ts +0 -23
  417. package/dist/types/core/evm/validator.d.ts.map +0 -1
  418. package/dist/types/core/orders/api/fetch.d.ts +0 -3
  419. package/dist/types/core/orders/api/fetch.d.ts.map +0 -1
  420. package/dist/types/core/orders/api/index.d.ts +0 -8
  421. package/dist/types/core/orders/api/index.d.ts.map +0 -1
  422. package/dist/types/core/orders/common.d.ts +0 -12
  423. package/dist/types/core/orders/common.d.ts.map +0 -1
  424. package/dist/types/core/orders/cross-chain.d.ts +0 -125
  425. package/dist/types/core/orders/cross-chain.d.ts.map +0 -1
  426. package/dist/types/core/orders/dca-single-chain.d.ts +0 -47
  427. package/dist/types/core/orders/dca-single-chain.d.ts.map +0 -1
  428. package/dist/types/core/orders/single-chain.d.ts +0 -47
  429. package/dist/types/core/orders/single-chain.d.ts.map +0 -1
  430. package/dist/types/core/sdk.d.ts +0 -30
  431. package/dist/types/core/sdk.d.ts.map +0 -1
  432. package/dist/types/core/solana/cancel-order.d.ts +0 -18
  433. package/dist/types/core/solana/cancel-order.d.ts.map +0 -1
  434. package/dist/types/core/solana/client.d.ts +0 -11
  435. package/dist/types/core/solana/client.d.ts.map +0 -1
  436. package/dist/types/core/solana/cross-chain-limit-order.d.ts +0 -9
  437. package/dist/types/core/solana/cross-chain-limit-order.d.ts.map +0 -1
  438. package/dist/types/core/solana/dca/cancel-order.d.ts +0 -5
  439. package/dist/types/core/solana/dca/cancel-order.d.ts.map +0 -1
  440. package/dist/types/core/solana/dca/create-order.d.ts +0 -8
  441. package/dist/types/core/solana/dca/create-order.d.ts.map +0 -1
  442. package/dist/types/core/solana/dca/single-chain-dca-order.d.ts +0 -14
  443. package/dist/types/core/solana/dca/single-chain-dca-order.d.ts.map +0 -1
  444. package/dist/types/core/solana/dca/single-chain-limit-order.d.ts +0 -19
  445. package/dist/types/core/solana/dca/single-chain-limit-order.d.ts.map +0 -1
  446. package/dist/types/core/solana/generated/cross-chain/accounts/adminSingleton.d.ts +0 -40
  447. package/dist/types/core/solana/generated/cross-chain/accounts/adminSingleton.d.ts.map +0 -1
  448. package/dist/types/core/solana/generated/cross-chain/accounts/dcaOrder.d.ts +0 -110
  449. package/dist/types/core/solana/generated/cross-chain/accounts/dcaOrder.d.ts.map +0 -1
  450. package/dist/types/core/solana/generated/cross-chain/accounts/guard.d.ts +0 -52
  451. package/dist/types/core/solana/generated/cross-chain/accounts/guard.d.ts.map +0 -1
  452. package/dist/types/core/solana/generated/cross-chain/accounts/index.d.ts +0 -12
  453. package/dist/types/core/solana/generated/cross-chain/accounts/index.d.ts.map +0 -1
  454. package/dist/types/core/solana/generated/cross-chain/accounts/order.d.ts +0 -92
  455. package/dist/types/core/solana/generated/cross-chain/accounts/order.d.ts.map +0 -1
  456. package/dist/types/core/solana/generated/cross-chain/errors/index.d.ts +0 -9
  457. package/dist/types/core/solana/generated/cross-chain/errors/index.d.ts.map +0 -1
  458. package/dist/types/core/solana/generated/cross-chain/errors/sourceChainGuard.d.ts +0 -97
  459. package/dist/types/core/solana/generated/cross-chain/errors/sourceChainGuard.d.ts.map +0 -1
  460. package/dist/types/core/solana/generated/cross-chain/index.d.ts +0 -13
  461. package/dist/types/core/solana/generated/cross-chain/index.d.ts.map +0 -1
  462. package/dist/types/core/solana/generated/cross-chain/instructions/acceptAdmin.d.ts +0 -56
  463. package/dist/types/core/solana/generated/cross-chain/instructions/acceptAdmin.d.ts.map +0 -1
  464. package/dist/types/core/solana/generated/cross-chain/instructions/cancelDcaOrder.d.ts +0 -124
  465. package/dist/types/core/solana/generated/cross-chain/instructions/cancelDcaOrder.d.ts.map +0 -1
  466. package/dist/types/core/solana/generated/cross-chain/instructions/cancelOrder.d.ts +0 -108
  467. package/dist/types/core/solana/generated/cross-chain/instructions/cancelOrder.d.ts.map +0 -1
  468. package/dist/types/core/solana/generated/cross-chain/instructions/claimTokens.d.ts +0 -131
  469. package/dist/types/core/solana/generated/cross-chain/instructions/claimTokens.d.ts.map +0 -1
  470. package/dist/types/core/solana/generated/cross-chain/instructions/collectProtocolFees.d.ts +0 -91
  471. package/dist/types/core/solana/generated/cross-chain/instructions/collectProtocolFees.d.ts.map +0 -1
  472. package/dist/types/core/solana/generated/cross-chain/instructions/createDcaOrder.d.ts +0 -130
  473. package/dist/types/core/solana/generated/cross-chain/instructions/createDcaOrder.d.ts.map +0 -1
  474. package/dist/types/core/solana/generated/cross-chain/instructions/createGuard.d.ts +0 -137
  475. package/dist/types/core/solana/generated/cross-chain/instructions/createGuard.d.ts.map +0 -1
  476. package/dist/types/core/solana/generated/cross-chain/instructions/createOrder.d.ts +0 -122
  477. package/dist/types/core/solana/generated/cross-chain/instructions/createOrder.d.ts.map +0 -1
  478. package/dist/types/core/solana/generated/cross-chain/instructions/index.d.ts +0 -22
  479. package/dist/types/core/solana/generated/cross-chain/instructions/index.d.ts.map +0 -1
  480. package/dist/types/core/solana/generated/cross-chain/instructions/initialize.d.ts +0 -86
  481. package/dist/types/core/solana/generated/cross-chain/instructions/initialize.d.ts.map +0 -1
  482. package/dist/types/core/solana/generated/cross-chain/instructions/preStartOrderExecution.d.ts +0 -105
  483. package/dist/types/core/solana/generated/cross-chain/instructions/preStartOrderExecution.d.ts.map +0 -1
  484. package/dist/types/core/solana/generated/cross-chain/instructions/setAdmin.d.ts +0 -61
  485. package/dist/types/core/solana/generated/cross-chain/instructions/setAdmin.d.ts.map +0 -1
  486. package/dist/types/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.d.ts +0 -68
  487. package/dist/types/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.d.ts.map +0 -1
  488. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecution.d.ts +0 -85
  489. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecution.d.ts.map +0 -1
  490. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.d.ts +0 -95
  491. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.d.ts.map +0 -1
  492. package/dist/types/core/solana/generated/cross-chain/programs/index.d.ts +0 -9
  493. package/dist/types/core/solana/generated/cross-chain/programs/index.d.ts.map +0 -1
  494. package/dist/types/core/solana/generated/cross-chain/programs/sourceChainGuard.d.ts +0 -69
  495. package/dist/types/core/solana/generated/cross-chain/programs/sourceChainGuard.d.ts.map +0 -1
  496. package/dist/types/core/solana/generated/cross-chain/shared/index.d.ts +0 -52
  497. package/dist/types/core/solana/generated/cross-chain/shared/index.d.ts.map +0 -1
  498. package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts +0 -16
  499. package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts.map +0 -1
  500. package/dist/types/core/solana/generated/cross-chain/types/adminUpdated.d.ts +0 -16
  501. package/dist/types/core/solana/generated/cross-chain/types/adminUpdated.d.ts.map +0 -1
  502. package/dist/types/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.d.ts +0 -17
  503. package/dist/types/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.d.ts.map +0 -1
  504. package/dist/types/core/solana/generated/cross-chain/types/dcaExecutionStarted.d.ts +0 -28
  505. package/dist/types/core/solana/generated/cross-chain/types/dcaExecutionStarted.d.ts.map +0 -1
  506. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderCreated.d.ts +0 -38
  507. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderCreated.d.ts.map +0 -1
  508. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.d.ts +0 -18
  509. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.d.ts.map +0 -1
  510. package/dist/types/core/solana/generated/cross-chain/types/dcaTokenInSwapped.d.ts +0 -24
  511. package/dist/types/core/solana/generated/cross-chain/types/dcaTokenInSwapped.d.ts.map +0 -1
  512. package/dist/types/core/solana/generated/cross-chain/types/executionStarted.d.ts +0 -26
  513. package/dist/types/core/solana/generated/cross-chain/types/executionStarted.d.ts.map +0 -1
  514. package/dist/types/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.d.ts +0 -18
  515. package/dist/types/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.d.ts.map +0 -1
  516. package/dist/types/core/solana/generated/cross-chain/types/guardCreated.d.ts +0 -19
  517. package/dist/types/core/solana/generated/cross-chain/types/guardCreated.d.ts.map +0 -1
  518. package/dist/types/core/solana/generated/cross-chain/types/index.d.ts +0 -22
  519. package/dist/types/core/solana/generated/cross-chain/types/index.d.ts.map +0 -1
  520. package/dist/types/core/solana/generated/cross-chain/types/orderCancelled.d.ts +0 -16
  521. package/dist/types/core/solana/generated/cross-chain/types/orderCancelled.d.ts.map +0 -1
  522. package/dist/types/core/solana/generated/cross-chain/types/orderCreated.d.ts +0 -32
  523. package/dist/types/core/solana/generated/cross-chain/types/orderCreated.d.ts.map +0 -1
  524. package/dist/types/core/solana/generated/cross-chain/types/orderFulfilled.d.ts +0 -16
  525. package/dist/types/core/solana/generated/cross-chain/types/orderFulfilled.d.ts.map +0 -1
  526. package/dist/types/core/solana/generated/cross-chain/types/tokenInSwapped.d.ts +0 -22
  527. package/dist/types/core/solana/generated/cross-chain/types/tokenInSwapped.d.ts.map +0 -1
  528. package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts +0 -40
  529. package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts.map +0 -1
  530. package/dist/types/core/solana/generated/single-chain/accounts/dcaOrder.d.ts +0 -99
  531. package/dist/types/core/solana/generated/single-chain/accounts/dcaOrder.d.ts.map +0 -1
  532. package/dist/types/core/solana/generated/single-chain/accounts/guard.d.ts +0 -48
  533. package/dist/types/core/solana/generated/single-chain/accounts/guard.d.ts.map +0 -1
  534. package/dist/types/core/solana/generated/single-chain/accounts/index.d.ts +0 -12
  535. package/dist/types/core/solana/generated/single-chain/accounts/index.d.ts.map +0 -1
  536. package/dist/types/core/solana/generated/single-chain/accounts/limitOrder.d.ts +0 -79
  537. package/dist/types/core/solana/generated/single-chain/accounts/limitOrder.d.ts.map +0 -1
  538. package/dist/types/core/solana/generated/single-chain/errors/index.d.ts +0 -9
  539. package/dist/types/core/solana/generated/single-chain/errors/index.d.ts.map +0 -1
  540. package/dist/types/core/solana/generated/single-chain/errors/singleChainGuard.d.ts +0 -71
  541. package/dist/types/core/solana/generated/single-chain/errors/singleChainGuard.d.ts.map +0 -1
  542. package/dist/types/core/solana/generated/single-chain/index.d.ts +0 -13
  543. package/dist/types/core/solana/generated/single-chain/index.d.ts.map +0 -1
  544. package/dist/types/core/solana/generated/single-chain/instructions/acceptAdmin.d.ts +0 -56
  545. package/dist/types/core/solana/generated/single-chain/instructions/acceptAdmin.d.ts.map +0 -1
  546. package/dist/types/core/solana/generated/single-chain/instructions/cancelDcaOrder.d.ts +0 -72
  547. package/dist/types/core/solana/generated/single-chain/instructions/cancelDcaOrder.d.ts.map +0 -1
  548. package/dist/types/core/solana/generated/single-chain/instructions/cancelLimitOrder.d.ts +0 -72
  549. package/dist/types/core/solana/generated/single-chain/instructions/cancelLimitOrder.d.ts.map +0 -1
  550. package/dist/types/core/solana/generated/single-chain/instructions/collectProtocolFees.d.ts +0 -91
  551. package/dist/types/core/solana/generated/single-chain/instructions/collectProtocolFees.d.ts.map +0 -1
  552. package/dist/types/core/solana/generated/single-chain/instructions/createDcaOrder.d.ts +0 -134
  553. package/dist/types/core/solana/generated/single-chain/instructions/createDcaOrder.d.ts.map +0 -1
  554. package/dist/types/core/solana/generated/single-chain/instructions/createGuard.d.ts +0 -107
  555. package/dist/types/core/solana/generated/single-chain/instructions/createGuard.d.ts.map +0 -1
  556. package/dist/types/core/solana/generated/single-chain/instructions/createLimitOrder.d.ts +0 -126
  557. package/dist/types/core/solana/generated/single-chain/instructions/createLimitOrder.d.ts.map +0 -1
  558. package/dist/types/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.d.ts +0 -179
  559. package/dist/types/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.d.ts.map +0 -1
  560. package/dist/types/core/solana/generated/single-chain/instructions/fulfillLimitOrder.d.ts +0 -179
  561. package/dist/types/core/solana/generated/single-chain/instructions/fulfillLimitOrder.d.ts.map +0 -1
  562. package/dist/types/core/solana/generated/single-chain/instructions/index.d.ts +0 -20
  563. package/dist/types/core/solana/generated/single-chain/instructions/index.d.ts.map +0 -1
  564. package/dist/types/core/solana/generated/single-chain/instructions/initialize.d.ts +0 -86
  565. package/dist/types/core/solana/generated/single-chain/instructions/initialize.d.ts.map +0 -1
  566. package/dist/types/core/solana/generated/single-chain/instructions/setAdmin.d.ts +0 -61
  567. package/dist/types/core/solana/generated/single-chain/instructions/setAdmin.d.ts.map +0 -1
  568. package/dist/types/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.d.ts +0 -68
  569. package/dist/types/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.d.ts.map +0 -1
  570. package/dist/types/core/solana/generated/single-chain/programs/index.d.ts +0 -9
  571. package/dist/types/core/solana/generated/single-chain/programs/index.d.ts.map +0 -1
  572. package/dist/types/core/solana/generated/single-chain/programs/singleChainGuard.d.ts +0 -63
  573. package/dist/types/core/solana/generated/single-chain/programs/singleChainGuard.d.ts.map +0 -1
  574. package/dist/types/core/solana/generated/single-chain/shared/index.d.ts +0 -52
  575. package/dist/types/core/solana/generated/single-chain/shared/index.d.ts.map +0 -1
  576. package/dist/types/core/solana/generated/single-chain/types/adminUpdateStarted.d.ts +0 -16
  577. package/dist/types/core/solana/generated/single-chain/types/adminUpdateStarted.d.ts.map +0 -1
  578. package/dist/types/core/solana/generated/single-chain/types/adminUpdated.d.ts +0 -16
  579. package/dist/types/core/solana/generated/single-chain/types/adminUpdated.d.ts.map +0 -1
  580. package/dist/types/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.d.ts +0 -17
  581. package/dist/types/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.d.ts.map +0 -1
  582. package/dist/types/core/solana/generated/single-chain/types/dcaOrderCreated.d.ts +0 -38
  583. package/dist/types/core/solana/generated/single-chain/types/dcaOrderCreated.d.ts.map +0 -1
  584. package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts +0 -16
  585. package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts.map +0 -1
  586. package/dist/types/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.d.ts +0 -26
  587. package/dist/types/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.d.ts.map +0 -1
  588. package/dist/types/core/solana/generated/single-chain/types/guardCreated.d.ts +0 -18
  589. package/dist/types/core/solana/generated/single-chain/types/guardCreated.d.ts.map +0 -1
  590. package/dist/types/core/solana/generated/single-chain/types/index.d.ts +0 -18
  591. package/dist/types/core/solana/generated/single-chain/types/index.d.ts.map +0 -1
  592. package/dist/types/core/solana/generated/single-chain/types/limitOrderCreated.d.ts +0 -32
  593. package/dist/types/core/solana/generated/single-chain/types/limitOrderCreated.d.ts.map +0 -1
  594. package/dist/types/core/solana/generated/single-chain/types/limitOrderFulfilled.d.ts +0 -20
  595. package/dist/types/core/solana/generated/single-chain/types/limitOrderFulfilled.d.ts.map +0 -1
  596. package/dist/types/core/solana/generated/single-chain/types/orderCancelled.d.ts +0 -16
  597. package/dist/types/core/solana/generated/single-chain/types/orderCancelled.d.ts.map +0 -1
  598. package/dist/types/core/solana/inspect.d.ts +0 -14
  599. package/dist/types/core/solana/inspect.d.ts.map +0 -1
  600. package/dist/types/core/solana/intent-helpers.d.ts +0 -120
  601. package/dist/types/core/solana/intent-helpers.d.ts.map +0 -1
  602. package/dist/types/core/solana/order-instructions.d.ts +0 -16
  603. package/dist/types/core/solana/order-instructions.d.ts.map +0 -1
  604. package/dist/types/core/solana/sdk.d.ts +0 -73
  605. package/dist/types/core/solana/sdk.d.ts.map +0 -1
  606. package/dist/types/core/solana/utils.d.ts +0 -7
  607. package/dist/types/core/solana/utils.d.ts.map +0 -1
  608. package/dist/types/core/solana/validator.d.ts +0 -11
  609. package/dist/types/core/solana/validator.d.ts.map +0 -1
  610. package/dist/types/core/sui/cancel.d.ts +0 -3
  611. package/dist/types/core/sui/cancel.d.ts.map +0 -1
  612. package/dist/types/core/sui/client.d.ts +0 -3
  613. package/dist/types/core/sui/client.d.ts.map +0 -1
  614. package/dist/types/core/sui/cross-chain-limit-order.d.ts +0 -14
  615. package/dist/types/core/sui/cross-chain-limit-order.d.ts.map +0 -1
  616. package/dist/types/core/sui/intent-helpers.d.ts +0 -89
  617. package/dist/types/core/sui/intent-helpers.d.ts.map +0 -1
  618. package/dist/types/core/sui/order-transaction.d.ts +0 -11
  619. package/dist/types/core/sui/order-transaction.d.ts.map +0 -1
  620. package/dist/types/core/sui/sdk.d.ts +0 -57
  621. package/dist/types/core/sui/sdk.d.ts.map +0 -1
  622. package/dist/types/core/sui/single-chain-dca-order.d.ts +0 -22
  623. package/dist/types/core/sui/single-chain-dca-order.d.ts.map +0 -1
  624. package/dist/types/core/sui/single-chain-limit-order.d.ts +0 -26
  625. package/dist/types/core/sui/single-chain-limit-order.d.ts.map +0 -1
  626. package/dist/types/core/sui/validator.d.ts +0 -11
  627. package/dist/types/core/sui/validator.d.ts.map +0 -1
  628. package/dist/types/errors/index.d.ts +0 -20
  629. package/dist/types/errors/index.d.ts.map +0 -1
  630. package/dist/types/index.d.ts +0 -42
  631. package/dist/types/index.d.ts.map +0 -1
  632. package/dist/types/types/api.d.ts +0 -65
  633. package/dist/types/types/api.d.ts.map +0 -1
  634. package/dist/types/types/intent.d.ts +0 -136
  635. package/dist/types/types/intent.d.ts.map +0 -1
  636. package/dist/types/utils/base-validator.d.ts +0 -46
  637. package/dist/types/utils/base-validator.d.ts.map +0 -1
  638. package/dist/types/utils/defillama.d.ts +0 -61
  639. package/dist/types/utils/defillama.d.ts.map +0 -1
  640. package/dist/types/utils/logger.d.ts +0 -35
  641. package/dist/types/utils/logger.d.ts.map +0 -1
  642. package/dist/types/utils/order-validator.d.ts +0 -64
  643. package/dist/types/utils/order-validator.d.ts.map +0 -1
  644. package/dist/types/utils/parsers.d.ts +0 -6
  645. package/dist/types/utils/parsers.d.ts.map +0 -1
  646. package/dist/types/utils/quote/aftermath.d.ts +0 -9
  647. package/dist/types/utils/quote/aftermath.d.ts.map +0 -1
  648. package/dist/types/utils/quote/aggregator.d.ts +0 -64
  649. package/dist/types/utils/quote/aggregator.d.ts.map +0 -1
  650. package/dist/types/utils/quote/jupiter.d.ts +0 -16
  651. package/dist/types/utils/quote/jupiter.d.ts.map +0 -1
  652. package/dist/types/utils/quote/liquidswap.d.ts +0 -16
  653. package/dist/types/utils/quote/liquidswap.d.ts.map +0 -1
  654. package/dist/types/utils/quote/paraswap.d.ts +0 -23
  655. package/dist/types/utils/quote/paraswap.d.ts.map +0 -1
  656. package/dist/types/utils/quote/stablecoins-tokens.d.ts +0 -11
  657. package/dist/types/utils/quote/stablecoins-tokens.d.ts.map +0 -1
  658. package/dist/types/utils/type-utils.d.ts +0 -2
  659. package/dist/types/utils/type-utils.d.ts.map +0 -1
  660. package/src/core/solana/cross-chain-limit-order.ts +0 -24
@@ -0,0 +1,506 @@
1
+ import { NATIVE_SOLANA_TOKEN_ADDRESS, WRAPPED_SOL_MINT_ADDRESS } from '../../constants.js';
2
+ import {
3
+ API_URLS,
4
+ getPdaLaunchpadPoolId,
5
+ Raydium,
6
+ LAUNCHPAD_PROGRAM,
7
+ PlatformConfig,
8
+ Curve,
9
+ type LaunchpadConfigInfo,
10
+ type LaunchpadPoolInfo,
11
+ } from '@raydium-io/raydium-sdk-v2';
12
+ import { type SimpleQuote } from './aggregator.js';
13
+ import { Connection, clusterApiUrl, PublicKey } from '@solana/web3.js'; // Used this package for raydium-sdk-v2 compatibility
14
+ import BN from 'bn.js';
15
+ import { Decimal } from 'decimal.js';
16
+ import { JupiterQuoteProvider, type JupiterQuoteParams } from './jupiter.js';
17
+ import { TWO_SECONDS_MS, TEN_MINUTES_MS } from './utils.js';
18
+
19
+ const launchpadPoolCache = new Map<
20
+ string,
21
+ {
22
+ data: [
23
+ LaunchpadPoolInfo & {
24
+ programId: PublicKey;
25
+ configInfo: LaunchpadConfigInfo;
26
+ },
27
+ PublicKey,
28
+ ];
29
+ expiresAt: number;
30
+ }
31
+ >();
32
+
33
+ const launchpadPoolInfoCache = new Map<
34
+ string,
35
+ {
36
+ data: LaunchpadPoolInfo & {
37
+ programId: PublicKey;
38
+ configInfo: LaunchpadConfigInfo;
39
+ };
40
+ expiresAt: number;
41
+ }
42
+ >();
43
+
44
+ const platformConfigCache = new Map<
45
+ string,
46
+ {
47
+ data: ReturnType<typeof PlatformConfig.decode>;
48
+ expiresAt: number;
49
+ }
50
+ >();
51
+
52
+ const mintInfoCache = new Map<string, Awaited<ReturnType<Raydium['token']['getTokenInfo']>>>();
53
+
54
+ // Local implementation of compareAddresses function
55
+ const compareAddresses = (firstAddress?: string, secondAddress?: string): boolean => {
56
+ return !!firstAddress && !!secondAddress && firstAddress.toLowerCase() === secondAddress.toLowerCase();
57
+ };
58
+
59
+ const LAUNCHPAD_WHITELISTED_QUOTE_TOKENS = [
60
+ new PublicKey('So11111111111111111111111111111111111111112'), // WSOL
61
+ new PublicKey('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'), // USDC
62
+ new PublicKey('Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB'), // USDT
63
+ new PublicKey('USD1ttGY1N17NEEHLmELoaybftRBUSErhqYiQzvEmuB'), // USD1
64
+ ];
65
+
66
+ export type RaydiumPumpQuoteParams = {
67
+ inputMint: string;
68
+ outputMint: string;
69
+ amount: string;
70
+ slippageBps: number;
71
+ };
72
+
73
+ export type RaydiumQuoteResponse = {
74
+ success: boolean;
75
+ data: {
76
+ inputMint: string;
77
+ outputMint: string;
78
+ inAmount: string;
79
+ outAmount: string;
80
+ otherAmountThreshold: string;
81
+ swapMode: string;
82
+ slippageBps: number;
83
+ platformFee: null;
84
+ priceImpactPct: string;
85
+ routePlan: Array<{
86
+ swapInfo: {
87
+ ammKey: string;
88
+ label: string;
89
+ inputMint: string;
90
+ outputMint: string;
91
+ notEnoughLiquidity: boolean;
92
+ minInAmount: string;
93
+ minOutAmount: string;
94
+ priceImpactPct: string;
95
+ lpFee: {
96
+ amount: string;
97
+ mint: string;
98
+ pct: number;
99
+ };
100
+ platformFee: {
101
+ amount: string;
102
+ mint: string;
103
+ pct: number;
104
+ };
105
+ };
106
+ percent: number;
107
+ }>;
108
+ };
109
+ };
110
+
111
+ let raydium: Raydium | undefined;
112
+ export const initSdk = async (): Promise<Raydium> => {
113
+ if (raydium) return raydium;
114
+ raydium = await Raydium.load({
115
+ connection: new Connection(clusterApiUrl('mainnet-beta')),
116
+ disableFeatureCheck: true,
117
+ disableLoadToken: true,
118
+ });
119
+ return raydium;
120
+ };
121
+
122
+ // Using API_URLS from Raydium SDK v2
123
+
124
+ export class RaydiumQuoteProvider {
125
+ /**
126
+ * Get priority fee recommendations from Raydium API
127
+ * @returns Priority fee data with different tiers (vh, h, m)
128
+ */
129
+ public async getPriorityFee(): Promise<{
130
+ vh: number; // very high
131
+ h: number; // high
132
+ m: number; // medium
133
+ }> {
134
+ const url = new URL(API_URLS.PRIORITY_FEE, API_URLS.BASE_HOST);
135
+ const response = await fetch(url);
136
+
137
+ if (!response.ok) {
138
+ throw new Error(`Failed to fetch priority fee from Raydium API: ${response.status} ${response.statusText}`);
139
+ }
140
+
141
+ const data = await response.json();
142
+
143
+ if (!data.success) {
144
+ throw new Error('Raydium API returned unsuccessful response for priority fee');
145
+ }
146
+
147
+ return data.data.default;
148
+ }
149
+
150
+ public async getQuote(raydiumParams: RaydiumPumpQuoteParams): Promise<RaydiumQuoteResponse> {
151
+ const params = { ...raydiumParams };
152
+
153
+ // Handle native SOL token mapping for Solana
154
+ if (compareAddresses(params.inputMint, NATIVE_SOLANA_TOKEN_ADDRESS)) {
155
+ params.inputMint = WRAPPED_SOL_MINT_ADDRESS;
156
+ }
157
+
158
+ if (compareAddresses(params.outputMint, NATIVE_SOLANA_TOKEN_ADDRESS)) {
159
+ params.outputMint = WRAPPED_SOL_MINT_ADDRESS;
160
+ }
161
+
162
+ const url = new URL('/compute/swap-base-in', API_URLS.SWAP_HOST);
163
+ url.searchParams.set('inputMint', params.inputMint);
164
+ url.searchParams.set('outputMint', params.outputMint);
165
+ url.searchParams.set('amount', params.amount);
166
+ url.searchParams.set('slippageBps', params.slippageBps.toString());
167
+ url.searchParams.set('txVersion', 'V0');
168
+
169
+ const response = await fetch(url);
170
+
171
+ if (!response.ok) {
172
+ throw new Error(`Failed to fetch quote from Raydium API: ${response.status} ${response.statusText}`);
173
+ }
174
+
175
+ const data: RaydiumQuoteResponse = await response.json();
176
+
177
+ if (!data.success) {
178
+ throw new Error('Raydium API returned unsuccessful response');
179
+ }
180
+
181
+ return data;
182
+ }
183
+
184
+ /**
185
+ * Get transaction data for executing a swap
186
+ * @param params - Transaction parameters
187
+ * @returns Serialized transaction data
188
+ */
189
+ public async getSwapTransaction(params: {
190
+ swapResponse: RaydiumQuoteResponse;
191
+ wallet: string;
192
+ txVersion: 'V0' | 'LEGACY';
193
+ wrapSol?: boolean;
194
+ unwrapSol?: boolean;
195
+ inputAccount?: string;
196
+ outputAccount?: string;
197
+ computeUnitPriceMicroLamports?: string;
198
+ }): Promise<{
199
+ id: string;
200
+ version: string;
201
+ success: boolean;
202
+ data: { transaction: string }[];
203
+ }> {
204
+ const url = new URL('/transaction/swap-base-in', API_URLS.SWAP_HOST);
205
+ const response = await fetch(url, {
206
+ method: 'POST',
207
+ headers: {
208
+ 'Content-Type': 'application/json',
209
+ },
210
+ body: JSON.stringify({
211
+ computeUnitPriceMicroLamports: params.computeUnitPriceMicroLamports || '0',
212
+ swapResponse: params.swapResponse,
213
+ txVersion: params.txVersion,
214
+ wallet: params.wallet,
215
+ wrapSol: params.wrapSol || false,
216
+ unwrapSol: params.unwrapSol || false,
217
+ inputAccount: params.inputAccount,
218
+ outputAccount: params.outputAccount,
219
+ }),
220
+ });
221
+
222
+ if (!response.ok) {
223
+ throw new Error(`Failed to get swap transaction from Raydium API: ${response.status} ${response.statusText}`);
224
+ }
225
+
226
+ const data = await response.json();
227
+
228
+ if (!data.success) {
229
+ throw new Error('Raydium API returned unsuccessful response for swap transaction');
230
+ }
231
+
232
+ return data;
233
+ }
234
+
235
+ public async getQuotePrebonded(raydiumParams: RaydiumPumpQuoteParams): Promise<SimpleQuote> {
236
+ // First, get the Raydium quote token
237
+ let raydiumSdk = await initSdk();
238
+ let inputMintPk = new PublicKey(raydiumParams.inputMint);
239
+ let outputMintPk = new PublicKey(raydiumParams.outputMint);
240
+
241
+ // Check if either input or output mint is in the launchpad whitelisted tokens
242
+ let poolInfo, inputPoolInfo, outputPoolInfo, quoteToken, isInputPrebonded, inputQuoteToken, outputQuoteToken;
243
+ try {
244
+ [inputPoolInfo, inputQuoteToken] = await this.checkPreboundedTokensSwapLaunchpad(raydiumSdk, inputMintPk);
245
+ if (inputPoolInfo && inputQuoteToken) {
246
+ isInputPrebonded = true;
247
+ poolInfo = inputPoolInfo;
248
+ quoteToken = inputQuoteToken;
249
+ }
250
+ } catch (e) {}
251
+ try {
252
+ [outputPoolInfo, outputQuoteToken] = await this.checkPreboundedTokensSwapLaunchpad(raydiumSdk, outputMintPk);
253
+ if (outputPoolInfo && outputQuoteToken) {
254
+ isInputPrebonded = false;
255
+ poolInfo = outputPoolInfo;
256
+ quoteToken = outputQuoteToken;
257
+ }
258
+ } catch (e) {}
259
+
260
+ if (inputPoolInfo && outputPoolInfo) {
261
+ // Both input and output are prebonded, which is not supported
262
+ throw new Error('Both input and output tokens are prebonded, which is not supported');
263
+ } else if (!quoteToken || !poolInfo) {
264
+ // Neither input nor output is prebonded, fallback to regular Raydium quote
265
+ throw new Error('Neither input nor output tokens are prebonded');
266
+ }
267
+
268
+ let quoteIsInput = quoteToken.equals(inputMintPk);
269
+ let quoteIsOutput = quoteToken.equals(outputMintPk);
270
+
271
+ if (isInputPrebonded) {
272
+ // We have to estimate prebonded first and then swap from quote token to output token (if needed)
273
+ let { expectedAmountOut, minimumAmountOut } = await this.estimatePrebondedToQuote(
274
+ raydiumSdk,
275
+ inputMintPk,
276
+ poolInfo,
277
+ 'sell',
278
+ new BN(raydiumParams.amount),
279
+ new BN(raydiumParams.slippageBps), // Use full slippage for simplicity
280
+ );
281
+
282
+ // Then, if output token is not quote token, we have to swap from quote token to output token
283
+ if (!quoteIsOutput) {
284
+ let jupiterQuoteRequest: JupiterQuoteParams = {
285
+ amount: BigInt(expectedAmountOut.toString()),
286
+ tokenIn: quoteToken.toString(),
287
+ tokenOut: raydiumParams.outputMint,
288
+ swapMode: 'ExactIn',
289
+ slippageBps: raydiumParams.slippageBps, // Use full slippage for simplicity
290
+ };
291
+ const jupiterQuoter = new JupiterQuoteProvider();
292
+ const jupiterQuote = await jupiterQuoter.getQuote(jupiterQuoteRequest);
293
+ if (!jupiterQuote.quote) {
294
+ throw new Error('Jupiter quote failed');
295
+ }
296
+
297
+ return {
298
+ amountIn: BigInt(raydiumParams.amount),
299
+ amountOut: BigInt(jupiterQuote.quote.outAmount),
300
+ amountOutMin: BigInt(jupiterQuote.quote.otherAmountThreshold),
301
+ slippage: raydiumParams.slippageBps / 100,
302
+ };
303
+ } else {
304
+ return {
305
+ amountIn: BigInt(raydiumParams.amount),
306
+ amountOut: BigInt(expectedAmountOut.toString()),
307
+ amountOutMin: BigInt(minimumAmountOut.toString()),
308
+ slippage: raydiumParams.slippageBps / 100,
309
+ };
310
+ }
311
+ } else {
312
+ // We have to swap from input token to quote token and then estimate prebonded
313
+ let amountOutFromInput = new BN(raydiumParams.amount);
314
+ if (!quoteIsInput) {
315
+ let jupiterQuoteRequest: JupiterQuoteParams = {
316
+ amount: BigInt(raydiumParams.amount),
317
+ tokenIn: raydiumParams.inputMint,
318
+ tokenOut: quoteToken.toString(),
319
+ swapMode: 'ExactIn',
320
+ slippageBps: raydiumParams.slippageBps, // Use full slippage for simplicity
321
+ };
322
+ const jupiterQuoter = new JupiterQuoteProvider();
323
+ const jupiterQuote = await jupiterQuoter.getQuote(jupiterQuoteRequest);
324
+ if (!jupiterQuote.quote) {
325
+ throw new Error('Jupiter quote failed');
326
+ }
327
+
328
+ // Calculate minimum amount with slippage applied
329
+ amountOutFromInput = new BN(jupiterQuote.quote.outAmount);
330
+ }
331
+ // Now estimate prebonded
332
+ let { expectedAmountOut, minimumAmountOut } = await this.estimatePrebondedToQuote(
333
+ raydiumSdk,
334
+ outputMintPk,
335
+ poolInfo,
336
+ 'buy',
337
+ amountOutFromInput,
338
+ new BN(raydiumParams.slippageBps),
339
+ );
340
+ return {
341
+ amountIn: BigInt(raydiumParams.amount),
342
+ amountOut: BigInt(expectedAmountOut.toString()),
343
+ amountOutMin: BigInt(minimumAmountOut.toString()),
344
+ slippage: raydiumParams.slippageBps / 100,
345
+ };
346
+ }
347
+ }
348
+
349
+ async checkPreboundedTokensSwapLaunchpad(
350
+ raydiumSdk: Raydium,
351
+ raydiumMint: PublicKey,
352
+ ): Promise<
353
+ [
354
+ LaunchpadPoolInfo & {
355
+ programId: PublicKey;
356
+ configInfo: LaunchpadConfigInfo;
357
+ },
358
+ PublicKey,
359
+ ]
360
+ > {
361
+ // Try cache first
362
+ const cacheKey = raydiumMint.toBase58();
363
+ const cached = launchpadPoolCache.get(cacheKey);
364
+ if (cached && Date.now() < cached.expiresAt) {
365
+ return cached.data;
366
+ }
367
+
368
+ // Check if either input or output mint is in the launchpad whitelisted tokens
369
+ // Check for input mint
370
+ for (const quoteToken of LAUNCHPAD_WHITELISTED_QUOTE_TOKENS) {
371
+ try {
372
+ const poolId = getPdaLaunchpadPoolId(LAUNCHPAD_PROGRAM, raydiumMint, quoteToken).publicKey;
373
+ const poolCacheKey = poolId.toBase58();
374
+ const cachedPoolInfo = launchpadPoolInfoCache.get(poolCacheKey);
375
+ const poolInfo =
376
+ cachedPoolInfo && Date.now() < cachedPoolInfo.expiresAt
377
+ ? cachedPoolInfo.data
378
+ : await raydiumSdk.launchpad.getRpcPoolInfo({ poolId });
379
+
380
+ launchpadPoolInfoCache.set(poolCacheKey, {
381
+ data: poolInfo,
382
+ expiresAt: Date.now() + TWO_SECONDS_MS,
383
+ });
384
+ // Cache positive result for a short period
385
+ launchpadPoolCache.set(cacheKey, {
386
+ data: [poolInfo, quoteToken],
387
+ expiresAt: Date.now() + TWO_SECONDS_MS,
388
+ });
389
+ return [poolInfo, quoteToken];
390
+ } catch (e) {
391
+ // Ignore and continue trying with next quote token
392
+ }
393
+ }
394
+ throw new Error('No launchpad pool found for the given token pair');
395
+ }
396
+
397
+ async estimatePrebondedToQuote(
398
+ raydiumSdk: Raydium,
399
+ raydiumMint: PublicKey,
400
+ poolInfo: LaunchpadPoolInfo & {
401
+ programId: PublicKey;
402
+ configInfo: LaunchpadConfigInfo;
403
+ },
404
+ trade_type: 'buy' | 'sell',
405
+ amount: BN,
406
+ slippage: BN,
407
+ ): Promise<{ expectedAmountOut: BN; minimumAmountOut: BN }> {
408
+ const epochInfo = await raydiumSdk.connection.getEpochInfo();
409
+ const slot = await raydiumSdk.connection.getSlot();
410
+ const platformCacheKey = poolInfo.platformId.toBase58();
411
+ let platformInfoEntry = platformConfigCache.get(platformCacheKey);
412
+ if (!platformInfoEntry || Date.now() > platformInfoEntry.expiresAt) {
413
+ const accountInfo = await raydiumSdk.connection.getAccountInfo(poolInfo.platformId);
414
+ if (!accountInfo) {
415
+ throw new Error('Platform account not found');
416
+ }
417
+ platformInfoEntry = {
418
+ data: PlatformConfig.decode(accountInfo.data),
419
+ expiresAt: Date.now() + TEN_MINUTES_MS,
420
+ };
421
+ platformConfigCache.set(platformCacheKey, platformInfoEntry);
422
+ }
423
+ const platformInfo = platformInfoEntry.data;
424
+
425
+ const mintCacheKey = raydiumMint.toBase58();
426
+ let mintInfo = mintInfoCache.get(mintCacheKey);
427
+ if (!mintInfo) {
428
+ mintInfo = await raydiumSdk.token.getTokenInfo(raydiumMint);
429
+ mintInfoCache.set(mintCacheKey, mintInfo);
430
+ }
431
+ const shareFeeRate = new BN(0);
432
+
433
+ let expectedAmountOut;
434
+ let minimumAmountOut;
435
+ if (trade_type === 'buy') {
436
+ const res = Curve.buyExactIn({
437
+ poolInfo,
438
+ amountB: amount,
439
+ protocolFeeRate: poolInfo.configInfo.tradeFeeRate,
440
+ platformFeeRate: platformInfo.feeRate,
441
+ curveType: poolInfo.configInfo.curveType,
442
+ shareFeeRate,
443
+ creatorFeeRate: platformInfo.creatorFeeRate,
444
+ transferFeeConfigA: mintInfo.extensions.feeConfig
445
+ ? {
446
+ transferFeeConfigAuthority: PublicKey.default,
447
+ withdrawWithheldAuthority: PublicKey.default,
448
+ withheldAmount: BigInt(0),
449
+ olderTransferFee: {
450
+ epoch: BigInt(mintInfo.extensions.feeConfig.olderTransferFee.epoch ?? epochInfo?.epoch ?? 0),
451
+ maximumFee: BigInt(mintInfo.extensions.feeConfig.olderTransferFee.maximumFee),
452
+ transferFeeBasisPoints: mintInfo.extensions.feeConfig.olderTransferFee.transferFeeBasisPoints,
453
+ },
454
+ newerTransferFee: {
455
+ epoch: BigInt(mintInfo.extensions.feeConfig.newerTransferFee.epoch ?? epochInfo?.epoch ?? 0),
456
+ maximumFee: BigInt(mintInfo.extensions.feeConfig.newerTransferFee.maximumFee),
457
+ transferFeeBasisPoints: mintInfo.extensions.feeConfig.newerTransferFee.transferFeeBasisPoints,
458
+ },
459
+ }
460
+ : undefined,
461
+ slot,
462
+ });
463
+ expectedAmountOut = new BN(res.amountA.amount.sub(res.amountA.fee ?? new BN(0)).toString());
464
+ minimumAmountOut = new BN(
465
+ new Decimal(res.amountA.amount.sub(res.amountA.fee ?? new BN(0)).toString())
466
+ .mul((10000 - slippage.toNumber()) / 10000)
467
+ .toFixed(0),
468
+ );
469
+ } else if (trade_type === 'sell') {
470
+ const res = Curve.sellExactIn({
471
+ poolInfo,
472
+ amountA: amount,
473
+ protocolFeeRate: poolInfo.configInfo.tradeFeeRate,
474
+ platformFeeRate: platformInfo.feeRate,
475
+ curveType: poolInfo.configInfo.curveType,
476
+ shareFeeRate,
477
+ creatorFeeRate: platformInfo.creatorFeeRate,
478
+ slot,
479
+ transferFeeConfigA: mintInfo.extensions.feeConfig
480
+ ? {
481
+ transferFeeConfigAuthority: PublicKey.default,
482
+ withdrawWithheldAuthority: PublicKey.default,
483
+ withheldAmount: BigInt(0),
484
+ olderTransferFee: {
485
+ epoch: BigInt(mintInfo.extensions.feeConfig.olderTransferFee.epoch ?? epochInfo?.epoch ?? 0),
486
+ maximumFee: BigInt(mintInfo.extensions.feeConfig.olderTransferFee.maximumFee),
487
+ transferFeeBasisPoints: mintInfo.extensions.feeConfig.olderTransferFee.transferFeeBasisPoints,
488
+ },
489
+ newerTransferFee: {
490
+ epoch: BigInt(mintInfo.extensions.feeConfig.newerTransferFee.epoch ?? epochInfo?.epoch ?? 0),
491
+ maximumFee: BigInt(mintInfo.extensions.feeConfig.newerTransferFee.maximumFee),
492
+ transferFeeBasisPoints: mintInfo.extensions.feeConfig.newerTransferFee.transferFeeBasisPoints,
493
+ },
494
+ }
495
+ : undefined,
496
+ });
497
+ expectedAmountOut = new BN(res.amountB);
498
+ minimumAmountOut = new BN(
499
+ new Decimal(res.amountB.toString()).mul((10000 - slippage.toNumber()) / 10000).toFixed(0),
500
+ );
501
+ } else {
502
+ throw new Error('Invalid trade type. Must be "buy" or "sell".');
503
+ }
504
+ return { expectedAmountOut, minimumAmountOut };
505
+ }
506
+ }
@@ -0,0 +1,99 @@
1
+ import { type SupportedEvmChain } from "../../chains.js";
2
+ import { isNativeEvmToken, WRAPPED_ETH_ADDRESSES } from "../../constants.js";
3
+
4
+ const RELAY_BASE_URL = "https://api.relay.link/quote";
5
+
6
+ export type RelayQuoteRequestParams = {
7
+ srcToken: string;
8
+ destToken: string;
9
+ amount: bigint;
10
+ user?: string;
11
+ recipient?: string;
12
+ };
13
+
14
+ export type RelayQuoteResult = {
15
+ amountOut: bigint;
16
+ amountIn: bigint;
17
+ amountOutUsd: number;
18
+ amountInUsd: number;
19
+ slippage: number;
20
+ priceImpact: number;
21
+ quote: any;
22
+ };
23
+
24
+ export class RelayQuoteProvider {
25
+ protected chainId: SupportedEvmChain;
26
+
27
+ constructor(chainId: SupportedEvmChain) {
28
+ this.chainId = chainId;
29
+ }
30
+
31
+ private async postRelayQuote(params: RelayQuoteRequestParams) {
32
+ const user = params.user ?? "0x000000000000000000000000000000000000dead";
33
+
34
+ const srcToken = isNativeEvmToken(params.srcToken)
35
+ ? WRAPPED_ETH_ADDRESSES[this.chainId]
36
+ : params.srcToken;
37
+
38
+ const destToken = isNativeEvmToken(params.destToken)
39
+ ? WRAPPED_ETH_ADDRESSES[this.chainId]
40
+ : params.destToken;
41
+
42
+ const body = {
43
+ user,
44
+ recipient: params.recipient ?? user,
45
+ originChainId: this.chainId,
46
+ destinationChainId: this.chainId,
47
+ originCurrency: srcToken,
48
+ destinationCurrency: destToken,
49
+ amount: params.amount.toString(),
50
+ tradeType: "EXACT_INPUT",
51
+ };
52
+
53
+ const res = await fetch(RELAY_BASE_URL, {
54
+ method: "POST",
55
+ headers: {
56
+ "Content-Type": "application/json",
57
+ },
58
+ body: JSON.stringify(body),
59
+ });
60
+
61
+ if (!res.ok) {
62
+ throw new Error(`Relay POST /quote failed: ${await res.text()}`);
63
+ }
64
+
65
+ return res.json();
66
+ }
67
+
68
+ public async getSwapEstimation(
69
+ params: RelayQuoteRequestParams
70
+ ): Promise<RelayQuoteResult> {
71
+ const relayQuote = await this.postRelayQuote(params);
72
+
73
+ const details = relayQuote.details;
74
+
75
+ const amountIn = BigInt(details.currencyIn.amount);
76
+ const amountOut = BigInt(details.currencyOut.amount);
77
+
78
+ const amountInUsd = Number(details.currencyIn.amountUsd ?? 0);
79
+ const amountOutUsd = Number(details.currencyOut.amountUsd ?? 0);
80
+
81
+ const priceImpact = details.totalImpact?.percent
82
+ ? Number(details.totalImpact.percent)
83
+ : 0;
84
+
85
+ const slippage = details.slippageTolerance?.origin?.percent
86
+ ? Number(details.slippageTolerance.origin.percent)
87
+ : 0;
88
+
89
+ return {
90
+ amountIn,
91
+ amountOut,
92
+ amountInUsd,
93
+ amountOutUsd,
94
+ slippage,
95
+ priceImpact,
96
+ quote: relayQuote,
97
+ };
98
+ }
99
+ }
@@ -9,14 +9,41 @@ export type QuoteParams = {
9
9
  slippageBps?: number;
10
10
  };
11
11
 
12
- export const CROSS_CHAIN_TOKENS: Record<string, Record<ChainID, string>> = {
12
+ export const CROSS_CHAIN_STABLES: Record<string, Partial<Record<ChainID, { address: string; decimals: number }>>> = {
13
13
  USDC: {
14
- [ChainID.Solana]: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // USDC on Solana
15
- [ChainID.Base]: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC on Base
16
- [ChainID.Arbitrum]: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831', // USDC on Arbitrum
17
- [ChainID.Hyperliquid]: '0xb8ce59fc3717ada4c02eadf9682a9e934f625ebb', // USDT on Hyperliquid (No USDC on Hyperliquid)
18
- [ChainID.Sui]: '0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC', // USDC on Sui
19
- [ChainID.Optimism]: '0x7F5c764cBc14f9669B88837ca1490cCa17c31607', // USDC on Optimism
14
+ [ChainID.Solana]: {
15
+ address: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
16
+ decimals: 6,
17
+ },
18
+ [ChainID.Base]: {
19
+ address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
20
+ decimals: 6,
21
+ },
22
+ [ChainID.Arbitrum]: {
23
+ address: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
24
+ decimals: 6,
25
+ },
26
+ [ChainID.Optimism]: {
27
+ address: '0x7F5c764cBc14f9669B88837ca1490cCa17c31607',
28
+ decimals: 6,
29
+ },
30
+ [ChainID.Sui]: {
31
+ address: '0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC',
32
+ decimals: 6,
33
+ },
34
+ [ChainID.MONAD]: {
35
+ address: '0x754704Bc059F8C67012fEd69BC8A327a5aafb603',
36
+ decimals: 6,
37
+ },
38
+ },
39
+ USDT: {
40
+ [ChainID.Hyperliquid]: {
41
+ address: '0xb8ce59fc3717ada4c02eadf9682a9e934f625ebb',
42
+ decimals: 6,
43
+ },
44
+ [ChainID.BSC]: {
45
+ address: '0x55d398326f99059ff775485246999027b3197955',
46
+ decimals: 18,
47
+ },
20
48
  },
21
- // Add more tokens as needed
22
49
  };
@@ -0,0 +1,8 @@
1
+ export const TEN_MINUTES_MS = 10 * 60 * 1000;
2
+ export const TWO_SECONDS_MS = 2 * 1000;
3
+ export const ONE_DAY_MS = 24 * 60 * 60 * 1000;
4
+
5
+ export function applySlippage(amount: bigint, slippageBps = 0): bigint {
6
+ const multiplier = BigInt(10000 - slippageBps);
7
+ return (amount * multiplier) / 10000n;
8
+ }
@@ -0,0 +1,38 @@
1
+ import { TOKEN_SEARCH_API_BASE_URL } from '../../constants.js';
2
+ import type { TokenSearchParams, TokenSearchResponse } from '../../types/token-list.js';
3
+
4
+ /**
5
+ * getTokenList
6
+ *
7
+ * High-level SDK function for token discovery.
8
+ * Supports cancellation via AbortController.
9
+ *
10
+ * Example:
11
+ * ```ts
12
+ * import { getTokenList } from "@shogun/sdk";
13
+ *
14
+ * const controller = new AbortController();
15
+ * const res = await getTokenList({ q: "usdc", networkId: 8453, signal: controller.signal });
16
+ *
17
+ * To cancel:
18
+ * controller.abort();
19
+ * ```
20
+ */
21
+ export async function getTokenList(params: TokenSearchParams): Promise<TokenSearchResponse> {
22
+ const url = new URL(`${TOKEN_SEARCH_API_BASE_URL}/tokens/search`);
23
+
24
+ if (params.q) url.searchParams.append('q', params.q);
25
+ if (params.networkId) url.searchParams.append('networkId', String(params.networkId));
26
+ if (params.page) url.searchParams.append('page', String(params.page));
27
+ if (params.limit) url.searchParams.append('limit', String(params.limit));
28
+
29
+ const res = await fetch(url.toString(), {
30
+ signal: params.signal,
31
+ });
32
+
33
+ if (!res.ok) {
34
+ throw new Error(`Failed to fetch tokens: ${res.status} ${res.statusText}`);
35
+ }
36
+
37
+ return (await res.json()) as TokenSearchResponse;
38
+ }