four-flap-meme-sdk 2.2.19 → 3.0.0

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 (519) hide show
  1. package/dist/{shared/abis → abis}/common.d.ts +1 -1
  2. package/dist/{shared/abis → abis}/common.js +75 -91
  3. package/dist/abis/contracts/TaxToken.json +969 -0
  4. package/dist/abis/contracts/TokenManager2.json +136 -0
  5. package/dist/{shared/abis → abis/contracts}/index.d.ts +0 -1
  6. package/dist/{shared/abis → abis/contracts}/index.js +0 -2
  7. package/dist/abis/flap/index.d.ts +5 -0
  8. package/dist/abis/flap/index.js +5 -0
  9. package/dist/abis/flap/portal-eip7702.d.ts +4 -0
  10. package/dist/abis/flap/portal-eip7702.js +39 -0
  11. package/dist/abis/flap/portal-events.d.ts +6 -0
  12. package/dist/abis/flap/portal-events.js +17 -0
  13. package/dist/abis/flap/portal-merkle.d.ts +4 -0
  14. package/dist/abis/flap/portal-merkle.js +25 -0
  15. package/dist/abis/flap/portal.d.ts +6 -0
  16. package/dist/abis/flap/portal.js +37 -0
  17. package/dist/abis/flap/vault.d.ts +171 -0
  18. package/dist/abis/flap/vault.js +91 -0
  19. package/dist/abis/index.d.ts +6 -0
  20. package/dist/abis/index.js +9 -0
  21. package/dist/bundle/config-helpers.d.ts +37 -0
  22. package/dist/bundle/config-helpers.js +58 -0
  23. package/dist/bundle/errors.d.ts +50 -0
  24. package/dist/bundle/errors.js +38 -0
  25. package/dist/bundle/four-meme/approve-tokenmanager.d.ts +7 -0
  26. package/dist/bundle/four-meme/approve-tokenmanager.js +99 -0
  27. package/dist/bundle/four-meme/core-helpers.d.ts +8 -0
  28. package/dist/bundle/four-meme/core-helpers.js +41 -0
  29. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/core.d.ts +1 -1
  30. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/core.js +74 -150
  31. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/pancake-proxy.d.ts +1 -1
  32. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/pancake-proxy.js +85 -92
  33. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/private.d.ts +1 -1
  34. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/private.js +48 -59
  35. package/dist/bundle/four-meme/sign-context-helpers.d.ts +2 -0
  36. package/dist/bundle/four-meme/sign-context-helpers.js +2 -0
  37. package/dist/bundle/four-meme/swap-buy-first.d.ts +8 -0
  38. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/swap-buy-first.js +56 -108
  39. package/dist/bundle/four-meme/swap-hop-helpers.d.ts +6 -0
  40. package/dist/bundle/four-meme/swap-hop-helpers.js +63 -0
  41. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/swap-internal.js +4 -4
  42. package/dist/bundle/four-meme/swap-sign-helpers.d.ts +28 -0
  43. package/dist/bundle/four-meme/swap-sign-helpers.js +105 -0
  44. package/dist/bundle/four-meme/swap.d.ts +17 -0
  45. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/swap.js +84 -345
  46. package/dist/{contracts/tm-bundle-merkle/swap-buy-first.d.ts → bundle/four-meme/types/buy-first.d.ts} +11 -18
  47. package/dist/bundle/four-meme/types/core-flow.d.ts +63 -0
  48. package/dist/bundle/four-meme/types/core-flow.js +1 -0
  49. package/dist/{contracts/tm-bundle-merkle/types.d.ts → bundle/four-meme/types/index.d.ts} +130 -6
  50. package/dist/bundle/four-meme/types/index.js +1 -0
  51. package/dist/bundle/four-meme/types/swap-internal.d.ts +19 -0
  52. package/dist/bundle/four-meme/types/swap-internal.js +1 -0
  53. package/dist/bundle/four-meme/types.d.ts +1 -0
  54. package/dist/bundle/four-meme/utils-disperse.d.ts +7 -0
  55. package/dist/bundle/four-meme/utils-disperse.js +396 -0
  56. package/dist/bundle/four-meme/utils-pairwise.d.ts +8 -0
  57. package/dist/bundle/four-meme/utils-pairwise.js +328 -0
  58. package/dist/bundle/four-meme/utils-sweep.d.ts +8 -0
  59. package/dist/bundle/four-meme/utils-sweep.js +744 -0
  60. package/dist/bundle/index.d.ts +8 -0
  61. package/dist/bundle/index.js +8 -0
  62. package/dist/bundle/internal.d.ts +16 -0
  63. package/dist/bundle/internal.js +160 -0
  64. package/dist/bundle/sign-context-helpers.d.ts +26 -0
  65. package/dist/bundle/sign-context-helpers.js +63 -0
  66. package/dist/{contracts/tm-bundle-merkle → bundle}/submit.d.ts +6 -27
  67. package/dist/{contracts/tm-bundle-merkle → bundle}/submit.js +116 -313
  68. package/dist/bundle/types/index.d.ts +8 -0
  69. package/dist/bundle/types/index.js +1 -0
  70. package/dist/bundle/types.d.ts +1 -0
  71. package/dist/bundle/types.js +1 -0
  72. package/dist/chains/bsc/constants.js +1 -1
  73. package/dist/chains/bsc/four/approve-tokenmanager.d.ts +1 -26
  74. package/dist/chains/bsc/four/approve-tokenmanager.js +1 -113
  75. package/dist/chains/bsc/four/config.d.ts +5 -67
  76. package/dist/chains/bsc/four/config.js +2 -114
  77. package/dist/chains/bsc/four/core.d.ts +1 -4
  78. package/dist/chains/bsc/four/core.js +1 -592
  79. package/dist/chains/bsc/four/index.d.ts +6 -6
  80. package/dist/chains/bsc/four/index.js +6 -6
  81. package/dist/chains/bsc/four/internal.d.ts +2 -46
  82. package/dist/chains/bsc/four/internal.js +2 -239
  83. package/dist/chains/bsc/four/pancake-proxy.d.ts +1 -28
  84. package/dist/chains/bsc/four/pancake-proxy.js +1 -687
  85. package/dist/chains/bsc/four/private.d.ts +1 -27
  86. package/dist/chains/bsc/four/private.js +1 -477
  87. package/dist/chains/bsc/four/submit.d.ts +2 -315
  88. package/dist/chains/bsc/four/submit.js +2 -752
  89. package/dist/chains/bsc/four/swap-buy-first.d.ts +2 -55
  90. package/dist/chains/bsc/four/swap-buy-first.js +2 -507
  91. package/dist/chains/bsc/four/swap-internal.d.ts +1 -3
  92. package/dist/chains/bsc/four/swap-internal.js +1 -18
  93. package/dist/chains/bsc/four/swap.d.ts +2 -144
  94. package/dist/chains/bsc/four/swap.js +2 -766
  95. package/dist/chains/bsc/four/types.d.ts +1 -476
  96. package/dist/chains/bsc/four/utils-disperse.d.ts +1 -0
  97. package/dist/chains/bsc/four/utils-disperse.js +1 -0
  98. package/dist/chains/bsc/four/utils-pairwise.d.ts +1 -0
  99. package/dist/chains/bsc/four/utils-pairwise.js +1 -0
  100. package/dist/chains/bsc/four/utils-sweep.d.ts +1 -0
  101. package/dist/chains/bsc/four/utils-sweep.js +1 -0
  102. package/dist/chains/bsc/four/utils.d.ts +5 -18
  103. package/dist/chains/bsc/four/utils.js +5 -1552
  104. package/dist/chains/bsc/iro.d.ts +5 -0
  105. package/dist/chains/bsc/iro.js +4 -0
  106. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +155 -0
  107. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +80 -0
  108. package/dist/chains/bsc/pancake/bundle-buy-first.d.ts +1 -91
  109. package/dist/chains/bsc/pancake/bundle-buy-first.js +99 -214
  110. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +241 -0
  111. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +565 -0
  112. package/dist/chains/bsc/pancake/bundle-swap.d.ts +1 -79
  113. package/dist/chains/bsc/pancake/bundle-swap.js +114 -726
  114. package/dist/chains/bsc/pancake/index.d.ts +4 -2
  115. package/dist/chains/bsc/pancake/index.js +1 -3
  116. package/dist/chains/bsc/platforms/iro/constants.js +1 -1
  117. package/dist/chains/bsc/platforms/iro/factory.d.ts +2 -2
  118. package/dist/chains/bsc/platforms/iro/factory.js +3 -1
  119. package/dist/chains/bsc/platforms/iro/index.d.ts +5 -5
  120. package/dist/chains/bsc/platforms/iro/index.js +3 -3
  121. package/dist/chains/bsc/platforms/iro/pool.js +31 -10
  122. package/dist/chains/bsc/platforms/iro/token.js +5 -2
  123. package/dist/chains/eni/batch-router/bundle-approve.js +4 -3
  124. package/dist/chains/eni/batch-router/transfer.js +57 -27
  125. package/dist/chains/eni/batch-router/utils.js +32 -6
  126. package/dist/chains/eni/bundler/sign.js +5 -6
  127. package/dist/chains/eni/bundler/submit.js +1 -4
  128. package/dist/chains/eni/constants.js +2 -2
  129. package/dist/chains/eni/flat-aliases.d.ts +10 -0
  130. package/dist/chains/eni/flat-aliases.js +8 -0
  131. package/dist/chains/eni/index.d.ts +2 -1
  132. package/dist/chains/eni/index.js +1 -0
  133. package/dist/chains/eni/platforms/daoaas/create.js +3 -3
  134. package/dist/chains/eni/platforms/daoaas/index.d.ts +3 -3
  135. package/dist/chains/eni/platforms/daoaas/index.js +3 -3
  136. package/dist/chains/eni/platforms/daoaas/meta.js +9 -6
  137. package/dist/chains/eni/platforms/daoaas/portal-direct.js +29 -45
  138. package/dist/chains/eni/platforms/daoaas/portal.js +10 -6
  139. package/dist/chains/eni/platforms/dswap/liquidity.js +59 -27
  140. package/dist/chains/eni/platforms/fair-launch/constants.js +1 -1
  141. package/dist/chains/eni/platforms/fair-launch/index.d.ts +2 -2
  142. package/dist/chains/eni/platforms/fair-launch/index.js +1 -1
  143. package/dist/chains/eni/platforms/fair-launch/launcher.js +88 -47
  144. package/dist/chains/eni/platforms/fair-launch/pool.js +5 -2
  145. package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
  146. package/dist/chains/eni/platforms/iro/constants.d.ts +1 -1
  147. package/dist/chains/eni/platforms/iro/constants.js +2 -2
  148. package/dist/chains/eni/platforms/iro/factory.d.ts +2 -2
  149. package/dist/chains/eni/platforms/iro/factory.js +3 -1
  150. package/dist/chains/eni/platforms/iro/index.d.ts +6 -6
  151. package/dist/chains/eni/platforms/iro/index.js +4 -4
  152. package/dist/chains/eni/platforms/iro/pool.js +90 -26
  153. package/dist/chains/eni/platforms/iro/token.js +108 -32
  154. package/dist/chains/eni/platforms/iro/whitelist.js +6 -18
  155. package/dist/chains/eni/submit.d.ts +43 -0
  156. package/dist/chains/eni/submit.js +287 -0
  157. package/dist/chains/index.d.ts +13 -0
  158. package/dist/chains/index.js +13 -0
  159. package/dist/chains/monad/constants.js +1 -1
  160. package/dist/chains/xlayer/constants.d.ts +5 -0
  161. package/dist/chains/xlayer/constants.js +1 -1
  162. package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +2 -26
  163. package/dist/chains/xlayer/eip7702/bundle-approve.js +11 -21
  164. package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +2 -6
  165. package/dist/chains/xlayer/eip7702/bundle-buy.js +13 -51
  166. package/dist/chains/xlayer/eip7702/bundle-create.js +104 -74
  167. package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +2 -6
  168. package/dist/chains/xlayer/eip7702/bundle-sell.js +30 -112
  169. package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +3 -65
  170. package/dist/chains/xlayer/eip7702/bundle-swap.js +52 -246
  171. package/dist/chains/xlayer/eip7702/constants.d.ts +11 -26
  172. package/dist/chains/xlayer/eip7702/constants.js +15 -68
  173. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +13 -0
  174. package/dist/chains/xlayer/eip7702/flat-aliases.js +10 -0
  175. package/dist/chains/xlayer/eip7702/index.d.ts +28 -46
  176. package/dist/chains/xlayer/eip7702/index.js +28 -81
  177. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +79 -0
  178. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +1 -0
  179. package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +2 -203
  180. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +64 -308
  181. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +26 -0
  182. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +58 -0
  183. package/dist/chains/xlayer/eip7702/types.d.ts +88 -0
  184. package/dist/chains/xlayer/eip7702/utils.d.ts +0 -3
  185. package/dist/chains/xlayer/eip7702/utils.js +23 -28
  186. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +148 -0
  187. package/dist/chains/xlayer/eip7702/volume-helpers.js +48 -0
  188. package/dist/chains/xlayer/eip7702/volume.d.ts +6 -184
  189. package/dist/chains/xlayer/eip7702/volume.js +89 -164
  190. package/dist/chains/xlayer/eoa/constants.d.ts +1 -1
  191. package/dist/chains/xlayer/eoa/constants.js +2 -16
  192. package/dist/chains/xlayer/eoa/dex-helpers.d.ts +1 -1
  193. package/dist/chains/xlayer/eoa/dex-helpers.js +7 -37
  194. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +126 -0
  195. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +228 -0
  196. package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +1 -95
  197. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +66 -299
  198. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
  199. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +18 -23
  200. package/dist/chains/xlayer/eoa/index.d.ts +10 -6
  201. package/dist/chains/xlayer/eoa/index.js +8 -23
  202. package/dist/chains/xlayer/eoa/portal-ops.js +7 -2
  203. package/dist/chains/xlayer/eoa/router-manager.js +5 -4
  204. package/dist/chains/xlayer/eoa/types.d.ts +2 -2
  205. package/dist/chains/xlayer/eoa/types.js +1 -3
  206. package/dist/chains/xlayer/index.d.ts +3 -2
  207. package/dist/chains/xlayer/index.js +4 -7
  208. package/dist/core/amount/split-by-weight.d.ts +5 -0
  209. package/dist/core/amount/split-by-weight.js +35 -0
  210. package/dist/{shared → core}/clients/blockrazor.d.ts +4 -8
  211. package/dist/{shared → core}/clients/blockrazor.js +43 -35
  212. package/dist/{shared → core}/clients/club48.d.ts +2 -2
  213. package/dist/{shared → core}/clients/club48.js +36 -30
  214. package/dist/{shared → core}/clients/emitservice.js +2 -0
  215. package/dist/{shared → core}/clients/four.d.ts +21 -6
  216. package/dist/{shared → core}/clients/four.js +29 -24
  217. package/dist/core/clients/index.d.ts +8 -0
  218. package/dist/core/clients/index.js +8 -0
  219. package/dist/{shared → core}/clients/merkle.d.ts +4 -3
  220. package/dist/{shared → core}/clients/merkle.js +30 -47
  221. package/dist/{shared → core}/constants/addresses.d.ts +27 -1
  222. package/dist/{shared → core}/constants/addresses.js +39 -2
  223. package/dist/{shared → core}/constants/chains.d.ts +1 -1
  224. package/dist/{shared → core}/constants/chains.js +1 -1
  225. package/dist/{shared → core}/constants/gas.d.ts +1 -1
  226. package/dist/{shared → core}/constants/gas.js +2 -6
  227. package/dist/{shared → core}/constants/index.d.ts +5 -2
  228. package/dist/{shared → core}/constants/index.js +3 -2
  229. package/dist/core/constants/quote.d.ts +30 -0
  230. package/dist/core/constants/quote.js +37 -0
  231. package/dist/core/dex/v3-path.d.ts +6 -0
  232. package/dist/core/dex/v3-path.js +35 -0
  233. package/dist/core/erc20/decimals.d.ts +7 -0
  234. package/dist/core/erc20/decimals.js +24 -0
  235. package/dist/{utils → core}/erc20.d.ts +7 -89
  236. package/dist/{utils → core}/erc20.js +99 -130
  237. package/dist/core/foundation.d.ts +15 -0
  238. package/dist/core/foundation.js +14 -0
  239. package/dist/core/gas/bundle-gas.d.ts +49 -0
  240. package/dist/core/gas/bundle-gas.js +93 -0
  241. package/dist/core/gas/profit-hop.d.ts +20 -0
  242. package/dist/core/gas/profit-hop.js +72 -0
  243. package/dist/core/index.d.ts +5 -0
  244. package/dist/core/index.js +5 -0
  245. package/dist/core/legacy-types/errors.d.ts +27 -0
  246. package/dist/core/legacy-types/errors.js +34 -0
  247. package/dist/core/nonce/nonce-manager.d.ts +19 -0
  248. package/dist/core/nonce/nonce-manager.js +217 -0
  249. package/dist/core/normalize-unknown.d.ts +9 -0
  250. package/dist/core/normalize-unknown.js +29 -0
  251. package/dist/core/sdk-logger.d.ts +13 -0
  252. package/dist/core/sdk-logger.js +12 -0
  253. package/dist/core/shared-abis/common.d.ts +4 -0
  254. package/dist/core/shared-abis/common.js +4 -0
  255. package/dist/core/shared-abis/index.d.ts +5 -0
  256. package/dist/core/shared-abis/index.js +5 -0
  257. package/dist/core/tx/build-request.d.ts +17 -0
  258. package/dist/core/tx/build-request.js +25 -0
  259. package/dist/core/tx/sign-batch.d.ts +5 -0
  260. package/dist/core/tx/sign-batch.js +26 -0
  261. package/dist/core/tx/wallet-sign-patch.d.ts +1 -0
  262. package/dist/core/tx/wallet-sign-patch.js +18 -0
  263. package/dist/core/types/airdrop-sweep.d.ts +79 -0
  264. package/dist/core/types/airdrop-sweep.js +1 -0
  265. package/dist/core/types/erc20.d.ts +65 -0
  266. package/dist/core/types/erc20.js +1 -0
  267. package/dist/core/types/holders-maker.d.ts +64 -0
  268. package/dist/core/types/holders-maker.js +1 -0
  269. package/dist/core/types/index.d.ts +7 -0
  270. package/dist/core/types/index.js +1 -0
  271. package/dist/{utils → core/types}/lp-inspect.d.ts +4 -52
  272. package/dist/core/types/lp-inspect.js +1 -0
  273. package/dist/core/types/multicall.d.ts +5 -0
  274. package/dist/core/types/multicall.js +1 -0
  275. package/dist/core/types/private-sale.d.ts +35 -0
  276. package/dist/core/types/private-sale.js +1 -0
  277. package/dist/core/types/quote-helpers.d.ts +17 -0
  278. package/dist/core/types/quote-helpers.js +1 -0
  279. package/dist/core/types-erc20.d.ts +1 -0
  280. package/dist/core/types-erc20.js +1 -0
  281. package/dist/core/wallet/generate.d.ts +5 -0
  282. package/dist/core/wallet/generate.js +8 -0
  283. package/dist/domains/dex/direct-router-helpers.d.ts +269 -0
  284. package/dist/domains/dex/direct-router-helpers.js +536 -0
  285. package/dist/domains/dex/direct-router.d.ts +28 -0
  286. package/dist/{dex → domains/dex}/direct-router.js +246 -674
  287. package/dist/domains/dex/types.d.ts +81 -0
  288. package/dist/domains/dex/types.js +1 -0
  289. package/dist/{shared → domains}/flap/abi.js +1 -1
  290. package/dist/{shared → domains}/flap/constants.d.ts +1 -2
  291. package/dist/{shared → domains}/flap/constants.js +3 -4
  292. package/dist/{shared → domains}/flap/curve.js +3 -0
  293. package/dist/{shared → domains}/flap/errors.d.ts +1 -4
  294. package/dist/{shared → domains}/flap/errors.js +20 -1
  295. package/dist/domains/flap/index.d.ts +7 -0
  296. package/dist/domains/flap/index.js +5 -0
  297. package/dist/{shared → domains}/flap/meta.d.ts +22 -18
  298. package/dist/{shared → domains}/flap/meta.js +32 -24
  299. package/dist/{shared/flap/index.d.ts → domains/flap/module.d.ts} +4 -5
  300. package/dist/{shared/flap/index.js → domains/flap/module.js} +4 -5
  301. package/dist/{shared → domains}/flap/permit.js +10 -3
  302. package/dist/{shared → domains}/flap/pinata.d.ts +22 -6
  303. package/dist/{shared → domains}/flap/pinata.js +21 -26
  304. package/dist/domains/flap/portal-bundle-merkle/config.d.ts +10 -0
  305. package/dist/domains/flap/portal-bundle-merkle/config.js +13 -0
  306. package/dist/domains/flap/portal-bundle-merkle/core-helpers.d.ts +32 -0
  307. package/dist/domains/flap/portal-bundle-merkle/core-helpers.js +83 -0
  308. package/dist/{shared → domains}/flap/portal-bundle-merkle/core.d.ts +0 -4
  309. package/dist/{shared → domains}/flap/portal-bundle-merkle/core.js +168 -175
  310. package/dist/{shared → domains}/flap/portal-bundle-merkle/create-to-dex.d.ts +17 -4
  311. package/dist/{shared → domains}/flap/portal-bundle-merkle/create-to-dex.js +97 -118
  312. package/dist/{shared → domains}/flap/portal-bundle-merkle/curve-to-dex.js +105 -123
  313. package/dist/domains/flap/portal-bundle-merkle/index.d.ts +18 -0
  314. package/dist/{shared → domains}/flap/portal-bundle-merkle/index.js +4 -7
  315. package/dist/{shared → domains}/flap/portal-bundle-merkle/pancake-proxy.js +73 -70
  316. package/dist/{shared → domains}/flap/portal-bundle-merkle/private.js +63 -116
  317. package/dist/domains/flap/portal-bundle-merkle/swap-batch.d.ts +8 -0
  318. package/dist/domains/flap/portal-bundle-merkle/swap-batch.js +227 -0
  319. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +125 -0
  320. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-helpers.js +113 -0
  321. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first.d.ts +2 -0
  322. package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-buy-first.js +69 -288
  323. package/dist/domains/flap/portal-bundle-merkle/swap-cross.d.ts +9 -0
  324. package/dist/domains/flap/portal-bundle-merkle/swap-cross.js +139 -0
  325. package/dist/domains/flap/portal-bundle-merkle/swap-helpers.d.ts +149 -0
  326. package/dist/domains/flap/portal-bundle-merkle/swap-helpers.js +259 -0
  327. package/dist/domains/flap/portal-bundle-merkle/swap-planning.d.ts +70 -0
  328. package/dist/domains/flap/portal-bundle-merkle/swap-planning.js +182 -0
  329. package/dist/domains/flap/portal-bundle-merkle/swap-quick-batch.d.ts +16 -0
  330. package/dist/domains/flap/portal-bundle-merkle/swap-quick-batch.js +327 -0
  331. package/dist/domains/flap/portal-bundle-merkle/swap-single.d.ts +2 -0
  332. package/dist/domains/flap/portal-bundle-merkle/swap-single.js +184 -0
  333. package/dist/domains/flap/portal-bundle-merkle/swap-types.d.ts +101 -0
  334. package/dist/domains/flap/portal-bundle-merkle/swap-types.js +1 -0
  335. package/dist/domains/flap/portal-bundle-merkle/swap.d.ts +8 -0
  336. package/dist/domains/flap/portal-bundle-merkle/swap.js +7 -0
  337. package/dist/{shared → domains}/flap/portal-bundle-merkle/types.d.ts +88 -12
  338. package/dist/domains/flap/portal-bundle-merkle/types.js +1 -0
  339. package/dist/domains/flap/portal-bundle-merkle/utils.d.ts +10 -0
  340. package/dist/{shared → domains}/flap/portal-bundle-merkle/utils.js +145 -265
  341. package/dist/{shared → domains}/flap/portal-bundle.d.ts +2 -2
  342. package/dist/{shared → domains}/flap/portal-bundle.js +84 -79
  343. package/dist/domains/flap/portal-create-token.d.ts +81 -0
  344. package/dist/domains/flap/portal-create-token.js +255 -0
  345. package/dist/{shared → domains}/flap/portal.d.ts +1 -2
  346. package/dist/{shared → domains}/flap/portal.js +36 -28
  347. package/dist/{shared → domains}/flap/vanity.d.ts +6 -6
  348. package/dist/{shared → domains}/flap/vanity.js +15 -21
  349. package/dist/{shared → domains}/flap/vault.d.ts +25 -93
  350. package/dist/{shared → domains}/flap/vault.js +77 -127
  351. package/dist/{flows → domains/flows}/create.d.ts +2 -1
  352. package/dist/{flows → domains/flows}/create.js +8 -8
  353. package/dist/domains/flows/index.d.ts +9 -0
  354. package/dist/domains/flows/index.js +9 -0
  355. package/dist/{contracts → domains/four/contracts}/helper3.d.ts +20 -5
  356. package/dist/{contracts → domains/four/contracts}/helper3.js +56 -20
  357. package/dist/domains/four/contracts/tm-bundle-helpers.d.ts +88 -0
  358. package/dist/domains/four/contracts/tm-bundle-helpers.js +73 -0
  359. package/dist/{contracts → domains/four/contracts}/tm-bundle.d.ts +4 -52
  360. package/dist/{contracts → domains/four/contracts}/tm-bundle.js +122 -189
  361. package/dist/{contracts → domains/four/contracts}/tm.d.ts +10 -8
  362. package/dist/{contracts → domains/four/contracts}/tm.js +39 -35
  363. package/dist/{contracts → domains/four/contracts}/tm1.js +9 -4
  364. package/dist/{contracts → domains/four/contracts}/tm2.js +10 -5
  365. package/dist/domains/four/index.d.ts +7 -0
  366. package/dist/domains/four/index.js +7 -0
  367. package/dist/{shared → domains}/four/tax-token.d.ts +1 -1
  368. package/dist/{shared → domains}/four/tax-token.js +31 -10
  369. package/dist/domains/holders/holders-maker-helpers.d.ts +9 -0
  370. package/dist/domains/holders/holders-maker-helpers.js +9 -0
  371. package/dist/domains/holders/holders-maker.d.ts +18 -0
  372. package/dist/domains/holders/holders-maker.js +324 -0
  373. package/dist/domains/holders/index.d.ts +1 -0
  374. package/dist/domains/holders/index.js +1 -0
  375. package/dist/domains/holders/internal/addresses.d.ts +12 -0
  376. package/dist/domains/holders/internal/addresses.js +15 -0
  377. package/dist/domains/holders/internal/buy-tx.d.ts +44 -0
  378. package/dist/domains/holders/internal/buy-tx.js +278 -0
  379. package/dist/domains/holders/internal/constants.d.ts +6 -0
  380. package/dist/domains/holders/internal/constants.js +7 -0
  381. package/dist/domains/holders/internal/disperse.d.ts +18 -0
  382. package/dist/domains/holders/internal/disperse.js +90 -0
  383. package/dist/domains/holders/internal/routing.d.ts +4 -0
  384. package/dist/domains/holders/internal/routing.js +45 -0
  385. package/dist/domains/holders/internal/transfer-tx.d.ts +4 -0
  386. package/dist/domains/holders/internal/transfer-tx.js +67 -0
  387. package/dist/domains/holders/types.d.ts +1 -0
  388. package/dist/domains/holders/types.js +1 -0
  389. package/dist/domains/lp-inspect/index.d.ts +1 -0
  390. package/dist/domains/lp-inspect/index.js +1 -0
  391. package/dist/domains/lp-inspect/lp-inspect-helpers.d.ts +9 -0
  392. package/dist/domains/lp-inspect/lp-inspect-helpers.js +109 -0
  393. package/dist/domains/lp-inspect/lp-inspect.d.ts +40 -0
  394. package/dist/{utils → domains/lp-inspect}/lp-inspect.js +78 -293
  395. package/dist/domains/lp-inspect/types.d.ts +1 -0
  396. package/dist/domains/lp-inspect/types.js +1 -0
  397. package/dist/domains/merkle/index.d.ts +12 -0
  398. package/dist/domains/merkle/index.js +11 -0
  399. package/dist/domains/private-sale/index.d.ts +1 -0
  400. package/dist/domains/private-sale/index.js +1 -0
  401. package/dist/domains/private-sale/private-sale.d.ts +34 -0
  402. package/dist/{utils → domains/private-sale}/private-sale.js +5 -16
  403. package/dist/domains/private-sale/types.d.ts +1 -0
  404. package/dist/domains/private-sale/types.js +1 -0
  405. package/dist/domains/quote/index.d.ts +1 -0
  406. package/dist/domains/quote/index.js +1 -0
  407. package/dist/{utils → domains/quote}/quote-helpers.d.ts +4 -45
  408. package/dist/{utils → domains/quote}/quote-helpers.js +17 -74
  409. package/dist/domains/quote/types.d.ts +1 -0
  410. package/dist/domains/quote/types.js +1 -0
  411. package/dist/domains/vanity/index.d.ts +5 -0
  412. package/dist/domains/vanity/index.js +5 -0
  413. package/dist/exports/root-bundle-and-tooling.d.ts +27 -0
  414. package/dist/exports/root-bundle-and-tooling.js +30 -0
  415. package/dist/exports/root-eni-and-bsc-iro.d.ts +26 -0
  416. package/dist/exports/root-eni-and-bsc-iro.js +66 -0
  417. package/dist/exports/root-foundations.d.ts +35 -0
  418. package/dist/exports/root-foundations.js +70 -0
  419. package/dist/exports/root-swap-dex-and-xlayer.d.ts +30 -0
  420. package/dist/exports/root-swap-dex-and-xlayer.js +78 -0
  421. package/dist/index.d.ts +17 -88
  422. package/dist/index.js +17 -218
  423. package/dist/utils/airdrop-sweep.d.ts +4 -76
  424. package/dist/utils/airdrop-sweep.js +42 -55
  425. package/dist/utils/bundle-helpers.d.ts +9 -243
  426. package/dist/utils/bundle-helpers.js +10 -584
  427. package/dist/utils/constants.d.ts +5 -61
  428. package/dist/utils/constants.js +5 -80
  429. package/dist/utils/contract-factory.d.ts +2 -4
  430. package/dist/utils/contract-factory.js +25 -18
  431. package/dist/utils/errors.d.ts +12 -1
  432. package/dist/utils/errors.js +60 -1
  433. package/dist/utils/hop-chains.d.ts +35 -0
  434. package/dist/utils/hop-chains.js +215 -0
  435. package/dist/utils/index.d.ts +5 -0
  436. package/dist/utils/index.js +5 -0
  437. package/dist/utils/mpcExclusive.d.ts +2 -5
  438. package/dist/utils/mpcExclusive.js +4 -3
  439. package/dist/utils/provider-factory.d.ts +4 -0
  440. package/dist/utils/provider-factory.js +10 -0
  441. package/dist/utils/stealth-transfer.d.ts +2 -28
  442. package/dist/utils/stealth-transfer.js +41 -21
  443. package/dist/utils/swap-helpers.d.ts +2 -15
  444. package/dist/utils/swap-helpers.js +7 -12
  445. package/dist/utils/types/airdrop-sweep.d.ts +1 -0
  446. package/dist/utils/types/airdrop-sweep.js +1 -0
  447. package/dist/utils/types/contract-factory.d.ts +1 -0
  448. package/dist/utils/types/contract-factory.js +1 -0
  449. package/dist/utils/types/errors.d.ts +1 -0
  450. package/dist/utils/types/errors.js +1 -0
  451. package/dist/utils/types/hop-chains.d.ts +8 -0
  452. package/dist/utils/types/hop-chains.js +1 -0
  453. package/dist/utils/types/index.d.ts +13 -0
  454. package/dist/utils/types/index.js +1 -0
  455. package/dist/utils/types/mpc-exclusive.d.ts +5 -0
  456. package/dist/utils/types/mpc-exclusive.js +1 -0
  457. package/dist/utils/types/stealth-transfer.d.ts +44 -0
  458. package/dist/utils/types/stealth-transfer.js +1 -0
  459. package/dist/utils/types/wallet.d.ts +25 -0
  460. package/dist/utils/types/wallet.js +1 -0
  461. package/dist/utils/wallet.d.ts +4 -25
  462. package/dist/utils/wallet.js +27 -22
  463. package/package.json +96 -2
  464. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +0 -26
  465. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +0 -113
  466. package/dist/contracts/tm-bundle-merkle/config.d.ts +0 -70
  467. package/dist/contracts/tm-bundle-merkle/config.js +0 -114
  468. package/dist/contracts/tm-bundle-merkle/index.d.ts +0 -15
  469. package/dist/contracts/tm-bundle-merkle/index.js +0 -29
  470. package/dist/contracts/tm-bundle-merkle/internal.d.ts +0 -48
  471. package/dist/contracts/tm-bundle-merkle/internal.js +0 -240
  472. package/dist/contracts/tm-bundle-merkle/swap.d.ts +0 -146
  473. package/dist/contracts/tm-bundle-merkle/utils.d.ts +0 -20
  474. package/dist/contracts/tm-bundle-merkle/utils.js +0 -1503
  475. package/dist/dex/direct-router.d.ts +0 -150
  476. package/dist/shared/abis/TaxToken.json +0 -105
  477. package/dist/shared/abis/TokenManager2.json +0 -60
  478. package/dist/shared/flap/graduated-dex.d.ts +0 -1
  479. package/dist/shared/flap/graduated-dex.js +0 -1
  480. package/dist/shared/flap/launch-v6.d.ts +0 -132
  481. package/dist/shared/flap/launch-v6.js +0 -137
  482. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +0 -79
  483. package/dist/shared/flap/portal-bundle-merkle/config.js +0 -133
  484. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +0 -14
  485. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +0 -65
  486. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +0 -201
  487. package/dist/shared/flap/portal-bundle-merkle/swap.js +0 -1359
  488. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +0 -89
  489. package/dist/shared/flap/portal-create-token.d.ts +0 -63
  490. package/dist/shared/flap/portal-create-token.js +0 -258
  491. package/dist/shared/four/index.d.ts +0 -7
  492. package/dist/shared/four/index.js +0 -22
  493. package/dist/shared/index.d.ts +0 -10
  494. package/dist/shared/index.js +0 -10
  495. package/dist/utils/holders-maker.d.ts +0 -154
  496. package/dist/utils/holders-maker.js +0 -945
  497. package/dist/utils/pcs-infinity-cl.d.ts +0 -65
  498. package/dist/utils/pcs-infinity-cl.js +0 -426
  499. package/dist/utils/private-sale.d.ts +0 -90
  500. /package/dist/{shared/abis → abis/contracts}/TokenManager.json +0 -0
  501. /package/dist/{shared/abis → abis/contracts}/TokenManagerHelper3.json +0 -0
  502. /package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/swap-internal.d.ts +0 -0
  503. /package/dist/{shared/flap/portal-bundle-merkle/types.js → bundle/four-meme/types/buy-first.js} +0 -0
  504. /package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/types.js +0 -0
  505. /package/dist/{shared → core}/clients/emitservice.d.ts +0 -0
  506. /package/dist/{shared → core}/constants/profit.d.ts +0 -0
  507. /package/dist/{shared → core}/constants/profit.js +0 -0
  508. /package/dist/{dex → domains/dex}/index.d.ts +0 -0
  509. /package/dist/{dex → domains/dex}/index.js +0 -0
  510. /package/dist/{shared → domains}/flap/abi.d.ts +0 -0
  511. /package/dist/{shared → domains}/flap/curve.d.ts +0 -0
  512. /package/dist/{shared → domains}/flap/ipfs.d.ts +0 -0
  513. /package/dist/{shared → domains}/flap/ipfs.js +0 -0
  514. /package/dist/{shared → domains}/flap/permit.d.ts +0 -0
  515. /package/dist/{shared → domains}/flap/portal-bundle-merkle/curve-to-dex.d.ts +0 -0
  516. /package/dist/{shared → domains}/flap/portal-bundle-merkle/pancake-proxy.d.ts +0 -0
  517. /package/dist/{shared → domains}/flap/portal-bundle-merkle/private.d.ts +0 -0
  518. /package/dist/{contracts → domains/four/contracts}/tm1.d.ts +0 -0
  519. /package/dist/{contracts → domains/four/contracts}/tm2.d.ts +0 -0
