four-flap-meme-sdk 2.2.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/README.en.md +6 -41
  2. package/README.md +0 -31
  3. package/README.zh-CN.md +6 -41
  4. package/dist/chains/bsc/four/approve-tokenmanager.d.ts +26 -1
  5. package/dist/chains/bsc/four/approve-tokenmanager.js +113 -1
  6. package/dist/chains/bsc/four/config.d.ts +67 -5
  7. package/dist/chains/bsc/four/config.js +114 -2
  8. package/dist/chains/bsc/four/core.d.ts +4 -1
  9. package/dist/chains/bsc/four/core.js +592 -1
  10. package/dist/chains/bsc/four/index.d.ts +6 -6
  11. package/dist/chains/bsc/four/index.js +6 -6
  12. package/dist/chains/bsc/four/internal.d.ts +46 -2
  13. package/dist/chains/bsc/four/internal.js +239 -2
  14. package/dist/chains/bsc/four/pancake-proxy.d.ts +28 -1
  15. package/dist/chains/bsc/four/pancake-proxy.js +687 -1
  16. package/dist/chains/bsc/four/private.d.ts +27 -1
  17. package/dist/chains/bsc/four/private.js +477 -1
  18. package/dist/chains/bsc/four/submit.d.ts +315 -2
  19. package/dist/chains/bsc/four/submit.js +752 -2
  20. package/dist/chains/bsc/four/swap-buy-first.d.ts +55 -2
  21. package/dist/chains/bsc/four/swap-buy-first.js +507 -2
  22. package/dist/chains/bsc/four/swap-internal.d.ts +3 -1
  23. package/dist/chains/bsc/four/swap-internal.js +18 -1
  24. package/dist/chains/bsc/four/swap.d.ts +144 -2
  25. package/dist/chains/bsc/four/swap.js +766 -2
  26. package/dist/chains/bsc/four/types.d.ts +476 -1
  27. package/dist/chains/bsc/four/utils.d.ts +18 -5
  28. package/dist/chains/bsc/four/utils.js +1552 -5
  29. package/dist/chains/bsc/pancake/bundle-buy-first.d.ts +91 -1
  30. package/dist/chains/bsc/pancake/bundle-buy-first.js +212 -97
  31. package/dist/chains/bsc/pancake/bundle-swap.d.ts +79 -1
  32. package/dist/chains/bsc/pancake/bundle-swap.js +726 -114
  33. package/dist/chains/bsc/pancake/index.d.ts +2 -4
  34. package/dist/chains/bsc/pancake/index.js +3 -1
  35. package/dist/chains/bsc/platforms/iro/factory.js +1 -3
  36. package/dist/chains/bsc/platforms/iro/index.d.ts +5 -5
  37. package/dist/chains/bsc/platforms/iro/index.js +3 -3
  38. package/dist/chains/bsc/platforms/iro/pool.js +10 -31
  39. package/dist/chains/bsc/platforms/iro/token.js +1 -4
  40. package/dist/chains/eni/batch-router/bundle-approve.js +3 -4
  41. package/dist/chains/eni/batch-router/transfer.js +25 -55
  42. package/dist/chains/eni/batch-router/utils.js +6 -32
  43. package/dist/chains/eni/bundler/sign.js +4 -4
  44. package/dist/chains/eni/bundler/submit.js +4 -1
  45. package/dist/chains/eni/constants.js +1 -1
  46. package/dist/chains/eni/index.d.ts +1 -2
  47. package/dist/chains/eni/index.js +0 -1
  48. package/dist/chains/eni/platforms/daoaas/create.js +2 -2
  49. package/dist/chains/eni/platforms/daoaas/index.d.ts +3 -3
  50. package/dist/chains/eni/platforms/daoaas/index.js +3 -3
  51. package/dist/chains/eni/platforms/daoaas/meta.js +4 -8
  52. package/dist/chains/eni/platforms/daoaas/portal-direct.js +44 -28
  53. package/dist/chains/eni/platforms/daoaas/portal.js +6 -10
  54. package/dist/chains/eni/platforms/dswap/liquidity.js +26 -58
  55. package/dist/chains/eni/platforms/fair-launch/index.d.ts +2 -2
  56. package/dist/chains/eni/platforms/fair-launch/index.js +1 -1
  57. package/dist/chains/eni/platforms/fair-launch/launcher.js +46 -87
  58. package/dist/chains/eni/platforms/fair-launch/pool.js +1 -4
  59. package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
  60. package/dist/chains/eni/platforms/iro/factory.js +1 -3
  61. package/dist/chains/eni/platforms/iro/index.d.ts +6 -6
  62. package/dist/chains/eni/platforms/iro/index.js +4 -4
  63. package/dist/chains/eni/platforms/iro/pool.js +26 -90
  64. package/dist/chains/eni/platforms/iro/token.js +31 -107
  65. package/dist/chains/eni/platforms/iro/whitelist.js +18 -6
  66. package/dist/chains/index.d.ts +0 -13
  67. package/dist/chains/index.js +0 -13
  68. package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +26 -2
  69. package/dist/chains/xlayer/eip7702/bundle-approve.js +21 -11
  70. package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +6 -2
  71. package/dist/chains/xlayer/eip7702/bundle-buy.js +51 -13
  72. package/dist/chains/xlayer/eip7702/bundle-create.js +59 -93
  73. package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +6 -2
  74. package/dist/chains/xlayer/eip7702/bundle-sell.js +97 -26
  75. package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +65 -3
  76. package/dist/chains/xlayer/eip7702/bundle-swap.js +245 -51
  77. package/dist/chains/xlayer/eip7702/constants.d.ts +16 -1
  78. package/dist/chains/xlayer/eip7702/constants.js +21 -3
  79. package/dist/chains/xlayer/eip7702/index.d.ts +46 -28
  80. package/dist/chains/xlayer/eip7702/index.js +81 -28
  81. package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +203 -2
  82. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +301 -58
  83. package/dist/chains/xlayer/eip7702/types.d.ts +0 -88
  84. package/dist/chains/xlayer/eip7702/utils.d.ts +3 -0
  85. package/dist/chains/xlayer/eip7702/utils.js +28 -23
  86. package/dist/chains/xlayer/eip7702/volume.d.ts +184 -6
  87. package/dist/chains/xlayer/eip7702/volume.js +158 -83
  88. package/dist/chains/xlayer/eoa/constants.js +1 -1
  89. package/dist/chains/xlayer/eoa/dex-helpers.js +5 -5
  90. package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +95 -1
  91. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +299 -66
  92. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
  93. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +23 -18
  94. package/dist/chains/xlayer/eoa/index.d.ts +6 -10
  95. package/dist/chains/xlayer/eoa/index.js +23 -8
  96. package/dist/chains/xlayer/eoa/portal-ops.js +2 -7
  97. package/dist/chains/xlayer/eoa/router-manager.js +3 -3
  98. package/dist/chains/xlayer/eoa/types.d.ts +2 -2
  99. package/dist/chains/xlayer/eoa/types.js +3 -1
  100. package/dist/chains/xlayer/index.d.ts +2 -3
  101. package/dist/chains/xlayer/index.js +7 -4
  102. package/dist/contracts/helper3.d.ts +5 -20
  103. package/dist/contracts/helper3.js +20 -56
  104. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +26 -1
  105. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +113 -1
  106. package/dist/contracts/tm-bundle-merkle/config.d.ts +67 -5
  107. package/dist/contracts/tm-bundle-merkle/config.js +114 -2
  108. package/dist/contracts/tm-bundle-merkle/core.d.ts +4 -1
  109. package/dist/contracts/tm-bundle-merkle/core.js +591 -1
  110. package/dist/contracts/tm-bundle-merkle/index.d.ts +5 -5
  111. package/dist/contracts/tm-bundle-merkle/index.js +5 -5
  112. package/dist/contracts/tm-bundle-merkle/internal.d.ts +46 -2
  113. package/dist/contracts/tm-bundle-merkle/internal.js +238 -2
  114. package/dist/contracts/tm-bundle-merkle/pancake-proxy.d.ts +28 -1
  115. package/dist/contracts/tm-bundle-merkle/pancake-proxy.js +686 -1
  116. package/dist/contracts/tm-bundle-merkle/private.d.ts +27 -1
  117. package/dist/contracts/tm-bundle-merkle/private.js +476 -1
  118. package/dist/contracts/tm-bundle-merkle/submit.d.ts +314 -3
  119. package/dist/contracts/tm-bundle-merkle/submit.js +928 -3
  120. package/dist/contracts/tm-bundle-merkle/swap-buy-first.d.ts +55 -2
  121. package/dist/contracts/tm-bundle-merkle/swap-buy-first.js +506 -2
  122. package/dist/contracts/tm-bundle-merkle/swap-internal.d.ts +3 -1
  123. package/dist/contracts/tm-bundle-merkle/swap-internal.js +18 -1
  124. package/dist/contracts/tm-bundle-merkle/swap.d.ts +144 -2
  125. package/dist/contracts/tm-bundle-merkle/swap.js +764 -2
  126. package/dist/contracts/tm-bundle-merkle/types.d.ts +476 -1
  127. package/dist/contracts/tm-bundle-merkle/utils.d.ts +18 -6
  128. package/dist/contracts/tm-bundle-merkle/utils.js +1501 -6
  129. package/dist/contracts/tm-bundle.d.ts +51 -3
  130. package/dist/contracts/tm-bundle.js +177 -108
  131. package/dist/contracts/tm.d.ts +2 -3
  132. package/dist/contracts/tm.js +32 -37
  133. package/dist/contracts/tm1.js +4 -9
  134. package/dist/contracts/tm2.js +4 -9
  135. package/dist/dex/direct-router.d.ts +125 -3
  136. package/dist/dex/direct-router.js +666 -237
  137. package/dist/flows/create.d.ts +1 -2
  138. package/dist/flows/create.js +6 -6
  139. package/dist/index.d.ts +85 -20
  140. package/dist/index.js +215 -20
  141. package/dist/shared/abis/TaxToken.json +105 -0
  142. package/dist/shared/abis/TokenManager2.json +60 -0
  143. package/dist/shared/abis/common.d.ts +83 -2
  144. package/dist/shared/abis/common.js +252 -2
  145. package/dist/shared/abis/index.d.ts +6 -5
  146. package/dist/shared/abis/index.js +7 -5
  147. package/dist/shared/clients/blockrazor.js +25 -39
  148. package/dist/shared/clients/club48.d.ts +2 -2
  149. package/dist/shared/clients/club48.js +29 -34
  150. package/dist/shared/clients/emitservice.js +0 -2
  151. package/dist/shared/clients/four.d.ts +5 -5
  152. package/dist/shared/clients/four.js +17 -21
  153. package/dist/shared/clients/merkle.js +34 -27
  154. package/dist/shared/constants/addresses.d.ts +1 -1
  155. package/dist/shared/constants/addresses.js +2 -11
  156. package/dist/shared/constants/chains.d.ts +1 -1
  157. package/dist/shared/constants/chains.js +1 -1
  158. package/dist/shared/constants/gas.d.ts +1 -1
  159. package/dist/shared/constants/gas.js +6 -2
  160. package/dist/shared/constants/index.d.ts +0 -3
  161. package/dist/shared/constants/index.js +0 -1
  162. package/dist/shared/flap/abi.js +1 -1
  163. package/dist/shared/flap/constants.d.ts +2 -1
  164. package/dist/shared/flap/constants.js +3 -2
  165. package/dist/shared/flap/curve.js +0 -3
  166. package/dist/shared/flap/errors.d.ts +4 -1
  167. package/dist/shared/flap/errors.js +1 -20
  168. package/dist/shared/flap/index.d.ts +3 -3
  169. package/dist/shared/flap/index.js +3 -3
  170. package/dist/shared/flap/meta.d.ts +18 -16
  171. package/dist/shared/flap/meta.js +17 -12
  172. package/dist/shared/flap/permit.js +2 -5
  173. package/dist/shared/flap/pinata.d.ts +4 -11
  174. package/dist/shared/flap/pinata.js +16 -21
  175. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +72 -3
  176. package/dist/shared/flap/portal-bundle-merkle/config.js +124 -4
  177. package/dist/shared/flap/portal-bundle-merkle/core.d.ts +4 -0
  178. package/dist/shared/flap/portal-bundle-merkle/core.js +172 -92
  179. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +99 -106
  180. package/dist/shared/flap/portal-bundle-merkle/curve-to-dex.js +92 -100
  181. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +7 -11
  182. package/dist/shared/flap/portal-bundle-merkle/index.js +7 -4
  183. package/dist/shared/flap/portal-bundle-merkle/pancake-proxy.js +68 -71
  184. package/dist/shared/flap/portal-bundle-merkle/private.js +114 -61
  185. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +64 -1
  186. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.js +247 -66
  187. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +71 -2
  188. package/dist/shared/flap/portal-bundle-merkle/swap.js +410 -103
  189. package/dist/shared/flap/portal-bundle-merkle/types.d.ts +7 -73
  190. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +80 -1
  191. package/dist/shared/flap/portal-bundle-merkle/utils.js +265 -145
  192. package/dist/shared/flap/portal-bundle.js +56 -55
  193. package/dist/shared/flap/portal.d.ts +3 -1
  194. package/dist/shared/flap/portal.js +25 -32
  195. package/dist/shared/flap/vanity.d.ts +5 -1
  196. package/dist/shared/flap/vanity.js +17 -6
  197. package/dist/shared/flap/vault.d.ts +124 -17
  198. package/dist/shared/flap/vault.js +148 -67
  199. package/dist/shared/four/tax-token.d.ts +1 -1
  200. package/dist/shared/four/tax-token.js +7 -27
  201. package/dist/shared/index.d.ts +0 -6
  202. package/dist/shared/index.js +0 -4
  203. package/dist/utils/airdrop-sweep.d.ts +76 -4
  204. package/dist/utils/airdrop-sweep.js +54 -40
  205. package/dist/utils/bundle-helpers.d.ts +243 -9
  206. package/dist/utils/bundle-helpers.js +584 -10
  207. package/dist/utils/constants.d.ts +61 -5
  208. package/dist/utils/constants.js +80 -5
  209. package/dist/utils/contract-factory.d.ts +4 -2
  210. package/dist/utils/contract-factory.js +18 -25
  211. package/dist/utils/erc20.d.ts +89 -7
  212. package/dist/utils/erc20.js +125 -94
  213. package/dist/utils/errors.d.ts +1 -12
  214. package/dist/utils/errors.js +1 -60
  215. package/dist/utils/holders-maker.d.ts +138 -2
  216. package/dist/utils/holders-maker.js +661 -26
  217. package/dist/utils/lp-inspect.d.ts +112 -2
  218. package/dist/utils/lp-inspect.js +223 -73
  219. package/dist/utils/mpcExclusive.d.ts +5 -2
  220. package/dist/utils/mpcExclusive.js +3 -4
  221. package/dist/utils/private-sale.d.ts +58 -2
  222. package/dist/utils/private-sale.js +15 -4
  223. package/dist/utils/provider-factory.d.ts +0 -4
  224. package/dist/utils/provider-factory.js +0 -10
  225. package/dist/utils/quote-helpers.d.ts +45 -4
  226. package/dist/utils/quote-helpers.js +74 -17
  227. package/dist/utils/stealth-transfer.d.ts +28 -2
  228. package/dist/utils/stealth-transfer.js +15 -31
  229. package/dist/utils/swap-helpers.d.ts +15 -2
  230. package/dist/utils/swap-helpers.js +10 -5
  231. package/dist/utils/wallet.d.ts +25 -2
  232. package/dist/utils/wallet.js +8 -9
  233. package/package.json +4 -159
  234. package/dist/__tests__/subpath-exports.test.d.ts +0 -1
  235. package/dist/__tests__/subpath-exports.test.js +0 -64
  236. package/dist/abis/common.d.ts +0 -85
  237. package/dist/abis/common.js +0 -260
  238. package/dist/abis/contracts/TaxToken.json +0 -969
  239. package/dist/abis/contracts/TokenManager2.json +0 -136
  240. package/dist/abis/contracts/index.d.ts +0 -5
  241. package/dist/abis/contracts/index.js +0 -5
  242. package/dist/abis/flap/index.d.ts +0 -3
  243. package/dist/abis/flap/index.js +0 -3
  244. package/dist/abis/flap/portal-events.d.ts +0 -6
  245. package/dist/abis/flap/portal-events.js +0 -17
  246. package/dist/abis/flap/portal.d.ts +0 -6
  247. package/dist/abis/flap/portal.js +0 -37
  248. package/dist/abis/flap/vault.d.ts +0 -171
  249. package/dist/abis/flap/vault.js +0 -91
  250. package/dist/abis/index.d.ts +0 -8
  251. package/dist/abis/index.js +0 -11
  252. package/dist/bundle-core/__tests__/config-helpers.test.d.ts +0 -1
  253. package/dist/bundle-core/__tests__/config-helpers.test.js +0 -28
  254. package/dist/bundle-core/__tests__/facade-parity.test.d.ts +0 -1
  255. package/dist/bundle-core/__tests__/facade-parity.test.js +0 -33
  256. package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +0 -1
  257. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +0 -60
  258. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +0 -1
  259. package/dist/bundle-core/__tests__/sign-fixture.test.js +0 -220
  260. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +0 -10
  261. package/dist/bundle-core/__tests__/sign-fixtures.js +0 -16
  262. package/dist/bundle-core/config-helpers.d.ts +0 -36
  263. package/dist/bundle-core/config-helpers.js +0 -57
  264. package/dist/bundle-core/errors.d.ts +0 -50
  265. package/dist/bundle-core/errors.js +0 -34
  266. package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +0 -7
  267. package/dist/bundle-core/four-meme/approve-tokenmanager.js +0 -99
  268. package/dist/bundle-core/four-meme/core-helpers.d.ts +0 -8
  269. package/dist/bundle-core/four-meme/core-helpers.js +0 -40
  270. package/dist/bundle-core/four-meme/core.d.ts +0 -4
  271. package/dist/bundle-core/four-meme/core.js +0 -515
  272. package/dist/bundle-core/four-meme/pancake-proxy.d.ts +0 -28
  273. package/dist/bundle-core/four-meme/pancake-proxy.js +0 -679
  274. package/dist/bundle-core/four-meme/private.d.ts +0 -27
  275. package/dist/bundle-core/four-meme/private.js +0 -465
  276. package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +0 -2
  277. package/dist/bundle-core/four-meme/sign-context-helpers.js +0 -2
  278. package/dist/bundle-core/four-meme/swap-buy-first.d.ts +0 -8
  279. package/dist/bundle-core/four-meme/swap-buy-first.js +0 -493
  280. package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +0 -6
  281. package/dist/bundle-core/four-meme/swap-hop-helpers.js +0 -63
  282. package/dist/bundle-core/four-meme/swap-internal.d.ts +0 -3
  283. package/dist/bundle-core/four-meme/swap-internal.js +0 -18
  284. package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +0 -27
  285. package/dist/bundle-core/four-meme/swap-sign-helpers.js +0 -105
  286. package/dist/bundle-core/four-meme/swap.d.ts +0 -17
  287. package/dist/bundle-core/four-meme/swap.js +0 -505
  288. package/dist/bundle-core/four-meme/types/buy-first.d.ts +0 -50
  289. package/dist/bundle-core/four-meme/types/buy-first.js +0 -1
  290. package/dist/bundle-core/four-meme/types/core-flow.d.ts +0 -63
  291. package/dist/bundle-core/four-meme/types/core-flow.js +0 -1
  292. package/dist/bundle-core/four-meme/types/index.d.ts +0 -600
  293. package/dist/bundle-core/four-meme/types/index.js +0 -1
  294. package/dist/bundle-core/four-meme/types/swap-internal.d.ts +0 -19
  295. package/dist/bundle-core/four-meme/types/swap-internal.js +0 -1
  296. package/dist/bundle-core/four-meme/types.d.ts +0 -1
  297. package/dist/bundle-core/four-meme/types.js +0 -1
  298. package/dist/bundle-core/four-meme/utils-disperse.d.ts +0 -7
  299. package/dist/bundle-core/four-meme/utils-disperse.js +0 -396
  300. package/dist/bundle-core/four-meme/utils-pairwise.d.ts +0 -8
  301. package/dist/bundle-core/four-meme/utils-pairwise.js +0 -328
  302. package/dist/bundle-core/four-meme/utils-sweep.d.ts +0 -8
  303. package/dist/bundle-core/four-meme/utils-sweep.js +0 -744
  304. package/dist/bundle-core/index.d.ts +0 -8
  305. package/dist/bundle-core/index.js +0 -8
  306. package/dist/bundle-core/internal.d.ts +0 -21
  307. package/dist/bundle-core/internal.js +0 -182
  308. package/dist/bundle-core/sign-context-helpers.d.ts +0 -25
  309. package/dist/bundle-core/sign-context-helpers.js +0 -67
  310. package/dist/bundle-core/submit.d.ts +0 -293
  311. package/dist/bundle-core/submit.js +0 -727
  312. package/dist/bundle-core/types/index.d.ts +0 -8
  313. package/dist/bundle-core/types/index.js +0 -1
  314. package/dist/bundle-core/types.d.ts +0 -1
  315. package/dist/bundle-core/types.js +0 -1
  316. package/dist/chains/bsc/four/utils-disperse.d.ts +0 -1
  317. package/dist/chains/bsc/four/utils-disperse.js +0 -1
  318. package/dist/chains/bsc/four/utils-pairwise.d.ts +0 -1
  319. package/dist/chains/bsc/four/utils-pairwise.js +0 -1
  320. package/dist/chains/bsc/four/utils-sweep.d.ts +0 -1
  321. package/dist/chains/bsc/four/utils-sweep.js +0 -1
  322. package/dist/chains/bsc/iro.d.ts +0 -5
  323. package/dist/chains/bsc/iro.js +0 -4
  324. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +0 -159
  325. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +0 -117
  326. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +0 -241
  327. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +0 -565
  328. package/dist/chains/eni/flat-aliases.d.ts +0 -10
  329. package/dist/chains/eni/flat-aliases.js +0 -8
  330. package/dist/chains/eni/submit.d.ts +0 -43
  331. package/dist/chains/eni/submit.js +0 -286
  332. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +0 -13
  333. package/dist/chains/xlayer/eip7702/flat-aliases.js +0 -10
  334. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +0 -79
  335. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +0 -1
  336. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +0 -26
  337. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +0 -57
  338. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +0 -148
  339. package/dist/chains/xlayer/eip7702/volume-helpers.js +0 -48
  340. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +0 -126
  341. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +0 -228
  342. package/dist/contracts/tm-bundle-helpers.d.ts +0 -88
  343. package/dist/contracts/tm-bundle-helpers.js +0 -72
  344. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +0 -1
  345. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +0 -1
  346. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +0 -1
  347. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +0 -1
  348. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +0 -1
  349. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +0 -1
  350. package/dist/dex/direct-router-helpers.d.ts +0 -264
  351. package/dist/dex/direct-router-helpers.js +0 -539
  352. package/dist/dex/types.d.ts +0 -81
  353. package/dist/dex/types.js +0 -1
  354. package/dist/exports/root-bundle-and-tooling.d.ts +0 -27
  355. package/dist/exports/root-bundle-and-tooling.js +0 -30
  356. package/dist/exports/root-eni-and-bsc-iro.d.ts +0 -26
  357. package/dist/exports/root-eni-and-bsc-iro.js +0 -66
  358. package/dist/exports/root-foundations.d.ts +0 -35
  359. package/dist/exports/root-foundations.js +0 -70
  360. package/dist/exports/root-swap-dex-and-xlayer.d.ts +0 -30
  361. package/dist/exports/root-swap-dex-and-xlayer.js +0 -78
  362. package/dist/flap/index.d.ts +0 -10
  363. package/dist/flap/index.js +0 -8
  364. package/dist/flows/index.d.ts +0 -1
  365. package/dist/flows/index.js +0 -1
  366. package/dist/merkle/index.d.ts +0 -12
  367. package/dist/merkle/index.js +0 -11
  368. package/dist/shared/clients/index.d.ts +0 -8
  369. package/dist/shared/clients/index.js +0 -8
  370. package/dist/shared/constants/quote.d.ts +0 -30
  371. package/dist/shared/constants/quote.js +0 -37
  372. package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +0 -32
  373. package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +0 -83
  374. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +0 -125
  375. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +0 -113
  376. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +0 -149
  377. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +0 -259
  378. package/dist/shared/foundation/dex/v3-path.d.ts +0 -6
  379. package/dist/shared/foundation/dex/v3-path.js +0 -35
  380. package/dist/shared/foundation/gas/bundle-gas.d.ts +0 -39
  381. package/dist/shared/foundation/gas/bundle-gas.js +0 -93
  382. package/dist/shared/foundation/gas/profit-hop.d.ts +0 -20
  383. package/dist/shared/foundation/gas/profit-hop.js +0 -72
  384. package/dist/shared/foundation/index.d.ts +0 -13
  385. package/dist/shared/foundation/index.js +0 -12
  386. package/dist/shared/foundation/nonce/nonce-manager.d.ts +0 -17
  387. package/dist/shared/foundation/nonce/nonce-manager.js +0 -180
  388. package/dist/shared/foundation/normalize-unknown.d.ts +0 -9
  389. package/dist/shared/foundation/normalize-unknown.js +0 -29
  390. package/dist/shared/foundation/sdk-logger.d.ts +0 -13
  391. package/dist/shared/foundation/sdk-logger.js +0 -12
  392. package/dist/shared/foundation/tx/build-request.d.ts +0 -17
  393. package/dist/shared/foundation/tx/build-request.js +0 -25
  394. package/dist/shared/foundation/tx/sign-batch.d.ts +0 -5
  395. package/dist/shared/foundation/tx/sign-batch.js +0 -26
  396. package/dist/shared/foundation/tx/wallet-sign-patch.d.ts +0 -1
  397. package/dist/shared/foundation/tx/wallet-sign-patch.js +0 -18
  398. package/dist/shared/foundation/types/airdrop-sweep.d.ts +0 -79
  399. package/dist/shared/foundation/types/airdrop-sweep.js +0 -1
  400. package/dist/shared/foundation/types/erc20.d.ts +0 -65
  401. package/dist/shared/foundation/types/erc20.js +0 -1
  402. package/dist/shared/foundation/types/holders-maker.d.ts +0 -64
  403. package/dist/shared/foundation/types/holders-maker.js +0 -1
  404. package/dist/shared/foundation/types/index.d.ts +0 -7
  405. package/dist/shared/foundation/types/index.js +0 -1
  406. package/dist/shared/foundation/types/lp-inspect.d.ts +0 -102
  407. package/dist/shared/foundation/types/lp-inspect.js +0 -1
  408. package/dist/shared/foundation/types/multicall.d.ts +0 -5
  409. package/dist/shared/foundation/types/multicall.js +0 -1
  410. package/dist/shared/foundation/types/private-sale.d.ts +0 -35
  411. package/dist/shared/foundation/types/private-sale.js +0 -1
  412. package/dist/shared/foundation/types/quote-helpers.d.ts +0 -17
  413. package/dist/shared/foundation/types/quote-helpers.js +0 -1
  414. package/dist/types/errors.d.ts +0 -27
  415. package/dist/types/errors.js +0 -34
  416. package/dist/utils/holders-maker/addresses.d.ts +0 -12
  417. package/dist/utils/holders-maker/addresses.js +0 -15
  418. package/dist/utils/holders-maker/buy-tx.d.ts +0 -44
  419. package/dist/utils/holders-maker/buy-tx.js +0 -278
  420. package/dist/utils/holders-maker/constants.d.ts +0 -6
  421. package/dist/utils/holders-maker/constants.js +0 -7
  422. package/dist/utils/holders-maker/disperse.d.ts +0 -18
  423. package/dist/utils/holders-maker/disperse.js +0 -90
  424. package/dist/utils/holders-maker/routing.d.ts +0 -4
  425. package/dist/utils/holders-maker/routing.js +0 -45
  426. package/dist/utils/holders-maker/transfer-tx.d.ts +0 -4
  427. package/dist/utils/holders-maker/transfer-tx.js +0 -67
  428. package/dist/utils/holders-maker-helpers.d.ts +0 -9
  429. package/dist/utils/holders-maker-helpers.js +0 -9
  430. package/dist/utils/hop-chains.d.ts +0 -35
  431. package/dist/utils/hop-chains.js +0 -215
  432. package/dist/utils/lp-inspect-helpers.d.ts +0 -9
  433. package/dist/utils/lp-inspect-helpers.js +0 -109
  434. package/dist/utils/types/airdrop-sweep.d.ts +0 -1
  435. package/dist/utils/types/airdrop-sweep.js +0 -1
  436. package/dist/utils/types/contract-factory.d.ts +0 -1
  437. package/dist/utils/types/contract-factory.js +0 -1
  438. package/dist/utils/types/erc20.d.ts +0 -1
  439. package/dist/utils/types/erc20.js +0 -1
  440. package/dist/utils/types/errors.d.ts +0 -1
  441. package/dist/utils/types/errors.js +0 -1
  442. package/dist/utils/types/holders-maker.d.ts +0 -1
  443. package/dist/utils/types/holders-maker.js +0 -1
  444. package/dist/utils/types/hop-chains.d.ts +0 -8
  445. package/dist/utils/types/hop-chains.js +0 -1
  446. package/dist/utils/types/index.d.ts +0 -13
  447. package/dist/utils/types/index.js +0 -1
  448. package/dist/utils/types/lp-inspect.d.ts +0 -1
  449. package/dist/utils/types/lp-inspect.js +0 -1
  450. package/dist/utils/types/mpc-exclusive.d.ts +0 -5
  451. package/dist/utils/types/mpc-exclusive.js +0 -1
  452. package/dist/utils/types/private-sale.d.ts +0 -1
  453. package/dist/utils/types/private-sale.js +0 -1
  454. package/dist/utils/types/quote-helpers.d.ts +0 -1
  455. package/dist/utils/types/quote-helpers.js +0 -1
  456. package/dist/utils/types/stealth-transfer.d.ts +0 -44
  457. package/dist/utils/types/stealth-transfer.js +0 -1
  458. package/dist/utils/types/wallet.d.ts +0 -25
  459. package/dist/utils/types/wallet.js +0 -1
  460. package/dist/vanity/index.d.ts +0 -5
  461. package/dist/vanity/index.js +0 -5
  462. package/src/abis/contracts/TaxToken.json +0 -969
  463. package/src/abis/contracts/TokenManager.json +0 -836
  464. package/src/abis/contracts/TokenManager2.json +0 -136
  465. package/src/abis/contracts/TokenManagerHelper3.json +0 -993
  466. /package/dist/{abis/contracts → shared/abis}/TokenManager.json +0 -0
  467. /package/dist/{abis/contracts → shared/abis}/TokenManagerHelper3.json +0 -0
