four-flap-meme-sdk 2.2.7 → 2.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (474) hide show
  1. package/README.en.md +6 -41
  2. package/README.md +0 -31
  3. package/README.zh-CN.md +6 -41
  4. package/dist/chains/bsc/four/approve-tokenmanager.d.ts +26 -1
  5. package/dist/chains/bsc/four/approve-tokenmanager.js +113 -1
  6. package/dist/chains/bsc/four/config.d.ts +67 -5
  7. package/dist/chains/bsc/four/config.js +114 -2
  8. package/dist/chains/bsc/four/core.d.ts +4 -1
  9. package/dist/chains/bsc/four/core.js +592 -1
  10. package/dist/chains/bsc/four/index.d.ts +6 -6
  11. package/dist/chains/bsc/four/index.js +6 -6
  12. package/dist/chains/bsc/four/internal.d.ts +46 -2
  13. package/dist/chains/bsc/four/internal.js +239 -2
  14. package/dist/chains/bsc/four/pancake-proxy.d.ts +28 -1
  15. package/dist/chains/bsc/four/pancake-proxy.js +687 -1
  16. package/dist/chains/bsc/four/private.d.ts +27 -1
  17. package/dist/chains/bsc/four/private.js +477 -1
  18. package/dist/chains/bsc/four/submit.d.ts +315 -2
  19. package/dist/chains/bsc/four/submit.js +752 -2
  20. package/dist/chains/bsc/four/swap-buy-first.d.ts +55 -2
  21. package/dist/chains/bsc/four/swap-buy-first.js +507 -2
  22. package/dist/chains/bsc/four/swap-internal.d.ts +3 -1
  23. package/dist/chains/bsc/four/swap-internal.js +18 -1
  24. package/dist/chains/bsc/four/swap.d.ts +144 -2
  25. package/dist/chains/bsc/four/swap.js +766 -2
  26. package/dist/chains/bsc/four/types.d.ts +476 -1
  27. package/dist/chains/bsc/four/utils.d.ts +18 -5
  28. package/dist/chains/bsc/four/utils.js +1552 -5
  29. package/dist/chains/bsc/pancake/bundle-buy-first.d.ts +91 -1
  30. package/dist/chains/bsc/pancake/bundle-buy-first.js +212 -97
  31. package/dist/chains/bsc/pancake/bundle-swap.d.ts +79 -1
  32. package/dist/chains/bsc/pancake/bundle-swap.js +726 -114
  33. package/dist/chains/bsc/pancake/index.d.ts +2 -4
  34. package/dist/chains/bsc/pancake/index.js +3 -1
  35. package/dist/chains/bsc/platforms/iro/factory.d.ts +2 -2
  36. package/dist/chains/bsc/platforms/iro/factory.js +1 -3
  37. package/dist/chains/bsc/platforms/iro/index.d.ts +5 -5
  38. package/dist/chains/bsc/platforms/iro/index.js +3 -3
  39. package/dist/chains/bsc/platforms/iro/pool.js +10 -31
  40. package/dist/chains/bsc/platforms/iro/token.js +1 -4
  41. package/dist/chains/eni/batch-router/bundle-approve.js +3 -4
  42. package/dist/chains/eni/batch-router/transfer.js +25 -55
  43. package/dist/chains/eni/batch-router/utils.js +6 -32
  44. package/dist/chains/eni/bundler/sign.js +6 -5
  45. package/dist/chains/eni/bundler/submit.js +4 -1
  46. package/dist/chains/eni/constants.js +1 -1
  47. package/dist/chains/eni/index.d.ts +1 -2
  48. package/dist/chains/eni/index.js +0 -1
  49. package/dist/chains/eni/platforms/daoaas/create.js +2 -2
  50. package/dist/chains/eni/platforms/daoaas/index.d.ts +3 -3
  51. package/dist/chains/eni/platforms/daoaas/index.js +3 -3
  52. package/dist/chains/eni/platforms/daoaas/meta.js +6 -9
  53. package/dist/chains/eni/platforms/daoaas/portal-direct.js +44 -28
  54. package/dist/chains/eni/platforms/daoaas/portal.js +6 -10
  55. package/dist/chains/eni/platforms/dswap/liquidity.js +26 -58
  56. package/dist/chains/eni/platforms/fair-launch/index.d.ts +2 -2
  57. package/dist/chains/eni/platforms/fair-launch/index.js +1 -1
  58. package/dist/chains/eni/platforms/fair-launch/launcher.js +46 -87
  59. package/dist/chains/eni/platforms/fair-launch/pool.js +1 -4
  60. package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
  61. package/dist/chains/eni/platforms/iro/factory.d.ts +2 -2
  62. package/dist/chains/eni/platforms/iro/factory.js +1 -3
  63. package/dist/chains/eni/platforms/iro/index.d.ts +6 -6
  64. package/dist/chains/eni/platforms/iro/index.js +4 -4
  65. package/dist/chains/eni/platforms/iro/pool.js +26 -90
  66. package/dist/chains/eni/platforms/iro/token.js +31 -107
  67. package/dist/chains/eni/platforms/iro/whitelist.js +18 -6
  68. package/dist/chains/index.d.ts +0 -13
  69. package/dist/chains/index.js +0 -13
  70. package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +26 -2
  71. package/dist/chains/xlayer/eip7702/bundle-approve.js +21 -11
  72. package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +6 -2
  73. package/dist/chains/xlayer/eip7702/bundle-buy.js +51 -13
  74. package/dist/chains/xlayer/eip7702/bundle-create.js +59 -93
  75. package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +6 -2
  76. package/dist/chains/xlayer/eip7702/bundle-sell.js +111 -29
  77. package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +65 -3
  78. package/dist/chains/xlayer/eip7702/bundle-swap.js +245 -51
  79. package/dist/chains/xlayer/eip7702/constants.d.ts +16 -1
  80. package/dist/chains/xlayer/eip7702/constants.js +21 -3
  81. package/dist/chains/xlayer/eip7702/index.d.ts +46 -28
  82. package/dist/chains/xlayer/eip7702/index.js +81 -28
  83. package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +203 -2
  84. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +307 -63
  85. package/dist/chains/xlayer/eip7702/types.d.ts +0 -88
  86. package/dist/chains/xlayer/eip7702/utils.d.ts +3 -0
  87. package/dist/chains/xlayer/eip7702/utils.js +28 -23
  88. package/dist/chains/xlayer/eip7702/volume.d.ts +184 -6
  89. package/dist/chains/xlayer/eip7702/volume.js +164 -89
  90. package/dist/chains/xlayer/eoa/constants.js +1 -1
  91. package/dist/chains/xlayer/eoa/dex-helpers.js +5 -5
  92. package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +95 -1
  93. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +299 -66
  94. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
  95. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +23 -18
  96. package/dist/chains/xlayer/eoa/index.d.ts +6 -10
  97. package/dist/chains/xlayer/eoa/index.js +23 -8
  98. package/dist/chains/xlayer/eoa/portal-ops.js +2 -7
  99. package/dist/chains/xlayer/eoa/router-manager.js +3 -3
  100. package/dist/chains/xlayer/eoa/types.d.ts +2 -2
  101. package/dist/chains/xlayer/eoa/types.js +3 -1
  102. package/dist/chains/xlayer/index.d.ts +2 -3
  103. package/dist/chains/xlayer/index.js +7 -4
  104. package/dist/contracts/helper3.d.ts +5 -20
  105. package/dist/contracts/helper3.js +20 -56
  106. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +26 -1
  107. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +113 -1
  108. package/dist/contracts/tm-bundle-merkle/config.d.ts +67 -5
  109. package/dist/contracts/tm-bundle-merkle/config.js +114 -2
  110. package/dist/contracts/tm-bundle-merkle/core.d.ts +4 -1
  111. package/dist/contracts/tm-bundle-merkle/core.js +591 -1
  112. package/dist/contracts/tm-bundle-merkle/index.d.ts +5 -5
  113. package/dist/contracts/tm-bundle-merkle/index.js +5 -5
  114. package/dist/contracts/tm-bundle-merkle/internal.d.ts +46 -2
  115. package/dist/contracts/tm-bundle-merkle/internal.js +238 -2
  116. package/dist/contracts/tm-bundle-merkle/pancake-proxy.d.ts +28 -1
  117. package/dist/contracts/tm-bundle-merkle/pancake-proxy.js +686 -1
  118. package/dist/contracts/tm-bundle-merkle/private.d.ts +27 -1
  119. package/dist/contracts/tm-bundle-merkle/private.js +476 -1
  120. package/dist/contracts/tm-bundle-merkle/submit.d.ts +314 -3
  121. package/dist/contracts/tm-bundle-merkle/submit.js +928 -3
  122. package/dist/contracts/tm-bundle-merkle/swap-buy-first.d.ts +55 -2
  123. package/dist/contracts/tm-bundle-merkle/swap-buy-first.js +506 -2
  124. package/dist/contracts/tm-bundle-merkle/swap-internal.d.ts +3 -1
  125. package/dist/contracts/tm-bundle-merkle/swap-internal.js +18 -1
  126. package/dist/contracts/tm-bundle-merkle/swap.d.ts +144 -2
  127. package/dist/contracts/tm-bundle-merkle/swap.js +764 -2
  128. package/dist/contracts/tm-bundle-merkle/types.d.ts +476 -1
  129. package/dist/contracts/tm-bundle-merkle/utils.d.ts +18 -6
  130. package/dist/contracts/tm-bundle-merkle/utils.js +1501 -6
  131. package/dist/contracts/tm-bundle.d.ts +51 -3
  132. package/dist/contracts/tm-bundle.js +177 -108
  133. package/dist/contracts/tm.d.ts +2 -3
  134. package/dist/contracts/tm.js +32 -37
  135. package/dist/contracts/tm1.js +4 -9
  136. package/dist/contracts/tm2.js +4 -9
  137. package/dist/dex/direct-router.d.ts +125 -3
  138. package/dist/dex/direct-router.js +666 -237
  139. package/dist/flows/create.d.ts +1 -2
  140. package/dist/flows/create.js +6 -6
  141. package/dist/index.d.ts +86 -20
  142. package/dist/index.js +216 -20
  143. package/dist/shared/abis/TaxToken.json +105 -0
  144. package/dist/shared/abis/TokenManager2.json +60 -0
  145. package/dist/shared/abis/common.d.ts +83 -2
  146. package/dist/shared/abis/common.js +253 -2
  147. package/dist/shared/abis/index.d.ts +6 -5
  148. package/dist/shared/abis/index.js +7 -5
  149. package/dist/shared/clients/blockrazor.js +25 -39
  150. package/dist/shared/clients/club48.d.ts +2 -2
  151. package/dist/shared/clients/club48.js +29 -34
  152. package/dist/shared/clients/emitservice.js +0 -2
  153. package/dist/shared/clients/four.d.ts +6 -21
  154. package/dist/shared/clients/four.js +24 -29
  155. package/dist/shared/clients/merkle.js +34 -27
  156. package/dist/shared/constants/addresses.d.ts +1 -1
  157. package/dist/shared/constants/addresses.js +2 -11
  158. package/dist/shared/constants/chains.d.ts +1 -1
  159. package/dist/shared/constants/chains.js +1 -1
  160. package/dist/shared/constants/gas.d.ts +1 -1
  161. package/dist/shared/constants/gas.js +6 -2
  162. package/dist/shared/constants/index.d.ts +0 -3
  163. package/dist/shared/constants/index.js +0 -1
  164. package/dist/shared/flap/abi.js +1 -1
  165. package/dist/shared/flap/constants.d.ts +2 -1
  166. package/dist/shared/flap/constants.js +4 -3
  167. package/dist/shared/flap/curve.js +0 -3
  168. package/dist/shared/flap/errors.d.ts +4 -1
  169. package/dist/shared/flap/errors.js +1 -20
  170. package/dist/shared/flap/index.d.ts +5 -5
  171. package/dist/shared/flap/index.js +5 -5
  172. package/dist/shared/flap/launch-v6.d.ts +117 -0
  173. package/dist/shared/flap/launch-v6.js +111 -0
  174. package/dist/shared/flap/meta.d.ts +18 -22
  175. package/dist/shared/flap/meta.js +17 -12
  176. package/dist/shared/flap/permit.js +2 -5
  177. package/dist/shared/flap/pinata.d.ts +6 -22
  178. package/dist/shared/flap/pinata.js +26 -21
  179. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +72 -3
  180. package/dist/shared/flap/portal-bundle-merkle/config.js +124 -4
  181. package/dist/shared/flap/portal-bundle-merkle/core.d.ts +4 -0
  182. package/dist/shared/flap/portal-bundle-merkle/core.js +267 -164
  183. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.d.ts +4 -17
  184. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +195 -107
  185. package/dist/shared/flap/portal-bundle-merkle/curve-to-dex.js +92 -100
  186. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +7 -11
  187. package/dist/shared/flap/portal-bundle-merkle/index.js +7 -4
  188. package/dist/shared/flap/portal-bundle-merkle/pancake-proxy.js +68 -71
  189. package/dist/shared/flap/portal-bundle-merkle/private.js +114 -61
  190. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +64 -1
  191. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.js +247 -66
  192. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +71 -2
  193. package/dist/shared/flap/portal-bundle-merkle/swap.js +410 -103
  194. package/dist/shared/flap/portal-bundle-merkle/types.d.ts +12 -88
  195. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +80 -1
  196. package/dist/shared/flap/portal-bundle-merkle/utils.js +265 -145
  197. package/dist/shared/flap/portal-bundle.js +56 -55
  198. package/dist/shared/flap/portal.d.ts +3 -14
  199. package/dist/shared/flap/portal.js +26 -49
  200. package/dist/shared/flap/vanity.d.ts +5 -4
  201. package/dist/shared/flap/vanity.js +20 -13
  202. package/dist/shared/flap/vault.d.ts +93 -25
  203. package/dist/shared/flap/vault.js +126 -75
  204. package/dist/shared/four/tax-token.d.ts +1 -1
  205. package/dist/shared/four/tax-token.js +7 -27
  206. package/dist/shared/index.d.ts +0 -6
  207. package/dist/shared/index.js +0 -4
  208. package/dist/utils/airdrop-sweep.d.ts +76 -4
  209. package/dist/utils/airdrop-sweep.js +55 -42
  210. package/dist/utils/bundle-helpers.d.ts +243 -9
  211. package/dist/utils/bundle-helpers.js +584 -10
  212. package/dist/utils/constants.d.ts +61 -5
  213. package/dist/utils/constants.js +80 -5
  214. package/dist/utils/contract-factory.d.ts +4 -2
  215. package/dist/utils/contract-factory.js +18 -25
  216. package/dist/utils/erc20.d.ts +89 -7
  217. package/dist/utils/erc20.js +125 -94
  218. package/dist/utils/errors.d.ts +1 -12
  219. package/dist/utils/errors.js +1 -60
  220. package/dist/utils/holders-maker.d.ts +138 -2
  221. package/dist/utils/holders-maker.js +661 -26
  222. package/dist/utils/lp-inspect.d.ts +112 -2
  223. package/dist/utils/lp-inspect.js +223 -73
  224. package/dist/utils/mpcExclusive.d.ts +5 -2
  225. package/dist/utils/mpcExclusive.js +3 -4
  226. package/dist/utils/private-sale.d.ts +58 -2
  227. package/dist/utils/private-sale.js +15 -4
  228. package/dist/utils/provider-factory.d.ts +0 -4
  229. package/dist/utils/provider-factory.js +0 -10
  230. package/dist/utils/quote-helpers.d.ts +45 -4
  231. package/dist/utils/quote-helpers.js +74 -17
  232. package/dist/utils/stealth-transfer.d.ts +28 -2
  233. package/dist/utils/stealth-transfer.js +15 -31
  234. package/dist/utils/swap-helpers.d.ts +15 -2
  235. package/dist/utils/swap-helpers.js +11 -6
  236. package/dist/utils/wallet.d.ts +25 -2
  237. package/dist/utils/wallet.js +10 -13
  238. package/package.json +4 -160
  239. package/dist/__tests__/subpath-exports.test.d.ts +0 -1
  240. package/dist/__tests__/subpath-exports.test.js +0 -64
  241. package/dist/abis/common.d.ts +0 -85
  242. package/dist/abis/common.js +0 -264
  243. package/dist/abis/contracts/TaxToken.json +0 -969
  244. package/dist/abis/contracts/TokenManager2.json +0 -136
  245. package/dist/abis/contracts/index.d.ts +0 -5
  246. package/dist/abis/contracts/index.js +0 -5
  247. package/dist/abis/flap/index.d.ts +0 -3
  248. package/dist/abis/flap/index.js +0 -3
  249. package/dist/abis/flap/portal-events.d.ts +0 -6
  250. package/dist/abis/flap/portal-events.js +0 -17
  251. package/dist/abis/flap/portal.d.ts +0 -6
  252. package/dist/abis/flap/portal.js +0 -37
  253. package/dist/abis/flap/vault.d.ts +0 -171
  254. package/dist/abis/flap/vault.js +0 -91
  255. package/dist/abis/index.d.ts +0 -8
  256. package/dist/abis/index.js +0 -11
  257. package/dist/bundle-core/__tests__/config-helpers.test.d.ts +0 -1
  258. package/dist/bundle-core/__tests__/config-helpers.test.js +0 -28
  259. package/dist/bundle-core/__tests__/facade-parity.test.d.ts +0 -1
  260. package/dist/bundle-core/__tests__/facade-parity.test.js +0 -33
  261. package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +0 -1
  262. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +0 -60
  263. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +0 -1
  264. package/dist/bundle-core/__tests__/sign-fixture.test.js +0 -220
  265. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +0 -10
  266. package/dist/bundle-core/__tests__/sign-fixtures.js +0 -16
  267. package/dist/bundle-core/config-helpers.d.ts +0 -36
  268. package/dist/bundle-core/config-helpers.js +0 -57
  269. package/dist/bundle-core/errors.d.ts +0 -50
  270. package/dist/bundle-core/errors.js +0 -35
  271. package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +0 -7
  272. package/dist/bundle-core/four-meme/approve-tokenmanager.js +0 -99
  273. package/dist/bundle-core/four-meme/core-helpers.d.ts +0 -8
  274. package/dist/bundle-core/four-meme/core-helpers.js +0 -40
  275. package/dist/bundle-core/four-meme/core.d.ts +0 -4
  276. package/dist/bundle-core/four-meme/core.js +0 -515
  277. package/dist/bundle-core/four-meme/pancake-proxy.d.ts +0 -28
  278. package/dist/bundle-core/four-meme/pancake-proxy.js +0 -679
  279. package/dist/bundle-core/four-meme/private.d.ts +0 -27
  280. package/dist/bundle-core/four-meme/private.js +0 -465
  281. package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +0 -2
  282. package/dist/bundle-core/four-meme/sign-context-helpers.js +0 -2
  283. package/dist/bundle-core/four-meme/swap-buy-first.d.ts +0 -8
  284. package/dist/bundle-core/four-meme/swap-buy-first.js +0 -493
  285. package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +0 -6
  286. package/dist/bundle-core/four-meme/swap-hop-helpers.js +0 -63
  287. package/dist/bundle-core/four-meme/swap-internal.d.ts +0 -3
  288. package/dist/bundle-core/four-meme/swap-internal.js +0 -18
  289. package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +0 -27
  290. package/dist/bundle-core/four-meme/swap-sign-helpers.js +0 -105
  291. package/dist/bundle-core/four-meme/swap.d.ts +0 -17
  292. package/dist/bundle-core/four-meme/swap.js +0 -505
  293. package/dist/bundle-core/four-meme/types/buy-first.d.ts +0 -50
  294. package/dist/bundle-core/four-meme/types/buy-first.js +0 -1
  295. package/dist/bundle-core/four-meme/types/core-flow.d.ts +0 -63
  296. package/dist/bundle-core/four-meme/types/core-flow.js +0 -1
  297. package/dist/bundle-core/four-meme/types/index.d.ts +0 -600
  298. package/dist/bundle-core/four-meme/types/index.js +0 -1
  299. package/dist/bundle-core/four-meme/types/swap-internal.d.ts +0 -19
  300. package/dist/bundle-core/four-meme/types/swap-internal.js +0 -1
  301. package/dist/bundle-core/four-meme/types.d.ts +0 -1
  302. package/dist/bundle-core/four-meme/types.js +0 -1
  303. package/dist/bundle-core/four-meme/utils-disperse.d.ts +0 -7
  304. package/dist/bundle-core/four-meme/utils-disperse.js +0 -396
  305. package/dist/bundle-core/four-meme/utils-pairwise.d.ts +0 -8
  306. package/dist/bundle-core/four-meme/utils-pairwise.js +0 -328
  307. package/dist/bundle-core/four-meme/utils-sweep.d.ts +0 -8
  308. package/dist/bundle-core/four-meme/utils-sweep.js +0 -744
  309. package/dist/bundle-core/index.d.ts +0 -8
  310. package/dist/bundle-core/index.js +0 -8
  311. package/dist/bundle-core/internal.d.ts +0 -21
  312. package/dist/bundle-core/internal.js +0 -182
  313. package/dist/bundle-core/sign-context-helpers.d.ts +0 -25
  314. package/dist/bundle-core/sign-context-helpers.js +0 -67
  315. package/dist/bundle-core/submit.d.ts +0 -293
  316. package/dist/bundle-core/submit.js +0 -727
  317. package/dist/bundle-core/types/index.d.ts +0 -8
  318. package/dist/bundle-core/types/index.js +0 -1
  319. package/dist/bundle-core/types.d.ts +0 -1
  320. package/dist/bundle-core/types.js +0 -1
  321. package/dist/chains/bsc/four/utils-disperse.d.ts +0 -1
  322. package/dist/chains/bsc/four/utils-disperse.js +0 -1
  323. package/dist/chains/bsc/four/utils-pairwise.d.ts +0 -1
  324. package/dist/chains/bsc/four/utils-pairwise.js +0 -1
  325. package/dist/chains/bsc/four/utils-sweep.d.ts +0 -1
  326. package/dist/chains/bsc/four/utils-sweep.js +0 -1
  327. package/dist/chains/bsc/iro.d.ts +0 -5
  328. package/dist/chains/bsc/iro.js +0 -4
  329. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +0 -159
  330. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +0 -117
  331. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +0 -241
  332. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +0 -565
  333. package/dist/chains/eni/flat-aliases.d.ts +0 -10
  334. package/dist/chains/eni/flat-aliases.js +0 -8
  335. package/dist/chains/eni/submit.d.ts +0 -43
  336. package/dist/chains/eni/submit.js +0 -286
  337. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +0 -13
  338. package/dist/chains/xlayer/eip7702/flat-aliases.js +0 -10
  339. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +0 -79
  340. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +0 -1
  341. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +0 -26
  342. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +0 -57
  343. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +0 -148
  344. package/dist/chains/xlayer/eip7702/volume-helpers.js +0 -48
  345. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +0 -126
  346. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +0 -228
  347. package/dist/contracts/tm-bundle-helpers.d.ts +0 -88
  348. package/dist/contracts/tm-bundle-helpers.js +0 -72
  349. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +0 -1
  350. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +0 -1
  351. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +0 -1
  352. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +0 -1
  353. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +0 -1
  354. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +0 -1
  355. package/dist/dex/direct-router-helpers.d.ts +0 -264
  356. package/dist/dex/direct-router-helpers.js +0 -539
  357. package/dist/dex/types.d.ts +0 -81
  358. package/dist/dex/types.js +0 -1
  359. package/dist/exports/root-bundle-and-tooling.d.ts +0 -27
  360. package/dist/exports/root-bundle-and-tooling.js +0 -30
  361. package/dist/exports/root-eni-and-bsc-iro.d.ts +0 -26
  362. package/dist/exports/root-eni-and-bsc-iro.js +0 -66
  363. package/dist/exports/root-foundations.d.ts +0 -35
  364. package/dist/exports/root-foundations.js +0 -70
  365. package/dist/exports/root-swap-dex-and-xlayer.d.ts +0 -30
  366. package/dist/exports/root-swap-dex-and-xlayer.js +0 -78
  367. package/dist/flap/index.d.ts +0 -10
  368. package/dist/flap/index.js +0 -8
  369. package/dist/flows/index.d.ts +0 -1
  370. package/dist/flows/index.js +0 -1
  371. package/dist/merkle/index.d.ts +0 -12
  372. package/dist/merkle/index.js +0 -11
  373. package/dist/shared/clients/index.d.ts +0 -8
  374. package/dist/shared/clients/index.js +0 -8
  375. package/dist/shared/constants/quote.d.ts +0 -30
  376. package/dist/shared/constants/quote.js +0 -37
  377. package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +0 -32
  378. package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +0 -83
  379. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +0 -125
  380. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +0 -113
  381. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +0 -149
  382. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +0 -259
  383. package/dist/shared/flap/portal-create-token.d.ts +0 -79
  384. package/dist/shared/flap/portal-create-token.js +0 -261
  385. package/dist/shared/foundation/dex/v3-path.d.ts +0 -6
  386. package/dist/shared/foundation/dex/v3-path.js +0 -35
  387. package/dist/shared/foundation/gas/bundle-gas.d.ts +0 -49
  388. package/dist/shared/foundation/gas/bundle-gas.js +0 -93
  389. package/dist/shared/foundation/gas/profit-hop.d.ts +0 -20
  390. package/dist/shared/foundation/gas/profit-hop.js +0 -72
  391. package/dist/shared/foundation/index.d.ts +0 -13
  392. package/dist/shared/foundation/index.js +0 -12
  393. package/dist/shared/foundation/nonce/nonce-manager.d.ts +0 -17
  394. package/dist/shared/foundation/nonce/nonce-manager.js +0 -183
  395. package/dist/shared/foundation/normalize-unknown.d.ts +0 -9
  396. package/dist/shared/foundation/normalize-unknown.js +0 -29
  397. package/dist/shared/foundation/sdk-logger.d.ts +0 -13
  398. package/dist/shared/foundation/sdk-logger.js +0 -12
  399. package/dist/shared/foundation/tx/build-request.d.ts +0 -17
  400. package/dist/shared/foundation/tx/build-request.js +0 -25
  401. package/dist/shared/foundation/tx/sign-batch.d.ts +0 -5
  402. package/dist/shared/foundation/tx/sign-batch.js +0 -26
  403. package/dist/shared/foundation/tx/wallet-sign-patch.d.ts +0 -1
  404. package/dist/shared/foundation/tx/wallet-sign-patch.js +0 -18
  405. package/dist/shared/foundation/types/airdrop-sweep.d.ts +0 -79
  406. package/dist/shared/foundation/types/airdrop-sweep.js +0 -1
  407. package/dist/shared/foundation/types/erc20.d.ts +0 -65
  408. package/dist/shared/foundation/types/erc20.js +0 -1
  409. package/dist/shared/foundation/types/holders-maker.d.ts +0 -64
  410. package/dist/shared/foundation/types/holders-maker.js +0 -1
  411. package/dist/shared/foundation/types/index.d.ts +0 -7
  412. package/dist/shared/foundation/types/index.js +0 -1
  413. package/dist/shared/foundation/types/lp-inspect.d.ts +0 -102
  414. package/dist/shared/foundation/types/lp-inspect.js +0 -1
  415. package/dist/shared/foundation/types/multicall.d.ts +0 -5
  416. package/dist/shared/foundation/types/multicall.js +0 -1
  417. package/dist/shared/foundation/types/private-sale.d.ts +0 -35
  418. package/dist/shared/foundation/types/private-sale.js +0 -1
  419. package/dist/shared/foundation/types/quote-helpers.d.ts +0 -17
  420. package/dist/shared/foundation/types/quote-helpers.js +0 -1
  421. package/dist/types/errors.d.ts +0 -27
  422. package/dist/types/errors.js +0 -34
  423. package/dist/utils/holders-maker/addresses.d.ts +0 -12
  424. package/dist/utils/holders-maker/addresses.js +0 -15
  425. package/dist/utils/holders-maker/buy-tx.d.ts +0 -44
  426. package/dist/utils/holders-maker/buy-tx.js +0 -278
  427. package/dist/utils/holders-maker/constants.d.ts +0 -6
  428. package/dist/utils/holders-maker/constants.js +0 -7
  429. package/dist/utils/holders-maker/disperse.d.ts +0 -18
  430. package/dist/utils/holders-maker/disperse.js +0 -90
  431. package/dist/utils/holders-maker/routing.d.ts +0 -4
  432. package/dist/utils/holders-maker/routing.js +0 -45
  433. package/dist/utils/holders-maker/transfer-tx.d.ts +0 -4
  434. package/dist/utils/holders-maker/transfer-tx.js +0 -67
  435. package/dist/utils/holders-maker-helpers.d.ts +0 -9
  436. package/dist/utils/holders-maker-helpers.js +0 -9
  437. package/dist/utils/hop-chains.d.ts +0 -35
  438. package/dist/utils/hop-chains.js +0 -215
  439. package/dist/utils/lp-inspect-helpers.d.ts +0 -9
  440. package/dist/utils/lp-inspect-helpers.js +0 -109
  441. package/dist/utils/types/airdrop-sweep.d.ts +0 -1
  442. package/dist/utils/types/airdrop-sweep.js +0 -1
  443. package/dist/utils/types/contract-factory.d.ts +0 -1
  444. package/dist/utils/types/contract-factory.js +0 -1
  445. package/dist/utils/types/erc20.d.ts +0 -1
  446. package/dist/utils/types/erc20.js +0 -1
  447. package/dist/utils/types/errors.d.ts +0 -1
  448. package/dist/utils/types/errors.js +0 -1
  449. package/dist/utils/types/holders-maker.d.ts +0 -1
  450. package/dist/utils/types/holders-maker.js +0 -1
  451. package/dist/utils/types/hop-chains.d.ts +0 -8
  452. package/dist/utils/types/hop-chains.js +0 -1
  453. package/dist/utils/types/index.d.ts +0 -13
  454. package/dist/utils/types/index.js +0 -1
  455. package/dist/utils/types/lp-inspect.d.ts +0 -1
  456. package/dist/utils/types/lp-inspect.js +0 -1
  457. package/dist/utils/types/mpc-exclusive.d.ts +0 -5
  458. package/dist/utils/types/mpc-exclusive.js +0 -1
  459. package/dist/utils/types/private-sale.d.ts +0 -1
  460. package/dist/utils/types/private-sale.js +0 -1
  461. package/dist/utils/types/quote-helpers.d.ts +0 -1
  462. package/dist/utils/types/quote-helpers.js +0 -1
  463. package/dist/utils/types/stealth-transfer.d.ts +0 -44
  464. package/dist/utils/types/stealth-transfer.js +0 -1
  465. package/dist/utils/types/wallet.d.ts +0 -25
  466. package/dist/utils/types/wallet.js +0 -1
  467. package/dist/vanity/index.d.ts +0 -5
  468. package/dist/vanity/index.js +0 -5
  469. package/src/abis/contracts/TaxToken.json +0 -969
  470. package/src/abis/contracts/TokenManager.json +0 -836
  471. package/src/abis/contracts/TokenManager2.json +0 -136
  472. package/src/abis/contracts/TokenManagerHelper3.json +0 -993
  473. /package/dist/{abis/contracts → shared/abis}/TokenManager.json +0 -0
  474. /package/dist/{abis/contracts → shared/abis}/TokenManagerHelper3.json +0 -0