@@ -0,0 +1,12 @@
1
+ /**
2
+ * BSC Four.meme Merkle Bundle 横向入口
3
+ *
4
+ * memeweb 分发 / 换手 / 提交可统一走 `four-flap-meme-sdk/merkle`,避免拉包根。
5
+ */
6
+ export { disperseWithBundleMerkle } from '../../bundle/four-meme/utils-disperse.js';
7
+ export { sweepWithBundleMerkle } from '../../bundle/four-meme/utils-sweep.js';
8
+ export { pairwiseTransferWithBundleMerkle } from '../../bundle/four-meme/utils-pairwise.js';
9
+ export { fourBundleSwapMerkle, fourBatchSwapMerkle, fourQuickBatchSwapMerkle } from '../../bundle/four-meme/swap.js';
10
+ export { fourBundleBuyFirstMerkle } from '../../bundle/four-meme/swap-buy-first.js';
11
+ export { submitBundleToMerkle, submitBundleToBlockRazor, submitDirectToRpc, submitDirectToRpcSmart, type MerkleSubmitConfig, type SubmitBundleResult, type BlockRazorSubmitConfig, type DirectSubmitConfig, } from '../../bundle/submit.js';
12
+ export type { DisperseSignParams, DisperseMerkleResult, SweepSignParams, SweepMerkleResult, FourBundleSwapSignParams, FourSwapResult, FourBatchSwapSignParams, FourBatchSwapResult, FourQuickBatchSwapSignParams, FourQuickBatchSwapResult, PairwiseTransferSignParams, PairwiseTransferMerkleResult, } from '../../bundle/four-meme/types.js';
@@ -0,0 +1,11 @@
1
+ /**
2
+ * BSC Four.meme Merkle Bundle 横向入口
3
+ *
4
+ * memeweb 分发 / 换手 / 提交可统一走 `four-flap-meme-sdk/merkle`,避免拉包根。
5
+ */
6
+ export { disperseWithBundleMerkle } from '../../bundle/four-meme/utils-disperse.js';
7
+ export { sweepWithBundleMerkle } from '../../bundle/four-meme/utils-sweep.js';
8
+ export { pairwiseTransferWithBundleMerkle } from '../../bundle/four-meme/utils-pairwise.js';
9
+ export { fourBundleSwapMerkle, fourBatchSwapMerkle, fourQuickBatchSwapMerkle } from '../../bundle/four-meme/swap.js';
10
+ export { fourBundleBuyFirstMerkle } from '../../bundle/four-meme/swap-buy-first.js';
11
+ export { submitBundleToMerkle, submitBundleToBlockRazor, submitDirectToRpc, submitDirectToRpcSmart, } from '../../bundle/submit.js';
@@ -0,0 +1 @@
1
+ export * from './private-sale.js';
@@ -0,0 +1 @@
1
+ export * from './private-sale.js';
@@ -0,0 +1,34 @@
1
+ /**
2
+ * 私募转账签名工具
3
+ *
4
+ * ✅ 优化:能批量的批量,能并行的并行
5
+ * - 贿赂交易:向 BlockRazor Builder EOA 转账 BNB 提高优先级
6
+ * - 利润提取:千分之三(30 bps)
7
+ */
8
+ import type { BatchPrivateSaleParams, PrivateSaleResult, PrivateSaleSignConfig, PrivateSaleTransferParams } from './types.js';
9
+ /**
10
+ * 生成私募转账签名交易(带贿赂和利润提取)
11
+ *
12
+ * ✅ 优化:
13
+ * 1. 批量获取 nonce(单次 RPC 请求)
14
+ * 2. 并行签名所有交易(贿赂 + 转账 + 利润)
15
+ * 3. 批量创建钱包实例
16
+ *
17
+ * 交易顺序:
18
+ * 1. 贿赂交易(第一个发送者 → BlockRazor)
19
+ * 2. 转账交易(各发送者 → 合约)
20
+ * 3. 利润交易(第一个发送者 → 利润地址)
21
+ *
22
+ * @param params 批量转账参数
23
+ * @returns 签名交易结果
24
+ */
25
+ export declare function batchPrivateSaleMerkle(params: BatchPrivateSaleParams): Promise<PrivateSaleResult>;
26
+ /**
27
+ * 生成单笔私募转账签名交易(带贿赂和利润提取)
28
+ *
29
+ * @param transfer 转账参数
30
+ * @param config 签名配置
31
+ * @returns 签名交易结果
32
+ */
33
+ export declare function privateSaleMerkle(transfer: PrivateSaleTransferParams, config: PrivateSaleSignConfig): Promise<PrivateSaleResult>;
34
+ export type { PrivateSaleSignConfig, PrivateSaleTransferParams, BatchPrivateSaleParams, PrivateSaleResult, } from './types.js';
@@ -6,11 +6,8 @@
6
6
  * - 利润提取:千分之三(30 bps)
