four-flap-meme-sdk 3.0.0 → 4.0.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 (446) hide show
  1. package/dist/bundle/four-meme/approve-tokenmanager.d.ts +2 -2
  2. package/dist/bundle/four-meme/approve-tokenmanager.js +3 -3
  3. package/dist/bundle/four-meme/core/buy-flow.d.ts +5 -0
  4. package/dist/bundle/four-meme/core/buy-flow.js +147 -0
  5. package/dist/bundle/four-meme/core/constants.d.ts +6 -0
  6. package/dist/bundle/four-meme/core/constants.js +15 -0
  7. package/dist/bundle/four-meme/core/create-token.d.ts +5 -0
  8. package/dist/bundle/four-meme/core/create-token.js +137 -0
  9. package/dist/bundle/four-meme/core/index.d.ts +14 -0
  10. package/dist/bundle/four-meme/core/index.js +14 -0
  11. package/dist/bundle/four-meme/core/sell-flow.d.ts +5 -0
  12. package/dist/bundle/four-meme/core/sell-flow.js +240 -0
  13. package/dist/bundle/four-meme/core-helpers.js +1 -1
  14. package/dist/bundle/four-meme/core.d.ts +7 -4
  15. package/dist/bundle/four-meme/core.js +5 -513
  16. package/dist/bundle/four-meme/pancake-proxy/approve.d.ts +15 -0
  17. package/dist/bundle/four-meme/pancake-proxy/approve.js +113 -0
  18. package/dist/bundle/four-meme/pancake-proxy/buy.d.ts +8 -0
  19. package/dist/bundle/four-meme/pancake-proxy/buy.js +143 -0
  20. package/dist/bundle/four-meme/pancake-proxy/constants.d.ts +25 -0
  21. package/dist/bundle/four-meme/pancake-proxy/constants.js +14 -0
  22. package/dist/bundle/four-meme/pancake-proxy/helpers.d.ts +45 -0
  23. package/dist/bundle/four-meme/pancake-proxy/helpers.js +232 -0
  24. package/dist/bundle/four-meme/pancake-proxy/index.d.ts +15 -0
  25. package/dist/bundle/four-meme/pancake-proxy/index.js +15 -0
  26. package/dist/bundle/four-meme/pancake-proxy/sell.d.ts +8 -0
  27. package/dist/bundle/four-meme/pancake-proxy/sell.js +194 -0
  28. package/dist/bundle/four-meme/pancake-proxy.d.ts +4 -20
  29. package/dist/bundle/four-meme/pancake-proxy.js +3 -670
  30. package/dist/bundle/four-meme/private/buy.d.ts +16 -0
  31. package/dist/bundle/four-meme/private/buy.js +225 -0
  32. package/dist/bundle/four-meme/private/index.d.ts +11 -0
  33. package/dist/bundle/four-meme/private/index.js +11 -0
  34. package/dist/bundle/four-meme/private/sell.d.ts +18 -0
  35. package/dist/bundle/four-meme/private/sell.js +245 -0
  36. package/dist/bundle/four-meme/private.d.ts +5 -25
  37. package/dist/bundle/four-meme/private.js +5 -463
  38. package/dist/bundle/four-meme/swap/batch.d.ts +8 -0
  39. package/dist/bundle/four-meme/swap/batch.js +170 -0
  40. package/dist/bundle/four-meme/swap/bundle.d.ts +8 -0
  41. package/dist/bundle/four-meme/swap/bundle.js +147 -0
  42. package/dist/bundle/four-meme/swap/index.d.ts +14 -0
  43. package/dist/bundle/four-meme/swap/index.js +13 -0
  44. package/dist/bundle/four-meme/swap/quick-batch.d.ts +8 -0
  45. package/dist/bundle/four-meme/swap/quick-batch.js +206 -0
  46. package/dist/bundle/four-meme/swap-buy-first/helpers.d.ts +20 -0
  47. package/dist/bundle/four-meme/swap-buy-first/helpers.js +39 -0
  48. package/dist/bundle/four-meme/swap-buy-first/index.d.ts +12 -0
  49. package/dist/bundle/four-meme/swap-buy-first/index.js +11 -0
  50. package/dist/bundle/four-meme/swap-buy-first/multi-wallet.d.ts +20 -0
  51. package/dist/bundle/four-meme/swap-buy-first/multi-wallet.js +198 -0
  52. package/dist/bundle/four-meme/swap-buy-first/single.d.ts +7 -0
  53. package/dist/bundle/four-meme/swap-buy-first/single.js +232 -0
  54. package/dist/bundle/four-meme/swap-buy-first.d.ts +4 -3
  55. package/dist/bundle/four-meme/swap-buy-first.js +4 -451
  56. package/dist/bundle/four-meme/swap-hop-helpers.d.ts +2 -2
  57. package/dist/bundle/four-meme/swap-sign-helpers.d.ts +2 -2
  58. package/dist/bundle/four-meme/swap-sign-helpers.js +1 -1
  59. package/dist/bundle/four-meme/swap.d.ts +4 -14
  60. package/dist/bundle/four-meme/swap.js +4 -502
  61. package/dist/bundle/four-meme/types/index.d.ts +1 -1
  62. package/dist/bundle/four-meme/utils-disperse.d.ts +1 -1
  63. package/dist/bundle/four-meme/utils-disperse.js +1 -1
  64. package/dist/bundle/four-meme/utils-pairwise.d.ts +1 -1
  65. package/dist/bundle/four-meme/utils-pairwise.js +1 -1
  66. package/dist/bundle/four-meme/utils-sweep/context.d.ts +39 -0
  67. package/dist/bundle/four-meme/utils-sweep/context.js +7 -0
  68. package/dist/bundle/four-meme/utils-sweep/erc20-no-hop.d.ts +5 -0
  69. package/dist/bundle/four-meme/utils-sweep/erc20-no-hop.js +162 -0
  70. package/dist/bundle/four-meme/utils-sweep/index.d.ts +13 -0
  71. package/dist/bundle/four-meme/utils-sweep/index.js +13 -0
  72. package/dist/bundle/four-meme/utils-sweep/main.d.ts +8 -0
  73. package/dist/bundle/four-meme/utils-sweep/main.js +114 -0
  74. package/dist/bundle/four-meme/utils-sweep/native-no-hop.d.ts +5 -0
  75. package/dist/bundle/four-meme/utils-sweep/native-no-hop.js +156 -0
  76. package/dist/bundle/four-meme/utils-sweep/with-hops.d.ts +6 -0
  77. package/dist/bundle/four-meme/utils-sweep/with-hops.js +382 -0
  78. package/dist/bundle/four-meme/utils-sweep.d.ts +3 -4
  79. package/dist/bundle/four-meme/utils-sweep.js +3 -740
  80. package/dist/bundle/internal.d.ts +2 -2
  81. package/dist/bundle/sign-context-helpers.d.ts +1 -26
  82. package/dist/bundle/sign-context-helpers.js +1 -63
  83. package/dist/bundle/submit/blockrazor.d.ts +94 -0
  84. package/dist/bundle/submit/blockrazor.js +122 -0
  85. package/dist/bundle/submit/direct.d.ts +118 -0
  86. package/dist/bundle/submit/direct.js +484 -0
  87. package/dist/bundle/submit/helpers.d.ts +7 -0
  88. package/dist/bundle/submit/helpers.js +15 -0
  89. package/dist/bundle/submit/index.d.ts +14 -0
  90. package/dist/bundle/submit/index.js +14 -0
  91. package/dist/bundle/submit/merkle.d.ts +84 -0
  92. package/dist/bundle/submit/merkle.js +121 -0
  93. package/dist/bundle/submit.d.ts +3 -286
  94. package/dist/bundle/submit.js +3 -724
  95. package/dist/chains/bsc/four/types.d.ts +1 -1
  96. package/dist/chains/bsc/index.d.ts +1 -1
  97. package/dist/chains/bsc/index.js +2 -0
  98. package/dist/chains/bsc/pancake/bundle-buy-first-build.d.ts +25 -0
  99. package/dist/chains/bsc/pancake/bundle-buy-first-build.js +177 -0
  100. package/dist/chains/bsc/pancake/bundle-buy-first-constants.d.ts +30 -0
  101. package/dist/chains/bsc/pancake/bundle-buy-first-constants.js +24 -0
  102. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +11 -149
  103. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +12 -74
  104. package/dist/chains/bsc/pancake/bundle-buy-first-multi-wallet.d.ts +9 -0
  105. package/dist/chains/bsc/pancake/bundle-buy-first-multi-wallet.js +225 -0
  106. package/dist/chains/bsc/pancake/bundle-buy-first-plan.d.ts +14 -0
  107. package/dist/chains/bsc/pancake/bundle-buy-first-plan.js +64 -0
  108. package/dist/chains/bsc/pancake/bundle-buy-first-profit.d.ts +12 -0
  109. package/dist/chains/bsc/pancake/bundle-buy-first-profit.js +22 -0
  110. package/dist/chains/bsc/pancake/bundle-buy-first-quote.d.ts +15 -0
  111. package/dist/chains/bsc/pancake/bundle-buy-first-quote.js +122 -0
  112. package/dist/chains/bsc/pancake/bundle-buy-first-types.d.ts +179 -0
  113. package/dist/chains/bsc/pancake/bundle-buy-first-types.js +1 -0
  114. package/dist/chains/bsc/pancake/bundle-buy-first-validate.d.ts +2 -0
  115. package/dist/chains/bsc/pancake/bundle-buy-first-validate.js +41 -0
  116. package/dist/chains/bsc/pancake/bundle-buy-first.d.ts +1 -1
  117. package/dist/chains/bsc/pancake/bundle-buy-first.js +8 -578
  118. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +11 -239
  119. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +12 -564
  120. package/dist/chains/bsc/pancake/bundle-swap-types.d.ts +183 -0
  121. package/dist/chains/bsc/pancake/bundle-swap-types.js +17 -0
  122. package/dist/chains/bsc/pancake/bundle-swap.d.ts +10 -132
  123. package/dist/chains/bsc/pancake/bundle-swap.js +12 -1003
  124. package/dist/chains/bsc/pancake/hop-chain.d.ts +18 -0
  125. package/dist/chains/bsc/pancake/hop-chain.js +227 -0
  126. package/dist/chains/bsc/pancake/quote.d.ts +14 -0
  127. package/dist/chains/bsc/pancake/quote.js +84 -0
  128. package/dist/chains/bsc/pancake/swap-batch.d.ts +42 -0
  129. package/dist/chains/bsc/pancake/swap-batch.js +283 -0
  130. package/dist/chains/bsc/pancake/swap-build.d.ts +19 -0
  131. package/dist/chains/bsc/pancake/swap-build.js +226 -0
  132. package/dist/chains/bsc/pancake/swap-cross.d.ts +42 -0
  133. package/dist/chains/bsc/pancake/swap-cross.js +140 -0
  134. package/dist/chains/bsc/pancake/swap-quick.d.ts +54 -0
  135. package/dist/chains/bsc/pancake/swap-quick.js +424 -0
  136. package/dist/chains/bsc/pancake/swap-single.d.ts +2 -0
  137. package/dist/chains/bsc/pancake/swap-single.js +182 -0
  138. package/dist/chains/bsc/platforms/four/index.d.ts +21 -3
  139. package/dist/chains/bsc/platforms/four/index.js +28 -3
  140. package/dist/chains/eni/batch-router/transfer-disperse.d.ts +37 -0
  141. package/dist/chains/eni/batch-router/transfer-disperse.js +302 -0
  142. package/dist/chains/eni/batch-router/transfer-shared.d.ts +9 -0
  143. package/dist/chains/eni/batch-router/transfer-shared.js +10 -0
  144. package/dist/chains/eni/batch-router/transfer-sweep.d.ts +51 -0
  145. package/dist/chains/eni/batch-router/transfer-sweep.js +364 -0
  146. package/dist/chains/eni/batch-router/transfer.d.ts +4 -74
  147. package/dist/chains/eni/batch-router/transfer.js +2 -647
  148. package/dist/chains/eni/index.d.ts +2 -0
  149. package/dist/chains/eni/index.js +4 -0
  150. package/dist/chains/eni/platforms/daoaas/portal-direct-profit.d.ts +17 -0
  151. package/dist/chains/eni/platforms/daoaas/portal-direct-profit.js +30 -0
  152. package/dist/chains/eni/platforms/daoaas/portal-direct-submit.d.ts +12 -0
  153. package/dist/chains/eni/platforms/daoaas/portal-direct-submit.js +396 -0
  154. package/dist/chains/eni/platforms/daoaas/portal-direct-tx.d.ts +20 -0
  155. package/dist/chains/eni/platforms/daoaas/portal-direct-tx.js +165 -0
  156. package/dist/chains/eni/platforms/daoaas/portal-direct.d.ts +3 -32
  157. package/dist/chains/eni/platforms/daoaas/portal-direct.js +3 -571
  158. package/dist/chains/eni/submit.js +1 -1
  159. package/dist/chains/xlayer/constants.d.ts +0 -2
  160. package/dist/chains/xlayer/constants.js +0 -2
  161. package/dist/chains/xlayer/eip7702/auth.d.ts +16 -0
  162. package/dist/chains/xlayer/eip7702/auth.js +81 -0
  163. package/dist/chains/xlayer/eip7702/bundle-create-buy.d.ts +22 -0
  164. package/dist/chains/xlayer/eip7702/bundle-create-buy.js +201 -0
  165. package/dist/chains/xlayer/eip7702/bundle-create-helpers.d.ts +114 -0
  166. package/dist/chains/xlayer/eip7702/bundle-create-helpers.js +139 -0
  167. package/dist/chains/xlayer/eip7702/bundle-create-to-dex.d.ts +24 -0
  168. package/dist/chains/xlayer/eip7702/bundle-create-to-dex.js +233 -0
  169. package/dist/chains/xlayer/eip7702/bundle-create.d.ts +3 -35
  170. package/dist/chains/xlayer/eip7702/bundle-create.js +3 -746
  171. package/dist/chains/xlayer/eip7702/bundle-graduate-buy.d.ts +22 -0
  172. package/dist/chains/xlayer/eip7702/bundle-graduate-buy.js +214 -0
  173. package/dist/chains/xlayer/eip7702/bundle-sell.js +1 -1
  174. package/dist/chains/xlayer/eip7702/bundle-swap-batch.d.ts +31 -0
  175. package/dist/chains/xlayer/eip7702/bundle-swap-batch.js +216 -0
  176. package/dist/chains/xlayer/eip7702/bundle-swap-helpers.d.ts +21 -0
  177. package/dist/chains/xlayer/eip7702/bundle-swap-helpers.js +206 -0
  178. package/dist/chains/xlayer/eip7702/bundle-swap-multi.d.ts +33 -0
  179. package/dist/chains/xlayer/eip7702/bundle-swap-multi.js +146 -0
  180. package/dist/chains/xlayer/eip7702/bundle-swap-single.d.ts +31 -0
  181. package/dist/chains/xlayer/eip7702/bundle-swap-single.js +177 -0
  182. package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +6 -61
  183. package/dist/chains/xlayer/eip7702/bundle-swap.js +3 -712
  184. package/dist/chains/xlayer/eip7702/bytes.d.ts +4 -0
  185. package/dist/chains/xlayer/eip7702/bytes.js +31 -0
  186. package/dist/chains/xlayer/eip7702/gas.d.ts +19 -0
  187. package/dist/chains/xlayer/eip7702/gas.js +152 -0
  188. package/dist/chains/xlayer/eip7702/multi-hop-transfer-disperse.d.ts +5 -0
  189. package/dist/chains/xlayer/eip7702/multi-hop-transfer-disperse.js +196 -0
  190. package/dist/chains/xlayer/eip7702/multi-hop-transfer-pairwise.d.ts +5 -0
  191. package/dist/chains/xlayer/eip7702/multi-hop-transfer-pairwise.js +188 -0
  192. package/dist/chains/xlayer/eip7702/multi-hop-transfer-sweep.d.ts +5 -0
  193. package/dist/chains/xlayer/eip7702/multi-hop-transfer-sweep.js +220 -0
  194. package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +8 -4
  195. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +5 -591
  196. package/dist/chains/xlayer/eip7702/profit.d.ts +32 -0
  197. package/dist/chains/xlayer/eip7702/profit.js +59 -0
  198. package/dist/chains/xlayer/eip7702/provider.d.ts +3 -0
  199. package/dist/chains/xlayer/eip7702/provider.js +17 -0
  200. package/dist/chains/xlayer/eip7702/time.d.ts +2 -0
  201. package/dist/chains/xlayer/eip7702/time.js +10 -0
  202. package/dist/chains/xlayer/eip7702/tx-build.d.ts +10 -0
  203. package/dist/chains/xlayer/eip7702/tx-build.js +128 -0
  204. package/dist/chains/xlayer/eip7702/utils.d.ts +19 -85
  205. package/dist/chains/xlayer/eip7702/utils.js +19 -484
  206. package/dist/chains/xlayer/eip7702/volume-bundle.d.ts +13 -0
  207. package/dist/chains/xlayer/eip7702/volume-bundle.js +250 -0
  208. package/dist/chains/xlayer/eip7702/volume-internal.d.ts +13 -0
  209. package/dist/chains/xlayer/eip7702/volume-internal.js +169 -0
  210. package/dist/chains/xlayer/eip7702/volume-make.d.ts +8 -0
  211. package/dist/chains/xlayer/eip7702/volume-make.js +38 -0
  212. package/dist/chains/xlayer/eip7702/volume-single-round.d.ts +17 -0
  213. package/dist/chains/xlayer/eip7702/volume-single-round.js +44 -0
  214. package/dist/chains/xlayer/eip7702/volume-swap.d.ts +18 -0
  215. package/dist/chains/xlayer/eip7702/volume-swap.js +30 -0
  216. package/dist/chains/xlayer/eip7702/volume-wash.d.ts +8 -0
  217. package/dist/chains/xlayer/eip7702/volume-wash.js +191 -0
  218. package/dist/chains/xlayer/eip7702/volume.d.ts +7 -35
  219. package/dist/chains/xlayer/eip7702/volume.js +5 -697
  220. package/dist/chains/xlayer/eip7702/wallet.d.ts +6 -0
  221. package/dist/chains/xlayer/eip7702/wallet.js +17 -0
  222. package/dist/chains/xlayer/eoa/aa-types.d.ts +176 -0
  223. package/dist/chains/xlayer/eoa/aa-types.js +6 -0
  224. package/dist/chains/xlayer/eoa/constants.d.ts +0 -2
  225. package/dist/chains/xlayer/eoa/constants.js +0 -2
  226. package/dist/chains/xlayer/eoa/context.d.ts +8 -0
  227. package/dist/chains/xlayer/eoa/context.js +23 -0
  228. package/dist/chains/xlayer/eoa/encoders.d.ts +147 -0
  229. package/dist/chains/xlayer/eoa/encoders.js +147 -0
  230. package/dist/chains/xlayer/eoa/eoa-bundle-swap-cross.d.ts +5 -0
  231. package/dist/chains/xlayer/eoa/eoa-bundle-swap-cross.js +113 -0
  232. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +10 -123
  233. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +10 -225
  234. package/dist/chains/xlayer/eoa/eoa-bundle-swap-pure.d.ts +50 -0
  235. package/dist/chains/xlayer/eoa/eoa-bundle-swap-pure.js +170 -0
  236. package/dist/chains/xlayer/eoa/eoa-bundle-swap-quick.d.ts +5 -0
  237. package/dist/chains/xlayer/eoa/eoa-bundle-swap-quick.js +257 -0
  238. package/dist/chains/xlayer/eoa/eoa-bundle-swap-types.d.ts +99 -0
  239. package/dist/chains/xlayer/eoa/eoa-bundle-swap-types.js +11 -0
  240. package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +5 -47
  241. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +3 -522
  242. package/dist/chains/xlayer/eoa/eoa-types.d.ts +776 -0
  243. package/dist/chains/xlayer/eoa/eoa-types.js +6 -0
  244. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +8 -0
  245. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +8 -0
  246. package/dist/chains/xlayer/eoa/format.d.ts +34 -0
  247. package/dist/chains/xlayer/eoa/format.js +56 -0
  248. package/dist/chains/xlayer/eoa/hop-chain.d.ts +4 -0
  249. package/dist/chains/xlayer/eoa/hop-chain.js +87 -0
  250. package/dist/chains/xlayer/eoa/nonce-map.d.ts +20 -0
  251. package/dist/chains/xlayer/eoa/nonce-map.js +51 -0
  252. package/dist/chains/xlayer/eoa/portal-ops.d.ts +9 -292
  253. package/dist/chains/xlayer/eoa/portal-ops.js +9 -486
  254. package/dist/chains/xlayer/eoa/query.d.ts +117 -0
  255. package/dist/chains/xlayer/eoa/query.js +285 -0
  256. package/dist/chains/xlayer/eoa/quote.d.ts +6 -0
  257. package/dist/chains/xlayer/eoa/quote.js +90 -0
  258. package/dist/chains/xlayer/eoa/types.d.ts +9 -959
  259. package/dist/chains/xlayer/eoa/types.js +9 -49
  260. package/dist/core/clients/blockrazor.js +1 -1
  261. package/dist/core/clients/merkle.js +1 -1
  262. package/dist/core/erc20/allowances.d.ts +104 -0
  263. package/dist/core/erc20/allowances.js +205 -0
  264. package/dist/core/erc20/approve.d.ts +141 -0
  265. package/dist/core/erc20/approve.js +325 -0
  266. package/dist/core/erc20/helpers.d.ts +20 -0
  267. package/dist/core/erc20/helpers.js +109 -0
  268. package/dist/core/erc20/index.d.ts +13 -0
  269. package/dist/core/erc20/index.js +12 -0
  270. package/dist/core/gas/bundle-gas.d.ts +6 -1
  271. package/dist/core/index.d.ts +1 -1
  272. package/dist/core/index.js +1 -1
  273. package/dist/core/quote/index.d.ts +1 -0
  274. package/dist/core/quote/index.js +1 -0
  275. package/dist/core/quote/quote-helpers.d.ts +78 -0
  276. package/dist/core/quote/quote-helpers.js +289 -0
  277. package/dist/core/quote/types.d.ts +1 -0
  278. package/dist/core/quote/types.js +1 -0
  279. package/dist/core/sign-context-helpers.d.ts +29 -0
  280. package/dist/core/sign-context-helpers.js +63 -0
  281. package/dist/domains/dex/direct-router-helpers.d.ts +16 -268
  282. package/dist/domains/dex/direct-router-helpers.js +16 -535
  283. package/dist/domains/dex/direct-router-types.d.ts +104 -0
  284. package/dist/domains/dex/direct-router-types.js +81 -0
  285. package/dist/domains/dex/direct-router-v2-buy.d.ts +2 -0
  286. package/dist/domains/dex/direct-router-v2-buy.js +249 -0
  287. package/dist/domains/dex/direct-router-v2-sell.d.ts +5 -0
  288. package/dist/domains/dex/direct-router-v2-sell.js +270 -0
  289. package/dist/domains/dex/direct-router-v2.d.ts +9 -0
  290. package/dist/domains/dex/direct-router-v2.js +9 -0
  291. package/dist/domains/dex/direct-router-v3.d.ts +17 -0
  292. package/dist/domains/dex/direct-router-v3.js +432 -0
  293. package/dist/domains/dex/direct-router.d.ts +11 -26
  294. package/dist/domains/dex/direct-router.js +10 -977
  295. package/dist/domains/dex/dyo-encode.d.ts +62 -0
  296. package/dist/domains/dex/dyo-encode.js +124 -0
  297. package/dist/domains/dex/profit.d.ts +24 -0
  298. package/dist/domains/dex/profit.js +86 -0
  299. package/dist/domains/dex/provider.d.ts +10 -0
  300. package/dist/domains/dex/provider.js +27 -0
  301. package/dist/domains/dex/quote.d.ts +7 -0
  302. package/dist/domains/dex/quote.js +52 -0
  303. package/dist/domains/dex/router.d.ts +56 -0
  304. package/dist/domains/dex/router.js +193 -0
  305. package/dist/domains/flap/portal-bundle/batch.d.ts +9 -0
  306. package/dist/domains/flap/portal-bundle/batch.js +193 -0
  307. package/dist/domains/flap/portal-bundle/create.d.ts +5 -0
  308. package/dist/domains/flap/portal-bundle/create.js +153 -0
  309. package/dist/domains/flap/portal-bundle/helpers.d.ts +32 -0
  310. package/dist/domains/flap/portal-bundle/helpers.js +50 -0
  311. package/dist/domains/flap/portal-bundle/index.d.ts +16 -0
  312. package/dist/domains/flap/portal-bundle/index.js +15 -0
  313. package/dist/domains/flap/portal-bundle/private.d.ts +5 -0
  314. package/dist/domains/flap/portal-bundle/private.js +198 -0
  315. package/dist/domains/flap/portal-bundle/types.d.ts +102 -0
  316. package/dist/domains/flap/portal-bundle/types.js +1 -0
  317. package/dist/domains/flap/portal-bundle-merkle/core-batch.d.ts +13 -0
  318. package/dist/domains/flap/portal-bundle-merkle/core-batch.js +376 -0
  319. package/dist/domains/flap/portal-bundle-merkle/core-helpers.d.ts +75 -7
  320. package/dist/domains/flap/portal-bundle-merkle/core-helpers.js +259 -20
  321. package/dist/domains/flap/portal-bundle-merkle/core.d.ts +2 -13
  322. package/dist/domains/flap/portal-bundle-merkle/core.js +12 -629
  323. package/dist/domains/flap/portal-bundle-merkle/create-to-dex/constants.d.ts +70 -0
  324. package/dist/domains/flap/portal-bundle-merkle/create-to-dex/constants.js +90 -0
  325. package/dist/domains/flap/portal-bundle-merkle/create-to-dex/index.d.ts +12 -0
  326. package/dist/domains/flap/portal-bundle-merkle/create-to-dex/index.js +11 -0
  327. package/dist/domains/flap/portal-bundle-merkle/create-to-dex/main.d.ts +15 -0
  328. package/dist/domains/flap/portal-bundle-merkle/create-to-dex/main.js +432 -0
  329. package/dist/domains/flap/portal-bundle-merkle/create-to-dex/types.d.ts +113 -0
  330. package/dist/domains/flap/portal-bundle-merkle/create-to-dex/types.js +4 -0
  331. package/dist/domains/flap/portal-bundle-merkle/create-to-dex.d.ts +4 -127
  332. package/dist/domains/flap/portal-bundle-merkle/create-to-dex.js +4 -527
  333. package/dist/domains/flap/portal-bundle-merkle/curve-to-dex/constants.d.ts +42 -0
  334. package/dist/domains/flap/portal-bundle-merkle/curve-to-dex/constants.js +81 -0
  335. package/dist/domains/flap/portal-bundle-merkle/curve-to-dex/index.d.ts +12 -0
  336. package/dist/domains/flap/portal-bundle-merkle/curve-to-dex/index.js +11 -0
  337. package/dist/domains/flap/portal-bundle-merkle/curve-to-dex/main.d.ts +15 -0
  338. package/dist/domains/flap/portal-bundle-merkle/curve-to-dex/main.js +339 -0
  339. package/dist/domains/flap/portal-bundle-merkle/curve-to-dex/types.d.ts +72 -0
  340. package/dist/domains/flap/portal-bundle-merkle/curve-to-dex/types.js +4 -0
  341. package/dist/domains/flap/portal-bundle-merkle/curve-to-dex.d.ts +4 -85
  342. package/dist/domains/flap/portal-bundle-merkle/curve-to-dex.js +4 -425
  343. package/dist/domains/flap/portal-bundle-merkle/pancake-proxy/approve.d.ts +12 -0
  344. package/dist/domains/flap/portal-bundle-merkle/pancake-proxy/approve.js +102 -0
  345. package/dist/domains/flap/portal-bundle-merkle/pancake-proxy/buy.d.ts +5 -0
  346. package/dist/domains/flap/portal-bundle-merkle/pancake-proxy/buy.js +135 -0
  347. package/dist/domains/flap/portal-bundle-merkle/pancake-proxy/helpers.d.ts +52 -0
  348. package/dist/domains/flap/portal-bundle-merkle/pancake-proxy/helpers.js +267 -0
  349. package/dist/domains/flap/portal-bundle-merkle/pancake-proxy/index.d.ts +14 -0
  350. package/dist/domains/flap/portal-bundle-merkle/pancake-proxy/index.js +14 -0
  351. package/dist/domains/flap/portal-bundle-merkle/pancake-proxy/sell.d.ts +5 -0
  352. package/dist/domains/flap/portal-bundle-merkle/pancake-proxy/sell.js +195 -0
  353. package/dist/domains/flap/portal-bundle-merkle/pancake-proxy.d.ts +3 -24
  354. package/dist/domains/flap/portal-bundle-merkle/pancake-proxy.js +3 -700
  355. package/dist/domains/flap/portal-bundle-merkle/private/buy.d.ts +9 -0
  356. package/dist/domains/flap/portal-bundle-merkle/private/buy.js +188 -0
  357. package/dist/domains/flap/portal-bundle-merkle/private/helpers.d.ts +36 -0
  358. package/dist/domains/flap/portal-bundle-merkle/private/helpers.js +127 -0
  359. package/dist/domains/flap/portal-bundle-merkle/private/index.d.ts +12 -0
  360. package/dist/domains/flap/portal-bundle-merkle/private/index.js +12 -0
  361. package/dist/domains/flap/portal-bundle-merkle/private/sell.d.ts +9 -0
  362. package/dist/domains/flap/portal-bundle-merkle/private/sell.js +191 -0
  363. package/dist/domains/flap/portal-bundle-merkle/private.d.ts +5 -15
  364. package/dist/domains/flap/portal-bundle-merkle/private.js +5 -494
  365. package/dist/domains/flap/portal-bundle-merkle/swap-batch.js +3 -2
  366. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-chain.d.ts +4 -0
  367. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-chain.js +43 -0
  368. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-constants.d.ts +13 -0
  369. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-constants.js +21 -0
  370. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +11 -121
  371. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-helpers.js +11 -109
  372. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-multi-wallet.d.ts +20 -0
  373. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-multi-wallet.js +223 -0
  374. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-plan.d.ts +32 -0
  375. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-plan.js +66 -0
  376. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-profit.d.ts +22 -0
  377. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-profit.js +22 -0
  378. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-quote.d.ts +51 -0
  379. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-quote.js +149 -0
  380. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-types.d.ts +87 -0
  381. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-types.js +1 -0
  382. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first.js +5 -404
  383. package/dist/domains/flap/portal-bundle-merkle/swap-helpers.d.ts +0 -1
  384. package/dist/domains/flap/portal-bundle-merkle/swap-helpers.js +0 -7
  385. package/dist/domains/flap/portal-bundle-merkle/swap-planning.js +1 -1
  386. package/dist/domains/flap/portal-bundle-merkle/swap-quick-batch.js +3 -2
  387. package/dist/domains/flap/portal-bundle-merkle/swap-single.js +3 -2
  388. package/dist/domains/flap/portal-bundle-merkle/utils/disperse.d.ts +2 -0
  389. package/dist/domains/flap/portal-bundle-merkle/utils/disperse.js +275 -0
  390. package/dist/domains/flap/portal-bundle-merkle/utils/index.d.ts +11 -0
  391. package/dist/domains/flap/portal-bundle-merkle/utils/index.js +11 -0
  392. package/dist/domains/flap/portal-bundle-merkle/utils/sweep.d.ts +9 -0
  393. package/dist/domains/flap/portal-bundle-merkle/utils/sweep.js +570 -0
  394. package/dist/domains/flap/portal-bundle-merkle/utils.d.ts +5 -8
  395. package/dist/domains/flap/portal-bundle-merkle/utils.js +5 -841
  396. package/dist/domains/flap/portal-bundle.d.ts +5 -117
  397. package/dist/domains/flap/portal-bundle.js +5 -587
  398. package/dist/domains/flap/portal.d.ts +13 -404
  399. package/dist/domains/flap/portal.js +12 -619
  400. package/dist/domains/flap/reader.d.ts +51 -0
  401. package/dist/domains/flap/reader.js +275 -0
  402. package/dist/domains/flap/types.d.ts +246 -0
  403. package/dist/domains/flap/types.js +104 -0
  404. package/dist/domains/flap/vault/constants.d.ts +220 -0
  405. package/dist/domains/flap/vault/constants.js +173 -0
  406. package/dist/domains/flap/vault/encode.d.ts +39 -0
  407. package/dist/domains/flap/vault/encode.js +135 -0
  408. package/dist/domains/flap/vault/index.d.ts +15 -0
  409. package/dist/domains/flap/vault/index.js +14 -0
  410. package/dist/domains/flap/vault/query.d.ts +40 -0
  411. package/dist/domains/flap/vault/query.js +104 -0
  412. package/dist/domains/flap/vault/types.d.ts +147 -0
  413. package/dist/domains/flap/vault/types.js +29 -0
  414. package/dist/domains/flap/vault.d.ts +3 -413
  415. package/dist/domains/flap/vault.js +3 -467
  416. package/dist/domains/flap/writer.d.ts +124 -0
  417. package/dist/domains/flap/writer.js +255 -0
  418. package/dist/domains/four/contracts/tm-bundle-batch.d.ts +35 -0
  419. package/dist/domains/four/contracts/tm-bundle-batch.js +286 -0
  420. package/dist/domains/four/contracts/tm-bundle-create.d.ts +2 -0
  421. package/dist/domains/four/contracts/tm-bundle-create.js +304 -0
  422. package/dist/domains/four/contracts/tm-bundle-helpers.d.ts +2 -1
  423. package/dist/domains/four/contracts/tm-bundle-helpers.js +3 -0
  424. package/dist/domains/four/contracts/tm-bundle-private.d.ts +36 -0
  425. package/dist/domains/four/contracts/tm-bundle-private.js +164 -0
  426. package/dist/domains/four/contracts/tm-bundle.d.ts +10 -71
  427. package/dist/domains/four/contracts/tm-bundle.js +9 -738
  428. package/dist/domains/lp-inspect/inspect-helpers.d.ts +25 -0
  429. package/dist/domains/lp-inspect/inspect-helpers.js +343 -0
  430. package/dist/domains/lp-inspect/inspect.d.ts +8 -0
  431. package/dist/domains/lp-inspect/inspect.js +332 -0
  432. package/dist/domains/lp-inspect/lp-inspect.d.ts +9 -37
  433. package/dist/domains/lp-inspect/lp-inspect.js +9 -775
  434. package/dist/domains/lp-inspect/registry.d.ts +43 -0
  435. package/dist/domains/lp-inspect/registry.js +127 -0
  436. package/dist/domains/merkle/index.d.ts +1 -1
  437. package/dist/exports/root-bundle-and-tooling.d.ts +9 -1
  438. package/dist/exports/root-bundle-and-tooling.js +8 -1
  439. package/dist/exports/root-foundations.d.ts +1 -1
  440. package/dist/exports/root-foundations.js +1 -1
  441. package/dist/exports/root-swap-dex-and-xlayer.d.ts +4 -4
  442. package/dist/exports/root-swap-dex-and-xlayer.js +4 -4
  443. package/dist/index.d.ts +1 -1
  444. package/dist/index.js +1 -1
  445. package/dist/utils/swap-helpers.js +1 -1
  446. package/package.json +1 -81
