four-flap-meme-sdk 2.2.19 → 2.2.20

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 (493) hide show
  1. package/dist/__tests__/subpath-exports.test.d.ts +1 -0
  2. package/dist/__tests__/subpath-exports.test.js +64 -0
  3. package/dist/abis/common.d.ts +85 -0
  4. package/dist/abis/common.js +240 -0
  5. package/dist/abis/contracts/TaxToken.json +969 -0
  6. package/dist/abis/contracts/TokenManager.json +836 -0
  7. package/dist/abis/contracts/TokenManager2.json +136 -0
  8. package/dist/abis/contracts/TokenManagerHelper3.json +993 -0
  9. package/dist/abis/contracts/index.d.ts +5 -0
  10. package/dist/abis/contracts/index.js +5 -0
  11. package/dist/abis/flap/index.d.ts +5 -0
  12. package/dist/abis/flap/index.js +5 -0
  13. package/dist/abis/flap/portal-eip7702.d.ts +4 -0
  14. package/dist/abis/flap/portal-eip7702.js +39 -0
  15. package/dist/abis/flap/portal-events.d.ts +6 -0
  16. package/dist/abis/flap/portal-events.js +17 -0
  17. package/dist/abis/flap/portal-merkle.d.ts +4 -0
  18. package/dist/abis/flap/portal-merkle.js +25 -0
  19. package/dist/abis/flap/portal.d.ts +6 -0
  20. package/dist/abis/flap/portal.js +37 -0
  21. package/dist/abis/flap/vault.d.ts +171 -0
  22. package/dist/abis/flap/vault.js +91 -0
  23. package/dist/abis/index.d.ts +8 -0
  24. package/dist/abis/index.js +11 -0
  25. package/dist/bundle-core/__tests__/config-helpers.test.d.ts +1 -0
  26. package/dist/bundle-core/__tests__/config-helpers.test.js +28 -0
  27. package/dist/bundle-core/__tests__/facade-parity.test.d.ts +1 -0
  28. package/dist/bundle-core/__tests__/facade-parity.test.js +33 -0
  29. package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +1 -0
  30. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +60 -0
  31. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +1 -0
  32. package/dist/bundle-core/__tests__/sign-fixture.test.js +220 -0
  33. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +10 -0
  34. package/dist/bundle-core/__tests__/sign-fixtures.js +16 -0
  35. package/dist/bundle-core/config-helpers.d.ts +37 -0
  36. package/dist/bundle-core/config-helpers.js +58 -0
  37. package/dist/bundle-core/errors.d.ts +50 -0
  38. package/dist/bundle-core/errors.js +38 -0
  39. package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +7 -0
  40. package/dist/bundle-core/four-meme/approve-tokenmanager.js +99 -0
  41. package/dist/bundle-core/four-meme/core-helpers.d.ts +8 -0
  42. package/dist/bundle-core/four-meme/core-helpers.js +41 -0
  43. package/dist/bundle-core/four-meme/core.d.ts +4 -0
  44. package/dist/bundle-core/four-meme/core.js +515 -0
  45. package/dist/bundle-core/four-meme/pancake-proxy.d.ts +28 -0
  46. package/dist/bundle-core/four-meme/pancake-proxy.js +679 -0
  47. package/dist/bundle-core/four-meme/private.d.ts +27 -0
  48. package/dist/bundle-core/four-meme/private.js +465 -0
  49. package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +2 -0
  50. package/dist/bundle-core/four-meme/sign-context-helpers.js +2 -0
  51. package/dist/bundle-core/four-meme/swap-buy-first.d.ts +8 -0
  52. package/dist/bundle-core/four-meme/swap-buy-first.js +456 -0
  53. package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +6 -0
  54. package/dist/bundle-core/four-meme/swap-hop-helpers.js +63 -0
  55. package/dist/bundle-core/four-meme/swap-internal.d.ts +3 -0
  56. package/dist/bundle-core/four-meme/swap-internal.js +18 -0
  57. package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +28 -0
  58. package/dist/bundle-core/four-meme/swap-sign-helpers.js +105 -0
  59. package/dist/bundle-core/four-meme/swap.d.ts +17 -0
  60. package/dist/bundle-core/four-meme/swap.js +505 -0
  61. package/dist/bundle-core/four-meme/types/buy-first.d.ts +50 -0
  62. package/dist/bundle-core/four-meme/types/buy-first.js +1 -0
  63. package/dist/bundle-core/four-meme/types/core-flow.d.ts +63 -0
  64. package/dist/bundle-core/four-meme/types/core-flow.js +1 -0
  65. package/dist/bundle-core/four-meme/types/index.d.ts +600 -0
  66. package/dist/bundle-core/four-meme/types/index.js +1 -0
  67. package/dist/bundle-core/four-meme/types/swap-internal.d.ts +19 -0
  68. package/dist/bundle-core/four-meme/types/swap-internal.js +1 -0
  69. package/dist/bundle-core/four-meme/types.d.ts +1 -0
  70. package/dist/bundle-core/four-meme/types.js +1 -0
  71. package/dist/bundle-core/four-meme/utils-disperse.d.ts +7 -0
  72. package/dist/bundle-core/four-meme/utils-disperse.js +396 -0
  73. package/dist/bundle-core/four-meme/utils-pairwise.d.ts +8 -0
  74. package/dist/bundle-core/four-meme/utils-pairwise.js +328 -0
  75. package/dist/bundle-core/four-meme/utils-sweep.d.ts +8 -0
  76. package/dist/bundle-core/four-meme/utils-sweep.js +744 -0
  77. package/dist/bundle-core/index.d.ts +8 -0
  78. package/dist/bundle-core/index.js +8 -0
  79. package/dist/bundle-core/internal.d.ts +16 -0
  80. package/dist/bundle-core/internal.js +160 -0
  81. package/dist/bundle-core/sign-context-helpers.d.ts +26 -0
  82. package/dist/bundle-core/sign-context-helpers.js +63 -0
  83. package/dist/bundle-core/submit.d.ts +293 -0
  84. package/dist/bundle-core/submit.js +731 -0
  85. package/dist/bundle-core/types/index.d.ts +8 -0
  86. package/dist/bundle-core/types/index.js +1 -0
  87. package/dist/bundle-core/types.d.ts +1 -0
  88. package/dist/bundle-core/types.js +1 -0
  89. package/dist/chains/bsc/four/approve-tokenmanager.d.ts +1 -26
  90. package/dist/chains/bsc/four/approve-tokenmanager.js +1 -113
  91. package/dist/chains/bsc/four/config.d.ts +5 -67
  92. package/dist/chains/bsc/four/config.js +2 -114
  93. package/dist/chains/bsc/four/core.d.ts +1 -4
  94. package/dist/chains/bsc/four/core.js +1 -592
  95. package/dist/chains/bsc/four/index.d.ts +6 -6
  96. package/dist/chains/bsc/four/index.js +6 -6
  97. package/dist/chains/bsc/four/internal.d.ts +2 -46
  98. package/dist/chains/bsc/four/internal.js +2 -239
  99. package/dist/chains/bsc/four/pancake-proxy.d.ts +1 -28
  100. package/dist/chains/bsc/four/pancake-proxy.js +1 -687
  101. package/dist/chains/bsc/four/private.d.ts +1 -27
  102. package/dist/chains/bsc/four/private.js +1 -477
  103. package/dist/chains/bsc/four/submit.d.ts +2 -315
  104. package/dist/chains/bsc/four/submit.js +2 -752
  105. package/dist/chains/bsc/four/swap-buy-first.d.ts +2 -55
  106. package/dist/chains/bsc/four/swap-buy-first.js +2 -507
  107. package/dist/chains/bsc/four/swap-internal.d.ts +1 -3
  108. package/dist/chains/bsc/four/swap-internal.js +1 -18
  109. package/dist/chains/bsc/four/swap.d.ts +2 -144
  110. package/dist/chains/bsc/four/swap.js +2 -766
  111. package/dist/chains/bsc/four/types.d.ts +1 -476
  112. package/dist/chains/bsc/four/utils-disperse.d.ts +1 -0
  113. package/dist/chains/bsc/four/utils-disperse.js +1 -0
  114. package/dist/chains/bsc/four/utils-pairwise.d.ts +1 -0
  115. package/dist/chains/bsc/four/utils-pairwise.js +1 -0
  116. package/dist/chains/bsc/four/utils-sweep.d.ts +1 -0
  117. package/dist/chains/bsc/four/utils-sweep.js +1 -0
  118. package/dist/chains/bsc/four/utils.d.ts +5 -18
  119. package/dist/chains/bsc/four/utils.js +5 -1552
  120. package/dist/chains/bsc/iro.d.ts +5 -0
  121. package/dist/chains/bsc/iro.js +4 -0
  122. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +155 -0
  123. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +80 -0
  124. package/dist/chains/bsc/pancake/bundle-buy-first.d.ts +1 -91
  125. package/dist/chains/bsc/pancake/bundle-buy-first.js +98 -213
  126. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +241 -0
  127. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +565 -0
  128. package/dist/chains/bsc/pancake/bundle-swap.d.ts +1 -79
  129. package/dist/chains/bsc/pancake/bundle-swap.js +114 -726
  130. package/dist/chains/bsc/pancake/index.d.ts +4 -2
  131. package/dist/chains/bsc/pancake/index.js +1 -3
  132. package/dist/chains/bsc/platforms/iro/factory.d.ts +2 -2
  133. package/dist/chains/bsc/platforms/iro/factory.js +3 -1
  134. package/dist/chains/bsc/platforms/iro/index.d.ts +5 -5
  135. package/dist/chains/bsc/platforms/iro/index.js +3 -3
  136. package/dist/chains/bsc/platforms/iro/pool.js +31 -10
  137. package/dist/chains/bsc/platforms/iro/token.js +4 -1
  138. package/dist/chains/eni/batch-router/bundle-approve.js +4 -3
  139. package/dist/chains/eni/batch-router/transfer.js +55 -25
  140. package/dist/chains/eni/batch-router/utils.js +32 -6
  141. package/dist/chains/eni/bundler/sign.js +5 -6
  142. package/dist/chains/eni/bundler/submit.js +1 -4
  143. package/dist/chains/eni/constants.js +1 -1
  144. package/dist/chains/eni/flat-aliases.d.ts +10 -0
  145. package/dist/chains/eni/flat-aliases.js +8 -0
  146. package/dist/chains/eni/index.d.ts +2 -1
  147. package/dist/chains/eni/index.js +1 -0
  148. package/dist/chains/eni/platforms/daoaas/create.js +2 -2
  149. package/dist/chains/eni/platforms/daoaas/index.d.ts +3 -3
  150. package/dist/chains/eni/platforms/daoaas/index.js +3 -3
  151. package/dist/chains/eni/platforms/daoaas/meta.js +9 -6
  152. package/dist/chains/eni/platforms/daoaas/portal-direct.js +28 -44
  153. package/dist/chains/eni/platforms/daoaas/portal.js +10 -6
  154. package/dist/chains/eni/platforms/dswap/liquidity.js +58 -26
  155. package/dist/chains/eni/platforms/fair-launch/index.d.ts +2 -2
  156. package/dist/chains/eni/platforms/fair-launch/index.js +1 -1
  157. package/dist/chains/eni/platforms/fair-launch/launcher.js +87 -46
  158. package/dist/chains/eni/platforms/fair-launch/pool.js +4 -1
  159. package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
  160. package/dist/chains/eni/platforms/iro/factory.d.ts +2 -2
  161. package/dist/chains/eni/platforms/iro/factory.js +3 -1
  162. package/dist/chains/eni/platforms/iro/index.d.ts +6 -6
  163. package/dist/chains/eni/platforms/iro/index.js +4 -4
  164. package/dist/chains/eni/platforms/iro/pool.js +90 -26
  165. package/dist/chains/eni/platforms/iro/token.js +107 -31
  166. package/dist/chains/eni/platforms/iro/whitelist.js +6 -18
  167. package/dist/chains/eni/submit.d.ts +43 -0
  168. package/dist/chains/eni/submit.js +287 -0
  169. package/dist/chains/index.d.ts +13 -0
  170. package/dist/chains/index.js +13 -0
  171. package/dist/chains/xlayer/constants.d.ts +5 -0
  172. package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +2 -26
  173. package/dist/chains/xlayer/eip7702/bundle-approve.js +11 -21
  174. package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +2 -6
  175. package/dist/chains/xlayer/eip7702/bundle-buy.js +13 -51
  176. package/dist/chains/xlayer/eip7702/bundle-create.js +104 -74
  177. package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +2 -6
  178. package/dist/chains/xlayer/eip7702/bundle-sell.js +29 -111
  179. package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +3 -65
  180. package/dist/chains/xlayer/eip7702/bundle-swap.js +51 -245
  181. package/dist/chains/xlayer/eip7702/constants.d.ts +11 -26
  182. package/dist/chains/xlayer/eip7702/constants.js +15 -68
  183. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +13 -0
  184. package/dist/chains/xlayer/eip7702/flat-aliases.js +10 -0
  185. package/dist/chains/xlayer/eip7702/index.d.ts +28 -46
  186. package/dist/chains/xlayer/eip7702/index.js +28 -81
  187. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +79 -0
  188. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +1 -0
  189. package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +2 -203
  190. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +63 -307
  191. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +26 -0
  192. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +58 -0
  193. package/dist/chains/xlayer/eip7702/types.d.ts +88 -0
  194. package/dist/chains/xlayer/eip7702/utils.d.ts +0 -3
  195. package/dist/chains/xlayer/eip7702/utils.js +23 -28
  196. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +148 -0
  197. package/dist/chains/xlayer/eip7702/volume-helpers.js +48 -0
  198. package/dist/chains/xlayer/eip7702/volume.d.ts +6 -184
  199. package/dist/chains/xlayer/eip7702/volume.js +89 -164
  200. package/dist/chains/xlayer/eoa/constants.d.ts +1 -1
  201. package/dist/chains/xlayer/eoa/constants.js +2 -16
  202. package/dist/chains/xlayer/eoa/dex-helpers.d.ts +1 -1
  203. package/dist/chains/xlayer/eoa/dex-helpers.js +7 -37
  204. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +126 -0
  205. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +228 -0
  206. package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +1 -95
  207. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +66 -299
  208. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
  209. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +18 -23
  210. package/dist/chains/xlayer/eoa/index.d.ts +10 -6
  211. package/dist/chains/xlayer/eoa/index.js +8 -23
  212. package/dist/chains/xlayer/eoa/portal-ops.js +7 -2
  213. package/dist/chains/xlayer/eoa/router-manager.js +5 -4
  214. package/dist/chains/xlayer/eoa/types.d.ts +2 -2
  215. package/dist/chains/xlayer/eoa/types.js +1 -3
  216. package/dist/chains/xlayer/index.d.ts +3 -2
  217. package/dist/chains/xlayer/index.js +4 -7
  218. package/dist/contracts/helper3.d.ts +20 -5
  219. package/dist/contracts/helper3.js +56 -20
  220. package/dist/contracts/tm-bundle-helpers.d.ts +88 -0
  221. package/dist/contracts/tm-bundle-helpers.js +73 -0
  222. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +1 -26
  223. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +1 -113
  224. package/dist/contracts/tm-bundle-merkle/config.d.ts +5 -67
  225. package/dist/contracts/tm-bundle-merkle/config.js +2 -114
  226. package/dist/contracts/tm-bundle-merkle/core.d.ts +1 -4
  227. package/dist/contracts/tm-bundle-merkle/core.js +1 -591
  228. package/dist/contracts/tm-bundle-merkle/index.d.ts +5 -5
  229. package/dist/contracts/tm-bundle-merkle/index.js +5 -5
  230. package/dist/contracts/tm-bundle-merkle/internal.d.ts +2 -46
  231. package/dist/contracts/tm-bundle-merkle/internal.js +2 -238
  232. package/dist/contracts/tm-bundle-merkle/pancake-proxy.d.ts +1 -28
  233. package/dist/contracts/tm-bundle-merkle/pancake-proxy.js +1 -686
  234. package/dist/contracts/tm-bundle-merkle/private.d.ts +1 -27
  235. package/dist/contracts/tm-bundle-merkle/private.js +1 -476
  236. package/dist/contracts/tm-bundle-merkle/submit.d.ts +3 -314
  237. package/dist/contracts/tm-bundle-merkle/submit.js +3 -928
  238. package/dist/contracts/tm-bundle-merkle/swap-buy-first.d.ts +2 -55
  239. package/dist/contracts/tm-bundle-merkle/swap-buy-first.js +2 -506
  240. package/dist/contracts/tm-bundle-merkle/swap-internal.d.ts +1 -3
  241. package/dist/contracts/tm-bundle-merkle/swap-internal.js +1 -18
  242. package/dist/contracts/tm-bundle-merkle/swap.d.ts +2 -144
  243. package/dist/contracts/tm-bundle-merkle/swap.js +2 -764
  244. package/dist/contracts/tm-bundle-merkle/types.d.ts +1 -476
  245. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +1 -0
  246. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +1 -0
  247. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +1 -0
  248. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +1 -0
  249. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +1 -0
  250. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +1 -0
  251. package/dist/contracts/tm-bundle-merkle/utils.d.ts +6 -18
  252. package/dist/contracts/tm-bundle-merkle/utils.js +6 -1501
  253. package/dist/contracts/tm-bundle.d.ts +3 -51
  254. package/dist/contracts/tm-bundle.js +120 -187
  255. package/dist/contracts/tm.d.ts +10 -8
  256. package/dist/contracts/tm.js +39 -35
  257. package/dist/contracts/tm1.js +9 -4
  258. package/dist/contracts/tm2.js +10 -5
  259. package/dist/dex/direct-router-helpers.d.ts +269 -0
  260. package/dist/dex/direct-router-helpers.js +536 -0
  261. package/dist/dex/direct-router.d.ts +3 -125
  262. package/dist/dex/direct-router.js +244 -672
  263. package/dist/dex/types.d.ts +81 -0
  264. package/dist/dex/types.js +1 -0
  265. package/dist/exports/root-bundle-and-tooling.d.ts +27 -0
  266. package/dist/exports/root-bundle-and-tooling.js +30 -0
  267. package/dist/exports/root-eni-and-bsc-iro.d.ts +26 -0
  268. package/dist/exports/root-eni-and-bsc-iro.js +66 -0
  269. package/dist/exports/root-foundations.d.ts +35 -0
  270. package/dist/exports/root-foundations.js +70 -0
  271. package/dist/exports/root-swap-dex-and-xlayer.d.ts +30 -0
  272. package/dist/exports/root-swap-dex-and-xlayer.js +78 -0
  273. package/dist/flap/index.d.ts +11 -0
  274. package/dist/flap/index.js +9 -0
  275. package/dist/flows/create.d.ts +2 -1
  276. package/dist/flows/create.js +6 -6
  277. package/dist/flows/index.d.ts +9 -0
  278. package/dist/flows/index.js +9 -0
  279. package/dist/index.d.ts +20 -88
  280. package/dist/index.js +20 -218
  281. package/dist/merkle/index.d.ts +12 -0
  282. package/dist/merkle/index.js +11 -0
  283. package/dist/shared/abis/common.d.ts +2 -83
  284. package/dist/shared/abis/common.js +2 -254
  285. package/dist/shared/abis/index.d.ts +5 -6
  286. package/dist/shared/abis/index.js +5 -7
  287. package/dist/shared/clients/blockrazor.d.ts +4 -8
  288. package/dist/shared/clients/blockrazor.js +43 -35
  289. package/dist/shared/clients/club48.d.ts +2 -2
  290. package/dist/shared/clients/club48.js +36 -30
  291. package/dist/shared/clients/emitservice.js +2 -0
  292. package/dist/shared/clients/four.d.ts +21 -6
  293. package/dist/shared/clients/four.js +29 -24
  294. package/dist/shared/clients/index.d.ts +8 -0
  295. package/dist/shared/clients/index.js +8 -0
  296. package/dist/shared/clients/merkle.d.ts +4 -3
  297. package/dist/shared/clients/merkle.js +30 -47
  298. package/dist/shared/constants/addresses.d.ts +27 -1
  299. package/dist/shared/constants/addresses.js +39 -2
  300. package/dist/shared/constants/chains.d.ts +1 -1
  301. package/dist/shared/constants/chains.js +1 -1
  302. package/dist/shared/constants/gas.d.ts +1 -1
  303. package/dist/shared/constants/gas.js +2 -6
  304. package/dist/shared/constants/index.d.ts +4 -1
  305. package/dist/shared/constants/index.js +2 -1
  306. package/dist/shared/constants/quote.d.ts +30 -0
  307. package/dist/shared/constants/quote.js +37 -0
  308. package/dist/shared/flap/abi.js +1 -1
  309. package/dist/shared/flap/constants.d.ts +1 -2
  310. package/dist/shared/flap/constants.js +3 -4
  311. package/dist/shared/flap/curve.js +3 -0
  312. package/dist/shared/flap/errors.d.ts +1 -4
  313. package/dist/shared/flap/errors.js +20 -1
  314. package/dist/shared/flap/index.d.ts +4 -5
  315. package/dist/shared/flap/index.js +4 -5
  316. package/dist/shared/flap/launch-v6.d.ts +0 -5
  317. package/dist/shared/flap/launch-v6.js +2 -16
  318. package/dist/shared/flap/meta.d.ts +22 -18
  319. package/dist/shared/flap/meta.js +32 -24
  320. package/dist/shared/flap/permit.js +10 -3
  321. package/dist/shared/flap/pinata.d.ts +22 -6
  322. package/dist/shared/flap/pinata.js +21 -26
  323. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +3 -72
  324. package/dist/shared/flap/portal-bundle-merkle/config.js +4 -124
  325. package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +32 -0
  326. package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +83 -0
  327. package/dist/shared/flap/portal-bundle-merkle/core.d.ts +0 -4
  328. package/dist/shared/flap/portal-bundle-merkle/core.js +168 -175
  329. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.d.ts +17 -4
  330. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +96 -117
  331. package/dist/shared/flap/portal-bundle-merkle/curve-to-dex.js +104 -122
  332. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +11 -7
  333. package/dist/shared/flap/portal-bundle-merkle/index.js +4 -7
  334. package/dist/shared/flap/portal-bundle-merkle/pancake-proxy.js +71 -68
  335. package/dist/shared/flap/portal-bundle-merkle/private.js +61 -114
  336. package/dist/shared/flap/portal-bundle-merkle/swap-batch.d.ts +8 -0
  337. package/dist/shared/flap/portal-bundle-merkle/swap-batch.js +227 -0
  338. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +125 -0
  339. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +113 -0
  340. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +1 -64
  341. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.js +69 -288
  342. package/dist/shared/flap/portal-bundle-merkle/swap-cross.d.ts +9 -0
  343. package/dist/shared/flap/portal-bundle-merkle/swap-cross.js +139 -0
  344. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +149 -0
  345. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +259 -0
  346. package/dist/shared/flap/portal-bundle-merkle/swap-planning.d.ts +70 -0
  347. package/dist/shared/flap/portal-bundle-merkle/swap-planning.js +182 -0
  348. package/dist/shared/flap/portal-bundle-merkle/swap-quick-batch.d.ts +16 -0
  349. package/dist/shared/flap/portal-bundle-merkle/swap-quick-batch.js +327 -0
  350. package/dist/shared/flap/portal-bundle-merkle/swap-single.d.ts +2 -0
  351. package/dist/shared/flap/portal-bundle-merkle/swap-single.js +184 -0
  352. package/dist/shared/flap/portal-bundle-merkle/swap-types.d.ts +101 -0
  353. package/dist/shared/flap/portal-bundle-merkle/swap-types.js +1 -0
  354. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +6 -199
  355. package/dist/shared/flap/portal-bundle-merkle/swap.js +5 -1357
  356. package/dist/shared/flap/portal-bundle-merkle/types.d.ts +88 -12
  357. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +1 -80
  358. package/dist/shared/flap/portal-bundle-merkle/utils.js +145 -265
  359. package/dist/shared/flap/portal-bundle.js +83 -78
  360. package/dist/shared/flap/portal-create-token.d.ts +39 -21
  361. package/dist/shared/flap/portal-create-token.js +121 -124
  362. package/dist/shared/flap/portal.d.ts +1 -2
  363. package/dist/shared/flap/portal.js +36 -28
  364. package/dist/shared/flap/vanity.d.ts +6 -6
  365. package/dist/shared/flap/vanity.js +15 -21
  366. package/dist/shared/flap/vault.d.ts +25 -93
  367. package/dist/shared/flap/vault.js +77 -127
  368. package/dist/shared/foundation/amount/split-by-weight.d.ts +5 -0
  369. package/dist/shared/foundation/amount/split-by-weight.js +35 -0
  370. package/dist/shared/foundation/dex/v3-path.d.ts +6 -0
  371. package/dist/shared/foundation/dex/v3-path.js +35 -0
  372. package/dist/shared/foundation/erc20/decimals.d.ts +7 -0
  373. package/dist/shared/foundation/erc20/decimals.js +24 -0
  374. package/dist/shared/foundation/gas/bundle-gas.d.ts +49 -0
  375. package/dist/shared/foundation/gas/bundle-gas.js +93 -0
  376. package/dist/shared/foundation/gas/profit-hop.d.ts +20 -0
  377. package/dist/shared/foundation/gas/profit-hop.js +72 -0
  378. package/dist/shared/foundation/index.d.ts +15 -0
  379. package/dist/shared/foundation/index.js +14 -0
  380. package/dist/shared/foundation/nonce/nonce-manager.d.ts +19 -0
  381. package/dist/shared/foundation/nonce/nonce-manager.js +217 -0
  382. package/dist/shared/foundation/normalize-unknown.d.ts +9 -0
  383. package/dist/shared/foundation/normalize-unknown.js +29 -0
  384. package/dist/shared/foundation/sdk-logger.d.ts +13 -0
  385. package/dist/shared/foundation/sdk-logger.js +12 -0
  386. package/dist/shared/foundation/tx/build-request.d.ts +17 -0
  387. package/dist/shared/foundation/tx/build-request.js +25 -0
  388. package/dist/shared/foundation/tx/sign-batch.d.ts +5 -0
  389. package/dist/shared/foundation/tx/sign-batch.js +26 -0
  390. package/dist/shared/foundation/tx/wallet-sign-patch.d.ts +1 -0
  391. package/dist/shared/foundation/tx/wallet-sign-patch.js +18 -0
  392. package/dist/shared/foundation/types/airdrop-sweep.d.ts +79 -0
  393. package/dist/shared/foundation/types/airdrop-sweep.js +1 -0
  394. package/dist/shared/foundation/types/erc20.d.ts +65 -0
  395. package/dist/shared/foundation/types/erc20.js +1 -0
  396. package/dist/shared/foundation/types/holders-maker.d.ts +64 -0
  397. package/dist/shared/foundation/types/holders-maker.js +1 -0
  398. package/dist/shared/foundation/types/index.d.ts +7 -0
  399. package/dist/shared/foundation/types/index.js +1 -0
  400. package/dist/shared/foundation/types/lp-inspect.d.ts +102 -0
  401. package/dist/shared/foundation/types/lp-inspect.js +1 -0
  402. package/dist/shared/foundation/types/multicall.d.ts +5 -0
  403. package/dist/shared/foundation/types/multicall.js +1 -0
  404. package/dist/shared/foundation/types/private-sale.d.ts +35 -0
  405. package/dist/shared/foundation/types/private-sale.js +1 -0
  406. package/dist/shared/foundation/types/quote-helpers.d.ts +17 -0
  407. package/dist/shared/foundation/types/quote-helpers.js +1 -0
  408. package/dist/shared/foundation/wallet/generate.d.ts +5 -0
  409. package/dist/shared/foundation/wallet/generate.js +8 -0
  410. package/dist/shared/four/tax-token.d.ts +1 -1
  411. package/dist/shared/four/tax-token.js +31 -10
  412. package/dist/shared/index.d.ts +6 -0
  413. package/dist/shared/index.js +4 -0
  414. package/dist/types/errors.d.ts +27 -0
  415. package/dist/types/errors.js +34 -0
  416. package/dist/utils/airdrop-sweep.d.ts +4 -76
  417. package/dist/utils/airdrop-sweep.js +42 -55
  418. package/dist/utils/bundle-helpers.d.ts +9 -243
  419. package/dist/utils/bundle-helpers.js +10 -584
  420. package/dist/utils/constants.d.ts +5 -61
  421. package/dist/utils/constants.js +5 -80
  422. package/dist/utils/contract-factory.d.ts +2 -4
  423. package/dist/utils/contract-factory.js +25 -18
  424. package/dist/utils/erc20.d.ts +7 -89
  425. package/dist/utils/erc20.js +98 -129
  426. package/dist/utils/errors.d.ts +12 -1
  427. package/dist/utils/errors.js +60 -1
  428. package/dist/utils/holders-maker/addresses.d.ts +12 -0
  429. package/dist/utils/holders-maker/addresses.js +15 -0
  430. package/dist/utils/holders-maker/buy-tx.d.ts +44 -0
  431. package/dist/utils/holders-maker/buy-tx.js +278 -0
  432. package/dist/utils/holders-maker/constants.d.ts +6 -0
  433. package/dist/utils/holders-maker/constants.js +7 -0
  434. package/dist/utils/holders-maker/disperse.d.ts +18 -0
  435. package/dist/utils/holders-maker/disperse.js +90 -0
  436. package/dist/utils/holders-maker/routing.d.ts +4 -0
  437. package/dist/utils/holders-maker/routing.js +45 -0
  438. package/dist/utils/holders-maker/transfer-tx.d.ts +4 -0
  439. package/dist/utils/holders-maker/transfer-tx.js +67 -0
  440. package/dist/utils/holders-maker-helpers.d.ts +9 -0
  441. package/dist/utils/holders-maker-helpers.js +9 -0
  442. package/dist/utils/holders-maker.d.ts +2 -138
  443. package/dist/utils/holders-maker.js +50 -671
  444. package/dist/utils/hop-chains.d.ts +35 -0
  445. package/dist/utils/hop-chains.js +215 -0
  446. package/dist/utils/lp-inspect-helpers.d.ts +9 -0
  447. package/dist/utils/lp-inspect-helpers.js +109 -0
  448. package/dist/utils/lp-inspect.d.ts +2 -112
  449. package/dist/utils/lp-inspect.js +78 -293
  450. package/dist/utils/mpcExclusive.d.ts +2 -5
  451. package/dist/utils/mpcExclusive.js +4 -3
  452. package/dist/utils/pcs-infinity-cl.js +18 -54
  453. package/dist/utils/private-sale.d.ts +2 -58
  454. package/dist/utils/private-sale.js +4 -15
  455. package/dist/utils/provider-factory.d.ts +4 -0
  456. package/dist/utils/provider-factory.js +10 -0
  457. package/dist/utils/quote-helpers.d.ts +4 -45
  458. package/dist/utils/quote-helpers.js +17 -74
  459. package/dist/utils/stealth-transfer.d.ts +2 -28
  460. package/dist/utils/stealth-transfer.js +39 -19
  461. package/dist/utils/swap-helpers.d.ts +2 -15
  462. package/dist/utils/swap-helpers.js +6 -11
  463. package/dist/utils/types/airdrop-sweep.d.ts +1 -0
  464. package/dist/utils/types/airdrop-sweep.js +1 -0
  465. package/dist/utils/types/contract-factory.d.ts +1 -0
  466. package/dist/utils/types/contract-factory.js +1 -0
  467. package/dist/utils/types/erc20.d.ts +1 -0
  468. package/dist/utils/types/erc20.js +1 -0
  469. package/dist/utils/types/errors.d.ts +1 -0
  470. package/dist/utils/types/errors.js +1 -0
  471. package/dist/utils/types/holders-maker.d.ts +1 -0
  472. package/dist/utils/types/holders-maker.js +1 -0
  473. package/dist/utils/types/hop-chains.d.ts +8 -0
  474. package/dist/utils/types/hop-chains.js +1 -0
  475. package/dist/utils/types/index.d.ts +13 -0
  476. package/dist/utils/types/index.js +1 -0
  477. package/dist/utils/types/lp-inspect.d.ts +1 -0
  478. package/dist/utils/types/lp-inspect.js +1 -0
  479. package/dist/utils/types/mpc-exclusive.d.ts +5 -0
  480. package/dist/utils/types/mpc-exclusive.js +1 -0
  481. package/dist/utils/types/private-sale.d.ts +1 -0
  482. package/dist/utils/types/private-sale.js +1 -0
  483. package/dist/utils/types/quote-helpers.d.ts +1 -0
  484. package/dist/utils/types/quote-helpers.js +1 -0
  485. package/dist/utils/types/stealth-transfer.d.ts +44 -0
  486. package/dist/utils/types/stealth-transfer.js +1 -0
  487. package/dist/utils/types/wallet.d.ts +25 -0
  488. package/dist/utils/types/wallet.js +1 -0
  489. package/dist/utils/wallet.d.ts +4 -25
  490. package/dist/utils/wallet.js +27 -22
  491. package/dist/vanity/index.d.ts +5 -0
  492. package/dist/vanity/index.js +5 -0
  493. package/package.json +100 -2
