four-flap-meme-sdk 2.2.1 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (470) 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 +85 -20
  142. package/dist/index.js +215 -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 +252 -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 +3 -2
  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 +3 -3
  171. package/dist/shared/flap/index.js +3 -3
  172. package/dist/shared/flap/meta.d.ts +18 -22
  173. package/dist/shared/flap/meta.js +17 -12
  174. package/dist/shared/flap/permit.js +2 -5
  175. package/dist/shared/flap/pinata.d.ts +6 -22
  176. package/dist/shared/flap/pinata.js +26 -21
  177. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +72 -3
  178. package/dist/shared/flap/portal-bundle-merkle/config.js +124 -4
  179. package/dist/shared/flap/portal-bundle-merkle/core.d.ts +4 -0
  180. package/dist/shared/flap/portal-bundle-merkle/core.js +172 -92
  181. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.d.ts +1 -2
  182. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +99 -106
  183. package/dist/shared/flap/portal-bundle-merkle/curve-to-dex.js +92 -100
  184. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +7 -11
  185. package/dist/shared/flap/portal-bundle-merkle/index.js +7 -4
  186. package/dist/shared/flap/portal-bundle-merkle/pancake-proxy.js +68 -71
  187. package/dist/shared/flap/portal-bundle-merkle/private.js +114 -61
  188. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +64 -1
  189. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.js +247 -66
  190. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +71 -2
  191. package/dist/shared/flap/portal-bundle-merkle/swap.js +410 -103
  192. package/dist/shared/flap/portal-bundle-merkle/types.d.ts +7 -73
  193. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +80 -1
  194. package/dist/shared/flap/portal-bundle-merkle/utils.js +265 -145
  195. package/dist/shared/flap/portal-bundle.js +56 -55
  196. package/dist/shared/flap/portal.d.ts +3 -1
  197. package/dist/shared/flap/portal.js +25 -32
  198. package/dist/shared/flap/vanity.d.ts +5 -1
  199. package/dist/shared/flap/vanity.js +17 -6
  200. package/dist/shared/flap/vault.d.ts +124 -17
  201. package/dist/shared/flap/vault.js +148 -67
  202. package/dist/shared/four/tax-token.d.ts +1 -1
  203. package/dist/shared/four/tax-token.js +7 -27
  204. package/dist/shared/index.d.ts +0 -6
  205. package/dist/shared/index.js +0 -4
  206. package/dist/utils/airdrop-sweep.d.ts +76 -4
  207. package/dist/utils/airdrop-sweep.js +55 -42
  208. package/dist/utils/bundle-helpers.d.ts +243 -9
  209. package/dist/utils/bundle-helpers.js +584 -10
  210. package/dist/utils/constants.d.ts +61 -5
  211. package/dist/utils/constants.js +80 -5
  212. package/dist/utils/contract-factory.d.ts +4 -2
  213. package/dist/utils/contract-factory.js +18 -25
  214. package/dist/utils/erc20.d.ts +89 -7
  215. package/dist/utils/erc20.js +125 -94
  216. package/dist/utils/errors.d.ts +1 -12
  217. package/dist/utils/errors.js +1 -60
  218. package/dist/utils/holders-maker.d.ts +138 -2
  219. package/dist/utils/holders-maker.js +661 -26
  220. package/dist/utils/lp-inspect.d.ts +112 -2
  221. package/dist/utils/lp-inspect.js +223 -73
  222. package/dist/utils/mpcExclusive.d.ts +5 -2
  223. package/dist/utils/mpcExclusive.js +3 -4
  224. package/dist/utils/private-sale.d.ts +58 -2
  225. package/dist/utils/private-sale.js +15 -4
  226. package/dist/utils/provider-factory.d.ts +0 -4
  227. package/dist/utils/provider-factory.js +0 -10
  228. package/dist/utils/quote-helpers.d.ts +45 -4
  229. package/dist/utils/quote-helpers.js +74 -17
  230. package/dist/utils/stealth-transfer.d.ts +28 -2
  231. package/dist/utils/stealth-transfer.js +15 -31
  232. package/dist/utils/swap-helpers.d.ts +15 -2
  233. package/dist/utils/swap-helpers.js +11 -6
  234. package/dist/utils/wallet.d.ts +25 -2
  235. package/dist/utils/wallet.js +10 -13
  236. package/package.json +4 -160
  237. package/dist/__tests__/subpath-exports.test.d.ts +0 -1
  238. package/dist/__tests__/subpath-exports.test.js +0 -64
  239. package/dist/abis/common.d.ts +0 -85
  240. package/dist/abis/common.js +0 -260
  241. package/dist/abis/contracts/TaxToken.json +0 -969
  242. package/dist/abis/contracts/TokenManager2.json +0 -136
  243. package/dist/abis/contracts/index.d.ts +0 -5
  244. package/dist/abis/contracts/index.js +0 -5
  245. package/dist/abis/flap/index.d.ts +0 -3
  246. package/dist/abis/flap/index.js +0 -3
  247. package/dist/abis/flap/portal-events.d.ts +0 -6
  248. package/dist/abis/flap/portal-events.js +0 -17
  249. package/dist/abis/flap/portal.d.ts +0 -6
  250. package/dist/abis/flap/portal.js +0 -37
  251. package/dist/abis/flap/vault.d.ts +0 -171
  252. package/dist/abis/flap/vault.js +0 -91
  253. package/dist/abis/index.d.ts +0 -8
  254. package/dist/abis/index.js +0 -11
  255. package/dist/bundle-core/__tests__/config-helpers.test.d.ts +0 -1
  256. package/dist/bundle-core/__tests__/config-helpers.test.js +0 -28
  257. package/dist/bundle-core/__tests__/facade-parity.test.d.ts +0 -1
  258. package/dist/bundle-core/__tests__/facade-parity.test.js +0 -33
  259. package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +0 -1
  260. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +0 -60
  261. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +0 -1
  262. package/dist/bundle-core/__tests__/sign-fixture.test.js +0 -220
  263. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +0 -10
  264. package/dist/bundle-core/__tests__/sign-fixtures.js +0 -16
  265. package/dist/bundle-core/config-helpers.d.ts +0 -36
  266. package/dist/bundle-core/config-helpers.js +0 -57
  267. package/dist/bundle-core/errors.d.ts +0 -50
  268. package/dist/bundle-core/errors.js +0 -35
  269. package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +0 -7
  270. package/dist/bundle-core/four-meme/approve-tokenmanager.js +0 -99
  271. package/dist/bundle-core/four-meme/core-helpers.d.ts +0 -8
  272. package/dist/bundle-core/four-meme/core-helpers.js +0 -40
  273. package/dist/bundle-core/four-meme/core.d.ts +0 -4
  274. package/dist/bundle-core/four-meme/core.js +0 -515
  275. package/dist/bundle-core/four-meme/pancake-proxy.d.ts +0 -28
  276. package/dist/bundle-core/four-meme/pancake-proxy.js +0 -679
  277. package/dist/bundle-core/four-meme/private.d.ts +0 -27
  278. package/dist/bundle-core/four-meme/private.js +0 -465
  279. package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +0 -2
  280. package/dist/bundle-core/four-meme/sign-context-helpers.js +0 -2
  281. package/dist/bundle-core/four-meme/swap-buy-first.d.ts +0 -8
  282. package/dist/bundle-core/four-meme/swap-buy-first.js +0 -493
  283. package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +0 -6
  284. package/dist/bundle-core/four-meme/swap-hop-helpers.js +0 -63
  285. package/dist/bundle-core/four-meme/swap-internal.d.ts +0 -3
  286. package/dist/bundle-core/four-meme/swap-internal.js +0 -18
  287. package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +0 -27
  288. package/dist/bundle-core/four-meme/swap-sign-helpers.js +0 -105
  289. package/dist/bundle-core/four-meme/swap.d.ts +0 -17
  290. package/dist/bundle-core/four-meme/swap.js +0 -505
  291. package/dist/bundle-core/four-meme/types/buy-first.d.ts +0 -50
  292. package/dist/bundle-core/four-meme/types/buy-first.js +0 -1
  293. package/dist/bundle-core/four-meme/types/core-flow.d.ts +0 -63
  294. package/dist/bundle-core/four-meme/types/core-flow.js +0 -1
  295. package/dist/bundle-core/four-meme/types/index.d.ts +0 -600
  296. package/dist/bundle-core/four-meme/types/index.js +0 -1
  297. package/dist/bundle-core/four-meme/types/swap-internal.d.ts +0 -19
  298. package/dist/bundle-core/four-meme/types/swap-internal.js +0 -1
  299. package/dist/bundle-core/four-meme/types.d.ts +0 -1
  300. package/dist/bundle-core/four-meme/types.js +0 -1
  301. package/dist/bundle-core/four-meme/utils-disperse.d.ts +0 -7
  302. package/dist/bundle-core/four-meme/utils-disperse.js +0 -396
  303. package/dist/bundle-core/four-meme/utils-pairwise.d.ts +0 -8
  304. package/dist/bundle-core/four-meme/utils-pairwise.js +0 -328
  305. package/dist/bundle-core/four-meme/utils-sweep.d.ts +0 -8
  306. package/dist/bundle-core/four-meme/utils-sweep.js +0 -744
  307. package/dist/bundle-core/index.d.ts +0 -8
  308. package/dist/bundle-core/index.js +0 -8
  309. package/dist/bundle-core/internal.d.ts +0 -21
  310. package/dist/bundle-core/internal.js +0 -182
  311. package/dist/bundle-core/sign-context-helpers.d.ts +0 -25
  312. package/dist/bundle-core/sign-context-helpers.js +0 -67
  313. package/dist/bundle-core/submit.d.ts +0 -293
  314. package/dist/bundle-core/submit.js +0 -727
  315. package/dist/bundle-core/types/index.d.ts +0 -8
  316. package/dist/bundle-core/types/index.js +0 -1
  317. package/dist/bundle-core/types.d.ts +0 -1
  318. package/dist/bundle-core/types.js +0 -1
  319. package/dist/chains/bsc/four/utils-disperse.d.ts +0 -1
  320. package/dist/chains/bsc/four/utils-disperse.js +0 -1
  321. package/dist/chains/bsc/four/utils-pairwise.d.ts +0 -1
  322. package/dist/chains/bsc/four/utils-pairwise.js +0 -1
  323. package/dist/chains/bsc/four/utils-sweep.d.ts +0 -1
  324. package/dist/chains/bsc/four/utils-sweep.js +0 -1
  325. package/dist/chains/bsc/iro.d.ts +0 -5
  326. package/dist/chains/bsc/iro.js +0 -4
  327. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +0 -159
  328. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +0 -117
  329. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +0 -241
  330. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +0 -565
  331. package/dist/chains/eni/flat-aliases.d.ts +0 -10
  332. package/dist/chains/eni/flat-aliases.js +0 -8
  333. package/dist/chains/eni/submit.d.ts +0 -43
  334. package/dist/chains/eni/submit.js +0 -286
  335. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +0 -13
  336. package/dist/chains/xlayer/eip7702/flat-aliases.js +0 -10
  337. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +0 -79
  338. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +0 -1
  339. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +0 -26
  340. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +0 -57
  341. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +0 -148
  342. package/dist/chains/xlayer/eip7702/volume-helpers.js +0 -48
  343. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +0 -126
  344. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +0 -228
  345. package/dist/contracts/tm-bundle-helpers.d.ts +0 -88
  346. package/dist/contracts/tm-bundle-helpers.js +0 -72
  347. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +0 -1
  348. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +0 -1
  349. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +0 -1
  350. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +0 -1
  351. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +0 -1
  352. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +0 -1
  353. package/dist/dex/direct-router-helpers.d.ts +0 -264
  354. package/dist/dex/direct-router-helpers.js +0 -539
  355. package/dist/dex/types.d.ts +0 -81
  356. package/dist/dex/types.js +0 -1
  357. package/dist/exports/root-bundle-and-tooling.d.ts +0 -27
  358. package/dist/exports/root-bundle-and-tooling.js +0 -30
  359. package/dist/exports/root-eni-and-bsc-iro.d.ts +0 -26
  360. package/dist/exports/root-eni-and-bsc-iro.js +0 -66
  361. package/dist/exports/root-foundations.d.ts +0 -35
  362. package/dist/exports/root-foundations.js +0 -70
  363. package/dist/exports/root-swap-dex-and-xlayer.d.ts +0 -30
  364. package/dist/exports/root-swap-dex-and-xlayer.js +0 -78
  365. package/dist/flap/index.d.ts +0 -10
  366. package/dist/flap/index.js +0 -8
  367. package/dist/flows/index.d.ts +0 -1
  368. package/dist/flows/index.js +0 -1
  369. package/dist/merkle/index.d.ts +0 -12
  370. package/dist/merkle/index.js +0 -11
  371. package/dist/shared/clients/index.d.ts +0 -8
  372. package/dist/shared/clients/index.js +0 -8
  373. package/dist/shared/constants/quote.d.ts +0 -30
  374. package/dist/shared/constants/quote.js +0 -37
  375. package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +0 -32
  376. package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +0 -83
  377. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +0 -125
  378. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +0 -113
  379. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +0 -149
  380. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +0 -259
  381. package/dist/shared/foundation/dex/v3-path.d.ts +0 -6
  382. package/dist/shared/foundation/dex/v3-path.js +0 -35
  383. package/dist/shared/foundation/gas/bundle-gas.d.ts +0 -49
  384. package/dist/shared/foundation/gas/bundle-gas.js +0 -93
  385. package/dist/shared/foundation/gas/profit-hop.d.ts +0 -20
  386. package/dist/shared/foundation/gas/profit-hop.js +0 -72
  387. package/dist/shared/foundation/index.d.ts +0 -13
  388. package/dist/shared/foundation/index.js +0 -12
  389. package/dist/shared/foundation/nonce/nonce-manager.d.ts +0 -17
  390. package/dist/shared/foundation/nonce/nonce-manager.js +0 -183
  391. package/dist/shared/foundation/normalize-unknown.d.ts +0 -9
  392. package/dist/shared/foundation/normalize-unknown.js +0 -29
  393. package/dist/shared/foundation/sdk-logger.d.ts +0 -13
  394. package/dist/shared/foundation/sdk-logger.js +0 -12
  395. package/dist/shared/foundation/tx/build-request.d.ts +0 -17
  396. package/dist/shared/foundation/tx/build-request.js +0 -25
  397. package/dist/shared/foundation/tx/sign-batch.d.ts +0 -5
  398. package/dist/shared/foundation/tx/sign-batch.js +0 -26
  399. package/dist/shared/foundation/tx/wallet-sign-patch.d.ts +0 -1
  400. package/dist/shared/foundation/tx/wallet-sign-patch.js +0 -18
  401. package/dist/shared/foundation/types/airdrop-sweep.d.ts +0 -79
  402. package/dist/shared/foundation/types/airdrop-sweep.js +0 -1
  403. package/dist/shared/foundation/types/erc20.d.ts +0 -65
  404. package/dist/shared/foundation/types/erc20.js +0 -1
  405. package/dist/shared/foundation/types/holders-maker.d.ts +0 -64
  406. package/dist/shared/foundation/types/holders-maker.js +0 -1
  407. package/dist/shared/foundation/types/index.d.ts +0 -7
  408. package/dist/shared/foundation/types/index.js +0 -1
  409. package/dist/shared/foundation/types/lp-inspect.d.ts +0 -102
  410. package/dist/shared/foundation/types/lp-inspect.js +0 -1
  411. package/dist/shared/foundation/types/multicall.d.ts +0 -5
  412. package/dist/shared/foundation/types/multicall.js +0 -1
  413. package/dist/shared/foundation/types/private-sale.d.ts +0 -35
  414. package/dist/shared/foundation/types/private-sale.js +0 -1
  415. package/dist/shared/foundation/types/quote-helpers.d.ts +0 -17
  416. package/dist/shared/foundation/types/quote-helpers.js +0 -1
  417. package/dist/types/errors.d.ts +0 -27
  418. package/dist/types/errors.js +0 -34
  419. package/dist/utils/holders-maker/addresses.d.ts +0 -12
  420. package/dist/utils/holders-maker/addresses.js +0 -15
  421. package/dist/utils/holders-maker/buy-tx.d.ts +0 -44
  422. package/dist/utils/holders-maker/buy-tx.js +0 -278
  423. package/dist/utils/holders-maker/constants.d.ts +0 -6
  424. package/dist/utils/holders-maker/constants.js +0 -7
  425. package/dist/utils/holders-maker/disperse.d.ts +0 -18
  426. package/dist/utils/holders-maker/disperse.js +0 -90
  427. package/dist/utils/holders-maker/routing.d.ts +0 -4
  428. package/dist/utils/holders-maker/routing.js +0 -45
  429. package/dist/utils/holders-maker/transfer-tx.d.ts +0 -4
  430. package/dist/utils/holders-maker/transfer-tx.js +0 -67
  431. package/dist/utils/holders-maker-helpers.d.ts +0 -9
  432. package/dist/utils/holders-maker-helpers.js +0 -9
  433. package/dist/utils/hop-chains.d.ts +0 -35
  434. package/dist/utils/hop-chains.js +0 -215
  435. package/dist/utils/lp-inspect-helpers.d.ts +0 -9
  436. package/dist/utils/lp-inspect-helpers.js +0 -109
  437. package/dist/utils/types/airdrop-sweep.d.ts +0 -1
  438. package/dist/utils/types/airdrop-sweep.js +0 -1
  439. package/dist/utils/types/contract-factory.d.ts +0 -1
  440. package/dist/utils/types/contract-factory.js +0 -1
  441. package/dist/utils/types/erc20.d.ts +0 -1
  442. package/dist/utils/types/erc20.js +0 -1
  443. package/dist/utils/types/errors.d.ts +0 -1
  444. package/dist/utils/types/errors.js +0 -1
  445. package/dist/utils/types/holders-maker.d.ts +0 -1
  446. package/dist/utils/types/holders-maker.js +0 -1
  447. package/dist/utils/types/hop-chains.d.ts +0 -8
  448. package/dist/utils/types/hop-chains.js +0 -1
  449. package/dist/utils/types/index.d.ts +0 -13
  450. package/dist/utils/types/index.js +0 -1
  451. package/dist/utils/types/lp-inspect.d.ts +0 -1
  452. package/dist/utils/types/lp-inspect.js +0 -1
  453. package/dist/utils/types/mpc-exclusive.d.ts +0 -5
  454. package/dist/utils/types/mpc-exclusive.js +0 -1
  455. package/dist/utils/types/private-sale.d.ts +0 -1
  456. package/dist/utils/types/private-sale.js +0 -1
  457. package/dist/utils/types/quote-helpers.d.ts +0 -1
  458. package/dist/utils/types/quote-helpers.js +0 -1
  459. package/dist/utils/types/stealth-transfer.d.ts +0 -44
  460. package/dist/utils/types/stealth-transfer.js +0 -1
  461. package/dist/utils/types/wallet.d.ts +0 -25
  462. package/dist/utils/types/wallet.js +0 -1
  463. package/dist/vanity/index.d.ts +0 -5
  464. package/dist/vanity/index.js +0 -5
  465. package/src/abis/contracts/TaxToken.json +0 -969
  466. package/src/abis/contracts/TokenManager.json +0 -836
  467. package/src/abis/contracts/TokenManager2.json +0 -136
  468. package/src/abis/contracts/TokenManagerHelper3.json +0 -993
  469. /package/dist/{abis/contracts → shared/abis}/TokenManager.json +0 -0
  470. /package/dist/{abis/contracts → shared/abis}/TokenManagerHelper3.json +0 -0
