four-flap-meme-sdk 2.2.0 → 2.2.2

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 (467) hide show
  1. package/README.en.md +6 -41
  2. package/README.md +0 -31
  3. package/README.zh-CN.md +6 -41
  4. package/dist/chains/bsc/four/approve-tokenmanager.d.ts +26 -1
  5. package/dist/chains/bsc/four/approve-tokenmanager.js +113 -1
  6. package/dist/chains/bsc/four/config.d.ts +67 -5
  7. package/dist/chains/bsc/four/config.js +114 -2
  8. package/dist/chains/bsc/four/core.d.ts +4 -1
  9. package/dist/chains/bsc/four/core.js +592 -1
  10. package/dist/chains/bsc/four/index.d.ts +6 -6
  11. package/dist/chains/bsc/four/index.js +6 -6
  12. package/dist/chains/bsc/four/internal.d.ts +46 -2
  13. package/dist/chains/bsc/four/internal.js +239 -2
  14. package/dist/chains/bsc/four/pancake-proxy.d.ts +28 -1
  15. package/dist/chains/bsc/four/pancake-proxy.js +687 -1
  16. package/dist/chains/bsc/four/private.d.ts +27 -1
  17. package/dist/chains/bsc/four/private.js +477 -1
  18. package/dist/chains/bsc/four/submit.d.ts +315 -2
  19. package/dist/chains/bsc/four/submit.js +752 -2
  20. package/dist/chains/bsc/four/swap-buy-first.d.ts +55 -2
  21. package/dist/chains/bsc/four/swap-buy-first.js +507 -2
  22. package/dist/chains/bsc/four/swap-internal.d.ts +3 -1
  23. package/dist/chains/bsc/four/swap-internal.js +18 -1
  24. package/dist/chains/bsc/four/swap.d.ts +144 -2
  25. package/dist/chains/bsc/four/swap.js +766 -2
  26. package/dist/chains/bsc/four/types.d.ts +476 -1
  27. package/dist/chains/bsc/four/utils.d.ts +18 -5
  28. package/dist/chains/bsc/four/utils.js +1552 -5
  29. package/dist/chains/bsc/pancake/bundle-buy-first.d.ts +91 -1
  30. package/dist/chains/bsc/pancake/bundle-buy-first.js +212 -97
  31. package/dist/chains/bsc/pancake/bundle-swap.d.ts +79 -1
  32. package/dist/chains/bsc/pancake/bundle-swap.js +726 -114
  33. package/dist/chains/bsc/pancake/index.d.ts +2 -4
  34. package/dist/chains/bsc/pancake/index.js +3 -1
  35. package/dist/chains/bsc/platforms/iro/factory.js +1 -3
  36. package/dist/chains/bsc/platforms/iro/index.d.ts +5 -5
  37. package/dist/chains/bsc/platforms/iro/index.js +3 -3
  38. package/dist/chains/bsc/platforms/iro/pool.js +10 -31
  39. package/dist/chains/bsc/platforms/iro/token.js +1 -4
  40. package/dist/chains/eni/batch-router/bundle-approve.js +3 -4
  41. package/dist/chains/eni/batch-router/transfer.js +25 -55
  42. package/dist/chains/eni/batch-router/utils.js +6 -32
  43. package/dist/chains/eni/bundler/sign.js +4 -4
  44. package/dist/chains/eni/bundler/submit.js +4 -1
  45. package/dist/chains/eni/constants.js +1 -1
  46. package/dist/chains/eni/index.d.ts +1 -2
  47. package/dist/chains/eni/index.js +0 -1
  48. package/dist/chains/eni/platforms/daoaas/create.js +2 -2
  49. package/dist/chains/eni/platforms/daoaas/index.d.ts +3 -3
  50. package/dist/chains/eni/platforms/daoaas/index.js +3 -3
  51. package/dist/chains/eni/platforms/daoaas/meta.js +4 -8
  52. package/dist/chains/eni/platforms/daoaas/portal-direct.js +44 -28
  53. package/dist/chains/eni/platforms/daoaas/portal.js +6 -10
  54. package/dist/chains/eni/platforms/dswap/liquidity.js +26 -58
  55. package/dist/chains/eni/platforms/fair-launch/index.d.ts +2 -2
  56. package/dist/chains/eni/platforms/fair-launch/index.js +1 -1
  57. package/dist/chains/eni/platforms/fair-launch/launcher.js +46 -87
  58. package/dist/chains/eni/platforms/fair-launch/pool.js +1 -4
  59. package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
  60. package/dist/chains/eni/platforms/iro/factory.js +1 -3
  61. package/dist/chains/eni/platforms/iro/index.d.ts +6 -6
  62. package/dist/chains/eni/platforms/iro/index.js +4 -4
  63. package/dist/chains/eni/platforms/iro/pool.js +26 -90
  64. package/dist/chains/eni/platforms/iro/token.js +31 -107
  65. package/dist/chains/eni/platforms/iro/whitelist.js +18 -6
  66. package/dist/chains/index.d.ts +0 -13
  67. package/dist/chains/index.js +0 -13
  68. package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +26 -2
  69. package/dist/chains/xlayer/eip7702/bundle-approve.js +21 -11
  70. package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +6 -2
  71. package/dist/chains/xlayer/eip7702/bundle-buy.js +51 -13
  72. package/dist/chains/xlayer/eip7702/bundle-create.js +59 -93
  73. package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +6 -2
  74. package/dist/chains/xlayer/eip7702/bundle-sell.js +97 -26
  75. package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +65 -3
  76. package/dist/chains/xlayer/eip7702/bundle-swap.js +245 -51
  77. package/dist/chains/xlayer/eip7702/constants.d.ts +16 -1
  78. package/dist/chains/xlayer/eip7702/constants.js +21 -3
  79. package/dist/chains/xlayer/eip7702/index.d.ts +46 -28
  80. package/dist/chains/xlayer/eip7702/index.js +81 -28
  81. package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +203 -2
  82. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +301 -58
  83. package/dist/chains/xlayer/eip7702/types.d.ts +0 -88
  84. package/dist/chains/xlayer/eip7702/utils.d.ts +3 -0
  85. package/dist/chains/xlayer/eip7702/utils.js +28 -23
  86. package/dist/chains/xlayer/eip7702/volume.d.ts +184 -6
  87. package/dist/chains/xlayer/eip7702/volume.js +158 -83
  88. package/dist/chains/xlayer/eoa/constants.js +1 -1
  89. package/dist/chains/xlayer/eoa/dex-helpers.js +5 -5
  90. package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +95 -1
  91. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +299 -66
  92. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
  93. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +23 -18
  94. package/dist/chains/xlayer/eoa/index.d.ts +6 -10
  95. package/dist/chains/xlayer/eoa/index.js +23 -8
  96. package/dist/chains/xlayer/eoa/portal-ops.js +2 -7
  97. package/dist/chains/xlayer/eoa/router-manager.js +3 -3
  98. package/dist/chains/xlayer/eoa/types.d.ts +2 -2
  99. package/dist/chains/xlayer/eoa/types.js +3 -1
  100. package/dist/chains/xlayer/index.d.ts +2 -3
  101. package/dist/chains/xlayer/index.js +7 -4
  102. package/dist/contracts/helper3.d.ts +5 -20
  103. package/dist/contracts/helper3.js +20 -56
  104. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +26 -1
  105. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +113 -1
  106. package/dist/contracts/tm-bundle-merkle/config.d.ts +67 -5
  107. package/dist/contracts/tm-bundle-merkle/config.js +114 -2
  108. package/dist/contracts/tm-bundle-merkle/core.d.ts +4 -1
  109. package/dist/contracts/tm-bundle-merkle/core.js +591 -1
  110. package/dist/contracts/tm-bundle-merkle/index.d.ts +5 -5
  111. package/dist/contracts/tm-bundle-merkle/index.js +5 -5
  112. package/dist/contracts/tm-bundle-merkle/internal.d.ts +46 -2
  113. package/dist/contracts/tm-bundle-merkle/internal.js +238 -2
  114. package/dist/contracts/tm-bundle-merkle/pancake-proxy.d.ts +28 -1
  115. package/dist/contracts/tm-bundle-merkle/pancake-proxy.js +686 -1
  116. package/dist/contracts/tm-bundle-merkle/private.d.ts +27 -1
  117. package/dist/contracts/tm-bundle-merkle/private.js +476 -1
  118. package/dist/contracts/tm-bundle-merkle/submit.d.ts +314 -3
  119. package/dist/contracts/tm-bundle-merkle/submit.js +928 -3
  120. package/dist/contracts/tm-bundle-merkle/swap-buy-first.d.ts +55 -2
  121. package/dist/contracts/tm-bundle-merkle/swap-buy-first.js +506 -2
  122. package/dist/contracts/tm-bundle-merkle/swap-internal.d.ts +3 -1
  123. package/dist/contracts/tm-bundle-merkle/swap-internal.js +18 -1
  124. package/dist/contracts/tm-bundle-merkle/swap.d.ts +144 -2
  125. package/dist/contracts/tm-bundle-merkle/swap.js +764 -2
  126. package/dist/contracts/tm-bundle-merkle/types.d.ts +476 -1
  127. package/dist/contracts/tm-bundle-merkle/utils.d.ts +18 -6
  128. package/dist/contracts/tm-bundle-merkle/utils.js +1501 -6
  129. package/dist/contracts/tm-bundle.d.ts +51 -3
  130. package/dist/contracts/tm-bundle.js +177 -108
  131. package/dist/contracts/tm.d.ts +2 -3
  132. package/dist/contracts/tm.js +32 -37
  133. package/dist/contracts/tm1.js +4 -9
  134. package/dist/contracts/tm2.js +4 -9
  135. package/dist/dex/direct-router.d.ts +125 -3
  136. package/dist/dex/direct-router.js +666 -237
  137. package/dist/flows/create.d.ts +1 -2
  138. package/dist/flows/create.js +6 -6
  139. package/dist/index.d.ts +85 -20
  140. package/dist/index.js +215 -20
  141. package/dist/shared/abis/TaxToken.json +105 -0
  142. package/dist/shared/abis/TokenManager2.json +60 -0
  143. package/dist/shared/abis/common.d.ts +83 -2
  144. package/dist/shared/abis/common.js +252 -2
  145. package/dist/shared/abis/index.d.ts +6 -5
  146. package/dist/shared/abis/index.js +7 -5
  147. package/dist/shared/clients/blockrazor.js +25 -39
  148. package/dist/shared/clients/club48.d.ts +2 -2
  149. package/dist/shared/clients/club48.js +29 -34
  150. package/dist/shared/clients/emitservice.js +0 -2
  151. package/dist/shared/clients/four.d.ts +5 -5
  152. package/dist/shared/clients/four.js +17 -21
  153. package/dist/shared/clients/merkle.js +34 -27
  154. package/dist/shared/constants/addresses.d.ts +1 -1
  155. package/dist/shared/constants/addresses.js +2 -11
  156. package/dist/shared/constants/chains.d.ts +1 -1
  157. package/dist/shared/constants/chains.js +1 -1
  158. package/dist/shared/constants/gas.d.ts +1 -1
  159. package/dist/shared/constants/gas.js +6 -2
  160. package/dist/shared/constants/index.d.ts +0 -3
  161. package/dist/shared/constants/index.js +0 -1
  162. package/dist/shared/flap/abi.js +1 -1
  163. package/dist/shared/flap/constants.d.ts +2 -1
  164. package/dist/shared/flap/constants.js +3 -2
  165. package/dist/shared/flap/curve.js +0 -3
  166. package/dist/shared/flap/errors.d.ts +4 -1
  167. package/dist/shared/flap/errors.js +1 -20
  168. package/dist/shared/flap/index.d.ts +3 -3
  169. package/dist/shared/flap/index.js +3 -3
  170. package/dist/shared/flap/meta.d.ts +18 -16
  171. package/dist/shared/flap/meta.js +17 -12
  172. package/dist/shared/flap/permit.js +2 -5
  173. package/dist/shared/flap/pinata.d.ts +4 -11
  174. package/dist/shared/flap/pinata.js +16 -21
  175. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +72 -3
  176. package/dist/shared/flap/portal-bundle-merkle/config.js +124 -4
  177. package/dist/shared/flap/portal-bundle-merkle/core.d.ts +4 -0
  178. package/dist/shared/flap/portal-bundle-merkle/core.js +172 -92
  179. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +99 -106
  180. package/dist/shared/flap/portal-bundle-merkle/curve-to-dex.js +92 -100
  181. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +7 -11
  182. package/dist/shared/flap/portal-bundle-merkle/index.js +7 -4
  183. package/dist/shared/flap/portal-bundle-merkle/pancake-proxy.js +68 -71
  184. package/dist/shared/flap/portal-bundle-merkle/private.js +114 -61
  185. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +64 -1
  186. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.js +247 -66
  187. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +71 -2
  188. package/dist/shared/flap/portal-bundle-merkle/swap.js +410 -103
  189. package/dist/shared/flap/portal-bundle-merkle/types.d.ts +7 -73
  190. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +80 -1
  191. package/dist/shared/flap/portal-bundle-merkle/utils.js +265 -145
  192. package/dist/shared/flap/portal-bundle.js +56 -55
  193. package/dist/shared/flap/portal.d.ts +3 -1
  194. package/dist/shared/flap/portal.js +25 -32
  195. package/dist/shared/flap/vanity.d.ts +5 -1
  196. package/dist/shared/flap/vanity.js +17 -6
  197. package/dist/shared/flap/vault.d.ts +124 -17
  198. package/dist/shared/flap/vault.js +148 -67
  199. package/dist/shared/four/tax-token.d.ts +1 -1
  200. package/dist/shared/four/tax-token.js +7 -27
  201. package/dist/shared/index.d.ts +0 -6
  202. package/dist/shared/index.js +0 -4
  203. package/dist/utils/airdrop-sweep.d.ts +76 -4
  204. package/dist/utils/airdrop-sweep.js +54 -40
  205. package/dist/utils/bundle-helpers.d.ts +243 -9
  206. package/dist/utils/bundle-helpers.js +584 -10
  207. package/dist/utils/constants.d.ts +61 -5
  208. package/dist/utils/constants.js +80 -5
  209. package/dist/utils/contract-factory.d.ts +4 -2
  210. package/dist/utils/contract-factory.js +18 -25
  211. package/dist/utils/erc20.d.ts +89 -7
  212. package/dist/utils/erc20.js +125 -94
  213. package/dist/utils/errors.d.ts +1 -12
  214. package/dist/utils/errors.js +1 -60
  215. package/dist/utils/holders-maker.d.ts +138 -2
  216. package/dist/utils/holders-maker.js +661 -26
  217. package/dist/utils/lp-inspect.d.ts +112 -2
  218. package/dist/utils/lp-inspect.js +223 -73
  219. package/dist/utils/mpcExclusive.d.ts +5 -2
  220. package/dist/utils/mpcExclusive.js +3 -4
  221. package/dist/utils/private-sale.d.ts +58 -2
  222. package/dist/utils/private-sale.js +15 -4
  223. package/dist/utils/provider-factory.d.ts +0 -4
  224. package/dist/utils/provider-factory.js +0 -10
  225. package/dist/utils/quote-helpers.d.ts +45 -4
  226. package/dist/utils/quote-helpers.js +74 -17
  227. package/dist/utils/stealth-transfer.d.ts +28 -2
  228. package/dist/utils/stealth-transfer.js +15 -31
  229. package/dist/utils/swap-helpers.d.ts +15 -2
  230. package/dist/utils/swap-helpers.js +10 -5
  231. package/dist/utils/wallet.d.ts +25 -2
  232. package/dist/utils/wallet.js +8 -9
  233. package/package.json +4 -159
  234. package/dist/__tests__/subpath-exports.test.d.ts +0 -1
  235. package/dist/__tests__/subpath-exports.test.js +0 -64
  236. package/dist/abis/common.d.ts +0 -85
  237. package/dist/abis/common.js +0 -260
  238. package/dist/abis/contracts/TaxToken.json +0 -969
  239. package/dist/abis/contracts/TokenManager2.json +0 -136
  240. package/dist/abis/contracts/index.d.ts +0 -5
  241. package/dist/abis/contracts/index.js +0 -5
  242. package/dist/abis/flap/index.d.ts +0 -3
  243. package/dist/abis/flap/index.js +0 -3
  244. package/dist/abis/flap/portal-events.d.ts +0 -6
  245. package/dist/abis/flap/portal-events.js +0 -17
  246. package/dist/abis/flap/portal.d.ts +0 -6
  247. package/dist/abis/flap/portal.js +0 -37
  248. package/dist/abis/flap/vault.d.ts +0 -171
  249. package/dist/abis/flap/vault.js +0 -91
  250. package/dist/abis/index.d.ts +0 -8
  251. package/dist/abis/index.js +0 -11
  252. package/dist/bundle-core/__tests__/config-helpers.test.d.ts +0 -1
  253. package/dist/bundle-core/__tests__/config-helpers.test.js +0 -28
  254. package/dist/bundle-core/__tests__/facade-parity.test.d.ts +0 -1
  255. package/dist/bundle-core/__tests__/facade-parity.test.js +0 -33
  256. package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +0 -1
  257. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +0 -60
  258. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +0 -1
  259. package/dist/bundle-core/__tests__/sign-fixture.test.js +0 -220
  260. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +0 -10
  261. package/dist/bundle-core/__tests__/sign-fixtures.js +0 -16
  262. package/dist/bundle-core/config-helpers.d.ts +0 -36
  263. package/dist/bundle-core/config-helpers.js +0 -57
  264. package/dist/bundle-core/errors.d.ts +0 -50
  265. package/dist/bundle-core/errors.js +0 -34
  266. package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +0 -7
  267. package/dist/bundle-core/four-meme/approve-tokenmanager.js +0 -99
  268. package/dist/bundle-core/four-meme/core-helpers.d.ts +0 -8
  269. package/dist/bundle-core/four-meme/core-helpers.js +0 -40
  270. package/dist/bundle-core/four-meme/core.d.ts +0 -4
  271. package/dist/bundle-core/four-meme/core.js +0 -515
  272. package/dist/bundle-core/four-meme/pancake-proxy.d.ts +0 -28
  273. package/dist/bundle-core/four-meme/pancake-proxy.js +0 -679
  274. package/dist/bundle-core/four-meme/private.d.ts +0 -27
  275. package/dist/bundle-core/four-meme/private.js +0 -465
  276. package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +0 -2
  277. package/dist/bundle-core/four-meme/sign-context-helpers.js +0 -2
  278. package/dist/bundle-core/four-meme/swap-buy-first.d.ts +0 -8
  279. package/dist/bundle-core/four-meme/swap-buy-first.js +0 -493
  280. package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +0 -6
  281. package/dist/bundle-core/four-meme/swap-hop-helpers.js +0 -63
  282. package/dist/bundle-core/four-meme/swap-internal.d.ts +0 -3
  283. package/dist/bundle-core/four-meme/swap-internal.js +0 -18
  284. package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +0 -27
  285. package/dist/bundle-core/four-meme/swap-sign-helpers.js +0 -105
  286. package/dist/bundle-core/four-meme/swap.d.ts +0 -17
  287. package/dist/bundle-core/four-meme/swap.js +0 -505
  288. package/dist/bundle-core/four-meme/types/buy-first.d.ts +0 -50
  289. package/dist/bundle-core/four-meme/types/buy-first.js +0 -1
  290. package/dist/bundle-core/four-meme/types/core-flow.d.ts +0 -63
  291. package/dist/bundle-core/four-meme/types/core-flow.js +0 -1
  292. package/dist/bundle-core/four-meme/types/index.d.ts +0 -600
  293. package/dist/bundle-core/four-meme/types/index.js +0 -1
  294. package/dist/bundle-core/four-meme/types/swap-internal.d.ts +0 -19
  295. package/dist/bundle-core/four-meme/types/swap-internal.js +0 -1
  296. package/dist/bundle-core/four-meme/types.d.ts +0 -1
  297. package/dist/bundle-core/four-meme/types.js +0 -1
  298. package/dist/bundle-core/four-meme/utils-disperse.d.ts +0 -7
  299. package/dist/bundle-core/four-meme/utils-disperse.js +0 -396
  300. package/dist/bundle-core/four-meme/utils-pairwise.d.ts +0 -8
  301. package/dist/bundle-core/four-meme/utils-pairwise.js +0 -328
  302. package/dist/bundle-core/four-meme/utils-sweep.d.ts +0 -8
  303. package/dist/bundle-core/four-meme/utils-sweep.js +0 -744
  304. package/dist/bundle-core/index.d.ts +0 -8
  305. package/dist/bundle-core/index.js +0 -8
  306. package/dist/bundle-core/internal.d.ts +0 -21
  307. package/dist/bundle-core/internal.js +0 -182
  308. package/dist/bundle-core/sign-context-helpers.d.ts +0 -25
  309. package/dist/bundle-core/sign-context-helpers.js +0 -67
  310. package/dist/bundle-core/submit.d.ts +0 -293
  311. package/dist/bundle-core/submit.js +0 -727
  312. package/dist/bundle-core/types/index.d.ts +0 -8
  313. package/dist/bundle-core/types/index.js +0 -1
  314. package/dist/bundle-core/types.d.ts +0 -1
  315. package/dist/bundle-core/types.js +0 -1
  316. package/dist/chains/bsc/four/utils-disperse.d.ts +0 -1
  317. package/dist/chains/bsc/four/utils-disperse.js +0 -1
  318. package/dist/chains/bsc/four/utils-pairwise.d.ts +0 -1
  319. package/dist/chains/bsc/four/utils-pairwise.js +0 -1
  320. package/dist/chains/bsc/four/utils-sweep.d.ts +0 -1
  321. package/dist/chains/bsc/four/utils-sweep.js +0 -1
  322. package/dist/chains/bsc/iro.d.ts +0 -5
  323. package/dist/chains/bsc/iro.js +0 -4
  324. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +0 -159
  325. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +0 -117
  326. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +0 -241
  327. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +0 -565
  328. package/dist/chains/eni/flat-aliases.d.ts +0 -10
  329. package/dist/chains/eni/flat-aliases.js +0 -8
  330. package/dist/chains/eni/submit.d.ts +0 -43
  331. package/dist/chains/eni/submit.js +0 -286
  332. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +0 -13
  333. package/dist/chains/xlayer/eip7702/flat-aliases.js +0 -10
  334. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +0 -79
  335. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +0 -1
  336. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +0 -26
  337. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +0 -57
  338. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +0 -148
  339. package/dist/chains/xlayer/eip7702/volume-helpers.js +0 -48
  340. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +0 -126
  341. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +0 -228
  342. package/dist/contracts/tm-bundle-helpers.d.ts +0 -88
  343. package/dist/contracts/tm-bundle-helpers.js +0 -72
  344. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +0 -1
  345. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +0 -1
  346. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +0 -1
  347. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +0 -1
  348. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +0 -1
  349. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +0 -1
  350. package/dist/dex/direct-router-helpers.d.ts +0 -264
  351. package/dist/dex/direct-router-helpers.js +0 -539
  352. package/dist/dex/types.d.ts +0 -81
  353. package/dist/dex/types.js +0 -1
  354. package/dist/exports/root-bundle-and-tooling.d.ts +0 -27
  355. package/dist/exports/root-bundle-and-tooling.js +0 -30
  356. package/dist/exports/root-eni-and-bsc-iro.d.ts +0 -26
  357. package/dist/exports/root-eni-and-bsc-iro.js +0 -66
  358. package/dist/exports/root-foundations.d.ts +0 -35
  359. package/dist/exports/root-foundations.js +0 -70
  360. package/dist/exports/root-swap-dex-and-xlayer.d.ts +0 -30
  361. package/dist/exports/root-swap-dex-and-xlayer.js +0 -78
  362. package/dist/flap/index.d.ts +0 -10
  363. package/dist/flap/index.js +0 -8
  364. package/dist/flows/index.d.ts +0 -1
  365. package/dist/flows/index.js +0 -1
  366. package/dist/merkle/index.d.ts +0 -12
  367. package/dist/merkle/index.js +0 -11
  368. package/dist/shared/clients/index.d.ts +0 -8
  369. package/dist/shared/clients/index.js +0 -8
  370. package/dist/shared/constants/quote.d.ts +0 -30
  371. package/dist/shared/constants/quote.js +0 -37
  372. package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +0 -32
  373. package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +0 -83
  374. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +0 -125
  375. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +0 -113
  376. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +0 -149
  377. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +0 -259
  378. package/dist/shared/foundation/dex/v3-path.d.ts +0 -6
  379. package/dist/shared/foundation/dex/v3-path.js +0 -35
  380. package/dist/shared/foundation/gas/bundle-gas.d.ts +0 -39
  381. package/dist/shared/foundation/gas/bundle-gas.js +0 -93
  382. package/dist/shared/foundation/gas/profit-hop.d.ts +0 -20
  383. package/dist/shared/foundation/gas/profit-hop.js +0 -72
  384. package/dist/shared/foundation/index.d.ts +0 -13
  385. package/dist/shared/foundation/index.js +0 -12
  386. package/dist/shared/foundation/nonce/nonce-manager.d.ts +0 -17
  387. package/dist/shared/foundation/nonce/nonce-manager.js +0 -180
  388. package/dist/shared/foundation/normalize-unknown.d.ts +0 -9
  389. package/dist/shared/foundation/normalize-unknown.js +0 -29
  390. package/dist/shared/foundation/sdk-logger.d.ts +0 -13
  391. package/dist/shared/foundation/sdk-logger.js +0 -12
  392. package/dist/shared/foundation/tx/build-request.d.ts +0 -17
  393. package/dist/shared/foundation/tx/build-request.js +0 -25
  394. package/dist/shared/foundation/tx/sign-batch.d.ts +0 -5
  395. package/dist/shared/foundation/tx/sign-batch.js +0 -26
  396. package/dist/shared/foundation/tx/wallet-sign-patch.d.ts +0 -1
  397. package/dist/shared/foundation/tx/wallet-sign-patch.js +0 -18
  398. package/dist/shared/foundation/types/airdrop-sweep.d.ts +0 -79
  399. package/dist/shared/foundation/types/airdrop-sweep.js +0 -1
  400. package/dist/shared/foundation/types/erc20.d.ts +0 -65
  401. package/dist/shared/foundation/types/erc20.js +0 -1
  402. package/dist/shared/foundation/types/holders-maker.d.ts +0 -64
  403. package/dist/shared/foundation/types/holders-maker.js +0 -1
  404. package/dist/shared/foundation/types/index.d.ts +0 -7
  405. package/dist/shared/foundation/types/index.js +0 -1
  406. package/dist/shared/foundation/types/lp-inspect.d.ts +0 -102
  407. package/dist/shared/foundation/types/lp-inspect.js +0 -1
  408. package/dist/shared/foundation/types/multicall.d.ts +0 -5
  409. package/dist/shared/foundation/types/multicall.js +0 -1
  410. package/dist/shared/foundation/types/private-sale.d.ts +0 -35
  411. package/dist/shared/foundation/types/private-sale.js +0 -1
  412. package/dist/shared/foundation/types/quote-helpers.d.ts +0 -17
  413. package/dist/shared/foundation/types/quote-helpers.js +0 -1
  414. package/dist/types/errors.d.ts +0 -27
  415. package/dist/types/errors.js +0 -34
  416. package/dist/utils/holders-maker/addresses.d.ts +0 -12
  417. package/dist/utils/holders-maker/addresses.js +0 -15
  418. package/dist/utils/holders-maker/buy-tx.d.ts +0 -44
  419. package/dist/utils/holders-maker/buy-tx.js +0 -278
  420. package/dist/utils/holders-maker/constants.d.ts +0 -6
  421. package/dist/utils/holders-maker/constants.js +0 -7
  422. package/dist/utils/holders-maker/disperse.d.ts +0 -18
  423. package/dist/utils/holders-maker/disperse.js +0 -90
  424. package/dist/utils/holders-maker/routing.d.ts +0 -4
  425. package/dist/utils/holders-maker/routing.js +0 -45
  426. package/dist/utils/holders-maker/transfer-tx.d.ts +0 -4
  427. package/dist/utils/holders-maker/transfer-tx.js +0 -67
  428. package/dist/utils/holders-maker-helpers.d.ts +0 -9
  429. package/dist/utils/holders-maker-helpers.js +0 -9
  430. package/dist/utils/hop-chains.d.ts +0 -35
  431. package/dist/utils/hop-chains.js +0 -215
  432. package/dist/utils/lp-inspect-helpers.d.ts +0 -9
  433. package/dist/utils/lp-inspect-helpers.js +0 -109
  434. package/dist/utils/types/airdrop-sweep.d.ts +0 -1
  435. package/dist/utils/types/airdrop-sweep.js +0 -1
  436. package/dist/utils/types/contract-factory.d.ts +0 -1
  437. package/dist/utils/types/contract-factory.js +0 -1
  438. package/dist/utils/types/erc20.d.ts +0 -1
  439. package/dist/utils/types/erc20.js +0 -1
  440. package/dist/utils/types/errors.d.ts +0 -1
  441. package/dist/utils/types/errors.js +0 -1
  442. package/dist/utils/types/holders-maker.d.ts +0 -1
  443. package/dist/utils/types/holders-maker.js +0 -1
  444. package/dist/utils/types/hop-chains.d.ts +0 -8
  445. package/dist/utils/types/hop-chains.js +0 -1
  446. package/dist/utils/types/index.d.ts +0 -13
  447. package/dist/utils/types/index.js +0 -1
  448. package/dist/utils/types/lp-inspect.d.ts +0 -1
  449. package/dist/utils/types/lp-inspect.js +0 -1
  450. package/dist/utils/types/mpc-exclusive.d.ts +0 -5
  451. package/dist/utils/types/mpc-exclusive.js +0 -1
  452. package/dist/utils/types/private-sale.d.ts +0 -1
  453. package/dist/utils/types/private-sale.js +0 -1
  454. package/dist/utils/types/quote-helpers.d.ts +0 -1
  455. package/dist/utils/types/quote-helpers.js +0 -1
  456. package/dist/utils/types/stealth-transfer.d.ts +0 -44
  457. package/dist/utils/types/stealth-transfer.js +0 -1
  458. package/dist/utils/types/wallet.d.ts +0 -25
  459. package/dist/utils/types/wallet.js +0 -1
  460. package/dist/vanity/index.d.ts +0 -5
  461. package/dist/vanity/index.js +0 -5
  462. package/src/abis/contracts/TaxToken.json +0 -969
  463. package/src/abis/contracts/TokenManager.json +0 -836
  464. package/src/abis/contracts/TokenManager2.json +0 -136
  465. package/src/abis/contracts/TokenManagerHelper3.json +0 -993
  466. /package/dist/{abis/contracts → shared/abis}/TokenManager.json +0 -0
  467. /package/dist/{abis/contracts → shared/abis}/TokenManagerHelper3.json +0 -0
