four-flap-meme-sdk 2.2.8 → 2.2.11

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 (474) 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.d.ts +2 -2
  36. package/dist/chains/bsc/platforms/iro/factory.js +1 -3
  37. package/dist/chains/bsc/platforms/iro/index.d.ts +5 -5
  38. package/dist/chains/bsc/platforms/iro/index.js +3 -3
  39. package/dist/chains/bsc/platforms/iro/pool.js +10 -31
  40. package/dist/chains/bsc/platforms/iro/token.js +1 -4
  41. package/dist/chains/eni/batch-router/bundle-approve.js +3 -4
  42. package/dist/chains/eni/batch-router/transfer.js +25 -55
  43. package/dist/chains/eni/batch-router/utils.js +6 -32
  44. package/dist/chains/eni/bundler/sign.js +6 -5
  45. package/dist/chains/eni/bundler/submit.js +4 -1
  46. package/dist/chains/eni/constants.js +1 -1
  47. package/dist/chains/eni/index.d.ts +1 -2
  48. package/dist/chains/eni/index.js +0 -1
  49. package/dist/chains/eni/platforms/daoaas/create.js +2 -2
  50. package/dist/chains/eni/platforms/daoaas/index.d.ts +3 -3
  51. package/dist/chains/eni/platforms/daoaas/index.js +3 -3
  52. package/dist/chains/eni/platforms/daoaas/meta.js +6 -9
  53. package/dist/chains/eni/platforms/daoaas/portal-direct.js +44 -28
  54. package/dist/chains/eni/platforms/daoaas/portal.js +6 -10
  55. package/dist/chains/eni/platforms/dswap/liquidity.js +26 -58
  56. package/dist/chains/eni/platforms/fair-launch/index.d.ts +2 -2
  57. package/dist/chains/eni/platforms/fair-launch/index.js +1 -1
  58. package/dist/chains/eni/platforms/fair-launch/launcher.js +46 -87
  59. package/dist/chains/eni/platforms/fair-launch/pool.js +1 -4
  60. package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
  61. package/dist/chains/eni/platforms/iro/factory.d.ts +2 -2
  62. package/dist/chains/eni/platforms/iro/factory.js +1 -3
  63. package/dist/chains/eni/platforms/iro/index.d.ts +6 -6
  64. package/dist/chains/eni/platforms/iro/index.js +4 -4
  65. package/dist/chains/eni/platforms/iro/pool.js +26 -90
  66. package/dist/chains/eni/platforms/iro/token.js +31 -107
  67. package/dist/chains/eni/platforms/iro/whitelist.js +18 -6
  68. package/dist/chains/index.d.ts +0 -13
  69. package/dist/chains/index.js +0 -13
  70. package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +26 -2
  71. package/dist/chains/xlayer/eip7702/bundle-approve.js +21 -11
  72. package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +6 -2
  73. package/dist/chains/xlayer/eip7702/bundle-buy.js +51 -13
  74. package/dist/chains/xlayer/eip7702/bundle-create.js +59 -93
  75. package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +6 -2
  76. package/dist/chains/xlayer/eip7702/bundle-sell.js +111 -29
  77. package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +65 -3
  78. package/dist/chains/xlayer/eip7702/bundle-swap.js +245 -51
  79. package/dist/chains/xlayer/eip7702/constants.d.ts +16 -1
  80. package/dist/chains/xlayer/eip7702/constants.js +21 -3
  81. package/dist/chains/xlayer/eip7702/index.d.ts +46 -28
  82. package/dist/chains/xlayer/eip7702/index.js +81 -28
  83. package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +203 -2
  84. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +307 -63
  85. package/dist/chains/xlayer/eip7702/types.d.ts +0 -88
  86. package/dist/chains/xlayer/eip7702/utils.d.ts +3 -0
  87. package/dist/chains/xlayer/eip7702/utils.js +28 -23
  88. package/dist/chains/xlayer/eip7702/volume.d.ts +184 -6
  89. package/dist/chains/xlayer/eip7702/volume.js +164 -89
  90. package/dist/chains/xlayer/eoa/constants.js +1 -1
  91. package/dist/chains/xlayer/eoa/dex-helpers.js +5 -5
  92. package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +95 -1
  93. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +299 -66
  94. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
  95. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +23 -18
  96. package/dist/chains/xlayer/eoa/index.d.ts +6 -10
  97. package/dist/chains/xlayer/eoa/index.js +23 -8
  98. package/dist/chains/xlayer/eoa/portal-ops.js +2 -7
  99. package/dist/chains/xlayer/eoa/router-manager.js +3 -3
  100. package/dist/chains/xlayer/eoa/types.d.ts +2 -2
  101. package/dist/chains/xlayer/eoa/types.js +3 -1
  102. package/dist/chains/xlayer/index.d.ts +2 -3
  103. package/dist/chains/xlayer/index.js +7 -4
  104. package/dist/contracts/helper3.d.ts +5 -20
  105. package/dist/contracts/helper3.js +20 -56
  106. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +26 -1
  107. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +113 -1
  108. package/dist/contracts/tm-bundle-merkle/config.d.ts +67 -5
  109. package/dist/contracts/tm-bundle-merkle/config.js +114 -2
  110. package/dist/contracts/tm-bundle-merkle/core.d.ts +4 -1
  111. package/dist/contracts/tm-bundle-merkle/core.js +591 -1
  112. package/dist/contracts/tm-bundle-merkle/index.d.ts +5 -5
  113. package/dist/contracts/tm-bundle-merkle/index.js +5 -5
  114. package/dist/contracts/tm-bundle-merkle/internal.d.ts +46 -2
  115. package/dist/contracts/tm-bundle-merkle/internal.js +238 -2
  116. package/dist/contracts/tm-bundle-merkle/pancake-proxy.d.ts +28 -1
  117. package/dist/contracts/tm-bundle-merkle/pancake-proxy.js +686 -1
  118. package/dist/contracts/tm-bundle-merkle/private.d.ts +27 -1
  119. package/dist/contracts/tm-bundle-merkle/private.js +476 -1
  120. package/dist/contracts/tm-bundle-merkle/submit.d.ts +314 -3
  121. package/dist/contracts/tm-bundle-merkle/submit.js +928 -3
  122. package/dist/contracts/tm-bundle-merkle/swap-buy-first.d.ts +55 -2
  123. package/dist/contracts/tm-bundle-merkle/swap-buy-first.js +506 -2
  124. package/dist/contracts/tm-bundle-merkle/swap-internal.d.ts +3 -1
  125. package/dist/contracts/tm-bundle-merkle/swap-internal.js +18 -1
  126. package/dist/contracts/tm-bundle-merkle/swap.d.ts +144 -2
  127. package/dist/contracts/tm-bundle-merkle/swap.js +764 -2
  128. package/dist/contracts/tm-bundle-merkle/types.d.ts +476 -1
  129. package/dist/contracts/tm-bundle-merkle/utils.d.ts +18 -6
  130. package/dist/contracts/tm-bundle-merkle/utils.js +1501 -6
  131. package/dist/contracts/tm-bundle.d.ts +51 -3
  132. package/dist/contracts/tm-bundle.js +177 -108
  133. package/dist/contracts/tm.d.ts +2 -3
  134. package/dist/contracts/tm.js +32 -37
  135. package/dist/contracts/tm1.js +4 -9
  136. package/dist/contracts/tm2.js +4 -9
  137. package/dist/dex/direct-router.d.ts +125 -3
  138. package/dist/dex/direct-router.js +666 -237
  139. package/dist/flows/create.d.ts +1 -2
  140. package/dist/flows/create.js +6 -6
  141. package/dist/index.d.ts +87 -20
  142. package/dist/index.js +217 -20
  143. package/dist/shared/abis/TaxToken.json +105 -0
  144. package/dist/shared/abis/TokenManager2.json +60 -0
  145. package/dist/shared/abis/common.d.ts +83 -2
  146. package/dist/shared/abis/common.js +254 -2
  147. package/dist/shared/abis/index.d.ts +6 -5
  148. package/dist/shared/abis/index.js +7 -5
  149. package/dist/shared/clients/blockrazor.js +25 -39
  150. package/dist/shared/clients/club48.d.ts +2 -2
  151. package/dist/shared/clients/club48.js +29 -34
  152. package/dist/shared/clients/emitservice.js +0 -2
  153. package/dist/shared/clients/four.d.ts +6 -21
  154. package/dist/shared/clients/four.js +24 -29
  155. package/dist/shared/clients/merkle.js +34 -27
  156. package/dist/shared/constants/addresses.d.ts +1 -1
  157. package/dist/shared/constants/addresses.js +2 -11
  158. package/dist/shared/constants/chains.d.ts +1 -1
  159. package/dist/shared/constants/chains.js +1 -1
  160. package/dist/shared/constants/gas.d.ts +1 -1
  161. package/dist/shared/constants/gas.js +6 -2
  162. package/dist/shared/constants/index.d.ts +0 -3
  163. package/dist/shared/constants/index.js +0 -1
  164. package/dist/shared/flap/abi.js +1 -1
  165. package/dist/shared/flap/constants.d.ts +2 -1
  166. package/dist/shared/flap/constants.js +4 -3
  167. package/dist/shared/flap/curve.js +0 -3
  168. package/dist/shared/flap/errors.d.ts +4 -1
  169. package/dist/shared/flap/errors.js +1 -20
  170. package/dist/shared/flap/index.d.ts +5 -4
  171. package/dist/shared/flap/index.js +5 -4
  172. package/dist/shared/flap/launch-v6.d.ts +127 -0
  173. package/dist/shared/flap/launch-v6.js +123 -0
  174. package/dist/shared/flap/meta.d.ts +18 -22
  175. package/dist/shared/flap/meta.js +17 -12
  176. package/dist/shared/flap/permit.js +2 -5
  177. package/dist/shared/flap/pinata.d.ts +6 -22
  178. package/dist/shared/flap/pinata.js +26 -21
  179. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +72 -3
  180. package/dist/shared/flap/portal-bundle-merkle/config.js +124 -4
  181. package/dist/shared/flap/portal-bundle-merkle/core.d.ts +4 -0
  182. package/dist/shared/flap/portal-bundle-merkle/core.js +151 -142
  183. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.d.ts +4 -17
  184. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +86 -86
  185. package/dist/shared/flap/portal-bundle-merkle/curve-to-dex.js +92 -100
  186. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +7 -11
  187. package/dist/shared/flap/portal-bundle-merkle/index.js +7 -4
  188. package/dist/shared/flap/portal-bundle-merkle/pancake-proxy.js +68 -71
  189. package/dist/shared/flap/portal-bundle-merkle/private.js +114 -61
  190. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +64 -1
  191. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.js +247 -66
  192. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +71 -2
  193. package/dist/shared/flap/portal-bundle-merkle/swap.js +410 -103
  194. package/dist/shared/flap/portal-bundle-merkle/types.d.ts +12 -88
  195. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +80 -1
  196. package/dist/shared/flap/portal-bundle-merkle/utils.js +265 -145
  197. package/dist/shared/flap/portal-bundle.js +56 -55
  198. package/dist/shared/flap/portal-create-token.d.ts +19 -37
  199. package/dist/shared/flap/portal-create-token.js +124 -121
  200. package/dist/shared/flap/portal.d.ts +2 -1
  201. package/dist/shared/flap/portal.js +28 -36
  202. package/dist/shared/flap/vanity.d.ts +6 -6
  203. package/dist/shared/flap/vanity.js +21 -15
  204. package/dist/shared/flap/vault.d.ts +93 -25
  205. package/dist/shared/flap/vault.js +126 -75
  206. package/dist/shared/four/tax-token.d.ts +1 -1
  207. package/dist/shared/four/tax-token.js +7 -27
  208. package/dist/shared/index.d.ts +0 -6
  209. package/dist/shared/index.js +0 -4
  210. package/dist/utils/airdrop-sweep.d.ts +76 -4
  211. package/dist/utils/airdrop-sweep.js +55 -42
  212. package/dist/utils/bundle-helpers.d.ts +243 -9
  213. package/dist/utils/bundle-helpers.js +584 -10
  214. package/dist/utils/constants.d.ts +61 -5
  215. package/dist/utils/constants.js +80 -5
  216. package/dist/utils/contract-factory.d.ts +4 -2
  217. package/dist/utils/contract-factory.js +18 -25
  218. package/dist/utils/erc20.d.ts +89 -7
  219. package/dist/utils/erc20.js +125 -94
  220. package/dist/utils/errors.d.ts +1 -12
  221. package/dist/utils/errors.js +1 -60
  222. package/dist/utils/holders-maker.d.ts +138 -2
  223. package/dist/utils/holders-maker.js +661 -26
  224. package/dist/utils/lp-inspect.d.ts +112 -2
  225. package/dist/utils/lp-inspect.js +223 -73
  226. package/dist/utils/mpcExclusive.d.ts +5 -2
  227. package/dist/utils/mpcExclusive.js +3 -4
  228. package/dist/utils/private-sale.d.ts +58 -2
  229. package/dist/utils/private-sale.js +15 -4
  230. package/dist/utils/provider-factory.d.ts +0 -4
  231. package/dist/utils/provider-factory.js +0 -10
  232. package/dist/utils/quote-helpers.d.ts +45 -4
  233. package/dist/utils/quote-helpers.js +74 -17
  234. package/dist/utils/stealth-transfer.d.ts +28 -2
  235. package/dist/utils/stealth-transfer.js +15 -31
  236. package/dist/utils/swap-helpers.d.ts +15 -2
  237. package/dist/utils/swap-helpers.js +11 -6
  238. package/dist/utils/wallet.d.ts +25 -2
  239. package/dist/utils/wallet.js +10 -13
  240. package/package.json +4 -160
  241. package/dist/__tests__/subpath-exports.test.d.ts +0 -1
  242. package/dist/__tests__/subpath-exports.test.js +0 -64
  243. package/dist/abis/common.d.ts +0 -85
  244. package/dist/abis/common.js +0 -264
  245. package/dist/abis/contracts/TaxToken.json +0 -969
  246. package/dist/abis/contracts/TokenManager2.json +0 -136
  247. package/dist/abis/contracts/index.d.ts +0 -5
  248. package/dist/abis/contracts/index.js +0 -5
  249. package/dist/abis/flap/index.d.ts +0 -3
  250. package/dist/abis/flap/index.js +0 -3
  251. package/dist/abis/flap/portal-events.d.ts +0 -6
  252. package/dist/abis/flap/portal-events.js +0 -17
  253. package/dist/abis/flap/portal.d.ts +0 -6
  254. package/dist/abis/flap/portal.js +0 -37
  255. package/dist/abis/flap/vault.d.ts +0 -171
  256. package/dist/abis/flap/vault.js +0 -91
  257. package/dist/abis/index.d.ts +0 -8
  258. package/dist/abis/index.js +0 -11
  259. package/dist/bundle-core/__tests__/config-helpers.test.d.ts +0 -1
  260. package/dist/bundle-core/__tests__/config-helpers.test.js +0 -28
  261. package/dist/bundle-core/__tests__/facade-parity.test.d.ts +0 -1
  262. package/dist/bundle-core/__tests__/facade-parity.test.js +0 -33
  263. package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +0 -1
  264. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +0 -60
  265. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +0 -1
  266. package/dist/bundle-core/__tests__/sign-fixture.test.js +0 -220
  267. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +0 -10
  268. package/dist/bundle-core/__tests__/sign-fixtures.js +0 -16
  269. package/dist/bundle-core/config-helpers.d.ts +0 -36
  270. package/dist/bundle-core/config-helpers.js +0 -57
  271. package/dist/bundle-core/errors.d.ts +0 -50
  272. package/dist/bundle-core/errors.js +0 -35
  273. package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +0 -7
  274. package/dist/bundle-core/four-meme/approve-tokenmanager.js +0 -99
  275. package/dist/bundle-core/four-meme/core-helpers.d.ts +0 -8
  276. package/dist/bundle-core/four-meme/core-helpers.js +0 -40
  277. package/dist/bundle-core/four-meme/core.d.ts +0 -4
  278. package/dist/bundle-core/four-meme/core.js +0 -515
  279. package/dist/bundle-core/four-meme/pancake-proxy.d.ts +0 -28
  280. package/dist/bundle-core/four-meme/pancake-proxy.js +0 -679
  281. package/dist/bundle-core/four-meme/private.d.ts +0 -27
  282. package/dist/bundle-core/four-meme/private.js +0 -465
  283. package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +0 -2
  284. package/dist/bundle-core/four-meme/sign-context-helpers.js +0 -2
  285. package/dist/bundle-core/four-meme/swap-buy-first.d.ts +0 -8
  286. package/dist/bundle-core/four-meme/swap-buy-first.js +0 -493
  287. package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +0 -6
  288. package/dist/bundle-core/four-meme/swap-hop-helpers.js +0 -63
  289. package/dist/bundle-core/four-meme/swap-internal.d.ts +0 -3
  290. package/dist/bundle-core/four-meme/swap-internal.js +0 -18
  291. package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +0 -27
  292. package/dist/bundle-core/four-meme/swap-sign-helpers.js +0 -105
  293. package/dist/bundle-core/four-meme/swap.d.ts +0 -17
  294. package/dist/bundle-core/four-meme/swap.js +0 -505
  295. package/dist/bundle-core/four-meme/types/buy-first.d.ts +0 -50
  296. package/dist/bundle-core/four-meme/types/buy-first.js +0 -1
  297. package/dist/bundle-core/four-meme/types/core-flow.d.ts +0 -63
  298. package/dist/bundle-core/four-meme/types/core-flow.js +0 -1
  299. package/dist/bundle-core/four-meme/types/index.d.ts +0 -600
  300. package/dist/bundle-core/four-meme/types/index.js +0 -1
  301. package/dist/bundle-core/four-meme/types/swap-internal.d.ts +0 -19
  302. package/dist/bundle-core/four-meme/types/swap-internal.js +0 -1
  303. package/dist/bundle-core/four-meme/types.d.ts +0 -1
  304. package/dist/bundle-core/four-meme/types.js +0 -1
  305. package/dist/bundle-core/four-meme/utils-disperse.d.ts +0 -7
  306. package/dist/bundle-core/four-meme/utils-disperse.js +0 -396
  307. package/dist/bundle-core/four-meme/utils-pairwise.d.ts +0 -8
  308. package/dist/bundle-core/four-meme/utils-pairwise.js +0 -328
  309. package/dist/bundle-core/four-meme/utils-sweep.d.ts +0 -8
  310. package/dist/bundle-core/four-meme/utils-sweep.js +0 -744
  311. package/dist/bundle-core/index.d.ts +0 -8
  312. package/dist/bundle-core/index.js +0 -8
  313. package/dist/bundle-core/internal.d.ts +0 -21
  314. package/dist/bundle-core/internal.js +0 -182
  315. package/dist/bundle-core/sign-context-helpers.d.ts +0 -25
  316. package/dist/bundle-core/sign-context-helpers.js +0 -67
  317. package/dist/bundle-core/submit.d.ts +0 -293
  318. package/dist/bundle-core/submit.js +0 -727
  319. package/dist/bundle-core/types/index.d.ts +0 -8
  320. package/dist/bundle-core/types/index.js +0 -1
  321. package/dist/bundle-core/types.d.ts +0 -1
  322. package/dist/bundle-core/types.js +0 -1
  323. package/dist/chains/bsc/four/utils-disperse.d.ts +0 -1
  324. package/dist/chains/bsc/four/utils-disperse.js +0 -1
  325. package/dist/chains/bsc/four/utils-pairwise.d.ts +0 -1
  326. package/dist/chains/bsc/four/utils-pairwise.js +0 -1
  327. package/dist/chains/bsc/four/utils-sweep.d.ts +0 -1
  328. package/dist/chains/bsc/four/utils-sweep.js +0 -1
  329. package/dist/chains/bsc/iro.d.ts +0 -5
  330. package/dist/chains/bsc/iro.js +0 -4
  331. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +0 -159
  332. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +0 -117
  333. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +0 -241
  334. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +0 -565
  335. package/dist/chains/eni/flat-aliases.d.ts +0 -10
  336. package/dist/chains/eni/flat-aliases.js +0 -8
  337. package/dist/chains/eni/submit.d.ts +0 -43
  338. package/dist/chains/eni/submit.js +0 -286
  339. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +0 -13
  340. package/dist/chains/xlayer/eip7702/flat-aliases.js +0 -10
  341. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +0 -79
  342. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +0 -1
  343. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +0 -26
  344. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +0 -57
  345. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +0 -148
  346. package/dist/chains/xlayer/eip7702/volume-helpers.js +0 -48
  347. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +0 -126
  348. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +0 -228
  349. package/dist/contracts/tm-bundle-helpers.d.ts +0 -88
  350. package/dist/contracts/tm-bundle-helpers.js +0 -72
  351. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +0 -1
  352. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +0 -1
  353. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +0 -1
  354. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +0 -1
  355. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +0 -1
  356. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +0 -1
  357. package/dist/dex/direct-router-helpers.d.ts +0 -264
  358. package/dist/dex/direct-router-helpers.js +0 -539
  359. package/dist/dex/types.d.ts +0 -81
  360. package/dist/dex/types.js +0 -1
  361. package/dist/exports/root-bundle-and-tooling.d.ts +0 -27
  362. package/dist/exports/root-bundle-and-tooling.js +0 -30
  363. package/dist/exports/root-eni-and-bsc-iro.d.ts +0 -26
  364. package/dist/exports/root-eni-and-bsc-iro.js +0 -66
  365. package/dist/exports/root-foundations.d.ts +0 -35
  366. package/dist/exports/root-foundations.js +0 -70
  367. package/dist/exports/root-swap-dex-and-xlayer.d.ts +0 -30
  368. package/dist/exports/root-swap-dex-and-xlayer.js +0 -78
  369. package/dist/flap/index.d.ts +0 -10
  370. package/dist/flap/index.js +0 -8
  371. package/dist/flows/index.d.ts +0 -1
  372. package/dist/flows/index.js +0 -1
  373. package/dist/merkle/index.d.ts +0 -12
  374. package/dist/merkle/index.js +0 -11
  375. package/dist/shared/clients/index.d.ts +0 -8
  376. package/dist/shared/clients/index.js +0 -8
  377. package/dist/shared/constants/quote.d.ts +0 -30
  378. package/dist/shared/constants/quote.js +0 -37
  379. package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +0 -32
  380. package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +0 -83
  381. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +0 -125
  382. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +0 -113
  383. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +0 -149
  384. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +0 -259
  385. package/dist/shared/foundation/dex/v3-path.d.ts +0 -6
  386. package/dist/shared/foundation/dex/v3-path.js +0 -35
  387. package/dist/shared/foundation/gas/bundle-gas.d.ts +0 -49
  388. package/dist/shared/foundation/gas/bundle-gas.js +0 -93
  389. package/dist/shared/foundation/gas/profit-hop.d.ts +0 -20
  390. package/dist/shared/foundation/gas/profit-hop.js +0 -72
  391. package/dist/shared/foundation/index.d.ts +0 -13
  392. package/dist/shared/foundation/index.js +0 -12
  393. package/dist/shared/foundation/nonce/nonce-manager.d.ts +0 -17
  394. package/dist/shared/foundation/nonce/nonce-manager.js +0 -183
  395. package/dist/shared/foundation/normalize-unknown.d.ts +0 -9
  396. package/dist/shared/foundation/normalize-unknown.js +0 -29
  397. package/dist/shared/foundation/sdk-logger.d.ts +0 -13
  398. package/dist/shared/foundation/sdk-logger.js +0 -12
  399. package/dist/shared/foundation/tx/build-request.d.ts +0 -17
  400. package/dist/shared/foundation/tx/build-request.js +0 -25
  401. package/dist/shared/foundation/tx/sign-batch.d.ts +0 -5
  402. package/dist/shared/foundation/tx/sign-batch.js +0 -26
  403. package/dist/shared/foundation/tx/wallet-sign-patch.d.ts +0 -1
  404. package/dist/shared/foundation/tx/wallet-sign-patch.js +0 -18
  405. package/dist/shared/foundation/types/airdrop-sweep.d.ts +0 -79
  406. package/dist/shared/foundation/types/airdrop-sweep.js +0 -1
  407. package/dist/shared/foundation/types/erc20.d.ts +0 -65
  408. package/dist/shared/foundation/types/erc20.js +0 -1
  409. package/dist/shared/foundation/types/holders-maker.d.ts +0 -64
  410. package/dist/shared/foundation/types/holders-maker.js +0 -1
  411. package/dist/shared/foundation/types/index.d.ts +0 -7
  412. package/dist/shared/foundation/types/index.js +0 -1
  413. package/dist/shared/foundation/types/lp-inspect.d.ts +0 -102
  414. package/dist/shared/foundation/types/lp-inspect.js +0 -1
  415. package/dist/shared/foundation/types/multicall.d.ts +0 -5
  416. package/dist/shared/foundation/types/multicall.js +0 -1
  417. package/dist/shared/foundation/types/private-sale.d.ts +0 -35
  418. package/dist/shared/foundation/types/private-sale.js +0 -1
  419. package/dist/shared/foundation/types/quote-helpers.d.ts +0 -17
  420. package/dist/shared/foundation/types/quote-helpers.js +0 -1
  421. package/dist/types/errors.d.ts +0 -27
  422. package/dist/types/errors.js +0 -34
  423. package/dist/utils/holders-maker/addresses.d.ts +0 -12
  424. package/dist/utils/holders-maker/addresses.js +0 -15
  425. package/dist/utils/holders-maker/buy-tx.d.ts +0 -44
  426. package/dist/utils/holders-maker/buy-tx.js +0 -278
  427. package/dist/utils/holders-maker/constants.d.ts +0 -6
  428. package/dist/utils/holders-maker/constants.js +0 -7
  429. package/dist/utils/holders-maker/disperse.d.ts +0 -18
  430. package/dist/utils/holders-maker/disperse.js +0 -90
  431. package/dist/utils/holders-maker/routing.d.ts +0 -4
  432. package/dist/utils/holders-maker/routing.js +0 -45
  433. package/dist/utils/holders-maker/transfer-tx.d.ts +0 -4
  434. package/dist/utils/holders-maker/transfer-tx.js +0 -67
  435. package/dist/utils/holders-maker-helpers.d.ts +0 -9
  436. package/dist/utils/holders-maker-helpers.js +0 -9
  437. package/dist/utils/hop-chains.d.ts +0 -35
  438. package/dist/utils/hop-chains.js +0 -215
  439. package/dist/utils/lp-inspect-helpers.d.ts +0 -9
  440. package/dist/utils/lp-inspect-helpers.js +0 -109
  441. package/dist/utils/types/airdrop-sweep.d.ts +0 -1
  442. package/dist/utils/types/airdrop-sweep.js +0 -1
  443. package/dist/utils/types/contract-factory.d.ts +0 -1
  444. package/dist/utils/types/contract-factory.js +0 -1
  445. package/dist/utils/types/erc20.d.ts +0 -1
  446. package/dist/utils/types/erc20.js +0 -1
  447. package/dist/utils/types/errors.d.ts +0 -1
  448. package/dist/utils/types/errors.js +0 -1
  449. package/dist/utils/types/holders-maker.d.ts +0 -1
  450. package/dist/utils/types/holders-maker.js +0 -1
  451. package/dist/utils/types/hop-chains.d.ts +0 -8
  452. package/dist/utils/types/hop-chains.js +0 -1
  453. package/dist/utils/types/index.d.ts +0 -13
  454. package/dist/utils/types/index.js +0 -1
  455. package/dist/utils/types/lp-inspect.d.ts +0 -1
  456. package/dist/utils/types/lp-inspect.js +0 -1
  457. package/dist/utils/types/mpc-exclusive.d.ts +0 -5
  458. package/dist/utils/types/mpc-exclusive.js +0 -1
  459. package/dist/utils/types/private-sale.d.ts +0 -1
  460. package/dist/utils/types/private-sale.js +0 -1
  461. package/dist/utils/types/quote-helpers.d.ts +0 -1
  462. package/dist/utils/types/quote-helpers.js +0 -1
  463. package/dist/utils/types/stealth-transfer.d.ts +0 -44
  464. package/dist/utils/types/stealth-transfer.js +0 -1
  465. package/dist/utils/types/wallet.d.ts +0 -25
  466. package/dist/utils/types/wallet.js +0 -1
  467. package/dist/vanity/index.d.ts +0 -5
  468. package/dist/vanity/index.js +0 -5
  469. package/src/abis/contracts/TaxToken.json +0 -969
  470. package/src/abis/contracts/TokenManager.json +0 -836
  471. package/src/abis/contracts/TokenManager2.json +0 -136
  472. package/src/abis/contracts/TokenManagerHelper3.json +0 -993
  473. /package/dist/{abis/contracts → shared/abis}/TokenManager.json +0 -0
  474. /package/dist/{abis/contracts → shared/abis}/TokenManagerHelper3.json +0 -0
