four-flap-meme-sdk 2.2.8 → 2.2.11

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 +87 -20
  142. package/dist/index.js +217 -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 +254 -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 -4
  171. package/dist/shared/flap/index.js +5 -4
  172. package/dist/shared/flap/launch-v6.d.ts +127 -0
  173. package/dist/shared/flap/launch-v6.js +123 -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 +151 -142
  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 +86 -86
  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-create-token.d.ts +19 -37
  199. package/dist/shared/flap/portal-create-token.js +124 -121
  200. package/dist/shared/flap/portal.d.ts +2 -1
  201. package/dist/shared/flap/portal.js +28 -36
  202. package/dist/shared/flap/vanity.d.ts +6 -6
  203. package/dist/shared/flap/vanity.js +21 -15
  204. package/dist/shared/flap/vault.d.ts +93 -25
  205. package/dist/shared/flap/vault.js +126 -75
  206. package/dist/shared/four/tax-token.d.ts +1 -1
  207. package/dist/shared/four/tax-token.js +7 -27
  208. package/dist/shared/index.d.ts +0 -6
  209. package/dist/shared/index.js +0 -4
  210. package/dist/utils/airdrop-sweep.d.ts +76 -4
  211. package/dist/utils/airdrop-sweep.js +55 -42
  212. package/dist/utils/bundle-helpers.d.ts +243 -9
  213. package/dist/utils/bundle-helpers.js +584 -10
  214. package/dist/utils/constants.d.ts +61 -5
  215. package/dist/utils/constants.js +80 -5
  216. package/dist/utils/contract-factory.d.ts +4 -2
  217. package/dist/utils/contract-factory.js +18 -25
  218. package/dist/utils/erc20.d.ts +89 -7
  219. package/dist/utils/erc20.js +125 -94
  220. package/dist/utils/errors.d.ts +1 -12
  221. package/dist/utils/errors.js +1 -60
  222. package/dist/utils/holders-maker.d.ts +138 -2
  223. package/dist/utils/holders-maker.js +661 -26
  224. package/dist/utils/lp-inspect.d.ts +112 -2
  225. package/dist/utils/lp-inspect.js +223 -73
  226. package/dist/utils/mpcExclusive.d.ts +5 -2
  227. package/dist/utils/mpcExclusive.js +3 -4
  228. package/dist/utils/private-sale.d.ts +58 -2
  229. package/dist/utils/private-sale.js +15 -4
  230. package/dist/utils/provider-factory.d.ts +0 -4
  231. package/dist/utils/provider-factory.js +0 -10
  232. package/dist/utils/quote-helpers.d.ts +45 -4
  233. package/dist/utils/quote-helpers.js +74 -17
  234. package/dist/utils/stealth-transfer.d.ts +28 -2
  235. package/dist/utils/stealth-transfer.js +15 -31
  236. package/dist/utils/swap-helpers.d.ts +15 -2
  237. package/dist/utils/swap-helpers.js +11 -6
  238. package/dist/utils/wallet.d.ts +25 -2
  239. package/dist/utils/wallet.js +10 -13
  240. package/package.json +4 -160
  241. package/dist/__tests__/subpath-exports.test.d.ts +0 -1
  242. package/dist/__tests__/subpath-exports.test.js +0 -64
  243. package/dist/abis/common.d.ts +0 -85
  244. package/dist/abis/common.js +0 -264
  245. package/dist/abis/contracts/TaxToken.json +0 -969
  246. package/dist/abis/contracts/TokenManager2.json +0 -136
  247. package/dist/abis/contracts/index.d.ts +0 -5
  248. package/dist/abis/contracts/index.js +0 -5
  249. package/dist/abis/flap/index.d.ts +0 -3
  250. package/dist/abis/flap/index.js +0 -3
  251. package/dist/abis/flap/portal-events.d.ts +0 -6
  252. package/dist/abis/flap/portal-events.js +0 -17
  253. package/dist/abis/flap/portal.d.ts +0 -6
  254. package/dist/abis/flap/portal.js +0 -37
  255. package/dist/abis/flap/vault.d.ts +0 -171
  256. package/dist/abis/flap/vault.js +0 -91
  257. package/dist/abis/index.d.ts +0 -8
  258. package/dist/abis/index.js +0 -11
  259. package/dist/bundle-core/__tests__/config-helpers.test.d.ts +0 -1
  260. package/dist/bundle-core/__tests__/config-helpers.test.js +0 -28
  261. package/dist/bundle-core/__tests__/facade-parity.test.d.ts +0 -1
  262. package/dist/bundle-core/__tests__/facade-parity.test.js +0 -33
  263. package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +0 -1
  264. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +0 -60
  265. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +0 -1
  266. package/dist/bundle-core/__tests__/sign-fixture.test.js +0 -220
  267. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +0 -10
  268. package/dist/bundle-core/__tests__/sign-fixtures.js +0 -16
  269. package/dist/bundle-core/config-helpers.d.ts +0 -36
  270. package/dist/bundle-core/config-helpers.js +0 -57
  271. package/dist/bundle-core/errors.d.ts +0 -50
  272. package/dist/bundle-core/errors.js +0 -35
  273. package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +0 -7
  274. package/dist/bundle-core/four-meme/approve-tokenmanager.js +0 -99
  275. package/dist/bundle-core/four-meme/core-helpers.d.ts +0 -8
  276. package/dist/bundle-core/four-meme/core-helpers.js +0 -40
  277. package/dist/bundle-core/four-meme/core.d.ts +0 -4
  278. package/dist/bundle-core/four-meme/core.js +0 -515
  279. package/dist/bundle-core/four-meme/pancake-proxy.d.ts +0 -28
  280. package/dist/bundle-core/four-meme/pancake-proxy.js +0 -679
  281. package/dist/bundle-core/four-meme/private.d.ts +0 -27
  282. package/dist/bundle-core/four-meme/private.js +0 -465
  283. package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +0 -2
  284. package/dist/bundle-core/four-meme/sign-context-helpers.js +0 -2
  285. package/dist/bundle-core/four-meme/swap-buy-first.d.ts +0 -8
  286. package/dist/bundle-core/four-meme/swap-buy-first.js +0 -493
  287. package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +0 -6
  288. package/dist/bundle-core/four-meme/swap-hop-helpers.js +0 -63
  289. package/dist/bundle-core/four-meme/swap-internal.d.ts +0 -3
  290. package/dist/bundle-core/four-meme/swap-internal.js +0 -18
  291. package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +0 -27
  292. package/dist/bundle-core/four-meme/swap-sign-helpers.js +0 -105
  293. package/dist/bundle-core/four-meme/swap.d.ts +0 -17
  294. package/dist/bundle-core/four-meme/swap.js +0 -505
  295. package/dist/bundle-core/four-meme/types/buy-first.d.ts +0 -50
  296. package/dist/bundle-core/four-meme/types/buy-first.js +0 -1
  297. package/dist/bundle-core/four-meme/types/core-flow.d.ts +0 -63
  298. package/dist/bundle-core/four-meme/types/core-flow.js +0 -1
  299. package/dist/bundle-core/four-meme/types/index.d.ts +0 -600
  300. package/dist/bundle-core/four-meme/types/index.js +0 -1
  301. package/dist/bundle-core/four-meme/types/swap-internal.d.ts +0 -19
  302. package/dist/bundle-core/four-meme/types/swap-internal.js +0 -1
  303. package/dist/bundle-core/four-meme/types.d.ts +0 -1
  304. package/dist/bundle-core/four-meme/types.js +0 -1
  305. package/dist/bundle-core/four-meme/utils-disperse.d.ts +0 -7
  306. package/dist/bundle-core/four-meme/utils-disperse.js +0 -396
  307. package/dist/bundle-core/four-meme/utils-pairwise.d.ts +0 -8
  308. package/dist/bundle-core/four-meme/utils-pairwise.js +0 -328
  309. package/dist/bundle-core/four-meme/utils-sweep.d.ts +0 -8
  310. package/dist/bundle-core/four-meme/utils-sweep.js +0 -744
  311. package/dist/bundle-core/index.d.ts +0 -8
  312. package/dist/bundle-core/index.js +0 -8
  313. package/dist/bundle-core/internal.d.ts +0 -21
  314. package/dist/bundle-core/internal.js +0 -182
  315. package/dist/bundle-core/sign-context-helpers.d.ts +0 -25
  316. package/dist/bundle-core/sign-context-helpers.js +0 -67
  317. package/dist/bundle-core/submit.d.ts +0 -293
  318. package/dist/bundle-core/submit.js +0 -727
  319. package/dist/bundle-core/types/index.d.ts +0 -8
  320. package/dist/bundle-core/types/index.js +0 -1
  321. package/dist/bundle-core/types.d.ts +0 -1
  322. package/dist/bundle-core/types.js +0 -1
  323. package/dist/chains/bsc/four/utils-disperse.d.ts +0 -1
  324. package/dist/chains/bsc/four/utils-disperse.js +0 -1
  325. package/dist/chains/bsc/four/utils-pairwise.d.ts +0 -1
  326. package/dist/chains/bsc/four/utils-pairwise.js +0 -1
  327. package/dist/chains/bsc/four/utils-sweep.d.ts +0 -1
  328. package/dist/chains/bsc/four/utils-sweep.js +0 -1
  329. package/dist/chains/bsc/iro.d.ts +0 -5
  330. package/dist/chains/bsc/iro.js +0 -4
  331. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +0 -159
  332. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +0 -117
  333. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +0 -241
  334. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +0 -565
  335. package/dist/chains/eni/flat-aliases.d.ts +0 -10
  336. package/dist/chains/eni/flat-aliases.js +0 -8
  337. package/dist/chains/eni/submit.d.ts +0 -43
  338. package/dist/chains/eni/submit.js +0 -286
  339. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +0 -13
  340. package/dist/chains/xlayer/eip7702/flat-aliases.js +0 -10
  341. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +0 -79
  342. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +0 -1
  343. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +0 -26
  344. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +0 -57
  345. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +0 -148
  346. package/dist/chains/xlayer/eip7702/volume-helpers.js +0 -48
  347. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +0 -126
  348. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +0 -228
  349. package/dist/contracts/tm-bundle-helpers.d.ts +0 -88
  350. package/dist/contracts/tm-bundle-helpers.js +0 -72
  351. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +0 -1
  352. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +0 -1
  353. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +0 -1
  354. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +0 -1
  355. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +0 -1
  356. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +0 -1
  357. package/dist/dex/direct-router-helpers.d.ts +0 -264
  358. package/dist/dex/direct-router-helpers.js +0 -539
  359. package/dist/dex/types.d.ts +0 -81
  360. package/dist/dex/types.js +0 -1
  361. package/dist/exports/root-bundle-and-tooling.d.ts +0 -27
  362. package/dist/exports/root-bundle-and-tooling.js +0 -30
  363. package/dist/exports/root-eni-and-bsc-iro.d.ts +0 -26
  364. package/dist/exports/root-eni-and-bsc-iro.js +0 -66
  365. package/dist/exports/root-foundations.d.ts +0 -35
  366. package/dist/exports/root-foundations.js +0 -70
  367. package/dist/exports/root-swap-dex-and-xlayer.d.ts +0 -30
  368. package/dist/exports/root-swap-dex-and-xlayer.js +0 -78
  369. package/dist/flap/index.d.ts +0 -10
  370. package/dist/flap/index.js +0 -8
  371. package/dist/flows/index.d.ts +0 -1
  372. package/dist/flows/index.js +0 -1
  373. package/dist/merkle/index.d.ts +0 -12
  374. package/dist/merkle/index.js +0 -11
  375. package/dist/shared/clients/index.d.ts +0 -8
  376. package/dist/shared/clients/index.js +0 -8
  377. package/dist/shared/constants/quote.d.ts +0 -30
  378. package/dist/shared/constants/quote.js +0 -37
  379. package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +0 -32
  380. package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +0 -83
  381. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +0 -125
  382. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +0 -113
  383. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +0 -149
  384. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +0 -259
  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,126 +0,0 @@