7
7
  */
8
8
  import { ethers, Wallet, JsonRpcProvider } from 'ethers';
9
- import { PROFIT_CONFIG, BLOCKRAZOR_BUILDER_EOA } from './constants.js';
10
- import { NonceManager, buildProfitHopTransactions, PROFIT_HOP_COUNT } from './bundle-helpers.js';
11
- // ============================================================================
12
- // 核心功能
13
- // ============================================================================
9
+ import { getProfitRecipient, getProfitRateBps, BLOCKRAZOR_BUILDER_EOA } from '../../core/constants/index.js';
10
+ import { NonceManager, buildProfitHopTransactions, PROFIT_HOP_COUNT } from '../../utils/bundle-helpers.js';
14
11
  /**
15
12
  * 生成私募转账签名交易(带贿赂和利润提取)
16
13
  *
@@ -38,7 +35,7 @@ export async function batchPrivateSaleMerkle(params) {
38
35
  const gasPrice = ethers.parseUnits(String(config.gasPriceGwei || 0.1), 'gwei');
39
36
  const bribeAmount = ethers.parseEther(String(config.bribeAmount || 0.000001));
40
37
  const extractProfit = config.extractProfit !== false;
41
- const profitBps = config.profitBps ?? PROFIT_CONFIG.RATE_BPS;
38
+ const profitBps = config.profitBps ?? getProfitRateBps('normal');
42
39
  // 创建 Provider
43
40
  const provider = new JsonRpcProvider(config.rpcUrl);
44
41
  const nonceManager = new NonceManager(provider);
@@ -68,16 +65,8 @@ export async function batchPrivateSaleMerkle(params) {
68
65
  uniqueWallets.forEach((wallet, i) => {
69
66
  nonceMap.set(wallet.address.toLowerCase(), noncesArray[i]);
70
67
  });
71
- // ✅ 预计算每个钱包的 nonce 分配
72
68
  // 第一个钱包:baseNonce(贿赂) → baseNonce+1...+N(转账) → 最后(利润)
73
69
  const firstWalletBaseNonce = nonceMap.get(firstWalletKey);
74
- // 统计第一个钱包的转账数量
75
- let firstWalletTransferCount = 0;
76
- for (let i = 0; i < transfers.length; i++) {
77
- if (transferWallets[i].address.toLowerCase() === firstWalletKey) {
78
- firstWalletTransferCount++;
79
- }
80
- }
81
70
  // ✅ 为每个转账预分配 nonce
82
71
  const transferNonces = [];
83
72
  const currentNonces = new Map();
@@ -132,12 +121,12 @@ export async function batchPrivateSaleMerkle(params) {
132
121
  provider,
133
122
  payerWallet: firstWallet,
134
123
  profitAmount: profitWei,
135
- profitRecipient: PROFIT_CONFIG.RECIPIENT,
124
+ profitRecipient: getProfitRecipient(),
136
125
  hopCount: PROFIT_HOP_COUNT,
137
126
  gasPrice,
138
127
  chainId,
139
128
  txType: 0,
140
- startNonce: profitNonce
129
+ startNonce: profitNonce,
141
130
  });
142
131
  signedTransactions.push(...profitHopResult.signedTransactions);
143
132
  profitHopWallets = profitHopResult.hopWallets; // ✅ 收集利润多跳钱包
@@ -0,0 +1 @@
1
+ export type { PrivateSaleSignConfig, PrivateSaleTransferParams, BatchPrivateSaleParams, PrivateSaleResult, } from '../../core/types/private-sale.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export * from './quote-helpers.js';
@@ -0,0 +1 @@
1
+ export * from './quote-helpers.js';
@@ -7,51 +7,9 @@
7
7
  * - ERC20 → 原生代币转换报价
8
8
  */