@@ -4,16 +4,19 @@
4
4
  * ⚠️ 重要:基于 flap.sh/launch 实际源码分析,金库模式架构如下:
5
5
  *
6
6
  * 1. 金库代币通过 VaultPortal 合约创建(不是普通 Portal)
7
- * 2. 调用函数:VaultPortal.newTaxTokenWithVault(params)
7
+ * 2. 调用函数:VaultPortal.newTokenV6WithVault(params) + tokenVersion = TOKEN_TAXED_V3
8
8
  * 3. 参数中 extensionID/extensionData 始终为零值
9
9
  * 4. 真正的金库配置通过 vaultFactory(工厂地址)和 vaultData(ABI 编码数据)传递
10
10
  * 5. 每种金库类型对应一个具体的 VaultFactory 合约地址
11
11
  *
12
- * VaultPortal.newTaxTokenWithVault 参数结构:
13
- * - 基础参数(与 Portal.newTokenV5 相同):name, symbol, meta, dexThresh, salt, taxRate,
12
+ * ⚠️ newTaxTokenWithVault 已在链上废弃并始终 revert,请勿再使用。
13
+ *
14
+ * VaultPortal.newTokenV6WithVault 参数结构:
15
+ * - 基础参数(与 Portal.newTokenV6 相同,无 beneficiary):name, symbol, meta, dexThresh, salt,
14
16
  * migratorType, quoteToken, quoteAmt, permitData, extensionID(全零), extensionData("0x"),
