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,12 +1,20 @@
1
1
  /**
2
2
  * Flap Tax Vaults(税收金库)
3
3
  *
4
+ * ⚠️ 重要:基于 flap.sh/launch 实际源码分析,金库模式架构如下:
5
+ *
4
6
  * 1. 金库代币通过 VaultPortal 合约创建(不是普通 Portal)
5
- * 2. 调用函数:VaultPortal.newTokenV6WithVault(params) + tokenVersion = TOKEN_TAXED_V3
6
- * 3. newTaxTokenWithVault 已在链上废弃,请勿再使用
7
- * 4. 金库配置通过 vaultFactory + vaultData 传递;extensionID/extensionData 始终为零
7
+ * 2. 调用函数:VaultPortal.newTaxTokenWithVault(params)
8
+ * 3. 参数中 extensionID/extensionData 始终为零值
9
+ * 4. 真正的金库配置通过 vaultFactory(工厂地址)和 vaultData(ABI 编码数据)传递
10
+ * 5. 每种金库类型对应一个具体的 VaultFactory 合约地址
8
11
  *
9
- * @see https://docs.flap.sh/flap/developers/token-launcher-developers/launch-token-through-vaultportal
12
+ * VaultPortal.newTaxTokenWithVault 参数结构:
13
+ * - 基础参数(与 Portal.newTokenV5 相同):name, symbol, meta, dexThresh, salt, taxRate,
14
+ * migratorType, quoteToken, quoteAmt, permitData, extensionID(全零), extensionData("0x"),
15
+ * dexId, lpFeeProfile, taxDuration, antiFarmerDuration, mktBps, deflationBps, dividendBps,
16
+ * lpBps, minimumShareBalance
17
+ * - 金库专属参数:vaultFactory(address), vaultData(bytes)
10
18
  *
11
19
  * 金库分类(来自 flap.sh 源码):
12
20
  * 官方金库 (official):
@@ -20,8 +28,6 @@
20
28
  * @module vault
21
29
  */
22
30
  import { type JsonRpcProvider } from 'ethers';
23
- import { TokenVersion } from './portal.js';
24
- import type { TaxV2Config } from './portal-bundle-merkle/types.js';
25
31
  /**
26
32
  * FieldDescriptor — 字段描述符
27
33
  * 对应 Solidity 结构体 IVaultSchemasV1.FieldDescriptor
@@ -111,18 +117,19 @@ export declare const VAULT_EXTRA_CONFIG: Record<string, Record<string, Record<st
111
117
  export declare const FLAP_GUARDIAN_ADDRESSES: {
112
118
  readonly BSC: "0x9e27098dcD8844bcc6287a557E0b4D09C86B8a4b";
113
119
  };
114
- /** VaultPortal 金库发射必须使用 TOKEN_TAXED_V3(enum = 6) */
115
- export declare const TOKEN_TAXED_V3_VERSION = TokenVersion.TOKEN_TAXED_V3;
116
120
  /**
117
- * VaultPortal ABI — newTokenV6WithVault(当前唯一支持的金库发射入口)
121
+ * VaultPortal ABI — newTaxTokenWithVault
122
+ *
123
+ * ⚠️ 从 flap.sh 前端 JS 源码提取的真实 ABI
124
+ * 来源:flap.sh/_next/static/chunks/6288-*.js(VaultPortal 合约 ABI)
118
125
  */