@@ -25,7 +25,7 @@ export async function getTokenWhiteList(params) {
25
25
  const provider = new JsonRpcProvider(params.rpcUrl || ENI_RPC, params.chainId || ENI_CHAIN_ID);
26
26
  const contract = new Contract(params.iroOwnerAddress, IRO_OWNER_WHITELIST_ABI, provider);
27
27
  const addresses = await contract.getTokenWhiteList(params.tokenAddress);
28
- return addresses.map((a) => ethers.getAddress(a));
28
+ return addresses.map(a => ethers.getAddress(a));
29
29
  }
30
30
  /**
31
31
  * 添加单个白名单地址 (返回签名交易)
@@ -34,7 +34,11 @@ export async function addTokenWhiteListForSubmit(params) {
34
34
  const provider = new JsonRpcProvider(params.rpcUrl || ENI_RPC, params.chainId || ENI_CHAIN_ID);
35
35
  const wallet = new Wallet(params.privateKey, provider);
36
36
  const iface = new ethers.Interface(IRO_OWNER_WHITELIST_ABI);
37
- const data = iface.encodeFunctionData('addTokenWhiteList', [params.tokenAddress, params.addr, params.quota]);
37
+ const data = iface.encodeFunctionData('addTokenWhiteList', [
38
+ params.tokenAddress,
39
+ params.addr,
40
+ params.quota,
41
+ ]);
38
42
  const feeData = await provider.getFeeData();
39
43
  const nonce = await provider.getTransactionCount(wallet.address, 'pending');
40
44
  const tx = await wallet.signTransaction({
@@ -55,12 +59,17 @@ export async function addTokenWhiteListForSubmit(params) {
55
59
  export async function batchAddTokenWhiteListForSubmit(params) {
56
60
  const provider = new JsonRpcProvider(params.rpcUrl || ENI_RPC, params.chainId || ENI_CHAIN_ID);
57
61
  const wallet = new Wallet(params.privateKey, provider);
58
- const tuples = params.entries.map((e) => ({ account: e.addr, quota: e.quota }));
62
+ const tuples = params.entries.map(e => ({ account: e.addr, quota: e.quota }));
59
63
  const iface = new ethers.Interface(IRO_OWNER_WHITELIST_ABI);
60
- const data = iface.encodeFunctionData('batchAddTokenWhiteList', [params.tokenAddress, tuples]);
64
+ const data = iface.encodeFunctionData('batchAddTokenWhiteList', [
65
+ params.tokenAddress,
66
+ tuples,
67
+ ]);
61
68
  const feeData = await provider.getFeeData();
62
69
  const nonce = await provider.getTransactionCount(wallet.address, 'pending');
63
- const gasLimit = params.entries.length > 5 ? BATCH_WHITELIST_GAS_LIMIT * 2n : BATCH_WHITELIST_GAS_LIMIT;
70
+ const gasLimit = params.entries.length > 5
71
+ ? BATCH_WHITELIST_GAS_LIMIT * 2n
72
+ : BATCH_WHITELIST_GAS_LIMIT;
64
73
  const tx = await wallet.signTransaction({
65
74
  to: params.iroOwnerAddress,
66
75
  data,
@@ -80,7 +89,10 @@ export async function removeTokenWhiteListForSubmit(params) {
80
89
  const provider = new JsonRpcProvider(params.rpcUrl || ENI_RPC, params.chainId || ENI_CHAIN_ID);
81
90
  const wallet = new Wallet(params.privateKey, provider);
82
91
  const iface = new ethers.Interface(IRO_OWNER_WHITELIST_ABI);
83
- const data = iface.encodeFunctionData('removeTokenWhiteList', [params.tokenAddress, params.addr]);
92
+ const data = iface.encodeFunctionData('removeTokenWhiteList', [
93
+ params.tokenAddress,
94
+ params.addr,
95
+ ]);
84
96
  const feeData = await provider.getFeeData();
85
97
  const nonce = await provider.getTransactionCount(wallet.address, 'pending');
86
98
  const tx = await wallet.signTransaction({
@@ -7,16 +7,3 @@ export * as bsc from './bsc/index.js';
7
7
  export * as xlayer from './xlayer/index.js';
8
8
  export * as monad from './monad/index.js';
9
9
  export * as eni from './eni/index.js';
10
- /**
11
- * 与包根 `export * as chains` 一致的命名空间(`chains.bsc` / `chains.eni` …)
12
- */
13
- import * as bscNs from './bsc/index.js';
14
- import * as xlayerNs from './xlayer/index.js';
15
- import * as monadNs from './monad/index.js';
16
- import * as eniNs from './eni/index.js';
17
- export declare const chains: {
18
- readonly bsc: typeof bscNs;
19
- readonly xlayer: typeof xlayerNs;
20
- readonly monad: typeof monadNs;
21
- readonly eni: typeof eniNs;
22
- };
@@ -11,16 +11,3 @@ export * as xlayer from './xlayer/index.js';
11
11
  export * as monad from './monad/index.js';
