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,5 +1,7 @@
1
- import { BytesLike, JsonRpcProvider, Wallet } from 'ethers';
2
- export type Providerish = JsonRpcProvider;
1
+ import { BytesLike, Wallet } from 'ethers';
2
+ import type { ContractTransactionReceipt } from 'ethers';
3
+ import { createBscProvider } from '../../../utils/provider-factory.js';
4
+ export type Providerish = ReturnType<typeof createBscProvider>;
3
5
  export type Signerish = Wallet;
4
6
  export type CreateOnChainParams = {
5
7
  chain: 'BSC';
@@ -10,8 +12,8 @@ export type CreateOnChainParams = {
10
12
  valueWei?: bigint;
11
13
  };
12
14
  export declare function createTokenOnChain(params: CreateOnChainParams): Promise<{
13
- receipt: any;
14
- tokenAddress: string | undefined;
15
+ receipt: ContractTransactionReceipt | null;
16
+ tokenAddress?: string;
15
17
  }>;
16
18
  export type TryBuyResult = {
17
19
  tokenManager: string;
@@ -31,8 +33,8 @@ export type TrySellResult = {
31
33
  fee: bigint;
32
34
  };
33
35
  export declare function trySell(chain: 'BSC' | 'BASE' | 'ARBITRUM_ONE', rpcUrl: string, token: string, amount: bigint, proxyAddressOverride?: string): Promise<TrySellResult>;
34
- export declare function buyTokenWithFunds(chain: 'BSC', rpcUrl: string, signerPrivateKey: string, token: string, funds: bigint, minAmount: bigint, to?: string, origin?: bigint): Promise<any>;
35
- export declare function sellToken(chain: 'BSC', rpcUrl: string, signerPrivateKey: string, token: string, amount: bigint, minFunds: bigint, origin?: bigint): Promise<any>;
36
+ export declare function buyTokenWithFunds(chain: 'BSC', rpcUrl: string, signerPrivateKey: string, token: string, funds: bigint, minAmount: bigint, to?: string, origin?: bigint): Promise<ContractTransactionReceipt | null>;
37
+ export declare function sellToken(chain: 'BSC', rpcUrl: string, signerPrivateKey: string, token: string, amount: bigint, minFunds: bigint, origin?: bigint): Promise<ContractTransactionReceipt | null>;
36
38
  export declare function tradeBuy(chain: 'BSC' | 'BASE' | 'ARBITRUM_ONE', rpcUrl: string, token: string, params: {
37
39
  type: 'funds';
38
40
  funds: bigint;
@@ -45,7 +47,7 @@ export declare function tradeBuy(chain: 'BSC' | 'BASE' | 'ARBITRUM_ONE', rpcUrl:
45
47
  maxFunds: bigint;
46
48
  to?: string;
47
49
  origin?: bigint;
48
- }): Promise<any>;
50
+ }): Promise<ContractTransactionReceipt | null>;
49
51
  export declare function tradeSell(chain: 'BSC' | 'BASE' | 'ARBITRUM_ONE', rpcUrl: string, token: string, params: {
50
52
  type: 'direct';
51
53
  amount: bigint;
@@ -59,4 +61,4 @@ export declare function tradeSell(chain: 'BSC' | 'BASE' | 'ARBITRUM_ONE', rpcUrl
59
61
  origin?: bigint;
60
62
  feeRate?: bigint;
61
63
  feeRecipient?: string;
62
- }): Promise<any>;
64
+ }): Promise<ContractTransactionReceipt | null>;
@@ -1,17 +1,18 @@
1
- import { Contract, JsonRpcProvider, Wallet } from 'ethers';
2
- import TM2Abi from '../shared/abis/TokenManager2.json' with { type: 'json' };
3
- import Helper3Abi from '../shared/abis/TokenManagerHelper3.json' with { type: 'json' };
4
- import { Contract as EContract } from 'ethers';
5
- import { ADDRESSES } from '../utils/constants.js';
1
+ import { Contract, Wallet } from 'ethers';
2
+ import TM2Abi from '../../../abis/contracts/TokenManager2.json' with { type: 'json' };
3
+ import Helper3Abi from '../../../abis/contracts/TokenManagerHelper3.json' with { type: 'json' };
4
+ import { ADDRESSES, ZERO_ADDRESS } from '../../../core/constants/index.js';
5
+ import { createBscProvider } from '../../../utils/provider-factory.js';
6
6
  import { TM1 } from './tm1.js';
7
7
  import { TM2 } from './tm2.js';