@@ -8,7 +8,7 @@ const PORTAL_ABI = [
8
8
  '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)',
9
9
  'function swapExactInputBuy((address inputToken,address outputToken,uint256 inputAmount,uint256 minOutputAmount,bytes permitData)) external payable returns (uint256)',
10
10
  'function swapExactInputSell((address inputToken,address outputToken,uint256 inputAmount,uint256 minOutputAmount,bytes permitData)) external returns (uint256)',
11
- 'function quoteExactInput((address inputToken,address outputToken,uint256 inputAmount)) external returns (uint256)',
11
+ 'function quoteExactInput((address inputToken,address outputToken,uint256 inputAmount)) external returns (uint256)'
12
12
  ];
13
13
  /**
14
14
  * Flap Protocol Bundle 交易方法
@@ -18,20 +18,20 @@ const PORTAL_ABI = [
18
18
  const ERRORS = {
19
19
  NO_PRIVATE_KEY: {
20
20
  en: 'At least 1 private key (creator) is required',
21
- zh: '至少需要 1 个私钥(创建者)',
21
+ zh: '至少需要 1 个私钥(创建者)'
22
22
  },
23
23
  AMOUNT_MISMATCH: {
24
24
  en: (buyCount, buyerCount) => `Buy amount count (${buyCount}) must equal buyer count (${buyerCount})`,
25
- zh: (buyCount, buyerCount) => `购买金额数量(${buyCount})必须等于买家数量(${buyerCount})`,
25
+ zh: (buyCount, buyerCount) => `购买金额数量(${buyCount})必须等于买家数量(${buyerCount})`
26
26
  },
27
27
  KEY_AMOUNT_MISMATCH: {
28
28
  en: 'Private key count and amount count must match',
29
- zh: '私钥和购买金额数量必须一致',
29
+ zh: '私钥和购买金额数量必须一致'
30
30
  },
31
31
  SELL_KEY_AMOUNT_MISMATCH: {
32
32
  en: 'Private key count and sell amount count must match',
33
- zh: '私钥和卖出数量必须一致',
34
- },
33
+ zh: '私钥和卖出数量必须一致'
34
+ }
35
35
  };
36
36
  // 获取错误信息(根据环境语言)
37
37
  function getErrorMessage(key, ...args) {
@@ -56,11 +56,28 @@ async function estimateGasWithMultiplier(provider, txRequest, multiplier) {
56
56
  function getTxType(config) {
57
57
  return config.txType ?? 0; // 默认 Legacy (type 0),适用于 48.club/BSC
58
58
  }
59
+ /**
60
+ * 构建完整的交易请求(包含 gas 估算和交易类型)
61
+ */
62
+ async function buildTxRequest(provider, unsigned, from, nonce, gasPrice, config, value) {
63
+ const gasLimit = await estimateGasWithMultiplier(provider, { ...unsigned, from, value }, config.gasLimitMultiplier);
64
+ return {
65
+ ...unsigned,
66
+ from,
67
+ nonce,
68
+ gasLimit,
69
+ gasPrice,
70
+ chainId: 56,
71
+ type: getTxType(config)
72
+ };
73
+ }
59
74
  /**
60
75
  * Flap Protocol: 创建代币 + 捆绑购买
61
76
  */