15
- * dexId, lpFeeProfile, taxDuration, antiFarmerDuration, mktBps, deflationBps, dividendBps,
16
- * lpBps, minimumShareBalance
17
+ * dexId, lpFeeProfile, buyTaxRate, sellTaxRate, taxDuration, antiFarmerDuration,
18
+ * mktBps, deflationBps, dividendBps, lpBps, minimumShareBalance, dividendToken,
19
+ * commissionReceiver, tokenVersion(=TOKEN_TAXED_V3)
17
20
  * - 金库专属参数:vaultFactory(address), vaultData(bytes)
18
21
  *
19
22
  * 金库分类(来自 flap.sh 源码):
@@ -28,6 +31,7 @@
28
31
  * @module vault
29
32
  */
30
33
  import { type JsonRpcProvider } from 'ethers';
34
+ import { TokenVersion } from './portal.js';
31
35
  /**
32
36
  * FieldDescriptor — 字段描述符
33
37
  * 对应 Solidity 结构体 IVaultSchemasV1.FieldDescriptor
@@ -117,19 +121,21 @@ export declare const VAULT_EXTRA_CONFIG: Record<string, Record<string, Record<st
117
121
  export declare const FLAP_GUARDIAN_ADDRESSES: {
118
122
  readonly BSC: "0x9e27098dcD8844bcc6287a557E0b4D09C86B8a4b";
119
123
  };
124
+ /** VaultPortal 金库发射必须使用 TOKEN_TAXED_V3(enum = 6) */
125
+ export declare const TOKEN_TAXED_V3_VERSION = TokenVersion.TOKEN_TAXED_V3;
120
126
  /**
121
- * VaultPortal ABI — newTaxTokenWithVault
127
+ * VaultPortal ABI — newTokenV6WithVault(当前唯一支持的金库发射入口)
122
128
  *
123
- * ⚠️ flap.sh 前端 JS 源码提取的真实 ABI
124
- * 来源:flap.sh/_next/static/chunks/6288-*.js(VaultPortal 合约 ABI)
129
+ * 来源:Flap 官方 VaultPortal 文档
130
+ * https://docs.flap.sh/flap/developers/token-launcher-developers/launch-token-through-vaultportal
125
131
  */