@@ -1,20 +1,12 @@
1
1
  /**
2
2
  * Flap Tax Vaults(税收金库)
3
3
  *
4
- * ⚠️ 重要:基于 flap.sh/launch 实际源码分析,金库模式架构如下:
5
- *
6
4
  * 1. 金库代币通过 VaultPortal 合约创建(不是普通 Portal)
7
- * 2. 调用函数:VaultPortal.newTaxTokenWithVault(params)
8
- * 3. 参数中 extensionID/extensionData 始终为零值
9
- * 4. 真正的金库配置通过 vaultFactory(工厂地址)和 vaultData(ABI 编码数据)传递
10
- * 5. 每种金库类型对应一个具体的 VaultFactory 合约地址
5
+ * 2. 调用函数:VaultPortal.newTokenV6WithVault(params) + tokenVersion = TOKEN_TAXED_V3
6
+ * 3. newTaxTokenWithVault 已在链上废弃,请勿再使用
7
+ * 4. 金库配置通过 vaultFactory + vaultData 传递;extensionID/extensionData 始终为零
11
8
  *
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)
9
+ * @see https://docs.flap.sh/flap/developers/token-launcher-developers/launch-token-through-vaultportal
18
10
  *
19
11
  * 金库分类(来自 flap.sh 源码):
20
12
  * 官方金库 (official):
@@ -28,6 +20,8 @@
28
20
  * @module vault
29
21
  */
