@7kprotocol/sdk-ts 3.6.0 → 3.6.1-beta.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 (342) hide show
  1. package/README.md +1 -11
  2. package/lib/cjs/config/fetchClient.js +1 -9
  3. package/lib/cjs/constants/_7k.js +13 -10
  4. package/lib/cjs/constants/apiEndpoints.js +1 -1
  5. package/lib/cjs/features/metaAg/common.js +2 -2
  6. package/lib/cjs/features/metaAg/error.js +0 -4
  7. package/lib/cjs/features/metaAg/index.js +3 -8
  8. package/lib/cjs/features/prices/index.js +51 -20
  9. package/lib/cjs/index.js +1 -35
  10. package/lib/cjs/types/config/fetchClient.d.ts.map +1 -1
  11. package/lib/cjs/types/constants/_7k.d.ts +0 -3
  12. package/lib/cjs/types/constants/_7k.d.ts.map +1 -1
  13. package/lib/cjs/types/features/metaAg/common.d.ts +1 -1
  14. package/lib/cjs/types/features/metaAg/error.d.ts +1 -7
  15. package/lib/cjs/types/features/metaAg/error.d.ts.map +1 -1
  16. package/lib/cjs/types/features/metaAg/index.d.ts +1 -1
  17. package/lib/cjs/types/features/metaAg/index.d.ts.map +1 -1
  18. package/lib/cjs/types/features/prices/index.d.ts +16 -2
  19. package/lib/cjs/types/features/prices/index.d.ts.map +1 -1
  20. package/lib/cjs/types/index.d.ts +1 -32
  21. package/lib/cjs/types/index.d.ts.map +1 -1
  22. package/lib/cjs/types/metaAg.js +1 -3
  23. package/lib/cjs/types/types/metaAg.d.ts +2 -14
  24. package/lib/cjs/types/types/metaAg.d.ts.map +1 -1
  25. package/lib/cjs/types/utils/sui.d.ts +0 -31
  26. package/lib/cjs/types/utils/sui.d.ts.map +1 -1
  27. package/lib/cjs/types/utils/swap.d.ts +15 -0
  28. package/lib/cjs/types/utils/swap.d.ts.map +1 -0
  29. package/lib/cjs/utils/sui.js +3 -146
  30. package/lib/cjs/utils/swap.js +37 -0
  31. package/lib/esm/config/fetchClient.js +1 -9
  32. package/lib/esm/constants/_7k.js +12 -9
  33. package/lib/esm/constants/apiEndpoints.js +1 -1
  34. package/lib/esm/features/metaAg/common.js +1 -1
  35. package/lib/esm/features/metaAg/error.js +0 -4
  36. package/lib/esm/features/metaAg/index.js +2 -7
  37. package/lib/esm/features/prices/index.js +52 -21
  38. package/lib/esm/index.mjs +3 -31
  39. package/lib/esm/types/config/fetchClient.d.ts.map +1 -1
  40. package/lib/esm/types/constants/_7k.d.ts +0 -3
  41. package/lib/esm/types/constants/_7k.d.ts.map +1 -1
  42. package/lib/esm/types/features/metaAg/common.d.ts +1 -1
  43. package/lib/esm/types/features/metaAg/error.d.ts +1 -7
  44. package/lib/esm/types/features/metaAg/error.d.ts.map +1 -1
  45. package/lib/esm/types/features/metaAg/index.d.ts +1 -1
  46. package/lib/esm/types/features/metaAg/index.d.ts.map +1 -1
  47. package/lib/esm/types/features/prices/index.d.ts +16 -2
  48. package/lib/esm/types/features/prices/index.d.ts.map +1 -1
  49. package/lib/esm/types/index.d.ts +1 -32
  50. package/lib/esm/types/index.d.ts.map +1 -1
  51. package/lib/esm/types/metaAg.js +1 -3
  52. package/lib/esm/types/types/metaAg.d.ts +2 -14
  53. package/lib/esm/types/types/metaAg.d.ts.map +1 -1
  54. package/lib/esm/types/utils/sui.d.ts +0 -31
  55. package/lib/esm/types/utils/sui.d.ts.map +1 -1
  56. package/lib/esm/types/utils/swap.d.ts +15 -0
  57. package/lib/esm/types/utils/swap.d.ts.map +1 -0
  58. package/lib/esm/utils/sui.js +4 -147
  59. package/lib/esm/utils/swap.js +33 -0
  60. package/package.json +1 -1
  61. package/lib/cjs/config/index.js +0 -67
  62. package/lib/cjs/features/metaAg/providers/bluefin7kLegacy.js +0 -68
  63. package/lib/cjs/features/swap/buildTx.js +0 -198
  64. package/lib/cjs/features/swap/buildTxV2.js +0 -229
  65. package/lib/cjs/features/swap/config.js +0 -154
  66. package/lib/cjs/features/swap/estimateGasFee.js +0 -44
  67. package/lib/cjs/features/swap/executeTx.js +0 -52
  68. package/lib/cjs/features/swap/getQuote.js +0 -95
  69. package/lib/cjs/features/swap/getSwapHistory.js +0 -21
  70. package/lib/cjs/features/swap/index.js +0 -22
  71. package/lib/cjs/libs/groupSwapRoutes.js +0 -60
  72. package/lib/cjs/libs/protocols/aftermath/index.js +0 -35
  73. package/lib/cjs/libs/protocols/base.js +0 -41
  74. package/lib/cjs/libs/protocols/bluefin/index.js +0 -38
  75. package/lib/cjs/libs/protocols/bluefinx/client.js +0 -41
  76. package/lib/cjs/libs/protocols/bluefinx/index.js +0 -48
  77. package/lib/cjs/libs/protocols/bluefinx/types.js +0 -10
  78. package/lib/cjs/libs/protocols/bluemove/index.js +0 -24
  79. package/lib/cjs/libs/protocols/cetus/index.js +0 -44
  80. package/lib/cjs/libs/protocols/cetus_dlmm.js +0 -48
  81. package/lib/cjs/libs/protocols/constants.js +0 -5
  82. package/lib/cjs/libs/protocols/deepbookV3/sponsored.js +0 -30
  83. package/lib/cjs/libs/protocols/ferra_clmm.js +0 -44
  84. package/lib/cjs/libs/protocols/ferra_dlmm.js +0 -30
  85. package/lib/cjs/libs/protocols/flowx/index.js +0 -18
  86. package/lib/cjs/libs/protocols/flowxV3/index.js +0 -36
  87. package/lib/cjs/libs/protocols/fullsail/index.js +0 -39
  88. package/lib/cjs/libs/protocols/haedal_pmm/index.js +0 -31
  89. package/lib/cjs/libs/protocols/index.js +0 -55
  90. package/lib/cjs/libs/protocols/kriya/index.js +0 -30
  91. package/lib/cjs/libs/protocols/kriyaV3/index.js +0 -65
  92. package/lib/cjs/libs/protocols/magma/index.js +0 -40
  93. package/lib/cjs/libs/protocols/momentum/index.js +0 -49
  94. package/lib/cjs/libs/protocols/obric/index.js +0 -28
  95. package/lib/cjs/libs/protocols/sevenk/index.js +0 -55
  96. package/lib/cjs/libs/protocols/springsui/index.js +0 -24
  97. package/lib/cjs/libs/protocols/steamm/index.js +0 -160
  98. package/lib/cjs/libs/protocols/stsui/index.js +0 -24
  99. package/lib/cjs/libs/protocols/suiswap/index.js +0 -34
  100. package/lib/cjs/libs/protocols/turbos/index.js +0 -36
  101. package/lib/cjs/libs/protocols/utils.js +0 -7
  102. package/lib/cjs/libs/swapWithRoute.js +0 -22
  103. package/lib/cjs/types/aggregator.js +0 -19
  104. package/lib/cjs/types/config/index.d.ts +0 -30
  105. package/lib/cjs/types/config/index.d.ts.map +0 -1
  106. package/lib/cjs/types/features/metaAg/providers/bluefin7kLegacy.d.ts +0 -11
  107. package/lib/cjs/types/features/metaAg/providers/bluefin7kLegacy.d.ts.map +0 -1
  108. package/lib/cjs/types/features/swap/buildTx.d.ts +0 -17
  109. package/lib/cjs/types/features/swap/buildTx.d.ts.map +0 -1
  110. package/lib/cjs/types/features/swap/buildTxV2.d.ts +0 -20
  111. package/lib/cjs/types/features/swap/buildTxV2.d.ts.map +0 -1
  112. package/lib/cjs/types/features/swap/config.d.ts +0 -4
  113. package/lib/cjs/types/features/swap/config.d.ts.map +0 -1
  114. package/lib/cjs/types/features/swap/estimateGasFee.d.ts +0 -3
  115. package/lib/cjs/types/features/swap/estimateGasFee.d.ts.map +0 -1
  116. package/lib/cjs/types/features/swap/executeTx.d.ts +0 -24
  117. package/lib/cjs/types/features/swap/executeTx.d.ts.map +0 -1
  118. package/lib/cjs/types/features/swap/getQuote.d.ts +0 -27
  119. package/lib/cjs/types/features/swap/getQuote.d.ts.map +0 -1
  120. package/lib/cjs/types/features/swap/getSwapHistory.d.ts +0 -22
  121. package/lib/cjs/types/features/swap/getSwapHistory.d.ts.map +0 -1
  122. package/lib/cjs/types/features/swap/index.d.ts +0 -7
  123. package/lib/cjs/types/features/swap/index.d.ts.map +0 -1
  124. package/lib/cjs/types/libs/groupSwapRoutes.d.ts +0 -3
  125. package/lib/cjs/types/libs/groupSwapRoutes.d.ts.map +0 -1
  126. package/lib/cjs/types/libs/protocols/aftermath/index.d.ts +0 -9
  127. package/lib/cjs/types/libs/protocols/aftermath/index.d.ts.map +0 -1
  128. package/lib/cjs/types/libs/protocols/base.d.ts +0 -24
  129. package/lib/cjs/types/libs/protocols/base.d.ts.map +0 -1
  130. package/lib/cjs/types/libs/protocols/bluefin/index.d.ts +0 -9
  131. package/lib/cjs/types/libs/protocols/bluefin/index.d.ts.map +0 -1
  132. package/lib/cjs/types/libs/protocols/bluefinx/client.d.ts +0 -13
  133. package/lib/cjs/types/libs/protocols/bluefinx/client.d.ts.map +0 -1
  134. package/lib/cjs/types/libs/protocols/bluefinx/index.d.ts +0 -17
  135. package/lib/cjs/types/libs/protocols/bluefinx/index.d.ts.map +0 -1
  136. package/lib/cjs/types/libs/protocols/bluefinx/types.d.ts +0 -34
  137. package/lib/cjs/types/libs/protocols/bluefinx/types.d.ts.map +0 -1
  138. package/lib/cjs/types/libs/protocols/bluemove/index.d.ts +0 -9
  139. package/lib/cjs/types/libs/protocols/bluemove/index.d.ts.map +0 -1
  140. package/lib/cjs/types/libs/protocols/cetus/index.d.ts +0 -9
  141. package/lib/cjs/types/libs/protocols/cetus/index.d.ts.map +0 -1
  142. package/lib/cjs/types/libs/protocols/cetus_dlmm.d.ts +0 -9
  143. package/lib/cjs/types/libs/protocols/cetus_dlmm.d.ts.map +0 -1
  144. package/lib/cjs/types/libs/protocols/constants.d.ts +0 -3
  145. package/lib/cjs/types/libs/protocols/constants.d.ts.map +0 -1
  146. package/lib/cjs/types/libs/protocols/deepbookV3/sponsored.d.ts +0 -7
  147. package/lib/cjs/types/libs/protocols/deepbookV3/sponsored.d.ts.map +0 -1
  148. package/lib/cjs/types/libs/protocols/ferra_clmm.d.ts +0 -9
  149. package/lib/cjs/types/libs/protocols/ferra_clmm.d.ts.map +0 -1
  150. package/lib/cjs/types/libs/protocols/ferra_dlmm.d.ts +0 -9
  151. package/lib/cjs/types/libs/protocols/ferra_dlmm.d.ts.map +0 -1
  152. package/lib/cjs/types/libs/protocols/flowx/index.d.ts +0 -9
  153. package/lib/cjs/types/libs/protocols/flowx/index.d.ts.map +0 -1
  154. package/lib/cjs/types/libs/protocols/flowxV3/index.d.ts +0 -9
  155. package/lib/cjs/types/libs/protocols/flowxV3/index.d.ts.map +0 -1
  156. package/lib/cjs/types/libs/protocols/fullsail/index.d.ts +0 -9
  157. package/lib/cjs/types/libs/protocols/fullsail/index.d.ts.map +0 -1
  158. package/lib/cjs/types/libs/protocols/haedal_pmm/index.d.ts +0 -14
  159. package/lib/cjs/types/libs/protocols/haedal_pmm/index.d.ts.map +0 -1
  160. package/lib/cjs/types/libs/protocols/index.d.ts +0 -53
  161. package/lib/cjs/types/libs/protocols/index.d.ts.map +0 -1
  162. package/lib/cjs/types/libs/protocols/kriya/index.d.ts +0 -9
  163. package/lib/cjs/types/libs/protocols/kriya/index.d.ts.map +0 -1
  164. package/lib/cjs/types/libs/protocols/kriyaV3/index.d.ts +0 -9
  165. package/lib/cjs/types/libs/protocols/kriyaV3/index.d.ts.map +0 -1
  166. package/lib/cjs/types/libs/protocols/magma/index.d.ts +0 -9
  167. package/lib/cjs/types/libs/protocols/magma/index.d.ts.map +0 -1
  168. package/lib/cjs/types/libs/protocols/momentum/index.d.ts +0 -9
  169. package/lib/cjs/types/libs/protocols/momentum/index.d.ts.map +0 -1
  170. package/lib/cjs/types/libs/protocols/obric/index.d.ts +0 -14
  171. package/lib/cjs/types/libs/protocols/obric/index.d.ts.map +0 -1
  172. package/lib/cjs/types/libs/protocols/sevenk/index.d.ts +0 -18
  173. package/lib/cjs/types/libs/protocols/sevenk/index.d.ts.map +0 -1
  174. package/lib/cjs/types/libs/protocols/springsui/index.d.ts +0 -9
  175. package/lib/cjs/types/libs/protocols/springsui/index.d.ts.map +0 -1
  176. package/lib/cjs/types/libs/protocols/steamm/index.d.ts +0 -28
  177. package/lib/cjs/types/libs/protocols/steamm/index.d.ts.map +0 -1
  178. package/lib/cjs/types/libs/protocols/stsui/index.d.ts +0 -9
  179. package/lib/cjs/types/libs/protocols/stsui/index.d.ts.map +0 -1
  180. package/lib/cjs/types/libs/protocols/suiswap/index.d.ts +0 -9
  181. package/lib/cjs/types/libs/protocols/suiswap/index.d.ts.map +0 -1
  182. package/lib/cjs/types/libs/protocols/turbos/index.d.ts +0 -9
  183. package/lib/cjs/types/libs/protocols/turbos/index.d.ts.map +0 -1
  184. package/lib/cjs/types/libs/protocols/utils.d.ts +0 -2
  185. package/lib/cjs/types/libs/protocols/utils.d.ts.map +0 -1
  186. package/lib/cjs/types/libs/swapWithRoute.d.ts +0 -12
  187. package/lib/cjs/types/libs/swapWithRoute.d.ts.map +0 -1
  188. package/lib/cjs/types/sui.js +0 -2
  189. package/lib/cjs/types/tx.js +0 -2
  190. package/lib/cjs/types/types/aggregator.d.ts +0 -173
  191. package/lib/cjs/types/types/aggregator.d.ts.map +0 -1
  192. package/lib/cjs/types/types/sui.d.ts +0 -4
  193. package/lib/cjs/types/types/sui.d.ts.map +0 -1
  194. package/lib/cjs/types/types/tx.d.ts +0 -67
  195. package/lib/cjs/types/types/tx.d.ts.map +0 -1
  196. package/lib/cjs/types/types/utilities.d.ts +0 -5
  197. package/lib/cjs/types/types/utilities.d.ts.map +0 -1
  198. package/lib/cjs/types/utilities.js +0 -2
  199. package/lib/cjs/types/utils/number.d.ts +0 -2
  200. package/lib/cjs/types/utils/number.d.ts.map +0 -1
  201. package/lib/cjs/utils/number.js +0 -9
  202. package/lib/esm/config/index.js +0 -64
  203. package/lib/esm/features/metaAg/providers/bluefin7kLegacy.js +0 -66
  204. package/lib/esm/features/swap/buildTx.js +0 -188
  205. package/lib/esm/features/swap/buildTxV2.js +0 -223
  206. package/lib/esm/features/swap/config.js +0 -150
  207. package/lib/esm/features/swap/estimateGasFee.js +0 -41
  208. package/lib/esm/features/swap/executeTx.js +0 -48
  209. package/lib/esm/features/swap/getQuote.js +0 -91
  210. package/lib/esm/features/swap/getSwapHistory.js +0 -18
  211. package/lib/esm/features/swap/index.js +0 -6
  212. package/lib/esm/libs/groupSwapRoutes.js +0 -57
  213. package/lib/esm/libs/protocols/aftermath/index.js +0 -31
  214. package/lib/esm/libs/protocols/base.js +0 -42
  215. package/lib/esm/libs/protocols/bluefin/index.js +0 -34
  216. package/lib/esm/libs/protocols/bluefinx/client.js +0 -36
  217. package/lib/esm/libs/protocols/bluefinx/index.js +0 -44
  218. package/lib/esm/libs/protocols/bluefinx/types.js +0 -8
  219. package/lib/esm/libs/protocols/bluemove/index.js +0 -20
  220. package/lib/esm/libs/protocols/cetus/index.js +0 -40
  221. package/lib/esm/libs/protocols/cetus_dlmm.js +0 -44
  222. package/lib/esm/libs/protocols/constants.js +0 -2
  223. package/lib/esm/libs/protocols/deepbookV3/sponsored.js +0 -26
  224. package/lib/esm/libs/protocols/ferra_clmm.js +0 -40
  225. package/lib/esm/libs/protocols/ferra_dlmm.js +0 -26
  226. package/lib/esm/libs/protocols/flowx/index.js +0 -14
  227. package/lib/esm/libs/protocols/flowxV3/index.js +0 -32
  228. package/lib/esm/libs/protocols/fullsail/index.js +0 -35
  229. package/lib/esm/libs/protocols/haedal_pmm/index.js +0 -27
  230. package/lib/esm/libs/protocols/index.js +0 -52
  231. package/lib/esm/libs/protocols/kriya/index.js +0 -26
  232. package/lib/esm/libs/protocols/kriyaV3/index.js +0 -61
  233. package/lib/esm/libs/protocols/magma/index.js +0 -36
  234. package/lib/esm/libs/protocols/momentum/index.js +0 -45
  235. package/lib/esm/libs/protocols/obric/index.js +0 -24
  236. package/lib/esm/libs/protocols/sevenk/index.js +0 -51
  237. package/lib/esm/libs/protocols/springsui/index.js +0 -20
  238. package/lib/esm/libs/protocols/steamm/index.js +0 -156
  239. package/lib/esm/libs/protocols/stsui/index.js +0 -20
  240. package/lib/esm/libs/protocols/suiswap/index.js +0 -30
  241. package/lib/esm/libs/protocols/turbos/index.js +0 -32
  242. package/lib/esm/libs/protocols/utils.js +0 -4
  243. package/lib/esm/libs/swapWithRoute.js +0 -19
  244. package/lib/esm/types/aggregator.js +0 -14
  245. package/lib/esm/types/config/index.d.ts +0 -30
  246. package/lib/esm/types/config/index.d.ts.map +0 -1
  247. package/lib/esm/types/features/metaAg/providers/bluefin7kLegacy.d.ts +0 -11
  248. package/lib/esm/types/features/metaAg/providers/bluefin7kLegacy.d.ts.map +0 -1
  249. package/lib/esm/types/features/swap/buildTx.d.ts +0 -17
  250. package/lib/esm/types/features/swap/buildTx.d.ts.map +0 -1
  251. package/lib/esm/types/features/swap/buildTxV2.d.ts +0 -20
  252. package/lib/esm/types/features/swap/buildTxV2.d.ts.map +0 -1
  253. package/lib/esm/types/features/swap/config.d.ts +0 -4
  254. package/lib/esm/types/features/swap/config.d.ts.map +0 -1
  255. package/lib/esm/types/features/swap/estimateGasFee.d.ts +0 -3
  256. package/lib/esm/types/features/swap/estimateGasFee.d.ts.map +0 -1
  257. package/lib/esm/types/features/swap/executeTx.d.ts +0 -24
  258. package/lib/esm/types/features/swap/executeTx.d.ts.map +0 -1
  259. package/lib/esm/types/features/swap/getQuote.d.ts +0 -27
  260. package/lib/esm/types/features/swap/getQuote.d.ts.map +0 -1
  261. package/lib/esm/types/features/swap/getSwapHistory.d.ts +0 -22
  262. package/lib/esm/types/features/swap/getSwapHistory.d.ts.map +0 -1
  263. package/lib/esm/types/features/swap/index.d.ts +0 -7
  264. package/lib/esm/types/features/swap/index.d.ts.map +0 -1
  265. package/lib/esm/types/libs/groupSwapRoutes.d.ts +0 -3
  266. package/lib/esm/types/libs/groupSwapRoutes.d.ts.map +0 -1
  267. package/lib/esm/types/libs/protocols/aftermath/index.d.ts +0 -9
  268. package/lib/esm/types/libs/protocols/aftermath/index.d.ts.map +0 -1
  269. package/lib/esm/types/libs/protocols/base.d.ts +0 -24
  270. package/lib/esm/types/libs/protocols/base.d.ts.map +0 -1
  271. package/lib/esm/types/libs/protocols/bluefin/index.d.ts +0 -9
  272. package/lib/esm/types/libs/protocols/bluefin/index.d.ts.map +0 -1
  273. package/lib/esm/types/libs/protocols/bluefinx/client.d.ts +0 -13
  274. package/lib/esm/types/libs/protocols/bluefinx/client.d.ts.map +0 -1
  275. package/lib/esm/types/libs/protocols/bluefinx/index.d.ts +0 -17
  276. package/lib/esm/types/libs/protocols/bluefinx/index.d.ts.map +0 -1
  277. package/lib/esm/types/libs/protocols/bluefinx/types.d.ts +0 -34
  278. package/lib/esm/types/libs/protocols/bluefinx/types.d.ts.map +0 -1
  279. package/lib/esm/types/libs/protocols/bluemove/index.d.ts +0 -9
  280. package/lib/esm/types/libs/protocols/bluemove/index.d.ts.map +0 -1
  281. package/lib/esm/types/libs/protocols/cetus/index.d.ts +0 -9
  282. package/lib/esm/types/libs/protocols/cetus/index.d.ts.map +0 -1
  283. package/lib/esm/types/libs/protocols/cetus_dlmm.d.ts +0 -9
  284. package/lib/esm/types/libs/protocols/cetus_dlmm.d.ts.map +0 -1
  285. package/lib/esm/types/libs/protocols/constants.d.ts +0 -3
  286. package/lib/esm/types/libs/protocols/constants.d.ts.map +0 -1
  287. package/lib/esm/types/libs/protocols/deepbookV3/sponsored.d.ts +0 -7
  288. package/lib/esm/types/libs/protocols/deepbookV3/sponsored.d.ts.map +0 -1
  289. package/lib/esm/types/libs/protocols/ferra_clmm.d.ts +0 -9
  290. package/lib/esm/types/libs/protocols/ferra_clmm.d.ts.map +0 -1
  291. package/lib/esm/types/libs/protocols/ferra_dlmm.d.ts +0 -9
  292. package/lib/esm/types/libs/protocols/ferra_dlmm.d.ts.map +0 -1
  293. package/lib/esm/types/libs/protocols/flowx/index.d.ts +0 -9
  294. package/lib/esm/types/libs/protocols/flowx/index.d.ts.map +0 -1
  295. package/lib/esm/types/libs/protocols/flowxV3/index.d.ts +0 -9
  296. package/lib/esm/types/libs/protocols/flowxV3/index.d.ts.map +0 -1
  297. package/lib/esm/types/libs/protocols/fullsail/index.d.ts +0 -9
  298. package/lib/esm/types/libs/protocols/fullsail/index.d.ts.map +0 -1
  299. package/lib/esm/types/libs/protocols/haedal_pmm/index.d.ts +0 -14
  300. package/lib/esm/types/libs/protocols/haedal_pmm/index.d.ts.map +0 -1
  301. package/lib/esm/types/libs/protocols/index.d.ts +0 -53
  302. package/lib/esm/types/libs/protocols/index.d.ts.map +0 -1
  303. package/lib/esm/types/libs/protocols/kriya/index.d.ts +0 -9
  304. package/lib/esm/types/libs/protocols/kriya/index.d.ts.map +0 -1
  305. package/lib/esm/types/libs/protocols/kriyaV3/index.d.ts +0 -9
  306. package/lib/esm/types/libs/protocols/kriyaV3/index.d.ts.map +0 -1
  307. package/lib/esm/types/libs/protocols/magma/index.d.ts +0 -9
  308. package/lib/esm/types/libs/protocols/magma/index.d.ts.map +0 -1
  309. package/lib/esm/types/libs/protocols/momentum/index.d.ts +0 -9
  310. package/lib/esm/types/libs/protocols/momentum/index.d.ts.map +0 -1
  311. package/lib/esm/types/libs/protocols/obric/index.d.ts +0 -14
  312. package/lib/esm/types/libs/protocols/obric/index.d.ts.map +0 -1
  313. package/lib/esm/types/libs/protocols/sevenk/index.d.ts +0 -18
  314. package/lib/esm/types/libs/protocols/sevenk/index.d.ts.map +0 -1
  315. package/lib/esm/types/libs/protocols/springsui/index.d.ts +0 -9
  316. package/lib/esm/types/libs/protocols/springsui/index.d.ts.map +0 -1
  317. package/lib/esm/types/libs/protocols/steamm/index.d.ts +0 -28
  318. package/lib/esm/types/libs/protocols/steamm/index.d.ts.map +0 -1
  319. package/lib/esm/types/libs/protocols/stsui/index.d.ts +0 -9
  320. package/lib/esm/types/libs/protocols/stsui/index.d.ts.map +0 -1
  321. package/lib/esm/types/libs/protocols/suiswap/index.d.ts +0 -9
  322. package/lib/esm/types/libs/protocols/suiswap/index.d.ts.map +0 -1
  323. package/lib/esm/types/libs/protocols/turbos/index.d.ts +0 -9
  324. package/lib/esm/types/libs/protocols/turbos/index.d.ts.map +0 -1
  325. package/lib/esm/types/libs/protocols/utils.d.ts +0 -2
  326. package/lib/esm/types/libs/protocols/utils.d.ts.map +0 -1
  327. package/lib/esm/types/libs/swapWithRoute.d.ts +0 -12
  328. package/lib/esm/types/libs/swapWithRoute.d.ts.map +0 -1
  329. package/lib/esm/types/sui.js +0 -1
  330. package/lib/esm/types/tx.js +0 -1
  331. package/lib/esm/types/types/aggregator.d.ts +0 -173
  332. package/lib/esm/types/types/aggregator.d.ts.map +0 -1
  333. package/lib/esm/types/types/sui.d.ts +0 -4
  334. package/lib/esm/types/types/sui.d.ts.map +0 -1
  335. package/lib/esm/types/types/tx.d.ts +0 -67
  336. package/lib/esm/types/types/tx.d.ts.map +0 -1
  337. package/lib/esm/types/types/utilities.d.ts +0 -5
  338. package/lib/esm/types/types/utilities.d.ts.map +0 -1
  339. package/lib/esm/types/utilities.js +0 -1
  340. package/lib/esm/types/utils/number.d.ts +0 -2
  341. package/lib/esm/types/utils/number.d.ts.map +0 -1
  342. package/lib/esm/utils/number.js +0 -6
