four-flap-meme-sdk 2.2.2 → 2.2.4

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 (472) hide show
  1. package/README.en.md +41 -6
  2. package/README.md +31 -0
  3. package/README.zh-CN.md +41 -6
  4. package/dist/__tests__/subpath-exports.test.d.ts +1 -0
  5. package/dist/__tests__/subpath-exports.test.js +64 -0
  6. package/dist/abis/common.d.ts +85 -0
  7. package/dist/abis/common.js +264 -0
  8. package/dist/abis/contracts/TaxToken.json +969 -0
  9. package/dist/abis/contracts/TokenManager2.json +136 -0
  10. package/dist/abis/contracts/index.d.ts +5 -0
  11. package/dist/abis/contracts/index.js +5 -0
  12. package/dist/abis/flap/index.d.ts +3 -0
  13. package/dist/abis/flap/index.js +3 -0
  14. package/dist/abis/flap/portal-events.d.ts +6 -0
  15. package/dist/abis/flap/portal-events.js +17 -0
  16. package/dist/abis/flap/portal.d.ts +6 -0
  17. package/dist/abis/flap/portal.js +37 -0
  18. package/dist/abis/flap/vault.d.ts +171 -0
  19. package/dist/abis/flap/vault.js +91 -0
  20. package/dist/abis/index.d.ts +8 -0
  21. package/dist/abis/index.js +11 -0
  22. package/dist/bundle-core/__tests__/config-helpers.test.d.ts +1 -0
  23. package/dist/bundle-core/__tests__/config-helpers.test.js +28 -0
  24. package/dist/bundle-core/__tests__/facade-parity.test.d.ts +1 -0
  25. package/dist/bundle-core/__tests__/facade-parity.test.js +33 -0
  26. package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +1 -0
  27. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +60 -0
  28. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +1 -0
  29. package/dist/bundle-core/__tests__/sign-fixture.test.js +220 -0
  30. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +10 -0
  31. package/dist/bundle-core/__tests__/sign-fixtures.js +16 -0
  32. package/dist/bundle-core/config-helpers.d.ts +36 -0
  33. package/dist/bundle-core/config-helpers.js +57 -0
  34. package/dist/bundle-core/errors.d.ts +50 -0
  35. package/dist/bundle-core/errors.js +35 -0
  36. package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +7 -0
  37. package/dist/bundle-core/four-meme/approve-tokenmanager.js +99 -0
  38. package/dist/bundle-core/four-meme/core-helpers.d.ts +8 -0
  39. package/dist/bundle-core/four-meme/core-helpers.js +40 -0
  40. package/dist/bundle-core/four-meme/core.d.ts +4 -0
  41. package/dist/bundle-core/four-meme/core.js +515 -0
  42. package/dist/bundle-core/four-meme/pancake-proxy.d.ts +28 -0
  43. package/dist/bundle-core/four-meme/pancake-proxy.js +679 -0
  44. package/dist/bundle-core/four-meme/private.d.ts +27 -0
  45. package/dist/bundle-core/four-meme/private.js +465 -0
  46. package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +2 -0
  47. package/dist/bundle-core/four-meme/sign-context-helpers.js +2 -0
  48. package/dist/bundle-core/four-meme/swap-buy-first.d.ts +8 -0
  49. package/dist/bundle-core/four-meme/swap-buy-first.js +493 -0
  50. package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +6 -0
  51. package/dist/bundle-core/four-meme/swap-hop-helpers.js +63 -0
  52. package/dist/bundle-core/four-meme/swap-internal.d.ts +3 -0
  53. package/dist/bundle-core/four-meme/swap-internal.js +18 -0
  54. package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +27 -0
  55. package/dist/bundle-core/four-meme/swap-sign-helpers.js +105 -0
  56. package/dist/bundle-core/four-meme/swap.d.ts +17 -0
  57. package/dist/bundle-core/four-meme/swap.js +505 -0
  58. package/dist/bundle-core/four-meme/types/buy-first.d.ts +50 -0
  59. package/dist/bundle-core/four-meme/types/buy-first.js +1 -0
  60. package/dist/bundle-core/four-meme/types/core-flow.d.ts +63 -0
  61. package/dist/bundle-core/four-meme/types/core-flow.js +1 -0
  62. package/dist/bundle-core/four-meme/types/index.d.ts +600 -0
  63. package/dist/bundle-core/four-meme/types/index.js +1 -0
  64. package/dist/bundle-core/four-meme/types/swap-internal.d.ts +19 -0
  65. package/dist/bundle-core/four-meme/types/swap-internal.js +1 -0
  66. package/dist/bundle-core/four-meme/types.d.ts +1 -0
  67. package/dist/bundle-core/four-meme/types.js +1 -0
  68. package/dist/bundle-core/four-meme/utils-disperse.d.ts +7 -0
  69. package/dist/bundle-core/four-meme/utils-disperse.js +396 -0
  70. package/dist/bundle-core/four-meme/utils-pairwise.d.ts +8 -0
  71. package/dist/bundle-core/four-meme/utils-pairwise.js +328 -0
  72. package/dist/bundle-core/four-meme/utils-sweep.d.ts +8 -0
  73. package/dist/bundle-core/four-meme/utils-sweep.js +744 -0
  74. package/dist/bundle-core/index.d.ts +8 -0
  75. package/dist/bundle-core/index.js +8 -0
  76. package/dist/bundle-core/internal.d.ts +21 -0
  77. package/dist/bundle-core/internal.js +182 -0
  78. package/dist/bundle-core/sign-context-helpers.d.ts +25 -0
  79. package/dist/bundle-core/sign-context-helpers.js +67 -0
  80. package/dist/bundle-core/submit.d.ts +293 -0
  81. package/dist/bundle-core/submit.js +727 -0
  82. package/dist/bundle-core/types/index.d.ts +8 -0
  83. package/dist/bundle-core/types/index.js +1 -0
  84. package/dist/bundle-core/types.d.ts +1 -0
  85. package/dist/bundle-core/types.js +1 -0
  86. package/dist/chains/bsc/four/approve-tokenmanager.d.ts +1 -26
  87. package/dist/chains/bsc/four/approve-tokenmanager.js +1 -113
  88. package/dist/chains/bsc/four/config.d.ts +5 -67
  89. package/dist/chains/bsc/four/config.js +2 -114
  90. package/dist/chains/bsc/four/core.d.ts +1 -4
  91. package/dist/chains/bsc/four/core.js +1 -592
  92. package/dist/chains/bsc/four/index.d.ts +6 -6
  93. package/dist/chains/bsc/four/index.js +6 -6
  94. package/dist/chains/bsc/four/internal.d.ts +2 -46
  95. package/dist/chains/bsc/four/internal.js +2 -239
  96. package/dist/chains/bsc/four/pancake-proxy.d.ts +1 -28
  97. package/dist/chains/bsc/four/pancake-proxy.js +1 -687
  98. package/dist/chains/bsc/four/private.d.ts +1 -27
  99. package/dist/chains/bsc/four/private.js +1 -477
  100. package/dist/chains/bsc/four/submit.d.ts +2 -315
  101. package/dist/chains/bsc/four/submit.js +2 -752
  102. package/dist/chains/bsc/four/swap-buy-first.d.ts +2 -55
  103. package/dist/chains/bsc/four/swap-buy-first.js +2 -507
  104. package/dist/chains/bsc/four/swap-internal.d.ts +1 -3
  105. package/dist/chains/bsc/four/swap-internal.js +1 -18
  106. package/dist/chains/bsc/four/swap.d.ts +2 -144
  107. package/dist/chains/bsc/four/swap.js +2 -766
  108. package/dist/chains/bsc/four/types.d.ts +1 -476
  109. package/dist/chains/bsc/four/utils-disperse.d.ts +1 -0
  110. package/dist/chains/bsc/four/utils-disperse.js +1 -0
  111. package/dist/chains/bsc/four/utils-pairwise.d.ts +1 -0
  112. package/dist/chains/bsc/four/utils-pairwise.js +1 -0
  113. package/dist/chains/bsc/four/utils-sweep.d.ts +1 -0
  114. package/dist/chains/bsc/four/utils-sweep.js +1 -0
  115. package/dist/chains/bsc/four/utils.d.ts +5 -18
  116. package/dist/chains/bsc/four/utils.js +5 -1552
  117. package/dist/chains/bsc/iro.d.ts +5 -0
  118. package/dist/chains/bsc/iro.js +4 -0
  119. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +159 -0
  120. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +117 -0
  121. package/dist/chains/bsc/pancake/bundle-buy-first.d.ts +1 -91
  122. package/dist/chains/bsc/pancake/bundle-buy-first.js +97 -212
  123. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +241 -0
  124. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +565 -0
  125. package/dist/chains/bsc/pancake/bundle-swap.d.ts +1 -79
  126. package/dist/chains/bsc/pancake/bundle-swap.js +114 -726
  127. package/dist/chains/bsc/pancake/index.d.ts +4 -2
  128. package/dist/chains/bsc/pancake/index.js +1 -3
  129. package/dist/chains/bsc/platforms/iro/factory.d.ts +2 -2
  130. package/dist/chains/bsc/platforms/iro/factory.js +3 -1
  131. package/dist/chains/bsc/platforms/iro/index.d.ts +5 -5
  132. package/dist/chains/bsc/platforms/iro/index.js +3 -3
  133. package/dist/chains/bsc/platforms/iro/pool.js +31 -10
  134. package/dist/chains/bsc/platforms/iro/token.js +4 -1
  135. package/dist/chains/eni/batch-router/bundle-approve.js +4 -3
  136. package/dist/chains/eni/batch-router/transfer.js +55 -25
  137. package/dist/chains/eni/batch-router/utils.js +32 -6
  138. package/dist/chains/eni/bundler/sign.js +5 -6
  139. package/dist/chains/eni/bundler/submit.js +1 -4
  140. package/dist/chains/eni/constants.js +1 -1
  141. package/dist/chains/eni/flat-aliases.d.ts +10 -0
  142. package/dist/chains/eni/flat-aliases.js +8 -0
  143. package/dist/chains/eni/index.d.ts +2 -1
  144. package/dist/chains/eni/index.js +1 -0
  145. package/dist/chains/eni/platforms/daoaas/create.js +2 -2
  146. package/dist/chains/eni/platforms/daoaas/index.d.ts +3 -3
  147. package/dist/chains/eni/platforms/daoaas/index.js +3 -3
  148. package/dist/chains/eni/platforms/daoaas/meta.js +9 -6
  149. package/dist/chains/eni/platforms/daoaas/portal-direct.js +28 -44
  150. package/dist/chains/eni/platforms/daoaas/portal.js +10 -6
  151. package/dist/chains/eni/platforms/dswap/liquidity.js +58 -26
  152. package/dist/chains/eni/platforms/fair-launch/index.d.ts +2 -2
  153. package/dist/chains/eni/platforms/fair-launch/index.js +1 -1
  154. package/dist/chains/eni/platforms/fair-launch/launcher.js +87 -46
  155. package/dist/chains/eni/platforms/fair-launch/pool.js +4 -1
  156. package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
  157. package/dist/chains/eni/platforms/iro/factory.d.ts +2 -2
  158. package/dist/chains/eni/platforms/iro/factory.js +3 -1
  159. package/dist/chains/eni/platforms/iro/index.d.ts +6 -6
  160. package/dist/chains/eni/platforms/iro/index.js +4 -4
  161. package/dist/chains/eni/platforms/iro/pool.js +90 -26
  162. package/dist/chains/eni/platforms/iro/token.js +107 -31
  163. package/dist/chains/eni/platforms/iro/whitelist.js +6 -18
  164. package/dist/chains/eni/submit.d.ts +43 -0
  165. package/dist/chains/eni/submit.js +286 -0
  166. package/dist/chains/index.d.ts +13 -0
  167. package/dist/chains/index.js +13 -0
  168. package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +2 -26
  169. package/dist/chains/xlayer/eip7702/bundle-approve.js +11 -21
  170. package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +2 -6
  171. package/dist/chains/xlayer/eip7702/bundle-buy.js +13 -51
  172. package/dist/chains/xlayer/eip7702/bundle-create.js +93 -59
  173. package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +2 -6
  174. package/dist/chains/xlayer/eip7702/bundle-sell.js +29 -111
  175. package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +3 -65
  176. package/dist/chains/xlayer/eip7702/bundle-swap.js +51 -245
  177. package/dist/chains/xlayer/eip7702/constants.d.ts +1 -16
  178. package/dist/chains/xlayer/eip7702/constants.js +3 -21
  179. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +13 -0
  180. package/dist/chains/xlayer/eip7702/flat-aliases.js +10 -0
  181. package/dist/chains/xlayer/eip7702/index.d.ts +28 -46
  182. package/dist/chains/xlayer/eip7702/index.js +28 -81
  183. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +79 -0
  184. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +1 -0
  185. package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +2 -203
  186. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +63 -307
  187. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +26 -0
  188. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +57 -0
  189. package/dist/chains/xlayer/eip7702/types.d.ts +88 -0
  190. package/dist/chains/xlayer/eip7702/utils.d.ts +0 -3
  191. package/dist/chains/xlayer/eip7702/utils.js +23 -28
  192. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +148 -0
  193. package/dist/chains/xlayer/eip7702/volume-helpers.js +48 -0
  194. package/dist/chains/xlayer/eip7702/volume.d.ts +6 -184
  195. package/dist/chains/xlayer/eip7702/volume.js +89 -164
  196. package/dist/chains/xlayer/eoa/constants.js +1 -1
  197. package/dist/chains/xlayer/eoa/dex-helpers.js +5 -5
  198. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +126 -0
  199. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +228 -0
  200. package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +1 -95
  201. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +66 -299
  202. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
  203. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +18 -23
  204. package/dist/chains/xlayer/eoa/index.d.ts +10 -6
  205. package/dist/chains/xlayer/eoa/index.js +8 -23
  206. package/dist/chains/xlayer/eoa/portal-ops.js +7 -2
  207. package/dist/chains/xlayer/eoa/router-manager.js +3 -3
  208. package/dist/chains/xlayer/eoa/types.d.ts +2 -2
  209. package/dist/chains/xlayer/eoa/types.js +1 -3
  210. package/dist/chains/xlayer/index.d.ts +3 -2
  211. package/dist/chains/xlayer/index.js +4 -7
  212. package/dist/contracts/helper3.d.ts +20 -5
  213. package/dist/contracts/helper3.js +56 -20
  214. package/dist/contracts/tm-bundle-helpers.d.ts +88 -0
  215. package/dist/contracts/tm-bundle-helpers.js +72 -0
  216. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +1 -26
  217. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +1 -113
  218. package/dist/contracts/tm-bundle-merkle/config.d.ts +5 -67
  219. package/dist/contracts/tm-bundle-merkle/config.js +2 -114
  220. package/dist/contracts/tm-bundle-merkle/core.d.ts +1 -4
  221. package/dist/contracts/tm-bundle-merkle/core.js +1 -591
  222. package/dist/contracts/tm-bundle-merkle/index.d.ts +5 -5
  223. package/dist/contracts/tm-bundle-merkle/index.js +5 -5
  224. package/dist/contracts/tm-bundle-merkle/internal.d.ts +2 -46
  225. package/dist/contracts/tm-bundle-merkle/internal.js +2 -238
  226. package/dist/contracts/tm-bundle-merkle/pancake-proxy.d.ts +1 -28
  227. package/dist/contracts/tm-bundle-merkle/pancake-proxy.js +1 -686
  228. package/dist/contracts/tm-bundle-merkle/private.d.ts +1 -27
  229. package/dist/contracts/tm-bundle-merkle/private.js +1 -476
  230. package/dist/contracts/tm-bundle-merkle/submit.d.ts +3 -314
  231. package/dist/contracts/tm-bundle-merkle/submit.js +3 -928
  232. package/dist/contracts/tm-bundle-merkle/swap-buy-first.d.ts +2 -55
  233. package/dist/contracts/tm-bundle-merkle/swap-buy-first.js +2 -506
  234. package/dist/contracts/tm-bundle-merkle/swap-internal.d.ts +1 -3
  235. package/dist/contracts/tm-bundle-merkle/swap-internal.js +1 -18
  236. package/dist/contracts/tm-bundle-merkle/swap.d.ts +2 -144
  237. package/dist/contracts/tm-bundle-merkle/swap.js +2 -764
  238. package/dist/contracts/tm-bundle-merkle/types.d.ts +1 -476
  239. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +1 -0
  240. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +1 -0
  241. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +1 -0
  242. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +1 -0
  243. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +1 -0
  244. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +1 -0
  245. package/dist/contracts/tm-bundle-merkle/utils.d.ts +6 -18
  246. package/dist/contracts/tm-bundle-merkle/utils.js +6 -1501
  247. package/dist/contracts/tm-bundle.d.ts +3 -51
  248. package/dist/contracts/tm-bundle.js +108 -177
  249. package/dist/contracts/tm.d.ts +3 -2
  250. package/dist/contracts/tm.js +37 -32
  251. package/dist/contracts/tm1.js +9 -4
  252. package/dist/contracts/tm2.js +9 -4
  253. package/dist/dex/direct-router-helpers.d.ts +264 -0
  254. package/dist/dex/direct-router-helpers.js +539 -0
  255. package/dist/dex/direct-router.d.ts +3 -125
  256. package/dist/dex/direct-router.js +237 -666
  257. package/dist/dex/types.d.ts +81 -0
  258. package/dist/dex/types.js +1 -0
  259. package/dist/exports/root-bundle-and-tooling.d.ts +27 -0
  260. package/dist/exports/root-bundle-and-tooling.js +30 -0
  261. package/dist/exports/root-eni-and-bsc-iro.d.ts +26 -0
  262. package/dist/exports/root-eni-and-bsc-iro.js +66 -0
  263. package/dist/exports/root-foundations.d.ts +35 -0
  264. package/dist/exports/root-foundations.js +70 -0
  265. package/dist/exports/root-swap-dex-and-xlayer.d.ts +30 -0
  266. package/dist/exports/root-swap-dex-and-xlayer.js +78 -0
  267. package/dist/flap/index.d.ts +10 -0
  268. package/dist/flap/index.js +8 -0
  269. package/dist/flows/create.d.ts +2 -1
  270. package/dist/flows/create.js +6 -6
  271. package/dist/flows/index.d.ts +1 -0
  272. package/dist/flows/index.js +1 -0
  273. package/dist/index.d.ts +20 -85
  274. package/dist/index.js +20 -215
  275. package/dist/merkle/index.d.ts +12 -0
  276. package/dist/merkle/index.js +11 -0
  277. package/dist/shared/abis/common.d.ts +2 -83
  278. package/dist/shared/abis/common.js +2 -252
  279. package/dist/shared/abis/index.d.ts +5 -6
  280. package/dist/shared/abis/index.js +5 -7
  281. package/dist/shared/clients/blockrazor.js +39 -25
  282. package/dist/shared/clients/club48.d.ts +2 -2
  283. package/dist/shared/clients/club48.js +34 -29
  284. package/dist/shared/clients/emitservice.js +2 -0
  285. package/dist/shared/clients/four.d.ts +21 -6
  286. package/dist/shared/clients/four.js +29 -24
  287. package/dist/shared/clients/index.d.ts +8 -0
  288. package/dist/shared/clients/index.js +8 -0
  289. package/dist/shared/clients/merkle.js +27 -34
  290. package/dist/shared/constants/addresses.d.ts +1 -1
  291. package/dist/shared/constants/addresses.js +11 -2
  292. package/dist/shared/constants/chains.d.ts +1 -1
  293. package/dist/shared/constants/chains.js +1 -1
  294. package/dist/shared/constants/gas.d.ts +1 -1
  295. package/dist/shared/constants/gas.js +2 -6
  296. package/dist/shared/constants/index.d.ts +3 -0
  297. package/dist/shared/constants/index.js +1 -0
  298. package/dist/shared/constants/quote.d.ts +30 -0
  299. package/dist/shared/constants/quote.js +37 -0
  300. package/dist/shared/flap/abi.js +1 -1
  301. package/dist/shared/flap/constants.d.ts +1 -2
  302. package/dist/shared/flap/constants.js +2 -3
  303. package/dist/shared/flap/curve.js +3 -0
  304. package/dist/shared/flap/errors.d.ts +1 -4
  305. package/dist/shared/flap/errors.js +20 -1
  306. package/dist/shared/flap/index.d.ts +5 -4
  307. package/dist/shared/flap/index.js +5 -4
  308. package/dist/shared/flap/meta.d.ts +22 -18
  309. package/dist/shared/flap/meta.js +12 -17
  310. package/dist/shared/flap/permit.js +5 -2
  311. package/dist/shared/flap/pinata.d.ts +22 -6
  312. package/dist/shared/flap/pinata.js +21 -26
  313. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +3 -72
  314. package/dist/shared/flap/portal-bundle-merkle/config.js +4 -124
  315. package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +32 -0
  316. package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +83 -0
  317. package/dist/shared/flap/portal-bundle-merkle/core.d.ts +0 -4
  318. package/dist/shared/flap/portal-bundle-merkle/core.js +96 -277
  319. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.d.ts +7 -2
  320. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +107 -206
  321. package/dist/shared/flap/portal-bundle-merkle/curve-to-dex.js +100 -92
  322. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +11 -7
  323. package/dist/shared/flap/portal-bundle-merkle/index.js +4 -7
  324. package/dist/shared/flap/portal-bundle-merkle/pancake-proxy.js +71 -68
  325. package/dist/shared/flap/portal-bundle-merkle/private.js +61 -114
  326. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +125 -0
  327. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +113 -0
  328. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +1 -64
  329. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.js +66 -247
  330. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +149 -0
  331. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +259 -0
  332. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +2 -71
  333. package/dist/shared/flap/portal-bundle-merkle/swap.js +103 -410
  334. package/dist/shared/flap/portal-bundle-merkle/types.d.ts +88 -9
  335. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +1 -80
  336. package/dist/shared/flap/portal-bundle-merkle/utils.js +145 -265
  337. package/dist/shared/flap/portal-bundle.js +55 -56
  338. package/dist/shared/flap/portal-create-token.d.ts +80 -0
  339. package/dist/shared/flap/portal-create-token.js +257 -0
  340. package/dist/shared/flap/portal.d.ts +14 -3
  341. package/dist/shared/flap/portal.js +50 -25
  342. package/dist/shared/flap/vanity.d.ts +1 -5
  343. package/dist/shared/flap/vanity.js +6 -17
  344. package/dist/shared/flap/vault.d.ts +17 -124
  345. package/dist/shared/flap/vault.js +67 -148
  346. package/dist/shared/foundation/dex/v3-path.d.ts +6 -0
  347. package/dist/shared/foundation/dex/v3-path.js +35 -0
  348. package/dist/shared/foundation/gas/bundle-gas.d.ts +49 -0
  349. package/dist/shared/foundation/gas/bundle-gas.js +93 -0
  350. package/dist/shared/foundation/gas/profit-hop.d.ts +20 -0
  351. package/dist/shared/foundation/gas/profit-hop.js +72 -0
  352. package/dist/shared/foundation/index.d.ts +13 -0
  353. package/dist/shared/foundation/index.js +12 -0
  354. package/dist/shared/foundation/nonce/nonce-manager.d.ts +17 -0
  355. package/dist/shared/foundation/nonce/nonce-manager.js +183 -0
  356. package/dist/shared/foundation/normalize-unknown.d.ts +9 -0
  357. package/dist/shared/foundation/normalize-unknown.js +29 -0
  358. package/dist/shared/foundation/sdk-logger.d.ts +13 -0
  359. package/dist/shared/foundation/sdk-logger.js +12 -0
  360. package/dist/shared/foundation/tx/build-request.d.ts +17 -0
  361. package/dist/shared/foundation/tx/build-request.js +25 -0
  362. package/dist/shared/foundation/tx/sign-batch.d.ts +5 -0
  363. package/dist/shared/foundation/tx/sign-batch.js +26 -0
  364. package/dist/shared/foundation/tx/wallet-sign-patch.d.ts +1 -0
  365. package/dist/shared/foundation/tx/wallet-sign-patch.js +18 -0
  366. package/dist/shared/foundation/types/airdrop-sweep.d.ts +79 -0
  367. package/dist/shared/foundation/types/airdrop-sweep.js +1 -0
  368. package/dist/shared/foundation/types/erc20.d.ts +65 -0
  369. package/dist/shared/foundation/types/erc20.js +1 -0
  370. package/dist/shared/foundation/types/holders-maker.d.ts +64 -0
  371. package/dist/shared/foundation/types/holders-maker.js +1 -0
  372. package/dist/shared/foundation/types/index.d.ts +7 -0
  373. package/dist/shared/foundation/types/index.js +1 -0
  374. package/dist/shared/foundation/types/lp-inspect.d.ts +102 -0
  375. package/dist/shared/foundation/types/lp-inspect.js +1 -0
  376. package/dist/shared/foundation/types/multicall.d.ts +5 -0
  377. package/dist/shared/foundation/types/multicall.js +1 -0
  378. package/dist/shared/foundation/types/private-sale.d.ts +35 -0
  379. package/dist/shared/foundation/types/private-sale.js +1 -0
  380. package/dist/shared/foundation/types/quote-helpers.d.ts +17 -0
  381. package/dist/shared/foundation/types/quote-helpers.js +1 -0
  382. package/dist/shared/four/tax-token.d.ts +1 -1
  383. package/dist/shared/four/tax-token.js +27 -7
  384. package/dist/shared/index.d.ts +6 -0
  385. package/dist/shared/index.js +4 -0
  386. package/dist/types/errors.d.ts +27 -0
  387. package/dist/types/errors.js +34 -0
  388. package/dist/utils/airdrop-sweep.d.ts +4 -76
  389. package/dist/utils/airdrop-sweep.js +42 -55
  390. package/dist/utils/bundle-helpers.d.ts +9 -243
  391. package/dist/utils/bundle-helpers.js +10 -584
  392. package/dist/utils/constants.d.ts +5 -61
  393. package/dist/utils/constants.js +5 -80
  394. package/dist/utils/contract-factory.d.ts +2 -4
  395. package/dist/utils/contract-factory.js +25 -18
  396. package/dist/utils/erc20.d.ts +7 -89
  397. package/dist/utils/erc20.js +94 -125
  398. package/dist/utils/errors.d.ts +12 -1
  399. package/dist/utils/errors.js +60 -1
  400. package/dist/utils/holders-maker/addresses.d.ts +12 -0
  401. package/dist/utils/holders-maker/addresses.js +15 -0
  402. package/dist/utils/holders-maker/buy-tx.d.ts +44 -0
  403. package/dist/utils/holders-maker/buy-tx.js +278 -0
  404. package/dist/utils/holders-maker/constants.d.ts +6 -0
  405. package/dist/utils/holders-maker/constants.js +7 -0
  406. package/dist/utils/holders-maker/disperse.d.ts +18 -0
  407. package/dist/utils/holders-maker/disperse.js +90 -0
  408. package/dist/utils/holders-maker/routing.d.ts +4 -0
  409. package/dist/utils/holders-maker/routing.js +45 -0
  410. package/dist/utils/holders-maker/transfer-tx.d.ts +4 -0
  411. package/dist/utils/holders-maker/transfer-tx.js +67 -0
  412. package/dist/utils/holders-maker-helpers.d.ts +9 -0
  413. package/dist/utils/holders-maker-helpers.js +9 -0
  414. package/dist/utils/holders-maker.d.ts +2 -138
  415. package/dist/utils/holders-maker.js +26 -661
  416. package/dist/utils/hop-chains.d.ts +35 -0
  417. package/dist/utils/hop-chains.js +215 -0
  418. package/dist/utils/lp-inspect-helpers.d.ts +9 -0
  419. package/dist/utils/lp-inspect-helpers.js +109 -0
  420. package/dist/utils/lp-inspect.d.ts +2 -112
  421. package/dist/utils/lp-inspect.js +73 -223
  422. package/dist/utils/mpcExclusive.d.ts +2 -5
  423. package/dist/utils/mpcExclusive.js +4 -3
  424. package/dist/utils/private-sale.d.ts +2 -58
  425. package/dist/utils/private-sale.js +4 -15
  426. package/dist/utils/provider-factory.d.ts +4 -0
  427. package/dist/utils/provider-factory.js +10 -0
  428. package/dist/utils/quote-helpers.d.ts +4 -45
  429. package/dist/utils/quote-helpers.js +17 -74
  430. package/dist/utils/stealth-transfer.d.ts +2 -28
  431. package/dist/utils/stealth-transfer.js +31 -15
  432. package/dist/utils/swap-helpers.d.ts +2 -15
  433. package/dist/utils/swap-helpers.js +6 -11
  434. package/dist/utils/types/airdrop-sweep.d.ts +1 -0
  435. package/dist/utils/types/airdrop-sweep.js +1 -0
  436. package/dist/utils/types/contract-factory.d.ts +1 -0
  437. package/dist/utils/types/contract-factory.js +1 -0
  438. package/dist/utils/types/erc20.d.ts +1 -0
  439. package/dist/utils/types/erc20.js +1 -0
  440. package/dist/utils/types/errors.d.ts +1 -0
  441. package/dist/utils/types/errors.js +1 -0
  442. package/dist/utils/types/holders-maker.d.ts +1 -0
  443. package/dist/utils/types/holders-maker.js +1 -0
  444. package/dist/utils/types/hop-chains.d.ts +8 -0
  445. package/dist/utils/types/hop-chains.js +1 -0
  446. package/dist/utils/types/index.d.ts +13 -0
  447. package/dist/utils/types/index.js +1 -0
  448. package/dist/utils/types/lp-inspect.d.ts +1 -0
  449. package/dist/utils/types/lp-inspect.js +1 -0
  450. package/dist/utils/types/mpc-exclusive.d.ts +5 -0
  451. package/dist/utils/types/mpc-exclusive.js +1 -0
  452. package/dist/utils/types/private-sale.d.ts +1 -0
  453. package/dist/utils/types/private-sale.js +1 -0
  454. package/dist/utils/types/quote-helpers.d.ts +1 -0
  455. package/dist/utils/types/quote-helpers.js +1 -0
  456. package/dist/utils/types/stealth-transfer.d.ts +44 -0
  457. package/dist/utils/types/stealth-transfer.js +1 -0
  458. package/dist/utils/types/wallet.d.ts +25 -0
  459. package/dist/utils/types/wallet.js +1 -0
  460. package/dist/utils/wallet.d.ts +2 -25
  461. package/dist/utils/wallet.js +13 -10
  462. package/dist/vanity/index.d.ts +5 -0
  463. package/dist/vanity/index.js +5 -0
  464. package/package.json +160 -4
  465. package/src/abis/contracts/TaxToken.json +969 -0
  466. package/src/abis/contracts/TokenManager.json +836 -0
  467. package/src/abis/contracts/TokenManager2.json +136 -0
  468. package/src/abis/contracts/TokenManagerHelper3.json +993 -0
  469. package/dist/shared/abis/TaxToken.json +0 -105
  470. package/dist/shared/abis/TokenManager2.json +0 -60
  471. /package/dist/{shared/abis → abis/contracts}/TokenManager.json +0 -0
  472. /package/dist/{shared/abis → abis/contracts}/TokenManagerHelper3.json +0 -0
