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
@@ -1,89 +0,0 @@
1
- import type { FlapSignConfig } from './types.js';
2
- import type { GeneratedWallet } from '../../../utils/wallet.js';
3
- /** 分散参数 */
4
- export type FlapDisperseSignParams = {
5
- chain: 'BSC' | 'MONAD' | 'XLAYER';
6
- fromPrivateKey: string;
7
- recipients: string[];
8
- amount?: string;
9
- amounts?: string[];
10
- tokenAddress?: string;
11
- tokenDecimals?: number;
12
- hopCount?: number | number[];
13
- hopPrivateKeys?: string[][];
14
- items?: {
15
- recipient: string;
16
- amount: string | bigint;
17
- hopCount?: number;
18
- hopPrivateKeys?: string[];
19
- }[];
20
- config: FlapSignConfig;
21
- startNonce?: number;
22
- };
23
- /** 分散结果 */
24
- export type FlapDisperseMerkleResult = {
25
- signedTransactions: string[];
26
- hopWallets?: (string | GeneratedWallet)[][];
27
- profitHopWallets?: GeneratedWallet[];
28
- metadata?: {
29
- totalAmount: string;
30
- profitAmount: string;
31
- profitRecipient: string;
32
- recipientCount: number;
33
- isNative: boolean;
34
- tokenAddress?: string;
35
- };
36
- };
37
- /** 归集参数 */
38
- export type FlapSweepSignParams = {
39
- chain: 'BSC' | 'MONAD' | 'XLAYER';
40
- sourcePrivateKeys: string[];
41
- target: string;
42
- ratioPct?: number;
43
- ratios?: number[];
44
- amount?: string;
45
- amounts?: string[];
46
- tokenAddress?: string;
47
- tokenDecimals?: number;
48
- skipIfInsufficient?: boolean;
49
- hopCount?: number | number[];
50
- hopPrivateKeys?: string[][];
51
- sources?: {
52
- privateKey: string;
53
- ratioPct?: number;
54
- amount?: string;
55
- hopCount?: number;
56
- hopPrivateKeys?: string[];
57
- }[];
58
- config: FlapSignConfig;
59
- startNonce?: number;
60
- };
61
- /** 归集结果 */
62
- export type FlapSweepMerkleResult = {
63
- signedTransactions: string[];
64
- hopWallets?: (string | GeneratedWallet)[][];
65
- profitHopWallets?: GeneratedWallet[];
66
- metadata?: {
67
- totalAmount: string;
68
- profitAmount: string;
69
- profitRecipient: string;
70
- sourceCount: number;
71
- isNative: boolean;
72
- tokenAddress?: string;
73
- };
74
- };
75
- /**
76
- * Flap Protocol: 分散(仅签名版本)
77
- * ✅ 支持利润提取(按地址数量收取固定费用)
78
- * ✅ 支持多跳
79
- * ✅ 支持 Multicall3 批量获取余额
80
- */
81
- export declare function flapDisperseWithBundleMerkle(params: FlapDisperseSignParams): Promise<FlapDisperseMerkleResult>;
82
- /**
83
- * Flap Protocol: 归集(仅签名版本)
84
- * ✅ 支持利润提取(按地址数量收取固定费用)
85
- * ✅ 查询余额最大的钱包支付利润
86
- * ✅ 支持多跳
87
- * ✅ 支持 Multicall3 批量获取余额
88
- */
89
- export declare function flapSweepWithBundleMerkle(params: FlapSweepSignParams): Promise<FlapSweepMerkleResult>;
@@ -1,63 +0,0 @@
1
- /**
2
- * Portal 发币交易构建(newTokenV6 / newTokenV7 / VaultPortal)
3
- * @see https://docs.flap.sh/flap/developers/token-launcher-developers/launch-token-through-portal
4
- */
5
- import { Contract, type Wallet } from 'ethers';
6
- import { type TaxVaultConfig } from './vault.js';
7
- import type { TaxV2Config } from './portal-bundle-merkle/types.js';
8
- export declare const MAGIC_DIVIDEND_SELF = "0xfEEDFEEDfeEDFEedFEEdFEEDFeEdfEEdFeEdFEEd";
9
- export type NormalizedTaxLaunchConfig = {
10
- taxDuration: number;
11
- antiFarmerDuration: number;
12
- mktBps: number;
13
- deflationBps: number;
14
- dividendBps: number;
15
- lpBps: number;
16
- minimumShareBalance?: number;
17
- buyTaxRate: number;
18
- sellTaxRate: number;
19
- dividendToken?: string;
20
- commissionReceiver?: string;
21
- vaultConfig?: TaxVaultConfig;
22
- };
23
- export type PopulateCreateTokenParams = {
24
- chain: string;
25
- devWallet: Wallet;
26
- originalPortal: Contract;
27
- tokenInfo: {
28
- name: string;
29
- symbol: string;
30
- meta: string;
31
- };
32
- quoteToken?: string;
33
- beneficiary: string;
34
- dexThresh?: number;
35
- salt?: string;
36
- migratorType?: number;
37
- taxRate?: number;
38
- buyTaxRate?: number;
39
- sellTaxRate?: number;
40
- dexId?: number;
41
- lpFeeProfile?: number;
42
- extensionID?: string;
43
- extensionData?: string;
44
- /** 标准 V3 池 → newTokenV7 + TOKEN_V3_PERMIT(与 Flap 官网一致) */
45
- useV7Portal?: boolean;
46
- taxConfig?: NormalizedTaxLaunchConfig;
47
- initialQuoteAmt?: bigint;
48
- };
49
- /** bundle 发币路径:标准 V3(dexId/lpFeeProfile)→ newTokenV7,税币/金库 → V6 */
50
- export declare function resolveCreateTokenLaunchFlags(params: {
51
- taxRate?: number;
52
- taxV2Config?: TaxV2Config;
53
- lpFeeProfile?: number;
54
- dexId?: number;
55
- migratorType?: number;
56
- extensionID?: string;
57
- }): {
58
- normalizedTax: NormalizedTaxLaunchConfig | undefined;
59
- useV7Portal: boolean;
60
- };
61
- /** 将 TaxV2Config(含 distribution)归一化;金库发射在税率为 0 时仍返回配置 */
62
- export declare function normalizeTaxLaunchConfig(input?: TaxV2Config, fallbackTaxRate?: number): NormalizedTaxLaunchConfig | undefined;
63
- export declare function populateCreateTokenTransaction(params: PopulateCreateTokenParams): Promise<import("ethers").ContractTransaction>;
@@ -1,258 +0,0 @@
1
- /**
2
- * Portal 发币交易构建(newTokenV6 / newTokenV7 / VaultPortal)
3
- * @see https://docs.flap.sh/flap/developers/token-launcher-developers/launch-token-through-portal
4
- */
5
- import { Contract, ZeroAddress } from 'ethers';
6
- import { ZERO_ADDRESS } from '../constants/index.js';
7
- import { buildNewTokenV6WithVaultParams, VAULT_PORTAL_ADDRESSES, VAULT_PORTAL_ABI, } from './vault.js';
8
- import { buildNewTokenV6Params, normalizeTaxV2Fields } from './launch-v6.js';
9
- import { TokenVersion, MigratorType, FeeType } from './portal.js';
10
- export const MAGIC_DIVIDEND_SELF = '0xfEEDFEEDfeEDFEedFEEdFEEDFeEdfEEdFeEdFEEd';
11
- function zeroBytes32() {
12
- return '0x' + '00'.repeat(32);
13
- }
14
- function resolveTaxRates(taxConfig, taxRate, buyTaxRate, sellTaxRate) {
15
- const buy = taxConfig?.buyTaxRate ?? buyTaxRate ?? taxRate ?? 0;
16
- const sell = taxConfig?.sellTaxRate ?? sellTaxRate ?? taxRate ?? 0;
17
- return { buyTaxRate: buy & 0xffff, sellTaxRate: sell & 0xffff };
18
- }
19
- function validateTaxDistribution(mkt, def, div, lp) {
20
- const total = mkt + def + div + lp;
21
- if (total !== 10000) {
22
- throw new Error(`Tax distribution must sum to 10000 (100%), got ${total}`);
23
- }
24
- }
25
- function resolveCreateQuoteAmt(params) {
26
- return params.initialQuoteAmt ?? 0n;
27
- }
28
- function resolveUseV7Portal(params) {
29
- return !!params.useV7Portal;
30
- }
31
- /** bundle 发币路径:标准 V3(dexId/lpFeeProfile)→ newTokenV7,税币/金库 → V6 */
32
- export function resolveCreateTokenLaunchFlags(params) {
33
- const normalizedTax = normalizeTaxLaunchConfig(params.taxV2Config, params.taxRate);
34
- const hasVault = !!normalizedTax?.vaultConfig && normalizedTax.vaultConfig.vaultType !== 'none';
35
- const isTaxLaunch = !!normalizedTax || hasVault || (params.taxRate ?? 0) > 0;
36
- const useV7Portal = !isTaxLaunch &&
37
- !hasVault &&
38
- (params.lpFeeProfile !== undefined ||
39
- params.dexId !== undefined ||
40
- params.migratorType === MigratorType.PCS_INFINITY_CL_MIGRATOR);
41
- return { normalizedTax, useV7Portal };
42
- }
43
- /** 将 TaxV2Config(含 distribution)归一化;金库发射在税率为 0 时仍返回配置 */
44
- export function normalizeTaxLaunchConfig(input, fallbackTaxRate) {
45
- if (!input)
46
- return undefined;
47
- const flat = normalizeTaxV2Fields(input);
48
- const buyTaxRate = fallbackTaxRate ?? 0;
49
- const sellTaxRate = fallbackTaxRate ?? 0;
50
- const hasVault = flat.vaultConfig && flat.vaultConfig.vaultType !== 'none';
51
- if (buyTaxRate <= 0 && sellTaxRate <= 0 && !hasVault)
52
- return undefined;
53
- return {
54
- taxDuration: flat.taxDuration,
55
- antiFarmerDuration: flat.antiFarmerDuration,
56
- mktBps: flat.mktBps,
57
- deflationBps: flat.deflationBps,
58
- dividendBps: flat.dividendBps,
59
- lpBps: flat.lpBps,
60
- minimumShareBalance: flat.minimumShareBalance,
61
- buyTaxRate: buyTaxRate > 0 ? buyTaxRate : (hasVault ? 1 : 0),
62
- sellTaxRate: sellTaxRate > 0 ? sellTaxRate : (hasVault ? 1 : 0),
63
- vaultConfig: flat.vaultConfig,
64
- };
65
- }
66
- function buildNewTokenV7PermitParams(params) {
67
- const emptyFeeConfig = {
68
- feeType: FeeType.NONE,
69
- bps: 0,
70
- marketingAddress: ZeroAddress,
71
- dividendToken: ZeroAddress,
72
- minimumShareBalance: 0n,
73
- };
74
- const marketingFeeConfig = {
75
- feeType: FeeType.MARKETING_OR_VAULT,
76
- bps: 10000,
77
- marketingAddress: params.beneficiary,
78
- dividendToken: ZeroAddress,
79
- minimumShareBalance: 0n,
80
- };
81
- return {
82
- name: params.tokenInfo.name,
83
- symbol: params.tokenInfo.symbol,
84
- meta: params.tokenInfo.meta,
85
- dexThresh: (params.dexThresh ?? 1) & 0xff,
86
- salt: params.salt ?? zeroBytes32(),
87
- migratorType: MigratorType.PCS_INFINITY_CL_MIGRATOR,
88
- quoteToken: params.quoteToken || ZERO_ADDRESS,
89
- quoteAmt: resolveCreateQuoteAmt(params),
90
- permitData: '0x',
91
- extensionID: params.extensionID ?? zeroBytes32(),
92
- extensionData: params.extensionData ?? '0x',
93
- dexId: (params.dexId ?? 0) & 0xff,
94
- buyTaxRate: 0,
95
- sellTaxRate: 0,
96
- taxDuration: 0n,
97
- antiFarmerDuration: 0n,
98
- commissionReceiver: ZeroAddress,
99
- tokenVersion: TokenVersion.TOKEN_V3_PERMIT,
100
- feeConfigs: [marketingFeeConfig, emptyFeeConfig, emptyFeeConfig, emptyFeeConfig],
101
- };
102
- }
103
- export async function populateCreateTokenTransaction(params) {
104
- const taxConfig = params.taxConfig;
105
- const { buyTaxRate, sellTaxRate } = resolveTaxRates(taxConfig, params.taxRate, params.buyTaxRate, params.sellTaxRate);
106
- const isTaxLaunch = buyTaxRate > 0 || sellTaxRate > 0;
107
- // 1) 金库税币 → VaultPortal.newTokenV6WithVault
108
- if (taxConfig?.vaultConfig && taxConfig.vaultConfig.vaultType !== 'none') {
109
- validateTaxDistribution(taxConfig.mktBps, taxConfig.deflationBps, taxConfig.dividendBps, taxConfig.lpBps);
110
- const chainKey = params.chain.toUpperCase();
111
- const vaultPortalAddr = VAULT_PORTAL_ADDRESSES[chainKey];
112
- if (!vaultPortalAddr) {
113
- throw new Error(`链 "${params.chain}" 不支持 Tax Vault 金库功能`);
114
- }
115
- const vaultPortal = new Contract(vaultPortalAddr, VAULT_PORTAL_ABI, params.devWallet);
116
- const tv2 = {
117
- taxDuration: taxConfig.taxDuration,
118
- antiFarmerDuration: taxConfig.antiFarmerDuration,
119
- distribution: {
120
- mktBps: taxConfig.mktBps,
121
- deflationBps: taxConfig.deflationBps,
122
- dividendBps: taxConfig.dividendBps,
123
- lpBps: taxConfig.lpBps,
124
- minimumShareBalance: taxConfig.minimumShareBalance,
125
- },
126
- vaultConfig: taxConfig.vaultConfig,
127
- };
128
- const v6VaultParams = buildNewTokenV6WithVaultParams({
129
- tokenInfo: params.tokenInfo,
130
- taxV2: tv2,
131
- chain: chainKey,
132
- salt: params.salt,
133
- taxRate: Math.max(buyTaxRate, sellTaxRate),
134
- buyTaxRate,
135
- sellTaxRate,
136
- dexThresh: params.dexThresh,
137
- migratorType: params.migratorType,
138
- quoteToken: params.quoteToken,
139
- quoteAmt: resolveCreateQuoteAmt(params),
140
- dexId: params.dexId,
141
- lpFeeProfile: params.lpFeeProfile,
142
- });
143
- return vaultPortal.newTokenV6WithVault.populateTransaction(v6VaultParams);
144
- }
145
- // 2) 税币无金库 → newTokenV6 + TOKEN_TAXED_V3
146
- if (isTaxLaunch && taxConfig) {
147
- const tv2 = {
148
- taxDuration: taxConfig.taxDuration,
149
- antiFarmerDuration: taxConfig.antiFarmerDuration,
150
- distribution: {
151
- mktBps: taxConfig.mktBps,
152
- deflationBps: taxConfig.deflationBps,
153
- dividendBps: taxConfig.dividendBps,
154
- lpBps: taxConfig.lpBps,
155
- minimumShareBalance: taxConfig.minimumShareBalance,
156
- },
157
- vaultConfig: taxConfig.vaultConfig,
158
- };
159
- return params.originalPortal.newTokenV6.populateTransaction(buildNewTokenV6Params({
160
- tokenInfo: params.tokenInfo,
161
- taxV2: tv2,
162
- beneficiary: params.beneficiary,
163
- salt: params.salt,
164
- taxRate: Math.max(buyTaxRate, sellTaxRate),
165
- buyTaxRate,
166
- sellTaxRate,
167
- dexThresh: params.dexThresh,
168
- migratorType: params.migratorType,
169
- quoteToken: params.quoteToken,
170
- quoteAmt: resolveCreateQuoteAmt(params),
171
- dexId: params.dexId,
172
- lpFeeProfile: params.lpFeeProfile,
173
- extensionID: params.extensionID,
174
- extensionData: params.extensionData,
175
- }));
176
- }
177
- if (isTaxLaunch) {
178
- return params.originalPortal.newTokenV6.populateTransaction(buildNewTokenV6Params({
179
- tokenInfo: params.tokenInfo,
180
- taxV2: {
181
- taxDuration: 365 * 24 * 60 * 60,
182
- antiFarmerDuration: 3 * 24 * 60 * 60,
183
- distribution: {
184
- mktBps: 10000,
185
- deflationBps: 0,
186
- dividendBps: 0,
187
- lpBps: 0,
188
- },
189
- },
190
- beneficiary: params.beneficiary,
191
- salt: params.salt,
192
- taxRate: Math.max(buyTaxRate, sellTaxRate),
193
- buyTaxRate,
194
- sellTaxRate,
195
- dexThresh: params.dexThresh,
196
- migratorType: params.migratorType,
197
- quoteToken: params.quoteToken,
198
- quoteAmt: resolveCreateQuoteAmt(params),
199
- dexId: params.dexId,
200
- lpFeeProfile: params.lpFeeProfile,
201
- }));
202
- }
203
- // 3) 标准 V3 池 → newTokenV7(Portal v5.8.6+;V4 已 FeatureDisabled)
204
- if (resolveUseV7Portal(params)) {
205
- return params.originalPortal.newTokenV7.populateTransaction(buildNewTokenV7PermitParams(params));
206
- }
207
- // 4) extension only → newTokenV3
208
- const hasExtension = !!params.extensionID &&
209
- params.extensionID !== zeroBytes32() &&
210
- params.lpFeeProfile === undefined &&
211
- params.dexId === undefined;
212
- if (hasExtension) {
213
- return params.originalPortal.newTokenV3.populateTransaction({
214
- name: params.tokenInfo.name,
215
- symbol: params.tokenInfo.symbol,
216
- meta: params.tokenInfo.meta,
217
- dexThresh: (params.dexThresh ?? 1) & 0xff,
218
- salt: params.salt ?? zeroBytes32(),
219
- taxRate: (params.taxRate ?? 0) & 0xffff,
220
- migratorType: (params.migratorType ?? MigratorType.V3_MIGRATOR) & 0xff,
221
- quoteToken: params.quoteToken || ZERO_ADDRESS,
222
- quoteAmt: resolveCreateQuoteAmt(params),
223
- beneficiary: params.beneficiary,
224
- permitData: '0x',
225
- extensionID: params.extensionID,
226
- extensionData: params.extensionData ?? '0x',
227
- });
228
- }
229
- // 5) 标准 V2 路径 → newTokenV6 + TOKEN_V2_PERMIT
230
- return params.originalPortal.newTokenV6.populateTransaction({
231
- name: params.tokenInfo.name,
232
- symbol: params.tokenInfo.symbol,
233
- meta: params.tokenInfo.meta,
234
- dexThresh: (params.dexThresh ?? 1) & 0xff,
235
- salt: params.salt ?? zeroBytes32(),
236
- migratorType: (params.migratorType ?? MigratorType.V2_MIGRATOR) & 0xff,
237
- quoteToken: params.quoteToken || ZERO_ADDRESS,
238
- quoteAmt: resolveCreateQuoteAmt(params),
239
- beneficiary: params.beneficiary,
240
- permitData: '0x',
241
- extensionID: params.extensionID ?? zeroBytes32(),
242
- extensionData: params.extensionData ?? '0x',
243
- dexId: (params.dexId ?? 0) & 0xff,
244
- lpFeeProfile: (params.lpFeeProfile ?? 0) & 0xff,
245
- buyTaxRate: 0,
246
- sellTaxRate: 0,
247
- taxDuration: 0n,
248
- antiFarmerDuration: 0n,
249
- mktBps: 0,
250
- deflationBps: 0,
251
- dividendBps: 0,
252
- lpBps: 0,
253
- minimumShareBalance: 0n,
254
- dividendToken: ZeroAddress,
255
- commissionReceiver: ZeroAddress,
256
- tokenVersion: TokenVersion.TOKEN_V2_PERMIT,
257
- });
258
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * Four.meme 工具模块
3
- *
4
- * 提供 Four.meme 平台相关的工具函数:
5
- * - TaxToken:税币识别、状态查询、奖励领取
6
- */
7
- export { isTaxToken, isAntiSniperFeeMode, getCreatorType, getTaxTokenInfo, getClaimableFee, getClaimedFee, getUserRewardInfo, buildClaimFeeTx, buildBatchClaimFeeTxs, validateFourTokenTaxInfo, TAX_TOKEN_ABI, TransferMode, type TaxTokenConfig, type TaxTokenRewardStats, type TaxTokenUserInfo, type TaxTokenInfo, } from './tax-token.js';
@@ -1,22 +0,0 @@
1
- /**
2
- * Four.meme 工具模块
3
- *
4
- * 提供 Four.meme 平台相关的工具函数:
5
- * - TaxToken:税币识别、状态查询、奖励领取
6
- */
7
- // TaxToken 工具
8
- export {
9
- // 识别方法
10
- isTaxToken, isAntiSniperFeeMode, getCreatorType,
11
- // 状态查询
12
- getTaxTokenInfo,
13
- // 用户奖励
14
- getClaimableFee, getClaimedFee, getUserRewardInfo,
15
- // 奖励领取
16
- buildClaimFeeTx, buildBatchClaimFeeTxs,
17
- // 校验工具
18
- validateFourTokenTaxInfo,
19
- // ABI
20
- TAX_TOKEN_ABI,
21
- // 类型
22
- TransferMode, } from './tax-token.js';
@@ -1,10 +0,0 @@
1
- /**
2
- * Shared 模块统一导出
3
- *
4
- * 包含所有跨链共享的功能:
5
- * - constants: 常量定义
6
- * - clients: API 客户端
7
- * - four: Four.meme 工具(TaxToken 等)
8
- */
9
- export * from './constants/index.js';
10
- export * as FourUtils from './four/index.js';
@@ -1,10 +0,0 @@
1
- /**
2
- * Shared 模块统一导出
3
- *
4
- * 包含所有跨链共享的功能:
5
- * - constants: 常量定义
6
- * - clients: API 客户端
7
- * - four: Four.meme 工具(TaxToken 等)
8
- */
9
- export * from './constants/index.js';
10
- export * as FourUtils from './four/index.js';
@@ -1,154 +0,0 @@
1
- /**
2
- * ============================================================================
3
- * 刷持有人(Holders Maker)
4
- * ============================================================================
5
- * 一键完成:生成钱包 → 分发资金 → 批量买入(同一个 bundle 完成)
6
- * 支持原生代币(BNB/MON)和 ERC20 代币(USDT/USDC)作为购买资金
7
- */
8
- import { type GeneratedWallet } from './wallet.js';
9
- /** 链类型 */
10
- export type HoldersMakerChain = 'BSC' | 'MONAD' | 'XLAYER' | 'ENI';
11
- /** 交易类型 */
12
- export type TradeType = 'four' | 'flap' | 'v2' | 'v3' | 'daoaas';
13
- /** 基础代币类型 */
14
- export type BaseTokenType = 'native' | 'usdt' | 'usdc';
15
- /** 刷持有人配置 */
16
- export type HoldersMakerConfig = {
17
- /** RPC URL */
18
- rpcUrl: string;
19
- /** 链类型 */
20
- chain?: HoldersMakerChain;
21
- /** 链 ID(可选,不传则自动获取) */
22
- chainId?: number;
23
- /** 交易类型(four/flap=内盘, v2/v3=外盘) */
24
- tradeType?: TradeType;
25
- /** Gas Limit */
26
- gasLimit?: number;
27
- /** Gas Price (Gwei) */
28
- gasPriceGwei?: number;
29
- /** 贿赂金额(BNB) */
30
- bribeAmount?: number;
31
- /** 交易类型(0 = Legacy, 2 = EIP-1559) */
32
- txType?: 0 | 2;
33
- /** 每批最大钱包数 */
34
- maxWalletsPerBatch?: number;
35
- /** Four API URL */
36
- fourApiUrl?: string;
37
- /** 分发多跳数(0=直接转账,1=1跳,2=2跳...) */
38
- disperseHopCount?: number;
39
- /** V2 路由路径(如 [WBNB, TOKEN]) */
40
- v2Path?: string[];
41
- /** V3 单跳输入代币 */
42
- v3TokenIn?: string;
43
- /** V3 单跳手续费(100=0.01%, 500=0.05%, 2500=0.25%, 10000=1%) */
44
- v3Fee?: number;
45
- /** V3 多跳 LP 地址列表 */
46
- v3LpAddresses?: string[];
47
- /** V3 多跳代币路径 */
48
- v3Tokens?: string[];
49
- /** 自定义 V2 Router 地址(如 IROSwap),不传则使用 PancakeSwap */
50
- v2RouterAddress?: string;
51
- };
52
- /** 刷持有人参数 */
53
- export type HoldersMakerParams = {
54
- /** 支付钱包私钥 */
55
- payerPrivateKey: string;
56
- /** 新增持有人数量 */
57
- holdersCount: number;
58
- /** 每个地址购买金额(原生代币单位,如 0.0001 BNB) */
59
- buyAmountPerHolder: string;
60
- /** 代币合约地址 */
61
- tokenAddress: string;
62
- /** 基础代币类型(native=原生代币, usdt, usdc) */
63
- baseToken?: BaseTokenType;
64
- /** 基础代币地址(USDT/USDC 时需要) */
65
- baseTokenAddress?: string;
66
- /** 基础代币精度(默认 18,USDC 为 6) */
67
- baseTokenDecimals?: number;
68
- /** 配置 */
69
- config: HoldersMakerConfig;
70
- };
71
- /**
72
- * ✅ 交易层级(用于按依赖顺序广播)
73
- * 每层内的交易可以并行广播,层之间需要按顺序等待确认
74
- */
75
- export type TransactionLayer = {
76
- /** 层级名称 */
77
- name: string;
78
- /** 该层的交易索引范围 [startIndex, endIndex) */
79
- startIndex: number;
80
- endIndex: number;
81
- /** 该层交易数量 */
82
- count: number;
83
- };
84
- /** 批次结果 */
85
- export type BatchResult = {
86
- batchIndex: number;
87
- success: boolean;
88
- signedTransactions?: string[];
89
- txHashes?: string[];
90
- error?: string;
91
- walletCount: number;
92
- /** ✅ 交易层级信息(用于非 Bundle 链按依赖顺序广播) */
93
- transactionLayers?: TransactionLayer[];
94
- /** ✅ 分发多跳数 */
95
- disperseHopCount?: number;
96
- };
97
- /** 刷持有人结果 */
98
- export type HoldersMakerResult = {
99
- /** 是否成功 */
100
- success: boolean;
101
- /** 生成的新钱包 */
102
- newWallets: GeneratedWallet[];
103
- /** 分发多跳中间钱包(可选,用于导出) */
104
- disperseHopWallets?: GeneratedWallet[];
105
- /** 利润多跳中间钱包(可选,用于导出) */
106
- profitHopWallets?: GeneratedWallet[];
107
- /** 签名交易(每批一个数组) */
108
- signedTransactions: string[][];
109
- /** 批次结果 */
110
- batchResults: BatchResult[];
111
- /** 成功的批次数 */
112
- successBatchCount: number;
113
- /** 总批次数 */
114
- totalBatchCount: number;
115
- /** 错误信息 */
116
- error?: string;
117
- /** ✅ 分发多跳数 */
118
- disperseHopCount?: number;
119
- };
120
- /**
121
- * 刷持有人(一个 bundle 完成分发+买入)
122
- *
123
- * 原生代币模式流程(同一个 bundle):
124
- * 1. 贿赂交易
125
- * 2. 分发原生代币(dev → 新钱包)
126
- * 3. 买入交易(新钱包 nonce=0)
127
- * 4. 利润多跳
128
- *
129
- * ERC20 模式流程(同一个 bundle):
130
- * 1. 贿赂交易
131
- * 2. 分发原生代币(gas 费)
132
- * 3. 分发 ERC20 代币(购买资金)
133
- * 4. 授权交易(新钱包 nonce=0)
134
- * 5. 买入交易(新钱包 nonce=1)
135
- * 6. 利润多跳
136
- *
137
- * @returns 包含所有签名交易的结果,由前端提交
138
- */
139
- export declare function holdersMaker(params: HoldersMakerParams): Promise<HoldersMakerResult>;
140
- /**
141
- * 获取刷持有人预估费用
142
- */
143
- export declare function estimateHoldersMakerCost(params: {
144
- holdersCount: number;
145
- buyAmountPerHolder: string;
146
- baseToken?: BaseTokenType;
147
- gasLimit?: number;
148
- gasPriceGwei?: number;
149
- }): {
150
- totalNativeCost: string;
151
- totalERC20Cost?: string;
152
- gasEstimate: string;
153
- batchCount: number;
154
- };