@@ -1,26 +0,0 @@
1
- import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
2
- import { SuiUtils } from "../../utils/sui";
3
- import { BaseContract } from "./base";
4
- export class FerraDLMMContract extends BaseContract {
5
- async swap(tx) {
6
- const config = this.config.ferra_dlmm;
7
- const [xIn, yIn] = this.swapInfo.swapXtoY
8
- ? [this.inputCoinObject, SuiUtils.zeroCoin(tx, this.swapInfo.coinY.type)]
9
- : [SuiUtils.zeroCoin(tx, this.swapInfo.coinX.type), this.inputCoinObject];
10
- const [x, y] = tx.moveCall({
11
- target: `${config.package}::lb_pair::swap`,
12
- typeArguments: [this.swapInfo.coinX.type, this.swapInfo.coinY.type],
13
- arguments: [
14
- tx.object(config.globalConfig),
15
- tx.object(this.swapInfo.poolId),
16
- tx.pure.bool(this.swapInfo.swapXtoY),
17
- tx.pure.u64(0), // min output amount
18
- xIn,
19
- yIn,
20
- tx.object(SUI_CLOCK_OBJECT_ID),
21
- ],
22
- });
23
- SuiUtils.transferOrDestroyZeroCoin(tx, this.swapInfo.assetIn, this.swapInfo.swapXtoY ? x : y, this.currentAccount);
24
- return this.swapInfo.swapXtoY ? y : x;
25
- }
26
- }
@@ -1,14 +0,0 @@
1
- import { BaseContract } from "../base";
2
- export class FlowXContract extends BaseContract {
3
- async swap(tx) {
4
- const coinInType = this.swapInfo.assetIn;
5
- const coinOutType = this.swapInfo.assetOut;
6
- const config = this.config.flowx;
7
- const [tokenOut] = tx.moveCall({
8
- target: `${config.package}::router::swap_exact_input_direct`,
9
- typeArguments: [coinInType, coinOutType],
10
- arguments: [tx.object(config.container), this.inputCoinObject],
11
- });
12
- return tokenOut;
13
- }
14
- }
@@ -1,32 +0,0 @@
1
- import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
2
- import { BaseContract } from "../base";
3
- import { getDefaultSqrtPriceLimit } from "../utils";
4
- export class FlowxV3Contract extends BaseContract {
5
- async swap(tx) {
6
- const [coinX, coinY] = this.swapInfo.pool.allTokens;
7
- const swapXtoY = this.swapInfo.swapXtoY;
8
- const swapFeeRate = this.swapInfo.extra.swapFeeRate;
9
- if (!swapFeeRate) {
10
- throw new Error("swapFeeRate is required");
11
- }
12
- const config = this.config.flowx_v3;
13
- const [coinOut] = tx.moveCall({
14
- target: `${config.package}::swap_router::swap_exact_input`,
15
- typeArguments: [
16
- swapXtoY ? coinX.address : coinY.address,
17
- swapXtoY ? coinY.address : coinX.address,
18
- ],
19
- arguments: [
20
- tx.object(config.registry),
21
- tx.pure.u64(swapFeeRate), // swap fee rate to lookup pool in the registry
22
- this.inputCoinObject,
23
- tx.pure.u64(0), // min amount out
24
- tx.pure.u128(getDefaultSqrtPriceLimit(swapXtoY) + (swapXtoY ? 1n : -1n)), // sqrt price limit
25
- tx.pure.u64("18446744073709551615"), // u64 max value
26
- tx.object(config.version),
27
- tx.object(SUI_CLOCK_OBJECT_ID),
28
- ],
29
- });
30
- return coinOut;
31
- }
32
- }
@@ -1,35 +0,0 @@
1
- import { BaseContract } from "../base";
2
- import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
3
- import { SuiUtils } from "../../../utils/sui";
4
- import { getDefaultSqrtPriceLimit } from "../utils";
5
- export class FullsailContract extends BaseContract {
6
- async swap(tx) {
7
- const [coinX, coinY] = this.swapInfo.pool.allTokens;
8
- const swapXtoY = this.swapInfo.swapXtoY;
9
- const sqrtPriceLimit = getDefaultSqrtPriceLimit(swapXtoY);
10
- const typeArguments = [coinX.address, coinY.address];
11
- const zeroOut = SuiUtils.zeroCoin(tx, swapXtoY ? coinY.address : coinX.address);
12
- const config = this.config.fullsail;
13
- const [receiveA, receiveB] = tx.moveCall({
14
- target: `${config.package}::router::swap`,
15
- typeArguments,
16
- arguments: [
17
- tx.object(config.globalConfig),
18
- tx.object(config.rewarderGlobalVault),
19
- tx.object(this.swapInfo.poolId),
20
- swapXtoY ? this.inputCoinObject : zeroOut, // coin A
21
- swapXtoY ? zeroOut : this.inputCoinObject, // coin B
22
- tx.pure.bool(swapXtoY), // a to b or b to a
23
- tx.pure.bool(true), // exact in or out
24
- this.getInputCoinValue(tx), // swap amount
25
- tx.pure.u128(sqrtPriceLimit.toString()), // sqrt price limit
26
- tx.pure.bool(false),
27
- tx.object(config.stats),
28
- tx.object(config.priceProvider),
29
- tx.object(SUI_CLOCK_OBJECT_ID),
30
- ],
31
- });
32
- SuiUtils.collectDust(tx, this.swapInfo.assetIn, swapXtoY ? receiveA : receiveB);
33
- return swapXtoY ? receiveB : receiveA;
34
- }
35
- }
@@ -1,27 +0,0 @@
1
- import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
2
- import { SuiUtils } from "../../../utils/sui";
3
- import { BaseContract } from "../base";
4
- export class HaedalPMMContract extends BaseContract {
5
- async swap(tx) {
6
- const [coinX, coinY] = this.swapInfo.pool.allTokens;
7
- const xToY = this.swapInfo.swapXtoY;
8
- const oracleX = this.getPythPriceInfoId(this.extra.oracles?.[0]);
9
- const oracleY = this.getPythPriceInfoId(this.extra.oracles?.[1]);
10
- const config = this.config.haedal_pmm;
11
- const [coinOut] = tx.moveCall({
12
- target: `${config.package}::trader::${xToY ? "sell_base_coin" : "sell_quote_coin"}`,
13
- typeArguments: [coinX.address, coinY.address],
14
- arguments: [
15
- tx.object(this.swapInfo.poolId),
16
- tx.object(SUI_CLOCK_OBJECT_ID),
17
- tx.object(oracleX), // pyth pricefeed for x
18
- tx.object(oracleY), // pyth pricefeed for y
19
- this.inputCoinObject, // mutable coin
20
- this.getInputCoinValue(tx), // swap amount
21
- tx.pure.u64(0), // min output amount
22
- ],
23
- });
24
- SuiUtils.collectDust(tx, this.swapInfo.assetIn, this.inputCoinObject);
25
- return coinOut;
26
- }
27
- }
@@ -1,52 +0,0 @@
1
- import { AfterMathContract } from "./aftermath";
2
- import { BluefinContract } from "./bluefin";
3
- import { BluefinXContract } from "./bluefinx";
4
- import { BluemoveContract } from "./bluemove";
5
- import { CetusContract } from "./cetus";
6
- import { CetusDLMMContract } from "./cetus_dlmm";
7
- import { SponsoredDeepBookV3Contract } from "./deepbookV3/sponsored";
8
- import { FerraCLMMContract } from "./ferra_clmm";
9
- import { FerraDLMMContract } from "./ferra_dlmm";
10
- import { FlowXContract } from "./flowx";
11
- import { FlowxV3Contract } from "./flowxV3";
12
- import { FullsailContract } from "./fullsail";
13
- import { HaedalPMMContract } from "./haedal_pmm";
14
- import { KriyaContract } from "./kriya";
15
- import { KriyaV3Contract } from "./kriyaV3";
16
- import { MagmaContract } from "./magma";
17
- import { MomentumContract } from "./momentum";
18
- import { ObricContract } from "./obric";
19
- import { SevenKV1 } from "./sevenk";
20
- import { SpringSuiContract } from "./springsui";
21
- import { SteammContract } from "./steamm";
22
- import { StSuiContract } from "./stsui";
23
- import { SuiswapContract } from "./suiswap";
24
- import { TurbosContract } from "./turbos";
25
- export const ProtocolContract = {
26
- cetus: CetusContract,
27
- turbos: TurbosContract,
28
- bluemove: BluemoveContract,
29
- kriya: KriyaContract,
30
- suiswap: SuiswapContract,
31
- aftermath: AfterMathContract,
32
- deepbook_v3: SponsoredDeepBookV3Contract,
33
- flowx: FlowXContract,
34
- flowx_v3: FlowxV3Contract,
35
- kriya_v3: KriyaV3Contract,
36
- bluefin: BluefinContract,
37
- springsui: SpringSuiContract,
38
- obric: ObricContract,
39
- stsui: StSuiContract,
40
- steamm: SteammContract,
41
- steamm_oracle_quoter: SteammContract,
42
- steamm_oracle_quoter_v2: SteammContract,
43
- magma: MagmaContract,
44
- haedal_pmm: HaedalPMMContract,
45
- momentum: MomentumContract,
46
- bluefinx: BluefinXContract,
47
- sevenk_v1: SevenKV1,
48
- fullsail: FullsailContract,
49
- cetus_dlmm: CetusDLMMContract,
50
- ferra_dlmm: FerraDLMMContract,
51
- ferra_clmm: FerraCLMMContract,
52
- };
@@ -1,26 +0,0 @@
1
- import { BaseContract } from "../base";
2
- import { normalizeTokenType } from "../../../utils/token";
3
- export class KriyaContract extends BaseContract {
4
- async swap(tx) {
5
- const swapXtoY = this.swapInfo.swapXtoY;
6
- const coinInType = normalizeTokenType(this.swapInfo.assetIn);
7
- const coinOutType = normalizeTokenType(this.swapInfo.assetOut);
8
- const poolId = this.swapInfo.poolId;
9
- const inputCoinObject = this.inputCoinObject;
10
- const config = this.config.kriya;
11
- const [tokenOut] = tx.moveCall({
12
- target: `${config.package}::spot_dex::${swapXtoY ? "swap_token_x" : "swap_token_y"}`,
13
- typeArguments: [
14
- swapXtoY ? coinInType : coinOutType,
15
- swapXtoY ? coinOutType : coinInType,
16
- ],
17
- arguments: [
18
- tx.object(poolId),
19
- inputCoinObject,
20
- this.getInputCoinValue(tx),
21
- tx.pure.u64(0),
22
- ],
23
- });
24
- return tokenOut;
25
- }
26
- }
@@ -1,61 +0,0 @@
1
- import { BaseContract } from "../base";
2
- import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
3
- import { normalizeTokenType } from "../../../utils/token";
4
- export class KriyaV3Contract extends BaseContract {
5
- async swap(tx) {
6
- const swapXtoY = this.swapInfo.swapXtoY;
7
- const coinInType = normalizeTokenType(this.swapInfo.assetIn);
8
- const coinOutType = normalizeTokenType(this.swapInfo.assetOut);
9
- const poolId = this.swapInfo.poolId;
10
- const LowLimitPrice = 4295048017;
11
- const limitPrice = BigInt("79226673515401279992447579050");
12
- const { package: PACKAGE_ID, version: VERSION_ID } = this.config.kriya_v3;
13
- const [receive_a, receive_b, flash_receipt] = tx.moveCall({
14
- target: `${PACKAGE_ID}::trade::flash_swap`,
15
- typeArguments: this.getTypeParams(),
16
- arguments: [
17
- tx.object(poolId),
18
- tx.pure.bool(swapXtoY),
19
- tx.pure.bool(true),
20
- this.getInputCoinValue(tx),
21
- tx.pure.u128(swapXtoY ? LowLimitPrice : limitPrice),
22
- tx.object(SUI_CLOCK_OBJECT_ID),
23
- tx.object(VERSION_ID),
24
- ],
25
- });
26
- tx.moveCall({
27
- target: `0x2::balance::destroy_zero`,
28
- arguments: [swapXtoY ? receive_a : receive_b],
29
- typeArguments: [coinInType],
30
- });
31
- const [zeroOutCoin] = tx.moveCall({
32
- target: `0x2::balance::zero`,
33
- arguments: [],
34
- typeArguments: [coinOutType],
35
- });
36
- const inputCoinBalance = tx.moveCall({
37
- target: `0x2::coin::into_balance`,
38
- typeArguments: [coinInType],
39
- arguments: [this.inputCoinObject],
40
- });
41
- const pay_coin_a = swapXtoY ? inputCoinBalance : zeroOutCoin;
42
- const pay_coin_b = swapXtoY ? zeroOutCoin : inputCoinBalance;
43
- tx.moveCall({
44
- target: `${PACKAGE_ID}::trade::repay_flash_swap`,
45
- typeArguments: this.getTypeParams(),
46
- arguments: [
47
- tx.object(poolId),
48
- flash_receipt,
49
- pay_coin_a,
50
- pay_coin_b,
51
- tx.object(VERSION_ID),
52
- ],
53
- });
54
- const [tokenOut] = tx.moveCall({
55
- target: `0x2::coin::from_balance`,
56
- typeArguments: [coinOutType],
57
- arguments: [swapXtoY ? receive_b : receive_a],
58
- });
59
- return tokenOut;
60
- }
61
- }
@@ -1,36 +0,0 @@
1
- import { BaseContract } from "../base";
2
- import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
3
- import { getDefaultSqrtPriceLimit } from "../utils";
4
- import { SuiUtils } from "../../../utils/sui";
5
- export class MagmaContract extends BaseContract {
6
- async swap(tx) {
7
- const [coinX, coinY] = this.swapInfo.pool.allTokens;
8
- const swapXtoY = this.swapInfo.swapXtoY;
9
- const sqrtPriceLimit = getDefaultSqrtPriceLimit(swapXtoY);
10
- const typeArguments = [coinX.address, coinY.address];
11
- const [zeroOut] = tx.moveCall({
12
- target: "0x2::coin::zero",
13
- typeArguments: [swapXtoY ? coinY.address : coinX.address],
14
- });
15
- const amountIn = SuiUtils.getCoinValue(swapXtoY ? coinX.address : coinY.address, this.inputCoinObject, tx);
16
- const config = this.config.magma;
17
- const [receiveA, receiveB] = tx.moveCall({
18
- target: `${config.package}::router::swap`,
19
- typeArguments,
20
- arguments: [
21
- tx.object(config.globalConfig),
22
- tx.object(this.swapInfo.poolId),
23
- swapXtoY ? this.inputCoinObject : zeroOut, // coin A
24
- swapXtoY ? zeroOut : this.inputCoinObject, // coin B
25
- tx.pure.bool(swapXtoY), // a to b or b to a
26
- tx.pure.bool(true), // exact in or out
27
- amountIn, // swap amount
28
- tx.pure.u128(sqrtPriceLimit.toString()), // sqrt price limit
29
- tx.pure.bool(false),
30
- tx.object(SUI_CLOCK_OBJECT_ID),
31
- ],
32
- });
33
- SuiUtils.collectDust(tx, this.swapInfo.assetIn, swapXtoY ? receiveA : receiveB);
34
- return swapXtoY ? receiveB : receiveA;
35
- }
36
- }
@@ -1,45 +0,0 @@
1
- import { BaseContract } from "../base";
2
- import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
3
- import { getDefaultSqrtPriceLimit } from "../utils";
4
- import { SuiUtils } from "../../../utils/sui";
5
- export class MomentumContract extends BaseContract {
6
- async swap(tx) {
7
- const [coinX, coinY] = this.swapInfo.pool.allTokens;
8
- const swapXtoY = this.swapInfo.swapXtoY;
9
- const sqrtPriceLimit = getDefaultSqrtPriceLimit(swapXtoY);
10
- const typeArguments = [coinX.address, coinY.address];
11
- const { package: packageId, version } = this.config.momentum;
12
- const [receiveA, receiveB, debt] = tx.moveCall({
13
- target: `${packageId}::trade::flash_swap`,
14
- typeArguments,
15
- arguments: [
16
- tx.object(this.swapInfo.poolId),
17
- tx.pure.bool(swapXtoY), // a2b
18
- tx.pure.bool(true), // exact in
19
- this.getInputCoinValue(tx),
20
- tx.pure.u128(sqrtPriceLimit.toString()), // sqrt price limit
21
- tx.object(SUI_CLOCK_OBJECT_ID),
22
- tx.object(version),
23
- ],
24
- });
25
- tx.moveCall({
26
- target: `${packageId}::trade::repay_flash_swap`,
27
- typeArguments,
28
- arguments: [
29
- tx.object(this.swapInfo.poolId),
30
- debt,
31
- swapXtoY
32
- ? SuiUtils.coinIntoBalance(tx, coinX.address, this.inputCoinObject)
33
- : SuiUtils.zeroBalance(tx, coinX.address),
34
- swapXtoY
35
- ? SuiUtils.zeroBalance(tx, coinY.address)
36
- : SuiUtils.coinIntoBalance(tx, coinY.address, this.inputCoinObject),
37
- tx.object(version),
38
- ],
39
- });
40
- const receiveACoin = SuiUtils.coinFromBalance(tx, coinX.address, receiveA);
41
- const receiveBCoin = SuiUtils.coinFromBalance(tx, coinY.address, receiveB);
42
- SuiUtils.collectDust(tx, this.swapInfo.assetIn, swapXtoY ? receiveACoin : receiveBCoin);
43
- return swapXtoY ? receiveBCoin : receiveACoin;
44
- }
45
- }
@@ -1,24 +0,0 @@
1
- import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
2
- import { BaseContract } from "../base";
3
- export class ObricContract extends BaseContract {
4
- async swap(tx) {
5
- const [coinX, coinY] = this.swapInfo.pool.allTokens;
6
- const xToY = this.swapInfo.swapXtoY;
7
- const oracleX = this.getPythPriceInfoId(this.extra.oracles?.[0]);
8
- const oracleY = this.getPythPriceInfoId(this.extra.oracles?.[1]);
9
- const { package: PACKAGE_ID, pythState: PYTH_STATE } = this.config.obric;
10
- const [coinOut] = tx.moveCall({
11
- target: `${PACKAGE_ID}::v2::${xToY ? "swap_x_to_y" : "swap_y_to_x"}`,
12
- typeArguments: [coinX.address, coinY.address],
13
- arguments: [
14
- tx.object(this.swapInfo.poolId),
15
- tx.object(SUI_CLOCK_OBJECT_ID),
16
- tx.object(PYTH_STATE),
17
- tx.object(oracleX), // pyth pricefeed for x
18
- tx.object(oracleY), // pyth pricefeed for y
19
- this.inputCoinObject,
20
- ],
21
- });
22
- return coinOut;
23
- }
24
- }
@@ -1,51 +0,0 @@
1
- import { normalizeStructTag, parseStructTag, SUI_CLOCK_OBJECT_ID, toHex, } from "@mysten/sui/utils";
2
- import { BaseContract } from "../base";
3
- export class SevenKV1 extends BaseContract {
4
- async swap(tx) {
5
- const x2y = this.swapInfo.swapXtoY;
6
- const config = this.config.sevenk_v1;
7
- const [coinOut] = tx.moveCall({
8
- target: `${config.package}::pool_v1::${x2y ? "swap_x_to_y" : "swap_y_to_x"}`,
9
- typeArguments: parseStructTag(this.extra.poolStructTag).typeParams.map(normalizeStructTag),
10
- arguments: [
11
- tx.object(this.swapInfo.poolId),
12
- this.getOraclePriceUpdate(tx),
13
- this.inputCoinObject,
14
- tx.pure.u64(0),
15
- ],
16
- });
17
- return coinOut;
18
- }
19
- getOraclePriceUpdate(tx) {
20
- const oracleX = this.extra.oracles?.[0]?.Pyth?.bytes;
21
- const oracleY = this.extra.oracles?.[1]?.Pyth?.bytes;
22
- if (!oracleX ||
23
- !oracleY ||
24
- !this.extra.oracleConfigX ||
25
- !this.extra.oracleConfigY) {
26
- throw new Error(`Invalid oracle info for getOraclePriceUpdate`);
27
- }
28
- const [holder] = tx.moveCall({
29
- target: `${this.config.sevenk_v1.oracle}::oracle::new_holder`,
30
- });
31
- tx.moveCall({
32
- target: `${this.config.sevenk_v1.oracle}::pyth::get_price`,
33
- arguments: [
34
- tx.object(this.extra.oracleConfigX),
35
- holder,
36
- tx.object(this.pythMap["0x" + toHex(Uint8Array.from(oracleX))]),
37
- tx.object(SUI_CLOCK_OBJECT_ID),
38
- ],
39
- });
40
- tx.moveCall({
41
- target: `${this.config.sevenk_v1.oracle}::pyth::get_price`,
42
- arguments: [
43
- tx.object(this.extra.oracleConfigY),
44
- holder,
45
- tx.object(this.pythMap["0x" + toHex(Uint8Array.from(oracleY))]),
46
- tx.object(SUI_CLOCK_OBJECT_ID),
47
- ],
48
- });
49
- return holder;
50
- }
51
- }
@@ -1,20 +0,0 @@
1
- import { SUI_SYSTEM_STATE_OBJECT_ID } from "@mysten/sui/utils";
2
- import { BaseContract } from "../base";
3
- export class SpringSuiContract extends BaseContract {
4
- async swap(tx) {
5
- // coinX is always SUI
6
- const coinY = this.swapInfo.pool.allTokens[1];
7
- const isStake = this.swapInfo.swapXtoY;
8
- const { package: PACKAGE_ID } = this.config.springsui;
9
- const [coinOut] = tx.moveCall({
10
- target: `${PACKAGE_ID}::liquid_staking::${isStake ? "mint" : "redeem"}`,
11
- typeArguments: [coinY.address],
12
- arguments: [
13
- tx.object(this.swapInfo.poolId),
14
- isStake ? tx.object(SUI_SYSTEM_STATE_OBJECT_ID) : this.inputCoinObject,
15
- isStake ? this.inputCoinObject : tx.object(SUI_SYSTEM_STATE_OBJECT_ID),
16
- ],
17
- });
18
- return coinOut;
19
- }
20
- }
@@ -1,156 +0,0 @@
1
- import { normalizeStructTag, parseStructTag, SUI_CLOCK_OBJECT_ID, } from "@mysten/sui/utils";
2
- import { SuiUtils } from "../../../utils/sui";
3
- import { BaseContract } from "../base";
4
- export class SteammContract extends BaseContract {
5
- async swap(tx) {
6
- if (this.extra.poolStructTag.includes("omm::OracleQuoter")) {
7
- return this.ommSwap(tx, "v1");
8
- }
9
- else if (this.extra.poolStructTag.includes("omm_v2::OracleQuoterV2")) {
10
- return this.ommSwap(tx, "v2");
11
- }
12
- else if (this.extra.poolStructTag.includes("cpmm::CpQuoter")) {
13
- return this.cpmmSwap(tx);
14
- }
15
- throw new Error(`Unsupported pool type: ${this.extra.poolStructTag}`);
16
- }
17
- cpmmSwap(tx) {
18
- const extra = this.extra;
19
- if (!extra ||
20
- !extra.bankAStructTag ||
21
- !extra.bankBStructTag ||
22
- !extra.poolStructTag ||
23
- !extra.bankA ||
24
- !extra.bankB ||
25
- !extra.lendingMarketA ||
26
- !extra.lendingMarketB) {
27
- throw new Error(`Invalid extra info for cpmmSwap`);
28
- }
29
- // the pool script v1 only support same lending market
30
- if (extra.lendingMarketA !== extra.lendingMarketB) {
31
- throw new Error(`Invalid lending market for cpmmSwap`);
32
- }
33
- const [btokenA, bTokenB, _quoter, lp] = parseStructTag(extra.poolStructTag).typeParams;
34
- const [lendingMarket, coinTypeA, _bTokenA] = parseStructTag(extra.bankAStructTag).typeParams;
35
- const [_lendingMarket, coinTypeB, _bTokenB] = parseStructTag(extra.bankBStructTag).typeParams;
36
- const xToY = this.swapInfo.swapXtoY;
37
- const coinA = xToY
38
- ? this.inputCoinObject
39
- : SuiUtils.zeroCoin(tx, normalizeStructTag(coinTypeA));
40
- const coinB = !xToY
41
- ? this.inputCoinObject
42
- : SuiUtils.zeroCoin(tx, normalizeStructTag(coinTypeB));
43
- tx.moveCall({
44
- target: `${this.config.steamm.script}::pool_script::cpmm_swap`,
45
- typeArguments: [
46
- lendingMarket,
47
- coinTypeA,
48
- coinTypeB,
49
- btokenA,
50
- bTokenB,
51
- lp,
52
- ].map(normalizeStructTag),
53
- arguments: [
54
- tx.object(this.swapInfo.poolId),
55
- tx.object(extra.bankA),
56
- tx.object(extra.bankB),
57
- tx.object(extra.lendingMarketA),
58
- coinA,
59
- coinB,
60
- tx.pure.bool(xToY),
61
- this.getInputCoinValue(tx),
62
- tx.pure.u64(0),
63
- tx.object(SUI_CLOCK_OBJECT_ID),
64
- ],
65
- });
66
- const coinIn = xToY ? coinA : coinB;
67
- const coinOut = xToY ? coinB : coinA;
68
- SuiUtils.collectDust(tx, this.swapInfo.assetIn, coinIn);
69
- return coinOut;
70
- }
71
- ommSwap(tx, version) {
72
- const extra = this.swapInfo.extra;
73
- if (!extra ||
74
- !extra.bankAStructTag ||
75
- !extra.bankBStructTag ||
76
- !extra.poolStructTag ||
77
- !extra.bankA ||
78
- !extra.bankB ||
79
- !extra.lendingMarketA ||
80
- !extra.lendingMarketB) {
81
- throw new Error(`Invalid extra info for cpmmSwap`);
82
- }
83
- // the pool script v1 only support same lending market
84
- if (extra.lendingMarketA !== extra.lendingMarketB) {
85
- throw new Error(`Invalid lending market for ommSwap`);
86
- }
87
- const [btokenA, bTokenB, _quoter, lp] = parseStructTag(extra.poolStructTag).typeParams;
88
- const [lendingMarket, coinTypeA, _bTokenA] = parseStructTag(extra.bankAStructTag).typeParams;
89
- const [_lendingMarket, coinTypeB, _bTokenB] = parseStructTag(extra.bankBStructTag).typeParams;
90
- const xToY = this.swapInfo.swapXtoY;
91
- const coinA = xToY
92
- ? this.inputCoinObject
93
- : SuiUtils.zeroCoin(tx, normalizeStructTag(coinTypeA));
94
- const coinB = !xToY
95
- ? this.inputCoinObject
96
- : SuiUtils.zeroCoin(tx, normalizeStructTag(coinTypeB));
97
- const [priceA, priceB] = this.getOraclePriceUpdate(tx);
98
- tx.moveCall({
99
- target: `${this.config.steamm.script}::pool_script_v2::${version === "v1" ? "omm_swap" : "omm_v2_swap"}`,
100
- typeArguments: [
101
- lendingMarket,
102
- coinTypeA,
103
- coinTypeB,
104
- btokenA,
105
- bTokenB,
106
- lp,
107
- ].map(normalizeStructTag),
108
- arguments: [
109
- tx.object(this.swapInfo.poolId),
110
- tx.object(extra.bankA),
111
- tx.object(extra.bankB),
112
- tx.object(extra.lendingMarketA),
113
- priceA,
114
- priceB,
115
- coinA,
116
- coinB,
117
- tx.pure.bool(xToY),
118
- this.getInputCoinValue(tx),
119
- tx.pure.u64(0),
120
- tx.object(SUI_CLOCK_OBJECT_ID),
121
- ],
122
- });
123
- const coinIn = xToY ? coinA : coinB;
124
- const coinOut = xToY ? coinB : coinA;
125
- SuiUtils.collectDust(tx, this.swapInfo.assetIn, coinIn);
126
- return coinOut;
127
- }
128
- getOraclePriceUpdate(tx) {
129
- const oracleA = this.getPythPriceInfoId(this.extra.oracles?.[0]);
130
- const oracleB = this.getPythPriceInfoId(this.extra.oracles?.[1]);
131
- const registry = this.extra.oracleRegistry;
132
- const indexes = this.extra.oracleIndexes;
133
- if (!registry || indexes?.length !== 2) {
134
- throw new Error(`Invalid oracle info for getOraclePriceUpdate`);
135
- }
136
- const [a] = tx.moveCall({
137
- target: `${this.config.steamm.oracle}::oracles::get_pyth_price`,
138
- arguments: [
139
- tx.object(registry),
140
- tx.object(oracleA),
141
- tx.pure.u64(indexes[0]),
142
- tx.object(SUI_CLOCK_OBJECT_ID),
143
- ],
144
- });
145
- const [b] = tx.moveCall({
146
- target: `${this.config.steamm.oracle}::oracles::get_pyth_price`,
147
- arguments: [
148
- tx.object(registry),
149
- tx.object(oracleB),
150
- tx.pure.u64(indexes[1]),
151
- tx.object(SUI_CLOCK_OBJECT_ID),
152
- ],
153
- });
154
- return [a, b];
155
- }
156
- }
@@ -1,20 +0,0 @@
1
- import { SUI_SYSTEM_STATE_OBJECT_ID } from "@mysten/sui/utils";
2
- import { BaseContract } from "../base";
3
- export class StSuiContract extends BaseContract {
4
- async swap(tx) {
5
- // coinX is always SUI
6
- const coinY = this.swapInfo.pool.allTokens[1];
7
- const isStake = this.swapInfo.swapXtoY;
8
- const { package: PACKAGE_ID } = this.config.stsui;
9
- const [coinOut] = tx.moveCall({
10
- target: `${PACKAGE_ID}::liquid_staking::${isStake ? "mint" : "redeem"}`,
11
- typeArguments: [coinY.address],
12
- arguments: [
13
- tx.object(this.swapInfo.poolId),
14
- isStake ? tx.object(SUI_SYSTEM_STATE_OBJECT_ID) : this.inputCoinObject,
15
- isStake ? this.inputCoinObject : tx.object(SUI_SYSTEM_STATE_OBJECT_ID),
16
- ],
17
- });
18
- return coinOut;
19
- }
20
- }
@@ -1,30 +0,0 @@
1
- import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
2
- import { BaseContract } from "../base";
3
- import { SuiUtils } from "../../../utils/sui";
4
- export class SuiswapContract extends BaseContract {
5
- async swap(tx) {
6
- const poolId = this.swapInfo.poolId;
7
- const swapXtoY = this.swapInfo.swapXtoY;
8
- const inputCoin = this.inputCoinObject;
9
- const typeArguments = [this.swapInfo.coinX.type, this.swapInfo.coinY.type];
10
- const callFunc = swapXtoY
11
- ? "do_swap_x_to_y_direct"
12
- : "do_swap_y_to_x_direct";
13
- const { package: PACKAGE_ID } = this.config.suiswap;
14
- const inputAmount = this.getInputCoinValue(tx);
15
- const [tokenIn, tokenOut] = tx.moveCall({
16
- target: `${PACKAGE_ID}::pool::${callFunc}`,
17
- typeArguments,
18
- arguments: [
19
- tx.object(poolId),
20
- tx.makeMoveVec({
21
- elements: [inputCoin],
22
- }),
23
- inputAmount,
24
- tx.object(SUI_CLOCK_OBJECT_ID),
25
- ],
26
- });
27
- SuiUtils.collectDust(tx, this.swapInfo.assetIn, tokenIn);
28
- return tokenOut;
29
- }
30
- }