119
126
  export declare const VAULT_PORTAL_ABI: readonly [{
120
127
  readonly type: "function";
121
- readonly name: "newTokenV6WithVault";
128
+ readonly name: "newTaxTokenWithVault";
122
129
  readonly inputs: readonly [{
123
130
  readonly name: "params";
124
131
  readonly type: "tuple";
125
- readonly internalType: "struct IVaultPortalTypes.NewTokenV6WithVaultParams";
132
+ readonly internalType: "struct IVaultPortalTypes.NewTaxTokenWithVaultParams";
126
133
  readonly components: readonly [{
127
134
  readonly name: "name";
128
135
  readonly type: "string";
@@ -138,11 +145,15 @@ export declare const VAULT_PORTAL_ABI: readonly [{
138
145
  }, {
139
146
  readonly name: "dexThresh";
140
147
  readonly type: "uint8";
141
- readonly internalType: "enum IPortalTypes.DexThreshType";
148
+ readonly internalType: "enum IPortalCommonTypes.DexThreshType";
142
149
  }, {
143
150
  readonly name: "salt";
144
151
  readonly type: "bytes32";
145
152
  readonly internalType: "bytes32";
153
+ }, {
154
+ readonly name: "taxRate";
155
+ readonly type: "uint16";
156
+ readonly internalType: "uint16";
146
157
  }, {
147
158
  readonly name: "migratorType";
148
159
  readonly type: "uint8";
@@ -175,14 +186,6 @@ export declare const VAULT_PORTAL_ABI: readonly [{
175
186
  readonly name: "lpFeeProfile";
176
187
  readonly type: "uint8";
177
188
  readonly internalType: "enum IPortalTypes.V3LPFeeProfile";
178
- }, {
179
- readonly name: "buyTaxRate";
180
- readonly type: "uint16";
181
- readonly internalType: "uint16";
182
- }, {
183
- readonly name: "sellTaxRate";
184
- readonly type: "uint16";
185
- readonly internalType: "uint16";
186
189
  }, {
187
190
  readonly name: "taxDuration";
188
191
  readonly type: "uint64";
@@ -211,18 +214,6 @@ export declare const VAULT_PORTAL_ABI: readonly [{
211
214
  readonly name: "minimumShareBalance";
212
215
  readonly type: "uint256";
213
216
  readonly internalType: "uint256";
214
- }, {
215
- readonly name: "dividendToken";
216
- readonly type: "address";
217
- readonly internalType: "address";
218
- }, {
219
- readonly name: "commissionReceiver";
220
- readonly type: "address";
221
- readonly internalType: "address";
222
- }, {
223
- readonly name: "tokenVersion";
224
- readonly type: "uint8";
225
- readonly internalType: "enum IPortalTypes.TokenVersion";
226
217
  }, {
227
218
  readonly name: "vaultFactory";
228
219
  readonly type: "address";
@@ -351,67 +342,8 @@ export declare function getVaultFactoryAddress(chain: string, vaultType: VaultTy
351
342
  * 获取指定链的 VaultPortal 合约地址
352
343
  */
353
344
  export declare function getVaultPortalAddress(chain: string): string | null;
354
- export type BuildNewTokenV6WithVaultInput = {
355
- tokenInfo: {
356
- name: string;
357
- symbol: string;
358
- meta: string;
359
- };
360
- taxV2: TaxV2Config;
361
- chain: string;
362
- salt?: string;
363
- taxRate?: number;
364
- buyTaxRate?: number;
365
- sellTaxRate?: number;
366
- dexThresh?: number;
367
- migratorType?: number;
368
- quoteToken?: string;
369
- quoteAmt?: bigint;
370
- dexId?: number;
371
- lpFeeProfile?: number;
372
- };
373
- /**
374
- * 构建 VaultPortal.newTokenV6WithVault 参数(TOKEN_TAXED_V3)
375
- */
376
- export declare function buildNewTokenV6WithVaultParams(input: BuildNewTokenV6WithVaultInput): {
377
- name: string;
378
- symbol: string;
379
- meta: string;
380
- dexThresh: number;
381
- salt: string;
382
- migratorType: number;
383
- quoteToken: string;
384
- quoteAmt: bigint;
385
- permitData: string;
386
- extensionID: string;
387
- extensionData: string;
388
- dexId: number;
389
- lpFeeProfile: number;
390
- buyTaxRate: number;
391
- sellTaxRate: number;
392
- taxDuration: bigint;
393
- antiFarmerDuration: bigint;
394
- mktBps: number;
395
- deflationBps: number;
396
- dividendBps: number;
397
- lpBps: number;
398
- minimumShareBalance: bigint;
399
- dividendToken: string;
400
- commissionReceiver: string;
401
- tokenVersion: TokenVersion;
402
- vaultFactory: string;
403
- vaultData: string;
404
- };
405
- /** 金库发射 Vanity:TOKEN_TAXED_V3 + 后缀 7777 */
406
- export declare function getVaultLaunchVanityOptions(chain: string): {
407
- taxed: boolean;
408
- taxedV3: boolean;
409
- taxedV5: boolean;
410
- suffix: string;
411
- chain: "BSC" | "XLAYER" | "MONAD" | "BASE" | "MORPH";
412
- };
413
345
  /**
414
- * 构建金库参数(用于 VaultPortal.newTokenV6WithVault
346
+ * 构建金库参数(用于 VaultPortal.newTaxTokenWithVault
415
347
  *
416
348
  * ⚠️ 重要:返回的是 vaultFactory 和 vaultData,不是 extensionID/extensionData
417
349
  * extensionID/extensionData 在金库模式下始终为零值
@@ -429,7 +361,7 @@ export declare function buildVaultParams(config?: TaxVaultConfig, chain?: string
429
361
  * 金库参数通过 VaultPortal 的 vaultFactory/vaultData 传递
430
362
  * 此函数仅用于向后兼容
431
363
  */
432
- export declare function buildVaultExtensionParams(config?: TaxVaultConfig): {
364
+ export declare function buildVaultExtensionParams(): {
433
365
  extensionID: string;
434
366
  extensionData: string;
435
367
  };
@@ -1,12 +1,20 @@
1
1
  /**
2
2
  * Flap Tax Vaults(税收金库)
3
3
  *
4
+ * ⚠️ 重要:基于 flap.sh/launch 实际源码分析,金库模式架构如下:
5
+ *
4
6
  * 1. 金库代币通过 VaultPortal 合约创建(不是普通 Portal)
5
- * 2. 调用函数:VaultPortal.newTokenV6WithVault(params) + tokenVersion = TOKEN_TAXED_V3
6
- * 3. newTaxTokenWithVault 已在链上废弃,请勿再使用
7
- * 4. 金库配置通过 vaultFactory + vaultData 传递;extensionID/extensionData 始终为零
7
+ * 2. 调用函数:VaultPortal.newTaxTokenWithVault(params)
8
+ * 3. 参数中 extensionID/extensionData 始终为零值
9
+ * 4. 真正的金库配置通过 vaultFactory(工厂地址)和 vaultData(ABI 编码数据)传递
10
+ * 5. 每种金库类型对应一个具体的 VaultFactory 合约地址
8
11
  *
9
- * @see https://docs.flap.sh/flap/developers/token-launcher-developers/launch-token-through-vaultportal
12
+ * VaultPortal.newTaxTokenWithVault 参数结构:
13
+ * - 基础参数(与 Portal.newTokenV5 相同):name, symbol, meta, dexThresh, salt, taxRate,
14
+ * migratorType, quoteToken, quoteAmt, permitData, extensionID(全零), extensionData("0x"),
15
+ * dexId, lpFeeProfile, taxDuration, antiFarmerDuration, mktBps, deflationBps, dividendBps,
16
+ * lpBps, minimumShareBalance
17
+ * - 金库专属参数:vaultFactory(address), vaultData(bytes)
10
18
  *
11
19
  * 金库分类(来自 flap.sh 源码):
12
20
  * 官方金库 (official):
@@ -20,9 +28,33 @@
20
28
  * @module vault
21
29
  */
22
30
  import { Contract, AbiCoder, ZeroAddress } from 'ethers';
23
- import { TokenVersion } from './portal.js';
24
- import { getVanitySuffix } from './constants.js';
25
- import { normalizeTaxV2Fields, resolveDividendTokenForQuote } from './launch-v6.js';
31
+ import { getErrorMessageFromUnknown } from '../../core/index.js';
32
+ function mapFieldDescriptor(f) {
33
+ return {
34
+ name: f.name,
35
+ fieldType: f.fieldType,
36
+ description: f.description,
37
+ decimals: Number(f.decimals),
38
+ };
39
+ }
40
+ function mapApproveAction(a) {
41
+ return {
42
+ tokenType: a.tokenType,
43
+ amountFieldName: a.amountFieldName,
44
+ };
45
+ }
46
+ function mapVaultMethodSchema(m) {
47
+ return {
48
+ name: m.name,
49
+ description: m.description,
50
+ inputs: m.inputs.map(mapFieldDescriptor),
51
+ outputs: m.outputs.map(mapFieldDescriptor),
52
+ approvals: m.approvals.map(mapApproveAction),
53
+ isInputArray: m.isInputArray,
54
+ isOutputArray: m.isOutputArray,
55
+ isWriteMethod: m.isWriteMethod,
56
+ };
57
+ }
26
58
  /**
27
59
  * 金库类型显示标签
28
60
  */
@@ -100,25 +132,28 @@ export const FLAP_GUARDIAN_ADDRESSES = {
100
132
  // ============================================================================
101
133
  // ABI 定义
102
134
  // ============================================================================
103
- /** VaultPortal 金库发射必须使用 TOKEN_TAXED_V3(enum = 6) */
104
- export const TOKEN_TAXED_V3_VERSION = TokenVersion.TOKEN_TAXED_V3;
105
135
  /**
106
- * VaultPortal ABI — newTokenV6WithVault(当前唯一支持的金库发射入口)
136
+ * VaultPortal ABI — newTaxTokenWithVault
137
+ *
138
+ * ⚠️ 从 flap.sh 前端 JS 源码提取的真实 ABI
139
+ * 来源:flap.sh/_next/static/chunks/6288-*.js(VaultPortal 合约 ABI)
107
140
  */
108
141
  export const VAULT_PORTAL_ABI = [
109
142
  {
110
143
  type: 'function',
111
- name: 'newTokenV6WithVault',
112
- inputs: [{
144
+ name: 'newTaxTokenWithVault',
145
+ inputs: [
146
+ {
113
147
  name: 'params',
114
148
  type: 'tuple',
115
- internalType: 'struct IVaultPortalTypes.NewTokenV6WithVaultParams',
149
+ internalType: 'struct IVaultPortalTypes.NewTaxTokenWithVaultParams',
116
150
  components: [
117
151
  { name: 'name', type: 'string', internalType: 'string' },
118
152
  { name: 'symbol', type: 'string', internalType: 'string' },
119
153
  { name: 'meta', type: 'string', internalType: 'string' },
120
- { name: 'dexThresh', type: 'uint8', internalType: 'enum IPortalTypes.DexThreshType' },
154
+ { name: 'dexThresh', type: 'uint8', internalType: 'enum IPortalCommonTypes.DexThreshType' },
121
155
  { name: 'salt', type: 'bytes32', internalType: 'bytes32' },
156
+ { name: 'taxRate', type: 'uint16', internalType: 'uint16' },
122
157
  { name: 'migratorType', type: 'uint8', internalType: 'enum IPortalTypes.MigratorType' },
123
158
  { name: 'quoteToken', type: 'address', internalType: 'address' },
124
159
  { name: 'quoteAmt', type: 'uint256', internalType: 'uint256' },
@@ -127,8 +162,6 @@ export const VAULT_PORTAL_ABI = [
127
162
  { name: 'extensionData', type: 'bytes', internalType: 'bytes' },
128
163
  { name: 'dexId', type: 'uint8', internalType: 'enum IPortalTypes.DEXId' },
129
164
  { name: 'lpFeeProfile', type: 'uint8', internalType: 'enum IPortalTypes.V3LPFeeProfile' },
130
- { name: 'buyTaxRate', type: 'uint16', internalType: 'uint16' },
131
- { name: 'sellTaxRate', type: 'uint16', internalType: 'uint16' },
132
165
  { name: 'taxDuration', type: 'uint64', internalType: 'uint64' },
133
166
  { name: 'antiFarmerDuration', type: 'uint64', internalType: 'uint64' },
134
167
  { name: 'mktBps', type: 'uint16', internalType: 'uint16' },
@@ -136,13 +169,11 @@ export const VAULT_PORTAL_ABI = [
136
169
  { name: 'dividendBps', type: 'uint16', internalType: 'uint16' },
137
170
  { name: 'lpBps', type: 'uint16', internalType: 'uint16' },
138
171
  { name: 'minimumShareBalance', type: 'uint256', internalType: 'uint256' },
139
- { name: 'dividendToken', type: 'address', internalType: 'address' },
140
- { name: 'commissionReceiver', type: 'address', internalType: 'address' },
141
- { name: 'tokenVersion', type: 'uint8', internalType: 'enum IPortalTypes.TokenVersion' },
142
172
  { name: 'vaultFactory', type: 'address', internalType: 'address' },
143
173
  { name: 'vaultData', type: 'bytes', internalType: 'bytes' },
144
- ]
145
- }],
174
+ ],
175
+ },
176
+ ],
146
177
  outputs: [{ name: 'token', type: 'address', internalType: 'address' }],
147
178
  stateMutability: 'payable',
148
179
  },
@@ -150,7 +181,8 @@ export const VAULT_PORTAL_ABI = [
150
181
  type: 'function',
151
182
  name: 'getVault',
152
183
  inputs: [{ name: 'taxToken', type: 'address', internalType: 'address' }],
153
- outputs: [{
184
+ outputs: [
185
+ {
154
186
  name: 'info',
155
187
  type: 'tuple',
156
188
  internalType: 'struct IVaultPortalTypes.VaultInfo',
@@ -160,8 +192,9 @@ export const VAULT_PORTAL_ABI = [
160
192
  { name: 'description', type: 'string', internalType: 'string' },
161
193
  { name: 'isOfficial', type: 'bool', internalType: 'bool' },
162
194
  { name: 'riskLevel', type: 'uint8', internalType: 'enum IVaultPortalTypes.RiskLevel' },
163
- ]
164
- }],
195
+ ],
196
+ },
197
+ ],
165
198
  stateMutability: 'view',
166
199
  },
167
200
  {
@@ -188,9 +221,7 @@ export const VAULT_FACTORY_V2_ABI = [
188
221
  /**
189
222
  * VaultBase ABI(V1)
190
223
  */
191
- export const VAULT_BASE_ABI = [
192
- 'function description() public view returns (string)',
193
- ];
224
+ export const VAULT_BASE_ABI = ['function description() public view returns (string)'];
194
225
  /**
195
226
  * VaultBaseV2 ABI
196
227
  */
@@ -239,16 +270,21 @@ function mapFieldTypeToAbiType(fieldType) {
239
270
  function processFieldValue(field, rawValue) {
240
271
  if (rawValue === undefined || rawValue === null) {
241
272
  switch (field.fieldType) {
242
- case 'address': return ZeroAddress;
243
- case 'bool': return false;
244
- case 'string': return '';
273
+ case 'address':
274
+ return ZeroAddress;
275
+ case 'bool':
276
+ return false;
277
+ case 'string':
278
+ return '';
245
279
  case 'bytes':
246
- case 'bytes32': return '0x' + '00'.repeat(32);
247
- default: return 0;
280
+ case 'bytes32':
281
+ return '0x' + '00'.repeat(32);
282
+ default:
283
+ return 0;
248
284
  }
249
285
  }
250
286
  if (field.decimals > 0 && typeof rawValue === 'number') {
251
- return BigInt(Math.round(rawValue * (10 ** field.decimals)));
287
+ return BigInt(Math.round(rawValue * 10 ** field.decimals));
252
288
  }
253
289
  if (field.fieldType === 'bool') {
254
290
  return Boolean(rawValue);
@@ -273,66 +309,7 @@ export function getVaultPortalAddress(chain) {
273
309
  return VAULT_PORTAL_ADDRESSES[chainKey] || null;
274
310
  }
275
311
  /**
276
- * 构建 VaultPortal.newTokenV6WithVault 参数(TOKEN_TAXED_V3
277
- */
278
- export function buildNewTokenV6WithVaultParams(input) {
279
- const tv2 = normalizeTaxV2Fields(input.taxV2);
280
- const total = tv2.mktBps + tv2.deflationBps + tv2.dividendBps + tv2.lpBps;
281
- if (total !== 10000) {
282
- throw new Error(`Tax distribution must sum to 10000 (100%), got ${total}`);
283
- }
284
- if (tv2.mktBps <= 0) {
285
- throw new Error('Vault launch requires mktBps > 0');
286
- }
287
- const buyTaxRate = (input.buyTaxRate ?? input.taxRate ?? 0) & 0xffff;
288
- const sellTaxRate = (input.sellTaxRate ?? input.taxRate ?? 0) & 0xffff;
289
- if (buyTaxRate <= 0 || sellTaxRate <= 0) {
290
- throw new Error('Vault launch requires buyTaxRate and sellTaxRate > 0');
291
- }
292
- const { vaultFactory, vaultData } = buildVaultParams(tv2.vaultConfig, input.chain);
293
- return {
294
- name: input.tokenInfo.name,
295
- symbol: input.tokenInfo.symbol,
296
- meta: input.tokenInfo.meta,
297
- dexThresh: (input.dexThresh ?? 1) & 0xff,
298
- salt: input.salt ?? ('0x' + '00'.repeat(32)),
299
- migratorType: (input.migratorType ?? 0) & 0xff,
300
- quoteToken: input.quoteToken || ZeroAddress,
301
- quoteAmt: input.quoteAmt ?? 0n,
302
- permitData: '0x',
303
- extensionID: NONE_EXTENSION_ID,
304
- extensionData: '0x',
305
- dexId: (input.dexId ?? 0) & 0xff,
306
- lpFeeProfile: (input.lpFeeProfile ?? 0) & 0xff,
307
- buyTaxRate,
308
- sellTaxRate,
309
- taxDuration: BigInt(tv2.taxDuration),
310
- antiFarmerDuration: BigInt(tv2.antiFarmerDuration),
311
- mktBps: tv2.mktBps & 0xffff,
312
- deflationBps: tv2.deflationBps & 0xffff,
313
- dividendBps: tv2.dividendBps & 0xffff,
314
- lpBps: tv2.lpBps & 0xffff,
315
- minimumShareBalance: BigInt(tv2.minimumShareBalance ?? 10000) * (10n ** 18n),
316
- dividendToken: resolveDividendTokenForQuote(input.quoteToken),
317
- commissionReceiver: ZeroAddress,
318
- tokenVersion: TOKEN_TAXED_V3_VERSION,
319
- vaultFactory,
320
- vaultData,
321
- };
322
- }
323
- /** 金库发射 Vanity:TOKEN_TAXED_V3 + 后缀 7777 */
324
- export function getVaultLaunchVanityOptions(chain) {
325
- const c = chain.toUpperCase();
326
- return {
327
- taxed: true,
328
- taxedV3: true,
329
- taxedV5: false,
330
- suffix: getVanitySuffix(c, true),
331
- chain: c,
332
- };
333
- }
334
- /**
335
- * 构建金库参数(用于 VaultPortal.newTokenV6WithVault)
312
+ * 构建金库参数(用于 VaultPortal.newTaxTokenWithVault
336
313
  *
337
314
  * ⚠️ 重要:返回的是 vaultFactory 和 vaultData,不是 extensionID/extensionData
338
315
  * extensionID/extensionData 在金库模式下始终为零值
@@ -385,7 +362,7 @@ export function buildVaultParams(config, chain) {
385
362
  * 金库参数通过 VaultPortal 的 vaultFactory/vaultData 传递
386
363
  * 此函数仅用于向后兼容
387
364
  */
388
- export function buildVaultExtensionParams(config) {
365
+ export function buildVaultExtensionParams() {
389
366
  // 金库模式下 extensionID/extensionData 始终为零值
390
367
  return {
391
368
  extensionID: NONE_EXTENSION_ID,
@@ -401,15 +378,10 @@ export function buildVaultExtensionParams(config) {
401
378
  export async function queryVaultDataSchema(provider, factoryAddress) {
402
379
  try {
403
380
  const factory = new Contract(factoryAddress, VAULT_FACTORY_V2_ABI, provider);
404
- const raw = await factory.vaultDataSchema();
381
+ const raw = (await factory.vaultDataSchema());
405
382
  return {
406
383
  description: raw.description,
407
- fields: raw.fields.map((f) => ({
408
- name: f.name,
409
- fieldType: f.fieldType,
410
- description: f.description,
411
- decimals: Number(f.decimals),
412
- })),
384
+ fields: raw.fields.map(mapFieldDescriptor),
413
385
  isArray: raw.isArray,
414
386
  };
415
387
  }
@@ -423,33 +395,11 @@ export async function queryVaultDataSchema(provider, factoryAddress) {
423
395
  export async function queryVaultUISchema(provider, vaultAddress) {
424
396
  try {
425
397
  const vault = new Contract(vaultAddress, VAULT_BASE_V2_ABI, provider);
426
- const raw = await vault.vaultUISchema();
398
+ const raw = (await vault.vaultUISchema());
427
399
  return {
428
400
  vaultType: raw.vaultType,
429
401
  description: raw.description,
430
- methods: raw.methods.map((m) => ({
431
- name: m.name,
432
- description: m.description,
433
- inputs: m.inputs.map((f) => ({
434
- name: f.name,
435
- fieldType: f.fieldType,
436
- description: f.description,
437
- decimals: Number(f.decimals),
438
- })),
439
- outputs: m.outputs.map((f) => ({
440
- name: f.name,
441
- fieldType: f.fieldType,
442
- description: f.description,
443
- decimals: Number(f.decimals),
444
- })),
445
- approvals: m.approvals.map((a) => ({
446
- tokenType: a.tokenType,
447
- amountFieldName: a.amountFieldName,
448
- })),
449
- isInputArray: m.isInputArray,
450
- isOutputArray: m.isOutputArray,
451
- isWriteMethod: m.isWriteMethod,
452
- })),
402
+ methods: raw.methods.map(mapVaultMethodSchema),
453
403
  };
454
404
  }
455
405
  catch {
@@ -485,7 +435,7 @@ export async function validateVaultFactory(provider, factoryAddress) {
485
435
  };
486
436
  }
487
437
  catch (e) {
488
- return { isValid: false, isV2: false, schema: null, error: String(e) };
438
+ return { isValid: false, isV2: false, schema: null, error: getErrorMessageFromUnknown(e) };
489
439
  }
490
440
  }
491
441
  /**
@@ -494,7 +444,7 @@ export async function validateVaultFactory(provider, factoryAddress) {
494
444
  export async function getVaultInfo(provider, vaultPortalAddress, taxTokenAddress) {
495
445
  try {
496
446
  const portal = new Contract(vaultPortalAddress, VAULT_PORTAL_ABI, provider);
497
- const info = await portal.getVault(taxTokenAddress);
447
+ const info = (await portal.getVault(taxTokenAddress));
498
448
  return {
499
449
  vault: info.vault,
500
450
  vaultFactory: info.vaultFactory,
@@ -1,3 +1,4 @@
1
+ import type { ContractTransactionReceipt } from 'ethers';
1
2
  export type CreateTokenFlowInput = {
2
3
  rpcUrl: string;
3
4
  privateKey: string;
@@ -28,7 +29,7 @@ export type CreateTokenFlowOutput = {
28
29
  createArg: string;
29
30
  signature: string;
30
31
  };
31
- txReceipt: any;
32
+ txReceipt: ContractTransactionReceipt | null;
32
33
  tokenAddress?: string;
33
34
  };
34
35
  export declare function createTokenFlow(input: CreateTokenFlowInput): Promise<CreateTokenFlowOutput>;
@@ -1,5 +1,5 @@
1
- import { FourClient, buildLoginMessage } from '../shared/clients/four.js';
2
- import { createTokenOnChain } from '../contracts/tm.js';
1
+ import { FourClient, buildLoginMessage } from '../../core/clients/four.js';
2
+ import { createTokenOnChain } from '../four/contracts/tm.js';
3
3
  import { Wallet, parseEther } from 'ethers';
4
4
  import { readFileSync } from 'fs';
5
5
  import { basename } from 'path';
@@ -9,12 +9,12 @@ import { basename } from 'path';
9
9
  function getMimeType(filename) {
10
10
  const ext = filename.toLowerCase().split('.').pop();
11
11
  const mimeTypes = {
12
- 'jpg': 'image/jpeg',
13
- 'jpeg': 'image/jpeg',
14
- 'png': 'image/png',
15
- 'gif': 'image/gif',
16
- 'bmp': 'image/bmp',
17
- 'webp': 'image/webp',
12
+ jpg: 'image/jpeg',
13
+ jpeg: 'image/jpeg',
14
+ png: 'image/png',
15
+ gif: 'image/gif',
16
+ bmp: 'image/bmp',
17
+ webp: 'image/webp',
18
18
  };
19
19
  return mimeTypes[ext || 'png'] || 'image/png';
20
20
  }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 高层业务流程(flows)入口。
3
+ *
4
+ * flows 职责:薄编排层,组合 API 客户端(clients)、合约封装(contracts)与 ethers,
5
+ * 不承载复杂链上逻辑——新 flow 应将链特化逻辑下沉到 `shared/` 或 `chains/`。
6
+ *
7
+ * 当前仅导出 `createTokenFlow`(four.meme 发币);后续新增 flow 请在本目录新增模块并在此 re-export。
8
+ */
9
+ export { createTokenFlow, type CreateTokenFlowInput, type CreateTokenFlowOutput } from './create.js';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 高层业务流程(flows)入口。
3
+ *
4
+ * flows 职责:薄编排层,组合 API 客户端(clients)、合约封装(contracts)与 ethers,
5
+ * 不承载复杂链上逻辑——新 flow 应将链特化逻辑下沉到 `shared/` 或 `chains/`。
6
+ *
7
+ * 当前仅导出 `createTokenFlow`(four.meme 发币);后续新增 flow 请在本目录新增模块并在此 re-export。
8
+ */
9
+ export { createTokenFlow } from './create.js';
@@ -1,4 +1,19 @@
1
1
  import { JsonRpcProvider, Wallet } from 'ethers';
2
+ /** 与 Helper3 `getTokenInfo` 返回值一致(作 `calcBuyAmount` 等函数的 `ti` 入参) */
3
+ export type TokenManagerHelper3TokenInfo = {
4
+ version: bigint;
5
+ tokenManager: string;
6
+ quote: string;
7
+ lastPrice: bigint;
8
+ tradingFeeRate: bigint;
9
+ minTradingFee: bigint;
10
+ launchTime: bigint;
11
+ offers: bigint;
12
+ maxOffers: bigint;
13
+ funds: bigint;
14
+ maxFunds: bigint;
15
+ liquidityAdded: boolean;
16
+ };
2
17
  type Providerish = JsonRpcProvider;
3
18
  type Signerish = Wallet;
4
19
  export declare class Helper3 {
@@ -7,14 +22,14 @@ export declare class Helper3 {
7
22
  protected constructor(address: string, provider: Providerish);
8
23
  static connectByChain(chain: 'BSC' | 'BASE' | 'ARBITRUM_ONE', rpcUrl: string): Helper3;
9
24
  private get contract();
10
- getTokenInfo(token: string): Promise<any>;
25
+ getTokenInfo(token: string): Promise<TokenManagerHelper3TokenInfo>;
11
26
  tryBuy(token: string, amount: bigint, funds: bigint): Promise<any>;
12
27
  trySell(token: string, amount: bigint): Promise<any>;
13
28
  calcInitialPrice(maxRaising: bigint, totalSupply: bigint, offers: bigint, reserves: bigint): Promise<any>;
14
- calcBuyAmount(ti: any, funds: bigint): Promise<any>;
15
- calcBuyCost(ti: any, amount: bigint): Promise<any>;
16
- calcSellCost(ti: any, amount: bigint): Promise<any>;
17
- calcTradingFee(ti: any, funds: bigint): Promise<any>;
29
+ calcBuyAmount(ti: TokenManagerHelper3TokenInfo, funds: bigint): Promise<any>;
30
+ calcBuyCost(ti: TokenManagerHelper3TokenInfo, amount: bigint): Promise<any>;
31
+ calcSellCost(ti: TokenManagerHelper3TokenInfo, amount: bigint): Promise<any>;
32
+ calcTradingFee(ti: TokenManagerHelper3TokenInfo, funds: bigint): Promise<any>;
18
33
  getPancakePair(token: string): Promise<any>;
19
34
  WETH(): Promise<any>;
20
35
  WHITE_LIST(): Promise<any>;