1
- import { ethers, Wallet, JsonRpcProvider } from 'ethers';
2
- import { type GeneratedWallet } from '../../../utils/wallet.js';
3
- /**
4
-
5
- * XLayer EOA 模式批量换手
6
-
7
- *
8
-
9
- * 专门为 XLayer 链设计,不影响 BSC 链的逻辑
10
-
11
- * - 使用 PotatoSwap V3 Quoter
12
-
13
- * - 使用 WOKB 作为 Wrapped Native Token
14
-
15
- * - 支持多跳转账和利润刮取
16
-
17
- */
18
- export declare const XLAYER_CHAIN_ID: 196;
19
- export declare const WOKB_ADDRESS: string;
20
- export declare const POTATO_V2_ROUTER: string;
21
- export declare const POTATO_V3_ROUTER: string;
22
- export declare const NATIVE_TRANSFER_GAS_LIMIT: 21055n;
23
- export declare const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
24
- export type UserType = 'v0' | 'v1';
25
- export type SwapRouteType = 'v2' | 'v3-single' | 'v3-multi';
26
- export interface V2RouteParams {
27
- routeType: 'v2';
28
- v2Path: string[];
29
- }
30
- export interface V3SingleRouteParams {
31
- routeType: 'v3-single';
32
- v3TokenIn: string;
33
- v3TokenOut: string;
34
- v3Fee: number;
35
- v2Path?: string[];
36
- }
37
- export interface V3MultiRouteParams {
38
- routeType: 'v3-multi';
39
- v3LpAddresses: string[];
40
- v3ExactTokenIn: string;
41
- v2Path?: string[];
42
- }
43
- export type RouteParams = V2RouteParams | V3SingleRouteParams | V3MultiRouteParams;
44
- export interface XLayerEoaSwapConfig {
45
- rpcUrl: string;
46
- gasLimit?: number | bigint;
47
- gasLimitMultiplier?: number;
48
- minGasPriceGwei?: number;
49
- maxGasPriceGwei?: number;
50
- txType?: 0 | 2;
51
- reserveGasBNB?: number;
52
- userType?: UserType;
53
- bribeAmount?: number;
54
- }
55
- export interface XLayerQuickBatchSwapParams {
56
- sellerPrivateKey: string;
57
- sellAmount?: string;
58
- sellPercentage?: number;
59
- buyerPrivateKeys: string[];
60
- buyerRatios?: number[];
61
- buyerAmounts?: string[];
62
- tokenAddress: string;
63
- routeParams: RouteParams;
64
- config: XLayerEoaSwapConfig;
65
- quoteToken?: string;
66
- quoteTokenDecimals?: number;
67
- disperseHopCount?: number;
68
- startNonces?: number[];
69
- }
70
- export interface XLayerQuickBatchSwapResult {
71
- signedTransactions: string[];
72
- disperseHopWallets?: GeneratedWallet[];
73
- profitHopWallets?: GeneratedWallet[];
74
- metadata?: {
75
- sellerAddress: string;
76
- buyerAddresses: string[];
77
- sellAmount: string;
78
- estimatedOutput: string;
79
- transferAmounts: string[];
80
- profitAmount?: string;
81
- useNativeToken: boolean;
82
- disperseHopCount?: number;
83
- };
84
- }
85
- export interface XLayerCrossSwapParams {
86
- sellerPrivateKeys: string[];
87
- sellAmounts: string[];
88
- buyerPrivateKeys: string[];
89
- tokenAddress: string;
90
- routeParams: RouteParams;
91
- config: XLayerEoaSwapConfig;
92
- quoteToken?: string;
93
- quoteTokenDecimals?: number;
94
- buyersPerSell?: number;
95
- disperseHopCount?: number;
96
- /** ✅ 预获取的 nonce(地址 -> nonce),避免 nonce 不同步 */
97
- startNonces?: Map<string, number>;
98
- }
99
- export interface XLayerCrossSwapResult {
100
- signedTransactions: string[];
101
- rounds: Array<{
102
- sellerAddress: string;
103
- buyerAddresses: string[];
104
- sellAmount: string;
105
- bundleHash?: string;
106
- }>;
107
- disperseHopWallets?: GeneratedWallet[];
108
- profitHopWallets?: GeneratedWallet[];
109
- }
110
- export declare function createXLayerContext(config: XLayerEoaSwapConfig): {
111
- chainId: 196;
112
- provider: ethers.JsonRpcProvider;
113
- };
114
- export declare function getGasLimit(config: XLayerEoaSwapConfig, defaultGas?: number): bigint;
115
- export declare function getGasPrice(provider: JsonRpcProvider, config: XLayerEoaSwapConfig): Promise<bigint>;
116
- export declare function getProfitRateBps(userType?: UserType): number;
117
- export declare function calculateProfitAmount(estimatedOutput: bigint, userType?: UserType): bigint;
118
- export declare function quoteSellOutput(provider: JsonRpcProvider, routeParams: RouteParams, sellAmountWei: bigint): Promise<bigint>;
119
- export declare function getERC20ToOkbQuote(provider: JsonRpcProvider, tokenAddress: string, tokenAmount: bigint, version?: 'v2' | 'v3', fee?: number): Promise<bigint>;
120
- export type DisperseHopPath = {
121
- targetAddress: string;
122
- hopWallets: Wallet[];
123
- hopWalletsInfo: GeneratedWallet[];
124
- };
125
- export declare function generateDisperseHopPaths(targetAddresses: string[], hopCount: number, provider: JsonRpcProvider): DisperseHopPath[];
126
- export declare function buildNativeHopChain(payer: Wallet, path: DisperseHopPath, finalAmount: bigint, gasPrice: bigint, txType: 0 | 2, payerNonce: number): Promise<string[]>;
@@ -1,228 +0,0 @@
1
- import { ethers, Wallet } from 'ethers';
2
- import { createXLayerProvider } from '../../../utils/provider-factory.js';
3
- import { GAS_LIMITS, CHAINS, getProfitRateBps as getSharedProfitRateBps } from '../../../shared/constants/index.js';
4
- import { quoteV2, quoteV3 } from '../../../utils/quote-helpers.js';
5
- import { generateWallets } from '../../../utils/wallet.js';
6
- import { WOKB, POTATOSWAP_V2_ROUTER, POTATOSWAP_SWAP_ROUTER02 } from './constants.js';
7
- /**
8
-
9
- * XLayer EOA 模式批量换手
10
-
11
- *
12
-
13
- * 专门为 XLayer 链设计,不影响 BSC 链的逻辑
14
-
15
- * - 使用 PotatoSwap V3 Quoter
16
-
17
- * - 使用 WOKB 作为 Wrapped Native Token
18
-
19
- * - 支持多跳转账和利润刮取
20
-
21
- */
22
- // ✅ 从 XLayer 常量导入正确的路由地址
23
- // ==================== XLayer 专用常量 ====================
24
- export const XLAYER_CHAIN_ID = CHAINS.XLAYER.chainId;
25
- const XLAYER_CHAIN_NAME = CHAINS.XLAYER.name;
26
- export const WOKB_ADDRESS = ethers.getAddress(WOKB);
27
- // ✅ 强制校验和,避免大小写错误导致的 bad address checksum
28
- export const POTATO_V2_ROUTER = ethers.getAddress(POTATOSWAP_V2_ROUTER);
29
- export const POTATO_V3_ROUTER = ethers.getAddress(POTATOSWAP_SWAP_ROUTER02); // ✅ SwapRouter02 用于 V3 交易
30
- export const NATIVE_TRANSFER_GAS_LIMIT = GAS_LIMITS.NATIVE_TRANSFER;
31
- export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
32
- // ==================== 工具函数 ====================
33
- export function createXLayerContext(config) {
34
- const provider = createXLayerProvider(config.rpcUrl);
35
- return { chainId: XLAYER_CHAIN_ID, provider };
36
- }
37
- export function getGasLimit(config, defaultGas = 800000) {
38
- if (config.gasLimit !== undefined) {
39
- return typeof config.gasLimit === 'bigint' ? config.gasLimit : BigInt(config.gasLimit);
40
- }
41
- const multiplier = config.gasLimitMultiplier ?? 1.0;
42
- return BigInt(Math.ceil(defaultGas * multiplier));
43
- }
44
- export async function getGasPrice(provider, config) {
45
- const feeData = await provider.getFeeData();
46
- let gasPrice = feeData.gasPrice || ethers.parseUnits('0.1', 'gwei');
47
- if (config.minGasPriceGwei) {
48
- const minGas = ethers.parseUnits(config.minGasPriceGwei.toString(), 'gwei');
49
- if (gasPrice < minGas)
50
- gasPrice = minGas;
51
- }
52
- if (config.maxGasPriceGwei) {
53
- const maxGas = ethers.parseUnits(config.maxGasPriceGwei.toString(), 'gwei');
54
- if (gasPrice > maxGas)
55
- gasPrice = maxGas;
56
- }
57
- return gasPrice;
58
- }
59
- export function getProfitRateBps(userType) {
60
- if (userType === 'v0')
61
- return getSharedProfitRateBps('v0Single');
62
- if (userType === 'v1')
63
- return getSharedProfitRateBps('v1Single');
64
- return getSharedProfitRateBps('v0Single');
65
- }
66
- export function calculateProfitAmount(estimatedOutput, userType) {
67
- if (estimatedOutput <= 0n)
68
- return 0n;
69
- const rateBps = getProfitRateBps(userType);
70
- return (estimatedOutput * BigInt(rateBps)) / 10000n;
71
- }
72
- // ==================== 报价函数 ====================
73
- export async function quoteSellOutput(provider, routeParams, sellAmountWei) {
74
- if (routeParams.routeType === 'v2') {
75
- const { v2Path } = routeParams;
76
- const tokenIn = v2Path[0];
77
- const tokenOut = v2Path[v2Path.length - 1];
78
- const result = await quoteV2(provider, tokenIn, tokenOut, sellAmountWei, XLAYER_CHAIN_NAME);
79
- if (result.amountOut > 0n) {
80
- return result.amountOut;
81
- }
82
- throw new Error('V2 报价失败');
83
- }
84
- if (routeParams.routeType === 'v3-single') {
85
- const params = routeParams;
86
- const result = await quoteV3(provider, params.v3TokenIn, params.v3TokenOut, sellAmountWei, XLAYER_CHAIN_NAME, params.v3Fee);
87
- if (result.amountOut > 0n) {
88
- return result.amountOut;
89
- }
90
- // ❗️兜底:如果 V3 报价失败且提供了 v2Path,则尝试 V2 报价(避免因为无对应费率池导致失败)
91
- if (params.v2Path && params.v2Path.length >= 2) {
92
- const tokenIn = params.v2Path[0];
93
- const tokenOut = params.v2Path[params.v2Path.length - 1];
94
- const v2Result = await quoteV2(provider, tokenIn, tokenOut, sellAmountWei, XLAYER_CHAIN_NAME);
95
- if (v2Result.amountOut > 0n) {
96
- return v2Result.amountOut;
97
- }
98
- }
99
- throw new Error(`V3 单跳报价失败: tokenIn=${params.v3TokenIn}, tokenOut=${params.v3TokenOut}, fee=${params.v3Fee}`);
100
- }
101
- if (routeParams.routeType === 'v3-multi') {
102
- const params = routeParams;
103
- const tokenIn = params.v3ExactTokenIn;
104
- const result = await quoteV3(provider, tokenIn, WOKB_ADDRESS, sellAmountWei, XLAYER_CHAIN_NAME);
105
- if (result.amountOut > 0n) {
106
- return result.amountOut;
107
- }
108
- // ❗️兜底:如果 V3 多跳失败且提供 v2Path,则尝试 V2 报价
109
- if (params.v2Path && params.v2Path.length >= 2) {
110
- const tokenInV2 = params.v2Path[0];
111
- const tokenOutV2 = params.v2Path[params.v2Path.length - 1];
112
- const v2Result = await quoteV2(provider, tokenInV2, tokenOutV2, sellAmountWei, XLAYER_CHAIN_NAME);
113
- if (v2Result.amountOut > 0n) {
114
- return v2Result.amountOut;
115
- }
116
- }
117
- throw new Error(`V3 多跳报价失败`);
118
- }
119
- // ✅ 用类型判断收窄 RouteParams 联合类型
120
- const routeType = routeParams.routeType ??
121
- routeParams.routeType ??
122
- routeParams.routeType;
123
- throw new Error(`不支持的路由类型: ${routeType}`);
124
- }
125
- export async function getERC20ToOkbQuote(provider, tokenAddress, tokenAmount, version = 'v2', fee) {
126
- if (tokenAmount <= 0n)
127
- return 0n;
128
- const tokenLower = tokenAddress.toLowerCase();
129
- const wokbLower = WOKB_ADDRESS.toLowerCase();
130
- if (tokenLower === wokbLower)
131
- return tokenAmount;
132
- if (version === 'v3') {
133
- const result = await quoteV3(provider, tokenAddress, WOKB_ADDRESS, tokenAmount, XLAYER_CHAIN_NAME, fee);
134
- if (result.amountOut > 0n) {
135
- return result.amountOut;
136
- }
137
- return 0n;
138
- }
139
- const result = await quoteV2(provider, tokenAddress, WOKB_ADDRESS, tokenAmount, XLAYER_CHAIN_NAME);
140
- if (result.amountOut > 0n) {
141
- return result.amountOut;
142
- }
143
- return 0n;
144
- }
145
- export function generateDisperseHopPaths(targetAddresses, hopCount, provider) {
146
- if (hopCount <= 0) {
147
- return targetAddresses.map((addr) => ({
148
- targetAddress: addr,
149
- hopWallets: [],
150
- hopWalletsInfo: [],
151
- }));
152
- }
153
- return targetAddresses.map((targetAddress) => {
154
- const hopWalletsInfo = generateWallets(hopCount);
155
- const hopWallets = hopWalletsInfo.map((w) => new Wallet(w.privateKey, provider));
156
- return { targetAddress, hopWallets, hopWalletsInfo };
157
- });
158
- }
159
- export async function buildNativeHopChain(payer, path, finalAmount, gasPrice, txType, payerNonce) {
160
- const signedTxs = [];
161
- const hopCount = path.hopWallets.length;
162
- if (hopCount === 0) {
163
- const tx = {
164
- to: path.targetAddress,
165
- value: finalAmount,
166
- nonce: payerNonce,
167
- gasLimit: NATIVE_TRANSFER_GAS_LIMIT,
168
- chainId: XLAYER_CHAIN_ID,
169
- type: txType,
170
- };
171
- if (txType === 2) {
172
- tx.maxFeePerGas = gasPrice;
173
- tx.maxPriorityFeePerGas = gasPrice / 10n || 1n;
174
- }
175
- else {
176
- tx.gasPrice = gasPrice;
177
- }
178
- signedTxs.push(await payer.signTransaction(tx));
179
- return signedTxs;
180
- }
181
- const hopGasCost = NATIVE_TRANSFER_GAS_LIMIT * gasPrice;
182
- const amountsPerHop = [];
183
- for (let i = 0; i < hopCount; i++) {
184
- const remainingHops = hopCount - i;
185
- amountsPerHop.push(finalAmount + hopGasCost * BigInt(remainingHops));
186
- }
187
- // payer → hop1
188
- const firstTx = {
189
- to: path.hopWallets[0].address,
190
- value: amountsPerHop[0],
191
- nonce: payerNonce,
192
- gasLimit: NATIVE_TRANSFER_GAS_LIMIT,
193
- chainId: XLAYER_CHAIN_ID,
194
- type: txType,
195
- };
196
- if (txType === 2) {
197
- firstTx.maxFeePerGas = gasPrice;
198
- firstTx.maxPriorityFeePerGas = gasPrice / 10n || 1n;
199
- }
200
- else {
201
- firstTx.gasPrice = gasPrice;
202
- }
203
- signedTxs.push(await payer.signTransaction(firstTx));
204
- // hop1 → hop2 → ... → target
205
- for (let i = 0; i < hopCount; i++) {
206
- const fromWallet = path.hopWallets[i];
207
- const toAddress = i === hopCount - 1 ? path.targetAddress : path.hopWallets[i + 1].address;
208
- const amount = i === hopCount - 1 ? finalAmount : amountsPerHop[i + 1];
209
- const tx = {
210
- to: toAddress,
211
- value: amount,
212
- nonce: 0,
213
- gasLimit: NATIVE_TRANSFER_GAS_LIMIT,
214
- chainId: XLAYER_CHAIN_ID,
215
- type: txType,
216
- };
217
- if (txType === 2) {
218
- tx.maxFeePerGas = gasPrice;
219
- tx.maxPriorityFeePerGas = gasPrice / 10n || 1n;
220
- }
221
- else {
222
- tx.gasPrice = gasPrice;
223
- }
224
- signedTxs.push(await fromWallet.signTransaction(tx));
225
- }
226
- return signedTxs;
227
- }
228
- // ==================== XLayer 快捷批量换手 ====================
@@ -1,88 +0,0 @@
1
- import { JsonRpcProvider } from 'ethers';
2
- import type { TransactionRequest } from 'ethers';
3
- import type { SoulPointSignatureMode, VNormalizationMode } from '../shared/clients/club48.js';
4
- import { BundleStatus } from '../shared/clients/club48.js';
5
- import type { GeneratedWallet } from '../utils/wallet.js';
6
- /**
7
- * four.meme Bundle 交易方法
8
- * 使用 48.club Bundle 服务实现原子化交易
9
- */
10
- export { BUNDLE_ERRORS as ERRORS, getBundleErrorMessage as getErrorMessage } from '../bundle-core/errors.js';
11
- export type FourBundleConfig = {
12
- rpcUrl: string;
13
- fourApiUrl?: string;
14
- club48Endpoint?: string;
15
- club48ExplorerEndpoint?: string;
16
- spMode?: SoulPointSignatureMode;
17
- spVMode?: VNormalizationMode;
18
- spPrivateKey?: string;
19
- bundleBlockOffset?: number;
20
- noMerge?: boolean;
21
- tipAmountWei?: bigint;
22
- txType?: 0 | 2;
23
- gasLimitMultiplier?: number;
24
- customSubmitFn?: (signedTxs: string[]) => Promise<string>;
25
- };
26
- /**
27
- * 等待交易上链(不使用 club48 客户端)
28
- */
29
- export type FourProviderBundleWaitStatus = {
30
- status: 'INCLUDED';
31
- includedBlock?: number;
32
- } | {
33
- status: 'FAILED';
34
- } | {
35
- status: 'PENDING';
36
- };
37
- export declare function waitForBundleWithProvider(provider: JsonRpcProvider, firstTxSigned: string, _bundleUuid: string): Promise<FourProviderBundleWaitStatus>;
38
- /**
39
- * 估算 gas 并应用用户配置的倍数
40
- */
41
- export declare function estimateGasWithMultiplier(provider: JsonRpcProvider, txRequest: TransactionRequest, multiplier?: number): Promise<bigint>;
42
- /**
43
- * 获取交易类型(用户可配置)
44
- */
45
- export declare function getTxType(config: FourBundleConfig): 0 | 2;
46
- /**
47
- * 构建完整的交易请求(包含 gas 估算和交易类型)
48
- */
49
- export declare function buildTxRequest(provider: JsonRpcProvider, unsigned: TransactionRequest, from: string, nonce: number, gasPrice: bigint, config: FourBundleConfig, value?: bigint): Promise<TransactionRequest & {
50
- gasLimit: bigint;
51
- chainId: number;
52
- type: 0 | 2;
53
- }>;
54
- export type FourCreateWithBundleBuyParams = {
55
- privateKeys: string[];
56
- buyAmounts: string[];
57
- b0Amount?: string;
58
- tokenInfo: {
59
- name: string;
60
- symbol: string;
61
- description: string;
62
- imageUrl?: string;
63
- imageFile?: Blob;
64
- label?: 'Meme' | 'AI' | 'Defi' | 'Games' | 'Infra' | 'De-Sci' | 'Social' | 'Depin' | 'Charity' | 'Others';
65
- preSale?: string;
66
- webUrl?: string;
67
- twitterUrl?: string;
68
- telegramUrl?: string;
69
- };
70
- config: FourBundleConfig;
71
- };
72
- export type FourCreateWithBundleBuyResult = {
73
- bundleUuid: string;
74
- tokenAddress?: string;
75
- status: BundleStatus | FourProviderBundleWaitStatus;
76
- createTx: string;
77
- buyTxs: string[];
78
- profitTxs: string[];
79
- profitHopWallets?: GeneratedWallet[];
80
- };
81
- /**
82
- * four.meme: 创建代币 + 捆绑购买
83
- *
84
- * 用户只需传入:
85
- * - dev 私钥 + N 个买家私钥
86
- * - 对应的购买金额
87
- * - 代币基本信息
88
- */
@@ -1,72 +0,0 @@
1
- import { ethers } from 'ethers';
2
- /**
3
- * four.meme Bundle 交易方法
4
- * 使用 48.club Bundle 服务实现原子化交易
5
- */
6
- // 错误信息国际化(实现见 bundle-core/errors)
7
- export { BUNDLE_ERRORS as ERRORS, getBundleErrorMessage as getErrorMessage } from '../bundle-core/errors.js';
8
- export async function waitForBundleWithProvider(provider, firstTxSigned, _bundleUuid) {
9
- const maxAttempts = 60; // 最多等待 60 秒
10
- for (let i = 0; i < maxAttempts; i++) {
11
- await new Promise((resolve) => setTimeout(resolve, 1000));
12
- try {
13
- const txHash = ethers.Transaction.from(firstTxSigned).hash;
14
- if (!txHash)
15
- continue;
16
- const receipt = await provider.getTransactionReceipt(txHash);
17
- if (receipt) {
18
- if (receipt.status === 1) {
19
- return { status: 'INCLUDED', includedBlock: receipt.blockNumber };
20
- }
21
- else {
22
- return { status: 'FAILED' };
23
- }
24
- }
25
- }
26
- catch (_error) {
27
- // 继续等待
28
- }
29
- }
30
- return { status: 'PENDING' };
31
- }
32
- // ========================================
33
- // 辅助函数:估算 gas 并应用配置
34
- // ========================================
35
- /**
36
- * 估算 gas 并应用用户配置的倍数
37
- */
38
- export async function estimateGasWithMultiplier(provider, txRequest, multiplier) {
39
- const estimated = await provider.estimateGas(txRequest);
40
- const mult = multiplier ?? 1.2; // 默认 20% 安全余量
41
- return BigInt(Math.ceil(Number(estimated) * mult));
42
- }
43
- /**
44
- * 获取交易类型(用户可配置)
45
- */
46
- export function getTxType(config) {
47
- return config.txType ?? 0; // 默认 Legacy (type 0),适用于 48.club/BSC
48
- }
49
- /**
50
- * 构建完整的交易请求(包含 gas 估算和交易类型)
51
- */
52
- export async function buildTxRequest(provider, unsigned, from, nonce, gasPrice, config, value) {
53
- const gasLimit = await estimateGasWithMultiplier(provider, { ...unsigned, from, value }, config.gasLimitMultiplier);
54
- const txType = getTxType(config);
55
- return {
56
- ...unsigned,
57
- from,
58
- nonce,
59
- gasLimit,
60
- gasPrice,
61
- chainId: 56,
62
- type: txType,
63
- };
64
- }
65
- /**
66
- * four.meme: 创建代币 + 捆绑购买
67
- *
68
- * 用户只需传入:
69
- * - dev 私钥 + N 个买家私钥
70
- * - 对应的购买金额
71
- * - 代币基本信息
72
- */
@@ -1 +0,0 @@
1
- export { disperseWithBundleMerkle } from '../../bundle-core/four-meme/utils-disperse.js';
@@ -1 +0,0 @@
1
- export { disperseWithBundleMerkle } from '../../bundle-core/four-meme/utils-disperse.js';
@@ -1 +0,0 @@
1
- export { pairwiseTransferWithBundleMerkle } from '../../bundle-core/four-meme/utils-pairwise.js';
@@ -1 +0,0 @@
1
- export { pairwiseTransferWithBundleMerkle } from '../../bundle-core/four-meme/utils-pairwise.js';
@@ -1 +0,0 @@
1
- export { sweepWithBundleMerkle } from '../../bundle-core/four-meme/utils-sweep.js';
@@ -1 +0,0 @@
1
- export { sweepWithBundleMerkle } from '../../bundle-core/four-meme/utils-sweep.js';