12
12
  // ENI 链
13
13
  export * as eni from './eni/index.js';
14
- /**
15
- * 与包根 `export * as chains` 一致的命名空间(`chains.bsc` / `chains.eni` …)
16
- */
17
- import * as bscNs from './bsc/index.js';
18
- import * as xlayerNs from './xlayer/index.js';
19
- import * as monadNs from './monad/index.js';
20
- import * as eniNs from './eni/index.js';
21
- export const chains = {
22
- bsc: bscNs,
23
- xlayer: xlayerNs,
24
- monad: monadNs,
25
- eni: eniNs,
26
- };
@@ -7,7 +7,7 @@
7
7
  * 在 EIP-7702 中,通过 delegate 调用时 msg.sender 是 EOA 本身
8
8
  * 需要使用 executeApprove 函数
9
9
  */
10
- import type { BundleApproveParams, BundleApproveResult, BundleApproveMultiSpendersParams, BundleApproveMultiSpendersResult, EIP7702Config } from './types.js';
10
+ import type { BundleApproveParams, BundleApproveResult, EIP7702Config } from './types.js';
11
11
  /**
12
12
  * 批量授权 - 生成签名后的交易
13
13
  *
@@ -15,7 +15,31 @@ import type { BundleApproveParams, BundleApproveResult, BundleApproveMultiSpende
15
15
  * @returns 签名后的交易和元数据
16
16
  */