@@ -12,8 +12,17 @@ export declare enum TokenVersion {
12
12
  TOKEN_V2_PERMIT = 2,
13
13
  TOKEN_GOPLUS = 3,
14
14
  TOKEN_TAXED = 4,
15
- /** VaultPortal.newTokenV6WithVault 金库发射必须使用此版本 */
16
- TOKEN_TAXED_V3 = 6
15
+ TOKEN_TAXED_V2 = 5,
16
+ TOKEN_TAXED_V3 = 6,
17
+ TOKEN_V3_PERMIT = 7
18
+ }
19
+ /** newTokenV7 feeConfigs 槽位类型 */
20
+ export declare enum FeeType {
21
+ NONE = 0,
22
+ MARKETING_OR_VAULT = 1,
23
+ DIVIDEND = 2,
24
+ DEFLATION = 3,
25
+ LP_BPS = 4
17
26
  }
18
27
  export declare enum DexThreshType {
19
28
  TWO_THIRDS = 0,
@@ -25,7 +34,9 @@ export declare enum DexThreshType {
25
34
  }
26
35
  export declare enum MigratorType {
27
36
  V3_MIGRATOR = 0,
28
- V2_MIGRATOR = 1
37
+ V2_MIGRATOR = 1,
38
+ /** PCS Infinity CL 迁移(newTokenV7 / TOKEN_V3_PERMIT) */
39
+ PCS_INFINITY_CL_MIGRATOR = 3
29
40
  }
30
41
  /**
31
42
  * V3 LP 费率档位
@@ -16,9 +16,19 @@ export var TokenVersion;
16
16
  TokenVersion[TokenVersion["TOKEN_V2_PERMIT"] = 2] = "TOKEN_V2_PERMIT";
17
17
  TokenVersion[TokenVersion["TOKEN_GOPLUS"] = 3] = "TOKEN_GOPLUS";
18
18
  TokenVersion[TokenVersion["TOKEN_TAXED"] = 4] = "TOKEN_TAXED";
19
- /** VaultPortal.newTokenV6WithVault 金库发射必须使用此版本 */
19
+ TokenVersion[TokenVersion["TOKEN_TAXED_V2"] = 5] = "TOKEN_TAXED_V2";
20
20
  TokenVersion[TokenVersion["TOKEN_TAXED_V3"] = 6] = "TOKEN_TAXED_V3";
21
+ TokenVersion[TokenVersion["TOKEN_V3_PERMIT"] = 7] = "TOKEN_V3_PERMIT";
21
22
  })(TokenVersion || (TokenVersion = {}));