@@ -7,11 +7,13 @@
7
7
  * 3. 多个钱包在 PancakeSwap(外盘)继续买入
8
8
  */
9
9
  import { ethers, Contract, Wallet } from 'ethers';
10
- import { NonceManager, getOptimizedGasPrice, buildProfitHopTransactions, PROFIT_HOP_COUNT } from '../../../utils/bundle-helpers.js';
10
+ import { NonceManager, getOptimizedGasPrice, buildProfitHopTransactions, PROFIT_HOP_COUNT, } from '../../../utils/bundle-helpers.js';
11
11
  import { FLAP_PORTAL_ADDRESSES } from '../constants.js';
12
- import { PROFIT_CONFIG, ADDRESSES, ZERO_ADDRESS } from '../../../utils/constants.js';
12
+ import { ADDRESSES, ZERO_ADDRESS, CHAINS } from '../../../shared/constants/index.js';
13
13
  import { GAS_LIMITS } from '../../constants/index.js';
14
- import { getGasPriceConfig, getTxType, getProfitRecipient, getBribeAmount, BLOCKRAZOR_BUILDER_EOA, PORTAL_ABI } from './config.js';
14
+ import { getGasPriceConfig, getTxType, getProfitRecipient, getProfitRateBps, getBribeAmount, BLOCKRAZOR_BUILDER_EOA, PORTAL_ABI, } from './config.js';
15
+ import { createSignProvider } from '../../../bundle-core/sign-context-helpers.js';
16
+ import { splitAmountByWeight as splitAmount } from '../../foundation/amount/split-by-weight.js';
15
17
  // ==================== 链常量 ====================
