four-flap-meme-sdk 2.2.1 → 2.2.2

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 (470) 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 +85 -20
  142. package/dist/index.js +215 -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 +252 -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 +3 -2
  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 +3 -3
  171. package/dist/shared/flap/index.js +3 -3
  172. package/dist/shared/flap/meta.d.ts +18 -22
  173. package/dist/shared/flap/meta.js +17 -12
  174. package/dist/shared/flap/permit.js +2 -5
  175. package/dist/shared/flap/pinata.d.ts +6 -22
  176. package/dist/shared/flap/pinata.js +26 -21
  177. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +72 -3
  178. package/dist/shared/flap/portal-bundle-merkle/config.js +124 -4
  179. package/dist/shared/flap/portal-bundle-merkle/core.d.ts +4 -0
  180. package/dist/shared/flap/portal-bundle-merkle/core.js +172 -92
  181. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.d.ts +1 -2
  182. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +99 -106
  183. package/dist/shared/flap/portal-bundle-merkle/curve-to-dex.js +92 -100
  184. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +7 -11
  185. package/dist/shared/flap/portal-bundle-merkle/index.js +7 -4
  186. package/dist/shared/flap/portal-bundle-merkle/pancake-proxy.js +68 -71
  187. package/dist/shared/flap/portal-bundle-merkle/private.js +114 -61
  188. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +64 -1
  189. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.js +247 -66
  190. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +71 -2
  191. package/dist/shared/flap/portal-bundle-merkle/swap.js +410 -103
  192. package/dist/shared/flap/portal-bundle-merkle/types.d.ts +7 -73
  193. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +80 -1
  194. package/dist/shared/flap/portal-bundle-merkle/utils.js +265 -145
  195. package/dist/shared/flap/portal-bundle.js +56 -55
  196. package/dist/shared/flap/portal.d.ts +3 -1
  197. package/dist/shared/flap/portal.js +25 -32
  198. package/dist/shared/flap/vanity.d.ts +5 -1
  199. package/dist/shared/flap/vanity.js +17 -6
  200. package/dist/shared/flap/vault.d.ts +124 -17
  201. package/dist/shared/flap/vault.js +148 -67
  202. package/dist/shared/four/tax-token.d.ts +1 -1
  203. package/dist/shared/four/tax-token.js +7 -27
  204. package/dist/shared/index.d.ts +0 -6
  205. package/dist/shared/index.js +0 -4
  206. package/dist/utils/airdrop-sweep.d.ts +76 -4
  207. package/dist/utils/airdrop-sweep.js +55 -42
  208. package/dist/utils/bundle-helpers.d.ts +243 -9
  209. package/dist/utils/bundle-helpers.js +584 -10
  210. package/dist/utils/constants.d.ts +61 -5
  211. package/dist/utils/constants.js +80 -5
  212. package/dist/utils/contract-factory.d.ts +4 -2
  213. package/dist/utils/contract-factory.js +18 -25
  214. package/dist/utils/erc20.d.ts +89 -7
  215. package/dist/utils/erc20.js +125 -94
  216. package/dist/utils/errors.d.ts +1 -12
  217. package/dist/utils/errors.js +1 -60
  218. package/dist/utils/holders-maker.d.ts +138 -2
  219. package/dist/utils/holders-maker.js +661 -26
  220. package/dist/utils/lp-inspect.d.ts +112 -2
  221. package/dist/utils/lp-inspect.js +223 -73
  222. package/dist/utils/mpcExclusive.d.ts +5 -2
  223. package/dist/utils/mpcExclusive.js +3 -4
  224. package/dist/utils/private-sale.d.ts +58 -2
  225. package/dist/utils/private-sale.js +15 -4
  226. package/dist/utils/provider-factory.d.ts +0 -4
  227. package/dist/utils/provider-factory.js +0 -10
  228. package/dist/utils/quote-helpers.d.ts +45 -4
  229. package/dist/utils/quote-helpers.js +74 -17
  230. package/dist/utils/stealth-transfer.d.ts +28 -2
  231. package/dist/utils/stealth-transfer.js +15 -31
  232. package/dist/utils/swap-helpers.d.ts +15 -2
  233. package/dist/utils/swap-helpers.js +11 -6
  234. package/dist/utils/wallet.d.ts +25 -2
  235. package/dist/utils/wallet.js +10 -13
  236. package/package.json +4 -160
  237. package/dist/__tests__/subpath-exports.test.d.ts +0 -1
  238. package/dist/__tests__/subpath-exports.test.js +0 -64
  239. package/dist/abis/common.d.ts +0 -85
  240. package/dist/abis/common.js +0 -260
  241. package/dist/abis/contracts/TaxToken.json +0 -969
  242. package/dist/abis/contracts/TokenManager2.json +0 -136
  243. package/dist/abis/contracts/index.d.ts +0 -5
  244. package/dist/abis/contracts/index.js +0 -5
  245. package/dist/abis/flap/index.d.ts +0 -3
  246. package/dist/abis/flap/index.js +0 -3
  247. package/dist/abis/flap/portal-events.d.ts +0 -6
  248. package/dist/abis/flap/portal-events.js +0 -17
  249. package/dist/abis/flap/portal.d.ts +0 -6
  250. package/dist/abis/flap/portal.js +0 -37
  251. package/dist/abis/flap/vault.d.ts +0 -171
  252. package/dist/abis/flap/vault.js +0 -91
  253. package/dist/abis/index.d.ts +0 -8
  254. package/dist/abis/index.js +0 -11
  255. package/dist/bundle-core/__tests__/config-helpers.test.d.ts +0 -1
  256. package/dist/bundle-core/__tests__/config-helpers.test.js +0 -28
  257. package/dist/bundle-core/__tests__/facade-parity.test.d.ts +0 -1
  258. package/dist/bundle-core/__tests__/facade-parity.test.js +0 -33
  259. package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +0 -1
  260. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +0 -60
  261. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +0 -1
  262. package/dist/bundle-core/__tests__/sign-fixture.test.js +0 -220
  263. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +0 -10
  264. package/dist/bundle-core/__tests__/sign-fixtures.js +0 -16
  265. package/dist/bundle-core/config-helpers.d.ts +0 -36
  266. package/dist/bundle-core/config-helpers.js +0 -57
  267. package/dist/bundle-core/errors.d.ts +0 -50
  268. package/dist/bundle-core/errors.js +0 -35
  269. package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +0 -7
  270. package/dist/bundle-core/four-meme/approve-tokenmanager.js +0 -99
  271. package/dist/bundle-core/four-meme/core-helpers.d.ts +0 -8
  272. package/dist/bundle-core/four-meme/core-helpers.js +0 -40
  273. package/dist/bundle-core/four-meme/core.d.ts +0 -4
  274. package/dist/bundle-core/four-meme/core.js +0 -515
  275. package/dist/bundle-core/four-meme/pancake-proxy.d.ts +0 -28
  276. package/dist/bundle-core/four-meme/pancake-proxy.js +0 -679
  277. package/dist/bundle-core/four-meme/private.d.ts +0 -27
  278. package/dist/bundle-core/four-meme/private.js +0 -465
  279. package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +0 -2
  280. package/dist/bundle-core/four-meme/sign-context-helpers.js +0 -2
  281. package/dist/bundle-core/four-meme/swap-buy-first.d.ts +0 -8
  282. package/dist/bundle-core/four-meme/swap-buy-first.js +0 -493
  283. package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +0 -6
  284. package/dist/bundle-core/four-meme/swap-hop-helpers.js +0 -63
  285. package/dist/bundle-core/four-meme/swap-internal.d.ts +0 -3
  286. package/dist/bundle-core/four-meme/swap-internal.js +0 -18
  287. package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +0 -27
  288. package/dist/bundle-core/four-meme/swap-sign-helpers.js +0 -105
  289. package/dist/bundle-core/four-meme/swap.d.ts +0 -17
  290. package/dist/bundle-core/four-meme/swap.js +0 -505
  291. package/dist/bundle-core/four-meme/types/buy-first.d.ts +0 -50
  292. package/dist/bundle-core/four-meme/types/buy-first.js +0 -1
  293. package/dist/bundle-core/four-meme/types/core-flow.d.ts +0 -63
  294. package/dist/bundle-core/four-meme/types/core-flow.js +0 -1
  295. package/dist/bundle-core/four-meme/types/index.d.ts +0 -600
  296. package/dist/bundle-core/four-meme/types/index.js +0 -1
  297. package/dist/bundle-core/four-meme/types/swap-internal.d.ts +0 -19
  298. package/dist/bundle-core/four-meme/types/swap-internal.js +0 -1
  299. package/dist/bundle-core/four-meme/types.d.ts +0 -1
  300. package/dist/bundle-core/four-meme/types.js +0 -1
  301. package/dist/bundle-core/four-meme/utils-disperse.d.ts +0 -7
  302. package/dist/bundle-core/four-meme/utils-disperse.js +0 -396
  303. package/dist/bundle-core/four-meme/utils-pairwise.d.ts +0 -8
  304. package/dist/bundle-core/four-meme/utils-pairwise.js +0 -328
  305. package/dist/bundle-core/four-meme/utils-sweep.d.ts +0 -8
  306. package/dist/bundle-core/four-meme/utils-sweep.js +0 -744
  307. package/dist/bundle-core/index.d.ts +0 -8
  308. package/dist/bundle-core/index.js +0 -8
  309. package/dist/bundle-core/internal.d.ts +0 -21
  310. package/dist/bundle-core/internal.js +0 -182
  311. package/dist/bundle-core/sign-context-helpers.d.ts +0 -25
  312. package/dist/bundle-core/sign-context-helpers.js +0 -67
  313. package/dist/bundle-core/submit.d.ts +0 -293
  314. package/dist/bundle-core/submit.js +0 -727
  315. package/dist/bundle-core/types/index.d.ts +0 -8
  316. package/dist/bundle-core/types/index.js +0 -1
  317. package/dist/bundle-core/types.d.ts +0 -1
  318. package/dist/bundle-core/types.js +0 -1
  319. package/dist/chains/bsc/four/utils-disperse.d.ts +0 -1
  320. package/dist/chains/bsc/four/utils-disperse.js +0 -1
  321. package/dist/chains/bsc/four/utils-pairwise.d.ts +0 -1
  322. package/dist/chains/bsc/four/utils-pairwise.js +0 -1
  323. package/dist/chains/bsc/four/utils-sweep.d.ts +0 -1
  324. package/dist/chains/bsc/four/utils-sweep.js +0 -1
  325. package/dist/chains/bsc/iro.d.ts +0 -5
  326. package/dist/chains/bsc/iro.js +0 -4
  327. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +0 -159
  328. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +0 -117
  329. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +0 -241
  330. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +0 -565
  331. package/dist/chains/eni/flat-aliases.d.ts +0 -10
  332. package/dist/chains/eni/flat-aliases.js +0 -8
  333. package/dist/chains/eni/submit.d.ts +0 -43
  334. package/dist/chains/eni/submit.js +0 -286
  335. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +0 -13
  336. package/dist/chains/xlayer/eip7702/flat-aliases.js +0 -10
  337. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +0 -79
  338. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +0 -1
  339. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +0 -26
  340. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +0 -57
  341. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +0 -148
  342. package/dist/chains/xlayer/eip7702/volume-helpers.js +0 -48
  343. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +0 -126
  344. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +0 -228
  345. package/dist/contracts/tm-bundle-helpers.d.ts +0 -88
  346. package/dist/contracts/tm-bundle-helpers.js +0 -72
  347. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +0 -1
  348. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +0 -1
  349. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +0 -1
  350. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +0 -1
  351. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +0 -1
  352. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +0 -1
  353. package/dist/dex/direct-router-helpers.d.ts +0 -264
  354. package/dist/dex/direct-router-helpers.js +0 -539
  355. package/dist/dex/types.d.ts +0 -81
  356. package/dist/dex/types.js +0 -1
  357. package/dist/exports/root-bundle-and-tooling.d.ts +0 -27
  358. package/dist/exports/root-bundle-and-tooling.js +0 -30
  359. package/dist/exports/root-eni-and-bsc-iro.d.ts +0 -26
  360. package/dist/exports/root-eni-and-bsc-iro.js +0 -66
  361. package/dist/exports/root-foundations.d.ts +0 -35
  362. package/dist/exports/root-foundations.js +0 -70
  363. package/dist/exports/root-swap-dex-and-xlayer.d.ts +0 -30
  364. package/dist/exports/root-swap-dex-and-xlayer.js +0 -78
  365. package/dist/flap/index.d.ts +0 -10
  366. package/dist/flap/index.js +0 -8
  367. package/dist/flows/index.d.ts +0 -1
  368. package/dist/flows/index.js +0 -1
  369. package/dist/merkle/index.d.ts +0 -12
  370. package/dist/merkle/index.js +0 -11
  371. package/dist/shared/clients/index.d.ts +0 -8
  372. package/dist/shared/clients/index.js +0 -8
  373. package/dist/shared/constants/quote.d.ts +0 -30
  374. package/dist/shared/constants/quote.js +0 -37
  375. package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +0 -32
  376. package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +0 -83
  377. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +0 -125
  378. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +0 -113
  379. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +0 -149
  380. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +0 -259
  381. package/dist/shared/foundation/dex/v3-path.d.ts +0 -6
  382. package/dist/shared/foundation/dex/v3-path.js +0 -35
  383. package/dist/shared/foundation/gas/bundle-gas.d.ts +0 -49
  384. package/dist/shared/foundation/gas/bundle-gas.js +0 -93
  385. package/dist/shared/foundation/gas/profit-hop.d.ts +0 -20
  386. package/dist/shared/foundation/gas/profit-hop.js +0 -72
  387. package/dist/shared/foundation/index.d.ts +0 -13
  388. package/dist/shared/foundation/index.js +0 -12
  389. package/dist/shared/foundation/nonce/nonce-manager.d.ts +0 -17
  390. package/dist/shared/foundation/nonce/nonce-manager.js +0 -183
  391. package/dist/shared/foundation/normalize-unknown.d.ts +0 -9
  392. package/dist/shared/foundation/normalize-unknown.js +0 -29
  393. package/dist/shared/foundation/sdk-logger.d.ts +0 -13
  394. package/dist/shared/foundation/sdk-logger.js +0 -12
  395. package/dist/shared/foundation/tx/build-request.d.ts +0 -17
  396. package/dist/shared/foundation/tx/build-request.js +0 -25
  397. package/dist/shared/foundation/tx/sign-batch.d.ts +0 -5
  398. package/dist/shared/foundation/tx/sign-batch.js +0 -26
  399. package/dist/shared/foundation/tx/wallet-sign-patch.d.ts +0 -1
  400. package/dist/shared/foundation/tx/wallet-sign-patch.js +0 -18
  401. package/dist/shared/foundation/types/airdrop-sweep.d.ts +0 -79
  402. package/dist/shared/foundation/types/airdrop-sweep.js +0 -1
  403. package/dist/shared/foundation/types/erc20.d.ts +0 -65
  404. package/dist/shared/foundation/types/erc20.js +0 -1
  405. package/dist/shared/foundation/types/holders-maker.d.ts +0 -64
  406. package/dist/shared/foundation/types/holders-maker.js +0 -1
  407. package/dist/shared/foundation/types/index.d.ts +0 -7
  408. package/dist/shared/foundation/types/index.js +0 -1
  409. package/dist/shared/foundation/types/lp-inspect.d.ts +0 -102
  410. package/dist/shared/foundation/types/lp-inspect.js +0 -1
  411. package/dist/shared/foundation/types/multicall.d.ts +0 -5
  412. package/dist/shared/foundation/types/multicall.js +0 -1
  413. package/dist/shared/foundation/types/private-sale.d.ts +0 -35
  414. package/dist/shared/foundation/types/private-sale.js +0 -1
  415. package/dist/shared/foundation/types/quote-helpers.d.ts +0 -17
  416. package/dist/shared/foundation/types/quote-helpers.js +0 -1
  417. package/dist/types/errors.d.ts +0 -27
  418. package/dist/types/errors.js +0 -34
  419. package/dist/utils/holders-maker/addresses.d.ts +0 -12
  420. package/dist/utils/holders-maker/addresses.js +0 -15
  421. package/dist/utils/holders-maker/buy-tx.d.ts +0 -44
  422. package/dist/utils/holders-maker/buy-tx.js +0 -278
  423. package/dist/utils/holders-maker/constants.d.ts +0 -6
  424. package/dist/utils/holders-maker/constants.js +0 -7
  425. package/dist/utils/holders-maker/disperse.d.ts +0 -18
  426. package/dist/utils/holders-maker/disperse.js +0 -90
  427. package/dist/utils/holders-maker/routing.d.ts +0 -4
  428. package/dist/utils/holders-maker/routing.js +0 -45
  429. package/dist/utils/holders-maker/transfer-tx.d.ts +0 -4
  430. package/dist/utils/holders-maker/transfer-tx.js +0 -67
  431. package/dist/utils/holders-maker-helpers.d.ts +0 -9
  432. package/dist/utils/holders-maker-helpers.js +0 -9
  433. package/dist/utils/hop-chains.d.ts +0 -35
  434. package/dist/utils/hop-chains.js +0 -215
  435. package/dist/utils/lp-inspect-helpers.d.ts +0 -9
  436. package/dist/utils/lp-inspect-helpers.js +0 -109
  437. package/dist/utils/types/airdrop-sweep.d.ts +0 -1
  438. package/dist/utils/types/airdrop-sweep.js +0 -1
  439. package/dist/utils/types/contract-factory.d.ts +0 -1
  440. package/dist/utils/types/contract-factory.js +0 -1
  441. package/dist/utils/types/erc20.d.ts +0 -1
  442. package/dist/utils/types/erc20.js +0 -1
  443. package/dist/utils/types/errors.d.ts +0 -1
  444. package/dist/utils/types/errors.js +0 -1
  445. package/dist/utils/types/holders-maker.d.ts +0 -1
  446. package/dist/utils/types/holders-maker.js +0 -1
  447. package/dist/utils/types/hop-chains.d.ts +0 -8
  448. package/dist/utils/types/hop-chains.js +0 -1
  449. package/dist/utils/types/index.d.ts +0 -13
  450. package/dist/utils/types/index.js +0 -1
  451. package/dist/utils/types/lp-inspect.d.ts +0 -1
  452. package/dist/utils/types/lp-inspect.js +0 -1
  453. package/dist/utils/types/mpc-exclusive.d.ts +0 -5
  454. package/dist/utils/types/mpc-exclusive.js +0 -1
  455. package/dist/utils/types/private-sale.d.ts +0 -1
  456. package/dist/utils/types/private-sale.js +0 -1
  457. package/dist/utils/types/quote-helpers.d.ts +0 -1
  458. package/dist/utils/types/quote-helpers.js +0 -1
  459. package/dist/utils/types/stealth-transfer.d.ts +0 -44
  460. package/dist/utils/types/stealth-transfer.js +0 -1
  461. package/dist/utils/types/wallet.d.ts +0 -25
  462. package/dist/utils/types/wallet.js +0 -1
  463. package/dist/vanity/index.d.ts +0 -5
  464. package/dist/vanity/index.js +0 -5
  465. package/src/abis/contracts/TaxToken.json +0 -969
  466. package/src/abis/contracts/TokenManager.json +0 -836
  467. package/src/abis/contracts/TokenManager2.json +0 -136
  468. package/src/abis/contracts/TokenManagerHelper3.json +0 -993
  469. /package/dist/{abis/contracts → shared/abis}/TokenManager.json +0 -0
  470. /package/dist/{abis/contracts → shared/abis}/TokenManagerHelper3.json +0 -0