8
+ const TM2_ABI = TM2Abi;
9
+ const HELPER3_ABI = Helper3Abi;
8
10
  export async function createTokenOnChain(params) {
9
- const { chain, rpcUrl, signerPrivateKey, args, signature, valueWei } = params;
10
- const provider = new JsonRpcProvider(rpcUrl);
11
+ const { rpcUrl, signerPrivateKey, args, signature, valueWei } = params;
12
+ const provider = createBscProvider(rpcUrl);
11
13
  const signer = new Wallet(signerPrivateKey, provider);
12
14
  // 使用 Four.meme 平台原始合约地址(API 签名是给原始合约的)
13
- const FOUR_ORIGINAL_TM2 = '0x5c952063c7fc8610FFDB798152D69F0B9550762b';
14
- const tm2 = new Contract(FOUR_ORIGINAL_TM2, TM2Abi, signer);
15
+ const tm2 = new Contract(ADDRESSES.BSC.TokenManagerOriginal, TM2_ABI, signer);
15
16
  const tx = await tm2.createToken(args, signature, { value: valueWei ?? 0n });
16
17
  const receipt = await tx.wait();
17
18
  // 解析 TokenCreate 事件获取代币地址
@@ -25,7 +26,7 @@ export async function createTokenOnChain(params) {
25
26
  break;
26
27
  }
27
28
  }
28
- catch (e) {
29
+ catch (_e) {
29
30
  // 忽略无法解析的日志
30
31
  }
31
32
  }
@@ -38,17 +39,15 @@ export async function tryBuy(chain, rpcUrl, token, amount, funds, proxyAddressOv
38
39
  BASE: ADDRESSES.BASE.TokenManagerHelper3,
39
40
  ARBITRUM_ONE: ADDRESSES.ARBITRUM_ONE.TokenManagerHelper3,
40
41
  };
41
- const provider = new JsonRpcProvider(rpcUrl);
42
+ const provider = createBscProvider(rpcUrl);
42
43
  // 优先用代理预览(若提供)
