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
@@ -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),