126
132
  export declare const VAULT_PORTAL_ABI: readonly [{
127
133
  readonly type: "function";
128
- readonly name: "newTaxTokenWithVault";
134
+ readonly name: "newTokenV6WithVault";
129
135
  readonly inputs: readonly [{
130
136
  readonly name: "params";
131
137
  readonly type: "tuple";
132
- readonly internalType: "struct IVaultPortalTypes.NewTaxTokenWithVaultParams";
138
+ readonly internalType: "struct IVaultPortalTypes.NewTokenV6WithVaultParams";
133
139
  readonly components: readonly [{
134
140
  readonly name: "name";
135
141
  readonly type: "string";
@@ -145,15 +151,11 @@ export declare const VAULT_PORTAL_ABI: readonly [{
145
151
  }, {
146
152
  readonly name: "dexThresh";
147
153
  readonly type: "uint8";
148
- readonly internalType: "enum IPortalCommonTypes.DexThreshType";
154
+ readonly internalType: "enum IPortalTypes.DexThreshType";
149
155
  }, {
150
156
  readonly name: "salt";
151
157
  readonly type: "bytes32";
152
158
  readonly internalType: "bytes32";
153
- }, {
154
- readonly name: "taxRate";
155
- readonly type: "uint16";
156
- readonly internalType: "uint16";
157
159
  }, {
158
160
  readonly name: "migratorType";
159
161
  readonly type: "uint8";
@@ -186,6 +188,14 @@ export declare const VAULT_PORTAL_ABI: readonly [{
186
188
  readonly name: "lpFeeProfile";
187
189
  readonly type: "uint8";
188
190
  readonly internalType: "enum IPortalTypes.V3LPFeeProfile";
191
+ }, {
192
+ readonly name: "buyTaxRate";
193
+ readonly type: "uint16";
194
+ readonly internalType: "uint16";
195
+ }, {
196
+ readonly name: "sellTaxRate";
197
+ readonly type: "uint16";
198
+ readonly internalType: "uint16";
189
199
  }, {
190
200
  readonly name: "taxDuration";
191
201
  readonly type: "uint64";
@@ -214,6 +224,18 @@ export declare const VAULT_PORTAL_ABI: readonly [{
214
224
  readonly name: "minimumShareBalance";
215
225
  readonly type: "uint256";
216
226
  readonly internalType: "uint256";
227
+ }, {
228
+ readonly name: "dividendToken";
229
+ readonly type: "address";
230
+ readonly internalType: "address";
231
+ }, {
232
+ readonly name: "commissionReceiver";
233
+ readonly type: "address";
234
+ readonly internalType: "address";
235
+ }, {
236
+ readonly name: "tokenVersion";
237
+ readonly type: "uint8";
238
+ readonly internalType: "enum IPortalTypes.TokenVersion";
217
239
  }, {
218
240
  readonly name: "vaultFactory";
219
241
  readonly type: "address";
@@ -343,7 +365,7 @@ export declare function getVaultFactoryAddress(chain: string, vaultType: VaultTy
343
365
  */
344
366
  export declare function getVaultPortalAddress(chain: string): string | null;
345
367
  /**
346
- * 构建金库参数(用于 VaultPortal.newTaxTokenWithVault
368
+ * 构建金库参数(用于 VaultPortal.newTokenV6WithVault
347
369
  *
348
370
  * ⚠️ 重要:返回的是 vaultFactory 和 vaultData,不是 extensionID/extensionData
349
371
  * extensionID/extensionData 在金库模式下始终为零值
@@ -354,6 +376,91 @@ export declare function buildVaultParams(config?: TaxVaultConfig, chain?: string
354
376
  vaultFactory: string;
355
377
  vaultData: string;
356
378
  };
379
+ /** 税收分配字段(支持嵌套 distribution 或扁平结构) */
380
+ export type TaxV2DistributionFields = {
381
+ taxDuration: number;
382
+ antiFarmerDuration: number;
383
+ mktBps: number;
384
+ deflationBps: number;
385
+ dividendBps: number;
386
+ lpBps: number;
387
+ minimumShareBalance?: number;
388
+ vaultConfig?: TaxVaultConfig;
389
+ };
390
+ /** 构建 newTokenV6WithVault 的通用输入 */
391
+ export type BuildNewTokenV6WithVaultParamsInput = {
392
+ tokenInfo: {
393
+ name: string;
394
+ symbol: string;
395
+ meta: string;
396
+ };
397
+ taxV2: TaxV2DistributionFields | {
398
+ taxDuration: number;
399
+ antiFarmerDuration: number;
400
+ distribution: {
401
+ mktBps: number;
402
+ deflationBps: number;
403
+ dividendBps: number;
404
+ lpBps: number;
405
+ minimumShareBalance?: number;
406
+ };
407
+ vaultConfig?: TaxVaultConfig;
408
+ };
409
+ chain: string;
410
+ salt: string;
411
+ taxRate: number;
412
+ buyTaxRate?: number;
413
+ sellTaxRate?: number;
414
+ dexThresh?: number;
415
+ migratorType?: number;
416
+ quoteToken?: string;
417
+ quoteAmt?: bigint;
418
+ dexId?: number;
419
+ lpFeeProfile?: number;
420
+ };
421
+ /**
422
+ * 构建 VaultPortal.newTokenV6WithVault 参数
423
+ *
424
+ * ⚠️ tokenVersion 固定为 TOKEN_TAXED_V3;buyTaxRate/sellTaxRate 必须 > 0
425
+ */
426
+ export declare function buildNewTokenV6WithVaultParams(input: BuildNewTokenV6WithVaultParamsInput): {
427
+ name: string;
428
+ symbol: string;
429
+ meta: string;
430
+ dexThresh: number;
431
+ salt: string;
432
+ migratorType: number;
433
+ quoteToken: string;
434
+ quoteAmt: bigint;
435
+ permitData: string;
436
+ extensionID: string;
437
+ extensionData: string;
438
+ dexId: number;
439
+ lpFeeProfile: number;
440
+ buyTaxRate: number;
441
+ sellTaxRate: number;
442
+ taxDuration: bigint;
443
+ antiFarmerDuration: bigint;
444
+ mktBps: number;
445
+ deflationBps: number;
446
+ dividendBps: number;
447
+ lpBps: number;
448
+ minimumShareBalance: bigint;
449
+ dividendToken: string;
450
+ commissionReceiver: string;
451
+ tokenVersion: TokenVersion;
452
+ vaultFactory: string;
453
+ vaultData: string;
454
+ };
455
+ /**
456
+ * 金库发射 Vanity 地址搜索参数
457
+ * TOKEN_TAXED_V3 使用 tokenImplTaxedV3 + 后缀 7777
458
+ */
459
+ export declare function getVaultLaunchVanityOptions(chain: string): {
460
+ readonly taxed: true;
461
+ readonly taxedV3: true;
462
+ readonly suffix: string;
463
+ };
357
464
  /**
358
465
  * 旧版兼容:将 TaxVaultConfig 转换为 extensionID 和 extensionData
359
466
  *
@@ -361,7 +468,7 @@ export declare function buildVaultParams(config?: TaxVaultConfig, chain?: string
361
468
  * 金库参数通过 VaultPortal 的 vaultFactory/vaultData 传递
362
469
  * 此函数仅用于向后兼容
363
470
  */
364
- export declare function buildVaultExtensionParams(): {
471
+ export declare function buildVaultExtensionParams(config?: TaxVaultConfig): {
365
472
  extensionID: string;
366
473
  extensionData: string;
367
474
  };
@@ -4,16 +4,19 @@
4
4
  * ⚠️ 重要:基于 flap.sh/launch 实际源码分析,金库模式架构如下:
5
5
  *
6
6
  * 1. 金库代币通过 VaultPortal 合约创建(不是普通 Portal)
7
- * 2. 调用函数:VaultPortal.newTaxTokenWithVault(params)
7
+ * 2. 调用函数:VaultPortal.newTokenV6WithVault(params) + tokenVersion = TOKEN_TAXED_V3
8
8
  * 3. 参数中 extensionID/extensionData 始终为零值
9
9
  * 4. 真正的金库配置通过 vaultFactory(工厂地址)和 vaultData(ABI 编码数据)传递
10
10
  * 5. 每种金库类型对应一个具体的 VaultFactory 合约地址
11
11
  *
12
- * VaultPortal.newTaxTokenWithVault 参数结构:
13
- * - 基础参数(与 Portal.newTokenV5 相同):name, symbol, meta, dexThresh, salt, taxRate,
12
+ * ⚠️ newTaxTokenWithVault 已在链上废弃并始终 revert,请勿再使用。
13
+ *
14
+ * VaultPortal.newTokenV6WithVault 参数结构:
15
+ * - 基础参数(与 Portal.newTokenV6 相同,无 beneficiary):name, symbol, meta, dexThresh, salt,
14
16
  * migratorType, quoteToken, quoteAmt, permitData, extensionID(全零), extensionData("0x"),
15
- * dexId, lpFeeProfile, taxDuration, antiFarmerDuration, mktBps, deflationBps, dividendBps,
16
- * lpBps, minimumShareBalance
17
+ * dexId, lpFeeProfile, buyTaxRate, sellTaxRate, taxDuration, antiFarmerDuration,
18
+ * mktBps, deflationBps, dividendBps, lpBps, minimumShareBalance, dividendToken,
19
+ * commissionReceiver, tokenVersion(=TOKEN_TAXED_V3)
17
20
  * - 金库专属参数:vaultFactory(address), vaultData(bytes)
18
21
  *
19
22
  * 金库分类(来自 flap.sh 源码):
@@ -28,32 +31,8 @@
28
31
  * @module vault
29
32
  */
30
33
  import { Contract, AbiCoder, ZeroAddress } from 'ethers';
31
- function mapFieldDescriptor(f) {
32
- return {
33
- name: f.name,
34
- fieldType: f.fieldType,
35
- description: f.description,
36
- decimals: Number(f.decimals),
37
- };
38
- }
39
- function mapApproveAction(a) {
40
- return {
41
- tokenType: a.tokenType,
42
- amountFieldName: a.amountFieldName,
43
- };
44
- }
45
- function mapVaultMethodSchema(m) {
46
- return {
47
- name: m.name,
48
- description: m.description,
49
- inputs: m.inputs.map(mapFieldDescriptor),
50
- outputs: m.outputs.map(mapFieldDescriptor),
51
- approvals: m.approvals.map(mapApproveAction),
52
- isInputArray: m.isInputArray,
53
- isOutputArray: m.isOutputArray,
54
- isWriteMethod: m.isWriteMethod,
55
- };
56
- }
34
+ import { TokenVersion } from './portal.js';
35
+ import { getVanitySuffix } from './constants.js';
57
36
  /**
58
37
  * 金库类型显示标签
59
38
  */
@@ -131,28 +110,28 @@ export const FLAP_GUARDIAN_ADDRESSES = {
131
110
  // ============================================================================
132
111
  // ABI 定义
133
112
  // ============================================================================
113
+ /** VaultPortal 金库发射必须使用 TOKEN_TAXED_V3(enum = 6) */
114
+ export const TOKEN_TAXED_V3_VERSION = TokenVersion.TOKEN_TAXED_V3;
134
115
  /**
135
- * VaultPortal ABI — newTaxTokenWithVault
116
+ * VaultPortal ABI — newTokenV6WithVault(当前唯一支持的金库发射入口)
136
117
  *
137
- * ⚠️ flap.sh 前端 JS 源码提取的真实 ABI
138
- * 来源:flap.sh/_next/static/chunks/6288-*.js(VaultPortal 合约 ABI)
118
+ * 来源:Flap 官方 VaultPortal 文档
119
+ * https://docs.flap.sh/flap/developers/token-launcher-developers/launch-token-through-vaultportal
139
120
  */
140
121
  export const VAULT_PORTAL_ABI = [
141
122
  {
142
123
  type: 'function',
143
- name: 'newTaxTokenWithVault',
144
- inputs: [
145
- {
124
+ name: 'newTokenV6WithVault',
125
+ inputs: [{
146
126
  name: 'params',
147
127
  type: 'tuple',
148
- internalType: 'struct IVaultPortalTypes.NewTaxTokenWithVaultParams',
128
+ internalType: 'struct IVaultPortalTypes.NewTokenV6WithVaultParams',
149
129
  components: [
150
130
  { name: 'name', type: 'string', internalType: 'string' },
151
131
  { name: 'symbol', type: 'string', internalType: 'string' },
152
132
  { name: 'meta', type: 'string', internalType: 'string' },
153
- { name: 'dexThresh', type: 'uint8', internalType: 'enum IPortalCommonTypes.DexThreshType' },
133
+ { name: 'dexThresh', type: 'uint8', internalType: 'enum IPortalTypes.DexThreshType' },
154
134
  { name: 'salt', type: 'bytes32', internalType: 'bytes32' },
155
- { name: 'taxRate', type: 'uint16', internalType: 'uint16' },
156
135
  { name: 'migratorType', type: 'uint8', internalType: 'enum IPortalTypes.MigratorType' },
157
136
  { name: 'quoteToken', type: 'address', internalType: 'address' },
158
137
  { name: 'quoteAmt', type: 'uint256', internalType: 'uint256' },
@@ -161,6 +140,8 @@ export const VAULT_PORTAL_ABI = [
161
140
  { name: 'extensionData', type: 'bytes', internalType: 'bytes' },
162
141
  { name: 'dexId', type: 'uint8', internalType: 'enum IPortalTypes.DEXId' },
163
142
  { name: 'lpFeeProfile', type: 'uint8', internalType: 'enum IPortalTypes.V3LPFeeProfile' },
143
+ { name: 'buyTaxRate', type: 'uint16', internalType: 'uint16' },
144
+ { name: 'sellTaxRate', type: 'uint16', internalType: 'uint16' },
164
145
  { name: 'taxDuration', type: 'uint64', internalType: 'uint64' },
165
146
  { name: 'antiFarmerDuration', type: 'uint64', internalType: 'uint64' },
166
147
  { name: 'mktBps', type: 'uint16', internalType: 'uint16' },
@@ -168,11 +149,13 @@ export const VAULT_PORTAL_ABI = [
168
149
  { name: 'dividendBps', type: 'uint16', internalType: 'uint16' },
169
150
  { name: 'lpBps', type: 'uint16', internalType: 'uint16' },
170
151
  { name: 'minimumShareBalance', type: 'uint256', internalType: 'uint256' },
152
+ { name: 'dividendToken', type: 'address', internalType: 'address' },
153
+ { name: 'commissionReceiver', type: 'address', internalType: 'address' },
154
+ { name: 'tokenVersion', type: 'uint8', internalType: 'enum IPortalTypes.TokenVersion' },
171
155
  { name: 'vaultFactory', type: 'address', internalType: 'address' },
172
156
  { name: 'vaultData', type: 'bytes', internalType: 'bytes' },
173
- ],
174
- },
175
- ],
157
+ ]
158
+ }],
176
159
  outputs: [{ name: 'token', type: 'address', internalType: 'address' }],
177
160
  stateMutability: 'payable',
178
161
  },
@@ -180,8 +163,7 @@ export const VAULT_PORTAL_ABI = [
180
163
  type: 'function',
181
164
  name: 'getVault',
182
165
  inputs: [{ name: 'taxToken', type: 'address', internalType: 'address' }],
183
- outputs: [
184
- {
166
+ outputs: [{
185
167
  name: 'info',
186
168
  type: 'tuple',
187
169
  internalType: 'struct IVaultPortalTypes.VaultInfo',
@@ -191,9 +173,8 @@ export const VAULT_PORTAL_ABI = [
191
173
  { name: 'description', type: 'string', internalType: 'string' },
192
174
  { name: 'isOfficial', type: 'bool', internalType: 'bool' },
193
175
  { name: 'riskLevel', type: 'uint8', internalType: 'enum IVaultPortalTypes.RiskLevel' },
194
- ],
195
- },
196
- ],
176
+ ]
177
+ }],
197
178
  stateMutability: 'view',
198
179
  },
199
180
  {
@@ -220,7 +201,9 @@ export const VAULT_FACTORY_V2_ABI = [
220
201
  /**
221
202
  * VaultBase ABI(V1)
222
203
  */
223
- export const VAULT_BASE_ABI = ['function description() public view returns (string)'];
204
+ export const VAULT_BASE_ABI = [
205
+ 'function description() public view returns (string)',
206
+ ];
224
207
  /**
225
208
  * VaultBaseV2 ABI
226
209
  */
@@ -269,21 +252,16 @@ function mapFieldTypeToAbiType(fieldType) {
269
252
  function processFieldValue(field, rawValue) {
270
253
  if (rawValue === undefined || rawValue === null) {
271
254
  switch (field.fieldType) {
272
- case 'address':
273
- return ZeroAddress;
274
- case 'bool':
275
- return false;
276
- case 'string':
277
- return '';
255
+ case 'address': return ZeroAddress;
256
+ case 'bool': return false;
257
+ case 'string': return '';
278
258
  case 'bytes':
279
- case 'bytes32':
280
- return '0x' + '00'.repeat(32);
281
- default:
282
- return 0;
259
+ case 'bytes32': return '0x' + '00'.repeat(32);
260
+ default: return 0;
283
261
  }
284
262
  }
285
263
  if (field.decimals > 0 && typeof rawValue === 'number') {
286
- return BigInt(Math.round(rawValue * 10 ** field.decimals));
264
+ return BigInt(Math.round(rawValue * (10 ** field.decimals)));
287
265
  }
288
266
  if (field.fieldType === 'bool') {
289
267
  return Boolean(rawValue);
@@ -308,7 +286,7 @@ export function getVaultPortalAddress(chain) {
308
286
  return VAULT_PORTAL_ADDRESSES[chainKey] || null;
309
287
  }
310
288
  /**
311
- * 构建金库参数(用于 VaultPortal.newTaxTokenWithVault
289
+ * 构建金库参数(用于 VaultPortal.newTokenV6WithVault
312
290
  *
313
291
  * ⚠️ 重要:返回的是 vaultFactory 和 vaultData,不是 extensionID/extensionData
314
292
  * extensionID/extensionData 在金库模式下始终为零值
@@ -354,6 +332,82 @@ export function buildVaultParams(config, chain) {
354
332
  }
355
333
  return { vaultFactory, vaultData };
356
334
  }
335
+ function normalizeTaxV2Fields(taxV2) {
336
+ if ('distribution' in taxV2) {
337
+ return {
338
+ taxDuration: taxV2.taxDuration,
339
+ antiFarmerDuration: taxV2.antiFarmerDuration,
340
+ mktBps: taxV2.distribution.mktBps,
341
+ deflationBps: taxV2.distribution.deflationBps,
342
+ dividendBps: taxV2.distribution.dividendBps,
343
+ lpBps: taxV2.distribution.lpBps,
344
+ minimumShareBalance: taxV2.distribution.minimumShareBalance,
345
+ vaultConfig: taxV2.vaultConfig,
346
+ };
347
+ }
348
+ return taxV2;
349
+ }
350
+ /**
351
+ * 构建 VaultPortal.newTokenV6WithVault 参数
352
+ *
353
+ * ⚠️ tokenVersion 固定为 TOKEN_TAXED_V3;buyTaxRate/sellTaxRate 必须 > 0
354
+ */
355
+ export function buildNewTokenV6WithVaultParams(input) {
356
+ const tv2 = normalizeTaxV2Fields(input.taxV2);
357
+ const total = tv2.mktBps + tv2.deflationBps + tv2.dividendBps + tv2.lpBps;
358
+ if (total !== 10000) {
359
+ throw new Error(`Tax distribution must sum to 10000 (100%), got ${total}`);
360
+ }
361
+ if (tv2.mktBps <= 0) {
362
+ throw new Error('Vault launch requires mktBps > 0');
363
+ }
364
+ const buyTaxRate = (input.buyTaxRate ?? input.taxRate) & 0xffff;
365
+ const sellTaxRate = (input.sellTaxRate ?? input.taxRate) & 0xffff;
366
+ if (buyTaxRate <= 0 || sellTaxRate <= 0) {
367
+ throw new Error('Vault launch requires buyTaxRate and sellTaxRate > 0');
368
+ }
369
+ const { vaultFactory, vaultData } = buildVaultParams(tv2.vaultConfig, input.chain);
370
+ return {
371
+ name: input.tokenInfo.name,
372
+ symbol: input.tokenInfo.symbol,
373
+ meta: input.tokenInfo.meta,
374
+ dexThresh: (input.dexThresh ?? 1) & 0xff,
375
+ salt: input.salt ?? ('0x' + '00'.repeat(32)),
376
+ migratorType: (input.migratorType ?? 0) & 0xff,
377
+ quoteToken: input.quoteToken || ZeroAddress,
378
+ quoteAmt: input.quoteAmt ?? 0n,
379
+ permitData: '0x',
380
+ extensionID: NONE_EXTENSION_ID,
381
+ extensionData: '0x',
382
+ dexId: (input.dexId ?? 0) & 0xff,
383
+ lpFeeProfile: (input.lpFeeProfile ?? 0) & 0xff,
384
+ buyTaxRate,
385
+ sellTaxRate,
386
+ taxDuration: BigInt(tv2.taxDuration),
387
+ antiFarmerDuration: BigInt(tv2.antiFarmerDuration),
388
+ mktBps: tv2.mktBps & 0xffff,
389
+ deflationBps: tv2.deflationBps & 0xffff,
390
+ dividendBps: tv2.dividendBps & 0xffff,
391
+ lpBps: tv2.lpBps & 0xffff,
392
+ minimumShareBalance: BigInt(tv2.minimumShareBalance ?? 10000) * (10n ** 18n),
393
+ dividendToken: ZeroAddress,
394
+ commissionReceiver: ZeroAddress,
395
+ tokenVersion: TOKEN_TAXED_V3_VERSION,
396
+ vaultFactory,
397
+ vaultData,
398
+ };
399
+ }
400
+ /**
401
+ * 金库发射 Vanity 地址搜索参数
402
+ * TOKEN_TAXED_V3 使用 tokenImplTaxedV3 + 后缀 7777
403
+ */
404
+ export function getVaultLaunchVanityOptions(chain) {
405
+ return {
406
+ taxed: true,
407
+ taxedV3: true,
408
+ suffix: getVanitySuffix(chain, true),
409
+ };
410
+ }
357
411
  /**
358
412
  * 旧版兼容:将 TaxVaultConfig 转换为 extensionID 和 extensionData
359
413
  *
@@ -361,7 +415,7 @@ export function buildVaultParams(config, chain) {
361
415
  * 金库参数通过 VaultPortal 的 vaultFactory/vaultData 传递
362
416
  * 此函数仅用于向后兼容
363
417
  */
364
- export function buildVaultExtensionParams() {
418
+ export function buildVaultExtensionParams(config) {
365
419
  // 金库模式下 extensionID/extensionData 始终为零值
366
420
  return {
367
421
  extensionID: NONE_EXTENSION_ID,
@@ -377,10 +431,15 @@ export function buildVaultExtensionParams() {
377
431
  export async function queryVaultDataSchema(provider, factoryAddress) {
378
432
  try {
379
433
  const factory = new Contract(factoryAddress, VAULT_FACTORY_V2_ABI, provider);
380
- const raw = (await factory.vaultDataSchema());
434
+ const raw = await factory.vaultDataSchema();
381
435
  return {
382
436
  description: raw.description,
383
- fields: raw.fields.map(mapFieldDescriptor),
437
+ fields: raw.fields.map((f) => ({
438
+ name: f.name,
439
+ fieldType: f.fieldType,
440
+ description: f.description,
441
+ decimals: Number(f.decimals),
442
+ })),
384
443
  isArray: raw.isArray,
385
444
  };
386
445
  }
@@ -394,11 +453,33 @@ export async function queryVaultDataSchema(provider, factoryAddress) {
394
453
  export async function queryVaultUISchema(provider, vaultAddress) {
395
454
  try {
396
455
  const vault = new Contract(vaultAddress, VAULT_BASE_V2_ABI, provider);
397
- const raw = (await vault.vaultUISchema());
456
+ const raw = await vault.vaultUISchema();
398
457
  return {
399
458
  vaultType: raw.vaultType,
400
459
  description: raw.description,
401
- methods: raw.methods.map(mapVaultMethodSchema),
460
+ methods: raw.methods.map((m) => ({
461
+ name: m.name,
462
+ description: m.description,
463
+ inputs: m.inputs.map((f) => ({
464
+ name: f.name,
465
+ fieldType: f.fieldType,
466
+ description: f.description,
467
+ decimals: Number(f.decimals),
468
+ })),
469
+ outputs: m.outputs.map((f) => ({
470
+ name: f.name,
471
+ fieldType: f.fieldType,
472
+ description: f.description,
473
+ decimals: Number(f.decimals),
474
+ })),
475
+ approvals: m.approvals.map((a) => ({
476
+ tokenType: a.tokenType,
477
+ amountFieldName: a.amountFieldName,
478
+ })),
479
+ isInputArray: m.isInputArray,
480
+ isOutputArray: m.isOutputArray,
481
+ isWriteMethod: m.isWriteMethod,
482
+ })),
402
483
  };
403
484
  }
404
485
  catch {
@@ -443,7 +524,7 @@ export async function validateVaultFactory(provider, factoryAddress) {
443
524
  export async function getVaultInfo(provider, vaultPortalAddress, taxTokenAddress) {
444
525
  try {
445
526
  const portal = new Contract(vaultPortalAddress, VAULT_PORTAL_ABI, provider);
446
- const info = (await portal.getVault(taxTokenAddress));
527
+ const info = await portal.getVault(taxTokenAddress);
447
528
  return {
448
529
  vault: info.vault,
449
530
  vaultFactory: info.vaultFactory,
@@ -1,4 +1,4 @@
1
- import TaxTokenAbi from '../../abis/contracts/TaxToken.json';
1
+ import TaxTokenAbi from '../abis/TaxToken.json';
2
2
  /** TaxToken 转账模式 */
3
3
  export declare enum TransferMode {
4
4
  /** 正常转账模式 - 允许所有转账 */
@@ -5,7 +5,7 @@
5
5
  * 基于 Four.meme 官方文档: API-Contract-TaxToken.md
6
6
  */
7
7
  import { ethers, Contract, Wallet, JsonRpcProvider } from 'ethers';
8
- import TaxTokenAbi from '../../abis/contracts/TaxToken.json' with { type: 'json' };
8
+ import TaxTokenAbi from '../abis/TaxToken.json' with { type: 'json' };
9
9
  // ============================================================================
10
10
  // 常量
11
11
  // ============================================================================
@@ -123,28 +123,11 @@ export async function getTaxTokenInfo(tokenAddress, rpcUrl) {
123
123
  const token = new Contract(tokenAddress, TAX_TOKEN_READ_ABI, provider);
124
124
  // 批量查询所有状态(利用 Promise.all 减少 RPC 调用轮次)
125
125
  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(),
127
- token.rateFounder(),
128
- token.rateHolder(),
129
- token.rateBurn(),
130
- token.rateLiquidity(),
131
- token.founder(),
132
- token.quote(),
133
- token.pair(),
134
- token._mode(),
135
- token.minDispatch(),
136
- token.minShare(),
137
- token.totalShares(),
138
- token.feePerShare(),
139
- token.feeAccumulated(),
140
- token.feeDispatched(),
141
- token.feeFounder(),
142
- token.feeHolder(),
143
- token.feeBurn(),
144
- token.feeLiquidity(),
145
- token.quoteFounder(),
146
- token.quoteHolder(),
147
- token.quoteClaimed(),
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(),
148
131
  ]);
149
132
  return {
150
133
  config: {
@@ -298,10 +281,7 @@ export function validateFourTokenTaxInfo(info) {
298
281
  // 四项比例之和必须为 100
299
282
  const rateSum = info.burnRate + info.divideRate + info.liquidityRate + info.recipientRate;
300
283
  if (rateSum !== 100) {
301
- return {
302
- valid: false,
303
- error: `burnRate + divideRate + liquidityRate + recipientRate 必须等于 100,当前: ${rateSum}`,
304
- };
284
+ return { valid: false, error: `burnRate + divideRate + liquidityRate + recipientRate 必须等于 100,当前: ${rateSum}` };
305
285
  }
306
286
  // 每项比例 >= 0
307
287
  if (info.burnRate < 0 || info.divideRate < 0 || info.liquidityRate < 0 || info.recipientRate < 0) {
@@ -7,10 +7,4 @@
7
7
  * - four: Four.meme 工具(TaxToken 等)
8
8
  */
9
9
  export * from './constants/index.js';
10
- /** 错误规范化、可选 Logger(与根 `index` 导出同源) */
11
- export * as foundation from './foundation/index.js';
12
- /** HTTP / Bundle / BlockRazor 等(亦支持子路径 `four-flap-meme-sdk/clients`) */
13
- export * as clients from './clients/index.js';
14
10
  export * as FourUtils from './four/index.js';
15
- /** Flap 链标识(与 `./constants` 同源) */
16
- export type { FlapChain } from './flap/portal.js';
@@ -7,8 +7,4 @@
7
7
  * - four: Four.meme 工具(TaxToken 等)
8
8
  */
9
9
  export * from './constants/index.js';
10
- /** 错误规范化、可选 Logger(与根 `index` 导出同源) */
11
- export * as foundation from './foundation/index.js';
12
- /** HTTP / Bundle / BlockRazor 等(亦支持子路径 `four-flap-meme-sdk/clients`) */
13
- export * as clients from './clients/index.js';
14
10
  export * as FourUtils from './four/index.js';