62
77
  export async function createTokenWithBundleBuy(params) {
63
- const { chain, privateKeys, buyAmounts, tokenInfo, tokenAddress, config } = params;
78
+ const { chain, privateKeys, buyAmounts, tokenInfo, quoteToken, tokenAddress, config } = params;
79
+ // 默认使用 BNB (0地址)
80
+ const quoteTokenAddress = quoteToken || '0x0000000000000000000000000000000000000000';
64
81
  if (privateKeys.length === 0) {
65
82
  throw new Error(getErrorMessage('NO_PRIVATE_KEY'));
66
83
  }
@@ -71,7 +88,7 @@ export async function createTokenWithBundleBuy(params) {
71
88
  const devWallet = new Wallet(privateKeys[0], provider);
72
89
  const club48 = new Club48Client({
73
90
  endpoint: config.club48Endpoint,
74
- explorerEndpoint: config.club48ExplorerEndpoint,
91
+ explorerEndpoint: config.club48ExplorerEndpoint
75
92
  });
76
93
  const blockOffset = config.bundleBlockOffset ?? 100;
77
94
  // 1. 构建交易(为重复地址分配顺序 nonce)
@@ -105,7 +122,7 @@ export async function createTokenWithBundleBuy(params) {
105
122
  quoteToken: params.quoteToken || '0x0000000000000000000000000000000000000000',
106
123
  quoteAmt: 0n,
107
124
  beneficiary: new Wallet(privateKeys[0]).address,
108
- permitData: '0x',
125
+ permitData: '0x'
109
126
  });
110
127
  // 估算 gas 并应用用户配置的安全余量
111
128
  const createGasLimit = await estimateGasWithMultiplier(provider, { ...createTxUnsigned, from: devWallet.address }, config.gasLimitMultiplier);
@@ -116,7 +133,7 @@ export async function createTokenWithBundleBuy(params) {
116
133
  gasLimit: createGasLimit,
117
134
  gasPrice: gasPrice,
118
135
  chainId: 56, // BSC
119
- type: getTxType(config), // 用户可配置:0=Legacy(默认),2=EIP-1559
136
+ type: getTxType(config) // 用户可配置:0=Legacy(默认),2=EIP-1559
120
137
  };
121
138
  const signedCreateTx = await devWallet.signTransaction(createTxRequest);
122
139
  signedTxs.push(signedCreateTx);
@@ -129,7 +146,7 @@ export async function createTokenWithBundleBuy(params) {
129
146
  gasLimit: GAS_LIMITS.BRIBE,
130
147
  chainId: 56,
131
148
  type: 0, // Legacy transaction
132
- nonce: await getNextNonce(devWallet),
149
+ nonce: await getNextNonce(devWallet)
133
150
  });