@@ -0,0 +1,776 @@
1
+ /**
2
+ * XLayer SDK — EOA/交易参数与结果类型
3
+ *
4
+ * 包含买入/卖出/换手/刷量/DEX 交易/预授权/买到毕业等交易参数与结果类型
5
+ */
6
+ import type { HandleOpsResult, XLayerConfig } from './aa-types.js';
7
+ /**
8
+ * 买入参数
9
+ */
10
+ export interface BuyParams {
11
+ /** Flap 代币地址 */
12
+ tokenAddress: string;
13
+ /** 买入金额(OKB,字符串格式) */
14
+ amountOkb: string;
15
+ /** 最小输出代币数量(默认 0) */
16
+ minOutputAmount?: bigint;
17
+ /** 滑点基点(默认 100 = 1%) */
18
+ slippageBps?: number;
19
+ }
20
+ /**
21
+ * 卖出参数
22
+ */
23
+ export interface SellParams {
24
+ /** Flap 代币地址 */
25
+ tokenAddress: string;
26
+ /** 卖出代币数量(可选,默认全部) */
27
+ amount?: bigint;
28
+ /** 卖出比例(0-100,如 50 表示卖出 50%) */
29
+ sellPercent?: number;
30
+ /** 最小输出 OKB 数量(默认 0) */
31
+ minOutputAmount?: bigint;
32
+ /** 滑点基点(默认 100 = 1%) */
33
+ slippageBps?: number;
34
+ }
35
+ /**
36
+ * 捆绑买入参数
37
+ */
38
+ export interface BundleBuyParams {
39
+ /** 代币地址 */
40
+ tokenAddress: string;
41
+ /** Owner 私钥列表 */
42
+ privateKeys: string[];
43
+ /** 每个 owner 的买入金额(OKB 或 quoteToken,取决于 quoteToken 参数) */
44
+ buyAmounts: string[];
45
+ /** 买入使用的代币地址(零地址表示使用原生代币 OKB,非零地址表示使用 ERC20 代币如 USDC) */
46
+ quoteToken?: string;
47
+ /** quoteToken 的精度(默认 18,如果 quoteToken 不是 18 位精度需要指定) */
48
+ quoteTokenDecimals?: number;
49
+ /** 是否将代币转回 owner EOA(默认 false) */
50
+ transferBackToOwner?: boolean;
51
+ /** 配置覆盖 */
52
+ config?: Partial<XLayerConfig>;
53
+ }
54
+ /**
55
+ * 捆绑卖出参数
56
+ */
57
+ export interface BundleSellParams {
58
+ /** 代币地址 */
59
+ tokenAddress: string;
60
+ /** Owner 私钥列表 */
61
+ privateKeys: string[];
62
+ /** 卖出比例(0-100,默认 100 全部卖出) */
63
+ sellPercent?: number;
64
+ /** 是否将 OKB 归集回 owner EOA(默认 true) */
65
+ withdrawToOwner?: boolean;
66
+ /** 归集时保留的最小 OKB 余额 */
67
+ withdrawReserve?: string;
68
+ /** 配置覆盖 */
69
+ config?: Partial<XLayerConfig>;
70
+ }
71
+ /**
72
+ * 捆绑买卖参数(先买后卖)
73
+ */
74
+ export interface BundleBuySellParams {
75
+ /** 代币地址 */
76
+ tokenAddress: string;
77
+ /** Owner 私钥列表 */
78
+ privateKeys: string[];
79
+ /** 每个 owner 的買入金额(OKB 或 quoteToken,取决于 quoteToken 参数) */
80
+ buyAmounts: string[];
81
+ /** 买入使用的代币地址(零地址表示使用原生代币 OKB,非零地址表示使用 ERC20 代币如 USDC) */
82
+ quoteToken?: string;
83
+ /** quoteToken 的精度(默认 18,如果 quoteToken 不是 18 位精度需要指定) */
84
+ quoteTokenDecimals?: number;
85
+ /** 卖出比例(0-100,默认 100 全部卖出) */
86
+ sellPercent?: number;
87
+ /** 是否将 OKB 归集回 owner EOA(默认 true) */
88
+ withdrawToOwner?: boolean;
89
+ /** 归集时保留的最小 OKB 余额 */
90
+ withdrawReserve?: string;
91
+ /** 配置覆盖 */
92
+ config?: Partial<XLayerConfig>;
93
+ /** LP 费率档位 (V3 专用): 0=STANDARD, 1=LOW, 2=HIGH */
94
+ lpFeeProfile?: number;
95
+ /** DEX 类型: 'V2' | 'V3' */
96
+ dexType?: 'V2' | 'V3';
97
+ }
98
+ /**
99
+ * 捆绑发射签名参数
100
+ */
101
+ export interface BundleCreateBuySignParams {
102
+ /** 代币信息 */
103
+ tokenInfo: {
104
+ name: string;
105
+ symbol: string;
106
+ meta: string;
107
+ };
108
+ /** 预测的代币地址(可选,如果不传则内盘模式会自动根据 salt 预测) */
109
+ tokenAddress?: string;
110
+ /** 每个 owner 的买入金额(OKB,字符串格式) */
111
+ buyAmounts: string[];
112
+ /** Owner 私钥列表(第一个为 Dev,后续为买方) */
113
+ privateKeys: string[];
114
+ /** V2/V3/V4 参数 */
115
+ salt?: string;
116
+ dexThresh?: number;
117
+ taxRate?: number;
118
+ migratorType?: number;
119
+ quoteToken?: string;
120
+ quoteAmt?: bigint;
121
+ permitData?: string;
122
+ extensionID?: string;
123
+ extensionData?: string;
124
+ dexId?: number;
125
+ lpFeeProfile?: number;
126
+ /** 是否将 OKB 归集回 owner EOA(默认 true) */
127
+ withdrawToOwner?: boolean;
128
+ /** 归集时保留的最小 OKB 余额 */
129
+ withdrawReserve?: string;
130
+ /** 配置覆盖 */
131
+ config?: Partial<XLayerConfig>;
132
+ /** Payer 私钥(用于签 handleOps 交易);默认 privateKeys[0] */
133
+ payerPrivateKey?: string;
134
+ /** beneficiary(默认 payer 地址) */
135
+ beneficiary?: string;
136
+ /** 可选:指定 payer 起始 nonce(不传则用 pending nonce) */
137
+ payerStartNonce?: number;
138
+ }
139
+ /**
140
+ * 捆绑发射签名结果
141
+ */
142
+ export interface BundleCreateBuySignResult {
143
+ /** raw signed tx 列表 */
144
+ signedTransactions: string[];
145
+ /** 代币地址 */
146
+ tokenAddress: string;
147
+ /** 元数据 */
148
+ metadata: {
149
+ tokenAddress: string;
150
+ devOwner: string;
151
+ devSender: string;
152
+ buyerOwners: string[];
153
+ buyerSenders: string[];
154
+ totalBuyWei: string;
155
+ };
156
+ }
157
+ /**
158
+ * 一键发射到外盘签名参数(AA 模式)
159
+ *
160
+ * 交易顺序:
161
+ * 1. handleOps #1: 创建代币 + 内盘买入(买到毕业)
162
+ * 2. handleOps #2: 外盘买入(通过 PotatoSwap V2)
163
+ * 3. 利润提取(EOA 转账)
164
+ */
165
+ export interface BundleCreateToDexSignParams {
166
+ /** 代币信息 */
167
+ tokenInfo: {
168
+ name: string;
169
+ symbol: string;
170
+ meta: string;
171
+ };
172
+ /** 预计算的代币地址 */
173
+ tokenAddress: string;
174
+ /** Payer 私钥(支付 Gas,同时作为发币者) */
175
+ payerPrivateKey: string;
176
+ /** 内盘买入钱包私钥列表 */
177
+ curveBuyerPrivateKeys: string[];
178
+ /** 内盘买入金额列表(OKB,按顺序对应) */
179
+ curveBuyAmounts: string[];
180
+ /** 是否启用外盘买入(默认 false) */
181
+ enableDexBuy?: boolean;
182
+ /** 外盘买入钱包私钥列表(可与内盘钱包相同或不同) */
183
+ dexBuyerPrivateKeys?: string[];
184
+ /** 外盘买入金额列表(OKB) */
185
+ dexBuyAmounts?: string[];
186
+ /** V4 发币参数 */
187
+ salt?: string;
188
+ dexThresh?: number;
189
+ taxRate?: number;
190
+ migratorType?: number;
191
+ quoteToken?: string;
192
+ quoteAmt?: bigint;
193
+ beneficiary?: string;
194
+ permitData?: string;
195
+ extensionID?: string;
196
+ extensionData?: string;
197
+ dexId?: number;
198
+ lpFeeProfile?: number;
199
+ /** Payer 起始 nonce(不传则用 pending nonce) */
200
+ payerStartNonce?: number;
201
+ /** 配置覆盖 */
202
+ config?: Partial<XLayerConfig>;
203
+ }
204
+ /**
205
+ * 一键发射到外盘签名结果
206
+ */
207
+ export interface BundleCreateToDexSignResult {
208
+ /** raw signed tx 列表 */
209
+ signedTransactions: string[];
210
+ /** 代币地址 */
211
+ tokenAddress: string;
212
+ /** 元数据 */
213
+ metadata?: {
214
+ payerOwner: string;
215
+ payerSender: string;
216
+ curveBuyerCount: number;
217
+ curveTotalBuyWei: string;
218
+ enableDexBuy: boolean;
219
+ dexBuyerCount: number;
220
+ dexTotalBuyWei: string;
221
+ profitAmount?: string;
222
+ };
223
+ }
224
+ /**
225
+ * 捆绑换手参数(AA 模式,单卖单买)
226
+ * - 卖方 AA 先卖出
227
+ * - 买方 AA 再买入
228
+ * - 两个 UserOp(以及可选 approve)放入同一笔 handleOps
229
+ */
230
+ export interface BundleSwapParams {
231
+ /** 交易类型:FLAP (内盘), V2 (外盘 V2), V3 (外盘 V3) */
232
+ tradeType?: 'FLAP' | 'V2' | 'V3';
233
+ /** DEX 标识(用于选择正确的 Router) */
234
+ dexKey?: string;
235
+ /** 显式指定 Router 地址(若不传则由 SDK 根据 dexKey 自动决定) */
236
+ routerAddress?: string;
237
+ /** LP 费率档位 (V3 专用): 0=STANDARD (0.25%), 1=LOW (0.01%), 2=HIGH (1%) */
238
+ lpFeeProfile?: number;
239
+ /** 代币地址 */
240
+ tokenAddress: string;
241
+ /** 卖方 Owner 私钥 */
242
+ sellerPrivateKey: string;
243
+ /** 买方 Owner 私钥 */
244
+ buyerPrivateKey: string;
245
+ /** 卖出数量(人类可读字符串,按代币 decimals 解析);优先于 sellPercent */
246
+ sellAmount?: string;
247
+ /** 卖出比例(0-100,默认 100) */
248
+ sellPercent?: number;
249
+ /** ✅ ERC20 稳定币支持(对齐 BSC):输出代币地址(如 USDT/USDC/USDT0),不传则使用原生代币 OKB */
250
+ quoteToken?: string;
251
+ /** ✅ ERC20 稳定币精度(默认 6,XLayer USDT/USDC/USDT0 都是 6 位精度) */
252
+ quoteTokenDecimals?: number;
253
+ /**
254
+ * 买入 OKB 数量(字符串)。
255
+ * - 不传则默认使用 previewSell(sellAmount) 的结果,并应用 slippageBps
256
+ */
257
+ buyAmountOkb?: string;
258
+ /** 预估卖出滑点(基点),默认 100 = 1%(用于 buyAmountOkb 未传入时) */
259
+ slippageBps?: number;
260
+ /**
261
+ * ✅ 转账多跳数(AA 专用,且与 BSC 的“多跳”逻辑相互独立)
262
+ *
263
+ * 用途:当卖出与买入不是同一个 AA(Sender) 时,需要把卖出得到的 OKB 先转到买方 AA(Sender) 才能执行 buy。
264
+ * - 0:卖方 AA(Sender) 直接转给买方 AA(Sender)
265
+ * - >0:按“多跳”方式转账(实现位于 xlayer/*,不会影响 BSC bundle/merkle)
266
+ */
267
+ disperseHopCount?: number;
268
+ /** 配置覆盖 */
269
+ config?: Partial<XLayerConfig>;
270
+ }
271
+ /**
272
+ * 捆绑换手执行结果(链上执行 handleOps)
273
+ */
274
+ export interface BundleSwapResult {
275
+ /** handleOps 交易结果 */
276
+ swapResult: HandleOpsResult;
277
+ /** 元数据(便于前端显示) */
278
+ metadata: {
279
+ sellerOwner: string;
280
+ sellerSender: string;
281
+ buyerOwner: string;
282
+ buyerSender: string;
283
+ sellAmountWei: string;
284
+ buyAmountWei: string;
285
+ hasApprove: boolean;
286
+ routeAddress?: string;
287
+ /** 是否提取利润 */
288
+ extractProfit?: boolean;
289
+ /** 利润比例 bps */
290
+ profitBps?: number;
291
+ /** 利润接收地址 */
292
+ profitRecipient?: string;
293
+ /** 预估利润(OKB wei) */
294
+ profitWei?: string;
295
+ /** 预估卖出输出(OKB wei) */
296
+ quotedSellOutWei?: string;
297
+ /** ✅ AA:转账多跳数(仅 xlayer AA 使用;不影响 BSC) */
298
+ disperseHopCount?: string;
299
+ };
300
+ }
301
+ /**
302
+ * 捆绑换手签名参数(仅签名 handleOps 交易;可选追加 route 尾交易)
303
+ * - 返回 raw signed tx,可按“BSC 捆绑”模式交给后端/Builder 提交
304
+ */
305
+ export interface BundleSwapSignParams extends BundleSwapParams {
306
+ /** Payer 私钥(用于签 handleOps 交易);默认 sellerPrivateKey */
307
+ payerPrivateKey?: string;
308
+ /** beneficiary(默认 payer 地址) */
309
+ beneficiary?: string;
310
+ /** 可选:指定 payer 起始 nonce(不传则用 pending nonce) */
311
+ payerStartNonce?: number;
312
+ /** 可选:覆盖 handleOps gasLimit(不传则自动 estimate,失败回退) */
313
+ handleOpsGasLimit?: bigint;
314
+ /**
315
+ * 可选:routeAddress(如果你的后端要求“route 尾交易”,则传入)
316
+ * - SDK 会自动构造 nonce+1 的空转账 tailTx
317
+ */
318
+ routeAddress?: string;
319
+ }
320
+ /**
321
+ * 捆绑换手签名结果
322
+ */
323
+ export interface BundleSwapSignResult {
324
+ /** raw signed tx 列表(handleOps 在前;如果有 routeAddress 则 tailTx 在后) */
325
+ signedTransactions: string[];
326
+ /** 元数据(便于前端显示) */
327
+ metadata: {
328
+ payer: string;
329
+ beneficiary: string;
330
+ sellerOwner: string;
331
+ sellerSender: string;
332
+ buyerOwner: string;
333
+ buyerSender: string;
334
+ sellAmountWei: string;
335
+ buyAmountWei: string;
336
+ hasApprove: boolean;
337
+ routeAddress?: string;
338
+ /** 是否提取利润 */
339
+ extractProfit?: boolean;
340
+ /** 利润比例 bps */
341
+ profitBps?: number;
342
+ /** 利润接收地址 */
343
+ profitRecipient?: string;
344
+ /** 预估利润(OKB wei) */
345
+ profitWei?: string;
346
+ /** 预估卖出输出(OKB wei) */
347
+ quotedSellOutWei?: string;
348
+ /** ✅ AA:转账多跳数(仅 xlayer AA 使用;不影响 BSC) */
349
+ disperseHopCount?: string;
350
+ };
351
+ }
352
+ /**
353
+ * 批量捆绑换手参数(一卖多买)
354
+ */
355
+ export interface BundleBatchSwapParams {
356
+ /** 交易类型:FLAP (内盘), V2 (外盘 V2), V3 (外盘 V3) */
357
+ tradeType?: 'FLAP' | 'V2' | 'V3';
358
+ /** DEX 标识(用于选择正确的 Router) */
359
+ dexKey?: string;
360
+ /** 显式指定 Router 地址(若不传则由 SDK 根据 dexKey 自动决定) */
361
+ routerAddress?: string;
362
+ /** LP 费率档位 (V3 专用): 0=STANDARD (0.25%), 1=LOW (0.01%), 2=HIGH (1%) */
363
+ lpFeeProfile?: number;
364
+ /** 代币地址 */
365
+ tokenAddress: string;
366
+ /** 卖方 Owner 私钥 */
367
+ sellerPrivateKey: string;
368
+ /** 买方 Owner 私钥列表 */
369
+ buyerPrivateKeys: string[];
370
+ /** 每个买方的买入 OKB 数量(字符串,长度必须与 buyerPrivateKeys 一致) */
371
+ buyAmountsOkb: string[];
372
+ /** 卖出数量(人类可读字符串,按代币 decimals 解析);优先于 sellPercent */
373
+ sellAmount?: string;
374
+ /** 卖出比例(0-100,默认 100) */
375
+ sellPercent?: number;
376
+ /** ✅ ERC20 稳定币支持(对齐 BSC):输出代币地址(如 USDT/USDC/USDT0),不传则使用原生代币 OKB */
377
+ quoteToken?: string;
378
+ /** ✅ ERC20 稳定币精度(默认 6,XLayer USDT/USDC/USDT0 都是 6 位精度) */
379
+ quoteTokenDecimals?: number;
380
+ /**
381
+ * ✅ 资金利用率模式(对齐 BSC)
382
+ * - true(默认):卖出 → 分发 → 买入(资金来自卖出所得,对应 BSC flapQuickBatchSwapMerkle)
383
+ * - false:卖出 → 买入(买方自带资金,对应 BSC flapBatchSwapMerkle)
384
+ */
385
+ capitalMode?: boolean;
386
+ /**
387
+ * ✅ 转账多跳数(AA 专用,仅 capitalMode=true 时生效)
388
+ *
389
+ * 用途:卖出所得 OKB 需要在同一笔 handleOps 内分发给多个买方 AA(Sender)。
390
+ * - 0:卖方 AA(Sender) 直接分发给所有买方 AA(Sender)
391
+ * - >0:按"多跳"方式分发(实现位于 xlayer/*,不会影响 BSC bundle/merkle)
392
+ */
393
+ disperseHopCount?: number;
394
+ /**
395
+ * ✅ 前端传入的 gasPrice(Gwei)
396
+ * - 如果不传,SDK 会调用 getFeeData 获取当前 gas 价格
397
+ * - 建议:前端获取当前 gas 价格后传入,确保 prefund 计算一致
398
+ */
399
+ gasPriceGwei?: number;
400
+ /**
401
+ * ✅ 买入操作的 callGasLimit
402
+ * - DEX 买入默认 650,000
403
+ * - Portal 买入默认 450,000
404
+ * - 前端可根据实际情况调整
405
+ */
406
+ buyerCallGasLimit?: bigint;
407
+ /**
408
+ * ✅ 多跳转账的 callGasLimit
409
+ * - 默认 150,000
410
+ * - 前端可根据实际情况调整
411
+ */
412
+ hopCallGasLimit?: bigint;
413
+ /**
414
+ * ✅ 买入模式(V3 交易专用)
415
+ * - 'exactInput'(默认):花费固定 OKB,买尽可能多的代币(保证交易成功,但代币数量不确定)
416
+ * - 'exactOutput':买固定数量代币,花尽可能少的 OKB(保证买到预期数量,但可能失败)
417
+ *
418
+ * 注意:
419
+ * - exactOutput 需要配合 buyAmountsToken 使用
420
+ * - 如果 OKB 不足以买到预期数量,交易会失败
421
+ * - V2 交易不支持 exactOutput,会自动回退到 exactInput
422
+ */
423
+ buyMode?: 'exactInput' | 'exactOutput';
424
+ /**
425
+ * ✅ 每个买方要买入的代币数量(字符串,用于 exactOutput 模式)
426
+ * - 长度必须与 buyerPrivateKeys 一致
427
+ * - 仅在 buyMode = 'exactOutput' 时使用
428
+ * - 代币数量会按代币的 decimals 解析
429
+ */
430
+ buyAmountsToken?: string[];
431
+ /** 配置覆盖 */
432
+ config?: Partial<XLayerConfig>;
433
+ }
434
+ export interface BundleBatchSwapResult {
435
+ swapResult: HandleOpsResult;
436
+ metadata: {
437
+ sellerOwner: string;
438
+ sellerSender: string;
439
+ buyerOwners: string[];
440
+ buyerSenders: string[];
441
+ sellAmountWei: string;
442
+ buyAmountsWei: string[];
443
+ hasApprove: boolean;
444
+ routeAddress?: string;
445
+ /** 是否提取利润 */
446
+ extractProfit?: boolean;
447
+ /** 利润比例 bps */
448
+ profitBps?: number;
449
+ /** 利润接收地址 */
450
+ profitRecipient?: string;
451
+ /** 预估利润(OKB wei) */
452
+ profitWei?: string;
453
+ /** 预估卖出输出(OKB wei) */
454
+ quotedSellOutWei?: string;
455
+ /** ✅ AA:转账多跳数(仅 xlayer AA 使用;不影响 BSC) */
456
+ disperseHopCount?: string;
457
+ };
458
+ }
459
+ export interface BundleBatchSwapSignParams extends BundleBatchSwapParams {
460
+ payerPrivateKey?: string;
461
+ beneficiary?: string;
462
+ payerStartNonce?: number;
463
+ handleOpsGasLimit?: bigint;
464
+ routeAddress?: string;
465
+ }
466
+ export interface BundleBatchSwapSignResult {
467
+ signedTransactions: string[];
468
+ /** ✅ 多跳中转钱包列表(用作资金中转的买方钱包,交易失败时可找回资金) */
469
+ hopWallets?: Array<{
470
+ address: string;
471
+ privateKey: string;
472
+ }>;
473
+ metadata: {
474
+ payer: string;
475
+ beneficiary: string;
476
+ sellerOwner: string;
477
+ sellerSender: string;
478
+ buyerOwners: string[];
479
+ buyerSenders: string[];
480
+ sellAmountWei: string;
481
+ buyAmountsWei: string[];
482
+ hasApprove: boolean;
483
+ routeAddress?: string;
484
+ /** 是否提取利润 */
485
+ extractProfit?: boolean;
486
+ /** 利润比例 bps */
487
+ profitBps?: number;
488
+ /** 利润接收地址 */
489
+ profitRecipient?: string;
490
+ /** 预估利润(OKB wei) */
491
+ profitWei?: string;
492
+ /** 预估卖出输出(OKB wei) */
493
+ quotedSellOutWei?: string;
494
+ /** ✅ AA:转账多跳数(仅 xlayer AA 使用;不影响 BSC) */
495
+ disperseHopCount?: string;
496
+ /** ✅ 利润刮取模式:payer-eoa=由Payer EOA独立刮取,seller-aa=由Seller AA在分发中刮取 */
497
+ profitMode?: 'payer-eoa' | 'seller-aa';
498
+ };
499
+ }
500
+ /**
501
+ * 刷量参数
502
+ */
503
+ export interface VolumeParams {
504
+ /** 代币地址 */
505
+ tokenAddress: string;
506
+ /** Owner 私钥列表 */
507
+ privateKeys: string[];
508
+ /** 每轮买入金额(OKB) */
509
+ buyAmountPerRound: string;
510
+ /** 刷量轮数 */
511
+ rounds: number;
512
+ /** 每轮间隔时间(毫秒,默认 3000) */
513
+ intervalMs?: number;
514
+ /** 每轮是否立即卖出(默认 true) */
515
+ sellImmediately?: boolean;
516
+ /** 配置覆盖 */
517
+ config?: Partial<XLayerConfig>;
518
+ }
519
+ /**
520
+ * 捆绑买入结果
521
+ */
522
+ export interface BundleBuyResult {
523
+ /** 买入交易结果 */
524
+ buyResult: HandleOpsResult;
525
+ /** 转账交易结果(如果 transferBackToOwner) */
526
+ transferResult?: HandleOpsResult;
527
+ /** 各 sender 的代币余额 */
528
+ tokenBalances: Map<string, bigint>;
529
+ }
530
+ /**
531
+ * 捆绑卖出结果
532
+ */
533
+ export interface BundleSellResult {
534
+ /** 卖出交易结果 */
535
+ sellResult: HandleOpsResult;
536
+ /** 归集交易结果(如果 withdrawToOwner) */
537
+ withdrawResult?: HandleOpsResult;
538
+ /**
539
+ * 利润汇总(如果 withdrawToOwner=true 且实际归集金额>0)
540
+ * - 注意:AA 的 handleOps tx.value 永远是 0;利润是“从 AA Sender 余额里拆分转走”的金额
541
+ */
542
+ profit?: {
543
+ extractProfit: boolean;
544
+ profitBps: number;
545
+ profitRecipient: string;
546
+ totalProfitWei: string;
547
+ };
548
+ }
549
+ /**
550
+ * 捆绑买卖结果
551
+ */
552
+ export interface BundleBuySellResult {
553
+ /** 买入阶段结果 */
554
+ buyResult: HandleOpsResult;
555
+ /** 卖出阶段结果 */
556
+ sellResult: HandleOpsResult;
557
+ /** 归集阶段结果(如果 withdrawToOwner) */
558
+ withdrawResult?: HandleOpsResult;
559
+ /** 各 sender 的最终 OKB 余额 */
560
+ finalBalances: Map<string, bigint>;
561
+ /** 利润汇总(如果 withdrawToOwner=true 且实际归集金额>0) */
562
+ profit?: {
563
+ extractProfit: boolean;
564
+ profitBps: number;
565
+ profitRecipient: string;
566
+ totalProfitWei: string;
567
+ };
568
+ }
569
+ /**
570
+ * 刷量结果
571
+ */
572
+ export interface VolumeResult {
573
+ /** 成功轮数 */
574
+ successRounds: number;
575
+ /** 失败轮数 */
576
+ failedRounds: number;
577
+ /** 每轮结果 */
578
+ roundResults: BundleBuySellResult[];
579
+ /** 总交易量(OKB) */
580
+ totalVolume: bigint;
581
+ }
582
+ export type BuyFirstTradeType = 'FLAP' | 'V2';
583
+ /** ✅ Router 版本类型 */
584
+ export type RouterVersion = 'V2' | 'V3';
585
+ /** ✅ 授权目标类型 */
586
+ export type ApprovalTarget = 'FLAP_PORTAL' | 'V2_ROUTER' | 'V3_ROUTER';
587
+ export interface BuyFirstParams {
588
+ tradeType?: BuyFirstTradeType;
589
+ /** ✅ 新增:Router 版本(V2 或 V3,默认 V2) */
590
+ routerVersion?: RouterVersion;
591
+ /** DEX 标识(仅 V2 时使用,用于选择 Router) */
592
+ dexKey?: string;
593
+ /** 显式指定 Router 地址(仅 V2 时使用) */
594
+ routerAddress?: string;
595
+ /** DEX deadline 分钟数(仅 V2 时使用) */
596
+ deadlineMinutes?: number;
597
+ tokenAddress: string;
598
+ buyerPrivateKeys: string[];
599
+ sellerPrivateKeys: string[];
600
+ /** 本轮总买入资金(OKB 或 quoteToken) */
601
+ buyerFunds: string;
602
+ buyCount?: number;
603
+ sellCount?: number;
604
+ /** ✅ 新增:买入使用的代币地址(零地址或不传表示使用 OKB,非零地址表示使用 ERC20 如 USDT) */
605
+ quoteToken?: string;
606
+ /** ✅ 新增:quoteToken 的精度(默认 18,USDT 在 XLayer 上是 6 位) */
607
+ quoteTokenDecimals?: number;
608
+ /** 报价滑点(仅用于估算 sellAmount),默认 0 */
609
+ slippageBps?: number;
610
+ withdrawToOwner?: boolean;
611
+ withdrawReserve?: string;
612
+ config?: Partial<XLayerConfig>;
613
+ }
614
+ export interface BuyFirstResult {
615
+ buySellResult: HandleOpsResult;
616
+ withdrawResult?: HandleOpsResult;
617
+ finalSellerBalances?: Map<string, bigint>;
618
+ profit?: {
619
+ extractProfit: boolean;
620
+ profitBps: number;
621
+ profitRecipient: string;
622
+ totalProfitWei: string;
623
+ };
624
+ metadata: {
625
+ tradeType: BuyFirstTradeType;
626
+ tokenAddress: string;
627
+ buyerOwners: string[];
628
+ buyerSenders: string[];
629
+ sellerOwners: string[];
630
+ sellerSenders: string[];
631
+ buyAmountsWei: string[];
632
+ sellAmountsWei: string[];
633
+ totalBuyWei: string;
634
+ estimatedTokenOutWei: string;
635
+ slippageBps: number;
636
+ };
637
+ }
638
+ export interface BuyFirstVolumeParams extends Omit<BuyFirstParams, 'buyerFunds'> {
639
+ buyerFundsPerRound: string;
640
+ rounds: number;
641
+ intervalMs?: number;
642
+ }
643
+ export interface BuyFirstVolumeResult {
644
+ successRounds: number;
645
+ failedRounds: number;
646
+ roundResults: BuyFirstResult[];
647
+ /** 总交易量(OKB wei,按“买入资金*2”统计) */
648
+ totalVolume: bigint;
649
+ }
650
+ /**
651
+ * 外盘(PotatoSwap)交易参数
652
+ */
653
+ export interface DexSwapParams {
654
+ /** 输入代币地址(零地址表示 OKB) */
655
+ inputToken: string;
656
+ /** 输出代币地址(零地址表示 OKB) */
657
+ outputToken: string;
658
+ /** 输入金额 */
659
+ inputAmount: bigint;
660
+ /** 最小输出金额 */
661
+ minOutputAmount: bigint;
662
+ /** 交易截止时间(默认 20 分钟) */
663
+ deadline?: number;
664
+ }
665
+ /**
666
+ * 外盘交易结果
667
+ */
668
+ export interface DexSwapResult {
669
+ txHash: string;
670
+ inputAmount: bigint;
671
+ outputAmount: bigint;
672
+ gasUsed: bigint;
673
+ }
674
+ /**
675
+ * 预授权参数
676
+ * 用于提前授权代币,避免在交易时等待授权确认
677
+ */
678
+ export interface BundlePreApproveParams {
679
+ /** 代币地址 */
680
+ tokenAddress: string;
681
+ /** Owner 私钥列表 */
682
+ privateKeys: string[];
683
+ /** 授权目标(默认 FLAP_PORTAL,可传 Router 地址用于外盘交易) */
684
+ spender?: string;
685
+ /**
686
+ * 是否仅签名(不执行)
687
+ * - true: 返回签名后的 handleOps 交易,由前端发送到服务端广播
688
+ * - false(默认): 直接执行 handleOps
689
+ */
690
+ signOnly?: boolean;
691
+ /** 配置覆盖 */
692
+ config?: Partial<XLayerConfig>;
693
+ /** Payer 私钥(signOnly=true 时必传,用于支付 gas) */
694
+ payerPrivateKey?: string;
695
+ }
696
+ /**
697
+ * 预授权结果
698
+ */
699
+ export interface BundlePreApproveResult {
700
+ /** 发送授权交易的数量 */
701
+ approvedCount: number;
702
+ /** 已经授权无需操作的数量 */
703
+ alreadyApprovedCount: number;
704
+ /** 授权交易结果(signOnly=false 时有值) */
705
+ approveResult?: HandleOpsResult;
706
+ /** 每个地址的授权状态详情 */
707
+ details: ApprovalStatusResult[];
708
+ /** signOnly=true 时:签名后的 handleOps 交易(raw signed tx) */
709
+ signedTransactions?: string[];
710
+ }
711
+ /**
712
+ * 授权状态检查结果
713
+ */
714
+ export interface ApprovalStatusResult {
715
+ /** Owner EOA 地址 */
716
+ owner: string;
717
+ /** AA Sender 地址 */
718
+ sender: string;
719
+ /** 是否已授权(授权额度 >= 代币余额) */
720
+ isApproved: boolean;
721
+ /** 当前授权额度 */
722
+ currentAllowance: bigint;
723
+ /** 当前代币余额 */
724
+ tokenBalance: bigint;
725
+ }
726
+ /**
727
+ * 捆绑买到毕业签名参数
728
+ */
729
+ export interface BundleGraduateBuyParams {
730
+ /** 代位地址 */
731
+ tokenAddress: string;
732
+ /** 买入钱包私钥数组 */
733
+ privateKeys: string[];
734
+ /** AA Payer 私钥 */
735
+ payerPrivateKey: string;
736
+ /** 分配模式 */
737
+ amountMode: 'average' | 'random' | 'custom';
738
+ /** 平均模式:总买入金额 */
739
+ totalBuyAmount?: number;
740
+ /** 随机模式:最小金额 / 最大金额 */
741
+ minAmount?: number;
742
+ maxAmount?: number;
743
+ /** 自定义模式:地址 -> 金额 */
744
+ walletAmounts?: Record<string, number>;
745
+ /** 是否启用外盘买入(默认 false) */
746
+ enableDexBuy?: boolean;
747
+ /** 内盘钱包地址列表(可选,传入则使用前端分组,不传则 SDK 自动分组) */
748
+ curveAddresses?: string[];
749
+ /** 外盘钱包地址列表(可选) */
750
+ dexAddresses?: string[];
751
+ /** 动态毕业阈值(可选,不传则使用默认 73.38 OKB) */
752
+ graduationAmount?: number;
753
+ /** 配置覆盖 */
754
+ config?: Partial<XLayerConfig>;
755
+ /** 扩展数据(传递给 swapExactInputV3,默认 0x) */
756
+ extensionData?: string;
757
+ /** Payer 起始 nonce */
758
+ payerStartNonce?: number;
759
+ /** beneficiary(默认 payer 地址) */
760
+ beneficiary?: string;
761
+ }
762
+ /**
763
+ * 捆绑买到毕业签名结果
764
+ */
765
+ export interface BundleGraduateBuyResult {
766
+ /** raw signed tx 列表 */
767
+ signedTransactions: string[];
768
+ /** 元数据 */
769
+ metadata: {
770
+ curveCount: number;
771
+ dexCount: number;
772
+ curveTotalAmount: string;
773
+ dexTotalAmount: string;
774
+ tokenAddress: string;
775
+ };
776
+ }