@@ -8,67 +8,67 @@
8
8
  * 4. 多个钱包在 PancakeSwap(外盘)继续买入
9
9
  */
10
10
  import { ethers, Contract, Wallet } from 'ethers';
11
- import { NonceManager, getOptimizedGasPrice, buildProfitHopTransactions, PROFIT_HOP_COUNT, } from '../../../utils/bundle-helpers.js';
11
+ import { NonceManager, getOptimizedGasPrice, buildProfitHopTransactions, PROFIT_HOP_COUNT } from '../../../utils/bundle-helpers.js';
12
12
  import { FLAP_PORTAL_ADDRESSES, FLAP_ORIGINAL_PORTAL_ADDRESSES } from '../constants.js';
13
- import { buildVaultParams, VAULT_PORTAL_ADDRESSES, VAULT_PORTAL_ABI } from '../vault.js';
14
- import { ZERO_ADDRESS } from '../../../shared/constants/index.js';
13
+ import { buildNewTokenV6WithVaultParams, VAULT_PORTAL_ADDRESSES, VAULT_PORTAL_ABI } from '../vault.js';
14
+ import { PROFIT_CONFIG, ZERO_ADDRESS } from '../../../utils/constants.js';
15
15
  import { GAS_LIMITS } from '../../constants/index.js';