23
+ /** newTokenV7 feeConfigs 槽位类型 */
24
+ export var FeeType;
25
+ (function (FeeType) {
26
+ FeeType[FeeType["NONE"] = 0] = "NONE";
27
+ FeeType[FeeType["MARKETING_OR_VAULT"] = 1] = "MARKETING_OR_VAULT";
28
+ FeeType[FeeType["DIVIDEND"] = 2] = "DIVIDEND";
29
+ FeeType[FeeType["DEFLATION"] = 3] = "DEFLATION";
30
+ FeeType[FeeType["LP_BPS"] = 4] = "LP_BPS";
31
+ })(FeeType || (FeeType = {}));
22
32
  export var DexThreshType;
23
33
  (function (DexThreshType) {
24
34
  DexThreshType[DexThreshType["TWO_THIRDS"] = 0] = "TWO_THIRDS";
@@ -32,6 +42,8 @@ export var MigratorType;
32
42
  (function (MigratorType) {
33
43
  MigratorType[MigratorType["V3_MIGRATOR"] = 0] = "V3_MIGRATOR";
34
44
  MigratorType[MigratorType["V2_MIGRATOR"] = 1] = "V2_MIGRATOR";
45
+ /** PCS Infinity CL 迁移(newTokenV7 / TOKEN_V3_PERMIT) */
46
+ MigratorType[MigratorType["PCS_INFINITY_CL_MIGRATOR"] = 3] = "PCS_INFINITY_CL_MIGRATOR";
35
47
  })(MigratorType || (MigratorType = {}));
36
48
  /**
37
49
  * V3 LP 费率档位
@@ -83,8 +95,12 @@ const PORTAL_ABI = [
83
95
  'function newTokenV2((string name,string symbol,string meta,uint8 dexThresh,bytes32 salt,uint16 taxRate,uint8 migratorType,address quoteToken,uint256 quoteAmt,address beneficiary,bytes permitData)) external payable returns (address)',
84
96
  'function newTokenV3((string name,string symbol,string meta,uint8 dexThresh,bytes32 salt,uint16 taxRate,uint8 migratorType,address quoteToken,uint256 quoteAmt,address beneficiary,bytes permitData,bytes32 extensionID,bytes extensionData)) external payable returns (address)',
85
97
  'function newTokenV4((string name,string symbol,string meta,uint8 dexThresh,bytes32 salt,uint16 taxRate,uint8 migratorType,address quoteToken,uint256 quoteAmt,address beneficiary,bytes permitData,bytes32 extensionID,bytes extensionData,uint8 dexId,uint8 lpFeeProfile)) external payable returns (address)',
86
- // newTokenV5: 支持 Tax Token V2 高级税收分配(taxRate > 0 时使用)
98
+ // newTokenV5: 支持 Tax Token V2 高级税收分配(legacy,推荐 newTokenV6)
87
99
  'function newTokenV5((string name,string symbol,string meta,uint8 dexThresh,bytes32 salt,uint16 taxRate,uint8 migratorType,address quoteToken,uint256 quoteAmt,address beneficiary,bytes permitData,bytes32 extensionID,bytes extensionData,uint8 dexId,uint8 lpFeeProfile,uint64 taxDuration,uint64 antiFarmerDuration,uint16 mktBps,uint16 deflationBps,uint16 dividendBps,uint16 lpBps,uint256 minimumShareBalance)) external payable returns (address)',
100
+ // newTokenV6: 统一入口(TOKEN_V2_PERMIT / TOKEN_TAXED_V3)
101
+ 'function newTokenV6((string name,string symbol,string meta,uint8 dexThresh,bytes32 salt,uint8 migratorType,address quoteToken,uint256 quoteAmt,address beneficiary,bytes permitData,bytes32 extensionID,bytes extensionData,uint8 dexId,uint8 lpFeeProfile,uint16 buyTaxRate,uint16 sellTaxRate,uint64 taxDuration,uint64 antiFarmerDuration,uint16 mktBps,uint16 deflationBps,uint16 dividendBps,uint16 lpBps,uint256 minimumShareBalance,address dividendToken,address commissionReceiver,uint8 tokenVersion)) external payable returns (address)',
102
+ // newTokenV7: TOKEN_V3_PERMIT + CL 迁移
103
+ 'function newTokenV7((string name,string symbol,string meta,uint8 dexThresh,bytes32 salt,uint8 migratorType,address quoteToken,uint256 quoteAmt,bytes permitData,bytes32 extensionID,bytes extensionData,uint8 dexId,uint16 buyTaxRate,uint16 sellTaxRate,uint64 taxDuration,uint64 antiFarmerDuration,address commissionReceiver,uint8 tokenVersion,(uint8 feeType,uint16 bps,address marketingAddress,address dividendToken,uint256 minimumShareBalance)[4] feeConfigs)) external payable returns (address)',
88
104
  // 受益人领取
89
105
  'function claim(address token) external returns (uint256,uint256)',
90
106
  'function delegateClaim(address token) external returns (uint256,uint256)',
@@ -92,17 +108,21 @@ const PORTAL_ABI = [
92
108
  'function getFeeRate() external view returns (uint256,uint256)',
93
109
  'function nonce() external view returns (uint256)',
94
110
  'function version() external pure returns (string)',
95
- 'function getLocks(address token) external view returns (uint256[])'
111
+ 'function getLocks(address token) external view returns (uint256[])',
96
112
  ];
97
113
  /**
98
114
  * 将 lpFeeProfile 转换为 V3 fee 值
99
115
  */
100
116
  export function lpFeeProfileToV3Fee(profile) {
101
117
  switch (profile) {
102
- case V3LPFeeProfile.LP_FEE_PROFILE_STANDARD: return 2500;
103
- case V3LPFeeProfile.LP_FEE_PROFILE_LOW: return 100;
104
- case V3LPFeeProfile.LP_FEE_PROFILE_HIGH: return 10000;
105
- default: return 2500; // 默认 STANDARD
118
+ case V3LPFeeProfile.LP_FEE_PROFILE_STANDARD:
119
+ return 2500;
120
+ case V3LPFeeProfile.LP_FEE_PROFILE_LOW:
121
+ return 100;
122
+ case V3LPFeeProfile.LP_FEE_PROFILE_HIGH:
123
+ return 10000;
124
+ default:
125
+ return 2500; // 默认 STANDARD
106
126
  }
107
127
  }
108
128
  /**
@@ -119,6 +139,11 @@ export function validateTaxDistribution(config) {
119
139
  return { valid: true };
120
140
  }
121
141
  export class FlapPortal {
142
+ rpcUrl;
143
+ portal;
144
+ contract;
145
+ buyFeeRate;
146
+ sellFeeRate;
122
147
  constructor(cfg) {
123
148
  this.rpcUrl = cfg.rpcUrl;
124
149
  this.portal = cfg.addressOverride ?? FLAP_PORTAL_ADDRESSES[cfg.chain];
@@ -133,13 +158,27 @@ export class FlapPortal {
133
158
  async getTokenV2(token) {
134
159
  const r = await this.contract.getTokenV2(token);
135
160
  return {
136
- status: r[0], reserve: r[1], circulatingSupply: r[2], price: r[3], tokenVersion: r[4], r: r[5], dexSupplyThresh: r[6],
161
+ status: r[0],
162
+ reserve: r[1],
163
+ circulatingSupply: r[2],
164
+ price: r[3],
165
+ tokenVersion: r[4],
166
+ r: r[5],
167
+ dexSupplyThresh: r[6],
137
168
  };
138
169
  }
139
170
  async getTokenV3(token) {
140
171
  const r = await this.contract.getTokenV3(token);
141
172
  return {
142
- status: r[0], reserve: r[1], circulatingSupply: r[2], price: r[3], tokenVersion: r[4], r: r[5], dexSupplyThresh: r[6], quoteTokenAddress: r[7], nativeToQuoteSwapEnabled: r[8],
173
+ status: r[0],
174
+ reserve: r[1],
175
+ circulatingSupply: r[2],
176
+ price: r[3],
177
+ tokenVersion: r[4],
178
+ r: r[5],
179
+ dexSupplyThresh: r[6],
180
+ quoteTokenAddress: r[7],
181
+ nativeToQuoteSwapEnabled: r[8],
143
182
  };
144
183
  }
145
184
  async getTokenV4(token) {
@@ -211,7 +250,6 @@ export class FlapPortal {
211
250
  const curve = new CDPV2(r, h, k);
212
251
  const currentReserve = formatEther(state.reserve);
213
252
  const dexSupplyThresh = formatEther(state.dexSupplyThresh);
214
- const circulatingSupply = formatEther(state.circulatingSupply);
215
253
  // 计算毕业时的储备
216
254
  const graduationReserve = curve.estimateReserve(dexSupplyThresh);
217
255
  const graduationReserveNum = parseFloat(graduationReserve.toString());
@@ -223,9 +261,7 @@ export class FlapPortal {
223
261
  // 含手续费(1% buy fee)
224
262
  const remainingWithFee = remainingNet / (1 - this.buyFeeRate);
225
263
  // 计算进度
226
- const progressPercent = isGraduated
227
- ? '100.00'
228
- : (currentReserveNum / graduationReserveNum * 100).toFixed(2);
264
+ const progressPercent = isGraduated ? '100.00' : ((currentReserveNum / graduationReserveNum) * 100).toFixed(2);
229
265
  return {
230
266
  remainingOkb: remainingWithFee.toFixed(6),
231
267
  graduationReserve: graduationReserveNum.toFixed(6),
@@ -333,6 +369,7 @@ export class FlapPortal {
333
369
  }
334
370
  }
335
371
  export class FlapPortalWriter extends FlapPortal {
372
+ wallet;
336
373
  constructor(cfg, privateKey) {
337
374
  super(cfg);
338
375
  // 使用 ethers v6 创建钱包
@@ -581,15 +618,3 @@ export class FlapPortalWriter extends FlapPortal {
581
618
  return this.portal;
582
619
  }
583
620
  }
584
- /**
585
- * 获取 Flap Portal 合约地址(内部使用)
586
- * 注意:此方法不对外导出,用户应使用 FlapPortal 实例而非直接获取地址
587
- * @internal
588
- */
589
- function getFlapPortalAddress(chain) {
590
- const address = FLAP_PORTAL_ADDRESSES[chain];
591
- if (!address) {
592
- throw new Error(`Flap Portal not deployed on ${chain}`);
593
- }
594
- return address;
595
- }
@@ -9,10 +9,8 @@ export declare function predictVanityTokenAddress(salt: string, portal: string,
9
9
  * 注意:使用 Flap 平台的原始 Portal 地址进行 CREATE2 计算
10
10
  * BSC/MONAD 默认使用 NORMAL 实现(非税版)
11
11
  * @param taxedV5 - 是否使用 V5 高级税代币实现 (mkt/deflation/dividend/lp)
12
- * @param taxedV3 - 是否使用 V3 金库税代币实现 (VaultPortal.newTokenV6WithVault)
13
12
  */
14
- export declare function predictVanityTokenAddressByChain(chain: 'BSC' | 'BASE' | 'XLAYER' | 'MORPH' | 'MONAD', salt: string, taxed?: boolean, taxedV5?: boolean, // ✅ V5 高级税代币标识
15
- taxedV3?: boolean): string;
13
+ export declare function predictVanityTokenAddressByChain(chain: 'BSC' | 'BASE' | 'XLAYER' | 'MORPH' | 'MONAD', salt: string, taxed?: boolean, taxedV5?: boolean): string;
16
14
  /**
17
15
  * 寻找满足后缀的 salt(默认 8888)
18
16
  * 注意:该方法为同步 CPU 搜索,谨慎设置迭代限制
@@ -35,7 +33,6 @@ export declare function findSaltEnding(opts: {
35
33
  * BSC/MONAD 默认使用 NORMAL 实现(非税版)
36
34
  * XLayer 只有标准版,后缀是 1111
37
35
  * @param taxedV5 - 是否使用 V5 高级税代币实现 (mkt/deflation/dividend/lp)
38
- * @param taxedV3 - 是否使用 V3 金库税代币实现 (VaultPortal.newTokenV6WithVault)
39
36
  */
40
37
  export declare function findSaltEndingByChain(opts: {
41
38
  chain: 'BSC' | 'BASE' | 'XLAYER' | 'MORPH' | 'MONAD';
@@ -44,7 +41,6 @@ export declare function findSaltEndingByChain(opts: {
44
41
  seed?: string;
45
42
  taxed?: boolean;
46
43
  taxedV5?: boolean;
47
- taxedV3?: boolean;
48
44
  }): Promise<{
49
45
  salt: string;
50
46
  address: string;
@@ -6,9 +6,7 @@ import { FLAP_ORIGINAL_PORTAL_ADDRESSES, FLAP_TOKEN_IMPL_ADDRESSES, getVanitySuf
6
6
  */
7
7
  export function predictVanityTokenAddress(salt, portal, tokenImpl) {
8
8
  // 规范化 salt 到 bytes32(避免前端传入的短字符串导致不可预期行为)
9
- const normalizedSalt = /^0x[0-9a-fA-F]{64}$/.test(salt)
10
- ? salt.toLowerCase()
11
- : keccak256(salt);
9
+ const normalizedSalt = /^0x[0-9a-fA-F]{64}$/.test(salt) ? salt.toLowerCase() : keccak256(salt);
12
10
  // 构建 EIP-1167 minimal proxy bytecode
13
11
  const bytecode = '0x3d602d80600a3d3981f3363d3d373d3d3d363d73' + tokenImpl.slice(2).toLowerCase() + '5af43d82803e903d91602b57fd5bf3';
14
12
  const bytecodeHash = keccak256(bytecode);
@@ -20,18 +18,13 @@ export function predictVanityTokenAddress(salt, portal, tokenImpl) {
20
18
  * 注意:使用 Flap 平台的原始 Portal 地址进行 CREATE2 计算
21
19
  * BSC/MONAD 默认使用 NORMAL 实现(非税版)
22
20
  * @param taxedV5 - 是否使用 V5 高级税代币实现 (mkt/deflation/dividend/lp)
23
- * @param taxedV3 - 是否使用 V3 金库税代币实现 (VaultPortal.newTokenV6WithVault)
24
21
  */
25
- export function predictVanityTokenAddressByChain(chain, salt, taxed = false, taxedV5 = false, // ✅ V5 高级税代币标识
26
- taxedV3 = false) {
22
+ export function predictVanityTokenAddressByChain(chain, salt, taxed = false, taxedV5 = false) {
27
23
  // 使用 Flap 平台的原始 Portal 地址(用于 CREATE2)
28
24
  const portal = FLAP_ORIGINAL_PORTAL_ADDRESSES[chain];
29
25
  let tokenImpl;
30
26
  if (chain === 'BSC') {
31
- if (taxedV3) {
32
- tokenImpl = FLAP_TOKEN_IMPL_ADDRESSES.BSC_TAXED_V3;
33
- }
34
- else if (taxedV5) {
27
+ if (taxedV5) {
35
28
  // ✅ V5 高级税代币使用新的实现地址
36
29
  tokenImpl = FLAP_TOKEN_IMPL_ADDRESSES.BSC_TAXED_V5;
37
30
  }
@@ -60,7 +53,7 @@ export async function findSaltEnding(opts) {
60
53
  // 若未提供 seed,默认使用随机种子,避免每次结果都相同
61
54
  let salt = opts.seed ?? keccak256(randomBytes(32));
62
55
  let iterations = 0;
63
- const limit = opts.maxIterations ?? 1000000;
56
+ const limit = opts.maxIterations ?? 1_000_000;
64
57
  while (iterations < limit) {
65
58
  const addr = predictVanityTokenAddress(salt, opts.portal, opts.tokenImpl);
66
59
  if (addr.toLowerCase().endsWith(suffix)) {
@@ -78,17 +71,13 @@ export async function findSaltEnding(opts) {
78
71
  * BSC/MONAD 默认使用 NORMAL 实现(非税版)
79
72
  * XLayer 只有标准版,后缀是 1111
80
73
  * @param taxedV5 - 是否使用 V5 高级税代币实现 (mkt/deflation/dividend/lp)
81
- * @param taxedV3 - 是否使用 V3 金库税代币实现 (VaultPortal.newTokenV6WithVault)
82
74
  */
83
75
  export async function findSaltEndingByChain(opts) {
84
76
  // 使用 Flap 平台的原始 Portal 地址(用于 CREATE2)
85
77
  const portal = FLAP_ORIGINAL_PORTAL_ADDRESSES[opts.chain];
86
78
  let tokenImpl;
87
79
  if (opts.chain === 'BSC') {
88
- if (opts.taxedV3) {
89
- tokenImpl = FLAP_TOKEN_IMPL_ADDRESSES.BSC_TAXED_V3;
90
- }
91
- else if (opts.taxedV5) {
80
+ if (opts.taxedV5) {
92
81
  // ✅ V5 高级税代币使用新的实现地址
93
82
  tokenImpl = FLAP_TOKEN_IMPL_ADDRESSES.BSC_TAXED_V5;
94
83
  }
@@ -113,6 +102,6 @@ export async function findSaltEndingByChain(opts) {
113
102
  tokenImpl,
114
103
  suffix,
115
104
  maxIterations: opts.maxIterations,
116
- seed: opts.seed
105
+ seed: opts.seed,
117
106
  });
118
107
  }
@@ -4,19 +4,16 @@
4
4
  * ⚠️ 重要:基于 flap.sh/launch 实际源码分析,金库模式架构如下:
5
5
  *
6
6
  * 1. 金库代币通过 VaultPortal 合约创建(不是普通 Portal)
7
- * 2. 调用函数:VaultPortal.newTokenV6WithVault(params) + tokenVersion = TOKEN_TAXED_V3
7
+ * 2. 调用函数:VaultPortal.newTaxTokenWithVault(params)
8
8
  * 3. 参数中 extensionID/extensionData 始终为零值
9
9
  * 4. 真正的金库配置通过 vaultFactory(工厂地址)和 vaultData(ABI 编码数据)传递
10
10
  * 5. 每种金库类型对应一个具体的 VaultFactory 合约地址
11
11
  *
12
- * ⚠️ newTaxTokenWithVault 已在链上废弃并始终 revert,请勿再使用。
13
- *
14
- * VaultPortal.newTokenV6WithVault 参数结构:
15
- * - 基础参数(与 Portal.newTokenV6 相同,无 beneficiary):name, symbol, meta, dexThresh, salt,
12
+ * VaultPortal.newTaxTokenWithVault 参数结构:
13
+ * - 基础参数(与 Portal.newTokenV5 相同):name, symbol, meta, dexThresh, salt, taxRate,
16
14
  * migratorType, quoteToken, quoteAmt, permitData, extensionID(全零), extensionData("0x"),
17
- * dexId, lpFeeProfile, buyTaxRate, sellTaxRate, taxDuration, antiFarmerDuration,
18
- * mktBps, deflationBps, dividendBps, lpBps, minimumShareBalance, dividendToken,
19
- * commissionReceiver, tokenVersion(=TOKEN_TAXED_V3)
15
+ * dexId, lpFeeProfile, taxDuration, antiFarmerDuration, mktBps, deflationBps, dividendBps,
16
+ * lpBps, minimumShareBalance
20
17
  * - 金库专属参数:vaultFactory(address), vaultData(bytes)
21
18
  *
22
19
  * 金库分类(来自 flap.sh 源码):
@@ -31,7 +28,6 @@
31
28
  * @module vault
32
29
  */
33
30
  import { type JsonRpcProvider } from 'ethers';
34
- import { TokenVersion } from './portal.js';
35
31
  /**
36
32
  * FieldDescriptor — 字段描述符
37
33
  * 对应 Solidity 结构体 IVaultSchemasV1.FieldDescriptor
@@ -121,21 +117,19 @@ export declare const VAULT_EXTRA_CONFIG: Record<string, Record<string, Record<st
121
117
  export declare const FLAP_GUARDIAN_ADDRESSES: {
122
118
  readonly BSC: "0x9e27098dcD8844bcc6287a557E0b4D09C86B8a4b";
123
119
  };
124
- /** VaultPortal 金库发射必须使用 TOKEN_TAXED_V3(enum = 6) */
125
- export declare const TOKEN_TAXED_V3_VERSION = TokenVersion.TOKEN_TAXED_V3;
126
120
  /**
127
- * VaultPortal ABI — newTokenV6WithVault(当前唯一支持的金库发射入口)
121
+ * VaultPortal ABI — newTaxTokenWithVault
128
122
  *
129
- * 来源:Flap 官方 VaultPortal 文档
130
- * https://docs.flap.sh/flap/developers/token-launcher-developers/launch-token-through-vaultportal
123
+ * ⚠️ flap.sh 前端 JS 源码提取的真实 ABI
124
+ * 来源:flap.sh/_next/static/chunks/6288-*.js(VaultPortal 合约 ABI)
131
125
  */
132
126
  export declare const VAULT_PORTAL_ABI: readonly [{
133
127
  readonly type: "function";
134
- readonly name: "newTokenV6WithVault";
128
+ readonly name: "newTaxTokenWithVault";
135
129
  readonly inputs: readonly [{
136
130
  readonly name: "params";
137
131
  readonly type: "tuple";
138
- readonly internalType: "struct IVaultPortalTypes.NewTokenV6WithVaultParams";
132
+ readonly internalType: "struct IVaultPortalTypes.NewTaxTokenWithVaultParams";
139
133
  readonly components: readonly [{
140
134
  readonly name: "name";
141
135
  readonly type: "string";
@@ -151,11 +145,15 @@ export declare const VAULT_PORTAL_ABI: readonly [{
151
145
  }, {
152
146
  readonly name: "dexThresh";
153
147
  readonly type: "uint8";
154
- readonly internalType: "enum IPortalTypes.DexThreshType";
148
+ readonly internalType: "enum IPortalCommonTypes.DexThreshType";
155
149
  }, {
156
150
  readonly name: "salt";
157
151
  readonly type: "bytes32";
158
152
  readonly internalType: "bytes32";
153
+ }, {
154
+ readonly name: "taxRate";
155
+ readonly type: "uint16";
156
+ readonly internalType: "uint16";
159
157
  }, {
160
158
  readonly name: "migratorType";
161
159
  readonly type: "uint8";
@@ -188,14 +186,6 @@ export declare const VAULT_PORTAL_ABI: readonly [{
188
186
  readonly name: "lpFeeProfile";
189
187
  readonly type: "uint8";
190
188
  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";
199
189
  }, {
200
190
  readonly name: "taxDuration";
201
191
  readonly type: "uint64";
@@ -224,18 +214,6 @@ export declare const VAULT_PORTAL_ABI: readonly [{
224
214
  readonly name: "minimumShareBalance";
225
215
  readonly type: "uint256";
226
216
  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";
239
217
  }, {
240
218
  readonly name: "vaultFactory";
241
219
  readonly type: "address";
@@ -365,7 +343,7 @@ export declare function getVaultFactoryAddress(chain: string, vaultType: VaultTy
365
343
  */
366
344
  export declare function getVaultPortalAddress(chain: string): string | null;
367
345
  /**
368
- * 构建金库参数(用于 VaultPortal.newTokenV6WithVault
346
+ * 构建金库参数(用于 VaultPortal.newTaxTokenWithVault
369
347
  *
370
348
  * ⚠️ 重要:返回的是 vaultFactory 和 vaultData,不是 extensionID/extensionData
371
349
  * extensionID/extensionData 在金库模式下始终为零值
@@ -376,91 +354,6 @@ export declare function buildVaultParams(config?: TaxVaultConfig, chain?: string
376
354
  vaultFactory: string;
377
355
  vaultData: string;
378
356
  };
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
- };
464
357
  /**
465
358
  * 旧版兼容:将 TaxVaultConfig 转换为 extensionID 和 extensionData
466
359
  *
@@ -468,7 +361,7 @@ export declare function getVaultLaunchVanityOptions(chain: string): {
468
361
  * 金库参数通过 VaultPortal 的 vaultFactory/vaultData 传递
469
362
  * 此函数仅用于向后兼容
470
363
  */
471
- export declare function buildVaultExtensionParams(config?: TaxVaultConfig): {
364
+ export declare function buildVaultExtensionParams(): {
472
365
  extensionID: string;
473
366
  extensionData: string;
474
367
  };