17
17
  export declare function bundleApprove(params: BundleApproveParams): Promise<BundleApproveResult>;
18
- export type { BundleApproveMultiSpendersParams, BundleApproveMultiSpendersResult } from './types.js';
18
+ export interface BundleApproveMultiSpendersParams {
19
+ /** 主钱包(发起交易,支付 gas) */
20
+ mainPrivateKey: string;
21
+ /** 需要授权的钱包私钥列表 */
22
+ privateKeys: string[];
23
+ /** 代币地址 */
24
+ tokenAddress: string;
25
+ /** 授权给的地址列表(多个 spender) */
26
+ spenderAddresses: string[];
27
+ /** 授权金额(可选,默认 MaxUint256) */
28
+ amount?: bigint;
29
+ /** 配置 */
30
+ config?: EIP7702Config;
31
+ }
32
+ export interface BundleApproveMultiSpendersResult {
33
+ /** 签名后的交易 */
34
+ signedTransaction: string;
35
+ /** 元数据 */
36
+ metadata: {
37
+ walletCount: number;
38
+ tokenAddress: string;
39
+ spenderAddresses: string[];
40
+ totalApproveCalls: number;
41
+ };
42
+ }
19
43
  /**
20
44
  * 多 spender 批量授权 - 生成签名后的交易
21
45
  *
@@ -8,8 +8,8 @@
8
8
  * 需要使用 executeApprove 函数
9
9
  */