16
- import { getGasPriceConfig, getTxType, getProfitRecipient, getProfitRateBps, getBribeAmount, BLOCKRAZOR_BUILDER_EOA, PORTAL_ABI, } from './config.js';
16
+ import { getGasPriceConfig, getTxType, getProfitRecipient, getBribeAmount, BLOCKRAZOR_BUILDER_EOA, PORTAL_ABI } from './config.js';
17
17
  // ==================== ERC20 ABI ====================
18
18
  const ERC20_ABI = [
19
19
  {
20
- type: 'function',
21
- name: 'approve',
20
+ type: "function",
21
+ name: "approve",
22
22
  inputs: [
23
- { name: 'spender', type: 'address' },
24
- { name: 'amount', type: 'uint256' },
23
+ { name: "spender", type: "address" },
24
+ { name: "amount", type: "uint256" }
25
25
  ],
26
- outputs: [{ name: '', type: 'bool' }],
27
- stateMutability: 'nonpayable',
28
- },
26
+ outputs: [{ name: "", type: "bool" }],
27
+ stateMutability: "nonpayable"
28
+ }
29
29
  ];
30
30
  // ==================== PancakeSwap Router ABI ====================
31
31
  const PANCAKE_ROUTER_ABI = [
32
32
  {
33
- type: 'function',
34
- name: 'exactInputSingle',
33
+ type: "function",
34
+ name: "exactInputSingle",
35
35
  inputs: [
36
36
  {
37
- name: 'params',
38
- type: 'tuple',
37
+ name: "params",
38
+ type: "tuple",
39
39
  components: [
40
- { name: 'tokenIn', type: 'address' },
41
- { name: 'tokenOut', type: 'address' },
42
- { name: 'fee', type: 'uint24' },
43
- { name: 'recipient', type: 'address' },
44
- { name: 'amountIn', type: 'uint256' },
45
- { name: 'amountOutMinimum', type: 'uint256' },
46
- { name: 'sqrtPriceLimitX96', type: 'uint160' },
47
- ],
48
- },
40
+ { name: "tokenIn", type: "address" },
41
+ { name: "tokenOut", type: "address" },
42
+ { name: "fee", type: "uint24" },
43
+ { name: "recipient", type: "address" },
44
+ { name: "amountIn", type: "uint256" },
45
+ { name: "amountOutMinimum", type: "uint256" },
46
+ { name: "sqrtPriceLimitX96", type: "uint160" }
47
+ ]
48
+ }
49
49
  ],