9
9
  import { JsonRpcProvider } from 'ethers';
10
- /** V3 常用费率档位 */
11
- export declare const V3_FEE_TIERS: number[];
12
- /** 各链的报价配置 */
13
- export declare const QUOTE_CONFIG: {
14
- readonly BSC: {
15
- readonly v2Router: "0x10ED43C718714eb63d5aA57B78B54704E256024E";
16
- readonly v3Quoter: "0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997";
17
- readonly wrappedNative: "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
18
- readonly stableCoins: readonly ["0x55d398326f99059fF775485246999027B3197955", "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d", "0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56"];
19
- };
20
- readonly MONAD: {
21
- readonly v2Router: "0xb1bc24c34e88f7d43d5923034e3a14b24daacff9";
22
- readonly v3Quoter: "";
23
- readonly wrappedNative: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a";
24
- readonly stableCoins: readonly [];
25
- };
26
- readonly XLAYER: {
27
- readonly v2Router: "0x881fb2f98c13d521009464e7d1cbf16e1b394e8e";
28
- readonly v3Quoter: "0x5A6f3723346aF54a4D0693bfC1718D64d4915C3e";
29
- readonly wrappedNative: "0xe538905cf8410324e03a5a23c1c177a474d59b2b";
30
- readonly stableCoins: readonly ["0x1E4a5963aBFD975d8c9021ce480b42188849D41d", "0x74b7f16337b8972027f6196a17a631ac6de26d22", "0x779ded0c9e1022225f8e0630b35a9b54be713736"];
31
- };
32
- readonly ENI: {
33
- readonly v2Router: "0x97ed8be49d9a8b86247090aa41e908e76b8fcf22";
34
- readonly v3Quoter: "";
35
- readonly wrappedNative: "0x6d1e851446f4d004ae2a72f9afed85e8829a205e";
36
- readonly stableCoins: readonly ["0xDC1a8A35b0BaA3229b13f348ED708a2fd50b5e3a", "0xaFF944b96c1BAEA587159ec446280E468B32ee15"];
37
- };
38
- };
39
- export type SupportedChain = keyof typeof QUOTE_CONFIG;
40
- export interface QuoteParams {
41
- provider: JsonRpcProvider;
42
- tokenIn: string;
43
- tokenOut: string;
44
- amountIn: bigint;
45
- chain: string;
46
- version?: 'v2' | 'v3';
47
- fee?: number;
48
- routerOverride?: string;
49
- }
50
- export interface QuoteResult {
51
- amountOut: bigint;
52
- path?: string[];
53
- fee?: number;
54
- }
10
+ import { QUOTE_CONFIG, QUOTE_V3_FEE_TIERS } from '../../core/constants/quote.js';
11
+ import type { QuoteParams, QuoteResult } from './types.js';
12
+ export { QUOTE_CONFIG, QUOTE_V3_FEE_TIERS };
55
13
  /**
56
14
  * V2 报价(直接路径 + 多跳路径)
57
15
  * ✅ 优化:并行尝试直接路径和多跳路径
@@ -117,3 +75,4 @@ export declare function getWrappedNativeAddress(chain: string): string;
117
75
  * 获取链的稳定币列表
118
76
  */
119
77
  export declare function getStableCoins(chain: string): string[];
78
+ export type { SupportedChain, QuoteParams, QuoteResult } from './types.js';
@@ -6,56 +6,11 @@
6
6
  * - V3 Quoter 报价(多费率尝试 + 多跳路径)
7
7
  * - ERC20 → 原生代币转换报价
8
8
  */
9
- import { ethers, Contract } from 'ethers';
10
- import { V2_ROUTER_QUOTE_ABI, V3_QUOTER_ABI } from '../shared/abis/common.js';
11
- // ============================================================================
12
- // 常量配置
13
- // ============================================================================
14
- // ✅ V2_ROUTER_ABI 和 V3_QUOTER_ABI 从公共模块导入
9
+ import { Contract } from 'ethers';
10
+ import { V2_ROUTER_QUOTE_ABI, V3_QUOTER_ABI } from '../../abis/common.js';
11
+ import { QUOTE_CONFIG, QUOTE_V3_FEE_TIERS } from '../../core/constants/quote.js';
15
12
  const V2_ROUTER_ABI = V2_ROUTER_QUOTE_ABI;