@@ -1,83 +0,0 @@
1
- import { Contract } from 'ethers';
2
- import { ADDRESSES } from '../../../shared/constants/index.js';
3
- import { CHAINS } from '../../constants/index.js';
4
- import { V2_ROUTER_QUOTE_ABI } from '../../abis/common.js';
5
- // ✅ 常量
6
- export const MULTICALL3_ADDRESS = ADDRESSES.BSC.Multicall3;
7
- // ==================== ERC20 → 原生代币报价 ====================
8
- // BSC 链常量
9
- export const BSC_PANCAKE_V2_ROUTER = ADDRESSES.BSC.PancakeV2Router;
10
- export const BSC_WBNB = ADDRESSES.BSC.WBNB;
11
- // ✅ Monad 链常量
12
- export const MONAD_PANCAKE_V2_ROUTER = '0xb1bc24c34e88f7d43d5923034e3a14b24daacff9';
13
- export const MONAD_WMON = ADDRESSES.MONAD.WMON;
14
- // ✅ XLAYER 链常量(PotatoSwap V2)
15
- export const XLAYER_POTATOSWAP_V2_ROUTER = ADDRESSES.XLAYER.PotatoSwapV2Router;
16
- export const XLAYER_WOKB = ADDRESSES.XLAYER.WOKB;
17
- export const ROUTER_ABI = V2_ROUTER_QUOTE_ABI;
18
- /**
19
- * 获取 ERC20 代币 → 原生代币的报价
20
- * @param provider - Provider 实例
21
- * @param tokenAddress - ERC20 代币地址
22
- * @param tokenAmount - 代币数量(wei)
23
- * @param chainId - 链 ID(56=BSC, 143=Monad)
24
- * @returns 等值的原生代币数量(wei),失败返回 0n
25
- */
26
- export async function getTokenToNativeQuote(provider, tokenAddress, tokenAmount, chainId) {
27
- if (tokenAmount <= 0n)
28
- return 0n;
29
- try {
30
- if (chainId === CHAINS.BSC.chainId) {
31
- // BSC: 使用 PancakeSwap V2 Router
32
- const router = new Contract(BSC_PANCAKE_V2_ROUTER, ROUTER_ABI, provider);
33
- const amounts = await router.getAmountsOut(tokenAmount, [tokenAddress, BSC_WBNB]);
34
- return amounts[1];
35
- }
36
- if (chainId === CHAINS.MONAD.chainId) {
37
- // ✅ Monad: 使用 PancakeSwap V2 Router
38
- const router = new Contract(MONAD_PANCAKE_V2_ROUTER, ROUTER_ABI, provider);
39
- const amounts = await router.getAmountsOut(tokenAmount, [tokenAddress, MONAD_WMON]);
40
- return amounts[1];
41
- }
42
- if (chainId === CHAINS.XLAYER.chainId) {
43
- // ✅ XLAYER: 使用 PotatoSwap V2 Router(USDT0 → WOKB)
44
- const router = new Contract(XLAYER_POTATOSWAP_V2_ROUTER, ROUTER_ABI, provider);
45
- const amounts = await router.getAmountsOut(tokenAmount, [tokenAddress, XLAYER_WOKB]);
46
- return amounts[1];
47
- }
48
- if (chainId === CHAINS.BASE.chainId) {
49
- // ✅ Base: 目前大部分 Flap 交易使用 ETH(原生代币),ERC20 报价暂不支持
50
- // Base 主力 DEX 是 Uniswap V3,V2 Router 流动性有限,暂返回 0
51
- // TODO: 后续可接入 Uniswap V3 QuoterV2 进行精确报价
52
- return 0n;
53
- }
54
- // 其他链暂不支持报价,返回 0
55
- return 0n;
56
- }
57
- catch {
58
- // 报价失败返回 0(可能是流动性不足或路径不存在)
59
- return 0n;
60
- }
61
- }
62
- /**
63
- * 获取 Gas Limit
64
- * 优先使用 config.gasLimit,否则使用默认值 * multiplier
65
- *
66
- * ✅ ethers v6 最佳实践:直接使用 bigint 类型
67
- */
68
- export function getGasLimit(config, defaultGas = 800000) {
69
- // 优先使用前端传入的 gasLimit
70
- if (config.gasLimit !== undefined) {
71
- // 如果已经是 bigint,直接返回;否则转换
72
- return typeof config.gasLimit === 'bigint' ? config.gasLimit : BigInt(config.gasLimit);
73
- }
74
- // 使用默认值 * multiplier
75
- const multiplier = config.gasLimitMultiplier ?? 1.0;
76
- const calculatedGas = Math.ceil(defaultGas * multiplier);
77
- // JavaScript 原生 BigInt 转换(ethers v6 兼容)
78
- return BigInt(calculatedGas);
79
- }
80
- /**
81
- * Flap Protocol: 创建代币 + 捆绑购买(仅签名版本 - 不依赖 Merkle)
82
- * ✅ 精简版:只负责签名交易,不提交到 Merkle
83
- */
@@ -1,125 +0,0 @@
1
- /**
2
- * Flap Protocol 内盘捆绑换手(Merkle Bundle)- 先买后卖
3
- *
4
- * 功能:钱包B先买入代币 → 钱包A卖出相同数量 → 原子执行
5
- */
6
- import { ethers } from 'ethers';
7
- import { CommonBundleConfig } from '../../../utils/bundle-helpers.js';
8
- import { FlapSignConfig } from './config.js';
9
- import type { GeneratedWallet } from '../../../utils/wallet.js';
10
- export declare const BSC_PANCAKE_V2_ROUTER: "0x10ED43C718714eb63d5aA57B78B54704E256024E";
11
- export declare const BSC_WBNB: "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
12
- export declare const MONAD_PANCAKE_V2_ROUTER = "0xb1bc24c34e88f7d43d5923034e3a14b24daacff9";
13
- export declare const MONAD_WMON: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a";
14
- export declare const ROUTER_ABI: string[];
15
- /**
16
- * 获取 ERC20 代币 → 原生代币的报价
17
- * @param provider - Provider 实例
18
- * @param tokenAddress - ERC20 代币地址
19
- * @param tokenAmount - 代币数量(wei)
20
- * @param chainId - 链 ID(56=BSC, 143=Monad)
21
- * @returns 等值的原生代币数量(wei),失败返回 0n
22
- */
23
- export declare function getTokenToNativeQuote(provider: ethers.JsonRpcProvider, tokenAddress: string, tokenAmount: bigint, chainId: number): Promise<bigint>;
24
- export type FlapChain = 'bsc' | 'xlayer' | 'base';
25
- /**
26
- * 获取 Gas Limit(支持 FlapAnyConfig)
27
- */
28
- export declare function getGasLimit(config: FlapSignConfig | CommonBundleConfig, defaultGas?: number): bigint;
29
- /** 最大 Bundle 签名数 */
30
- export declare const MAX_BUNDLE_SIGNATURES = 50;
31
- /** 贿赂交易数 */
32
- export declare const BRIBE_TX_COUNT = 1;
33
- /** 利润中转交易数(支付者 1 笔 + 中转钱包 PROFIT_HOP_COUNT 笔 + 最终接收 1 笔) */
34
- export declare const PROFIT_TX_COUNT: number;
35
- /** 最大买卖交易数 */
36
- export declare const MAX_SWAP_TX_COUNT: number;
37
- export type UserType = 'v0' | 'v1';
38
- /**
39
- * 根据 userType 获取每笔交易的利润率
40
- */
41
- export declare function getProfitRatePerTxBps(userType?: UserType): number;
42
- export interface FlapBuyFirstSignConfig extends FlapSignConfig {
43
- reserveGasETH?: number;
44
- skipQuoteOnError?: boolean;
45
- userType?: UserType;
46
- }
47
- export interface FlapBuyFirstConfig extends CommonBundleConfig {
48
- apiKey: string;
49
- customRpcUrl?: string;
50
- bundleBlockOffset?: number;
51
- reserveGasETH?: number;
52
- skipQuoteOnError?: boolean;
53
- waitForConfirmation?: boolean;
54
- waitTimeoutMs?: number;
55
- }
56
- export interface FlapBundleBuyFirstSignParams {
57
- chain: FlapChain;
58
- buyerPrivateKey?: string;
59
- buyerPrivateKeys?: string[];
60
- sellerPrivateKey?: string;
61
- sellerPrivateKeys?: string[];
62
- tokenAddress: string;
63
- buyerFunds?: string;
64
- buyerFundsPercentage?: number;
65
- config: FlapBuyFirstSignConfig;
66
- quoteToken?: string;
67
- quoteTokenDecimals?: number;
68
- buyCount?: number;
69
- sellCount?: number;
70
- }
71
- export interface FlapBundleBuyFirstParams {
72
- chain: FlapChain;
73
- buyerPrivateKey: string;
74
- sellerPrivateKey: string;
75
- tokenAddress: string;
76
- buyerFunds?: string;
77
- buyerFundsPercentage?: number;
78
- config: FlapBuyFirstConfig;
79
- }
80
- /** ✅ Flap BuyFirst 结果(简化版) */
81
- export type FlapBuyFirstResult = {
82
- signedTransactions: string[];
83
- profitHopWallets?: GeneratedWallet[];
84
- metadata?: {
85
- buyerAddress: string;
86
- sellerAddress: string;
87
- buyAmount: string;
88
- sellAmount: string;
89
- profitAmount?: string;
90
- buyCount?: number;
91
- sellCount?: number;
92
- buyAmounts?: string[];
93
- sellAmounts?: string[];
94
- };
95
- };
96
- export type ChainContext = {
97
- chainId: number;
98
- nativeToken: string;
99
- portalAddress: string;
100
- provider: ethers.JsonRpcProvider;
101
- };
102
- export type BuyerFundsResult = {
103
- buyerFundsWei: bigint;
104
- buyerBalance: bigint;
105
- };
106
- export type QuoteResult = {
107
- quotedToken: bigint;
108
- sellAmountWei: bigint;
109
- };
110
- export type SellerInfo = {
111
- decimals: number;
112
- };
113
- /** ✅ 多笔买卖 nonce 规划 */
114
- export type MultiNoncePlan = {
115
- buyerNonces: number[];
116
- sellerNonces: number[];
117
- bribeNonce?: number;
118
- profitNonce?: number;
119
- };
120
- /**
121
- * 验证买卖笔数
122
- */
123
- export declare function validateSwapCounts(buyCount: number, sellCount: number): void;
124
- export declare function getChainId(chain: FlapChain): number;
125
- export declare function getNativeTokenName(chain: FlapChain): string;
@@ -1,113 +0,0 @@
1
- /**
2
- * Flap Protocol 内盘捆绑换手(Merkle Bundle)- 先买后卖
3
- *
4
- * 功能:钱包B先买入代币 → 钱包A卖出相同数量 → 原子执行
5
- */
6
- import { Contract } from 'ethers';
7
- import { PROFIT_HOP_COUNT } from '../../../utils/bundle-helpers.js';
8
- import { ADDRESSES } from '../../../shared/constants/index.js';
9
- import { CHAINS, getProfitRateBps } from '../../constants/index.js';
10
- import { V2_ROUTER_QUOTE_ABI } from '../../abis/common.js';
11
- // ==================== 链常量 ====================
12
- export const BSC_PANCAKE_V2_ROUTER = ADDRESSES.BSC.PancakeV2Router;
13
- export const BSC_WBNB = ADDRESSES.BSC.WBNB;
14
- export const MONAD_PANCAKE_V2_ROUTER = '0xb1bc24c34e88f7d43d5923034e3a14b24daacff9';
15
- export const MONAD_WMON = ADDRESSES.MONAD.WMON;
16
- export const ROUTER_ABI = V2_ROUTER_QUOTE_ABI;
17
- /**
18
- * 获取 ERC20 代币 → 原生代币的报价
19
- * @param provider - Provider 实例
20
- * @param tokenAddress - ERC20 代币地址
21
- * @param tokenAmount - 代币数量(wei)
22
- * @param chainId - 链 ID(56=BSC, 143=Monad)
23
- * @returns 等值的原生代币数量(wei),失败返回 0n
24
- */
25
- export async function getTokenToNativeQuote(provider, tokenAddress, tokenAmount, chainId) {
26
- if (tokenAmount <= 0n)
27
- return 0n;
28
- try {
29
- if (chainId === CHAINS.BSC.chainId) {
30
- // BSC: 使用 PancakeSwap V2 Router
31
- const router = new Contract(BSC_PANCAKE_V2_ROUTER, ROUTER_ABI, provider);
32
- const amounts = await router.getAmountsOut(tokenAmount, [tokenAddress, BSC_WBNB]);
33
- return amounts[1];
34
- }
35
- if (chainId === CHAINS.MONAD.chainId) {
36
- // ✅ Monad: 使用 PancakeSwap V2 Router
37
- const router = new Contract(MONAD_PANCAKE_V2_ROUTER, ROUTER_ABI, provider);
38
- const amounts = await router.getAmountsOut(tokenAmount, [tokenAddress, MONAD_WMON]);
39
- return amounts[1];
40
- }
41
- // ✅ Base (8453) / XLayer (196) 等链暂不支持 V2 报价,返回 0
42
- return 0n;
43
- }
44
- catch {
45
- // 报价失败返回 0(可能是流动性不足或路径不存在)
46
- return 0n;
47
- }
48
- }
49
- /**
50
- * 获取 Gas Limit(支持 FlapAnyConfig)
51
- */
52
- export function getGasLimit(config, defaultGas = 800000) {
53
- if (config.gasLimit !== undefined) {
54
- return typeof config.gasLimit === 'bigint' ? config.gasLimit : BigInt(config.gasLimit);
55
- }
56
- const multiplier = config.gasLimitMultiplier ?? 1.0;
57
- return BigInt(Math.ceil(defaultGas * multiplier));
58
- }
59
- // ==================== 多笔买卖常量 ====================
60
- /** 最大 Bundle 签名数 */
61
- export const MAX_BUNDLE_SIGNATURES = 50;
62
- /** 贿赂交易数 */
63
- export const BRIBE_TX_COUNT = 1;
64
- /** 利润中转交易数(支付者 1 笔 + 中转钱包 PROFIT_HOP_COUNT 笔 + 最终接收 1 笔) */
65
- export const PROFIT_TX_COUNT = PROFIT_HOP_COUNT + 2; // 2 + 2 = 4
66
- /** 最大买卖交易数 */
67
- export const MAX_SWAP_TX_COUNT = MAX_BUNDLE_SIGNATURES - BRIBE_TX_COUNT - PROFIT_TX_COUNT; // 50 - 1 - 4 = 45
68
- /**
69
- * 根据 userType 获取每笔交易的利润率
70
- */
71
- export function getProfitRatePerTxBps(userType) {
72
- if (userType === 'v1') {
73
- return getProfitRateBps('v1Double');
74
- }
75
- return getProfitRateBps('v0Double'); // v0 或默认
76
- }
77
- /**
78
- * 验证买卖笔数
79
- */
80
- export function validateSwapCounts(buyCount, sellCount) {
81
- if (buyCount < 1) {
82
- throw new Error(`买入笔数必须至少为 1,当前为 ${buyCount}`);
83
- }
84
- if (sellCount < 1) {
85
- throw new Error(`卖出笔数必须至少为 1,当前为 ${sellCount}`);
86
- }
87
- const totalSwaps = buyCount + sellCount;
88
- if (totalSwaps > MAX_SWAP_TX_COUNT) {
89
- throw new Error(`买卖笔数总和 (${totalSwaps}) 超出限制 (${MAX_SWAP_TX_COUNT}),` +
90
- `最大签名数为 ${MAX_BUNDLE_SIGNATURES}(${BRIBE_TX_COUNT} 贿赂 + ${PROFIT_TX_COUNT} 利润 + ${MAX_SWAP_TX_COUNT} 买卖)`);
91
- }
92
- }
93
- export function getChainId(chain) {
94
- switch (chain) {
95
- case 'bsc':
96
- return 56;
97
- case 'xlayer':
98
- return 196;
99
- case 'base':
100
- return 8453;
101
- }
102
- }
103
- export function getNativeTokenName(chain) {
104
- switch (chain) {
105
- case 'bsc':
106
- return 'BNB';
107
- case 'xlayer':
108
- return 'OKB';
109
- case 'base':
110
- return 'ETH';
111
- }
112
- }
113
- // 使用公共工具的 getGasLimit,移除本地重复实现
@@ -1,149 +0,0 @@
1
- /**
2
- * Flap Protocol 内盘捆绑换手(Merkle Bundle)
3
- *
4
- * 功能:钱包A卖出代币 → 钱包B买入相同数量 → 原子执行
5
- */
6
- import { ethers, Wallet, JsonRpcProvider } from 'ethers';
7
- import { CommonBundleConfig } from '../../../utils/bundle-helpers.js';
8
- import { type GeneratedWallet } from '../../../utils/wallet.js';
9
- export declare const NATIVE_TRANSFER_GAS_LIMIT: 21055n;
10
- export declare const ERC20_TRANSFER_GAS_LIMIT_HOP: 65000n;
11
- export declare const BRIBE_GAS_LIMIT: 21000n;
12
- /**
13
- * 分发多跳路径信息
14
- */
15
- export type DisperseHopPath = {
16
- targetAddress: string;
17
- hopWallets: Wallet[];
18
- hopWalletsInfo: GeneratedWallet[];
19
- };
20
- /**
21
- * 生成分发多跳路径
22
- */
23
- export declare function generateDisperseHopPaths(targetAddresses: string[], hopCount: number, provider: JsonRpcProvider): DisperseHopPath[];
24
- /**
25
- * 构建原生代币多跳转账链
26
- */
27
- export declare function buildNativeHopChain(payer: Wallet, path: DisperseHopPath, finalAmount: bigint, gasPrice: bigint, chainId: number, txType: number, payerNonce: number): Promise<string[]>;
28
- /**
29
- * 构建 ERC20 多跳转账链
30
- */
31
- export declare function buildERC20HopChain(payer: Wallet, path: DisperseHopPath, erc20Address: string, erc20Amount: bigint, gasPrice: bigint, chainId: number, txType: number, payerNonce: number): Promise<string[]>;
32
- /**
33
- * 构建 BNB 多跳转账链(为 ERC20 中间钱包预留 gas)
34
- */
35
- export declare function buildBNBHopChainForERC20(payer: Wallet, path: DisperseHopPath, finalGasAmount: bigint, gasPrice: bigint, chainId: number, txType: number, payerNonce: number): Promise<string[]>;
36
- export type UserType = 'v0' | 'v1';
37
- export interface FlapSwapSignConfig {
38
- rpcUrl: string;
39
- gasLimit?: number | bigint;
40
- gasLimitMultiplier?: number;
41
- minGasPriceGwei?: number;
42
- maxGasPriceGwei?: number;
43
- txType?: 0 | 2;
44
- chainId?: number;
45
- reserveGasETH?: number;
46
- skipQuoteOnError?: boolean;
47
- skipApprovalCheck?: boolean;
48
- bribeAmount?: number;
49
- userType?: UserType;
50
- }
51
- /**
52
- * 获取 Gas Limit
53
- */
54
- export declare function getGasLimit(config: FlapSwapSignConfig | FlapSwapConfig, defaultGas?: number): bigint;
55
- export declare const ROUTER_ABI: string[];
56
- export declare const ERC20_BALANCE_OF_ABI: string[];
57
- export declare const APPROVE_INTERFACE: ethers.Interface;
58
- export declare const BSC_PANCAKE_V2_ROUTER: "0x10ED43C718714eb63d5aA57B78B54704E256024E";
59
- export declare const BSC_WBNB: "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
60
- export declare const MONAD_PANCAKE_V2_ROUTER = "0xb1bc24c34e88f7d43d5923034e3a14b24daacff9";
61
- export declare const MONAD_WMON: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a";
62
- /**
63
- * 获取 ERC20 代币 → 原生代币的报价
64
- * @param provider - Provider 实例
65
- * @param tokenAddress - ERC20 代币地址
66
- * @param tokenAmount - 代币数量(wei)
67
- * @param chainId - 链 ID(56=BSC, 143=Monad)
68
- * @returns 等值的原生代币数量(wei),失败返回 0n
69
- */
70
- export declare function getTokenToNativeQuote(provider: ethers.JsonRpcProvider, tokenAddress: string, tokenAmount: bigint, chainId: number): Promise<bigint>;
71
- export type FlapChain = 'bsc' | 'xlayer' | 'base';
72
- export interface FlapSwapConfig extends CommonBundleConfig {
73
- apiKey: string;
74
- customRpcUrl?: string;
75
- bundleBlockOffset?: number;
76
- reserveGasETH?: number;
77
- skipQuoteOnError?: boolean;
78
- waitForConfirmation?: boolean;
79
- waitTimeoutMs?: number;
80
- skipApprovalCheck?: boolean;
81
- }
82
- export interface FlapBundleSwapSignParams {
83
- chain: FlapChain;
84
- sellerPrivateKey: string;
85
- sellAmount?: string;
86
- sellPercentage?: number;
87
- buyerPrivateKey: string;
88
- tokenAddress: string;
89
- config: FlapSwapSignConfig;
90
- quoteToken?: string;
91
- quoteTokenDecimals?: number;
92
- startNonces?: number[];
93
- }
94
- export interface FlapBundleSwapParams {
95
- chain: FlapChain;
96
- sellerPrivateKey: string;
97
- sellAmount?: string;
98
- sellPercentage?: number;
99
- buyerPrivateKey: string;
100
- tokenAddress: string;
101
- config: FlapSwapConfig;
102
- }
103
- /** ✅ Flap Swap 结果(简化版) */
104
- export type FlapSwapResult = {
105
- signedTransactions: string[];
106
- profitHopWallets?: GeneratedWallet[];
107
- metadata?: {
108
- sellerAddress: string;
109
- buyerAddress: string;
110
- sellAmount: string;
111
- buyAmount: string;
112
- hasApproval?: boolean;
113
- profitAmount?: string;
114
- };
115
- };
116
- export type ChainContext = {
117
- chainId: number;
118
- nativeToken: string;
119
- portalAddress: string;
120
- provider: ethers.JsonRpcProvider;
121
- };
122
- export type QuoteResult = {
123
- quotedNative: bigint;
124
- minOutNative: bigint;
125
- };
126
- export type BuyerNeed = {
127
- reserveGas: bigint;
128
- buyerBalance: bigint;
129
- buyerNeedTotal: bigint;
130
- maxBuyerValue: bigint;
131
- };
132
- export type NoncePlan = {
133
- sellerNonce: number;
134
- buyerNonce: number;
135
- bribeNonce?: number;
136
- profitNonce?: number;
137
- };
138
- /**
139
- * 获取链ID
140
- */
141
- export declare function getChainId(chain: FlapChain): number;
142
- /**
143
- * 获取原生代币名称
144
- */
145
- export declare function getNativeTokenName(chain: FlapChain): string;
146
- /**
147
- * Flap内盘捆绑换手
148
- * ✅ 支持 quoteToken:传入 USDT 等地址时,卖出得到该代币,买入使用该代币
149
- */