10
10
  import { ethers, Contract } from 'ethers';
11
- import { getCachedProvider, createWallet, signAuthorizationsBatch, buildEIP7702Transaction } from './utils.js';
12
- import { UNIFIED_DELEGATE_ADDRESS, UNIFIED_DELEGATE_ABI, ERC20_ABI } from './constants.js';
11
+ import { getCachedProvider, createWallet, signAuthorizationsBatch, buildEIP7702Transaction, } from './utils.js';
12
+ import { UNIFIED_DELEGATE_ADDRESS, UNIFIED_DELEGATE_ABI, ERC20_ABI, } from './constants.js';
13
13
  // 扩展 ABI 包含 executeApprove
14
14
  const EXTENDED_DELEGATE_ABI = [
15
15
  ...UNIFIED_DELEGATE_ABI,
@@ -22,7 +22,11 @@ function buildApproveCalls(wallets, tokenAddress, spenderAddress, amount) {
22
22
  const delegateInterface = new ethers.Interface(EXTENDED_DELEGATE_ABI);
23
23
  const calls = [];
24
24
  for (const wallet of wallets) {
25
- const callData = delegateInterface.encodeFunctionData('executeApprove', [tokenAddress, spenderAddress, amount]);
25
+ const callData = delegateInterface.encodeFunctionData('executeApprove', [
26
+ tokenAddress,
27
+ spenderAddress,
28
+ amount,
29
+ ]);
26
30
  calls.push({
27
31
  target: wallet.address,
28
32
  allowFailure: false,
@@ -39,19 +43,20 @@ function buildApproveCalls(wallets, tokenAddress, spenderAddress, amount) {
39
43
  * @returns 签名后的交易和元数据
40
44
  */
41
45
  export async function bundleApprove(params) {
42
- const { mainPrivateKey, privateKeys, tokenAddress, spenderAddress, amount = ethers.MaxUint256, config } = params;
46
+ const { mainPrivateKey, privateKeys, tokenAddress, spenderAddress, amount = ethers.MaxUint256, config, } = params;
43
47
  if (privateKeys.length === 0) {
44
48
  throw new Error('privateKeys 不能为空');
45
49
  }
46
50
  const provider = getCachedProvider(config?.rpcUrl);
47
51
  const delegateAddress = (config?.delegateAddress && config.delegateAddress.trim()) || UNIFIED_DELEGATE_ADDRESS;
48
52
  const mainWallet = createWallet(mainPrivateKey, provider);
49
- const wallets = privateKeys.map((pk) => createWallet(pk, provider));
53
+ const wallets = privateKeys.map(pk => createWallet(pk, provider));
50
54
  // 检查 mainWallet 是否在 wallets 中
51
- const mainWalletIndex = wallets.findIndex((w) => w.address.toLowerCase() === mainWallet.address.toLowerCase());
55
+ const mainWalletIndex = wallets.findIndex(w => w.address.toLowerCase() === mainWallet.address.toLowerCase());
52
56
  // 只为需要执行授权操作的钱包生成 authorization
53
57
  // mainWallet 如果不在 privateKeys 中,只是支付 gas,不需要 authorization
54
- const authorizations = await signAuthorizationsBatch(wallets, delegateAddress, provider, mainWalletIndex);
58
+ const authorizations = await signAuthorizationsBatch(wallets, delegateAddress, provider, mainWalletIndex // 如果 mainWallet 在 wallets 中,传其索引;否则传 -1(无主钱包)
59
+ );
55
60
  const calls = buildApproveCalls(wallets, tokenAddress, spenderAddress, amount);
56
61
  const signedTransaction = await buildEIP7702Transaction(mainWallet, authorizations, calls, 0n, config);
57
62
  return {
@@ -73,7 +78,11 @@ function buildApproveCallsMultiSpenders(wallets, tokenAddress, spenderAddresses,
73
78
  // 对每个钱包,授权所有 spender
74
79
  for (const wallet of wallets) {
75
80
  for (const spender of spenderAddresses) {
76
- const callData = delegateInterface.encodeFunctionData('executeApprove', [tokenAddress, spender, amount]);
81
+ const callData = delegateInterface.encodeFunctionData('executeApprove', [
82
+ tokenAddress,
83
+ spender,
84
+ amount,
85
+ ]);
77
86
  calls.push({
78
87
  target: wallet.address,
79
88
  allowFailure: false,
@@ -94,7 +103,7 @@ function buildApproveCallsMultiSpenders(wallets, tokenAddress, spenderAddresses,
94
103
  * @returns 签名后的交易和元数据
95
104
  */
96
105
  export async function bundleApproveMultiSpenders(params) {
97
- const { mainPrivateKey, privateKeys, tokenAddress, spenderAddresses, amount = ethers.MaxUint256, config } = params;
106
+ const { mainPrivateKey, privateKeys, tokenAddress, spenderAddresses, amount = ethers.MaxUint256, config, } = params;
98
107
  if (privateKeys.length === 0) {
99
108
  throw new Error('privateKeys 不能为空');
100
109
  }
@@ -104,13 +113,14 @@ export async function bundleApproveMultiSpenders(params) {
104
113
  const provider = getCachedProvider(config?.rpcUrl);
105
114
  const delegateAddress = (config?.delegateAddress && config.delegateAddress.trim()) || UNIFIED_DELEGATE_ADDRESS;
106
115
  const mainWallet = createWallet(mainPrivateKey, provider);
107
- const wallets = privateKeys.map((pk) => createWallet(pk, provider));
116
+ const wallets = privateKeys.map(pk => createWallet(pk, provider));
108
117
  // 检查 mainWallet 是否在 wallets 中
109
- const mainWalletIndex = wallets.findIndex((w) => w.address.toLowerCase() === mainWallet.address.toLowerCase());
118
+ const mainWalletIndex = wallets.findIndex(w => w.address.toLowerCase() === mainWallet.address.toLowerCase());
110
119
  // 只为需要执行授权操作的钱包生成 authorization
111
120
  const authorizations = await signAuthorizationsBatch(wallets, delegateAddress, provider, mainWalletIndex);
112
121
  // ✅ 关键:一次性构建所有 approve 调用
113
122
  const calls = buildApproveCallsMultiSpenders(wallets, tokenAddress, spenderAddresses, amount);
123
+ console.log(`[bundleApproveMultiSpenders] 钱包数: ${wallets.length}, spender数: ${spenderAddresses.length}, 总调用数: ${calls.length}`);
114
124
  const signedTransaction = await buildEIP7702Transaction(mainWallet, authorizations, calls, 0n, config);
115
125
  return {
116
126
  signedTransaction,
@@ -6,7 +6,12 @@
6
6
  *
7
7
  * 只生成签名,由调用方决定如何提交
8
8
  */
9
- import type { BundleBuyParams, BundleBuyResult } from './types.js';
9
+ import type { BundleBuyParams as BaseBundleBuyParams, BundleBuyResult } from './types.js';
10
+ import { type UserType } from './utils.js';
11
+ export interface BundleBuyParams extends BaseBundleBuyParams {
12
+ /** 用户类型(影响利润率) */
13
+ userType?: UserType;
14
+ }
10
15
  /**
11
16
  * 批量买入 - 生成签名后的交易
12
17
  *
@@ -44,5 +49,4 @@ import type { BundleBuyParams, BundleBuyResult } from './types.js';
44
49
  * fee: 2500, // 0.25%
45
50
  * });
46
51
  */
47
- export type { BundleBuyParams } from './types.js';
48
52
  export declare function bundleBuy(params: BundleBuyParams): Promise<BundleBuyResult>;
@@ -36,22 +36,18 @@ function buildFlapBuyCalls(wallets, buyAmounts, tokenAddress) {
36
36
  continue;
37
37
  // ✅ 修复:使用 swapExactInput 代替 buy 函数,与 bundle-create.ts 保持一致
38
38
  // buy(token) 是旧 API,swapExactInput 是新的标准 API
39
- const portalCallData = portalInterface.encodeFunctionData('swapExactInput', [
40
- {
39
+ const portalCallData = portalInterface.encodeFunctionData('swapExactInput', [{
41
40
  inputToken: ethers.ZeroAddress, // 0x0 = OKB (原生代币)
42
41
  outputToken: tokenAddress,
43
42
  inputAmount: amount,
44
43
  minOutputAmount: 0n, // 无滑点保护
45
44
  permitData: '0x',
46
- },
47
- ]);
48
- const batchCalls = [
49
- {
45
+ }]);
46
+ const batchCalls = [{
50
47
  target: FLAP_PORTAL_ADDRESS,
51
48
  value: amount,
52
49
  data: portalCallData,
53
- },
54
- ];
50
+ }];
55
51
  const callData = delegateInterface.encodeFunctionData('executeBatch', [batchCalls]);
56
52
  calls.push({
57
53
  target: wallet.address, // 以钱包身份调用,代币会到钱包
@@ -146,6 +142,46 @@ function buildProfitCall(mainWallet, profitAmount, profitRecipient) {
146
142
  callData,
147
143
  };
148
144
  }
145
+ // ========================================
146
+ // 批量买入主函数
147
+ // ========================================
148
+ /**
149
+ * 批量买入 - 生成签名后的交易
150
+ *
151
+ * @param params 买入参数
152
+ * @returns 签名后的交易和元数据
153
+ *
154
+ * @example
155
+ * // FLAP 内盘买入
156
+ * const result = await bundleBuy({
157
+ * mainPrivateKey: '0x...',
158
+ * privateKeys: ['0x...', '0x...'],
159
+ * buyAmounts: ['0.01', '0.02'],
160
+ * tokenAddress: '0x...',
161
+ * tradeType: 'FLAP',
162
+ * });
163
+ *
164
+ * @example
165
+ * // V2 买入
166
+ * const result = await bundleBuy({
167
+ * mainPrivateKey: '0x...',
168
+ * privateKeys: ['0x...', '0x...'],
169
+ * buyAmounts: ['0.01', '0.02'],
170
+ * tokenAddress: '0x...',
171
+ * tradeType: 'V2',
172
+ * });
173
+ *
174
+ * @example
175
+ * // V3 买入(默认)
176
+ * const result = await bundleBuy({
177
+ * mainPrivateKey: '0x...',
178
+ * privateKeys: ['0x...', '0x...'],
179
+ * buyAmounts: ['0.01', '0.02'],
180
+ * tokenAddress: '0x...',
181
+ * tradeType: 'V3',
182
+ * fee: 2500, // 0.25%
183
+ * });
184
+ */
149
185
  export async function bundleBuy(params) {
150
186
  const { mainPrivateKey, privateKeys, buyAmounts, tokenAddress, tradeType = 'V3', routerAddress, fee = V3_FEE_TIERS.MEDIUM, userType = 'v0', // ✅ 用户类型(影响利润率)
151
187
  config, } = params;
@@ -159,20 +195,22 @@ export async function bundleBuy(params) {
159
195
  // 同步操作 - 批量创建钱包和解析金额
160
196
  // ========================================
161
197
  const mainWallet = createWallet(mainPrivateKey, provider);
162
- const wallets = privateKeys.map((pk) => createWallet(pk, provider));
198
+ const wallets = privateKeys.map(pk => createWallet(pk, provider));
163
199
  // 批量解析金额(同步)
164
- const buyAmountsWei = buyAmounts.map((amt) => ethers.parseEther(amt));
200
+ const buyAmountsWei = buyAmounts.map(amt => ethers.parseEther(amt));
165
201
  const totalBuyAmount = buyAmountsWei.reduce((sum, amt) => sum + amt, 0n);
166
202
  // ✅ 使用 userType 计算利润
167
203
  const profitAmount = calculateProfitAmountByTxCount(totalBuyAmount, wallets.length, userType);
168
204
  const profitRecipient = getProfitRecipient(config);
169
205
  // 确定需要授权的钱包
170
- const mainWalletIndex = wallets.findIndex((w) => w.address.toLowerCase() === mainWallet.address.toLowerCase());
171
- const allWallets = mainWalletIndex === -1 ? [mainWallet, ...wallets] : wallets;
206
+ const mainWalletIndex = wallets.findIndex(w => w.address.toLowerCase() === mainWallet.address.toLowerCase());
207
+ const allWallets = mainWalletIndex === -1
208
+ ? [mainWallet, ...wallets]
209
+ : wallets;
172
210
  // ========================================
173
211
  // 并行获取所有异步数据
174
212
  // ========================================
175
- const allAddresses = allWallets.map((w) => w.address);
213
+ const allAddresses = allWallets.map(w => w.address);
176
214
  const [walletNonces, mainNonce, feeData] = await Promise.all([
177
215
  // 1. 批量获取授权钱包的 nonce
178
216
  batchGetNonces(allAddresses, provider),