four-flap-meme-sdk 2.2.7 → 2.2.10

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 (474) hide show
  1. package/README.en.md +6 -41
  2. package/README.md +0 -31
  3. package/README.zh-CN.md +6 -41
  4. package/dist/chains/bsc/four/approve-tokenmanager.d.ts +26 -1
  5. package/dist/chains/bsc/four/approve-tokenmanager.js +113 -1
  6. package/dist/chains/bsc/four/config.d.ts +67 -5
  7. package/dist/chains/bsc/four/config.js +114 -2
  8. package/dist/chains/bsc/four/core.d.ts +4 -1
  9. package/dist/chains/bsc/four/core.js +592 -1
  10. package/dist/chains/bsc/four/index.d.ts +6 -6
  11. package/dist/chains/bsc/four/index.js +6 -6
  12. package/dist/chains/bsc/four/internal.d.ts +46 -2
  13. package/dist/chains/bsc/four/internal.js +239 -2
  14. package/dist/chains/bsc/four/pancake-proxy.d.ts +28 -1
  15. package/dist/chains/bsc/four/pancake-proxy.js +687 -1
  16. package/dist/chains/bsc/four/private.d.ts +27 -1
  17. package/dist/chains/bsc/four/private.js +477 -1
  18. package/dist/chains/bsc/four/submit.d.ts +315 -2
  19. package/dist/chains/bsc/four/submit.js +752 -2
  20. package/dist/chains/bsc/four/swap-buy-first.d.ts +55 -2
  21. package/dist/chains/bsc/four/swap-buy-first.js +507 -2
  22. package/dist/chains/bsc/four/swap-internal.d.ts +3 -1
  23. package/dist/chains/bsc/four/swap-internal.js +18 -1
  24. package/dist/chains/bsc/four/swap.d.ts +144 -2
  25. package/dist/chains/bsc/four/swap.js +766 -2
  26. package/dist/chains/bsc/four/types.d.ts +476 -1
  27. package/dist/chains/bsc/four/utils.d.ts +18 -5
  28. package/dist/chains/bsc/four/utils.js +1552 -5
  29. package/dist/chains/bsc/pancake/bundle-buy-first.d.ts +91 -1
  30. package/dist/chains/bsc/pancake/bundle-buy-first.js +212 -97
  31. package/dist/chains/bsc/pancake/bundle-swap.d.ts +79 -1
  32. package/dist/chains/bsc/pancake/bundle-swap.js +726 -114
  33. package/dist/chains/bsc/pancake/index.d.ts +2 -4
  34. package/dist/chains/bsc/pancake/index.js +3 -1
  35. package/dist/chains/bsc/platforms/iro/factory.d.ts +2 -2
  36. package/dist/chains/bsc/platforms/iro/factory.js +1 -3
  37. package/dist/chains/bsc/platforms/iro/index.d.ts +5 -5
  38. package/dist/chains/bsc/platforms/iro/index.js +3 -3
  39. package/dist/chains/bsc/platforms/iro/pool.js +10 -31
  40. package/dist/chains/bsc/platforms/iro/token.js +1 -4
  41. package/dist/chains/eni/batch-router/bundle-approve.js +3 -4
  42. package/dist/chains/eni/batch-router/transfer.js +25 -55
  43. package/dist/chains/eni/batch-router/utils.js +6 -32
  44. package/dist/chains/eni/bundler/sign.js +6 -5
  45. package/dist/chains/eni/bundler/submit.js +4 -1
  46. package/dist/chains/eni/constants.js +1 -1
  47. package/dist/chains/eni/index.d.ts +1 -2
  48. package/dist/chains/eni/index.js +0 -1
  49. package/dist/chains/eni/platforms/daoaas/create.js +2 -2
  50. package/dist/chains/eni/platforms/daoaas/index.d.ts +3 -3
  51. package/dist/chains/eni/platforms/daoaas/index.js +3 -3
  52. package/dist/chains/eni/platforms/daoaas/meta.js +6 -9
  53. package/dist/chains/eni/platforms/daoaas/portal-direct.js +44 -28
  54. package/dist/chains/eni/platforms/daoaas/portal.js +6 -10
  55. package/dist/chains/eni/platforms/dswap/liquidity.js +26 -58
  56. package/dist/chains/eni/platforms/fair-launch/index.d.ts +2 -2
  57. package/dist/chains/eni/platforms/fair-launch/index.js +1 -1
  58. package/dist/chains/eni/platforms/fair-launch/launcher.js +46 -87
  59. package/dist/chains/eni/platforms/fair-launch/pool.js +1 -4
  60. package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
  61. package/dist/chains/eni/platforms/iro/factory.d.ts +2 -2
  62. package/dist/chains/eni/platforms/iro/factory.js +1 -3
  63. package/dist/chains/eni/platforms/iro/index.d.ts +6 -6
  64. package/dist/chains/eni/platforms/iro/index.js +4 -4
  65. package/dist/chains/eni/platforms/iro/pool.js +26 -90
  66. package/dist/chains/eni/platforms/iro/token.js +31 -107
  67. package/dist/chains/eni/platforms/iro/whitelist.js +18 -6
  68. package/dist/chains/index.d.ts +0 -13
  69. package/dist/chains/index.js +0 -13
  70. package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +26 -2
  71. package/dist/chains/xlayer/eip7702/bundle-approve.js +21 -11
  72. package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +6 -2
  73. package/dist/chains/xlayer/eip7702/bundle-buy.js +51 -13
  74. package/dist/chains/xlayer/eip7702/bundle-create.js +59 -93
  75. package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +6 -2
  76. package/dist/chains/xlayer/eip7702/bundle-sell.js +111 -29
  77. package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +65 -3
  78. package/dist/chains/xlayer/eip7702/bundle-swap.js +245 -51
  79. package/dist/chains/xlayer/eip7702/constants.d.ts +16 -1
  80. package/dist/chains/xlayer/eip7702/constants.js +21 -3
  81. package/dist/chains/xlayer/eip7702/index.d.ts +46 -28
  82. package/dist/chains/xlayer/eip7702/index.js +81 -28
  83. package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +203 -2
  84. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +307 -63
  85. package/dist/chains/xlayer/eip7702/types.d.ts +0 -88
  86. package/dist/chains/xlayer/eip7702/utils.d.ts +3 -0
  87. package/dist/chains/xlayer/eip7702/utils.js +28 -23
  88. package/dist/chains/xlayer/eip7702/volume.d.ts +184 -6
  89. package/dist/chains/xlayer/eip7702/volume.js +164 -89
  90. package/dist/chains/xlayer/eoa/constants.js +1 -1
  91. package/dist/chains/xlayer/eoa/dex-helpers.js +5 -5
  92. package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +95 -1
  93. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +299 -66
  94. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
  95. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +23 -18
  96. package/dist/chains/xlayer/eoa/index.d.ts +6 -10
  97. package/dist/chains/xlayer/eoa/index.js +23 -8
  98. package/dist/chains/xlayer/eoa/portal-ops.js +2 -7
  99. package/dist/chains/xlayer/eoa/router-manager.js +3 -3
  100. package/dist/chains/xlayer/eoa/types.d.ts +2 -2
  101. package/dist/chains/xlayer/eoa/types.js +3 -1
  102. package/dist/chains/xlayer/index.d.ts +2 -3
  103. package/dist/chains/xlayer/index.js +7 -4
  104. package/dist/contracts/helper3.d.ts +5 -20
  105. package/dist/contracts/helper3.js +20 -56
  106. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +26 -1
  107. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +113 -1
  108. package/dist/contracts/tm-bundle-merkle/config.d.ts +67 -5
  109. package/dist/contracts/tm-bundle-merkle/config.js +114 -2
  110. package/dist/contracts/tm-bundle-merkle/core.d.ts +4 -1
  111. package/dist/contracts/tm-bundle-merkle/core.js +591 -1
  112. package/dist/contracts/tm-bundle-merkle/index.d.ts +5 -5
  113. package/dist/contracts/tm-bundle-merkle/index.js +5 -5
  114. package/dist/contracts/tm-bundle-merkle/internal.d.ts +46 -2
  115. package/dist/contracts/tm-bundle-merkle/internal.js +238 -2
  116. package/dist/contracts/tm-bundle-merkle/pancake-proxy.d.ts +28 -1
  117. package/dist/contracts/tm-bundle-merkle/pancake-proxy.js +686 -1
  118. package/dist/contracts/tm-bundle-merkle/private.d.ts +27 -1
  119. package/dist/contracts/tm-bundle-merkle/private.js +476 -1
  120. package/dist/contracts/tm-bundle-merkle/submit.d.ts +314 -3
  121. package/dist/contracts/tm-bundle-merkle/submit.js +928 -3
  122. package/dist/contracts/tm-bundle-merkle/swap-buy-first.d.ts +55 -2
  123. package/dist/contracts/tm-bundle-merkle/swap-buy-first.js +506 -2
  124. package/dist/contracts/tm-bundle-merkle/swap-internal.d.ts +3 -1
  125. package/dist/contracts/tm-bundle-merkle/swap-internal.js +18 -1
  126. package/dist/contracts/tm-bundle-merkle/swap.d.ts +144 -2
  127. package/dist/contracts/tm-bundle-merkle/swap.js +764 -2
  128. package/dist/contracts/tm-bundle-merkle/types.d.ts +476 -1
  129. package/dist/contracts/tm-bundle-merkle/utils.d.ts +18 -6
  130. package/dist/contracts/tm-bundle-merkle/utils.js +1501 -6
  131. package/dist/contracts/tm-bundle.d.ts +51 -3
  132. package/dist/contracts/tm-bundle.js +177 -108
  133. package/dist/contracts/tm.d.ts +2 -3
  134. package/dist/contracts/tm.js +32 -37
  135. package/dist/contracts/tm1.js +4 -9
  136. package/dist/contracts/tm2.js +4 -9
  137. package/dist/dex/direct-router.d.ts +125 -3
  138. package/dist/dex/direct-router.js +666 -237
  139. package/dist/flows/create.d.ts +1 -2
  140. package/dist/flows/create.js +6 -6
  141. package/dist/index.d.ts +86 -20
  142. package/dist/index.js +216 -20
  143. package/dist/shared/abis/TaxToken.json +105 -0
  144. package/dist/shared/abis/TokenManager2.json +60 -0
  145. package/dist/shared/abis/common.d.ts +83 -2
  146. package/dist/shared/abis/common.js +253 -2
  147. package/dist/shared/abis/index.d.ts +6 -5
  148. package/dist/shared/abis/index.js +7 -5
  149. package/dist/shared/clients/blockrazor.js +25 -39
  150. package/dist/shared/clients/club48.d.ts +2 -2
  151. package/dist/shared/clients/club48.js +29 -34
  152. package/dist/shared/clients/emitservice.js +0 -2
  153. package/dist/shared/clients/four.d.ts +6 -21
  154. package/dist/shared/clients/four.js +24 -29
  155. package/dist/shared/clients/merkle.js +34 -27
  156. package/dist/shared/constants/addresses.d.ts +1 -1
  157. package/dist/shared/constants/addresses.js +2 -11
  158. package/dist/shared/constants/chains.d.ts +1 -1
  159. package/dist/shared/constants/chains.js +1 -1
  160. package/dist/shared/constants/gas.d.ts +1 -1
  161. package/dist/shared/constants/gas.js +6 -2
  162. package/dist/shared/constants/index.d.ts +0 -3
  163. package/dist/shared/constants/index.js +0 -1
  164. package/dist/shared/flap/abi.js +1 -1
  165. package/dist/shared/flap/constants.d.ts +2 -1
  166. package/dist/shared/flap/constants.js +4 -3
  167. package/dist/shared/flap/curve.js +0 -3
  168. package/dist/shared/flap/errors.d.ts +4 -1
  169. package/dist/shared/flap/errors.js +1 -20
  170. package/dist/shared/flap/index.d.ts +5 -5
  171. package/dist/shared/flap/index.js +5 -5
  172. package/dist/shared/flap/launch-v6.d.ts +117 -0
  173. package/dist/shared/flap/launch-v6.js +111 -0
  174. package/dist/shared/flap/meta.d.ts +18 -22
  175. package/dist/shared/flap/meta.js +17 -12
  176. package/dist/shared/flap/permit.js +2 -5
  177. package/dist/shared/flap/pinata.d.ts +6 -22
  178. package/dist/shared/flap/pinata.js +26 -21
  179. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +72 -3
  180. package/dist/shared/flap/portal-bundle-merkle/config.js +124 -4
  181. package/dist/shared/flap/portal-bundle-merkle/core.d.ts +4 -0
  182. package/dist/shared/flap/portal-bundle-merkle/core.js +267 -164
  183. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.d.ts +4 -17
  184. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +195 -107
  185. package/dist/shared/flap/portal-bundle-merkle/curve-to-dex.js +92 -100
  186. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +7 -11
  187. package/dist/shared/flap/portal-bundle-merkle/index.js +7 -4
  188. package/dist/shared/flap/portal-bundle-merkle/pancake-proxy.js +68 -71
  189. package/dist/shared/flap/portal-bundle-merkle/private.js +114 -61
  190. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +64 -1
  191. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.js +247 -66
  192. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +71 -2
  193. package/dist/shared/flap/portal-bundle-merkle/swap.js +410 -103
  194. package/dist/shared/flap/portal-bundle-merkle/types.d.ts +12 -88
  195. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +80 -1
  196. package/dist/shared/flap/portal-bundle-merkle/utils.js +265 -145
  197. package/dist/shared/flap/portal-bundle.js +56 -55
  198. package/dist/shared/flap/portal.d.ts +3 -14
  199. package/dist/shared/flap/portal.js +26 -49
  200. package/dist/shared/flap/vanity.d.ts +5 -4
  201. package/dist/shared/flap/vanity.js +20 -13
  202. package/dist/shared/flap/vault.d.ts +93 -25
  203. package/dist/shared/flap/vault.js +126 -75
  204. package/dist/shared/four/tax-token.d.ts +1 -1
  205. package/dist/shared/four/tax-token.js +7 -27
  206. package/dist/shared/index.d.ts +0 -6
  207. package/dist/shared/index.js +0 -4
  208. package/dist/utils/airdrop-sweep.d.ts +76 -4
  209. package/dist/utils/airdrop-sweep.js +55 -42
  210. package/dist/utils/bundle-helpers.d.ts +243 -9
  211. package/dist/utils/bundle-helpers.js +584 -10
  212. package/dist/utils/constants.d.ts +61 -5
  213. package/dist/utils/constants.js +80 -5
  214. package/dist/utils/contract-factory.d.ts +4 -2
  215. package/dist/utils/contract-factory.js +18 -25
  216. package/dist/utils/erc20.d.ts +89 -7
  217. package/dist/utils/erc20.js +125 -94
  218. package/dist/utils/errors.d.ts +1 -12
  219. package/dist/utils/errors.js +1 -60
  220. package/dist/utils/holders-maker.d.ts +138 -2
  221. package/dist/utils/holders-maker.js +661 -26
  222. package/dist/utils/lp-inspect.d.ts +112 -2
  223. package/dist/utils/lp-inspect.js +223 -73
  224. package/dist/utils/mpcExclusive.d.ts +5 -2
  225. package/dist/utils/mpcExclusive.js +3 -4
  226. package/dist/utils/private-sale.d.ts +58 -2
  227. package/dist/utils/private-sale.js +15 -4
  228. package/dist/utils/provider-factory.d.ts +0 -4
  229. package/dist/utils/provider-factory.js +0 -10
  230. package/dist/utils/quote-helpers.d.ts +45 -4
  231. package/dist/utils/quote-helpers.js +74 -17
  232. package/dist/utils/stealth-transfer.d.ts +28 -2
  233. package/dist/utils/stealth-transfer.js +15 -31
  234. package/dist/utils/swap-helpers.d.ts +15 -2
  235. package/dist/utils/swap-helpers.js +11 -6
  236. package/dist/utils/wallet.d.ts +25 -2
  237. package/dist/utils/wallet.js +10 -13
  238. package/package.json +4 -160
  239. package/dist/__tests__/subpath-exports.test.d.ts +0 -1
  240. package/dist/__tests__/subpath-exports.test.js +0 -64
  241. package/dist/abis/common.d.ts +0 -85
  242. package/dist/abis/common.js +0 -264
  243. package/dist/abis/contracts/TaxToken.json +0 -969
  244. package/dist/abis/contracts/TokenManager2.json +0 -136
  245. package/dist/abis/contracts/index.d.ts +0 -5
  246. package/dist/abis/contracts/index.js +0 -5
  247. package/dist/abis/flap/index.d.ts +0 -3
  248. package/dist/abis/flap/index.js +0 -3
  249. package/dist/abis/flap/portal-events.d.ts +0 -6
  250. package/dist/abis/flap/portal-events.js +0 -17
  251. package/dist/abis/flap/portal.d.ts +0 -6
  252. package/dist/abis/flap/portal.js +0 -37
  253. package/dist/abis/flap/vault.d.ts +0 -171
  254. package/dist/abis/flap/vault.js +0 -91
  255. package/dist/abis/index.d.ts +0 -8
  256. package/dist/abis/index.js +0 -11
  257. package/dist/bundle-core/__tests__/config-helpers.test.d.ts +0 -1
  258. package/dist/bundle-core/__tests__/config-helpers.test.js +0 -28
  259. package/dist/bundle-core/__tests__/facade-parity.test.d.ts +0 -1
  260. package/dist/bundle-core/__tests__/facade-parity.test.js +0 -33
  261. package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +0 -1
  262. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +0 -60
  263. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +0 -1
  264. package/dist/bundle-core/__tests__/sign-fixture.test.js +0 -220
  265. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +0 -10
  266. package/dist/bundle-core/__tests__/sign-fixtures.js +0 -16
  267. package/dist/bundle-core/config-helpers.d.ts +0 -36
  268. package/dist/bundle-core/config-helpers.js +0 -57
  269. package/dist/bundle-core/errors.d.ts +0 -50
  270. package/dist/bundle-core/errors.js +0 -35
  271. package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +0 -7
  272. package/dist/bundle-core/four-meme/approve-tokenmanager.js +0 -99
  273. package/dist/bundle-core/four-meme/core-helpers.d.ts +0 -8
  274. package/dist/bundle-core/four-meme/core-helpers.js +0 -40
  275. package/dist/bundle-core/four-meme/core.d.ts +0 -4
  276. package/dist/bundle-core/four-meme/core.js +0 -515
  277. package/dist/bundle-core/four-meme/pancake-proxy.d.ts +0 -28
  278. package/dist/bundle-core/four-meme/pancake-proxy.js +0 -679
  279. package/dist/bundle-core/four-meme/private.d.ts +0 -27
  280. package/dist/bundle-core/four-meme/private.js +0 -465
  281. package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +0 -2
  282. package/dist/bundle-core/four-meme/sign-context-helpers.js +0 -2
  283. package/dist/bundle-core/four-meme/swap-buy-first.d.ts +0 -8
  284. package/dist/bundle-core/four-meme/swap-buy-first.js +0 -493
  285. package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +0 -6
  286. package/dist/bundle-core/four-meme/swap-hop-helpers.js +0 -63
  287. package/dist/bundle-core/four-meme/swap-internal.d.ts +0 -3
  288. package/dist/bundle-core/four-meme/swap-internal.js +0 -18
  289. package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +0 -27
  290. package/dist/bundle-core/four-meme/swap-sign-helpers.js +0 -105
  291. package/dist/bundle-core/four-meme/swap.d.ts +0 -17
  292. package/dist/bundle-core/four-meme/swap.js +0 -505
  293. package/dist/bundle-core/four-meme/types/buy-first.d.ts +0 -50
  294. package/dist/bundle-core/four-meme/types/buy-first.js +0 -1
  295. package/dist/bundle-core/four-meme/types/core-flow.d.ts +0 -63
  296. package/dist/bundle-core/four-meme/types/core-flow.js +0 -1
  297. package/dist/bundle-core/four-meme/types/index.d.ts +0 -600
  298. package/dist/bundle-core/four-meme/types/index.js +0 -1
  299. package/dist/bundle-core/four-meme/types/swap-internal.d.ts +0 -19
  300. package/dist/bundle-core/four-meme/types/swap-internal.js +0 -1
  301. package/dist/bundle-core/four-meme/types.d.ts +0 -1
  302. package/dist/bundle-core/four-meme/types.js +0 -1
  303. package/dist/bundle-core/four-meme/utils-disperse.d.ts +0 -7
  304. package/dist/bundle-core/four-meme/utils-disperse.js +0 -396
  305. package/dist/bundle-core/four-meme/utils-pairwise.d.ts +0 -8
  306. package/dist/bundle-core/four-meme/utils-pairwise.js +0 -328
  307. package/dist/bundle-core/four-meme/utils-sweep.d.ts +0 -8
  308. package/dist/bundle-core/four-meme/utils-sweep.js +0 -744
  309. package/dist/bundle-core/index.d.ts +0 -8
  310. package/dist/bundle-core/index.js +0 -8
  311. package/dist/bundle-core/internal.d.ts +0 -21
  312. package/dist/bundle-core/internal.js +0 -182
  313. package/dist/bundle-core/sign-context-helpers.d.ts +0 -25
  314. package/dist/bundle-core/sign-context-helpers.js +0 -67
  315. package/dist/bundle-core/submit.d.ts +0 -293
  316. package/dist/bundle-core/submit.js +0 -727
  317. package/dist/bundle-core/types/index.d.ts +0 -8
  318. package/dist/bundle-core/types/index.js +0 -1
  319. package/dist/bundle-core/types.d.ts +0 -1
  320. package/dist/bundle-core/types.js +0 -1
  321. package/dist/chains/bsc/four/utils-disperse.d.ts +0 -1
  322. package/dist/chains/bsc/four/utils-disperse.js +0 -1
  323. package/dist/chains/bsc/four/utils-pairwise.d.ts +0 -1
  324. package/dist/chains/bsc/four/utils-pairwise.js +0 -1
  325. package/dist/chains/bsc/four/utils-sweep.d.ts +0 -1
  326. package/dist/chains/bsc/four/utils-sweep.js +0 -1
  327. package/dist/chains/bsc/iro.d.ts +0 -5
  328. package/dist/chains/bsc/iro.js +0 -4
  329. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +0 -159
  330. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +0 -117
  331. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +0 -241
  332. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +0 -565
  333. package/dist/chains/eni/flat-aliases.d.ts +0 -10
  334. package/dist/chains/eni/flat-aliases.js +0 -8
  335. package/dist/chains/eni/submit.d.ts +0 -43
  336. package/dist/chains/eni/submit.js +0 -286
  337. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +0 -13
  338. package/dist/chains/xlayer/eip7702/flat-aliases.js +0 -10
  339. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +0 -79
  340. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +0 -1
  341. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +0 -26
  342. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +0 -57
  343. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +0 -148
  344. package/dist/chains/xlayer/eip7702/volume-helpers.js +0 -48
  345. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +0 -126
  346. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +0 -228
  347. package/dist/contracts/tm-bundle-helpers.d.ts +0 -88
  348. package/dist/contracts/tm-bundle-helpers.js +0 -72
  349. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +0 -1
  350. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +0 -1
  351. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +0 -1
  352. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +0 -1
  353. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +0 -1
  354. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +0 -1
  355. package/dist/dex/direct-router-helpers.d.ts +0 -264
  356. package/dist/dex/direct-router-helpers.js +0 -539
  357. package/dist/dex/types.d.ts +0 -81
  358. package/dist/dex/types.js +0 -1
  359. package/dist/exports/root-bundle-and-tooling.d.ts +0 -27
  360. package/dist/exports/root-bundle-and-tooling.js +0 -30
  361. package/dist/exports/root-eni-and-bsc-iro.d.ts +0 -26
  362. package/dist/exports/root-eni-and-bsc-iro.js +0 -66
  363. package/dist/exports/root-foundations.d.ts +0 -35
  364. package/dist/exports/root-foundations.js +0 -70
  365. package/dist/exports/root-swap-dex-and-xlayer.d.ts +0 -30
  366. package/dist/exports/root-swap-dex-and-xlayer.js +0 -78
  367. package/dist/flap/index.d.ts +0 -10
  368. package/dist/flap/index.js +0 -8
  369. package/dist/flows/index.d.ts +0 -1
  370. package/dist/flows/index.js +0 -1
  371. package/dist/merkle/index.d.ts +0 -12
  372. package/dist/merkle/index.js +0 -11
  373. package/dist/shared/clients/index.d.ts +0 -8
  374. package/dist/shared/clients/index.js +0 -8
  375. package/dist/shared/constants/quote.d.ts +0 -30
  376. package/dist/shared/constants/quote.js +0 -37
  377. package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +0 -32
  378. package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +0 -83
  379. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +0 -125
  380. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +0 -113
  381. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +0 -149
  382. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +0 -259
  383. package/dist/shared/flap/portal-create-token.d.ts +0 -79
  384. package/dist/shared/flap/portal-create-token.js +0 -261
  385. package/dist/shared/foundation/dex/v3-path.d.ts +0 -6
  386. package/dist/shared/foundation/dex/v3-path.js +0 -35
  387. package/dist/shared/foundation/gas/bundle-gas.d.ts +0 -49
  388. package/dist/shared/foundation/gas/bundle-gas.js +0 -93
  389. package/dist/shared/foundation/gas/profit-hop.d.ts +0 -20
  390. package/dist/shared/foundation/gas/profit-hop.js +0 -72
  391. package/dist/shared/foundation/index.d.ts +0 -13
  392. package/dist/shared/foundation/index.js +0 -12
  393. package/dist/shared/foundation/nonce/nonce-manager.d.ts +0 -17
  394. package/dist/shared/foundation/nonce/nonce-manager.js +0 -183
  395. package/dist/shared/foundation/normalize-unknown.d.ts +0 -9
  396. package/dist/shared/foundation/normalize-unknown.js +0 -29
  397. package/dist/shared/foundation/sdk-logger.d.ts +0 -13
  398. package/dist/shared/foundation/sdk-logger.js +0 -12
  399. package/dist/shared/foundation/tx/build-request.d.ts +0 -17
  400. package/dist/shared/foundation/tx/build-request.js +0 -25
  401. package/dist/shared/foundation/tx/sign-batch.d.ts +0 -5
  402. package/dist/shared/foundation/tx/sign-batch.js +0 -26
  403. package/dist/shared/foundation/tx/wallet-sign-patch.d.ts +0 -1
  404. package/dist/shared/foundation/tx/wallet-sign-patch.js +0 -18
  405. package/dist/shared/foundation/types/airdrop-sweep.d.ts +0 -79
  406. package/dist/shared/foundation/types/airdrop-sweep.js +0 -1
  407. package/dist/shared/foundation/types/erc20.d.ts +0 -65
  408. package/dist/shared/foundation/types/erc20.js +0 -1
  409. package/dist/shared/foundation/types/holders-maker.d.ts +0 -64
  410. package/dist/shared/foundation/types/holders-maker.js +0 -1
  411. package/dist/shared/foundation/types/index.d.ts +0 -7
  412. package/dist/shared/foundation/types/index.js +0 -1
  413. package/dist/shared/foundation/types/lp-inspect.d.ts +0 -102
  414. package/dist/shared/foundation/types/lp-inspect.js +0 -1
  415. package/dist/shared/foundation/types/multicall.d.ts +0 -5
  416. package/dist/shared/foundation/types/multicall.js +0 -1
  417. package/dist/shared/foundation/types/private-sale.d.ts +0 -35
  418. package/dist/shared/foundation/types/private-sale.js +0 -1
  419. package/dist/shared/foundation/types/quote-helpers.d.ts +0 -17
  420. package/dist/shared/foundation/types/quote-helpers.js +0 -1
  421. package/dist/types/errors.d.ts +0 -27
  422. package/dist/types/errors.js +0 -34
  423. package/dist/utils/holders-maker/addresses.d.ts +0 -12
  424. package/dist/utils/holders-maker/addresses.js +0 -15
  425. package/dist/utils/holders-maker/buy-tx.d.ts +0 -44
  426. package/dist/utils/holders-maker/buy-tx.js +0 -278
  427. package/dist/utils/holders-maker/constants.d.ts +0 -6
  428. package/dist/utils/holders-maker/constants.js +0 -7
  429. package/dist/utils/holders-maker/disperse.d.ts +0 -18
  430. package/dist/utils/holders-maker/disperse.js +0 -90
  431. package/dist/utils/holders-maker/routing.d.ts +0 -4
  432. package/dist/utils/holders-maker/routing.js +0 -45
  433. package/dist/utils/holders-maker/transfer-tx.d.ts +0 -4
  434. package/dist/utils/holders-maker/transfer-tx.js +0 -67
  435. package/dist/utils/holders-maker-helpers.d.ts +0 -9
  436. package/dist/utils/holders-maker-helpers.js +0 -9
  437. package/dist/utils/hop-chains.d.ts +0 -35
  438. package/dist/utils/hop-chains.js +0 -215
  439. package/dist/utils/lp-inspect-helpers.d.ts +0 -9
  440. package/dist/utils/lp-inspect-helpers.js +0 -109
  441. package/dist/utils/types/airdrop-sweep.d.ts +0 -1
  442. package/dist/utils/types/airdrop-sweep.js +0 -1
  443. package/dist/utils/types/contract-factory.d.ts +0 -1
  444. package/dist/utils/types/contract-factory.js +0 -1
  445. package/dist/utils/types/erc20.d.ts +0 -1
  446. package/dist/utils/types/erc20.js +0 -1
  447. package/dist/utils/types/errors.d.ts +0 -1
  448. package/dist/utils/types/errors.js +0 -1
  449. package/dist/utils/types/holders-maker.d.ts +0 -1
  450. package/dist/utils/types/holders-maker.js +0 -1
  451. package/dist/utils/types/hop-chains.d.ts +0 -8
  452. package/dist/utils/types/hop-chains.js +0 -1
  453. package/dist/utils/types/index.d.ts +0 -13
  454. package/dist/utils/types/index.js +0 -1
  455. package/dist/utils/types/lp-inspect.d.ts +0 -1
  456. package/dist/utils/types/lp-inspect.js +0 -1
  457. package/dist/utils/types/mpc-exclusive.d.ts +0 -5
  458. package/dist/utils/types/mpc-exclusive.js +0 -1
  459. package/dist/utils/types/private-sale.d.ts +0 -1
  460. package/dist/utils/types/private-sale.js +0 -1
  461. package/dist/utils/types/quote-helpers.d.ts +0 -1
  462. package/dist/utils/types/quote-helpers.js +0 -1
  463. package/dist/utils/types/stealth-transfer.d.ts +0 -44
  464. package/dist/utils/types/stealth-transfer.js +0 -1
  465. package/dist/utils/types/wallet.d.ts +0 -25
  466. package/dist/utils/types/wallet.js +0 -1
  467. package/dist/vanity/index.d.ts +0 -5
  468. package/dist/vanity/index.js +0 -5
  469. package/src/abis/contracts/TaxToken.json +0 -969
  470. package/src/abis/contracts/TokenManager.json +0 -836
  471. package/src/abis/contracts/TokenManager2.json +0 -136
  472. package/src/abis/contracts/TokenManagerHelper3.json +0 -993
  473. /package/dist/{abis/contracts → shared/abis}/TokenManager.json +0 -0
  474. /package/dist/{abis/contracts → shared/abis}/TokenManagerHelper3.json +0 -0