50
- outputs: [{ name: 'amountOut', type: 'uint256' }],
51
- stateMutability: 'payable',
50
+ outputs: [{ name: "amountOut", type: "uint256" }],
51
+ stateMutability: "payable"
52
52
  },
53
53
  {
54
- type: 'function',
55
- name: 'multicall',
56
- inputs: [{ name: 'data', type: 'bytes[]' }],
57
- outputs: [{ name: 'results', type: 'bytes[]' }],
58
- stateMutability: 'payable',
54
+ type: "function",
55
+ name: "multicall",
56
+ inputs: [{ name: "data", type: "bytes[]" }],
57
+ outputs: [{ name: "results", type: "bytes[]" }],
58
+ stateMutability: "payable"
59
59
  },
60
60
  {
61
- type: 'function',
62
- name: 'swapExactTokensForTokens',
61
+ type: "function",
62
+ name: "swapExactTokensForTokens",
63
63
  inputs: [
64
- { name: 'amountIn', type: 'uint256' },
65
- { name: 'amountOutMin', type: 'uint256' },
66
- { name: 'path', type: 'address[]' },
67
- { name: 'to', type: 'address' },
64
+ { name: "amountIn", type: "uint256" },
65
+ { name: "amountOutMin", type: "uint256" },
66
+ { name: "path", type: "address[]" },
67
+ { name: "to", type: "address" }
68
68
  ],
69
- outputs: [{ name: 'amountOut', type: 'uint256' }],
70
- stateMutability: 'payable',
71
- },
69
+ outputs: [{ name: "amountOut", type: "uint256" }],
70
+ stateMutability: "payable"
71
+ }
72
72
  ];