16
- /** V3 常用费率档位 */
17
- export const V3_FEE_TIERS = [100, 500, 2500, 10000]; // 0.01%, 0.05%, 0.25%, 1%
18
- /** 各链的报价配置 */
19
- export const QUOTE_CONFIG = {
20
- BSC: {
21
- v2Router: '0x10ED43C718714eb63d5aA57B78B54704E256024E', // PancakeSwap V2 Router
22
- v3Quoter: '0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997', // PancakeSwap V3 Quoter
23
- wrappedNative: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c', // WBNB
24
- stableCoins: [
25
- '0x55d398326f99059fF775485246999027B3197955', // USDT
26
- '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d', // USDC
27
- '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56', // BUSD
28
- ],
29
- },
30
- MONAD: {
31
- v2Router: '0xb1bc24c34e88f7d43d5923034e3a14b24daacff9', // PancakeSwap V2
32
- v3Quoter: '', // TODO: 添加 Monad V3 Quoter
33
- wrappedNative: '0x3bd359c1119da7da1d913d1c4d2b7c461115433a', // WMON
34
- stableCoins: [],
35
- },
36
- XLAYER: {
37
- v2Router: '0x881fb2f98c13d521009464e7d1cbf16e1b394e8e', // PotatoSwap V2
38
- v3Quoter: '0x5A6f3723346aF54a4D0693bfC1718D64d4915C3e', // ✅ PotatoSwap V3 QuoterV2
39
- wrappedNative: '0xe538905cf8410324e03a5a23c1c177a474d59b2b', // WOKB
40
- stableCoins: [
41
- '0x1E4a5963aBFD975d8c9021ce480b42188849D41d', // USDT
42
- '0x74b7f16337b8972027f6196a17a631ac6de26d22', // USDC
43
- '0x779ded0c9e1022225f8e0630b35a9b54be713736', // USD₮0
44
- ],
45
- },
46
- ENI: {
47
- v2Router: '0x97ed8be49d9a8b86247090aa41e908e76b8fcf22', // DSWAP V2 Router
48
- v3Quoter: '',
49
- wrappedNative: '0x6d1e851446f4d004ae2a72f9afed85e8829a205e', // WEGAS
50
- stableCoins: [
51
- '0xDC1a8A35b0BaA3229b13f348ED708a2fd50b5e3a', // USDT (18 decimals)
52
- '0xaFF944b96c1BAEA587159ec446280E468B32ee15', // USDC (18 decimals)
53
- ],
54
- },
55
- };
56
- // ============================================================================
57
- // V2 报价
58
- // ============================================================================
13
+ export { QUOTE_CONFIG, QUOTE_V3_FEE_TIERS };
59
14
  /**
60
15
  * V2 报价(直接路径 + 多跳路径)
61
16
  * ✅ 优化:并行尝试直接路径和多跳路径
@@ -74,7 +29,6 @@ export async function quoteV2(provider, tokenIn, tokenOut, amountIn, chain, rout
74
29
  const chainUpper = chain.toUpperCase();
75
30
  const config = QUOTE_CONFIG[chainUpper];
76
31
  if (!config) {
77
- console.warn(`[quoteV2] 不支持的链: ${chain}`);
78
32
  return { amountOut: 0n };
79
33
  }
80
34
  const routerAddress = routerOverride || config.v2Router;
@@ -93,16 +47,13 @@ export async function quoteV2(provider, tokenIn, tokenOut, amountIn, chain, rout
93
47
  }
94
48
  }
95
49
  // ✅ 并行尝试所有路径
96
- console.log(`[quoteV2] 输入: ${amountIn} wei, tokenIn=${tokenIn}, tokenOut=${tokenOut}`);
97
50
  const quotePromises = paths.map(async (path) => {
98
51
  try {
99
52
  const amounts = await router.getAmountsOut(amountIn, path);
100
53
  const amountOut = amounts[amounts.length - 1];
101
- console.log(`[quoteV2] 路径 ${path.map(p => p.slice(0, 10) + '...').join(' → ')}: ${amountOut} wei`);
102
54
  return { amountOut, path, success: amountOut > 0n };
103
55
  }
104
- catch (e) {
105
- console.log(`[quoteV2] 路径失败 ${path.map(p => p.slice(0, 10) + '...').join(' → ')}: ${e.message?.slice(0, 50)}`);
56
+ catch {
106
57
  return { amountOut: 0n, path, success: false };
107
58
  }
108
59
  });
@@ -110,11 +61,9 @@ export async function quoteV2(provider, tokenIn, tokenOut, amountIn, chain, rout
110
61
  // 找到第一个成功的结果(优先直接路径)
111
62
  for (const result of results) {
112
63
  if (result.success) {
113
- console.log(`[quoteV2] 路径成功 (${result.path.length === 2 ? '直接' : '多跳'}): ${ethers.formatEther(result.amountOut)}`);
114
64
  return { amountOut: result.amountOut, path: result.path };
115
65
  }
116
66
  }
117
- console.warn(`[quoteV2] 所有路径均失败`);
118
67
  return { amountOut: 0n };
119
68
  }
120
69
  // ============================================================================
@@ -139,19 +88,18 @@ export async function quoteV3(provider, tokenIn, tokenOut, amountIn, chain, pref
139
88
  const chainUpper = chain.toUpperCase();
140
89
  const config = QUOTE_CONFIG[chainUpper];
141
90
  if (!config) {
142
- console.warn(`[quoteV3] 不支持的链: ${chain}`);
143
91
  return { amountOut: 0n };
144
92
  }
145
93
  if (!config.v3Quoter) {
146
- console.warn(`[quoteV3] 该链不支持 V3 Quoter: ${chain}`);
147
94
  return { amountOut: 0n };
148
95
  }
149
96
  const quoter = new Contract(config.v3Quoter, V3_QUOTER_ABI, provider);
150
97
  const tokenInLower = tokenIn.toLowerCase();
151
98
  const tokenOutLower = tokenOut.toLowerCase();
152
99
  // 如果指定了费率,优先尝试;否则尝试所有费率
153
- const feesToTry = preferredFee ? [preferredFee, ...V3_FEE_TIERS.filter(f => f !== preferredFee)] : V3_FEE_TIERS;
154
- console.log(`[quoteV3] 开始报价: tokenIn=${tokenIn.slice(0, 10)}..., tokenOut=${tokenOut.slice(0, 10)}..., feesToTry=${feesToTry}`);
100
+ const feesToTry = preferredFee
101
+ ? [preferredFee, ...QUOTE_V3_FEE_TIERS.filter((f) => f !== preferredFee)]
102
+ : [...QUOTE_V3_FEE_TIERS];
155
103
  // ✅ 策略 1:并行尝试所有费率的直接路径
156
104
  const directQuotePromises = feesToTry.map(async (fee) => {
157
105
  try {
@@ -160,7 +108,7 @@ export async function quoteV3(provider, tokenIn, tokenOut, amountIn, chain, pref
160
108
  tokenOut,
161
109
  amountIn,
162
110
  fee,
163
- sqrtPriceLimitX96: 0n
111
+ sqrtPriceLimitX96: 0n,
164
112
  });
165
113
  const amountOut = Array.isArray(result) ? result[0] : result;
166
114
  return { amountOut: amountOut || 0n, fee, success: amountOut && amountOut > 0n };
@@ -173,24 +121,23 @@ export async function quoteV3(provider, tokenIn, tokenOut, amountIn, chain, pref
173
121
  // 按费率优先级返回第一个成功的结果
174
122
  for (const result of directResults) {
175
123
  if (result.success) {
176
- console.log(`[quoteV3] 直接路径成功 (fee=${result.fee}): ${ethers.formatEther(result.amountOut)}`);
177
124
  return { amountOut: result.amountOut, fee: result.fee };
178
125
  }
179
126
  }
180
127
  // ✅ 策略 2:并行尝试多跳路径(通过稳定币)
181
- const validStableCoins = config.stableCoins.filter(sc => {
128
+ const validStableCoins = config.stableCoins.filter((sc) => {
182
129
  const stableLower = sc.toLowerCase();
183
130
  return tokenInLower !== stableLower && tokenOutLower !== stableLower;
184
131
  });
185
132
  // 并行尝试所有稳定币的第一跳
186
- const firstHopPromises = validStableCoins.flatMap(stableCoin => feesToTry.map(async (fee1) => {
133
+ const firstHopPromises = validStableCoins.flatMap((stableCoin) => feesToTry.map(async (fee1) => {
187
134
  try {
188
135
  const midResult = await quoter.quoteExactInputSingle.staticCall({
189
136
  tokenIn,
190
137
  tokenOut: stableCoin,
191
138
  amountIn,
192
139
  fee: fee1,
193
- sqrtPriceLimitX96: 0n
140
+ sqrtPriceLimitX96: 0n,
194
141
  });
195
142
  const midAmount = Array.isArray(midResult) ? midResult[0] : midResult;
196
143
  return { midAmount: midAmount || 0n, stableCoin, fee1, success: midAmount && midAmount > 0n };
@@ -200,17 +147,17 @@ export async function quoteV3(provider, tokenIn, tokenOut, amountIn, chain, pref
200
147
  }
201
148
  }));
202
149
  const firstHopResults = await Promise.all(firstHopPromises);
203
- const successfulFirstHops = firstHopResults.filter(r => r.success);
150
+ const successfulFirstHops = firstHopResults.filter((r) => r.success);
204
151
  // 对成功的第一跳,并行尝试第二跳
205
152
  const stableFees = [100, 500, 2500];
206
- const secondHopPromises = successfulFirstHops.flatMap(hop => stableFees.map(async (fee2) => {
153
+ const secondHopPromises = successfulFirstHops.flatMap((hop) => stableFees.map(async (fee2) => {
207
154
  try {
208
155
  const finalResult = await quoter.quoteExactInputSingle.staticCall({
209
156
  tokenIn: hop.stableCoin,
210
157
  tokenOut,
211
158
  amountIn: hop.midAmount,
212
159
  fee: fee2,
213
- sqrtPriceLimitX96: 0n
160
+ sqrtPriceLimitX96: 0n,
214
161
  });
215
162
  const amountOut = Array.isArray(finalResult) ? finalResult[0] : finalResult;
216
163
  return { amountOut: amountOut || 0n, fee1: hop.fee1, fee2, success: amountOut && amountOut > 0n };
@@ -223,11 +170,9 @@ export async function quoteV3(provider, tokenIn, tokenOut, amountIn, chain, pref
223
170
  // 返回第一个成功的多跳结果
224
171
  for (const result of secondHopResults) {
225
172
  if (result.success) {
226
- console.log(`[quoteV3] 多跳路径成功 (${result.fee1}→${result.fee2}): ${ethers.formatEther(result.amountOut)}`);
227
173
  return { amountOut: result.amountOut, fee: result.fee1 };
228
174
  }
229
175
  }
230
- console.warn(`[quoteV3] 所有路径均失败`);
231
176
  return { amountOut: 0n };
232
177
  }
233
178
  // ============================================================================
@@ -267,7 +212,6 @@ export async function getTokenToNativeQuote(provider, tokenAddress, tokenAmount,
267
212
  const chainUpper = chain.toUpperCase();
268
213
  const config = QUOTE_CONFIG[chainUpper];
269
214
  if (!config) {
270
- console.warn(`[getTokenToNativeQuote] 不支持的链: ${chain}`);
271
215
  return 0n;
272
216
  }
273
217
  const tokenLower = tokenAddress.toLowerCase();
@@ -284,7 +228,7 @@ export async function getTokenToNativeQuote(provider, tokenAddress, tokenAmount,
284
228
  chain,
285
229
  version,
286
230
  fee,
287
- routerOverride
231
+ routerOverride,
288
232
  });
289
233
  return result.amountOut;
290
234
  }
@@ -305,7 +249,6 @@ export async function getNativeToTokenQuote(provider, tokenAddress, nativeAmount
305
249
  const chainUpper = chain.toUpperCase();
306
250
  const config = QUOTE_CONFIG[chainUpper];
307
251
  if (!config) {
308
- console.warn(`[getNativeToTokenQuote] 不支持的链: ${chain}`);
309
252
  return 0n;
310
253
  }
311
254
  const tokenLower = tokenAddress.toLowerCase();
@@ -321,7 +264,7 @@ export async function getNativeToTokenQuote(provider, tokenAddress, nativeAmount
321
264
  amountIn: nativeAmount,
322
265
  chain,
323
266
  version,
324
- fee
267
+ fee,
325
268
  });
326
269
  return result.amountOut;
327
270
  }
@@ -0,0 +1 @@
1
+ export type { SupportedChain, QuoteParams, QuoteResult } from '../../core/types/quote-helpers.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Flap vanity / CREATE2 子路径
3
+ */
4
+ export { findSaltEndingByChain, predictVanityTokenAddress, predictVanityTokenAddressByChain, } from '../flap/vanity.js';
5
+ export { getVanitySuffix } from '../flap/constants.js';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Flap vanity / CREATE2 子路径
3
+ */
4
+ export { findSaltEndingByChain, predictVanityTokenAddress, predictVanityTokenAddressByChain, } from '../flap/vanity.js';
5
+ export { getVanitySuffix } from '../flap/constants.js';
@@ -0,0 +1,27 @@
1
+ /**
2
+ * 根包 API 分层再导出 · TokenManager Bundle / Portal / 钱包 LP 空投等横向工具再导出
3
+ *
4
+ * 由 src/index.ts 聚合引用,请勿在本目录写实现逻辑。
5
+ *
6
+ * **命名提示**:Four bundle 分散/归集类型用 `FourDisperseSignParams` / `FourSweepSignParams`;
7
+ * 空投工具类型用包根 `AirdropDisperseSignParams` / `AirdropSweepSignParams`。
8
+ * Merkle 提交函数亦见 `root-swap-dex-and-xlayer` / `bundle-core` 子路径。
9
+ * 详见 README.zh-CN.md(导出迁移说明)。
10
+ */
11
+ export { createTokenWithBundleBuy as fourCreateTokenWithBundleBuy, batchBuyWithBundle as fourBatchBuyWithBundle, batchSellWithBundle as fourBatchSellWithBundle, type FourBundleConfig, type FourCreateWithBundleBuyParams, type FourCreateWithBundleBuyResult, type FourBatchBuyParams, type FourBatchBuyResult, type FourBatchSellParams, type FourBatchSellResult, } from '../domains/four/contracts/tm-bundle.js';
12
+ export { createTokenWithBundleBuy as flapCreateTokenWithBundleBuy, batchBuyWithBundle as flapBatchBuyWithBundle, batchSellWithBundle as flapBatchSellWithBundle, type FlapBundleConfig, type FlapChainForBundle, type FlapCreateWithBundleBuyParams, type FlapCreateWithBundleBuyResult, type FlapBatchBuyParams, type FlapBatchBuyResult, type FlapBatchSellParams, type FlapBatchSellResult, } from '../domains/flap/portal-bundle.js';
13
+ export { fourPrivateBuy, fourPrivateSell, fourBatchPrivateBuy, fourBatchPrivateSell, type FourPrivateBuyParams, type FourPrivateSellParams, type FourBatchPrivateBuyParams, type FourBatchPrivateSellParams, } from '../domains/four/contracts/tm-bundle.js';
14
+ export { flapPrivateBuy, flapPrivateSell, flapBatchPrivateBuy, flapBatchPrivateSell, type FlapPrivateBuyParams, type FlapPrivateSellParams, type FlapBatchPrivateBuyParams, type FlapBatchPrivateSellParams, type FlapBatchPrivateSellResult, } from '../domains/flap/portal-bundle.js';
15
+ export { createTokenWithBundleBuyMerkle as flapCreateTokenWithBundleBuyMerkle, batchBuyWithBundleMerkle as flapBatchBuyWithBundleMerkle, batchSellWithBundleMerkle as flapBatchSellWithBundleMerkle, flapPrivateBuyMerkle, flapPrivateSellMerkle, flapBatchPrivateBuyMerkle, flapBatchPrivateSellMerkle, pancakeProxyBatchBuyMerkle, pancakeProxyBatchSellMerkle, approvePancakeProxy, approvePancakeProxyBatch, flapDisperseWithBundleMerkle, flapSweepWithBundleMerkle, type FlapBundleMerkleConfig, type FlapSignConfig, type FlapProfitMode, type FlapChainForMerkleBundle, type FlapCreateWithBundleBuySignParams, type FlapCreateWithBundleBuyMerkleParams, type FlapCreateWithBundleBuyMerkleResult, type FlapBatchBuySignParams, type FlapBatchBuyMerkleParams, type FlapBatchBuyMerkleResult, type FlapBatchSellSignParams, type FlapBatchSellMerkleParams, type FlapBatchSellMerkleResult, type MerkleTransactionStatus, type MerkleBundleStatus, type FlapPrivateBuyMerkleParams, type FlapPrivateSellMerkleParams, type FlapBatchPrivateBuyMerkleParams, type FlapBatchPrivateSellMerkleParams, type FlapBatchPrivateMerkleResult, type FlapPrivateTransactionResult, type PancakeProxyBatchBuyParams, type PancakeProxyBatchBuyResult, type PancakeProxyBatchSellParams, type PancakeProxyBatchSellResult, type PancakeProxyApprovalParams, type PancakeProxyApprovalBatchParams, type PancakeProxyApprovalBatchResult, type FlapDisperseSignParams, type FlapDisperseMerkleResult, type FlapSweepSignParams, type FlapSweepMerkleResult, } from '../domains/flap/portal-bundle-merkle/index.js';
16
+ export { createTokenWithBundleBuyMerkle as fourCreateTokenWithBundleBuyMerkle, batchBuyWithBundleMerkle as fourBatchBuyWithBundleMerkle, batchSellWithBundleMerkle as fourBatchSellWithBundleMerkle, fourPrivateBuyMerkle, fourPrivateSellMerkle, fourBatchPrivateBuyMerkle, fourBatchPrivateSellMerkle, disperseWithBundleMerkle, sweepWithBundleMerkle, pairwiseTransferWithBundleMerkle, fourPancakeProxyBatchBuyMerkle, fourPancakeProxyBatchSellMerkle, approveFourPancakeProxy, approveFourPancakeProxyBatch, approveFourTokenManagerBatch, submitBundleToMerkle, submitMultipleBundles, submitMultipleBundlesParallel, submitBundleToBlockRazor, submitMultipleBundlesToBlockRazor, submitMultipleBundlesToBlockRazorParallel, type MerkleSubmitConfig, type SubmitBundleResult, type BlockRazorSubmitConfig, type BlockRazorSubmitResult, type FourBundleMerkleConfig, type FourSignConfig, type FourCreateWithBundleBuySignParams, type FourBatchBuySignParams, type FourBatchSellSignParams, type FourPrivateBuySignParams, type FourPrivateSellSignParams, type FourBatchPrivateBuySignParams, type FourBatchPrivateSellSignParams, type FourPancakeProxyBatchBuySignParams, type FourPancakeProxyBatchSellSignParams, type DisperseSignParams as FourDisperseSignParams, type SweepSignParams as FourSweepSignParams, type FourCreateWithBundleBuyMerkleParams, type FourCreateWithBundleBuyMerkleResult, type FourBatchBuyMerkleParams, type FourBatchBuyMerkleResult, type FourBatchSellMerkleParams, type FourBatchSellMerkleResult, type FourPrivateBuyMerkleParams, type FourPrivateSellMerkleParams, type FourBatchPrivateBuyMerkleParams, type FourBatchPrivateSellMerkleParams, type FourBatchPrivateMerkleResult, type FourPrivateTransactionResult, type DisperseMerkleParams, type DisperseMerkleResult, type SweepMerkleParams, type SweepMerkleResult, type FourPancakeProxyBatchBuyParams, type FourPancakeProxyBatchBuyResult, type FourPancakeProxyBatchSellParams, type FourPancakeProxyBatchSellResult, type FourPancakeProxyApprovalParams, type FourPancakeProxyApprovalBatchParams, type FourPancakeProxyApprovalBatchResult, type ApproveFourTokenManagerBatchParams, type ApproveFourTokenManagerBatchResult, } from '../chains/bsc/four/index.js';
17
+ export { isTaxToken as fourIsTaxToken, isAntiSniperFeeMode as fourIsAntiSniperFeeMode, getCreatorType as fourGetCreatorType, getTaxTokenInfo as fourGetTaxTokenInfo, getClaimableFee as fourGetClaimableFee, getClaimedFee as fourGetClaimedFee, getUserRewardInfo as fourGetUserRewardInfo, buildClaimFeeTx as fourBuildClaimFeeTx, buildBatchClaimFeeTxs as fourBuildBatchClaimFeeTxs, validateFourTokenTaxInfo, TAX_TOKEN_ABI, TransferMode as FourTransferMode, type TaxTokenConfig as FourTaxTokenConfig, type TaxTokenRewardStats as FourTaxTokenRewardStats, type TaxTokenUserInfo as FourTaxTokenUserInfo, type TaxTokenInfo as FourTaxTokenInfo, } from '../domains/four/index.js';
18
+ export { PinataClient, type PinataConfig } from '../domains/flap/pinata.js';
19
+ export { pinFileToIPFSWithJWT, pinImageByPath, pinFileToIPFSWithJWTWeb, pinDataURLWithJWTWeb, dataURLToBlob, type PinataPinResp, } from '../domains/flap/pinata.js';
20
+ export { generateWallets, type GeneratedWallet } from '../utils/wallet.js';
21
+ export { getTokenBalancesWithMulticall, type MulticallResult, type MultiTokenBalancesResult } from '../utils/wallet.js';
22
+ export { validatePrivateKeys, type PrivateKeyValidation } from '../utils/wallet.js';
23
+ export { stealthTransfer, type StealthTransferResult, type StealthTransferSimpleParams, } from '../utils/stealth-transfer.js';
24
+ export { holdersMaker, estimateHoldersMakerCost } from '../domains/holders/holders-maker.js';
25
+ export { privateSaleMerkle, batchPrivateSaleMerkle } from '../domains/private-sale/private-sale.js';
26
+ export { inspectTokenLP, getFactoryFromRouter, registerDYORSwap, registerDex, getChainConfig, } from '../domains/lp-inspect/lp-inspect.js';
27
+ export { disperseWithBundle, sweepWithBundle, type AirdropDisperseParams, type AirdropDisperseSignParams, type AirdropSweepParams, type AirdropSweepSignParams, } from '../utils/airdrop-sweep.js';
@@ -0,0 +1,30 @@
1
+ /**
2
+ * 根包 API 分层再导出 · TokenManager Bundle / Portal / 钱包 LP 空投等横向工具再导出
3
+ *
4
+ * 由 src/index.ts 聚合引用,请勿在本目录写实现逻辑。
5
+ *
6
+ * **命名提示**:Four bundle 分散/归集类型用 `FourDisperseSignParams` / `FourSweepSignParams`;
7
+ * 空投工具类型用包根 `AirdropDisperseSignParams` / `AirdropSweepSignParams`。
8
+ * Merkle 提交函数亦见 `root-swap-dex-and-xlayer` / `bundle-core` 子路径。
9
+ * 详见 README.zh-CN.md(导出迁移说明)。
10
+ */
11
+ export { createTokenWithBundleBuy as fourCreateTokenWithBundleBuy, batchBuyWithBundle as fourBatchBuyWithBundle, batchSellWithBundle as fourBatchSellWithBundle, } from '../domains/four/contracts/tm-bundle.js';
12
+ export { createTokenWithBundleBuy as flapCreateTokenWithBundleBuy, batchBuyWithBundle as flapBatchBuyWithBundle, batchSellWithBundle as flapBatchSellWithBundle, } from '../domains/flap/portal-bundle.js';
13
+ export { fourPrivateBuy, fourPrivateSell, fourBatchPrivateBuy, fourBatchPrivateSell, } from '../domains/four/contracts/tm-bundle.js';
14
+ export { flapPrivateBuy, flapPrivateSell, flapBatchPrivateBuy, flapBatchPrivateSell, } from '../domains/flap/portal-bundle.js';
15
+ export { createTokenWithBundleBuyMerkle as flapCreateTokenWithBundleBuyMerkle, batchBuyWithBundleMerkle as flapBatchBuyWithBundleMerkle, batchSellWithBundleMerkle as flapBatchSellWithBundleMerkle, flapPrivateBuyMerkle, flapPrivateSellMerkle, flapBatchPrivateBuyMerkle, flapBatchPrivateSellMerkle, pancakeProxyBatchBuyMerkle, pancakeProxyBatchSellMerkle, approvePancakeProxy, approvePancakeProxyBatch, flapDisperseWithBundleMerkle, flapSweepWithBundleMerkle, } from '../domains/flap/portal-bundle-merkle/index.js';
16
+ export { createTokenWithBundleBuyMerkle as fourCreateTokenWithBundleBuyMerkle, batchBuyWithBundleMerkle as fourBatchBuyWithBundleMerkle, batchSellWithBundleMerkle as fourBatchSellWithBundleMerkle, fourPrivateBuyMerkle, fourPrivateSellMerkle, fourBatchPrivateBuyMerkle, fourBatchPrivateSellMerkle, disperseWithBundleMerkle, sweepWithBundleMerkle, pairwiseTransferWithBundleMerkle, fourPancakeProxyBatchBuyMerkle, fourPancakeProxyBatchSellMerkle, approveFourPancakeProxy, approveFourPancakeProxyBatch, approveFourTokenManagerBatch, submitBundleToMerkle, submitMultipleBundles, submitMultipleBundlesParallel, submitBundleToBlockRazor, submitMultipleBundlesToBlockRazor, submitMultipleBundlesToBlockRazorParallel, } from '../chains/bsc/four/index.js';
17
+ // ✅ Four.meme TaxToken 工具(税币识别/查询/领取奖励)
18
+ export { isTaxToken as fourIsTaxToken, isAntiSniperFeeMode as fourIsAntiSniperFeeMode, getCreatorType as fourGetCreatorType, getTaxTokenInfo as fourGetTaxTokenInfo, getClaimableFee as fourGetClaimableFee, getClaimedFee as fourGetClaimedFee, getUserRewardInfo as fourGetUserRewardInfo, buildClaimFeeTx as fourBuildClaimFeeTx, buildBatchClaimFeeTxs as fourBuildBatchClaimFeeTxs, validateFourTokenTaxInfo, TAX_TOKEN_ABI, TransferMode as FourTransferMode, } from '../domains/four/index.js';
19
+ export { PinataClient } from '../domains/flap/pinata.js';
20
+ export { pinFileToIPFSWithJWT, pinImageByPath, pinFileToIPFSWithJWTWeb, pinDataURLWithJWTWeb, dataURLToBlob, } from '../domains/flap/pinata.js';
21
+ export { generateWallets } from '../utils/wallet.js';
22
+ export { getTokenBalancesWithMulticall } from '../utils/wallet.js';
23
+ export { validatePrivateKeys } from '../utils/wallet.js';
24
+ export { stealthTransfer, } from '../utils/stealth-transfer.js';
25
+ // ✅ 刷持有人(类型见 root-foundations / foundation.types;此处仅导出函数)
26
+ export { holdersMaker, estimateHoldersMakerCost } from '../domains/holders/holders-maker.js';
27
+ // ✅ 私募转账签名(带贿赂和利润提取)
28
+ export { privateSaleMerkle, batchPrivateSaleMerkle } from '../domains/private-sale/private-sale.js';
29
+ export { inspectTokenLP, getFactoryFromRouter, registerDYORSwap, registerDex, getChainConfig, } from '../domains/lp-inspect/lp-inspect.js';
30
+ export { disperseWithBundle, sweepWithBundle, } from '../utils/airdrop-sweep.js';
@@ -0,0 +1,26 @@
1
+ /**
2
+ * 根包 API 分层再导出 · ENI 全套 + BSC IRO 扁平别名
3
+ *
4
+ * 由 src/index.ts 聚合引用,请勿在本目录写实现逻辑。
5
+ *
6
+ * **命名空间**:`ENI` / `EniBatchRouter` 与包根扁平别名并存;新代码可用 `chains.eni` 或 `four-flap-meme-sdk/chains`。
7
+ */
8
+ export * as ENI from '../chains/eni/index.js';
9
+ export * as EniBatchRouter from '../chains/eni/batch-router/index.js';
10
+ export { DaoaasPortalQuery as EniPortalQuery, createPortalQuery as eniCreatePortalQuery, encodeBuyCall as eniEncodeBuyCall, encodeSellCall as eniEncodeSellCall, encodeCreateCall as eniEncodeCreateCall, applySlippage as eniApplySlippage, formatEgas as eniFormatEgas, parseEgas as eniParseEgas, directBuy as eniDirectBuy, directSell as eniDirectSell, directBatchBuy as eniDirectBatchBuy, directBatchSell as eniDirectBatchSell, directBuyForSubmit as eniDirectBuyForSubmit, directSellForSubmit as eniDirectSellForSubmit, directBatchBuyForSubmit as eniDirectBatchBuyForSubmit, directBatchSellForSubmit as eniDirectBatchSellForSubmit, directQuickSwap as eniDirectQuickSwap, directQuickSwapForSubmit as eniDirectQuickSwapForSubmit, buildProfitTransfer as eniBuildProfitTransfer, createToken as eniCreateToken, createTokenForSubmit as eniCreateTokenForSubmit, getGraduationInfo as eniGetGraduationInfo, batchGetGraduationInfo as eniBatchGetGraduationInfo, getTokenMeta as eniGetTokenMeta, getFairLaunchTokenMeta as eniGetFairLaunchTokenMeta, getTokenMetasBatch as eniGetTokenMetasBatch, DaoaasTokenStatus as EniDaoaasTokenStatus, ENI_CHAIN_ID, ENI_RPC_URL, DAOAAS_PORTAL as ENI_DAOAAS_PORTAL, DSWAP_V2_ROUTER as ENI_DSWAP_V2_ROUTER, DSWAP_V2_FACTORY as ENI_DSWAP_V2_FACTORY, DSWAP_V2_PAIR_ABI as ENI_DSWAP_V2_PAIR_ABI, WEGAS as ENI_WEGAS, } from '../chains/eni/index.js';
11
+ export type { DaoaasTokenState as EniDaoaasTokenState, DaoaasBuyParams as EniDaoaasBuyParams, DaoaasSellParams as EniDaoaasSellParams, DaoaasCreateParams as EniDaoaasCreateParams, DaoaasBatchBuyParams as EniDaoaasBatchBuyParams, DaoaasBatchSellParams as EniDaoaasBatchSellParams, DaoaasQuickSwapParams as EniDaoaasQuickSwapParams, DaoaasTxResult as EniDaoaasTxResult, DaoaasBatchResult as EniDaoaasBatchResult, DaoaasSubmitResult as EniDaoaasSubmitResult, PortalQueryConfig as EniPortalQueryConfig, GraduationInfo as EniGraduationInfo, DaoaasTokenMeta as EniDaoaasTokenMeta, } from '../chains/eni/index.js';
12
+ export { TokenLaunchType as EniTokenLaunchType, FairLauncherQuery as EniFairLauncherQuery, launchToken as eniLaunchToken, launchTokenForSubmit as eniLaunchTokenForSubmit, setTokenTradeStartTime as eniSetTokenTradeStartTime, encodeLaunchTokenCall as eniEncodeLaunchTokenCall, standardPreset as eniStandardPreset, liquidityProvidingPreset as eniLiquidityProvidingPreset, dividendPreset as eniDividendPreset, dividendBuybackPreset as eniDividendBuybackPreset, deflationaryPreset as eniDeflationaryPreset, validateLaunchParams as eniValidateLaunchParams, detectLaunchType as eniDetectLaunchType, } from '../chains/eni/index.js';
13
+ export type { LaunchParams as EniLaunchParams, FairLaunchTokenInfo as EniFairLaunchTokenInfo, FairLaunchQueryConfig as EniFairLaunchQueryConfig, FairLaunchCreateParams as EniFairLaunchCreateParams, FairLaunchCreateResult as EniFairLaunchCreateResult, } from '../chains/eni/index.js';
14
+ export { FairPoolQuery as EniFairPoolQuery, claimFromPool as eniClaimFromPool, claimFromPoolForSubmit as eniClaimFromPoolForSubmit, batchClaimForSubmit as eniBatchClaimForSubmit, } from '../chains/eni/index.js';
15
+ export type { PoolOverview as EniPoolOverview, PoolClaimParams as EniPoolClaimParams, PoolClaimResult as EniPoolClaimResult, } from '../chains/eni/index.js';
16
+ export { batchBuyPortal as eniBatchBuyPortal, batchBuyV2 as eniBatchBuyV2, batchSellPortal as eniBatchSellPortal, batchSellV2 as eniBatchSellV2, atomicSwapPortal as eniAtomicSwapPortal, batchSwapPortal as eniBatchSwapPortal, atomicSwapV2 as eniAtomicSwapV2, batchSwapV2 as eniBatchSwapV2, batchApprove as eniBatchApprove, washVolume as eniWashVolume, washVolumeV2 as eniWashVolumeV2, batchTransferEgas as eniBatchTransferEgas, batchTransferToken as eniBatchTransferToken, batchSweepToken as eniBatchSweepToken, batchSweepEgas as eniBatchSweepEgas, eniDisperseForSubmit, eniSweepForSubmit, validateBatchParams as eniValidateBatchParams, encodeBatchBuy as eniEncodeBatchBuy, encodeBatchSell as eniEncodeBatchSell, encodeAtomicSwap as eniEncodeAtomicSwap, encodeBatchSwap as eniEncodeBatchSwap, encodeAtomicSwapV2 as eniEncodeAtomicSwapV2, encodeBatchSwapV2 as eniEncodeBatchSwapV2, encodeBatchTransfer as eniEncodeBatchTransfer, encodeBatchSweepToken as eniEncodeBatchSweepToken, buildBatchRouterTx as eniBuildBatchRouterTx, estimateGas as eniEstimateGas, BATCH_ROUTER_ADDRESS as ENI_BATCH_ROUTER_ADDRESS, BATCH_ROUTER_ABI as ENI_BATCH_ROUTER_ABI, MAX_BATCH_SIZE as ENI_MAX_BATCH_SIZE, } from '../chains/eni/batch-router/index.js';
17
+ export type { BatchRouterConfig as EniBatchRouterConfig, BatchBuyParams as EniBatchBuyParams, BatchBuyResult as EniBatchBuyResult, BatchSellParams as EniBatchSellParams, BatchSellResult as EniBatchSellResult, AtomicSwapParams as EniAtomicSwapParams, AtomicSwapResult as EniAtomicSwapResult, BatchApproveParams as EniBatchApproveParams, BatchApproveResult as EniBatchApproveResult, BatchTransferParams as EniBatchTransferParams, BatchTransferResult as EniBatchTransferResult, WashVolumeParams as EniWashVolumeParams, WashVolumeResult as EniWashVolumeResult, BatchSweepTokenParams as EniBatchSweepTokenParams, BatchSweepTokenResult as EniBatchSweepTokenResult, BatchSweepEgasParams as EniBatchSweepEgasParams, BatchTransferTokenParams as EniBatchTransferTokenParams, EniDisperseParams, EniDisperseResult, EniSweepParams, EniSweepResult, } from '../chains/eni/batch-router/index.js';
18
+ export { getLPPairInfo as eniGetLPPairInfo, batchGetLPPairInfo as eniBatchGetLPPairInfo, getPairAddress as eniGetPairAddress, addLiquidityETHForSubmit as eniAddLiquidityETHForSubmit, removeLiquidityETHForSubmit as eniRemoveLiquidityETHForSubmit, addLiquidityForSubmit as eniAddLiquidityForSubmit, removeLiquidityForSubmit as eniRemoveLiquidityForSubmit, } from '../chains/eni/index.js';
19
+ export type { LPPairInfo as EniLPPairInfo, GetLPInfoParams as EniGetLPInfoParams, AddLiquidityETHParams as EniAddLiquidityETHParams, RemoveLiquidityETHParams as EniRemoveLiquidityETHParams, AddLiquidityParams as EniAddLiquidityParams, RemoveLiquidityParams as EniRemoveLiquidityParams, LiquidityForSubmitResult as EniLiquidityForSubmitResult, } from '../chains/eni/index.js';
20
+ export { EniIroFactoryQuery, eniIroEncodeCreateProjectCall, eniIroCreateProject, eniIroParseCreateProjectEvent, EniIroTokenQuery, eniIroSubscribe, eniIroPledge, eniIroBatchSubscribe, eniIroBatchSubscribeForSubmit, EniIroPoolQuery, eniIroPoolRemovePledge, eniIroPoolExtract, eniIroPoolTransferAwards, eniIroBatchExtract, ENI_IRO_FACTORY_ADDRESS, ENI_IRO_OWNER_ADDRESS, ENI_IRO_SELL_FEE_CONTRACT, ENI_IROSWAP_V2_ROUTER, ENI_IROSWAP_V2_FACTORY, ENI_IRO_FACTORY_ABI, ENI_IRO_TOKEN_ABI, ENI_IRO_POOL_ABI, ENI_IRO_PLATFORM_URL, setEniIroApiBase, eniIroApiCreateProject, eniIroApiUploadImage, eniIroGetTokenWhiteList, eniIroAddTokenWhiteListForSubmit, eniIroBatchAddTokenWhiteListForSubmit, eniIroRemoveTokenWhiteListForSubmit, ENI_IRO_OWNER_WHITELIST_ABI, } from '../chains/eni/index.js';
21
+ export type { EniIroCreateProjectParams, EniIroSubscribeParams, EniIroPledgeParams, EniIroTokenInfo, EniIroTxResult, EniIroCreateProjectResult, EniIroQueryConfig, EniIroCreateParams, EniIroBatchSubscribeForSubmitParams, EniIroBatchSubscribeForSubmitResult, EniWhitelistManageConfig, EniAddWhitelistParams, EniBatchAddWhitelistParams, EniRemoveWhitelistParams, EniGetWhitelistParams, } from '../chains/eni/index.js';
22
+ export * as EniBundler from '../chains/eni/bundler/index.js';
23
+ export { signOperation as eniBundlerSignOp, signTokenPull as eniBundlerSignTokenPull, signOperationsBatch as eniBundlerSignOpsBatch, getBundlerNonce as eniBundlerGetNonce, buildExecuteBatch as eniBundlerBuildExecuteBatch, buildPullAndExecute as eniBundlerBuildPullAndExecute, ENI_BUNDLER_ADDRESS, } from '../chains/eni/bundler/index.js';
24
+ export type { SignedOpParams as EniBundlerSignedOp, TokenPullParams as EniBundlerTokenPull, SignOpInput as EniBundlerSignOpInput, BundleSubmitResult as EniBundlerSubmitResult, } from '../chains/eni/bundler/index.js';
25
+ export { IroFactoryQuery as BscIroFactoryQuery, iroCreateProject as bscIroCreateProject, iroEncodeCreateProjectCall as bscIroEncodeCreateProjectCall, iroParseCreateProjectEvent as bscIroParseCreateProjectEvent, IroTokenQuery as BscIroTokenQuery, iroSubscribe as bscIroSubscribe, iroPledge as bscIroPledge, iroBatchSubscribe as bscIroBatchSubscribe, iroBatchSubscribeForSubmit as bscIroBatchSubscribeForSubmit, IroPoolQuery as BscIroPoolQuery, iroPoolRemovePledge as bscIroPoolRemovePledge, iroPoolExtract as bscIroPoolExtract, iroPoolTransferAwards as bscIroPoolTransferAwards, iroBatchExtract as bscIroBatchExtract, IRO_FACTORY_ADDRESS as BSC_IRO_FACTORY_ADDRESS, IRO_FACTORY_ABI as BSC_IRO_FACTORY_ABI, IRO_TOKEN_ABI as BSC_IRO_TOKEN_ABI, IRO_POOL_ABI as BSC_IRO_POOL_ABI, IRO_PLATFORM_URL as BSC_IRO_PLATFORM_URL, IRO_TESTNET_PLATFORM_URL as BSC_IRO_TESTNET_PLATFORM_URL, setIroApiBase as setBscIroApiBase, setIroTestApiBase as setBscIroTestApiBase, iroApiCreateProject as bscIroApiCreateProject, iroApiUploadImage as bscIroApiUploadImage, } from '../chains/bsc/index.js';
26
+ export type { WhiteListQuota as BscIroWhiteListQuota, IroCreateProjectParams as BscIroCreateProjectParams, IroFactoryTokenInfo as BscIroFactoryTokenInfo, IroSubscribeParams as BscIroSubscribeParams, IroPledgeParams as BscIroPledgeParams, IroTokenPrice as BscIroTokenPrice, IroPoolRemovePledgeParams as BscIroPoolRemovePledgeParams, IroPoolExtractParams as BscIroPoolExtractParams, IroPoolTransferAwardsParams as BscIroPoolTransferAwardsParams, IroTokenInfo as BscIroTokenInfo, IroTxResult as BscIroTxResult, IroCreateProjectResult as BscIroCreateProjectResult, IroQueryConfig as BscIroQueryConfig, IroCreateParams as BscIroCreateParams, IroApiCreateProjectRequest as BscIroApiCreateProjectRequest, IroBatchSubscribeForSubmitParams as BscIroBatchSubscribeForSubmitParams, IroBatchSubscribeForSubmitResult as BscIroBatchSubscribeForSubmitResult, } from '../chains/bsc/platforms/iro/index.js';
@@ -0,0 +1,66 @@
1
+ /**
2
+ * 根包 API 分层再导出 · ENI 全套 + BSC IRO 扁平别名
3
+ *
4
+ * 由 src/index.ts 聚合引用,请勿在本目录写实现逻辑。
5
+ *
6
+ * **命名空间**:`ENI` / `EniBatchRouter` 与包根扁平别名并存;新代码可用 `chains.eni` 或 `four-flap-meme-sdk/chains`。
7
+ */
8
+ // ============================================================
9
+ // ✅ ENI SDK(Phase 1 Direct + Phase 2 BatchRouter)
10
+ // ============================================================
11
+ export * as ENI from '../chains/eni/index.js';
12
+ export * as EniBatchRouter from '../chains/eni/batch-router/index.js';
13
+ export {
14
+ // DAOaaS Portal 查询
15
+ DaoaasPortalQuery as EniPortalQuery, createPortalQuery as eniCreatePortalQuery, encodeBuyCall as eniEncodeBuyCall, encodeSellCall as eniEncodeSellCall, encodeCreateCall as eniEncodeCreateCall, applySlippage as eniApplySlippage, formatEgas as eniFormatEgas, parseEgas as eniParseEgas,
16
+ // Phase 1 Direct 模式交易
17
+ directBuy as eniDirectBuy, directSell as eniDirectSell, directBatchBuy as eniDirectBatchBuy, directBatchSell as eniDirectBatchSell, directBuyForSubmit as eniDirectBuyForSubmit, directSellForSubmit as eniDirectSellForSubmit, directBatchBuyForSubmit as eniDirectBatchBuyForSubmit, directBatchSellForSubmit as eniDirectBatchSellForSubmit, directQuickSwap as eniDirectQuickSwap, directQuickSwapForSubmit as eniDirectQuickSwapForSubmit, buildProfitTransfer as eniBuildProfitTransfer,
18
+ // 代币创建
19
+ createToken as eniCreateToken, createTokenForSubmit as eniCreateTokenForSubmit,
20
+ // 毕业状态
21
+ getGraduationInfo as eniGetGraduationInfo, batchGetGraduationInfo as eniBatchGetGraduationInfo,
22
+ // 代币元数据
23
+ getTokenMeta as eniGetTokenMeta, getFairLaunchTokenMeta as eniGetFairLaunchTokenMeta, getTokenMetasBatch as eniGetTokenMetasBatch,
24
+ // 枚举/常量
25
+ DaoaasTokenStatus as EniDaoaasTokenStatus, ENI_CHAIN_ID, ENI_RPC_URL, DAOAAS_PORTAL as ENI_DAOAAS_PORTAL, DSWAP_V2_ROUTER as ENI_DSWAP_V2_ROUTER, DSWAP_V2_FACTORY as ENI_DSWAP_V2_FACTORY, DSWAP_V2_PAIR_ABI as ENI_DSWAP_V2_PAIR_ABI, WEGAS as ENI_WEGAS, } from '../chains/eni/index.js';
26
+ // ENI Fair Launch (公平发射 5 种模式)
27
+ export { TokenLaunchType as EniTokenLaunchType, FairLauncherQuery as EniFairLauncherQuery, launchToken as eniLaunchToken, launchTokenForSubmit as eniLaunchTokenForSubmit, setTokenTradeStartTime as eniSetTokenTradeStartTime, encodeLaunchTokenCall as eniEncodeLaunchTokenCall, standardPreset as eniStandardPreset, liquidityProvidingPreset as eniLiquidityProvidingPreset, dividendPreset as eniDividendPreset, dividendBuybackPreset as eniDividendBuybackPreset, deflationaryPreset as eniDeflationaryPreset, validateLaunchParams as eniValidateLaunchParams, detectLaunchType as eniDetectLaunchType, } from '../chains/eni/index.js';
28
+ // ENI Fair Launch Pool (认购买入)
29
+ export { FairPoolQuery as EniFairPoolQuery, claimFromPool as eniClaimFromPool, claimFromPoolForSubmit as eniClaimFromPoolForSubmit, batchClaimForSubmit as eniBatchClaimForSubmit, } from '../chains/eni/index.js';
30
+ // ENI BatchRouter Phase 2 (原子化批量操作)
31
+ export {
32
+ // 批量买卖
33
+ batchBuyPortal as eniBatchBuyPortal, batchBuyV2 as eniBatchBuyV2, batchSellPortal as eniBatchSellPortal, batchSellV2 as eniBatchSellV2,
34
+ // 原子换手
35
+ atomicSwapPortal as eniAtomicSwapPortal, batchSwapPortal as eniBatchSwapPortal, atomicSwapV2 as eniAtomicSwapV2, batchSwapV2 as eniBatchSwapV2,
36
+ // 批量授权
37
+ batchApprove as eniBatchApprove,
38
+ // 刷量
39
+ washVolume as eniWashVolume, washVolumeV2 as eniWashVolumeV2,
40
+ // 分发 / 归集
41
+ batchTransferEgas as eniBatchTransferEgas, batchTransferToken as eniBatchTransferToken, batchSweepToken as eniBatchSweepToken, batchSweepEgas as eniBatchSweepEgas, eniDisperseForSubmit, eniSweepForSubmit,
42
+ // 工具
43
+ validateBatchParams as eniValidateBatchParams, encodeBatchBuy as eniEncodeBatchBuy, encodeBatchSell as eniEncodeBatchSell, encodeAtomicSwap as eniEncodeAtomicSwap, encodeBatchSwap as eniEncodeBatchSwap, encodeAtomicSwapV2 as eniEncodeAtomicSwapV2, encodeBatchSwapV2 as eniEncodeBatchSwapV2, encodeBatchTransfer as eniEncodeBatchTransfer, encodeBatchSweepToken as eniEncodeBatchSweepToken, buildBatchRouterTx as eniBuildBatchRouterTx, estimateGas as eniEstimateGas,
44
+ // 常量
45
+ BATCH_ROUTER_ADDRESS as ENI_BATCH_ROUTER_ADDRESS, BATCH_ROUTER_ABI as ENI_BATCH_ROUTER_ABI, MAX_BATCH_SIZE as ENI_MAX_BATCH_SIZE, } from '../chains/eni/batch-router/index.js';
46
+ // ENI DSWAP V2 流动性管理
47
+ export { getLPPairInfo as eniGetLPPairInfo, batchGetLPPairInfo as eniBatchGetLPPairInfo, getPairAddress as eniGetPairAddress, addLiquidityETHForSubmit as eniAddLiquidityETHForSubmit, removeLiquidityETHForSubmit as eniRemoveLiquidityETHForSubmit, addLiquidityForSubmit as eniAddLiquidityForSubmit, removeLiquidityForSubmit as eniRemoveLiquidityForSubmit, } from '../chains/eni/index.js';
48
+ // ENI IRO (Initial Rights Offering)
49
+ export { EniIroFactoryQuery, eniIroEncodeCreateProjectCall, eniIroCreateProject, eniIroParseCreateProjectEvent, EniIroTokenQuery, eniIroSubscribe, eniIroPledge, eniIroBatchSubscribe, eniIroBatchSubscribeForSubmit, EniIroPoolQuery, eniIroPoolRemovePledge, eniIroPoolExtract, eniIroPoolTransferAwards, eniIroBatchExtract, ENI_IRO_FACTORY_ADDRESS, ENI_IRO_OWNER_ADDRESS, ENI_IRO_SELL_FEE_CONTRACT, ENI_IROSWAP_V2_ROUTER, ENI_IROSWAP_V2_FACTORY, ENI_IRO_FACTORY_ABI, ENI_IRO_TOKEN_ABI, ENI_IRO_POOL_ABI, ENI_IRO_PLATFORM_URL, setEniIroApiBase, eniIroApiCreateProject, eniIroApiUploadImage, eniIroGetTokenWhiteList, eniIroAddTokenWhiteListForSubmit, eniIroBatchAddTokenWhiteListForSubmit, eniIroRemoveTokenWhiteListForSubmit, ENI_IRO_OWNER_WHITELIST_ABI, } from '../chains/eni/index.js';
50
+ // ✅ ENI Bundler — EIP-712 元交易多签名者原子执行
51
+ export * as EniBundler from '../chains/eni/bundler/index.js';
52
+ export { signOperation as eniBundlerSignOp, signTokenPull as eniBundlerSignTokenPull, signOperationsBatch as eniBundlerSignOpsBatch, getBundlerNonce as eniBundlerGetNonce, buildExecuteBatch as eniBundlerBuildExecuteBatch, buildPullAndExecute as eniBundlerBuildPullAndExecute, ENI_BUNDLER_ADDRESS, } from '../chains/eni/bundler/index.js';
53
+ // ============================================================
54
+ // ✅ BSC IRO 发币平台
55
+ // ============================================================
56
+ export {
57
+ // Factory
58
+ IroFactoryQuery as BscIroFactoryQuery, iroCreateProject as bscIroCreateProject, iroEncodeCreateProjectCall as bscIroEncodeCreateProjectCall, iroParseCreateProjectEvent as bscIroParseCreateProjectEvent,
59
+ // Token
60
+ IroTokenQuery as BscIroTokenQuery, iroSubscribe as bscIroSubscribe, iroPledge as bscIroPledge, iroBatchSubscribe as bscIroBatchSubscribe, iroBatchSubscribeForSubmit as bscIroBatchSubscribeForSubmit,
61
+ // Pool
62
+ IroPoolQuery as BscIroPoolQuery, iroPoolRemovePledge as bscIroPoolRemovePledge, iroPoolExtract as bscIroPoolExtract, iroPoolTransferAwards as bscIroPoolTransferAwards, iroBatchExtract as bscIroBatchExtract,
63
+ // 常量
64
+ IRO_FACTORY_ADDRESS as BSC_IRO_FACTORY_ADDRESS, IRO_FACTORY_ABI as BSC_IRO_FACTORY_ABI, IRO_TOKEN_ABI as BSC_IRO_TOKEN_ABI, IRO_POOL_ABI as BSC_IRO_POOL_ABI,
65
+ // API (IRO 平台后端)
66
+ IRO_PLATFORM_URL as BSC_IRO_PLATFORM_URL, IRO_TESTNET_PLATFORM_URL as BSC_IRO_TESTNET_PLATFORM_URL, setIroApiBase as setBscIroApiBase, setIroTestApiBase as setBscIroTestApiBase, iroApiCreateProject as bscIroApiCreateProject, iroApiUploadImage as bscIroApiUploadImage, } from '../chains/bsc/index.js';