134
151
  signedTxs.push(tipTx);
135
152
  }
@@ -146,7 +163,7 @@ export async function createTokenWithBundleBuy(params) {
146
163
  const exactOut = await quote.quoteExactInput.staticCall({
147
164
  inputToken: '0x0000000000000000000000000000000000000000',
148
165
  outputToken: tokenAddress,
149
- inputAmount: amountIn,
166
+ inputAmount: amountIn
150
167
  });
151
168
  const keep = BigInt(10000 - slippageBps);
152
169
  minAmountOut = (exactOut * keep) / 10000n;
@@ -176,7 +193,7 @@ export async function createTokenWithBundleBuy(params) {
176
193
  gasLimit: buyGasLimit,
177
194
  gasPrice: gasPrice,
178
195
  chainId: 56, // BSC
179
- type: getTxType(config), // 用户可配置
196
+ type: getTxType(config) // 用户可配置
180
197
  };
181
198
  const signedBuyTx = await buyerWallet.signTransaction(buyTxRequest);
182
199
  signedTxs.push(signedBuyTx);
@@ -186,11 +203,11 @@ export async function createTokenWithBundleBuy(params) {
186
203
  const bundleUuid = await club48.sendBundle({
187
204
  txs: signedTxs,
188
205
  maxBlockNumber: (await provider.getBlockNumber()) + blockOffset,
189
- noMerge: config.noMerge,
206
+ noMerge: config.noMerge
190
207
  }, {
191
208
  spMode: params.config.spMode ?? 'timestampPersonalSign',
192
209
  spPrivateKey: params.config.spPrivateKey || privateKeys[0],
193
- spVMode: params.config.spVMode,
210
+ spVMode: params.config.spVMode
194
211
  });
195
212
  // 3. 等待完成
196
213
  const status = await club48.waitForBundle(bundleUuid, params.config.waitTimeoutMs ?? 60000);
@@ -199,7 +216,7 @@ export async function createTokenWithBundleBuy(params) {
199
216
  tokenAddress,
200
217
  status,
201
218
  createTx: signedCreateTx,
202
- buyTxs,
219
+ buyTxs
203
220
  };
204
221
  }
205
222
  /**
@@ -213,7 +230,7 @@ export async function batchBuyWithBundle(params) {
213
230
  const provider = new JsonRpcProvider(config.rpcUrl);
214
231
  const club48 = new Club48Client({
215
232
  endpoint: config.club48Endpoint,
216
- explorerEndpoint: config.club48ExplorerEndpoint,
233
+ explorerEndpoint: config.club48ExplorerEndpoint
217
234
  });
218
235
  const blockOffset = config.bundleBlockOffset ?? 100;
219
236
  const portalAddr = FLAP_PORTAL_ADDRESSES[chain];
@@ -242,7 +259,7 @@ export async function batchBuyWithBundle(params) {
242
259
  gasLimit: GAS_LIMITS.BRIBE,
243
260
  chainId: 56,
244
261
  type: 0, // Legacy transaction
245
- nonce: await getNextNonce(tipWallet),
262
+ nonce: await getNextNonce(tipWallet)
246
263
  });
247
264
  signedTxs.unshift(tipTx);
248
265
  }
@@ -257,7 +274,7 @@ export async function batchBuyWithBundle(params) {
257
274
  const exactOut = await quote.quoteExactInput.staticCall({
258
275
  inputToken: '0x0000000000000000000000000000000000000000',
259
276
  outputToken: tokenAddress,
260
- inputAmount: amountIn,
277
+ inputAmount: amountIn
261
278
  });
262
279
  const keep = BigInt(10000 - slippageBps);
263
280
  minAmountOut = (exactOut * keep) / 10000n;
@@ -275,7 +292,7 @@ export async function batchBuyWithBundle(params) {
275
292
  const estimatedGas = await provider.estimateGas({
276
293
  ...buyTxUnsigned,
277
294
  from: buyerWallet.address,
278
- value: amountIn,
295
+ value: amountIn
279
296
  });
280
297
  const gasLimit = (estimatedGas * 120n) / 100n;
281
298
  const buyTxRequest = {
@@ -285,7 +302,7 @@ export async function batchBuyWithBundle(params) {
285
302
  gasLimit: gasLimit,
286
303
  gasPrice: gasPrice,
287
304
  chainId: 56, // BSC
288
- type: 0, // Legacy transaction
305
+ type: 0 // Legacy transaction
289
306
  };
290
307
  const signedBuyTx = await buyerWallet.signTransaction(buyTxRequest);
291
308
  signedTxs.push(signedBuyTx);
@@ -293,11 +310,11 @@ export async function batchBuyWithBundle(params) {
293
310
  const bundleUuid = await club48.sendBundle({
294
311
  txs: signedTxs,
295
312
  maxBlockNumber: (await provider.getBlockNumber()) + blockOffset,
296
- noMerge: config.noMerge,
313
+ noMerge: config.noMerge
297
314
  }, {
298
315
  spMode: params.config.spMode ?? 'timestampPersonalSign',
299
316
  spPrivateKey: params.config.spPrivateKey || privateKeys[0],
300
- spVMode: params.config.spVMode,
317
+ spVMode: params.config.spVMode
301
318
  });
302
319
  const status = await club48.waitForBundle(bundleUuid);
303
320
  return { bundleUuid, status, buyTxs: signedTxs };
@@ -313,7 +330,7 @@ export async function batchSellWithBundle(params) {
313
330
  const provider = new JsonRpcProvider(config.rpcUrl);
314
331
  const club48 = new Club48Client({
315
332
  endpoint: config.club48Endpoint,
316
- explorerEndpoint: config.club48ExplorerEndpoint,
333
+ explorerEndpoint: config.club48ExplorerEndpoint
317
334
  });
318
335
  const blockOffset = config.bundleBlockOffset ?? 100;
319
336
  const portalAddr = FLAP_PORTAL_ADDRESSES[chain];
@@ -342,7 +359,7 @@ export async function batchSellWithBundle(params) {
342
359
  gasLimit: GAS_LIMITS.BRIBE,
343
360
  chainId: 56,
344
361
  type: 0, // Legacy transaction
345
- nonce: await getNextNonce(tipWallet),
362
+ nonce: await getNextNonce(tipWallet)
346
363
  });
347
364
  signedTxs.unshift(tipTx);
348
365
  }
@@ -361,7 +378,7 @@ export async function batchSellWithBundle(params) {
361
378
  // 估算 gas 并添加 20% 安全余量
362
379
  const estimatedGas = await provider.estimateGas({
363
380
  ...sellTxUnsigned,
364
- from: sellerWallet.address,
381
+ from: sellerWallet.address
365
382
  });
366
383
  const gasLimit = (estimatedGas * 120n) / 100n;
367
384
  const sellTxRequest = {
@@ -371,7 +388,7 @@ export async function batchSellWithBundle(params) {
371
388
  gasLimit: gasLimit,
372
389
  gasPrice: gasPrice,
373
390
  chainId: 56, // BSC
374
- type: 0, // Legacy transaction
391
+ type: 0 // Legacy transaction
375
392
  };
376
393
  const signedSellTx = await sellerWallet.signTransaction(sellTxRequest);
377
394
  signedTxs.push(signedSellTx);
@@ -379,17 +396,17 @@ export async function batchSellWithBundle(params) {
379
396
  const bundleUuid = await club48.sendBundle({
380
397
  txs: signedTxs,
381
398
  maxBlockNumber: (await provider.getBlockNumber()) + blockOffset,
382
- noMerge: config.noMerge,
399
+ noMerge: config.noMerge
383
400
  }, {
384
401
  spMode: params.config.spMode ?? 'timestampPersonalSign',
385
402
  spPrivateKey: params.config.spPrivateKey || privateKeys[0],
386
- spVMode: params.config.spVMode,
403
+ spVMode: params.config.spVMode
387
404
  });
388
405
  const status = await club48.waitForBundle(bundleUuid);
389
406
  return { bundleUuid, status, sellTxs: signedTxs };
390
407
  }
391
408
  export async function flapPrivateBuy(params) {
392
- const { chain, privateKey, tokenAddress, amountIn, config, spPrivateKey } = params;
409
+ const { chain, privateKey, tokenAddress, amountIn, to, config, spPrivateKey } = params;
393
410
  const provider = new JsonRpcProvider(config.rpcUrl);
394
411
  const wallet = new Wallet(privateKey, provider);
395
412
  const club48 = new Club48Client({ endpoint: config.club48Endpoint, explorerEndpoint: config.club48ExplorerEndpoint });
@@ -409,7 +426,7 @@ export async function flapPrivateBuy(params) {
409
426
  const estimatedGas = await provider.estimateGas({
410
427
  ...unsigned,
411
428
  from: wallet.address,
412
- value: amountWei,
429
+ value: amountWei
413
430
  });
414
431
  const gasLimit = (estimatedGas * 120n) / 100n;
415
432
  const req = {
@@ -419,7 +436,7 @@ export async function flapPrivateBuy(params) {
419
436
  gasLimit: gasLimit,
420
437
  gasPrice,
421
438
  chainId: 56,
422
- type: 0, // Legacy transaction
439
+ type: 0 // Legacy transaction
423
440
  };
424
441
  const signed = await wallet.signTransaction(req);
425
442
  if (spPrivateKey)
@@ -446,7 +463,7 @@ export async function flapPrivateSell(params) {
446
463
  // 估算 gas 并添加 20% 安全余量
447
464
  const estimatedGas = await provider.estimateGas({
448
465
  ...unsigned,
449
- from: wallet.address,
466
+ from: wallet.address
450
467
  });
451
468
  const gasLimit = (estimatedGas * 120n) / 100n;
452
469
  const req = {
@@ -456,7 +473,7 @@ export async function flapPrivateSell(params) {
456
473
  gasLimit: gasLimit,
457
474
  gasPrice,
458
475
  chainId: 56,
459
- type: 0, // Legacy transaction
476
+ type: 0 // Legacy transaction
460
477
  };
461
478
  const signed = await wallet.signTransaction(req);
462
479
  if (spPrivateKey)
@@ -499,21 +516,13 @@ export async function flapBatchPrivateBuy(params) {
499
516
  // 估算 gas 并添加 20% 安全余量
500
517
  const estimatedGas = await provider.estimateGas({ ...unsigned, from: w.address, value: amountWei });
501
518
  const gasLimit = (estimatedGas * 120n) / 100n;
502
- const req = {
503
- ...unsigned,
504
- from: w.address,
505
- nonce: await getNextNonce(w),
506
- gasLimit,
507
- gasPrice,
508
- chainId: 56,
509
- type: 0,
510
- };
519
+ const req = { ...unsigned, from: w.address, nonce: await getNextNonce(w), gasLimit, gasPrice, chainId: 56, type: 0 };
511
520
  signedTxs.push(await w.signTransaction(req));
512
521
  }
513
522
  return await sendBatchPrivateTransactions(signedTxs, spPrivateKey, config.club48Endpoint || 'https://puissant-bsc.48.club');
514
523
  }
515
524
  export async function flapBatchPrivateSell(params) {
516
- const { chain, privateKeys, amounts, tokenAddress, config, minEthEach } = params;
525
+ const { chain, privateKeys, amounts, tokenAddress, config, spPrivateKey, minEthEach } = params;
517
526
  if (privateKeys.length !== amounts.length)
518
527
  throw new Error('privateKeys and amounts length mismatch');
519
528
  const provider = new JsonRpcProvider(config.rpcUrl);
@@ -549,15 +558,7 @@ export async function flapBatchPrivateSell(params) {
549
558
  // 估算 gas 并添加 20% 安全余量
550
559
  const estimatedGas = await provider.estimateGas({ ...unsigned, from: w.address });
551
560
  const gasLimit = (estimatedGas * 120n) / 100n;
552
- const req = {
553
- ...unsigned,
554
- from: w.address,
555
- nonce: await getNextNonce(w),
556
- gasLimit,
557
- gasPrice,
558
- chainId: 56,
559
- type: 0,
560
- };
561
+ const req = { ...unsigned, from: w.address, nonce: await getNextNonce(w), gasLimit, gasPrice, chainId: 56, type: 0 };
561
562
  signedTxs.push(await w.signTransaction(req));
562
563
  }
563
564
  // 使用 bundle 通道提交(统一与捆绑买保持一致)
@@ -565,12 +566,12 @@ export async function flapBatchPrivateSell(params) {
565
566
  const bundleUuid = await club48.sendBundle({
566
567
  txs: signedTxs,
567
568
  maxBlockNumber: (await provider.getBlockNumber()) + blockOffset,
568
- noMerge: config.noMerge,
569
+ noMerge: config.noMerge
569
570
  }, {
570
571
  // 若传入 sp 配置,则用于生成 48SP 签名提升打包优先级(与批量买一致)
571
572
  spMode: params.config.spMode ?? 'timestampPersonalSign',
572
573
  spPrivateKey: params.config.spPrivateKey || 'https://puissant-bsc.48.club',
573
- spVMode: params.config.spVMode,
574
+ spVMode: params.config.spVMode
574
575
  });
575
576
  try {
576
577
  const status = await club48.waitForBundle(bundleUuid);
@@ -11,7 +11,9 @@ export declare enum TokenVersion {
11
11
  TOKEN_LEGACY_MINT_NO_PERMIT_DUPLICATE = 1,
12
12
  TOKEN_V2_PERMIT = 2,
13
13
  TOKEN_GOPLUS = 3,
14
- TOKEN_TAXED = 4
14
+ TOKEN_TAXED = 4,
15
+ /** VaultPortal.newTokenV6WithVault 金库发射必须使用此版本 */
16
+ TOKEN_TAXED_V3 = 6
15
17
  }