30
22
  import { type JsonRpcProvider } from 'ethers';
23
+ import { TokenVersion } from './portal.js';
24
+ import type { TaxV2Config } from './portal-bundle-merkle/types.js';
31
25
  /**
32
26
  * FieldDescriptor — 字段描述符
33
27
  * 对应 Solidity 结构体 IVaultSchemasV1.FieldDescriptor
@@ -117,19 +111,18 @@ export declare const VAULT_EXTRA_CONFIG: Record<string, Record<string, Record<st
117
111
  export declare const FLAP_GUARDIAN_ADDRESSES: {
118
112
  readonly BSC: "0x9e27098dcD8844bcc6287a557E0b4D09C86B8a4b";
119
113
  };
114
+ /** VaultPortal 金库发射必须使用 TOKEN_TAXED_V3(enum = 6) */
115
+ export declare const TOKEN_TAXED_V3_VERSION = TokenVersion.TOKEN_TAXED_V3;
120
116
  /**
121
- * VaultPortal ABI — newTaxTokenWithVault
122
- *
123
- * ⚠️ 从 flap.sh 前端 JS 源码提取的真实 ABI
124
- * 来源:flap.sh/_next/static/chunks/6288-*.js(VaultPortal 合约 ABI)
117
+ * VaultPortal ABI — newTokenV6WithVault(当前唯一支持的金库发射入口)
125
118
  */