73
73
  // ==================== DEX 地址常量 ====================
74
74
  const DEX_ADDRESSES = {
@@ -85,7 +85,7 @@ const DEX_ADDRESSES = {
85
85
  // ✅ Base 使用 Uniswap V3 SwapRouter02
86
86
  UNISWAP_SMART_ROUTER: '0x2626664c2603336E57B271c5C0b26F421741e481',
87
87
  WETH: '0x4200000000000000000000000000000000000006',
88
- },
88
+ }
89
89
  };
90
90
  // ==================== 链常量 ====================
91
91
  // 获取链配置
@@ -102,7 +102,8 @@ function getChainConfig(chain) {
102
102
  }
103
103
  // ==================== 工具函数 ====================
104
104
  /** 构建 ERC20 approve 交易 */
105
- async function buildApproveTransaction(wallet, tokenAddress, spenderAddress, amount, nonce, gasPrice, txType, chainId = 56) {
105
+ async function buildApproveTransaction(wallet, tokenAddress, spenderAddress, amount, nonce, gasPrice, txType, chainId = 56 // ✅ 添加 chainId 参数
106
+ ) {
106
107
  const erc20Interface = new ethers.Interface(ERC20_ABI);
107
108
  const data = erc20Interface.encodeFunctionData('approve', [spenderAddress, amount]);
108
109
  const tx = {
@@ -110,9 +111,9 @@ async function buildApproveTransaction(wallet, tokenAddress, spenderAddress, amo
110
111
  data,
111
112
  from: wallet.address,
112
113
  nonce,
113
- gasLimit: BigInt(100_000), // approve 交易 gas 较低
114
+ gasLimit: BigInt(100000), // approve 交易 gas 较低
114
115
  chainId,
115
- type: txType,
116
+ type: txType
116
117
  };
117
118
  if (txType === 2) {
118
119
  const priorityFee = gasPrice / 10n === 0n ? 1n : gasPrice / 10n;
@@ -166,11 +167,11 @@ function parseQuoteAmount(amount, useNativeToken, quoteTokenDecimals) {
166
167
  * 若 SDK 这里再次 splitAmount,会导致实际 buyAmount 与 UI/预期不一致,并引发余额不足(insufficient funds)。
167
168
  */
168
169
  function resolveBuyerAmounts(buyers, totalAmountStr, useNativeToken, quoteTokenDecimals) {
169
- const provided = buyers.map((b) => b?.buyAmount).filter((v) => v != null && String(v).trim() !== '');
170
+ const provided = buyers.map(b => b?.buyAmount).filter(v => v != null && String(v).trim() !== '');
170
171
  const allProvided = provided.length === buyers.length;
171
172
  if (allProvided) {
172
173
  // ✅ 所有买家都显式提供了 buyAmount:按传入金额构建,但要修正“浮点/四舍五入导致总和偏差”
173
- const amounts = buyers.map((b) => parseQuoteAmount(String(b.buyAmount), useNativeToken, quoteTokenDecimals));
174
+ const amounts = buyers.map(b => parseQuoteAmount(String(b.buyAmount), useNativeToken, quoteTokenDecimals));
174
175
  const totalWei = parseQuoteAmount(totalAmountStr, useNativeToken, quoteTokenDecimals);
175
176
  const sum = amounts.reduce((a, b) => a + b, 0n);
176
177
  const delta = totalWei - sum;
@@ -200,7 +201,7 @@ function resolveBuyerAmounts(buyers, totalAmountStr, useNativeToken, quoteTokenD
200
201
  * 5. 利润多跳转账
201
202
  */
202
203
  export async function flapBundleCreateToDex(params) {
203
- const { chain, devPrivateKey, tokenInfo, tokenAddress, quoteToken, quoteTokenDecimals = 18, curveBuyers, curveTotalBuyAmount, enableDexBuy = false, dexBuyers = [], dexTotalBuyAmount, dexPoolType = 'v3', v3Fee = 2500, config, } = params;
204
+ const { chain, devPrivateKey, tokenInfo, tokenAddress, quoteToken, quoteTokenDecimals = 18, curveBuyers, curveTotalBuyAmount, enableDexBuy = false, dexBuyers = [], dexTotalBuyAmount, dexPoolType = 'v3', v3Fee = 2500, config } = params;
204
205
  // 验证参数
205
206
  if (curveBuyers.length === 0) {
206
207
  throw new Error('至少需要一个内盘买入钱包');
@@ -234,30 +235,34 @@ export async function flapBundleCreateToDex(params) {
234
235
  // 创建 Provider
235
236
  const provider = new ethers.JsonRpcProvider(config.rpcUrl, {
236
237
  chainId,
237
- name: chain.toUpperCase(),
238
+ name: chain.toUpperCase()
238
239
  });
239
240
  const portalAddress = FLAP_PORTAL_ADDRESSES[chain.toUpperCase()];
240
241
  const originalPortalAddress = FLAP_ORIGINAL_PORTAL_ADDRESSES[chain.toUpperCase()];
241
242
  const nonceManager = new NonceManager(provider);
242
243
  // 创建钱包实例
243
244
  const devWallet = new Wallet(devPrivateKey, provider);
244
- const curveWallets = curveBuyers.map((b) => ({
245
+ const curveWallets = curveBuyers.map(b => ({
245
246
  wallet: new Wallet(b.privateKey, provider),
246
- buyAmount: b.buyAmount,
247
+ buyAmount: b.buyAmount
247
248
  }));
248
- const dexWallets = (enableDexBuy ? dexBuyers : []).map((b) => ({
249
+ const dexWallets = (enableDexBuy ? dexBuyers : []).map(b => ({
249
250
  wallet: new Wallet(b.privateKey, provider),
250
- buyAmount: b.buyAmount,
251
+ buyAmount: b.buyAmount
251
252
  }));
252
253
  // ✅ 并行获取 gasPrice + 所有钱包 nonces
253
- const allWallets = [devWallet, ...curveWallets.map((c) => c.wallet), ...dexWallets.map((d) => d.wallet)];
254
+ const allWallets = [
255
+ devWallet,
256
+ ...curveWallets.map(c => c.wallet),
257
+ ...dexWallets.map(d => d.wallet)
258
+ ];
254
259
  const uniqueWallets = allWallets.filter((w, i) => {
255
260
  const addr = w.address.toLowerCase();
256
- return allWallets.findIndex((x) => x.address.toLowerCase() === addr) === i;
261
+ return allWallets.findIndex(x => x.address.toLowerCase() === addr) === i;
257
262
  });
258
263
  const [gasPrice, noncesArray] = await Promise.all([
259
264
  getOptimizedGasPrice(provider, getGasPriceConfig(config)),
260
- nonceManager.getNextNoncesForWallets(uniqueWallets),
265
+ nonceManager.getNextNoncesForWallets(uniqueWallets)
261
266
  ]);
262
267
  // 构建 nonces Map
263
268
  const noncesMap = new Map();
@@ -277,8 +282,9 @@ export async function flapBundleCreateToDex(params) {
277
282
  dexBuyAmounts = resolveBuyerAmounts(dexBuyers, dexTotalBuyAmount, useNativeToken, quoteTokenDecimals);
278
283
  }
279
284
  // ✅ 计算利润
280
- const totalBuyAmount = curveBuyAmounts.reduce((a, b) => a + b, 0n) + dexBuyAmounts.reduce((a, b) => a + b, 0n);
281
- const profitAmount = (totalBuyAmount * BigInt(getProfitRateBps())) / 10000n;
285
+ const totalBuyAmount = curveBuyAmounts.reduce((a, b) => a + b, 0n)
286
+ + dexBuyAmounts.reduce((a, b) => a + b, 0n);
287
+ const profitAmount = (totalBuyAmount * BigInt(PROFIT_CONFIG.RATE_BPS)) / 10000n;
282
288
  // ==================== 构建交易 ====================
283
289
  const allTransactions = [];
284
290
  // 使用第一个内盘买家作为贿赂支付者(提高 bundle 打包优先级)
@@ -295,7 +301,7 @@ export async function flapBundleCreateToDex(params) {
295
301
  gasPrice,
296
302
  gasLimit: GAS_LIMITS.BRIBE,
297
303
  chainId,
298
- type: txType,
304
+ type: txType
299
305
  });
300
306
  allTransactions.push(bribeTx);
301
307
  }
@@ -322,42 +328,30 @@ export async function flapBundleCreateToDex(params) {
322
328
  if (total !== 10000) {
323
329
  throw new Error(`Tax distribution must sum to 10000 (100%), got ${total}`);
324
330
  }
325
- // ✅ 判断是否使用金库模式(VaultPortal.newTaxTokenWithVault
331
+ // ✅ 判断是否使用金库模式(VaultPortal.newTokenV6WithVault + TOKEN_TAXED_V3
326
332
  const hasVault = tv2.vaultConfig && tv2.vaultConfig.vaultType !== 'none';
327
333
  if (hasVault) {
328
- // ✅ 金库模式:通过 VaultPortal.newTaxTokenWithVault 创建代币
334
+ // ✅ 金库模式:通过 VaultPortal.newTokenV6WithVault 创建代币
329
335
  const chainKey = chain.toUpperCase();
330
336
  const vaultPortalAddr = VAULT_PORTAL_ADDRESSES[chainKey];
331
337
  if (!vaultPortalAddr) {
332
338
  throw new Error(`链 "${chain}" 不支持 Tax Vault 金库功能`);
333
339
  }
334
340
  const vaultPortal = new Contract(vaultPortalAddr, VAULT_PORTAL_ABI, devWallet);
335
- const { vaultFactory, vaultData } = buildVaultParams(tv2.vaultConfig, chainKey);
336
- createUnsigned = await vaultPortal.newTaxTokenWithVault.populateTransaction({
337
- name: tokenInfo.name,
338
- symbol: tokenInfo.symbol,
339
- meta: tokenInfo.meta,
340
- dexThresh: (params.dexThresh ?? 1) & 0xff,
341
- salt: params.salt ?? '0x' + '00'.repeat(32),
342
- taxRate: (params.taxRate ?? 0) & 0xffff,
343
- migratorType: (params.migratorType ?? 0) & 0xff,
341
+ const v6Params = buildNewTokenV6WithVaultParams({
342
+ tokenInfo,
343
+ taxV2: tv2,
344
+ chain: chainKey,
345
+ salt: params.salt ?? ('0x' + '00'.repeat(32)),
346
+ taxRate: params.taxRate ?? 0,
347
+ dexThresh: params.dexThresh,
348
+ migratorType: params.migratorType,
344
349
  quoteToken: inputToken,
345
350
  quoteAmt: 0n,
346
- permitData: '0x',
347
- extensionID: '0x' + '00'.repeat(32),
348
- extensionData: '0x',
349
- dexId: (params.dexId ?? 0) & 0xff,
350
- lpFeeProfile: (params.lpFeeProfile ?? 0) & 0xff,
351
- taxDuration: BigInt(tv2.taxDuration),
352
- antiFarmerDuration: BigInt(tv2.antiFarmerDuration),
353
- mktBps: tv2.mktBps & 0xffff,
354
- deflationBps: tv2.deflationBps & 0xffff,
355
- dividendBps: tv2.dividendBps & 0xffff,
356
- lpBps: tv2.lpBps & 0xffff,
357
- minimumShareBalance: BigInt(tv2.minimumShareBalance ?? 10000) * 10n ** 18n,
358
- vaultFactory,
359
- vaultData,
351
+ dexId: params.dexId,
352
+ lpFeeProfile: params.lpFeeProfile,
360
353
  });
354
+ createUnsigned = await vaultPortal.newTokenV6WithVault.populateTransaction(v6Params);
361
355
  }
362
356
  else {
363
357
  // 标准 V5: Portal.newTokenV5(无金库)
@@ -383,7 +377,7 @@ export async function flapBundleCreateToDex(params) {
383
377
  deflationBps: tv2.deflationBps & 0xffff,
384
378
  dividendBps: tv2.dividendBps & 0xffff,
385
379
  lpBps: tv2.lpBps & 0xffff,
386
- minimumShareBalance: BigInt(tv2.minimumShareBalance ?? 10000) * 10n ** 18n,
380
+ minimumShareBalance: BigInt(tv2.minimumShareBalance ?? 10000) * (10n ** 18n),
387
381
  });
388
382
  }
389
383
  }
@@ -404,7 +398,7 @@ export async function flapBundleCreateToDex(params) {
404
398
  extensionID: params.extensionID ?? '0x' + '00'.repeat(32),
405
399
  extensionData: params.extensionData ?? '0x',
406
400
  dexId: (params.dexId ?? 0) & 0xff,
407
- lpFeeProfile: (params.lpFeeProfile ?? 0) & 0xff,
401
+ lpFeeProfile: (params.lpFeeProfile ?? 0) & 0xff
408
402
  });
409
403
  }
410
404
  else if (useV3) {
@@ -422,7 +416,7 @@ export async function flapBundleCreateToDex(params) {
422
416
  beneficiary: devWallet.address,
423
417
  permitData: '0x',
424
418
  extensionID: params.extensionID,
425
- extensionData: params.extensionData ?? '0x',
419
+ extensionData: params.extensionData ?? '0x'
426
420
  });
427
421
  }
428
422
  else {
@@ -438,7 +432,7 @@ export async function flapBundleCreateToDex(params) {
438
432
  quoteToken: inputToken,
439
433
  quoteAmt: 0n,
440
434
  beneficiary: devWallet.address,
441
- permitData: '0x',
435
+ permitData: '0x'
442
436
  });
443
437
  }
444
438
  const createTx = {
@@ -447,7 +441,7 @@ export async function flapBundleCreateToDex(params) {
447
441
  nonce: devNonce,
448
442
  gasLimit: finalGasLimit,
449
443
  chainId,
450
- type: txType,
444
+ type: txType
451
445
  };
452
446
  if (txType === 2) {
453
447
  createTx.maxFeePerGas = gasPrice;
@@ -469,7 +463,8 @@ export async function flapBundleCreateToDex(params) {
469
463
  if (!useNativeToken) {
470
464
  const approveNonce = noncesMap.get(addr);
471
465
  noncesMap.set(addr, approveNonce + 1);
472
- const approveTx = await buildApproveTransaction(wallet, quoteToken, portalAddress, curveBuyAmounts[i], approveNonce, gasPrice, txType, chainId);
466
+ const approveTx = await buildApproveTransaction(wallet, quoteToken, portalAddress, curveBuyAmounts[i], approveNonce, gasPrice, txType, chainId // ✅ 传递 chainId
467
+ );
473
468
  signedTxs.push(approveTx);
474
469
  }
475
470
  // 构建买入交易
@@ -485,18 +480,16 @@ export async function flapBundleCreateToDex(params) {
485
480
  inputAmount: curveBuyAmounts[i],
486
481
  minOutputAmount: 0n,
487
482
  permitData: '0x', // 不使用 permit,使用链上 approve
488
- extensionData,
483
+ extensionData
489
484
  }, useNativeToken ? { value: curveBuyAmounts[i] } : {});
490
485
  // 最后一个买家触发毕业,需要更多 gas
491
486
  const isLastBuyer = i === curveWallets.length - 1;
492
487
  // ⚠️ 触发毕业(创建 Pancake V3 池 + Mint 初始流动性)会非常耗 gas。
493
488
  // 链上成功样例 0x29b173... 的 gasLimit=8,000,000,gasUsed≈6,647,149。
494
489
  // Flap 官方示例脚本也使用 last_buy=8_000_000。
495
- const LAST_BUY_GAS_LIMIT = BigInt(8_000_000);
490
+ const LAST_BUY_GAS_LIMIT = BigInt(8000000);
496
491
  const buyGasLimit = isLastBuyer
497
- ? finalGasLimit > LAST_BUY_GAS_LIMIT
498
- ? finalGasLimit
499
- : LAST_BUY_GAS_LIMIT
492
+ ? (finalGasLimit > LAST_BUY_GAS_LIMIT ? finalGasLimit : LAST_BUY_GAS_LIMIT)
500
493
  : finalGasLimit;
501
494
  const tx = {
502
495
  ...unsigned,
@@ -505,7 +498,7 @@ export async function flapBundleCreateToDex(params) {
505
498
  gasLimit: buyGasLimit,
506
499
  chainId,
507
500
  type: txType,
508
- value: useNativeToken ? curveBuyAmounts[i] : 0n,
501
+ value: useNativeToken ? curveBuyAmounts[i] : 0n
509
502
  };
510
503
  if (txType === 2) {
511
504
  tx.maxFeePerGas = gasPrice;
@@ -520,11 +513,11 @@ export async function flapBundleCreateToDex(params) {
520
513
  });
521
514
  const curveBuyResults = await Promise.all(curveBuyTxPromises);
522
515
  // 展平数组:每个钱包可能有 [approve, buy] 或只有 [buy]
523
- curveBuyResults.forEach((txs) => allTransactions.push(...txs));
516
+ curveBuyResults.forEach(txs => allTransactions.push(...txs));
524
517
  // 4. 外盘买入交易(直接调用 PancakeSwap Router)
525
518
  // ✅ 重要修改:直接调用 PancakeSwap SmartRouter
526
519
  // 参考官方代码: flap-bundle-release/app/v2/pvp/001_launch_buy.ts
527
- //
520
+ //
528
521
  // ⚠️ 关键:税代币(migratorType=1)毕业到 V2 池,必须用 swapExactTokensForTokens
529
522
  // 普通代币(migratorType=0)毕业到 V3 池,使用 exactInputSingle
530
523
  if (enableDexBuy && dexWallets.length > 0) {
@@ -547,7 +540,7 @@ export async function flapBundleCreateToDex(params) {
547
540
  // migratorType === 1 (V2_MIGRATOR) → 毕业到 V2 池 → 必须使用 V2 买入
548
541
  // migratorType === 0 (V3_MIGRATOR) → 毕业到 V3 池 → 使用 V3 买入
549
542
  // 参考: flap-bundle-release 中税代币使用 PoolType.V2,普通代币使用 PoolType.V3
550
- const effectiveDexPoolType = params.migratorType === 1 ? 'v2' : dexPoolType || 'v3';
543
+ const effectiveDexPoolType = (params.migratorType === 1) ? 'v2' : (dexPoolType || 'v3');
551
544
  // 获取 V3 费率(仅 V3 池使用)
552
545
  const dexV3Fee = actualV3Fee;
553
546
  const dexBuyTxPromises = dexWallets.map(async ({ wallet }, i) => {
@@ -576,7 +569,7 @@ export async function flapBundleCreateToDex(params) {
576
569
  buyAmount,
577
570
  0n, // amountOutMin: 不设置滑点保护(Bundle 中可以接受)
578
571
  [tokenIn, tokenAddress], // path: WBNB/QuoteToken → Token
579
- wallet.address, // recipient
572
+ wallet.address // recipient
580
573
  ]);
581
574
  multicallData = routerInterface.encodeFunctionData('multicall', [[swapData]]);
582
575
  }
@@ -589,14 +582,14 @@ export async function flapBundleCreateToDex(params) {
589
582
  recipient: wallet.address,
590
583
  amountIn: buyAmount,
591
584
  amountOutMinimum: 0n, // 不设置滑点保护(Bundle 中可以接受)
592
- sqrtPriceLimitX96: 0n,
585
+ sqrtPriceLimitX96: 0n
593
586
  };
594
587
  const exactInputSingleData = routerInterface.encodeFunctionData('exactInputSingle', [exactInputSingleParams]);
595
588
  multicallData = routerInterface.encodeFunctionData('multicall', [[exactInputSingleData]]);
596
589
  }
597
590
  // ⚠️ Pancake SmartRouter 外盘买的 gas 不能太小,否则 bundle 预执行会直接失败。
598
591
  // Flap 官方示例配置 dex_buy=5_000_000(flap-bundle-release/app/configs/global.ts)。
599
- const DEX_BUY_GAS_LIMIT = BigInt(8_000_000);
592
+ const DEX_BUY_GAS_LIMIT = BigInt(8000000);
600
593
  const tx = {
601
594
  to: smartRouterAddress,
602
595
  data: multicallData,
@@ -604,7 +597,7 @@ export async function flapBundleCreateToDex(params) {
604
597
  gasLimit: DEX_BUY_GAS_LIMIT,
605
598
  chainId,
606
599
  type: txType,
607
- value: useNativeToken ? buyAmount : 0n,
600
+ value: useNativeToken ? buyAmount : 0n
608
601
  };
609
602
  if (txType === 2) {
610
603
  tx.maxFeePerGas = gasPrice;
@@ -619,7 +612,7 @@ export async function flapBundleCreateToDex(params) {
619
612
  });
620
613
  const dexBuyResults = await Promise.all(dexBuyTxPromises);
621
614
  // 展平数组:每个钱包可能有 [approve, buy] 或只有 [buy]
622
- dexBuyResults.forEach((txs) => allTransactions.push(...txs));
615
+ dexBuyResults.forEach(txs => allTransactions.push(...txs));
623
616
  }
624
617
  // 5. 利润多跳转账
625
618
  let profitHopWallets;
@@ -637,7 +630,7 @@ export async function flapBundleCreateToDex(params) {
637
630
  gasPrice,
638
631
  chainId,
639
632
  txType,
640
- startNonce: profitNonce,
633
+ startNonce: profitNonce
641
634
  });
642
635
  allTransactions.push(...profitResult.signedTransactions);
643
636
  profitHopWallets = profitResult.hopWallets;
@@ -654,7 +647,7 @@ export async function flapBundleCreateToDex(params) {
654
647
  enableDexBuy,
655
648
  dexBuyerCount: dexBuyers.length,
656
649
  dexTotalBuy: dexBuyAmounts.length > 0 ? ethers.formatEther(dexBuyAmounts.reduce((a, b) => a + b, 0n)) : '0',
657
- profitAmount: profitAmount > 0n ? ethers.formatEther(profitAmount) : undefined,
658
- },
650
+ profitAmount: profitAmount > 0n ? ethers.formatEther(profitAmount) : undefined
651
+ }
659
652
  };
660
653
  }