16
18
  export declare enum DexThreshType {
17
19
  TWO_THIRDS = 0,
@@ -16,6 +16,8 @@ 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 金库发射必须使用此版本 */
20
+ TokenVersion[TokenVersion["TOKEN_TAXED_V3"] = 6] = "TOKEN_TAXED_V3";
19
21
  })(TokenVersion || (TokenVersion = {}));
20
22
  export var DexThreshType;
21
23
  (function (DexThreshType) {
@@ -90,21 +92,17 @@ const PORTAL_ABI = [
90
92
  'function getFeeRate() external view returns (uint256,uint256)',
91
93
  'function nonce() external view returns (uint256)',
92
94
  'function version() external pure returns (string)',
93
- 'function getLocks(address token) external view returns (uint256[])',
95
+ 'function getLocks(address token) external view returns (uint256[])'
94
96
  ];
95
97
  /**
96
98
  * 将 lpFeeProfile 转换为 V3 fee 值
97
99
  */
98
100
  export function lpFeeProfileToV3Fee(profile) {
99
101
  switch (profile) {
100
- case V3LPFeeProfile.LP_FEE_PROFILE_STANDARD:
101
- return 2500;
102
- case V3LPFeeProfile.LP_FEE_PROFILE_LOW:
103
- return 100;
104
- case V3LPFeeProfile.LP_FEE_PROFILE_HIGH:
105
- return 10000;
106
- default:
107
- return 2500; // 默认 STANDARD
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
108
106
  }
109
107
  }
110
108
  /**
@@ -121,11 +119,6 @@ export function validateTaxDistribution(config) {
121
119
  return { valid: true };
122
120
  }
123
121
  export class FlapPortal {
124
- rpcUrl;
125
- portal;
126
- contract;
127
- buyFeeRate;
128
- sellFeeRate;
129
122
  constructor(cfg) {
130
123
  this.rpcUrl = cfg.rpcUrl;
131
124
  this.portal = cfg.addressOverride ?? FLAP_PORTAL_ADDRESSES[cfg.chain];
@@ -140,27 +133,13 @@ export class FlapPortal {
140
133
  async getTokenV2(token) {
141
134
  const r = await this.contract.getTokenV2(token);
142
135
  return {
143
- status: r[0],
144
- reserve: r[1],
145
- circulatingSupply: r[2],
146
- price: r[3],
147
- tokenVersion: r[4],
148
- r: r[5],
149
- dexSupplyThresh: r[6],
136
+ status: r[0], reserve: r[1], circulatingSupply: r[2], price: r[3], tokenVersion: r[4], r: r[5], dexSupplyThresh: r[6],
150
137
  };
151
138
  }
152
139
  async getTokenV3(token) {
153
140
  const r = await this.contract.getTokenV3(token);
154
141
  return {
155
- status: r[0],
156
- reserve: r[1],
157
- circulatingSupply: r[2],
158
- price: r[3],
159
- tokenVersion: r[4],
160
- r: r[5],
161
- dexSupplyThresh: r[6],
162
- quoteTokenAddress: r[7],
163
- nativeToQuoteSwapEnabled: r[8],
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],
164
143
  };
165
144
  }
166
145
  async getTokenV4(token) {
@@ -232,6 +211,7 @@ export class FlapPortal {
232
211
  const curve = new CDPV2(r, h, k);
233
212
  const currentReserve = formatEther(state.reserve);
234
213
  const dexSupplyThresh = formatEther(state.dexSupplyThresh);
214
+ const circulatingSupply = formatEther(state.circulatingSupply);
235
215
  // 计算毕业时的储备
236
216
  const graduationReserve = curve.estimateReserve(dexSupplyThresh);
237
217
  const graduationReserveNum = parseFloat(graduationReserve.toString());
@@ -243,7 +223,9 @@ export class FlapPortal {
243
223
  // 含手续费(1% buy fee)
244
224
  const remainingWithFee = remainingNet / (1 - this.buyFeeRate);
245
225
  // 计算进度
246
- const progressPercent = isGraduated ? '100.00' : ((currentReserveNum / graduationReserveNum) * 100).toFixed(2);
226
+ const progressPercent = isGraduated
227
+ ? '100.00'
228
+ : (currentReserveNum / graduationReserveNum * 100).toFixed(2);
247
229
  return {
248
230
  remainingOkb: remainingWithFee.toFixed(6),
249
231
  graduationReserve: graduationReserveNum.toFixed(6),
@@ -351,7 +333,6 @@ export class FlapPortal {
351
333
  }
352
334
  }
353
335
  export class FlapPortalWriter extends FlapPortal {
354
- wallet;
355
336
  constructor(cfg, privateKey) {
356
337
  super(cfg);
357
338
  // 使用 ethers v6 创建钱包
@@ -600,3 +581,15 @@ export class FlapPortalWriter extends FlapPortal {
600
581
  return this.portal;
601
582
  }
602
583
  }
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,8 +9,10 @@ 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)
12
13
  */
13
- export declare function predictVanityTokenAddressByChain(chain: 'BSC' | 'BASE' | 'XLAYER' | 'MORPH' | 'MONAD', salt: string, taxed?: boolean, taxedV5?: boolean): string;
14
+ export declare function predictVanityTokenAddressByChain(chain: 'BSC' | 'BASE' | 'XLAYER' | 'MORPH' | 'MONAD', salt: string, taxed?: boolean, taxedV5?: boolean, // ✅ V5 高级税代币标识
15
+ taxedV3?: boolean): string;
14
16
  /**
15
17
  * 寻找满足后缀的 salt(默认 8888)
16
18
  * 注意:该方法为同步 CPU 搜索,谨慎设置迭代限制
@@ -33,6 +35,7 @@ export declare function findSaltEnding(opts: {
33
35
  * BSC/MONAD 默认使用 NORMAL 实现(非税版)
34
36
  * XLayer 只有标准版,后缀是 1111
35
37
  * @param taxedV5 - 是否使用 V5 高级税代币实现 (mkt/deflation/dividend/lp)
38
+ * @param taxedV3 - 是否使用 V3 金库税代币实现 (VaultPortal.newTokenV6WithVault)
36
39
  */
37
40
  export declare function findSaltEndingByChain(opts: {
38
41
  chain: 'BSC' | 'BASE' | 'XLAYER' | 'MORPH' | 'MONAD';
@@ -41,6 +44,7 @@ export declare function findSaltEndingByChain(opts: {
41
44
  seed?: string;
42
45
  taxed?: boolean;
43
46
  taxedV5?: boolean;
47
+ taxedV3?: boolean;
44
48
  }): Promise<{
45
49
  salt: string;
46
50
  address: string;
@@ -6,7 +6,9 @@ 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) ? salt.toLowerCase() : keccak256(salt);
9
+ const normalizedSalt = /^0x[0-9a-fA-F]{64}$/.test(salt)
10
+ ? salt.toLowerCase()
11
+ : keccak256(salt);
10
12
  // 构建 EIP-1167 minimal proxy bytecode
11
13
  const bytecode = '0x3d602d80600a3d3981f3363d3d373d3d3d363d73' + tokenImpl.slice(2).toLowerCase() + '5af43d82803e903d91602b57fd5bf3';
12
14
  const bytecodeHash = keccak256(bytecode);
@@ -18,13 +20,18 @@ export function predictVanityTokenAddress(salt, portal, tokenImpl) {
18
20
  * 注意:使用 Flap 平台的原始 Portal 地址进行 CREATE2 计算
19
21
  * BSC/MONAD 默认使用 NORMAL 实现(非税版)
20
22
  * @param taxedV5 - 是否使用 V5 高级税代币实现 (mkt/deflation/dividend/lp)
23
+ * @param taxedV3 - 是否使用 V3 金库税代币实现 (VaultPortal.newTokenV6WithVault)
21
24
  */
22
- export function predictVanityTokenAddressByChain(chain, salt, taxed = false, taxedV5 = false) {
25
+ export function predictVanityTokenAddressByChain(chain, salt, taxed = false, taxedV5 = false, // ✅ V5 高级税代币标识
26
+ taxedV3 = false) {
23
27
  // 使用 Flap 平台的原始 Portal 地址(用于 CREATE2)
24
28
  const portal = FLAP_ORIGINAL_PORTAL_ADDRESSES[chain];
25
29
  let tokenImpl;
26
30
  if (chain === 'BSC') {
27
- if (taxedV5) {
31
+ if (taxedV3) {
32
+ tokenImpl = FLAP_TOKEN_IMPL_ADDRESSES.BSC_TAXED_V3;
33
+ }
34
+ else if (taxedV5) {
28
35
  // ✅ V5 高级税代币使用新的实现地址
29
36
  tokenImpl = FLAP_TOKEN_IMPL_ADDRESSES.BSC_TAXED_V5;
30
37
  }
@@ -53,7 +60,7 @@ export async function findSaltEnding(opts) {
53
60
  // 若未提供 seed,默认使用随机种子,避免每次结果都相同
54
61
  let salt = opts.seed ?? keccak256(randomBytes(32));
55
62
  let iterations = 0;
56
- const limit = opts.maxIterations ?? 1_000_000;
63
+ const limit = opts.maxIterations ?? 1000000;
57
64
  while (iterations < limit) {
58
65
  const addr = predictVanityTokenAddress(salt, opts.portal, opts.tokenImpl);
59
66
  if (addr.toLowerCase().endsWith(suffix)) {
@@ -71,13 +78,17 @@ export async function findSaltEnding(opts) {
71
78
  * BSC/MONAD 默认使用 NORMAL 实现(非税版)
72
79
  * XLayer 只有标准版,后缀是 1111
73
80
  * @param taxedV5 - 是否使用 V5 高级税代币实现 (mkt/deflation/dividend/lp)
81
+ * @param taxedV3 - 是否使用 V3 金库税代币实现 (VaultPortal.newTokenV6WithVault)
74
82
  */
75
83
  export async function findSaltEndingByChain(opts) {
76
84
  // 使用 Flap 平台的原始 Portal 地址(用于 CREATE2)
77
85
  const portal = FLAP_ORIGINAL_PORTAL_ADDRESSES[opts.chain];
78
86
  let tokenImpl;
79
87
  if (opts.chain === 'BSC') {
80
- if (opts.taxedV5) {
88
+ if (opts.taxedV3) {
89
+ tokenImpl = FLAP_TOKEN_IMPL_ADDRESSES.BSC_TAXED_V3;
90
+ }
91
+ else if (opts.taxedV5) {
81
92
  // ✅ V5 高级税代币使用新的实现地址
82
93
  tokenImpl = FLAP_TOKEN_IMPL_ADDRESSES.BSC_TAXED_V5;
83
94
  }
@@ -102,6 +113,6 @@ export async function findSaltEndingByChain(opts) {
102
113
  tokenImpl,
103
114
  suffix,
104
115
  maxIterations: opts.maxIterations,
105
- seed: opts.seed,
116
+ seed: opts.seed
106
117
  });
107
118
  }