@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,198 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildBluefinXTx = exports.settle = exports.getExpectedReturn = exports.validateRoutes = exports.updatePythPriceFeedsIfAny = exports.getPythPriceFeeds = exports.buildTx = void 0;
4
- const transactions_1 = require("@mysten/sui/transactions");
5
- const utils_1 = require("@mysten/sui/utils");
6
- const config_1 = require("../../config");
7
- const _7k_1 = require("../../constants/_7k");
8
- const groupSwapRoutes_1 = require("../../libs/groupSwapRoutes");
9
- const client_1 = require("../../libs/protocols/bluefinx/client");
10
- const types_1 = require("../../libs/protocols/bluefinx/types");
11
- const swapWithRoute_1 = require("../../libs/swapWithRoute");
12
- const aggregator_1 = require("../../types/aggregator");
13
- const sui_1 = require("../../utils/sui");
14
- const config_2 = require("./config");
15
- const getQuote_1 = require("./getQuote");
16
- const buildTx = async ({ quoteResponse, accountAddress, slippage, commission: __commission, devInspect, extendTx, isSponsored, }) => {
17
- const isBluefinX = (0, aggregator_1.isBluefinXRouting)(quoteResponse);
18
- const _commission = {
19
- ...__commission,
20
- // commission is ignored for bluefinx
21
- commissionBps: isBluefinX ? 0 : __commission.commissionBps,
22
- };
23
- const { tx: _tx, coinIn: _coinIn } = extendTx || {};
24
- let coinOut;
25
- if (isBluefinX && devInspect) {
26
- throw new Error("BluefinX tx is sponsored, skip devInspect");
27
- }
28
- if (!accountAddress) {
29
- throw new Error("Sender address is required");
30
- }
31
- if (!quoteResponse.routes) {
32
- throw new Error("Invalid quote response: 'routes' are required");
33
- }
34
- if (!(0, utils_1.isValidSuiAddress)(_commission.partner)) {
35
- throw new Error("Invalid commission partner address");
36
- }
37
- const tx = _tx || new transactions_1.Transaction();
38
- const routes = (0, groupSwapRoutes_1.groupSwapRoutes)(quoteResponse);
39
- (0, exports.validateRoutes)(routes, isSponsored);
40
- const splits = routes.map((group) => group[0]?.amount ?? "0");
41
- const coinIn = _coinIn ||
42
- tx.add((0, transactions_1.coinWithBalance)({
43
- type: quoteResponse.tokenIn,
44
- balance: BigInt(quoteResponse.swapAmountWithDecimal),
45
- useGasCoin: !isSponsored && !isBluefinX,
46
- }));
47
- const coinData = tx.splitCoins(coinIn, splits);
48
- sui_1.SuiUtils.transferOrDestroyZeroCoin(tx, quoteResponse.tokenIn, coinIn, accountAddress);
49
- const pythMap = await (0, exports.updatePythPriceFeedsIfAny)(tx, [quoteResponse]);
50
- const coinObjects = [];
51
- const config = await (0, config_2.getConfig)();
52
- await Promise.all(routes.map(async (route, index) => {
53
- const inputCoinObject = coinData[index];
54
- const coinRes = await (0, swapWithRoute_1.swapWithRoute)({
55
- route,
56
- inputCoinObject,
57
- currentAccount: accountAddress,
58
- tx,
59
- config,
60
- pythMap,
61
- });
62
- if (coinRes) {
63
- coinObjects.push(coinRes);
64
- }
65
- }));
66
- if (coinObjects.length > 0) {
67
- const mergedCoin = tx.add((0, exports.settle)(coinObjects, quoteResponse, Math.floor(+slippage * 10000), _commission));
68
- if (!extendTx) {
69
- tx.transferObjects([mergedCoin], tx.pure.address(accountAddress));
70
- }
71
- else {
72
- coinOut = mergedCoin;
73
- }
74
- }
75
- if (isBluefinX) {
76
- return {
77
- tx: await (0, exports.buildBluefinXTx)(tx, accountAddress, quoteResponse),
78
- coinOut,
79
- };
80
- }
81
- tx.setSenderIfNotSet(accountAddress);
82
- return { tx, coinOut };
83
- };
84
- exports.buildTx = buildTx;
85
- const getPythPriceFeeds = (responses) => {
86
- const ids = new Set();
87
- for (const res of responses) {
88
- for (const s of res.swaps) {
89
- for (const o of s.extra?.oracles || []) {
90
- const bytes = o.Pyth?.price_identifier?.bytes || o.Pyth?.bytes;
91
- if (bytes) {
92
- ids.add("0x" + (0, utils_1.toHex)(Uint8Array.from(bytes)));
93
- }
94
- }
95
- }
96
- }
97
- return Array.from(ids);
98
- };
99
- exports.getPythPriceFeeds = getPythPriceFeeds;
100
- const updatePythPriceFeedsIfAny = async (tx, quoteResponse) => {
101
- // update oracles price if any
102
- const pythMap = {};
103
- const pythIds = (0, exports.getPythPriceFeeds)(quoteResponse);
104
- if (pythIds.length > 0) {
105
- const prices = await config_1.Config.getPythConnection().getPriceFeedsUpdateData(pythIds);
106
- const ids = await config_1.Config.getPythClient().updatePriceFeeds(tx, prices, pythIds);
107
- pythIds.map((id, index) => {
108
- pythMap[id] = ids[index];
109
- });
110
- }
111
- return pythMap;
112
- };
113
- exports.updatePythPriceFeedsIfAny = updatePythPriceFeedsIfAny;
114
- const validateRoutes = (routes, isSponsored) => {
115
- if (!isSponsored) {
116
- return;
117
- }
118
- const hasOracleBasedSource = routes.some((g) => g.some((s) => getQuote_1.ORACLE_BASED_SOURCES.has(s.pool.type)));
119
- if (hasOracleBasedSource) {
120
- throw new Error("Oracle based sources are not supported for sponsored tx");
121
- }
122
- };
123
- exports.validateRoutes = validateRoutes;
124
- const getExpectedReturn = (returnAmount, slippageBps, commissionBps, tipBps = 0) => {
125
- if (slippageBps > 10000) {
126
- throw new Error("Slippage must be less than 100%");
127
- }
128
- if (commissionBps > 10000) {
129
- throw new Error("Commission must be less than 100%");
130
- }
131
- if (tipBps > 10000) {
132
- throw new Error("Tip must be less than 100%");
133
- }
134
- const returnAmountWithDecimal = BigInt(returnAmount);
135
- const tipAmountWithDecimal = (returnAmountWithDecimal * BigInt(tipBps || 0)) / 10000n;
136
- const commissionAmountWithDecimal = ((returnAmountWithDecimal - tipAmountWithDecimal) * BigInt(commissionBps)) /
137
- 10000n;
138
- const expectedReturnWithDecimal = returnAmountWithDecimal -
139
- tipAmountWithDecimal -
140
- commissionAmountWithDecimal;
141
- const minAmountWithDecimal = (expectedReturnWithDecimal * BigInt(1e4 - slippageBps)) / 10000n;
142
- return {
143
- tipAmount: tipAmountWithDecimal,
144
- minAmount: minAmountWithDecimal,
145
- commissionAmount: commissionAmountWithDecimal,
146
- expectedAmount: expectedReturnWithDecimal.toString(10),
147
- };
148
- };
149
- exports.getExpectedReturn = getExpectedReturn;
150
- const settle = (coinObjects, quoteResponse, slippageBps, _commission) => {
151
- return (tx) => {
152
- const mergeCoin = coinObjects.length > 1
153
- ? (tx.mergeCoins(coinObjects[0], coinObjects.slice(1)), coinObjects[0])
154
- : coinObjects[0];
155
- const { minAmount, expectedAmount } = (0, exports.getExpectedReturn)(quoteResponse.returnAmountWithDecimal, slippageBps, _commission.commissionBps);
156
- tx.moveCall({
157
- target: `${_7k_1._7K_PACKAGE_ID}::settle::settle`,
158
- typeArguments: [quoteResponse.tokenIn, quoteResponse.tokenOut],
159
- arguments: [
160
- tx.object(_7k_1._7K_CONFIG),
161
- tx.object(_7k_1._7K_VAULT),
162
- tx.pure.u64(quoteResponse.swapAmountWithDecimal),
163
- mergeCoin,
164
- tx.pure.u64(minAmount), // minimum received
165
- tx.pure.u64(expectedAmount), // expected amount out
166
- tx.pure.option("address", (0, utils_1.isValidSuiAddress)(_commission.partner) ? _commission.partner : null),
167
- tx.pure.u64(_commission.commissionBps),
168
- tx.pure.u64(0),
169
- ],
170
- });
171
- return mergeCoin;
172
- };
173
- };
174
- exports.settle = settle;
175
- const buildBluefinXTx = async (tx, accountAddress, quoteResponse) => {
176
- const extra = quoteResponse.swaps[0].extra;
177
- if (extra.quoteExpiresAtUtcMillis < Date.now()) {
178
- throw new Error("Quote expired");
179
- }
180
- if (extra.taker !== accountAddress) {
181
- throw new Error("Sender mismatch with quote");
182
- }
183
- tx.setSenderIfNotSet(accountAddress);
184
- const bytes = await tx.build({
185
- client: config_1.Config.getSuiClient(),
186
- onlyTransactionKind: true,
187
- });
188
- const res = await (0, client_1.sponsorBluefinX)({
189
- quoteId: extra.quoteId,
190
- txBytes: (0, utils_1.toBase64)(bytes),
191
- sender: accountAddress,
192
- });
193
- if (!res.success) {
194
- throw new Error("Sponsor failed");
195
- }
196
- return new types_1.BluefinXTx(res.quoteId, res.data.txBytes);
197
- };
198
- exports.buildBluefinXTx = buildBluefinXTx;
@@ -1,229 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.multiSwap = exports.buildTxV2Int = exports.buildTxV2 = void 0;
4
- const transactions_1 = require("@mysten/sui/transactions");
5
- const utils_1 = require("@mysten/sui/utils");
6
- const groupSwapRoutes_1 = require("../../libs/groupSwapRoutes");
7
- const swapWithRoute_1 = require("../../libs/swapWithRoute");
8
- const aggregator_1 = require("../../types/aggregator");
9
- const sui_1 = require("../../utils/sui");
10
- const buildTx_1 = require("./buildTx");
11
- const config_1 = require("./config");
12
- /**
13
- * Wave-based transaction builder that optimizes swap execution by:
14
- * 1. Grouping swaps into execution waves based on readiness
15
- * 2. Merging redundant swaps to the same pool within each wave
16
- * 3. Processing waves sequentially, passing intermediate tokens between waves
17
- */
18
- const buildTxV2 = async (params) => {
19
- return (0, exports.buildTxV2Int)(params);
20
- };
21
- exports.buildTxV2 = buildTxV2;
22
- const buildTxV2Int = async ({ quoteResponse, accountAddress, slippage, commission: __commission, devInspect, extendTx, isSponsored, }, beforeBuildBluefinXTx) => {
23
- const isBluefinX = (0, aggregator_1.isBluefinXRouting)(quoteResponse);
24
- const _commission = {
25
- ...__commission,
26
- commissionBps: isBluefinX ? 0 : __commission.commissionBps,
27
- };
28
- const { tx: _tx, coinIn: _coinIn } = extendTx || {};
29
- let coinOut;
30
- if (isBluefinX && devInspect) {
31
- throw new Error("BluefinX tx is sponsored, skip devInspect");
32
- }
33
- if (!accountAddress) {
34
- throw new Error("Sender address is required");
35
- }
36
- if (!quoteResponse.routes) {
37
- throw new Error("Invalid quote response: 'routes' are required");
38
- }
39
- if (!(0, utils_1.isValidSuiAddress)(_commission.partner)) {
40
- throw new Error("Invalid commission partner address");
41
- }
42
- const tx = _tx || new transactions_1.Transaction();
43
- const routes = (0, groupSwapRoutes_1.groupSwapRoutes)(quoteResponse);
44
- (0, buildTx_1.validateRoutes)(routes, isSponsored);
45
- const splits = routes.map((group) => group[0]?.amount ?? "0");
46
- const coinIn = _coinIn ||
47
- tx.add((0, transactions_1.coinWithBalance)({
48
- type: quoteResponse.tokenIn,
49
- balance: BigInt(quoteResponse.swapAmountWithDecimal),
50
- useGasCoin: !isSponsored && !isBluefinX,
51
- }));
52
- const coinData = tx.splitCoins(coinIn, splits);
53
- sui_1.SuiUtils.transferOrDestroyZeroCoin(tx, quoteResponse.tokenIn, coinIn, accountAddress);
54
- const pythMap = await (0, buildTx_1.updatePythPriceFeedsIfAny)(tx, [quoteResponse]);
55
- const config = await (0, config_1.getConfig)();
56
- const finalCoins = await optimize(pythMap, config, routes, coinData, tx, accountAddress);
57
- // Merge all final coins
58
- if (finalCoins.length > 0) {
59
- const mergeCoin = tx.add((0, buildTx_1.settle)(finalCoins, quoteResponse, Math.floor(+slippage * 10000), _commission));
60
- if (!extendTx) {
61
- tx.transferObjects([mergeCoin], tx.pure.address(accountAddress));
62
- }
63
- else {
64
- coinOut = mergeCoin;
65
- }
66
- }
67
- if (isBluefinX) {
68
- beforeBuildBluefinXTx?.(tx, coinOut);
69
- return {
70
- tx: await (0, buildTx_1.buildBluefinXTx)(tx, accountAddress, quoteResponse),
71
- coinOut,
72
- };
73
- }
74
- tx.setSenderIfNotSet(accountAddress);
75
- return { tx, coinOut };
76
- };
77
- exports.buildTxV2Int = buildTxV2Int;
78
- const optimize = async (pythMap, config, routes, coinData, tx, accountAddress) => {
79
- // Initialize route states with split coins
80
- const routeStates = routes.map((route, index) => ({
81
- routeIndex: index,
82
- currentHopIndex: 0,
83
- currentCoin: coinData[index],
84
- swaps: route,
85
- completed: false,
86
- }));
87
- const finalCoins = [];
88
- const coinTypeOut = routes[0][routes[0].length - 1].assetOut;
89
- // Execute swaps in waves
90
- while (true) {
91
- const readyHops = [];
92
- routeStates.forEach((state) => {
93
- if (state.completed)
94
- return;
95
- if (state.currentHopIndex >= state.swaps.length) {
96
- state.completed = true;
97
- finalCoins.push(state.currentCoin);
98
- return;
99
- }
100
- const swap = state.swaps[state.currentHopIndex];
101
- readyHops.push({
102
- routeIndex: state.routeIndex,
103
- hopIndex: state.currentHopIndex,
104
- swap,
105
- inputCoin: state.currentCoin,
106
- });
107
- });
108
- if (readyHops.length === 0)
109
- break;
110
- // Group hops by pool for merging opportunities
111
- const poolGroups = new Map();
112
- readyHops.forEach((hop) => {
113
- const poolKey = `${hop.swap.poolId}|${hop.swap.assetIn}|${hop.swap.assetOut}`;
114
- if (!poolGroups.has(poolKey)) {
115
- poolGroups.set(poolKey, {
116
- swap: hop.swap,
117
- hops: [],
118
- });
119
- }
120
- poolGroups.get(poolKey).hops.push(hop);
121
- });
122
- // Execute each pool group in this wave
123
- const wavePromises = [];
124
- for (const group of poolGroups.values()) {
125
- const { swap, hops } = group;
126
- // For merged swaps, we need to combine input coins first
127
- const wavePromise = (async () => {
128
- let combinedCoin;
129
- if (hops.length > 1) {
130
- // Merge all input coins for this pool
131
- const inputCoins = hops.map((h) => h.inputCoin);
132
- tx.mergeCoins(inputCoins[0], inputCoins.slice(1));
133
- combinedCoin = inputCoins[0];
134
- }
135
- else {
136
- combinedCoin = hops[0].inputCoin;
137
- }
138
- // Execute the swap with the combined coin
139
- const resultCoin = await (0, swapWithRoute_1.swapWithRoute)({
140
- route: [swap],
141
- inputCoinObject: combinedCoin,
142
- currentAccount: accountAddress,
143
- tx,
144
- config,
145
- pythMap,
146
- });
147
- if (!resultCoin) {
148
- throw new Error(`Swap failed for pool ${swap.poolId}`);
149
- }
150
- if (hops[0].swap.assetOut === coinTypeOut) {
151
- finalCoins.push(resultCoin);
152
- hops.forEach((hop) => {
153
- const state = routeStates[hop.routeIndex];
154
- state.completed = true;
155
- state.currentHopIndex++;
156
- });
157
- return;
158
- }
159
- // For merged swaps, we need to split the output proportionally
160
- if (hops.length > 1) {
161
- // Split output proportionally (except the last one which gets the remainder)
162
- const splitAmounts = hops
163
- .slice(1)
164
- .map((hop) => hop.swap.returnAmount);
165
- const splitCoins = splitAmounts.length > 0
166
- ? [resultCoin, ...tx.splitCoins(resultCoin, splitAmounts)]
167
- : [resultCoin];
168
- // Assign split coins back to routes
169
- hops.forEach((hop, index) => {
170
- const state = routeStates[hop.routeIndex];
171
- state.currentCoin = splitCoins[index];
172
- state.currentHopIndex++;
173
- });
174
- }
175
- else {
176
- // Single swap - simply update the route state
177
- const state = routeStates[hops[0].routeIndex];
178
- state.currentCoin = resultCoin;
179
- state.currentHopIndex++;
180
- }
181
- })();
182
- wavePromises.push(wavePromise);
183
- }
184
- // Wait for all swaps in this wave to complete
185
- await Promise.all(wavePromises);
186
- }
187
- return finalCoins;
188
- };
189
- /**
190
- * execute multiple swap in single transaction
191
- *
192
- * User must handle the coins from return
193
- * @param param - MultiSwapParams
194
- * @returns a map of coinType to coinObject
195
- */
196
- const multiSwap = async ({ sender, slippageBps, swaps, tx, commission, }) => {
197
- if (swaps.some((s) => (0, aggregator_1.isBluefinXRouting)(s.quote))) {
198
- throw Error("BluefinX routing not supported yet");
199
- }
200
- // update oracles price if any
201
- const pythMap = await (0, buildTx_1.updatePythPriceFeedsIfAny)(tx, swaps.map((s) => s.quote));
202
- const map = {};
203
- const config = await (0, config_1.getConfig)();
204
- for (const { quote: sorResponse, coinIn } of swaps) {
205
- const routes = (0, groupSwapRoutes_1.groupSwapRoutes)(sorResponse);
206
- const splits = routes.map((group) => group[0]?.amount ?? "0");
207
- const coinData = splits.length === 1
208
- ? [coinIn]
209
- : [coinIn, ...tx.splitCoins(coinIn, splits.slice(1))];
210
- const coinObjects = await optimize(pythMap, config, routes, coinData, tx, sender);
211
- if (coinObjects.length > 0) {
212
- const mergeCoin = tx.add((0, buildTx_1.settle)(coinObjects, sorResponse, slippageBps, commission));
213
- if (!map[(0, utils_1.normalizeStructTag)(sorResponse.tokenOut)]) {
214
- map[(0, utils_1.normalizeStructTag)(sorResponse.tokenOut)] = [];
215
- }
216
- map[(0, utils_1.normalizeStructTag)(sorResponse.tokenOut)].push(mergeCoin);
217
- }
218
- }
219
- const result = {};
220
- for (const [tokenOut, coins] of Object.entries(map)) {
221
- if (coins.length > 1) {
222
- tx.mergeCoins(coins[0], coins.slice(1));
223
- }
224
- result[tokenOut] = coins[0];
225
- }
226
- tx.setSenderIfNotSet(sender);
227
- return result;
228
- };
229
- exports.multiSwap = multiSwap;
@@ -1,154 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_CONFIG = void 0;
4
- exports.getConfig = getConfig;
5
- const config_1 = require("../../config");
6
- const fetchClient_1 = require("../../config/fetchClient");
7
- const apiEndpoints_1 = require("../../constants/apiEndpoints");
8
- exports.DEFAULT_CONFIG = {
9
- aftermath: {
10
- name: "Aftermath",
11
- package: "0xc4049b2d1cc0f6e017fda8260e4377cecd236bd7f56a54fee120816e72e2e0dd",
12
- poolRegistry: "0xfcc774493db2c45c79f688f88d28023a3e7d98e4ee9f48bbf5c7990f651577ae",
13
- protocolFeeVault: "0xf194d9b1bcad972e45a7dd67dd49b3ee1e3357a00a50850c52cd51bb450e13b4",
14
- treasury: "0x28e499dff5e864a2eafe476269a4f5035f1c16f338da7be18b103499abf271ce",
15
- insuranceFund: "0xf0c40d67b078000e18032334c3325c47b9ec9f3d9ae4128be820d54663d14e3b",
16
- referralVault: "0x35d35b0e5b177593d8c3a801462485572fc30861e6ce96a55af6dc4730709278",
17
- },
18
- bluefin: {
19
- name: "Bluefin",
20
- package: "0x67b34b728c4e28e704dcfecf7c5cf55c7fc593b6c65c20d1836d97c209c1928a",
21
- globalConfig: "0x03db251ba509a8d5d8777b6338836082335d93eecbdd09a11e190a1cff51c352",
22
- },
23
- bluemove: {
24
- name: "Bluemove",
25
- package: "0x08cd33481587d4c4612865b164796d937df13747d8c763b8a178c87e3244498f",
26
- dexInfo: "0x3f2d9f724f4a1ce5e71676448dc452be9a6243dac9c5b975a588c8c867066e92",
27
- },
28
- cetus: {
29
- name: "Cetus",
30
- package: "0xfbb32ac0fa89a3cb0c56c745b688c6d2a53ac8e43447119ad822763997ffb9c3",
31
- globalConfig: "0xdaa46292632c3c4d8f31f23ea0f9b36a28ff3677e9684980e4438403a67a3d8f",
32
- },
33
- deepbook_v3: {
34
- name: "Deepbook V3",
35
- package: "",
36
- sponsor: "0x951a01360d85b06722edf896852bf8005b81cdb26375235c935138987f629502",
37
- sponsorFund: "0xf245e7a4b83ed9a26622f5818a158c2ba7a03b91e62717b557a7df1d4dab38df",
38
- },
39
- flowx: {
40
- name: "Flowx Finance",
41
- package: "0xba153169476e8c3114962261d1edc70de5ad9781b83cc617ecc8c1923191cae0",
42
- container: "0xb65dcbf63fd3ad5d0ebfbf334780dc9f785eff38a4459e37ab08fa79576ee511",
43
- },
44
- flowx_v3: {
45
- name: "Flowx Finance V3",
46
- package: "0xe882cd54551e73e64ff5b257146a0c5264546974cf00d78ecc871017cb22df67",
47
- registry: "0x27565d24a4cd51127ac90e4074a841bbe356cca7bf5759ddc14a975be1632abc",
48
- version: "0x67624a1533b5aff5d0dfcf5e598684350efd38134d2d245f475524c03a64e656",
49
- },
50
- kriya: {
51
- name: "Kriya",
52
- package: "0xa0eba10b173538c8fecca1dff298e488402cc9ff374f8a12ca7758eebe830b66",
53
- },
54
- kriya_v3: {
55
- name: "Kriya V3",
56
- package: "0x0d7305a7475ed54adc905365bd081939a81926636b4c438cf2f75f4924b8d960",
57
- version: "0xf5145a7ac345ca8736cf8c76047d00d6d378f30e81be6f6eb557184d9de93c78",
58
- },
59
- obric: {
60
- name: "Obric",
61
- package: "0xb84e63d22ea4822a0a333c250e790f69bf5c2ef0c63f4e120e05a6415991368f",
62
- pythState: "0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8",
63
- },
64
- springsui: {
65
- name: "SpringSui",
66
- package: "0x82e6f4f75441eae97d2d5850f41a09d28c7b64a05b067d37748d471f43aaf3f7",
67
- },
68
- stsui: {
69
- name: "AlphaFi stSUI",
70
- package: "0x059f94b85c07eb74d2847f8255d8cc0a67c9a8dcc039eabf9f8b9e23a0de2700",
71
- },
72
- suiswap: {
73
- name: "SuiSwap",
74
- package: "0xd075d51486df71e750872b4edf82ea3409fda397ceecc0b6aedf573d923c54a0",
75
- },
76
- turbos: {
77
- name: "Turbos Finance",
78
- package: "0xd02012c71c1a6a221e540c36c37c81e0224907fe1ee05bfe250025654ff17103",
79
- version: "0xf1cf0e81048df168ebeb1b8030fad24b3e0b53ae827c25053fff0779c1445b6f",
80
- },
81
- steamm: {
82
- name: "Steamm",
83
- package: "0x5ef2a1bca239764c8381ba26b758833060eadb8903682e4fb15e58c6406e2488",
84
- script: "0x0755429cba577decc090009348987a89f4fb8397da27a3eaafc366794078af7d",
85
- oracle: "0xe84b649199654d18c38e727212f5d8dacfc3cf78d60d0a7fc85fd589f280eb2b",
86
- },
87
- magma: {
88
- name: "Magma",
89
- package: "0x49e9f06c58a36830fe0d83291f002012e72b00a4ec9b3a6304c40fc5712bb6e3",
90
- globalConfig: "0x4c4e1402401f72c7d8533d0ed8d5f8949da363c7a3319ccef261ffe153d32f8a",
91
- },
92
- haedal_pmm: {
93
- name: "Haedal PMM",
94
- package: "0x486622af8a7250a192e6ee97eed4f54e30343b764d9148bf1535b55f85155204",
95
- },
96
- momentum: {
97
- name: "Momentum",
98
- package: "0xcf60a40f45d46fc1e828871a647c1e25a0915dec860d2662eb10fdb382c3c1d1",
99
- version: "0x2375a0b1ec12010aaea3b2545acfa2ad34cfbba03ce4b59f4c39e1e25eed1b2a",
100
- },
101
- bluefinx: {
102
- name: "BluefinX",
103
- package: "0x9633d611ea4b3a30751135cede2c7871980955473c1c7c883d43567e7e9b164e",
104
- globalConfig: "0xc6b29a60c3924776bedc78df72c127ea52b86aeb655432979a38f13d742dedaa",
105
- },
106
- sevenk_v1: {
107
- name: "7K DEX",
108
- package: "0x4142285db093ba0cf0623b3cbc07372fb4f5ed00af1fb62be6d55f49a42c0b0e",
109
- oracle: "0x8c36ea167c5e6da8c3d60b4fc897416105dcb986471bd81cfbfd38720a4487c0",
110
- },
111
- fullsail: {
112
- name: "Fullsail",
113
- package: "0xb3b98d4fda36acc2c2e66dba61f9149b341c38e97a532af802ebbb0c037b9d1f",
114
- globalConfig: "0xe93baa80cb570b3a494cbf0621b2ba96bc993926d34dc92508c9446f9a05d615",
115
- rewarderGlobalVault: "0xfb971d3a2fb98bde74e1c30ba15a3d8bef60a02789e59ae0b91660aeed3e64e1",
116
- priceProvider: "0x854b2d2c0381bb656ec962f8b443eb082654384cf97885359d1956c7d76e33c9",
117
- stats: "0x6822a33d1d971e040c32f7cc74507010d1fe786f7d06ab89135083ddb07d2dc2",
118
- },
119
- cetus_dlmm: {
120
- name: "Cetus DLMM",
121
- package: "0xa4c6f46bd6b456e6477bcddf0652e0d2d8fb4767e306533e6e885302ee28cfab",
122
- globalConfig: "0xf31b605d117f959b9730e8c07b08b856cb05143c5e81d5751c90d2979e82f599",
123
- version: "0x05370b2d656612dd5759cbe80463de301e3b94a921dfc72dd9daa2ecdeb2d0a8",
124
- },
125
- ferra_dlmm: {
126
- name: "Ferra DLMM",
127
- package: "0x5a5c1d10e4782dbbdec3eb8327ede04bd078b294b97cfdba447b11b846b383ac",
128
- globalConfig: "0x5c9dacf5a678ea15b8569d65960330307e23d429289ca380e665b1aa175ebeca",
129
- },
130
- ferra_clmm: {
131
- name: "Ferra CLMM",
132
- package: "0xc895342d87127c9c67b76c8ad7f9a22b8bfe1dcdc2c5af82bd85266783115e31",
133
- integrate: "0x1dd5538aeb1066315969d87ae9a920ce2692824385342f49854b764ac730a64b",
134
- globalConfig: "0x2cd8382c19e6994f16df204e9b8cddd04bdc486c251de75ac66ac4e48e3e7081",
135
- },
136
- };
137
- let config = exports.DEFAULT_CONFIG;
138
- let configTs = 0;
139
- async function getConfig() {
140
- const ttl = 60;
141
- if (config && Date.now() - configTs < ttl * 1000) {
142
- return config;
143
- }
144
- try {
145
- const response = await (0, fetchClient_1.fetchClient)(`${config_1.Config.getApi() || apiEndpoints_1.API_ENDPOINTS.MAIN}/config`);
146
- const quoteResponse = (await response.json());
147
- config = { ...config, ...quoteResponse };
148
- configTs = Date.now();
149
- return config;
150
- }
151
- catch (_) {
152
- return exports.DEFAULT_CONFIG;
153
- }
154
- }
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.estimateGasFee = estimateGasFee;
4
- const utils_1 = require("@mysten/sui/utils");
5
- const config_1 = require("../../config");
6
- const aggregator_1 = require("../../types/aggregator");
7
- const number_1 = require("../../utils/number");
8
- const prices_1 = require("../prices");
9
- const buildTx_1 = require("./buildTx");
10
- const types_1 = require("../../libs/protocols/bluefinx/types");
11
- async function estimateGasFee({ quoteResponse, accountAddress, slippage, suiPrice: _suiPrice, extendTx, commission, }) {
12
- if (!accountAddress)
13
- return 0;
14
- // BluefinX is sponsored, no need to estimate gas fee
15
- if (!accountAddress || (0, aggregator_1.isBluefinXRouting)(quoteResponse))
16
- return 0;
17
- const result = await (0, buildTx_1.buildTx)({
18
- extendTx,
19
- quoteResponse,
20
- accountAddress,
21
- slippage,
22
- commission,
23
- devInspect: true,
24
- }).catch((err) => {
25
- console.log("build tx error: ", err);
26
- return undefined;
27
- });
28
- const { tx } = result || {};
29
- if (!tx || tx instanceof types_1.BluefinXTx)
30
- return 0;
31
- const suiPrice = _suiPrice || (await (0, prices_1.getSuiPrice)());
32
- const suiDecimals = utils_1.SUI_DECIMALS;
33
- const { effects: { gasUsed, status }, } = await config_1.Config.getSuiClient().devInspectTransactionBlock({
34
- sender: accountAddress,
35
- transactionBlock: tx,
36
- });
37
- if (status.status !== "success")
38
- return 0;
39
- const fee = BigInt(gasUsed.computationCost) +
40
- BigInt(gasUsed.storageCost) -
41
- BigInt(gasUsed.storageRebate);
42
- const feeUsd = Number(suiPrice) * Number((0, number_1.formatBalance)(fee, suiDecimals));
43
- return feeUsd;
44
- }
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.executeTx = void 0;
4
- const config_1 = require("../../config");
5
- const client_1 = require("../../libs/protocols/bluefinx/client");
6
- const types_1 = require("../../libs/protocols/bluefinx/types");
7
- /**
8
- * Execute a transaction after it is signed
9
- *
10
- * Automatically handle BluefinX transaction execution if needed
11
- * @example
12
- * ```ts
13
- * const { mutateAsync: signTransaction } = useSignTransaction();
14
- * const quoteResponse = await getQuote(...quoteParams);
15
- * const { tx } = await buildTx(...buildTxParams);
16
- * const {signature, bytes} = await signTransaction({
17
- * transaction: tx instanceof BluefinXTx ? tx.txBytes : tx,
18
- * });
19
- * const res = await executeTx(tx, signature, bytes);
20
- * ```
21
- * @param tx - AggregatorTx - received from `buildTx`
22
- * @param signature - User signature after signing the transaction
23
- * @param signedTxBytes - Signed transaction bytes after signing the transaction
24
- * @param options - Options for the transaction
25
- * @returns `SuiTransactionBlockResponse`
26
- */
27
- const executeTx = async (tx, signature, signedTxBytes, options) => {
28
- const isBluefinTx = tx instanceof types_1.BluefinXTx;
29
- const client = config_1.Config.getSuiClient();
30
- let res;
31
- if (isBluefinTx) {
32
- try {
33
- const result = await (0, client_1.executeBluefinTx)(tx, signature);
34
- res = await client.waitForTransaction({
35
- digest: result.txDigest,
36
- options,
37
- });
38
- }
39
- catch (e) {
40
- throw Error(`Could not retrieve BluefinX transaction with quoteId: ${tx.quoteId} ${e}`);
41
- }
42
- }
43
- else {
44
- res = await client.executeTransactionBlock({
45
- transactionBlock: signedTxBytes,
46
- signature,
47
- options,
48
- });
49
- }
50
- return res;
51
- };
52
- exports.executeTx = executeTx;