@@ -1,286 +0,0 @@
1
- /**
2
- * ENI 链交易提交方法
3
- *
4
- * 包括快速顺序广播、同块确认等提交策略。
5
- */
6
- import { ethers } from 'ethers';
7
- import { createSignProvider } from '../../bundle-core/sign-context-helpers.js';
8
- // ==================== 内部辅助 ====================
9
- function shouldTreatBroadcastErrorAsMaybeSent(m) {
10
- return (m.includes('nonce too low') || m.includes('already known') || m.includes('replacement transaction underpriced'));
11
- }
12
- async function recoverTxHashIfAlreadySeen(provider, signedTx, errorMessage) {
13
- if (!shouldTreatBroadcastErrorAsMaybeSent(errorMessage))
14
- return undefined;
15
- try {
16
- const hash = ethers.keccak256(signedTx);
17
- if (!hash)
18
- return undefined;
19
- const tx = await provider.getTransaction(hash);
20
- return tx ? hash : undefined;
21
- }
22
- catch {
23
- return undefined;
24
- }
25
- }
26
- // ==================== 提交方法 ====================
27
- /**
28
- * ENI 快速并行广播:业务交易并行 + 利润交易顺序跟随
29
- */
30
- export async function submitEniParallelThenProfit(signedTransactions, config) {
31
- const totalTransactions = signedTransactions?.length ?? 0;
32
- const emptyFail = (msg) => ({
33
- code: false,
34
- totalTransactions,
35
- successCount: 0,
36
- failedCount: totalTransactions,
37
- txHashes: [],
38
- results: [],
39
- sameBlock: false,
40
- errorSummary: msg,
41
- });
42
- if (!signedTransactions || signedTransactions.length === 0)
43
- return emptyFail('signedTransactions cannot be empty');
44
- if (!config.rpcUrl)
45
- return emptyFail('rpcUrl is required');
46
- const chainId = config.chainId ?? 173;
47
- const chainName = config.chainName ?? 'ENI';
48
- const provider = createSignProvider(config.rpcUrl, chainId, chainName);
49
- // Step 1: 按 from 地址分组,识别独立交易和依赖交易
50
- const fromCounts = new Map();
51
- const txMeta = [];
52
- for (let i = 0; i < signedTransactions.length; i++) {
53
- const tx = ethers.Transaction.from(signedTransactions[i]);
54
- const from = tx.from;
55
- const count = fromCounts.get(from) ?? 0;
56
- fromCounts.set(from, count + 1);
57
- txMeta.push({ from, index: i, seqInFrom: count });
58
- }
59
- const independentTxs = txMeta.filter((t) => t.seqInFrom === 0);
60
- const allResults = [];
61
- const txHashes = [];
62
- const errors = [];
63
- // Step 2: 并行广播独立交易
64
- await Promise.all(independentTxs.map(async ({ index }) => {
65
- try {
66
- const txResponse = await provider.broadcastTransaction(signedTransactions[index]);
67
- allResults[index] = {
68
- index,
69
- success: true,
70
- txHash: txResponse.hash,
71
- };
72
- txHashes.push(txResponse.hash);
73
- }
74
- catch (error) {
75
- const errorMessage = error instanceof Error ? error.message : String(error);
76
- const recovered = await recoverTxHashIfAlreadySeen(provider, signedTransactions[index], errorMessage);
77
- if (recovered) {
78
- allResults[index] = {
79
- index,
80
- success: true,
81
- txHash: recovered,
82
- error: errorMessage,
83
- };
84
- txHashes.push(recovered);
85
- }
86
- else {
87
- allResults[index] = { index, success: false, error: errorMessage };
88
- errors.push(`独立交易 ${index + 1}: ${errorMessage}`);
89
- }
90
- }
91
- }));
92
- // Step 3: 逐 from 处理依赖交易(利润尾随)
93
- const independentFroms = independentTxs.map((t) => t.from);
94
- const fromDependents = new Map();
95
- for (const meta of txMeta) {
96
- if (meta.seqInFrom > 0) {
97
- const deps = fromDependents.get(meta.from) ?? [];
98
- deps.push(meta);
99
- fromDependents.set(meta.from, deps);
100
- }
101
- }
102
- for (const from of independentFroms) {
103
- const deps = fromDependents.get(from);
104
- if (!deps || deps.length === 0)
105
- continue;
106
- for (const dep of deps) {
107
- try {
108
- const txResponse = await provider.broadcastTransaction(signedTransactions[dep.index]);
109
- allResults[dep.index] = {
110
- index: dep.index,
111
- success: true,
112
- txHash: txResponse.hash,
113
- };
114
- txHashes.push(txResponse.hash);
115
- }
116
- catch (error) {
117
- const errorMessage = error instanceof Error ? error.message : String(error);
118
- const recovered = await recoverTxHashIfAlreadySeen(provider, signedTransactions[dep.index], errorMessage);
119
- if (recovered) {
120
- allResults[dep.index] = {
121
- index: dep.index,
122
- success: true,
123
- txHash: recovered,
124
- error: errorMessage,
125
- };
126
- txHashes.push(recovered);
127
- }
128
- else {
129
- allResults[dep.index] = {
130
- index: dep.index,
131
- success: false,
132
- error: errorMessage,
133
- };
134
- errors.push(`依赖交易 ${dep.index + 1}(${from}): ${errorMessage}`);
135
- }
136
- }
137
- }
138
- }
139
- return {
140
- code: errors.length === 0,
141
- totalTransactions,
142
- successCount: txHashes.length,
143
- failedCount: totalTransactions - txHashes.length,
144
- txHashes,
145
- results: allResults.filter(Boolean),
146
- sameBlock: false,
147
- errorSummary: errors.length > 0 ? errors.join('; ') : undefined,
148
- };
149
- }
150
- /**
151
- * ENI Bundle 提交:模拟验证 → 快速顺序广播 → 同块确认
152
- *
153
- * 复用同一 Provider 快速顺序广播,最小化延迟、最大化同块概率。
154
- * ENI 出块 ~1.08s,连续 nonce 快速提交同块率极高。
155
- */
156
- export async function submitBundleToEni(signedTransactions, config) {
157
- const totalTransactions = signedTransactions?.length ?? 0;
158
- const emptyFail = (msg) => ({
159
- code: false,
160
- totalTransactions,
161
- successCount: 0,
162
- failedCount: totalTransactions,
163
- txHashes: [],
164
- results: [],
165
- sameBlock: false,
166
- errorSummary: msg,
167
- });
168
- if (!signedTransactions || signedTransactions.length === 0)
169
- return emptyFail('signedTransactions cannot be empty');
170
- if (!config.rpcUrl)
171
- return emptyFail('rpcUrl is required');
172
- const chainId = config.chainId ?? 173;
173
- const chainName = config.chainName ?? 'ENI';
174
- const simulationTimeout = config.simulationTimeout ?? 10000;
175
- const blockConfirmTimeout = config.blockConfirmTimeout ?? 15000;
176
- const provider = createSignProvider(config.rpcUrl, chainId, chainName);
177
- // Phase 1: 模拟验证
178
- const simStart = Date.now();
179
- const simErrors = [];
180
- for (let i = 0; i < signedTransactions.length; i++) {
181
- try {
182
- const tx = ethers.Transaction.from(signedTransactions[i]);
183
- await Promise.race([
184
- provider.call({
185
- to: tx.to,
186
- data: tx.data,
187
- value: tx.value,
188
- from: tx.from,
189
- }),
190
- new Promise((_, reject) => setTimeout(() => reject(new Error('simulation timeout')), simulationTimeout)),
191
- ]);
192
- }
193
- catch (e) {
194
- const msg = e instanceof Error ? e.message : String(e);
195
- if (msg.includes('simulation timeout')) {
196
- console.warn(`⚠️ [${chainName}] 交易 ${i + 1} 模拟超时,跳过验证`);
197
- }
198
- else if (msg.includes('execution reverted') || msg.includes('CALL_EXCEPTION')) {
199
- simErrors.push(`交易 ${i + 1} 模拟失败: ${msg.slice(0, 200)}`);
200
- }
201
- }
202
- }
203
- const simulationDurationMs = Date.now() - simStart;
204
- if (simErrors.length > 0) {
205
- return { ...emptyFail(simErrors.join('; ')), simulationDurationMs };
206
- }
207
- // Phase 2: 快速顺序广播
208
- const broadStart = Date.now();
209
- const results = [];
210
- const txHashes = [];
211
- for (let i = 0; i < signedTransactions.length; i++) {
212
- try {
213
- const txResponse = await provider.broadcastTransaction(signedTransactions[i]);
214
- results.push({ index: i, success: true, txHash: txResponse.hash });
215
- txHashes.push(txResponse.hash);
216
- }
217
- catch (error) {
218
- const errorMessage = error instanceof Error ? error.message : String(error);
219
- const recovered = await recoverTxHashIfAlreadySeen(provider, signedTransactions[i], errorMessage);
220
- if (recovered) {
221
- results.push({ index: i, success: true, txHash: recovered, error: errorMessage });
222
- txHashes.push(recovered);
223
- }
224
- else {
225
- results.push({ index: i, success: false, error: errorMessage });
226
- console.error(`❌ [${chainName}] Bundle tx ${i + 1}/${totalTransactions} 失败: ${errorMessage}`);
227
- }
228
- }
229
- }
230
- const broadcastDurationMs = Date.now() - broadStart;
231
- const successCount = txHashes.length;
232
- const failedCount = totalTransactions - successCount;
233
- if (successCount === 0) {
234
- return {
235
- code: false,
236
- totalTransactions,
237
- successCount,
238
- failedCount,
239
- txHashes,
240
- results,
241
- sameBlock: false,
242
- simulationDurationMs,
243
- broadcastDurationMs,
244
- errorSummary: results
245
- .filter((r) => !r.success)
246
- .map((r) => r.error)
247
- .join('; '),
248
- };
249
- }
250
- // Phase 3: 同块确认
251
- let sameBlock = false;
252
- let blockNumber;
253
- const blockNumbers = [];
254
- try {
255
- const receipts = await Promise.all(txHashes.map((hash) => Promise.race([
256
- provider.waitForTransaction(hash, 1, blockConfirmTimeout),
257
- new Promise((resolve) => setTimeout(() => resolve(null), blockConfirmTimeout)),
258
- ])));
259
- for (const receipt of receipts) {
260
- if (receipt && receipt.blockNumber) {
261
- blockNumbers.push(receipt.blockNumber);
262
- }
263
- }
264
- if (blockNumbers.length === txHashes.length && blockNumbers.length > 0) {
265
- const uniqueBlocks = new Set(blockNumbers);
266
- sameBlock = uniqueBlocks.size === 1;
267
- blockNumber = sameBlock ? blockNumbers[0] : undefined;
268
- }
269
- }
270
- catch {
271
- console.warn(`⚠️ [${chainName}] Bundle 区块确认超时`);
272
- }
273
- return {
274
- code: true,
275
- totalTransactions,
276
- successCount,
277
- failedCount,
278
- txHashes,
279
- results,
280
- sameBlock,
281
- blockNumber,
282
- blockNumbers: blockNumbers.length > 0 ? blockNumbers : undefined,
283
- simulationDurationMs,
284
- broadcastDurationMs,
285
- };
286
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * EIP-7702 包根扁平别名(与 `root-swap-dex-and-xlayer.ts` 对齐)
3
- */
4
- export { bundleBuy as xlayerEip7702BundleBuy } from './bundle-buy.js';
5
- export { bundleSell as xlayerEip7702BundleSell } from './bundle-sell.js';
6
- export { bundleApprove as xlayerEip7702BundleApprove, bundleApproveMultiSpenders as xlayerEip7702BundleApproveMultiSpenders, checkApprovalStatus as xlayerEip7702CheckApprovalStatus, } from './bundle-approve.js';
7
- export { bundleSwap as xlayerEip7702BundleSwap, bundleBatchSwap as xlayerEip7702BundleBatchSwap, bundleMultiSwap as xlayerEip7702BundleMultiSwap, } from './bundle-swap.js';
8
- export { disperse as xlayerEip7702Disperse, sweep as xlayerEip7702Sweep, pairwiseTransfer as xlayerEip7702PairwiseTransfer, disperseWithHops as xlayerEip7702DisperseWithHops, sweepWithHops as xlayerEip7702SweepWithHops, } from './multi-hop-transfer.js';
9
- export { washVolume as xlayerEip7702WashVolume, bundleVolume as xlayerEip7702BundleVolume, singleRoundVolume as xlayerEip7702SingleRoundVolume, makeVolume as xlayerEip7702MakeVolume, makeVolumeWithSwap as xlayerEip7702MakeVolumeWithSwap, } from './volume.js';
10
- export { bundleCreateBuy as xlayerEip7702BundleCreateBuy, bundleCreateToDex as xlayerEip7702BundleCreateToDex, bundleGraduateBuy as xlayerEip7702BundleGraduateBuy, } from './bundle-create.js';
11
- export type { TradeType as XLayerEip7702TradeType, BundleBuyParams as XLayerEip7702BundleBuyParams, BundleSellParams as XLayerEip7702BundleSellParams, BundleSwapParams as XLayerEip7702BundleSwapParams, BundleMultiSwapParams as XLayerEip7702BundleMultiSwapParams, DisperseParams as XLayerEip7702DisperseParams, SweepParams as XLayerEip7702SweepParams, EIP7702Config as XLayerEip7702Config, } from './types.js';
12
- export type { PairwiseTransferParams as XLayerEip7702PairwiseTransferParams } from './multi-hop-transfer.js';
13
- export type { WashVolumeParams as XLayerEip7702WashVolumeParams, BundleVolumeParams as XLayerEip7702BundleVolumeParams, } from './volume.js';
@@ -1,10 +0,0 @@
1
- /**
2
- * EIP-7702 包根扁平别名(与 `root-swap-dex-and-xlayer.ts` 对齐)
3
- */
4
- export { bundleBuy as xlayerEip7702BundleBuy } from './bundle-buy.js';
5
- export { bundleSell as xlayerEip7702BundleSell } from './bundle-sell.js';
6
- export { bundleApprove as xlayerEip7702BundleApprove, bundleApproveMultiSpenders as xlayerEip7702BundleApproveMultiSpenders, checkApprovalStatus as xlayerEip7702CheckApprovalStatus, } from './bundle-approve.js';
7
- export { bundleSwap as xlayerEip7702BundleSwap, bundleBatchSwap as xlayerEip7702BundleBatchSwap, bundleMultiSwap as xlayerEip7702BundleMultiSwap, } from './bundle-swap.js';
8
- export { disperse as xlayerEip7702Disperse, sweep as xlayerEip7702Sweep, pairwiseTransfer as xlayerEip7702PairwiseTransfer, disperseWithHops as xlayerEip7702DisperseWithHops, sweepWithHops as xlayerEip7702SweepWithHops, } from './multi-hop-transfer.js';
9
- export { washVolume as xlayerEip7702WashVolume, bundleVolume as xlayerEip7702BundleVolume, singleRoundVolume as xlayerEip7702SingleRoundVolume, makeVolume as xlayerEip7702MakeVolume, makeVolumeWithSwap as xlayerEip7702MakeVolumeWithSwap, } from './volume.js';
10
- export { bundleCreateBuy as xlayerEip7702BundleCreateBuy, bundleCreateToDex as xlayerEip7702BundleCreateToDex, bundleGraduateBuy as xlayerEip7702BundleGraduateBuy, } from './bundle-create.js';
@@ -1,79 +0,0 @@
1
- /**
2
- * EIP-7702 转账功能
3
- *
4
- * 支持三种模式:
5
- * 1. 分散 (disperse): 一对多分发资金
6
- * 2. 归集 (sweep): 多对一收集资金
7
- * 3. 多对多 (pairwise): sender[i] → receiver[i] 一一对应转账
8
- *
9
- * 所有模式都支持:
10
- * - 原生 OKB 转账
11
- * - ERC20 代币转账
12
- * - 可选的多跳混淆
13
- *
14
- * 只生成签名,由调用方决定如何提交
15
- */
16
- import type { GeneratedWallet, EIP7702Config } from './types.js';
17
- import { UserType } from './utils.js';
18
- export interface TransferResult {
19
- signedTransaction: string;
20
- hopWallets?: GeneratedWallet[];
21
- metadata: Record<string, string | number | boolean | bigint | null | undefined>;
22
- }
23
- export interface DisperseParams {
24
- /** 资金来源钱包私钥(Token/OKB 从这个钱包转出) */
25
- mainPrivateKey: string;
26
- /** Payer 钱包私钥(可选,用于支付 gas;不传则使用 mainPrivateKey) */
27
- payerPrivateKey?: string;
28
- /** 接收者地址列表 */
29
- recipients: string[];
30
- /** 每个接收者的金额 */
31
- amounts: string[];
32
- /** 代币地址(不填则为原生 OKB) */
33
- tokenAddress?: string;
34
- /** 代币精度(默认 18) */
35
- tokenDecimals?: number;
36
- /** 多跳数量(0=直接转账) */
37
- hopCount?: number;
38
- /** 用户类型(用于计算利润刮取) */
39
- userType?: UserType;
40
- /** EIP-7702 配置 */
41
- config?: EIP7702Config;
42
- }
43
- export interface SweepParams {
44
- targetAddress: string;
45
- sourcePrivateKeys: string[];
46
- payerPrivateKey?: string;
47
- tokenAddress?: string;
48
- tokenDecimals?: number;
49
- hopCount?: number;
50
- reserveGas?: boolean;
51
- percent?: number;
52
- userType?: UserType;
53
- config?: EIP7702Config;
54
- }
55
- export interface PairwiseTransferParams {
56
- senderPrivateKeys: string[];
57
- receiverAddresses: string[];
58
- payerPrivateKey?: string;
59
- amount?: string;
60
- amounts?: string[];
61
- tokenAddress?: string;
62
- tokenDecimals?: number;
63
- hopCount?: number;
64
- userType?: UserType;
65
- config?: EIP7702Config;
66
- }
67
- export interface PairwiseTransferResult {
68
- signedTransaction: string;
69
- hopWallets?: GeneratedWallet[][];
70
- metadata: {
71
- pairCount: number;
72
- totalAmount: string;
73
- profitAmount: string;
74
- isNative: boolean;
75
- tokenAddress: string | null;
76
- hopCount: number;
77
- userType?: UserType;
78
- };
79
- }
@@ -1,26 +0,0 @@
1
- import { ethers, Wallet, type JsonRpcProvider } from 'ethers';
2
- import type { GeneratedWallet, EIP7702Config } from './types.js';
3
- export declare function createEip7702DelegateContext(config?: EIP7702Config): {
4
- provider: ethers.JsonRpcProvider;
5
- delegateAddress: string;
6
- delegateInterface: ethers.Interface;
7
- profitRecipient: string;
8
- };
9
- export declare function isNativeTransferToken(tokenAddress?: string): boolean;
10
- export declare function generateHopWalletMatrix(rowCount: number, hopCount: number, provider: JsonRpcProvider): {
11
- allHopWalletInfos: GeneratedWallet[][];
12
- allHopWallets: Wallet[][];
13
- };
14
- export declare function resolveDispersePayerWallets(mainPrivateKey: string, payerPrivateKey: string | undefined, provider: JsonRpcProvider): {
15
- mainWallet: ethers.Wallet;
16
- payerWallet: ethers.Wallet | null;
17
- txSender: ethers.Wallet;
18
- hasSeparatePayer: boolean;
19
- };
20
- export declare function resolveListPayerWallet(ownerPrivateKeys: string[], payerPrivateKey: string | undefined, provider: JsonRpcProvider, fallbackToFirst?: boolean): {
21
- payerWallet: ethers.Wallet | null;
22
- hasSeparatePayer: boolean;
23
- mainWallet: ethers.Wallet | null;
24
- };
25
- export declare function parseTransferAmountsWei(amounts: string[], isNative: boolean, tokenDecimals: number): bigint[];
26
- export declare function normalizePairwiseAmounts(pairCount: number, amount: string | undefined, amounts: string[] | undefined): string[];
@@ -1,57 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import { getCachedProvider, createWallet, generateRandomWallets, getProfitRecipient } from './utils.js';
3
- import { UNIFIED_DELEGATE_ADDRESS, UNIFIED_DELEGATE_ABI } from './constants.js';
4
- export function createEip7702DelegateContext(config) {
5
- const provider = getCachedProvider(config?.rpcUrl);
6
- const delegateAddress = (config?.delegateAddress && config.delegateAddress.trim()) || UNIFIED_DELEGATE_ADDRESS;
7
- const delegateInterface = new ethers.Interface(UNIFIED_DELEGATE_ABI);
8
- const profitRecipient = getProfitRecipient(config);
9
- return { provider, delegateAddress, delegateInterface, profitRecipient };
10
- }
11
- export function isNativeTransferToken(tokenAddress) {
12
- return !tokenAddress;
13
- }
14
- export function generateHopWalletMatrix(rowCount, hopCount, provider) {
15
- const allHopWalletInfos = [];
16
- const allHopWallets = [];
17
- for (let i = 0; i < rowCount; i++) {
18
- if (hopCount > 0) {
19
- const hopInfos = generateRandomWallets(hopCount);
20
- allHopWalletInfos.push(hopInfos);
21
- allHopWallets.push(hopInfos.map((info) => createWallet(info.privateKey, provider)));
22
- }
23
- else {
24
- allHopWalletInfos.push([]);
25
- allHopWallets.push([]);
26
- }
27
- }
28
- return { allHopWalletInfos, allHopWallets };
29
- }
30
- export function resolveDispersePayerWallets(mainPrivateKey, payerPrivateKey, provider) {
31
- const mainWallet = createWallet(mainPrivateKey, provider);
32
- const hasSeparatePayer = Boolean(payerPrivateKey && payerPrivateKey !== mainPrivateKey);
33
- const payerWallet = hasSeparatePayer ? createWallet(payerPrivateKey, provider) : null;
34
- const txSender = payerWallet ?? mainWallet;
35
- return { mainWallet, payerWallet, txSender, hasSeparatePayer };
36
- }
37
- export function resolveListPayerWallet(ownerPrivateKeys, payerPrivateKey, provider, fallbackToFirst = true) {
38
- const hasSeparatePayer = Boolean(payerPrivateKey && !ownerPrivateKeys.includes(payerPrivateKey));
39
- const payerWallet = hasSeparatePayer ? createWallet(payerPrivateKey, provider) : null;
40
- const mainWallet = payerWallet ?? (fallbackToFirst ? createWallet(ownerPrivateKeys[0], provider) : null);
41
- return { payerWallet, hasSeparatePayer, mainWallet };
42
- }
43
- export function parseTransferAmountsWei(amounts, isNative, tokenDecimals) {
44
- return amounts.map((amt) => (isNative ? ethers.parseEther(amt) : ethers.parseUnits(amt, tokenDecimals)));
45
- }
46
- export function normalizePairwiseAmounts(pairCount, amount, amounts) {
47
- if (amounts && amounts.length > 0) {
48
- if (amounts.length !== pairCount) {
49
- throw new Error(`amounts 长度 (${amounts.length}) 必须与对数 (${pairCount}) 相同`);
50
- }
51
- return amounts;
52
- }
53
- if (amount !== undefined && amount.trim().length > 0) {
54
- return new Array(pairCount).fill(amount);
55
- }
56
- throw new Error('必须提供 amount 或 amounts');
57
- }
@@ -1,148 +0,0 @@
1
- /**
2
- * EIP-7702 XLayer 刷量功能
3
- *
4
- * 支持两种模式:
5
- * 1. 无币模式 (Wash): 单钱包买入+卖出,不需要预先持有代币
6
- * 2. 捆绑模式 (Bundle): 多钱包批量买入 + 批量卖出
7
- *
8
- * 支持池子类型:
9
- * - FLAP: 内盘 (Flap Portal)
10
- * - V2: PotatoSwap V2 外盘
11
- * - V3: PotatoSwap V3 外盘
12
- *
13
- * 只生成签名,由调用方决定如何提交
14
- */
15
- import type { EIP7702Config, TradeType, GeneratedWallet } from './types.js';
16
- import type { UserType } from './utils.js';
17
- export type VolumeMode = 'wash' | 'bundle';
18
- export type PoolType = 'FLAP' | 'V2' | 'V3';
19
- /**
20
- * 截断小数位数,避免 parseEther/parseUnits 报错
21
- * @param value 数值字符串
22
- * @param decimals 保留的小数位数(默认 18)
23
- */
24
- export declare function truncateDecimals(value: string, decimals?: number): string;
25
- export interface VolumeProgress {
26
- currentRound: number;
27
- totalRounds: number;
28
- status: 'pending' | 'running' | 'completed' | 'failed';
29
- message?: string;
30
- }
31
- export interface WashVolumeParams {
32
- /** Payer 钱包私钥(支付 Gas 费) */
33
- mainPrivateKey: string;
34
- /** 钱包私钥列表(每个钱包独立执行买入+卖出) */
35
- privateKeys: string[];
36
- /** 代币地址 */
37
- tokenAddress: string;
38
- /** 代币精度 */
39
- tokenDecimals?: number;
40
- /** 每个钱包的买入金额 (OKB) */
41
- buyAmountPerWallet: string;
42
- /** 卖出百分比(1-100) */
43
- sellPercent?: number;
44
- /** 池子类型 */
45
- poolType?: PoolType;
46
- /** 路由地址(V2/V3 模式) */
47
- routerAddress?: string;
48
- /** V3 费率 */
49
- fee?: number;
50
- /** 用户类型(影响利润率) */
51
- userType?: UserType;
52
- /** EIP-7702 配置 */
53
- config?: EIP7702Config;
54
- }
55
- export interface WashVolumeResult {
56
- signedTransaction: string;
57
- metadata: {
58
- walletCount: number;
59
- buyAmountPerWallet: string;
60
- totalBuyAmount: string;
61
- sellPercent: number;
62
- poolType: PoolType;
63
- profitAmount: string;
64
- };
65
- }
66
- export interface BundleVolumeParams {
67
- mainPrivateKey: string;
68
- buyerPrivateKeys: string[];
69
- buyAmounts: string[];
70
- sellerPrivateKeys: string[];
71
- sellAmounts?: string[];
72
- sellPercent?: number;
73
- tokenAddress: string;
74
- tokenDecimals?: number;
75
- poolType?: PoolType;
76
- routerAddress?: string;
77
- fee?: number;
78
- userType?: UserType;
79
- config?: EIP7702Config;
80
- }
81
- export interface BundleVolumeResult {
82
- signedTransaction: string;
83
- metadata: {
84
- buyerCount: number;
85
- sellerCount: number;
86
- totalBuyAmount: string;
87
- totalSellAmount: string;
88
- poolType: PoolType;
89
- profitAmount: string;
90
- };
91
- }
92
- export interface SingleRoundVolumeResult {
93
- buySignedTransaction: string;
94
- sellSignedTransaction: string;
95
- metadata: {
96
- buyAmount: string;
97
- sellPercent: number;
98
- walletCount: number;
99
- };
100
- }
101
- export interface MakeVolumeParams {
102
- privateKeys: string[];
103
- tokenAddress: string;
104
- tokenDecimals?: number;
105
- buyAmountPerRound: string;
106
- rounds: number;
107
- tradeType?: TradeType;
108
- routerAddress?: string;
109
- fee?: number;
110
- onProgress?: (progress: VolumeProgress) => void;
111
- config?: EIP7702Config;
112
- }
113
- export interface MakeVolumeSignResult {
114
- rounds: SingleRoundVolumeResult[];
115
- metadata: {
116
- totalRounds: number;
117
- totalBuyAmount: string;
118
- walletCount: number;
119
- };
120
- }
121
- export interface SwapVolumeSignResult {
122
- signedTransaction: string;
123
- hopWallets: GeneratedWallet[];
124
- metadata: {
125
- sellerAddress: string;
126
- buyerAddress: string;
127
- sellAmount: string;
128
- };
129
- }
130
- /**
131
- * 无币刷量 - 每个钱包执行买入+卖出
132
- *
133
- * 核心逻辑:[利润刮取] + [钱包1买入] + [钱包1卖出] + [钱包2买入] + [钱包2卖出] + ...
134
- *
135
- * 特点:
136
- * - 钱包不需要预先持有代币
137
- * - 每个钱包在同一笔交易中完成买入和卖出
138
- * - 利润从主钱包统一支付
139
- *
140
- * @example
141
- * const result = await washVolume({
142
- * privateKeys: ['0x...', '0x...'],
143
- * tokenAddress: '0x...',
144
- * buyAmountPerWallet: '0.01',
145
- * sellPercent: 100,
146
- * poolType: 'V3',
147
- * });
148
- */
@@ -1,48 +0,0 @@
1
- /**
2
- * EIP-7702 XLayer 刷量功能
3
- *
4
- * 支持两种模式:
5
- * 1. 无币模式 (Wash): 单钱包买入+卖出,不需要预先持有代币
6
- * 2. 捆绑模式 (Bundle): 多钱包批量买入 + 批量卖出
7
- *
8
- * 支持池子类型:
9
- * - FLAP: 内盘 (Flap Portal)
10
- * - V2: PotatoSwap V2 外盘
11
- * - V3: PotatoSwap V3 外盘
12
- *
13
- * 只生成签名,由调用方决定如何提交
14
- */
15
- /**
16
- * 截断小数位数,避免 parseEther/parseUnits 报错
17
- * @param value 数值字符串
18
- * @param decimals 保留的小数位数(默认 18)
19
- */
20
- export function truncateDecimals(value, decimals = 18) {
21
- if (!value || value === '0')
22
- return value;
23
- const parts = String(value).split('.');
24
- if (parts.length === 1)
25
- return value;
26
- const intPart = parts[0] || '0';
27
- const decPart = (parts[1] || '').slice(0, decimals);
28
- return decPart ? `${intPart}.${decPart}` : intPart;
29
- }
30
- /**
31
- * 无币刷量 - 每个钱包执行买入+卖出
32
- *
33
- * 核心逻辑:[利润刮取] + [钱包1买入] + [钱包1卖出] + [钱包2买入] + [钱包2卖出] + ...
34
- *
35
- * 特点:
36
- * - 钱包不需要预先持有代币
37
- * - 每个钱包在同一笔交易中完成买入和卖出
38
- * - 利润从主钱包统一支付
39
- *
40
- * @example
41
- * const result = await washVolume({
42
- * privateKeys: ['0x...', '0x...'],
43
- * tokenAddress: '0x...',
44
- * buyAmountPerWallet: '0.01',
45
- * sellPercent: 100,
46
- * poolType: 'V3',
47
- * });
48
- */