43
44
  if (proxyAddressOverride) {
44
- const proxyAbi = [
45
- 'function previewBuy(address token, uint256 funds) view returns (uint256)',
46
- ];
47
- const proxy = new EContract(proxyAddressOverride, proxyAbi, provider);
45
+ const proxyAbi = ['function previewBuy(address token, uint256 funds) view returns (uint256)'];
46
+ const proxy = new Contract(proxyAddressOverride, proxyAbi, provider);
48
47
  const estimatedAmount = await proxy.previewBuy(token, funds);
49
48
  return {
50
49
  tokenManager: 'proxy',
51
- quote: '0x0000000000000000000000000000000000000000',
50
+ quote: ZERO_ADDRESS,
52
51
  estimatedAmount,
53
52
  estimatedCost: funds,
54
53
  estimatedFee: 0n,
@@ -57,7 +56,7 @@ export async function tryBuy(chain, rpcUrl, token, amount, funds, proxyAddressOv
57
56
  amountFunds: funds,
58
57
  };
59
58
  }
60
- const helper = new Contract(helper3Addresses[chain], Helper3Abi, provider);
59
+ const helper = new Contract(helper3Addresses[chain], HELPER3_ABI, provider);
61
60
  const r = await helper.tryBuy(token, amount, funds);
62
61
  return {
63
62
  tokenManager: r.tokenManager,
@@ -76,22 +75,20 @@ export async function trySell(chain, rpcUrl, token, amount, proxyAddressOverride
76
75
  BASE: ADDRESSES.BASE.TokenManagerHelper3,
77
76
  ARBITRUM_ONE: ADDRESSES.ARBITRUM_ONE.TokenManagerHelper3,
78
77
  };
79
- const provider = new JsonRpcProvider(rpcUrl);
78
+ const provider = createBscProvider(rpcUrl);
80
79
  // 优先用代理预览(若提供)
81
80
  if (proxyAddressOverride) {
82
- const proxyAbi = [
83
- 'function previewSell(address token, uint256 amount) view returns (uint256)',
84
- ];
85
- const proxy = new EContract(proxyAddressOverride, proxyAbi, provider);
81
+ const proxyAbi = ['function previewSell(address token, uint256 amount) view returns (uint256)'];
82
+ const proxy = new Contract(proxyAddressOverride, proxyAbi, provider);
86
83
  const funds = await proxy.previewSell(token, amount);
87
84
  return {
88
85
  tokenManager: 'proxy',
89
- quote: '0x0000000000000000000000000000000000000000',
86
+ quote: ZERO_ADDRESS,
90
87
  funds,
91
88
  fee: 0n,
92
89
  };
93
90
  }
94
- const helper = new Contract(helper3Addresses[chain], Helper3Abi, provider);
91
+ const helper = new Contract(helper3Addresses[chain], HELPER3_ABI, provider);
95
92
  const r = await helper.trySell(token, amount);
96
93
  return {
97
94
  tokenManager: r.tokenManager,
@@ -101,9 +98,9 @@ export async function trySell(chain, rpcUrl, token, amount, proxyAddressOverride
101
98
  };
102
99
  }
103
100
  export async function buyTokenWithFunds(chain, rpcUrl, signerPrivateKey, token, funds, minAmount, to, origin = 0n) {
104
- const provider = new JsonRpcProvider(rpcUrl);
101
+ const provider = createBscProvider(rpcUrl);
105
102
  const signer = new Wallet(signerPrivateKey, provider);
106
- const tm2 = new Contract(ADDRESSES[chain].TokenManagerV2, TM2Abi, signer);
103
+ const tm2 = new Contract(ADDRESSES[chain].TokenManagerV2, TM2_ABI, signer);
107
104
  if (to) {
108
105
  const tx = await tm2.buyTokenAMAP(origin, token, to, funds, minAmount, { value: funds });
109
106
  return await tx.wait();
@@ -114,9 +111,9 @@ export async function buyTokenWithFunds(chain, rpcUrl, signerPrivateKey, token,
114
111
  }
115
112
  }
116
113
  export async function sellToken(chain, rpcUrl, signerPrivateKey, token, amount, minFunds, origin = 0n) {
117
- const provider = new JsonRpcProvider(rpcUrl);
114
+ const provider = createBscProvider(rpcUrl);
118
115
  const signer = new Wallet(signerPrivateKey, provider);
119
- const tm2 = new Contract(ADDRESSES[chain].TokenManagerV2, TM2Abi, signer);
116
+ const tm2 = new Contract(ADDRESSES[chain].TokenManagerV2, TM2_ABI, signer);
120
117
  // 使用明确的函数签名避免歧义
121
118
  const tx = await tm2['sellToken(uint256,address,uint256,uint256)'](origin, token, amount, minFunds);
122
119
  return await tx.wait();
@@ -128,8 +125,8 @@ export async function tradeBuy(chain, rpcUrl, token, params) {
128
125
  BASE: ADDRESSES.BASE.TokenManagerHelper3,
129
126
  ARBITRUM_ONE: ADDRESSES.ARBITRUM_ONE.TokenManagerHelper3,
130
127
  };
131
- const provider = new JsonRpcProvider(rpcUrl);
132
- const helper = new Contract(helper3Addresses[chain], Helper3Abi, provider);
128
+ const provider = createBscProvider(rpcUrl);
129
+ const helper = new Contract(helper3Addresses[chain], HELPER3_ABI, provider);
133
130
  const info = await helper.getTokenInfo(token);
134
131
  const version = info.version;
135
132
  if (version === 1n) {
@@ -143,9 +140,16 @@ export async function tradeBuy(chain, rpcUrl, token, params) {
143
140
  if (chain !== 'BSC')
144
141
  throw new Error('TokenManager V2 only supported on BSC');
145
142
  const tm2 = TM2.connectByChain('BSC', rpcUrl);
146
- if (params.type === 'funds')
147
- return await tm2.buyTokenAMAP(params.origin ?? 0n, token, params.to ?? undefined, params.funds, params.minAmount);
148
- return await tm2.buyToken(params.origin ?? 0n, token, params.to ?? undefined, params.amount, params.maxFunds);
143
+ if (params.type === 'funds') {
144
+ const o = params.origin ?? 0n;
145
+ return params.to !== undefined
146
+ ? await tm2.buyTokenAMAP(o, token, params.to, params.funds, params.minAmount)
147
+ : await tm2.buyTokenAMAP(o, token, params.funds, params.minAmount);
148
+ }
149
+ const o = params.origin ?? 0n;
150
+ return params.to !== undefined
151
+ ? await tm2.buyToken(o, token, params.to, params.amount, params.maxFunds)
152
+ : await tm2.buyToken(o, token, params.amount, params.maxFunds);
149
153
  }
150
154
  export async function tradeSell(chain, rpcUrl, token, params) {
151
155
  const helper3Addresses = {
@@ -153,8 +157,8 @@ export async function tradeSell(chain, rpcUrl, token, params) {
153
157
  BASE: ADDRESSES.BASE.TokenManagerHelper3,
154
158
  ARBITRUM_ONE: ADDRESSES.ARBITRUM_ONE.TokenManagerHelper3,
155
159
  };
156
- const provider = new JsonRpcProvider(rpcUrl);
157
- const helper = new Contract(helper3Addresses[chain], Helper3Abi, provider);
160
+ const provider = createBscProvider(rpcUrl);
161
+ const helper = new Contract(helper3Addresses[chain], HELPER3_ABI, provider);
158
162
  const info = await helper.getTokenInfo(token);
159
163
  const version = info.version;
160
164
  if (version === 1n) {
@@ -1,7 +1,10 @@
1
1
  import { Contract, JsonRpcProvider } from 'ethers';
2
- import TM1Abi from '../shared/abis/TokenManager.json' with { type: 'json' };
3
- import { ADDRESSES } from '../utils/constants.js';
2
+ import TM1Abi from '../../../abis/contracts/TokenManager.json' with { type: 'json' };
3
+ import { ADDRESSES } from '../../../core/constants/index.js';
4
+ const TM1_ABI = TM1Abi;
4
5
  export class TM1 {
6
+ address;
7
+ provider;
5
8
  constructor(address, provider) {
6
9
  this.address = address;
7
10
  this.provider = provider;
@@ -14,9 +17,11 @@ export class TM1 {
14
17
  return new TM1(address, new JsonRpcProvider(rpcUrl));
15
18
  }
16
19
  get c() {
17
- return new Contract(this.address, TM1Abi, this.provider);
20
+ return new Contract(this.address, TM1_ABI, this.provider);
21
+ }
22
+ async lastPrice(token) {
23
+ return await this.c.lastPrice(token);
18
24
  }
19
- async lastPrice(token) { return await this.c.lastPrice(token); }
20
25
  async purchaseToken(token, amount, maxFunds, origin, to) {
21
26
  if (origin !== undefined && to)
22
27
  return await this.c.purchaseToken(origin, token, to, amount, maxFunds, { value: maxFunds });
@@ -1,7 +1,10 @@
1
1
  import { Contract, JsonRpcProvider, Wallet } from 'ethers';
2
- import TM2Abi from '../shared/abis/TokenManager2.json' with { type: 'json' };
3
- import { ADDRESSES } from '../utils/constants.js';
2
+ import TM2Abi from '../../../abis/contracts/TokenManager2.json' with { type: 'json' };
3
+ import { ADDRESSES, ZERO_ADDRESS } from '../../../core/constants/index.js';
4
+ const TM2_ABI = TM2Abi;
4
5
  export class TM2 {
6
+ address;
7
+ provider;
5
8
  constructor(address, provider) {
6
9
  this.address = address;
7
10
  this.provider = provider;
@@ -20,9 +23,11 @@ export class TM2 {
20
23
  const address = ADDRESSES[chain].TokenManagerV2;
21
24
  const provider = new JsonRpcProvider(rpcUrl);
22
25
  const signer = new Wallet(privateKey, provider);
23
- return new Contract(address, TM2Abi, signer);
26
+ return new Contract(address, TM2_ABI, signer);
27
+ }
28
+ get c() {
29
+ return new Contract(this.address, TM2_ABI, this.provider);
24
30
  }
25
- get c() { return new Contract(this.address, TM2Abi, this.provider); }
26
31
  async buyToken(originOrToken, tokenOrTo, toOrAmount, amountOrMaxFunds, maxFunds) {
27
32
  if (typeof originOrToken === 'bigint') {
28
33
  const origin = originOrToken;
@@ -104,6 +109,6 @@ export class TM2 {
104
109
  return await this.c['sellToken(uint256,address,address,uint256,uint256,uint256,address)'](origin, token, from, amount, minFunds, feeRate, feeRecipient);
105
110
  }
106
111
  // 7参数版本,feeRate=0,feeRecipient=0地址
107
- return await this.c['sellToken(uint256,address,address,uint256,uint256,uint256,address)'](origin, token, from, amount, minFunds, 0, '0x0000000000000000000000000000000000000000');
112
+ return await this.c['sellToken(uint256,address,address,uint256,uint256,uint256,address)'](origin, token, from, amount, minFunds, 0, ZERO_ADDRESS);
108
113
  }
109
114
  }
@@ -0,0 +1,7 @@
1
+ /** four.meme domain facade */
2
+ export * from './tax-token.js';
3
+ export * from './contracts/tm.js';
4
+ export * from './contracts/tm1.js';
5
+ export * from './contracts/tm2.js';
6
+ export * from './contracts/helper3.js';
7
+ export * from './contracts/tm-bundle.js';
@@ -0,0 +1,7 @@
1
+ /** four.meme domain facade */
2
+ export * from './tax-token.js';
3
+ export * from './contracts/tm.js';
4
+ export * from './contracts/tm1.js';
5
+ export * from './contracts/tm2.js';
6
+ export * from './contracts/helper3.js';
7
+ export * from './contracts/tm-bundle.js';
@@ -1,4 +1,4 @@
1
- import TaxTokenAbi from '../abis/TaxToken.json';
1
+ import TaxTokenAbi from '../../abis/contracts/TaxToken.json';
2
2
  /** TaxToken 转账模式 */
3
3
  export declare enum TransferMode {
4
4
  /** 正常转账模式 - 允许所有转账 */
@@ -5,12 +5,13 @@
5
5
  * 基于 Four.meme 官方文档: API-Contract-TaxToken.md
6
6
  */
7
7
  import { ethers, Contract, Wallet, JsonRpcProvider } from 'ethers';
8
- import TaxTokenAbi from '../abis/TaxToken.json' with { type: 'json' };
8
+ import TaxTokenAbi from '../../abis/contracts/TaxToken.json' with { type: 'json' };
9
+ import { ADDRESSES, CHAINS } from '../../core/constants/index.js';
9
10
  // ============================================================================
10
11
  // 常量
11
12
  // ============================================================================
12
13
  /** Four.meme TokenManager2 合约地址(BSC) */
13
- const TOKEN_MANAGER_2_ADDRESS = '0x5c952063c7fc8610FFDB798152D69F0B9550762b';
14
+ const TOKEN_MANAGER_2_ADDRESS = ADDRESSES.BSC.TokenManagerOriginal;
14
15
  /** TaxToken 的 creatorType 值 */
15
16
  const TOKEN_TYPE_TAX = 5;
16
17
  /** TokenManager2 最小 ABI(用于查询 _tokenInfos 和 _tokenInfoEx1s) */
@@ -123,11 +124,28 @@ export async function getTaxTokenInfo(tokenAddress, rpcUrl) {
123
124
  const token = new Contract(tokenAddress, TAX_TOKEN_READ_ABI, provider);
124
125
  // 批量查询所有状态(利用 Promise.all 减少 RPC 调用轮次)
125
126
  const [feeRate, rateFounder, rateHolder, rateBurn, rateLiquidity, founder, quote, pair, mode, minDispatch, minShare, totalShares, feePerShare, feeAccumulated, feeDispatched, feeFounderVal, feeHolderVal, feeBurnVal, feeLiquidityVal, quoteFounderVal, quoteHolderVal, quoteClaimed,] = await Promise.all([
126
- token.feeRate(), token.rateFounder(), token.rateHolder(), token.rateBurn(), token.rateLiquidity(),
127
- token.founder(), token.quote(), token.pair(), token._mode(), token.minDispatch(), token.minShare(),
128
- token.totalShares(), token.feePerShare(), token.feeAccumulated(), token.feeDispatched(),
129
- token.feeFounder(), token.feeHolder(), token.feeBurn(), token.feeLiquidity(),
130
- token.quoteFounder(), token.quoteHolder(), token.quoteClaimed(),
127
+ token.feeRate(),
128
+ token.rateFounder(),
129
+ token.rateHolder(),
130
+ token.rateBurn(),
131
+ token.rateLiquidity(),
132
+ token.founder(),
133
+ token.quote(),
134
+ token.pair(),
135
+ token._mode(),
136
+ token.minDispatch(),
137
+ token.minShare(),
138
+ token.totalShares(),
139
+ token.feePerShare(),
140
+ token.feeAccumulated(),
141
+ token.feeDispatched(),
142
+ token.feeFounder(),
143
+ token.feeHolder(),
144
+ token.feeBurn(),
145
+ token.feeLiquidity(),
146
+ token.quoteFounder(),
147
+ token.quoteHolder(),
148
+ token.quoteClaimed(),
131
149
  ]);
132
150
  return {
133
151
  config: {
@@ -230,7 +248,7 @@ export async function buildClaimFeeTx(tokenAddress, privateKey, rpcUrl) {
230
248
  nonce,
231
249
  gasLimit: 200000n,
232
250
  gasPrice: feeData.gasPrice ?? ethers.parseUnits('3', 'gwei'),
233
- chainId: 56,
251
+ chainId: CHAINS.BSC.chainId,
234
252
  type: 0,
235
253
  });
236
254
  return signedTx;
@@ -258,7 +276,7 @@ export async function buildBatchClaimFeeTxs(tokenAddress, privateKeys, rpcUrl) {
258
276
  nonce,
259
277
  gasLimit: 200000n,
260
278
  gasPrice,
261
- chainId: 56,
279
+ chainId: CHAINS.BSC.chainId,
262
280
  type: 0,
263
281
  });
264
282
  }));
@@ -281,7 +299,10 @@ export function validateFourTokenTaxInfo(info) {
281
299
  // 四项比例之和必须为 100
282
300
  const rateSum = info.burnRate + info.divideRate + info.liquidityRate + info.recipientRate;
283
301
  if (rateSum !== 100) {
284
- return { valid: false, error: `burnRate + divideRate + liquidityRate + recipientRate 必须等于 100,当前: ${rateSum}` };
302
+ return {
303
+ valid: false,
304
+ error: `burnRate + divideRate + liquidityRate + recipientRate 必须等于 100,当前: ${rateSum}`,
305
+ };
285
306
  }
286
307
  // 每项比例 >= 0
287
308
  if (info.burnRate < 0 || info.divideRate < 0 || info.liquidityRate < 0 || info.recipientRate < 0) {
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 刷持有人 helpers — facade re-export(实现见 internal/)
3
+ */
4
+ export * from './internal/addresses.js';
5
+ export * from './internal/constants.js';
6
+ export { generateDisperseHopPaths, buildDisperseHopChainNative, buildDisperseHopChainERC20, calculateMaxWalletsPerBatch, DEFAULT_MAX_WALLETS_PER_BATCH_NATIVE, DEFAULT_MAX_WALLETS_PER_BATCH_ERC20, chunkArray, } from './internal/disperse.js';
7
+ export { buildERC20TransferTx, buildERC20ApproveTx, buildNativeTransferTx } from './internal/transfer-tx.js';
8
+ export { getBaseTokenAddress, getRouterAddress, getWrappedNativeAddress } from './internal/routing.js';
9
+ export { buildFlapBuyTx, buildFourBuyTx, buildDaoaasBuyTx, buildV2BuyTx, buildV3BuyTx, buildV2BuyTxWithERC20, buildV3BuyTxWithERC20, } from './internal/buy-tx.js';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 刷持有人 helpers — facade re-export(实现见 internal/)
3
+ */
4
+ export * from './internal/addresses.js';
5
+ export * from './internal/constants.js';
6
+ export { generateDisperseHopPaths, buildDisperseHopChainNative, buildDisperseHopChainERC20, calculateMaxWalletsPerBatch, DEFAULT_MAX_WALLETS_PER_BATCH_NATIVE, DEFAULT_MAX_WALLETS_PER_BATCH_ERC20, chunkArray, } from './internal/disperse.js';
7
+ export { buildERC20TransferTx, buildERC20ApproveTx, buildNativeTransferTx } from './internal/transfer-tx.js';
8
+ export { getBaseTokenAddress, getRouterAddress, getWrappedNativeAddress } from './internal/routing.js';
9
+ export { buildFlapBuyTx, buildFourBuyTx, buildDaoaasBuyTx, buildV2BuyTx, buildV3BuyTx, buildV2BuyTxWithERC20, buildV3BuyTxWithERC20, } from './internal/buy-tx.js';
@@ -0,0 +1,18 @@
1
+ import type { BaseTokenType, HoldersMakerParams, HoldersMakerResult } from './types.js';
2
+ export declare function holdersMaker(params: HoldersMakerParams): Promise<HoldersMakerResult>;
3
+ /**
4
+ * 获取刷持有人预估费用
5
+ */
6
+ export declare function estimateHoldersMakerCost(params: {
7
+ holdersCount: number;
8
+ buyAmountPerHolder: string;
9
+ baseToken?: BaseTokenType;
10
+ gasLimit?: number;
11
+ gasPriceGwei?: number;
12
+ }): {
13
+ totalNativeCost: string;
14
+ totalERC20Cost?: string;
15
+ gasEstimate: string;
16
+ batchCount: number;
17
+ };
18
+ export type { HoldersMakerChain, HoldersMakerTradeType, BaseTokenType, HoldersMakerConfig, HoldersMakerParams, TransactionLayer, BatchResult, HoldersMakerResult, } from './types.js';