126
119
  export declare const VAULT_PORTAL_ABI: readonly [{
127
120
  readonly type: "function";
128
- readonly name: "newTaxTokenWithVault";
121
+ readonly name: "newTokenV6WithVault";
129
122
  readonly inputs: readonly [{
130
123
  readonly name: "params";
131
124
  readonly type: "tuple";
132
- readonly internalType: "struct IVaultPortalTypes.NewTaxTokenWithVaultParams";
125
+ readonly internalType: "struct IVaultPortalTypes.NewTokenV6WithVaultParams";
133
126
  readonly components: readonly [{
134
127
  readonly name: "name";
135
128
  readonly type: "string";
@@ -145,15 +138,11 @@ export declare const VAULT_PORTAL_ABI: readonly [{
145
138
  }, {
146
139
  readonly name: "dexThresh";
147
140
  readonly type: "uint8";
148
- readonly internalType: "enum IPortalCommonTypes.DexThreshType";
141
+ readonly internalType: "enum IPortalTypes.DexThreshType";
149
142
  }, {
150
143
  readonly name: "salt";
151
144
  readonly type: "bytes32";
152
145
  readonly internalType: "bytes32";
153
- }, {
154
- readonly name: "taxRate";
155
- readonly type: "uint16";
156
- readonly internalType: "uint16";
157
146
  }, {
158
147
  readonly name: "migratorType";
159
148
  readonly type: "uint8";
@@ -186,6 +175,14 @@ export declare const VAULT_PORTAL_ABI: readonly [{
186
175
  readonly name: "lpFeeProfile";
187
176
  readonly type: "uint8";
188
177
  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";
189
186
  }, {
190
187
  readonly name: "taxDuration";
191
188
  readonly type: "uint64";
@@ -214,6 +211,18 @@ export declare const VAULT_PORTAL_ABI: readonly [{
214
211
  readonly name: "minimumShareBalance";
215
212
  readonly type: "uint256";
216
213
  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";
217
226
  }, {
218
227
  readonly name: "vaultFactory";
219
228
  readonly type: "address";
@@ -342,8 +351,67 @@ export declare function getVaultFactoryAddress(chain: string, vaultType: VaultTy
342
351
  * 获取指定链的 VaultPortal 合约地址
343
352
  */
344
353
  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
+ };
345
413
  /**
346
- * 构建金库参数(用于 VaultPortal.newTaxTokenWithVault
414
+ * 构建金库参数(用于 VaultPortal.newTokenV6WithVault
347
415
  *
348
416
  * ⚠️ 重要:返回的是 vaultFactory 和 vaultData,不是 extensionID/extensionData
349
417
  * extensionID/extensionData 在金库模式下始终为零值
@@ -361,7 +429,7 @@ export declare function buildVaultParams(config?: TaxVaultConfig, chain?: string
361
429
  * 金库参数通过 VaultPortal 的 vaultFactory/vaultData 传递
362
430
  * 此函数仅用于向后兼容
363
431
  */
364
- export declare function buildVaultExtensionParams(): {
432
+ export declare function buildVaultExtensionParams(config?: TaxVaultConfig): {
365
433
  extensionID: string;
366
434
  extensionData: string;
367
435
  };
@@ -1,20 +1,12 @@
1
1
  /**
2
2
  * Flap Tax Vaults(税收金库)
3
3
  *
4
- * ⚠️ 重要:基于 flap.sh/launch 实际源码分析,金库模式架构如下:
5
- *
6
4
  * 1. 金库代币通过 VaultPortal 合约创建(不是普通 Portal)
7
- * 2. 调用函数:VaultPortal.newTaxTokenWithVault(params)
8
- * 3. 参数中 extensionID/extensionData 始终为零值
9
- * 4. 真正的金库配置通过 vaultFactory(工厂地址)和 vaultData(ABI 编码数据)传递
10
- * 5. 每种金库类型对应一个具体的 VaultFactory 合约地址
5
+ * 2. 调用函数:VaultPortal.newTokenV6WithVault(params) + tokenVersion = TOKEN_TAXED_V3
6
+ * 3. newTaxTokenWithVault 已在链上废弃,请勿再使用
7
+ * 4. 金库配置通过 vaultFactory + vaultData 传递;extensionID/extensionData 始终为零
11
8
  *
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)
9
+ * @see https://docs.flap.sh/flap/developers/token-launcher-developers/launch-token-through-vaultportal
18
10
  *
19
11
  * 金库分类(来自 flap.sh 源码):
20
12
  * 官方金库 (official):
@@ -28,32 +20,9 @@
28
20
  * @module vault
29
21
  */
30
22
  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
- }
23
+ import { TokenVersion } from './portal.js';
24
+ import { getVanitySuffix } from './constants.js';
25
+ import { normalizeTaxV2Fields } from './launch-v6.js';
57
26
  /**
58
27
  * 金库类型显示标签
59
28
  */
@@ -131,28 +100,25 @@ export const FLAP_GUARDIAN_ADDRESSES = {
131
100
  // ============================================================================
132
101
  // ABI 定义
133
102
  // ============================================================================
103
+ /** VaultPortal 金库发射必须使用 TOKEN_TAXED_V3(enum = 6) */
104
+ export const TOKEN_TAXED_V3_VERSION = TokenVersion.TOKEN_TAXED_V3;
134
105
  /**
135
- * VaultPortal ABI — newTaxTokenWithVault
136
- *
137
- * ⚠️ 从 flap.sh 前端 JS 源码提取的真实 ABI
138
- * 来源:flap.sh/_next/static/chunks/6288-*.js(VaultPortal 合约 ABI)
106
+ * VaultPortal ABI — newTokenV6WithVault(当前唯一支持的金库发射入口)
139
107
  */
140
108
  export const VAULT_PORTAL_ABI = [
141
109
  {
142
110
  type: 'function',
143
- name: 'newTaxTokenWithVault',
144
- inputs: [
145
- {
111
+ name: 'newTokenV6WithVault',
112
+ inputs: [{
146
113
  name: 'params',
147
114
  type: 'tuple',
148
- internalType: 'struct IVaultPortalTypes.NewTaxTokenWithVaultParams',
115
+ internalType: 'struct IVaultPortalTypes.NewTokenV6WithVaultParams',
149
116
  components: [
150
117
  { name: 'name', type: 'string', internalType: 'string' },
151
118
  { name: 'symbol', type: 'string', internalType: 'string' },
152
119
  { name: 'meta', type: 'string', internalType: 'string' },
153
- { name: 'dexThresh', type: 'uint8', internalType: 'enum IPortalCommonTypes.DexThreshType' },
120
+ { name: 'dexThresh', type: 'uint8', internalType: 'enum IPortalTypes.DexThreshType' },
154
121
  { name: 'salt', type: 'bytes32', internalType: 'bytes32' },
155
- { name: 'taxRate', type: 'uint16', internalType: 'uint16' },
156
122
  { name: 'migratorType', type: 'uint8', internalType: 'enum IPortalTypes.MigratorType' },
157
123
  { name: 'quoteToken', type: 'address', internalType: 'address' },
158
124
  { name: 'quoteAmt', type: 'uint256', internalType: 'uint256' },
@@ -161,6 +127,8 @@ export const VAULT_PORTAL_ABI = [
161
127
  { name: 'extensionData', type: 'bytes', internalType: 'bytes' },
162
128
  { name: 'dexId', type: 'uint8', internalType: 'enum IPortalTypes.DEXId' },
163
129
  { name: 'lpFeeProfile', type: 'uint8', internalType: 'enum IPortalTypes.V3LPFeeProfile' },
130
+ { name: 'buyTaxRate', type: 'uint16', internalType: 'uint16' },
131
+ { name: 'sellTaxRate', type: 'uint16', internalType: 'uint16' },
164
132
  { name: 'taxDuration', type: 'uint64', internalType: 'uint64' },
165
133
  { name: 'antiFarmerDuration', type: 'uint64', internalType: 'uint64' },
166
134
  { name: 'mktBps', type: 'uint16', internalType: 'uint16' },
@@ -168,11 +136,13 @@ export const VAULT_PORTAL_ABI = [
168
136
  { name: 'dividendBps', type: 'uint16', internalType: 'uint16' },
169
137
  { name: 'lpBps', type: 'uint16', internalType: 'uint16' },
170
138
  { 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' },
171
142
  { name: 'vaultFactory', type: 'address', internalType: 'address' },
172
143
  { name: 'vaultData', type: 'bytes', internalType: 'bytes' },
173
- ],
174
- },
175
- ],
144
+ ]
145
+ }],
176
146
  outputs: [{ name: 'token', type: 'address', internalType: 'address' }],
177
147
  stateMutability: 'payable',
178
148
  },
@@ -180,8 +150,7 @@ export const VAULT_PORTAL_ABI = [
180
150
  type: 'function',
181
151
  name: 'getVault',
182
152
  inputs: [{ name: 'taxToken', type: 'address', internalType: 'address' }],
183
- outputs: [
184
- {
153
+ outputs: [{
185
154
  name: 'info',
186
155
  type: 'tuple',
187
156
  internalType: 'struct IVaultPortalTypes.VaultInfo',
@@ -191,9 +160,8 @@ export const VAULT_PORTAL_ABI = [
191
160
  { name: 'description', type: 'string', internalType: 'string' },
192
161
  { name: 'isOfficial', type: 'bool', internalType: 'bool' },
193
162
  { name: 'riskLevel', type: 'uint8', internalType: 'enum IVaultPortalTypes.RiskLevel' },
194
- ],
195
- },
196
- ],
163
+ ]
164
+ }],
197
165
  stateMutability: 'view',
198
166
  },
199
167
  {
@@ -220,7 +188,9 @@ export const VAULT_FACTORY_V2_ABI = [
220
188
  /**
221
189
  * VaultBase ABI(V1)
222
190
  */
223
- export const VAULT_BASE_ABI = ['function description() public view returns (string)'];
191
+ export const VAULT_BASE_ABI = [
192
+ 'function description() public view returns (string)',
193
+ ];
224
194
  /**
225
195
  * VaultBaseV2 ABI
226
196
  */
@@ -269,21 +239,16 @@ function mapFieldTypeToAbiType(fieldType) {
269
239
  function processFieldValue(field, rawValue) {
270
240
  if (rawValue === undefined || rawValue === null) {
271
241
  switch (field.fieldType) {
272
- case 'address':
273
- return ZeroAddress;
274
- case 'bool':
275
- return false;
276
- case 'string':
277
- return '';
242
+ case 'address': return ZeroAddress;
243
+ case 'bool': return false;
244
+ case 'string': return '';
278
245
  case 'bytes':
279
- case 'bytes32':
280
- return '0x' + '00'.repeat(32);
281
- default:
282
- return 0;
246
+ case 'bytes32': return '0x' + '00'.repeat(32);
247
+ default: return 0;
283
248
  }
284
249
  }
285
250
  if (field.decimals > 0 && typeof rawValue === 'number') {
286
- return BigInt(Math.round(rawValue * 10 ** field.decimals));
251
+ return BigInt(Math.round(rawValue * (10 ** field.decimals)));
287
252
  }
288
253
  if (field.fieldType === 'bool') {
289
254
  return Boolean(rawValue);
@@ -308,7 +273,66 @@ export function getVaultPortalAddress(chain) {
308
273
  return VAULT_PORTAL_ADDRESSES[chainKey] || null;
309
274
  }
310
275
  /**
311
- * 构建金库参数(用于 VaultPortal.newTaxTokenWithVault
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: ZeroAddress,
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
336
  *
313
337
  * ⚠️ 重要:返回的是 vaultFactory 和 vaultData,不是 extensionID/extensionData
314
338
  * extensionID/extensionData 在金库模式下始终为零值
@@ -361,7 +385,7 @@ export function buildVaultParams(config, chain) {
361
385
  * 金库参数通过 VaultPortal 的 vaultFactory/vaultData 传递
362
386
  * 此函数仅用于向后兼容
363
387
  */
364
- export function buildVaultExtensionParams() {
388
+ export function buildVaultExtensionParams(config) {
365
389
  // 金库模式下 extensionID/extensionData 始终为零值
366
390
  return {
367
391
  extensionID: NONE_EXTENSION_ID,
@@ -377,10 +401,15 @@ export function buildVaultExtensionParams() {
377
401
  export async function queryVaultDataSchema(provider, factoryAddress) {
378
402
  try {
379
403
  const factory = new Contract(factoryAddress, VAULT_FACTORY_V2_ABI, provider);
380
- const raw = (await factory.vaultDataSchema());
404
+ const raw = await factory.vaultDataSchema();
381
405
  return {
382
406
  description: raw.description,
383
- fields: raw.fields.map(mapFieldDescriptor),
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
413
  isArray: raw.isArray,
385
414
  };
386
415
  }
@@ -394,11 +423,33 @@ export async function queryVaultDataSchema(provider, factoryAddress) {
394
423
  export async function queryVaultUISchema(provider, vaultAddress) {
395
424
  try {
396
425
  const vault = new Contract(vaultAddress, VAULT_BASE_V2_ABI, provider);
397
- const raw = (await vault.vaultUISchema());
426
+ const raw = await vault.vaultUISchema();
398
427
  return {
399
428
  vaultType: raw.vaultType,
400
429
  description: raw.description,
401
- methods: raw.methods.map(mapVaultMethodSchema),
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
453
  };
403
454
  }
404
455
  catch {
@@ -443,7 +494,7 @@ export async function validateVaultFactory(provider, factoryAddress) {
443
494
  export async function getVaultInfo(provider, vaultPortalAddress, taxTokenAddress) {
444
495
  try {
445
496
  const portal = new Contract(vaultPortalAddress, VAULT_PORTAL_ABI, provider);
446
- const info = (await portal.getVault(taxTokenAddress));
497
+ const info = await portal.getVault(taxTokenAddress);
447
498
  return {
448
499
  vault: info.vault,
449
500
  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';
@@ -1,8 +1,80 @@
1
- import type { AirdropDisperseSignParams, SignedTransactionsResult, AirdropSweepSignParams } from './types/airdrop-sweep.js';
2
- export declare function disperseWithBundle(params: AirdropDisperseSignParams): Promise<SignedTransactionsResult>;
1
+ import type { SoulPointSignatureMode, VNormalizationMode } from '../shared/clients/club48.js';
2
+ /** Bundle 提交结果(完整版 - 包含 bundleUuid) */
3
+ export type BundleSubmitResult = {
4
+ bundleUuid: string;
5
+ signedTxs: string[];
6
+ };
7
+ /** ✅ 签名结果(精简版 - 仅返回签名交易) */
8
+ export type SignedTransactionsResult = {
9
+ signedTransactions: string[];
10
+ };
11
+ /** ✅ 分散参数(完整版 - 包含 Bundle 提交) */
12
+ export type DisperseParams = {
13
+ rpcUrl: string;
14
+ chainId: number;
15
+ fromPrivateKey: string;
16
+ recipients: string[];
17
+ amount?: string;
18
+ amounts?: string[];
19
+ tokenAddress?: string;
20
+ bundleEndpoint?: string;
21
+ gasPriceGwei?: string;
22
+ transferGasLimit?: bigint;
23
+ nativeGasLimit?: bigint;
24
+ blockOffset?: number;
25
+ spMode?: SoulPointSignatureMode;
26
+ spPrivateKey?: string;
27
+ spVMode?: VNormalizationMode;
28
+ };
29
+ /** ✅ 分散参数(精简版 - 仅签名) */
30
+ export type DisperseSignParams = {
31
+ rpcUrl: string;
32
+ chainId: number;
33
+ fromPrivateKey: string;
34
+ recipients: string[];
35
+ amount?: string;
36
+ amounts?: string[];
37
+ tokenAddress?: string;
38
+ gasPriceGwei?: string;
39
+ transferGasLimit?: bigint;
40
+ nativeGasLimit?: bigint;
41
+ };
42
+ export declare function disperseWithBundle(params: DisperseSignParams): Promise<SignedTransactionsResult>;
43
+ /** ✅ 归集参数(完整版 - 包含 Bundle 提交) */
44
+ export type SweepParams = {
45
+ rpcUrl: string;
46
+ chainId: number;
47
+ sourcePrivateKeys: string[];
48
+ target: string;
49
+ ratioPct?: number;
50
+ amount?: string;
51
+ tokenAddress?: string;
52
+ bundleEndpoint?: string;
53
+ gasPriceGwei?: string;
54
+ transferGasLimit?: bigint;
55
+ nativeGasLimit?: bigint;
56
+ blockOffset?: number;
57
+ skipIfInsufficient?: boolean;
58
+ spMode?: SoulPointSignatureMode;
59
+ spPrivateKey?: string;
60
+ spVMode?: VNormalizationMode;
61
+ };
62
+ /** ✅ 归集参数(精简版 - 仅签名) */
63
+ export type SweepSignParams = {
64
+ rpcUrl: string;
65
+ chainId: number;
66
+ sourcePrivateKeys: string[];
67
+ target: string;
68
+ ratioPct?: number;
69
+ amount?: string;
70
+ tokenAddress?: string;
71
+ gasPriceGwei?: string;
72
+ transferGasLimit?: bigint;
73
+ nativeGasLimit?: bigint;
74
+ skipIfInsufficient?: boolean;
75
+ };
3
76
  /**
4
77
  * 归集(仅签名版本 - 不提交 Bundle)
5
78
  * ✅ 精简版:只负责签名交易,不提交
6
79
  */
7
- export declare function sweepWithBundle(params: AirdropSweepSignParams): Promise<SignedTransactionsResult>;
8
- export type { BundleSubmitResult, SignedTransactionsResult, AirdropDisperseParams, AirdropDisperseSignParams, AirdropSweepParams, AirdropSweepSignParams, DisperseParams, DisperseSignParams, SweepParams, SweepSignParams, } from './types/airdrop-sweep.js';
80
+ export declare function sweepWithBundle(params: SweepSignParams): Promise<SignedTransactionsResult>;