16
18
  // ✅ V2/V3 统一使用 PancakeSwap SmartRouter(支持 multicall + V2 swapExactTokensForTokens + V3 exactInputSingle)
17
19
  // 参考: flap-bundle-release 官方示例统一使用 smartRouter(0x13f4EA83D0bd40E75C8222255bc855a974568Dd4)
@@ -20,73 +22,73 @@ import { getGasPriceConfig, getTxType, getProfitRecipient, getBribeAmount, BLOCK
20
22
  const BSC_PANCAKE_SMART_ROUTER = ADDRESSES.BSC.PancakeV3Router;
21
23
  const BSC_WBNB = ADDRESSES.BSC.WBNB;
22
24
  // ✅ Base 链 DEX 常量(Uniswap V3 SwapRouter02)
23
- const BASE_UNISWAP_SMART_ROUTER = '0x2626664c2603336E57B271c5C0b26F421741e481';
25
+ const BASE_UNISWAP_SMART_ROUTER = ADDRESSES.BASE.UniswapV3Router;
24
26
  const BASE_WETH = ADDRESSES.BASE.WETH;
25
27
  // PancakeSwap Router ABI
26
28
  const PANCAKE_V3_ROUTER_ABI = [
27
29
  {
28
- "type": "function",
29
- "name": "exactInputSingle",
30
- "inputs": [
30
+ type: 'function',
31
+ name: 'exactInputSingle',
32
+ inputs: [
31
33
  {
32
- "name": "params",
33
- "type": "tuple",
34
- "components": [
35
- { "name": "tokenIn", "type": "address" },
36
- { "name": "tokenOut", "type": "address" },
37
- { "name": "fee", "type": "uint24" },
38
- { "name": "recipient", "type": "address" },
39
- { "name": "amountIn", "type": "uint256" },
40
- { "name": "amountOutMinimum", "type": "uint256" },
41
- { "name": "sqrtPriceLimitX96", "type": "uint160" }
42
- ]
43
- }
34
+ name: 'params',
35
+ type: 'tuple',
36
+ components: [
37
+ { name: 'tokenIn', type: 'address' },
38
+ { name: 'tokenOut', type: 'address' },
39
+ { name: 'fee', type: 'uint24' },
40
+ { name: 'recipient', type: 'address' },
41
+ { name: 'amountIn', type: 'uint256' },
42
+ { name: 'amountOutMinimum', type: 'uint256' },
43
+ { name: 'sqrtPriceLimitX96', type: 'uint160' },
44
+ ],
45
+ },
44
46
  ],
45
- "outputs": [{ "name": "amountOut", "type": "uint256" }],
46
- "stateMutability": "payable"
47
+ outputs: [{ name: 'amountOut', type: 'uint256' }],
48
+ stateMutability: 'payable',
47
49
  },
48
50
  {
49
- "type": "function",
50
- "name": "multicall",
51
- "inputs": [{ "name": "data", "type": "bytes[]" }],
52
- "outputs": [{ "name": "results", "type": "bytes[]" }],
53
- "stateMutability": "payable"
51
+ type: 'function',
52
+ name: 'multicall',
53
+ inputs: [{ name: 'data', type: 'bytes[]' }],
54
+ outputs: [{ name: 'results', type: 'bytes[]' }],
55
+ stateMutability: 'payable',
54
56
  },
55
57
  {
56
- "type": "function",
57
- "name": "selfPermit",
58
- "inputs": [
59
- { "name": "token", "type": "address" },
60
- { "name": "value", "type": "uint256" },
61
- { "name": "deadline", "type": "uint256" },
62
- { "name": "v", "type": "uint8" },
63
- { "name": "r", "type": "bytes32" },
64
- { "name": "s", "type": "bytes32" }
58
+ type: 'function',
59
+ name: 'selfPermit',
60
+ inputs: [
61
+ { name: 'token', type: 'address' },
62
+ { name: 'value', type: 'uint256' },
63
+ { name: 'deadline', type: 'uint256' },
64
+ { name: 'v', type: 'uint8' },
65
+ { name: 'r', type: 'bytes32' },
66
+ { name: 's', type: 'bytes32' },
65
67
  ],
66
- "outputs": [],
67
- "stateMutability": "payable"
68
+ outputs: [],
69
+ stateMutability: 'payable',
68
70
  },
69
71
  {
70
- "type": "function",
71
- "name": "swapExactTokensForTokens",
72
- "inputs": [
73
- { "name": "amountIn", "type": "uint256" },
74
- { "name": "amountOutMin", "type": "uint256" },
75
- { "name": "path", "type": "address[]" },
76
- { "name": "to", "type": "address" }
72
+ type: 'function',
73
+ name: 'swapExactTokensForTokens',
74
+ inputs: [
75
+ { name: 'amountIn', type: 'uint256' },
76
+ { name: 'amountOutMin', type: 'uint256' },
77
+ { name: 'path', type: 'address[]' },
78
+ { name: 'to', type: 'address' },
77
79
  ],
78
- "outputs": [{ "name": "amountOut", "type": "uint256" }],
79
- "stateMutability": "payable"
80
- }
80
+ outputs: [{ name: 'amountOut', type: 'uint256' }],
81
+ stateMutability: 'payable',
82
+ },
81
83
  ];
82
84
  // ==================== 链配置 ====================
83
85
  function getCurveToDexChainConfig(chain) {
84
86
  switch (chain) {
85
87
  case 'base':
86
- return { chainId: 8453, smartRouter: BASE_UNISWAP_SMART_ROUTER, wrappedNative: BASE_WETH };
88
+ return { chainId: CHAINS.BASE.chainId, smartRouter: BASE_UNISWAP_SMART_ROUTER, wrappedNative: BASE_WETH };
87
89
  case 'bsc':
88
90
  default:
89
- return { chainId: 56, smartRouter: BSC_PANCAKE_SMART_ROUTER, wrappedNative: BSC_WBNB };
91
+ return { chainId: CHAINS.BSC.chainId, smartRouter: BSC_PANCAKE_SMART_ROUTER, wrappedNative: BSC_WBNB };
90
92
  }
91
93
  }
92
94
  // ==================== 工具函数 ====================
@@ -97,33 +99,6 @@ function getGasLimit(config, defaultGas = 800000) {
97
99
  const multiplier = config.gasLimitMultiplier ?? 1.0;
98
100
  return BigInt(Math.ceil(defaultGas * multiplier));
99
101
  }
100
- /** 将金额拆分成多份(权重随机) */
101
- function splitAmount(totalAmount, count) {
102
- if (count <= 0)
103
- throw new Error('拆分份数必须大于 0');
104
- if (count === 1)
105
- return [totalAmount];
106
- const weights = [];
107
- for (let i = 0; i < count; i++) {
108
- weights.push(0.5 + Math.random());
109
- }
110
- const totalWeight = weights.reduce((a, b) => a + b, 0);
111
- const amounts = [];
112
- let allocated = 0n;
113
- for (let i = 0; i < count - 1; i++) {
114
- const ratio = weights[i] / totalWeight;
115
- const amount = BigInt(Math.floor(Number(totalAmount) * ratio));
116
- amounts.push(amount);
117
- allocated += amount;
118
- }
119
- amounts.push(totalAmount - allocated);
120
- // 随机打乱
121
- for (let i = amounts.length - 1; i > 0; i--) {
122
- const j = Math.floor(Math.random() * (i + 1));
123
- [amounts[i], amounts[j]] = [amounts[j], amounts[i]];
124
- }
125
- return amounts;
126
- }
127
102
  // ==================== 主函数 ====================
128
103
  /**
129
104
  * Flap 内盘买到外盘捆绑交易
@@ -136,7 +111,7 @@ function splitAmount(totalAmount, count) {
136
111
  * 5. 利润多跳转账
137
112
  */
138
113
  export async function flapBundleCurveToDex(params) {
139
- const { chain, tokenAddress, quoteToken, quoteTokenDecimals = 18, curveBuyers, curveTotalBuyAmount, triggerGraduate = true, graduateWallet, dexBuyers = [], dexTotalBuyAmount, dexPoolType = 'v3', v3Fee = 2500, config } = params;
114
+ const { chain, tokenAddress, quoteToken, quoteTokenDecimals = 18, curveBuyers, curveTotalBuyAmount, triggerGraduate = true, graduateWallet, dexBuyers = [], dexTotalBuyAmount, dexPoolType = 'v3', v3Fee = 2500, config, } = params;
140
115
  // 验证参数
141
116
  if (curveBuyers.length === 0) {
142
117
  throw new Error('至少需要一个内盘买入钱包');
@@ -148,40 +123,39 @@ export async function flapBundleCurveToDex(params) {
148
123
  const chainConfig = getCurveToDexChainConfig(chain);
149
124
  const chainId = chainConfig.chainId;
150
125
  // 创建 Provider
151
- const provider = new ethers.JsonRpcProvider(config.rpcUrl, {
152
- chainId,
153
- name: chain.toUpperCase()
154
- });
126
+ const provider = createSignProvider(config.rpcUrl, chainId, chain.toUpperCase());
155
127
  const portalAddress = FLAP_PORTAL_ADDRESSES[chain.toUpperCase()];
156
128
  const nonceManager = new NonceManager(provider);
157
129
  // 创建钱包实例
158
- const curveWallets = curveBuyers.map(b => ({
130
+ const curveWallets = curveBuyers.map((b) => ({
159
131
  wallet: new Wallet(b.privateKey, provider),
160
- buyAmount: b.buyAmount
132
+ buyAmount: b.buyAmount,
161
133
  }));
162
- const graduateWalletInfo = graduateWallet ? {
163
- wallet: new Wallet(graduateWallet.privateKey, provider),
164
- buyAmount: graduateWallet.buyAmount
165
- } : null;
166
- const dexWallets = dexBuyers.map(b => ({
134
+ const graduateWalletInfo = graduateWallet
135
+ ? {
136
+ wallet: new Wallet(graduateWallet.privateKey, provider),
137
+ buyAmount: graduateWallet.buyAmount,
138
+ }
139
+ : null;
140
+ const dexWallets = dexBuyers.map((b) => ({
167
141
  wallet: new Wallet(b.privateKey, provider),
168
- buyAmount: b.buyAmount
142
+ buyAmount: b.buyAmount,
169
143
  }));
170
144
  // 使用第一个内盘买家作为主钱包(支付贿赂和利润)
171
145
  const mainWallet = curveWallets[0].wallet;
172
146
  // ✅ 第一批并行:获取 gasPrice + 所有钱包 nonces
173
147
  const allWallets = [
174
- ...curveWallets.map(c => c.wallet),
148
+ ...curveWallets.map((c) => c.wallet),
175
149
  ...(graduateWalletInfo ? [graduateWalletInfo.wallet] : []),
176
- ...dexWallets.map(d => d.wallet)
150
+ ...dexWallets.map((d) => d.wallet),
177
151
  ];
178
152
  const uniqueWallets = allWallets.filter((w, i) => {
179
153
  const addr = w.address.toLowerCase();
180
- return allWallets.findIndex(x => x.address.toLowerCase() === addr) === i;
154
+ return allWallets.findIndex((x) => x.address.toLowerCase() === addr) === i;
181
155
  });
182
156
  const [gasPrice, noncesArray] = await Promise.all([
183
157
  getOptimizedGasPrice(provider, getGasPriceConfig(config)),
184
- nonceManager.getNextNoncesForWallets(uniqueWallets)
158
+ nonceManager.getNextNoncesForWallets(uniqueWallets),
185
159
  ]);
186
160
  // 构建 nonces Map
187
161
  const noncesMap = new Map();
@@ -203,12 +177,10 @@ export async function flapBundleCurveToDex(params) {
203
177
  }
204
178
  else {
205
179
  // 使用各自指定的金额
206
- curveBuyAmounts = curveBuyers.map(b => {
180
+ curveBuyAmounts = curveBuyers.map((b) => {
207
181
  if (!b.buyAmount)
208
182
  throw new Error('未指定 curveTotalBuyAmount 时,每个钱包必须指定 buyAmount');
209
- return useNativeToken
210
- ? ethers.parseEther(b.buyAmount)
211
- : ethers.parseUnits(b.buyAmount, quoteTokenDecimals);
183
+ return useNativeToken ? ethers.parseEther(b.buyAmount) : ethers.parseUnits(b.buyAmount, quoteTokenDecimals);
212
184
  });
213
185
  }
214
186
  // ✅ 计算毕业买入金额
@@ -233,20 +205,16 @@ export async function flapBundleCurveToDex(params) {
233
205
  dexBuyAmounts = splitAmount(total, dexBuyers.length);
234
206
  }
235
207
  else {
236
- dexBuyAmounts = dexBuyers.map(b => {
208
+ dexBuyAmounts = dexBuyers.map((b) => {
237
209
  if (!b.buyAmount)
238
210
  throw new Error('未指定 dexTotalBuyAmount 时,每个钱包必须指定 buyAmount');
239
- return useNativeToken
240
- ? ethers.parseEther(b.buyAmount)
241
- : ethers.parseUnits(b.buyAmount, quoteTokenDecimals);
211
+ return useNativeToken ? ethers.parseEther(b.buyAmount) : ethers.parseUnits(b.buyAmount, quoteTokenDecimals);
242
212
  });
243
213
  }
244
214
  }
245
215
  // ✅ 计算利润
246
- const totalBuyAmount = curveBuyAmounts.reduce((a, b) => a + b, 0n)
247
- + graduateBuyAmount
248
- + dexBuyAmounts.reduce((a, b) => a + b, 0n);
249
- const profitAmount = (totalBuyAmount * BigInt(PROFIT_CONFIG.RATE_BPS)) / 10000n;
216
+ const totalBuyAmount = curveBuyAmounts.reduce((a, b) => a + b, 0n) + graduateBuyAmount + dexBuyAmounts.reduce((a, b) => a + b, 0n);
217
+ const profitAmount = (totalBuyAmount * BigInt(getProfitRateBps())) / 10000n;
250
218
  // ==================== 构建交易 ====================
251
219
  const allTransactions = [];
252
220
  // 1. 贿赂交易
@@ -261,7 +229,7 @@ export async function flapBundleCurveToDex(params) {
261
229
  gasPrice,
262
230
  gasLimit: GAS_LIMITS.BRIBE,
263
231
  chainId,
264
- type: txType
232
+ type: txType,
265
233
  });
266
234
  allTransactions.push(bribeTx);
267
235
  }
@@ -276,7 +244,7 @@ export async function flapBundleCurveToDex(params) {
276
244
  outputToken: tokenAddress,
277
245
  inputAmount: curveBuyAmounts[i],
278
246
  minOutputAmount: 0n,
279
- permitData: '0x'
247
+ permitData: '0x',
280
248
  }, useNativeToken ? { value: curveBuyAmounts[i] } : {});
281
249
  const tx = {
282
250
  ...unsigned,
@@ -285,7 +253,7 @@ export async function flapBundleCurveToDex(params) {
285
253
  gasLimit: finalGasLimit,
286
254
  chainId,
287
255
  type: txType,
288
- value: useNativeToken ? curveBuyAmounts[i] : 0n
256
+ value: useNativeToken ? curveBuyAmounts[i] : 0n,
289
257
  };
290
258
  if (txType === 2) {
291
259
  tx.maxFeePerGas = gasPrice;
@@ -310,16 +278,16 @@ export async function flapBundleCurveToDex(params) {
310
278
  outputToken: tokenAddress,
311
279
  inputAmount: graduateBuyAmount,
312
280
  minOutputAmount: 0n,
313
- permitData: '0x'
281
+ permitData: '0x',
314
282
  }, useNativeToken ? { value: graduateBuyAmount } : {});
315
283
  const tx = {
316
284
  ...unsigned,
317
285
  from: wallet.address,
318
286
  nonce,
319
- gasLimit: BigInt(1500000), // 毕业交易需要更多 gas
287
+ gasLimit: BigInt(1_500_000), // 毕业交易需要更多 gas
320
288
  chainId,
321
289
  type: txType,
322
- value: useNativeToken ? graduateBuyAmount : 0n
290
+ value: useNativeToken ? graduateBuyAmount : 0n,
323
291
  };
324
292
  if (txType === 2) {
325
293
  tx.maxFeePerGas = gasPrice;
@@ -353,10 +321,12 @@ export async function flapBundleCurveToDex(params) {
353
321
  recipient: wallet.address,
354
322
  amountIn: buyAmount,
355
323
  amountOutMinimum: 0n,
356
- sqrtPriceLimitX96: 0n
324
+ sqrtPriceLimitX96: 0n,
357
325
  };
358
326
  const exactInputSingleData = new ethers.Interface(PANCAKE_V3_ROUTER_ABI).encodeFunctionData('exactInputSingle', [params]);
359
- calldata = new ethers.Interface(PANCAKE_V3_ROUTER_ABI).encodeFunctionData('multicall', [[exactInputSingleData]]);
327
+ calldata = new ethers.Interface(PANCAKE_V3_ROUTER_ABI).encodeFunctionData('multicall', [
328
+ [exactInputSingleData],
329
+ ]);
360
330
  value = buyAmount;
361
331
  }
362
332
  else {
@@ -368,22 +338,34 @@ export async function flapBundleCurveToDex(params) {
368
338
  recipient: wallet.address,
369
339
  amountIn: buyAmount,
370
340
  amountOutMinimum: 0n,
371
- sqrtPriceLimitX96: 0n
341
+ sqrtPriceLimitX96: 0n,
372
342
  };
373
343
  const exactInputSingleData = new ethers.Interface(PANCAKE_V3_ROUTER_ABI).encodeFunctionData('exactInputSingle', [params]);
374
- calldata = new ethers.Interface(PANCAKE_V3_ROUTER_ABI).encodeFunctionData('multicall', [[exactInputSingleData]]);
344
+ calldata = new ethers.Interface(PANCAKE_V3_ROUTER_ABI).encodeFunctionData('multicall', [
345
+ [exactInputSingleData],
346
+ ]);
375
347
  value = 0n;
376
348
  }
377
349
  }
378
350
  else {
379
351
  // V2: swapExactTokensForTokens
380
352
  if (useNativeToken) {
381
- const swapData = new ethers.Interface(PANCAKE_V3_ROUTER_ABI).encodeFunctionData('swapExactTokensForTokens', [buyAmount, 0n, [wrappedNative, tokenAddress], wallet.address]);
353
+ const swapData = new ethers.Interface(PANCAKE_V3_ROUTER_ABI).encodeFunctionData('swapExactTokensForTokens', [
354
+ buyAmount,
355
+ 0n,
356
+ [wrappedNative, tokenAddress],
357
+ wallet.address,
358
+ ]);
382
359
  calldata = new ethers.Interface(PANCAKE_V3_ROUTER_ABI).encodeFunctionData('multicall', [[swapData]]);
383
360
  value = buyAmount;
384
361
  }
385
362
  else {
386
- const swapData = new ethers.Interface(PANCAKE_V3_ROUTER_ABI).encodeFunctionData('swapExactTokensForTokens', [buyAmount, 0n, [quoteToken, tokenAddress], wallet.address]);
363
+ const swapData = new ethers.Interface(PANCAKE_V3_ROUTER_ABI).encodeFunctionData('swapExactTokensForTokens', [
364
+ buyAmount,
365
+ 0n,
366
+ [quoteToken, tokenAddress],
367
+ wallet.address,
368
+ ]);
387
369
  calldata = new ethers.Interface(PANCAKE_V3_ROUTER_ABI).encodeFunctionData('multicall', [[swapData]]);
388
370
  value = 0n;
389
371
  }
@@ -393,10 +375,10 @@ export async function flapBundleCurveToDex(params) {
393
375
  data: calldata,
394
376
  from: wallet.address,
395
377
  nonce,
396
- gasLimit: BigInt(500000),
378
+ gasLimit: BigInt(500_000),
397
379
  chainId,
398
380
  type: txType,
399
- value
381
+ value,
400
382
  };
401
383
  if (txType === 2) {
402
384
  tx.maxFeePerGas = gasPrice;
@@ -424,7 +406,7 @@ export async function flapBundleCurveToDex(params) {
424
406
  gasPrice,
425
407
  chainId,
426
408
  txType,
427
- startNonce: profitNonce
409
+ startNonce: profitNonce,
428
410
  });
429
411
  allTransactions.push(...profitResult.signedTransactions);
430
412
  profitHopWallets = profitResult.hopWallets;
@@ -440,7 +422,7 @@ export async function flapBundleCurveToDex(params) {
440
422
  graduated: triggerGraduate,
441
423
  dexBuyerCount: dexBuyers.length,
442
424
  dexTotalBuy: ethers.formatEther(dexBuyAmounts.reduce((a, b) => a + b, 0n)),
443
- profitAmount: profitAmount > 0n ? ethers.formatEther(profitAmount) : undefined
444
- }
425
+ profitAmount: profitAmount > 0n ? ethers.formatEther(profitAmount) : undefined,
426
+ },
445
427
  };
446
428
  }
@@ -5,10 +5,14 @@
5
5
  export * from './config.js';
6
6
  export * from './types.js';
7
7
  export { createTokenWithBundleBuyMerkle, batchBuyWithBundleMerkle, batchSellWithBundleMerkle } from './core.js';
8
- export { flapBundleBuyFirstMerkle, type FlapChain, type FlapBuyFirstSignConfig, type FlapBuyFirstConfig, type FlapBundleBuyFirstSignParams, type FlapBundleBuyFirstParams, type FlapBuyFirstResult } from './swap-buy-first.js';
9
- export { flapPrivateBuyMerkle, flapPrivateSellMerkle, flapBatchPrivateBuyMerkle, flapBatchPrivateSellMerkle } from './private.js';
10
- export { pancakeProxyBatchBuyMerkle, pancakeProxyBatchSellMerkle, approvePancakeProxy, approvePancakeProxyBatch } from './pancake-proxy.js';
11
- export { flapDisperseWithBundleMerkle, flapSweepWithBundleMerkle, type FlapDisperseSignParams, type FlapDisperseMerkleResult, type FlapSweepSignParams, type FlapSweepMerkleResult } from './utils.js';
12
- export { flapBundleCurveToDex, type CurveToDexChain, type DexPoolType, type CurveToDexSignConfig, type CurveBuyerConfig, type DexBuyerConfig, type FlapCurveToDexParams, type FlapCurveToDexResult } from './curve-to-dex.js';
13
- export { flapBundleCreateToDex, type CreateToDexChain, type CreateToDexSignConfig, type CreateTokenInfo, type FlapCreateToDexParams, type FlapCreateToDexResult, type CurveBuyerConfig as CreateCurveBuyerConfig, type DexBuyerConfig as CreateDexBuyerConfig, type DexPoolType as CreateDexPoolType } from './create-to-dex.js';
14
- export { flapBundleSwapMerkle, flapBatchSwapMerkle, flapQuickBatchSwapMerkle, flapCrossSwapMerkle, type FlapSwapSignConfig, type FlapSwapConfig, type FlapBundleSwapSignParams, type FlapBundleSwapParams, type FlapSwapResult, type FlapBatchSwapSignParams, type FlapBatchSwapResult, type FlapQuickBatchSwapSignParams, type FlapQuickBatchSwapResult, type FlapCrossSwapParams, type FlapCrossSwapResult, type UserType } from './swap.js';
8
+ export { flapBundleBuyFirstMerkle } from './swap-buy-first.js';
9
+ export type { FlapChain, FlapBuyFirstSignConfig, FlapBuyFirstConfig, FlapBundleBuyFirstSignParams, FlapBundleBuyFirstParams, FlapBuyFirstResult, } from './swap-buy-first-helpers.js';
10
+ export { flapPrivateBuyMerkle, flapPrivateSellMerkle, flapBatchPrivateBuyMerkle, flapBatchPrivateSellMerkle, } from './private.js';
11
+ export { pancakeProxyBatchBuyMerkle, pancakeProxyBatchSellMerkle, approvePancakeProxy, approvePancakeProxyBatch, } from './pancake-proxy.js';
12
+ export { flapDisperseWithBundleMerkle, flapSweepWithBundleMerkle } from './utils.js';
13
+ export type { FlapDisperseSignParams, FlapDisperseMerkleResult, FlapSweepSignParams, FlapSweepMerkleResult, } from './types.js';
14
+ export { flapBundleCurveToDex, type CurveToDexChain, type DexPoolType, type CurveToDexSignConfig, type CurveBuyerConfig, type DexBuyerConfig, type FlapCurveToDexParams, type FlapCurveToDexResult, } from './curve-to-dex.js';
15
+ export { flapBundleCreateToDex, type CreateToDexChain, type CreateToDexSignConfig, type CreateTokenInfo, type FlapCreateToDexParams, type FlapCreateToDexResult, type CurveBuyerConfig as CreateCurveBuyerConfig, type DexBuyerConfig as CreateDexBuyerConfig, type DexPoolType as CreateDexPoolType, } from './create-to-dex.js';
16
+ export { flapBundleSwapMerkle, flapBatchSwapMerkle, flapQuickBatchSwapMerkle, flapCrossSwapMerkle } from './swap.js';
17
+ export type { FlapSwapSignConfig, FlapSwapConfig, FlapBundleSwapSignParams, FlapBundleSwapParams, FlapSwapResult, UserType, } from './swap-helpers.js';
18
+ export type { FlapBatchSwapSignParams, FlapBatchSwapResult, FlapQuickBatchSwapSignParams, FlapQuickBatchSwapResult, FlapCrossSwapParams, FlapCrossSwapResult, } from './swap.js';
@@ -10,17 +10,14 @@ export { createTokenWithBundleBuyMerkle, batchBuyWithBundleMerkle, batchSellWith
10
10
  // BuyFirst 换手方法
11
11
  export { flapBundleBuyFirstMerkle } from './swap-buy-first.js';
12
12
  // 私有交易方法(使用 Flap Portal)
13
- export { flapPrivateBuyMerkle, flapPrivateSellMerkle, flapBatchPrivateBuyMerkle, flapBatchPrivateSellMerkle } from './private.js';
13
+ export { flapPrivateBuyMerkle, flapPrivateSellMerkle, flapBatchPrivateBuyMerkle, flapBatchPrivateSellMerkle, } from './private.js';
14
14
  // PancakeSwapProxy 代理交易方法(使用自定义代理合约)
15
- export { pancakeProxyBatchBuyMerkle, pancakeProxyBatchSellMerkle, approvePancakeProxy, approvePancakeProxyBatch } from './pancake-proxy.js';
15
+ export { pancakeProxyBatchBuyMerkle, pancakeProxyBatchSellMerkle, approvePancakeProxy, approvePancakeProxyBatch, } from './pancake-proxy.js';
16
16
  // ✅ 归集和分散方法(支持利润提取、余额最大钱包支付、多跳、ERC20→原生代币报价、Multicall3)
17
17
  export { flapDisperseWithBundleMerkle, flapSweepWithBundleMerkle } from './utils.js';
18
18
  // ✅ 内盘买到外盘(Bonding Curve → DEX)- 已存在代币
19
- export { flapBundleCurveToDex } from './curve-to-dex.js';
19
+ export { flapBundleCurveToDex, } from './curve-to-dex.js';
20
20
  // ✅ 发币 + 一键买到外盘(Create → Curve → DEX)- 新代币
21
- export { flapBundleCreateToDex } from './create-to-dex.js';
21
+ export { flapBundleCreateToDex, } from './create-to-dex.js';
22
22
  // ✅ 内盘换手方法(一卖一买、一卖多买、快捷资金利用率、交叉换手)
23
23
  export { flapBundleSwapMerkle, flapBatchSwapMerkle, flapQuickBatchSwapMerkle, flapCrossSwapMerkle } from './swap.js';
24
- // ✅ Tax Vault 金库类型(types.ts 中 TaxV2Config.vaultConfig 使用的类型)
25
- // 注意:TaxVaultConfig 完整导出在 flap/index.ts → vault.js 中
26
- // 这里仅从 types.ts 导出 TaxV2Config 中嵌套使用时的类型引用