four-flap-meme-sdk 2.2.2 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. package/README.en.md +41 -6
  2. package/README.md +31 -0
  3. package/README.zh-CN.md +41 -6
  4. package/dist/__tests__/subpath-exports.test.d.ts +1 -0
  5. package/dist/__tests__/subpath-exports.test.js +64 -0
  6. package/dist/abis/common.d.ts +85 -0
  7. package/dist/abis/common.js +264 -0
  8. package/dist/abis/contracts/TaxToken.json +969 -0
  9. package/dist/abis/contracts/TokenManager2.json +136 -0
  10. package/dist/abis/contracts/index.d.ts +5 -0
  11. package/dist/abis/contracts/index.js +5 -0
  12. package/dist/abis/flap/index.d.ts +3 -0
  13. package/dist/abis/flap/index.js +3 -0
  14. package/dist/abis/flap/portal-events.d.ts +6 -0
  15. package/dist/abis/flap/portal-events.js +17 -0
  16. package/dist/abis/flap/portal.d.ts +6 -0
  17. package/dist/abis/flap/portal.js +37 -0
  18. package/dist/abis/flap/vault.d.ts +171 -0
  19. package/dist/abis/flap/vault.js +91 -0
  20. package/dist/abis/index.d.ts +8 -0
  21. package/dist/abis/index.js +11 -0
  22. package/dist/bundle-core/__tests__/config-helpers.test.d.ts +1 -0
  23. package/dist/bundle-core/__tests__/config-helpers.test.js +28 -0
  24. package/dist/bundle-core/__tests__/facade-parity.test.d.ts +1 -0
  25. package/dist/bundle-core/__tests__/facade-parity.test.js +33 -0
  26. package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +1 -0
  27. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +60 -0
  28. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +1 -0
  29. package/dist/bundle-core/__tests__/sign-fixture.test.js +220 -0
  30. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +10 -0
  31. package/dist/bundle-core/__tests__/sign-fixtures.js +16 -0
  32. package/dist/bundle-core/config-helpers.d.ts +36 -0
  33. package/dist/bundle-core/config-helpers.js +57 -0
  34. package/dist/bundle-core/errors.d.ts +50 -0
  35. package/dist/bundle-core/errors.js +35 -0
  36. package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +7 -0
  37. package/dist/bundle-core/four-meme/approve-tokenmanager.js +99 -0
  38. package/dist/bundle-core/four-meme/core-helpers.d.ts +8 -0
  39. package/dist/bundle-core/four-meme/core-helpers.js +40 -0
  40. package/dist/bundle-core/four-meme/core.d.ts +4 -0
  41. package/dist/bundle-core/four-meme/core.js +515 -0
  42. package/dist/bundle-core/four-meme/pancake-proxy.d.ts +28 -0
  43. package/dist/bundle-core/four-meme/pancake-proxy.js +679 -0
  44. package/dist/bundle-core/four-meme/private.d.ts +27 -0
  45. package/dist/bundle-core/four-meme/private.js +465 -0
  46. package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +2 -0
  47. package/dist/bundle-core/four-meme/sign-context-helpers.js +2 -0
  48. package/dist/bundle-core/four-meme/swap-buy-first.d.ts +8 -0
  49. package/dist/bundle-core/four-meme/swap-buy-first.js +493 -0
  50. package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +6 -0
  51. package/dist/bundle-core/four-meme/swap-hop-helpers.js +63 -0
  52. package/dist/bundle-core/four-meme/swap-internal.d.ts +3 -0
  53. package/dist/bundle-core/four-meme/swap-internal.js +18 -0
  54. package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +27 -0
  55. package/dist/bundle-core/four-meme/swap-sign-helpers.js +105 -0
  56. package/dist/bundle-core/four-meme/swap.d.ts +17 -0
  57. package/dist/bundle-core/four-meme/swap.js +505 -0
  58. package/dist/bundle-core/four-meme/types/buy-first.d.ts +50 -0
  59. package/dist/bundle-core/four-meme/types/buy-first.js +1 -0
  60. package/dist/bundle-core/four-meme/types/core-flow.d.ts +63 -0
  61. package/dist/bundle-core/four-meme/types/core-flow.js +1 -0
  62. package/dist/bundle-core/four-meme/types/index.d.ts +600 -0
  63. package/dist/bundle-core/four-meme/types/index.js +1 -0
  64. package/dist/bundle-core/four-meme/types/swap-internal.d.ts +19 -0
  65. package/dist/bundle-core/four-meme/types/swap-internal.js +1 -0
  66. package/dist/bundle-core/four-meme/types.d.ts +1 -0
  67. package/dist/bundle-core/four-meme/types.js +1 -0
  68. package/dist/bundle-core/four-meme/utils-disperse.d.ts +7 -0
  69. package/dist/bundle-core/four-meme/utils-disperse.js +396 -0
  70. package/dist/bundle-core/four-meme/utils-pairwise.d.ts +8 -0
  71. package/dist/bundle-core/four-meme/utils-pairwise.js +328 -0
  72. package/dist/bundle-core/four-meme/utils-sweep.d.ts +8 -0
  73. package/dist/bundle-core/four-meme/utils-sweep.js +744 -0
  74. package/dist/bundle-core/index.d.ts +8 -0
  75. package/dist/bundle-core/index.js +8 -0
  76. package/dist/bundle-core/internal.d.ts +21 -0
  77. package/dist/bundle-core/internal.js +182 -0
  78. package/dist/bundle-core/sign-context-helpers.d.ts +25 -0
  79. package/dist/bundle-core/sign-context-helpers.js +67 -0
  80. package/dist/bundle-core/submit.d.ts +293 -0
  81. package/dist/bundle-core/submit.js +727 -0
  82. package/dist/bundle-core/types/index.d.ts +8 -0
  83. package/dist/bundle-core/types/index.js +1 -0
  84. package/dist/bundle-core/types.d.ts +1 -0
  85. package/dist/bundle-core/types.js +1 -0
  86. package/dist/chains/bsc/four/approve-tokenmanager.d.ts +1 -26
  87. package/dist/chains/bsc/four/approve-tokenmanager.js +1 -113
  88. package/dist/chains/bsc/four/config.d.ts +5 -67
  89. package/dist/chains/bsc/four/config.js +2 -114
  90. package/dist/chains/bsc/four/core.d.ts +1 -4
  91. package/dist/chains/bsc/four/core.js +1 -592
  92. package/dist/chains/bsc/four/index.d.ts +6 -6
  93. package/dist/chains/bsc/four/index.js +6 -6
  94. package/dist/chains/bsc/four/internal.d.ts +2 -46
  95. package/dist/chains/bsc/four/internal.js +2 -239
  96. package/dist/chains/bsc/four/pancake-proxy.d.ts +1 -28
  97. package/dist/chains/bsc/four/pancake-proxy.js +1 -687
  98. package/dist/chains/bsc/four/private.d.ts +1 -27
  99. package/dist/chains/bsc/four/private.js +1 -477
  100. package/dist/chains/bsc/four/submit.d.ts +2 -315
  101. package/dist/chains/bsc/four/submit.js +2 -752
  102. package/dist/chains/bsc/four/swap-buy-first.d.ts +2 -55
  103. package/dist/chains/bsc/four/swap-buy-first.js +2 -507
  104. package/dist/chains/bsc/four/swap-internal.d.ts +1 -3
  105. package/dist/chains/bsc/four/swap-internal.js +1 -18
  106. package/dist/chains/bsc/four/swap.d.ts +2 -144
  107. package/dist/chains/bsc/four/swap.js +2 -766
  108. package/dist/chains/bsc/four/types.d.ts +1 -476
  109. package/dist/chains/bsc/four/utils-disperse.d.ts +1 -0
  110. package/dist/chains/bsc/four/utils-disperse.js +1 -0
  111. package/dist/chains/bsc/four/utils-pairwise.d.ts +1 -0
  112. package/dist/chains/bsc/four/utils-pairwise.js +1 -0
  113. package/dist/chains/bsc/four/utils-sweep.d.ts +1 -0
  114. package/dist/chains/bsc/four/utils-sweep.js +1 -0
  115. package/dist/chains/bsc/four/utils.d.ts +5 -18
  116. package/dist/chains/bsc/four/utils.js +5 -1552
  117. package/dist/chains/bsc/iro.d.ts +5 -0
  118. package/dist/chains/bsc/iro.js +4 -0
  119. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +159 -0
  120. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +117 -0
  121. package/dist/chains/bsc/pancake/bundle-buy-first.d.ts +1 -91
  122. package/dist/chains/bsc/pancake/bundle-buy-first.js +97 -212
  123. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +241 -0
  124. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +565 -0
  125. package/dist/chains/bsc/pancake/bundle-swap.d.ts +1 -79
  126. package/dist/chains/bsc/pancake/bundle-swap.js +114 -726
  127. package/dist/chains/bsc/pancake/index.d.ts +4 -2
  128. package/dist/chains/bsc/pancake/index.js +1 -3
  129. package/dist/chains/bsc/platforms/iro/factory.d.ts +2 -2
  130. package/dist/chains/bsc/platforms/iro/factory.js +3 -1
  131. package/dist/chains/bsc/platforms/iro/index.d.ts +5 -5
  132. package/dist/chains/bsc/platforms/iro/index.js +3 -3
  133. package/dist/chains/bsc/platforms/iro/pool.js +31 -10
  134. package/dist/chains/bsc/platforms/iro/token.js +4 -1
  135. package/dist/chains/eni/batch-router/bundle-approve.js +4 -3
  136. package/dist/chains/eni/batch-router/transfer.js +55 -25
  137. package/dist/chains/eni/batch-router/utils.js +32 -6
  138. package/dist/chains/eni/bundler/sign.js +5 -6
  139. package/dist/chains/eni/bundler/submit.js +1 -4
  140. package/dist/chains/eni/constants.js +1 -1
  141. package/dist/chains/eni/flat-aliases.d.ts +10 -0
  142. package/dist/chains/eni/flat-aliases.js +8 -0
  143. package/dist/chains/eni/index.d.ts +2 -1
  144. package/dist/chains/eni/index.js +1 -0
  145. package/dist/chains/eni/platforms/daoaas/create.js +2 -2
  146. package/dist/chains/eni/platforms/daoaas/index.d.ts +3 -3
  147. package/dist/chains/eni/platforms/daoaas/index.js +3 -3
  148. package/dist/chains/eni/platforms/daoaas/meta.js +9 -6
  149. package/dist/chains/eni/platforms/daoaas/portal-direct.js +28 -44
  150. package/dist/chains/eni/platforms/daoaas/portal.js +10 -6
  151. package/dist/chains/eni/platforms/dswap/liquidity.js +58 -26
  152. package/dist/chains/eni/platforms/fair-launch/index.d.ts +2 -2
  153. package/dist/chains/eni/platforms/fair-launch/index.js +1 -1
  154. package/dist/chains/eni/platforms/fair-launch/launcher.js +87 -46
  155. package/dist/chains/eni/platforms/fair-launch/pool.js +4 -1
  156. package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
  157. package/dist/chains/eni/platforms/iro/factory.d.ts +2 -2
  158. package/dist/chains/eni/platforms/iro/factory.js +3 -1
  159. package/dist/chains/eni/platforms/iro/index.d.ts +6 -6
  160. package/dist/chains/eni/platforms/iro/index.js +4 -4
  161. package/dist/chains/eni/platforms/iro/pool.js +90 -26
  162. package/dist/chains/eni/platforms/iro/token.js +107 -31
  163. package/dist/chains/eni/platforms/iro/whitelist.js +6 -18
  164. package/dist/chains/eni/submit.d.ts +43 -0
  165. package/dist/chains/eni/submit.js +286 -0
  166. package/dist/chains/index.d.ts +13 -0
  167. package/dist/chains/index.js +13 -0
  168. package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +2 -26
  169. package/dist/chains/xlayer/eip7702/bundle-approve.js +11 -21
  170. package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +2 -6
  171. package/dist/chains/xlayer/eip7702/bundle-buy.js +13 -51
  172. package/dist/chains/xlayer/eip7702/bundle-create.js +93 -59
  173. package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +2 -6
  174. package/dist/chains/xlayer/eip7702/bundle-sell.js +29 -111
  175. package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +3 -65
  176. package/dist/chains/xlayer/eip7702/bundle-swap.js +51 -245
  177. package/dist/chains/xlayer/eip7702/constants.d.ts +1 -16
  178. package/dist/chains/xlayer/eip7702/constants.js +3 -21
  179. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +13 -0
  180. package/dist/chains/xlayer/eip7702/flat-aliases.js +10 -0
  181. package/dist/chains/xlayer/eip7702/index.d.ts +28 -46
  182. package/dist/chains/xlayer/eip7702/index.js +28 -81
  183. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +79 -0
  184. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +1 -0
  185. package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +2 -203
  186. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +63 -307
  187. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +26 -0
  188. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +57 -0
  189. package/dist/chains/xlayer/eip7702/types.d.ts +88 -0
  190. package/dist/chains/xlayer/eip7702/utils.d.ts +0 -3
  191. package/dist/chains/xlayer/eip7702/utils.js +23 -28
  192. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +148 -0
  193. package/dist/chains/xlayer/eip7702/volume-helpers.js +48 -0
  194. package/dist/chains/xlayer/eip7702/volume.d.ts +6 -184
  195. package/dist/chains/xlayer/eip7702/volume.js +89 -164
  196. package/dist/chains/xlayer/eoa/constants.js +1 -1
  197. package/dist/chains/xlayer/eoa/dex-helpers.js +5 -5
  198. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +126 -0
  199. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +228 -0
  200. package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +1 -95
  201. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +66 -299
  202. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
  203. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +18 -23
  204. package/dist/chains/xlayer/eoa/index.d.ts +10 -6
  205. package/dist/chains/xlayer/eoa/index.js +8 -23
  206. package/dist/chains/xlayer/eoa/portal-ops.js +7 -2
  207. package/dist/chains/xlayer/eoa/router-manager.js +3 -3
  208. package/dist/chains/xlayer/eoa/types.d.ts +2 -2
  209. package/dist/chains/xlayer/eoa/types.js +1 -3
  210. package/dist/chains/xlayer/index.d.ts +3 -2
  211. package/dist/chains/xlayer/index.js +4 -7
  212. package/dist/contracts/helper3.d.ts +20 -5
  213. package/dist/contracts/helper3.js +56 -20
  214. package/dist/contracts/tm-bundle-helpers.d.ts +88 -0
  215. package/dist/contracts/tm-bundle-helpers.js +72 -0
  216. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +1 -26
  217. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +1 -113
  218. package/dist/contracts/tm-bundle-merkle/config.d.ts +5 -67
  219. package/dist/contracts/tm-bundle-merkle/config.js +2 -114
  220. package/dist/contracts/tm-bundle-merkle/core.d.ts +1 -4
  221. package/dist/contracts/tm-bundle-merkle/core.js +1 -591
  222. package/dist/contracts/tm-bundle-merkle/index.d.ts +5 -5
  223. package/dist/contracts/tm-bundle-merkle/index.js +5 -5
  224. package/dist/contracts/tm-bundle-merkle/internal.d.ts +2 -46
  225. package/dist/contracts/tm-bundle-merkle/internal.js +2 -238
  226. package/dist/contracts/tm-bundle-merkle/pancake-proxy.d.ts +1 -28
  227. package/dist/contracts/tm-bundle-merkle/pancake-proxy.js +1 -686
  228. package/dist/contracts/tm-bundle-merkle/private.d.ts +1 -27
  229. package/dist/contracts/tm-bundle-merkle/private.js +1 -476
  230. package/dist/contracts/tm-bundle-merkle/submit.d.ts +3 -314
  231. package/dist/contracts/tm-bundle-merkle/submit.js +3 -928
  232. package/dist/contracts/tm-bundle-merkle/swap-buy-first.d.ts +2 -55
  233. package/dist/contracts/tm-bundle-merkle/swap-buy-first.js +2 -506
  234. package/dist/contracts/tm-bundle-merkle/swap-internal.d.ts +1 -3
  235. package/dist/contracts/tm-bundle-merkle/swap-internal.js +1 -18
  236. package/dist/contracts/tm-bundle-merkle/swap.d.ts +2 -144
  237. package/dist/contracts/tm-bundle-merkle/swap.js +2 -764
  238. package/dist/contracts/tm-bundle-merkle/types.d.ts +1 -476
  239. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +1 -0
  240. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +1 -0
  241. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +1 -0
  242. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +1 -0
  243. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +1 -0
  244. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +1 -0
  245. package/dist/contracts/tm-bundle-merkle/utils.d.ts +6 -18
  246. package/dist/contracts/tm-bundle-merkle/utils.js +6 -1501
  247. package/dist/contracts/tm-bundle.d.ts +3 -51
  248. package/dist/contracts/tm-bundle.js +108 -177
  249. package/dist/contracts/tm.d.ts +3 -2
  250. package/dist/contracts/tm.js +37 -32
  251. package/dist/contracts/tm1.js +9 -4
  252. package/dist/contracts/tm2.js +9 -4
  253. package/dist/dex/direct-router-helpers.d.ts +264 -0
  254. package/dist/dex/direct-router-helpers.js +539 -0
  255. package/dist/dex/direct-router.d.ts +3 -125
  256. package/dist/dex/direct-router.js +237 -666
  257. package/dist/dex/types.d.ts +81 -0
  258. package/dist/dex/types.js +1 -0
  259. package/dist/exports/root-bundle-and-tooling.d.ts +27 -0
  260. package/dist/exports/root-bundle-and-tooling.js +30 -0
  261. package/dist/exports/root-eni-and-bsc-iro.d.ts +26 -0
  262. package/dist/exports/root-eni-and-bsc-iro.js +66 -0
  263. package/dist/exports/root-foundations.d.ts +35 -0
  264. package/dist/exports/root-foundations.js +70 -0
  265. package/dist/exports/root-swap-dex-and-xlayer.d.ts +30 -0
  266. package/dist/exports/root-swap-dex-and-xlayer.js +78 -0
  267. package/dist/flap/index.d.ts +10 -0
  268. package/dist/flap/index.js +8 -0
  269. package/dist/flows/create.d.ts +2 -1
  270. package/dist/flows/create.js +6 -6
  271. package/dist/flows/index.d.ts +1 -0
  272. package/dist/flows/index.js +1 -0
  273. package/dist/index.d.ts +20 -85
  274. package/dist/index.js +20 -215
  275. package/dist/merkle/index.d.ts +12 -0
  276. package/dist/merkle/index.js +11 -0
  277. package/dist/shared/abis/common.d.ts +2 -83
  278. package/dist/shared/abis/common.js +2 -252
  279. package/dist/shared/abis/index.d.ts +5 -6
  280. package/dist/shared/abis/index.js +5 -7
  281. package/dist/shared/clients/blockrazor.js +39 -25
  282. package/dist/shared/clients/club48.d.ts +2 -2
  283. package/dist/shared/clients/club48.js +34 -29
  284. package/dist/shared/clients/emitservice.js +2 -0
  285. package/dist/shared/clients/four.d.ts +21 -6
  286. package/dist/shared/clients/four.js +29 -24
  287. package/dist/shared/clients/index.d.ts +8 -0
  288. package/dist/shared/clients/index.js +8 -0
  289. package/dist/shared/clients/merkle.js +27 -34
  290. package/dist/shared/constants/addresses.d.ts +1 -1
  291. package/dist/shared/constants/addresses.js +11 -2
  292. package/dist/shared/constants/chains.d.ts +1 -1
  293. package/dist/shared/constants/chains.js +1 -1
  294. package/dist/shared/constants/gas.d.ts +1 -1
  295. package/dist/shared/constants/gas.js +2 -6
  296. package/dist/shared/constants/index.d.ts +3 -0
  297. package/dist/shared/constants/index.js +1 -0
  298. package/dist/shared/constants/quote.d.ts +30 -0
  299. package/dist/shared/constants/quote.js +37 -0
  300. package/dist/shared/flap/abi.js +1 -1
  301. package/dist/shared/flap/constants.d.ts +1 -2
  302. package/dist/shared/flap/constants.js +2 -3
  303. package/dist/shared/flap/curve.js +3 -0
  304. package/dist/shared/flap/errors.d.ts +1 -4
  305. package/dist/shared/flap/errors.js +20 -1
  306. package/dist/shared/flap/index.d.ts +5 -4
  307. package/dist/shared/flap/index.js +5 -4
  308. package/dist/shared/flap/meta.d.ts +22 -18
  309. package/dist/shared/flap/meta.js +12 -17
  310. package/dist/shared/flap/permit.js +5 -2
  311. package/dist/shared/flap/pinata.d.ts +22 -6
  312. package/dist/shared/flap/pinata.js +21 -26
  313. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +3 -72
  314. package/dist/shared/flap/portal-bundle-merkle/config.js +4 -124
  315. package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +32 -0
  316. package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +83 -0
  317. package/dist/shared/flap/portal-bundle-merkle/core.d.ts +0 -4
  318. package/dist/shared/flap/portal-bundle-merkle/core.js +86 -278
  319. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.d.ts +7 -2
  320. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +101 -206
  321. package/dist/shared/flap/portal-bundle-merkle/curve-to-dex.js +100 -92
  322. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +11 -7
  323. package/dist/shared/flap/portal-bundle-merkle/index.js +4 -7
  324. package/dist/shared/flap/portal-bundle-merkle/pancake-proxy.js +71 -68
  325. package/dist/shared/flap/portal-bundle-merkle/private.js +61 -114
  326. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +125 -0
  327. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +113 -0
  328. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +1 -64
  329. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.js +66 -247
  330. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +149 -0
  331. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +259 -0
  332. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +2 -71
  333. package/dist/shared/flap/portal-bundle-merkle/swap.js +103 -410
  334. package/dist/shared/flap/portal-bundle-merkle/types.d.ts +83 -9
  335. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +1 -80
  336. package/dist/shared/flap/portal-bundle-merkle/utils.js +145 -265
  337. package/dist/shared/flap/portal-bundle.js +55 -56
  338. package/dist/shared/flap/portal-create-token.d.ts +77 -0
  339. package/dist/shared/flap/portal-create-token.js +214 -0
  340. package/dist/shared/flap/portal.d.ts +14 -3
  341. package/dist/shared/flap/portal.js +50 -25
  342. package/dist/shared/flap/vanity.d.ts +1 -5
  343. package/dist/shared/flap/vanity.js +6 -17
  344. package/dist/shared/flap/vault.d.ts +17 -124
  345. package/dist/shared/flap/vault.js +67 -148
  346. package/dist/shared/foundation/dex/v3-path.d.ts +6 -0
  347. package/dist/shared/foundation/dex/v3-path.js +35 -0
  348. package/dist/shared/foundation/gas/bundle-gas.d.ts +49 -0
  349. package/dist/shared/foundation/gas/bundle-gas.js +93 -0
  350. package/dist/shared/foundation/gas/profit-hop.d.ts +20 -0
  351. package/dist/shared/foundation/gas/profit-hop.js +72 -0
  352. package/dist/shared/foundation/index.d.ts +13 -0
  353. package/dist/shared/foundation/index.js +12 -0
  354. package/dist/shared/foundation/nonce/nonce-manager.d.ts +17 -0
  355. package/dist/shared/foundation/nonce/nonce-manager.js +183 -0
  356. package/dist/shared/foundation/normalize-unknown.d.ts +9 -0
  357. package/dist/shared/foundation/normalize-unknown.js +29 -0
  358. package/dist/shared/foundation/sdk-logger.d.ts +13 -0
  359. package/dist/shared/foundation/sdk-logger.js +12 -0
  360. package/dist/shared/foundation/tx/build-request.d.ts +17 -0
  361. package/dist/shared/foundation/tx/build-request.js +25 -0
  362. package/dist/shared/foundation/tx/sign-batch.d.ts +5 -0
  363. package/dist/shared/foundation/tx/sign-batch.js +26 -0
  364. package/dist/shared/foundation/tx/wallet-sign-patch.d.ts +1 -0
  365. package/dist/shared/foundation/tx/wallet-sign-patch.js +18 -0
  366. package/dist/shared/foundation/types/airdrop-sweep.d.ts +79 -0
  367. package/dist/shared/foundation/types/airdrop-sweep.js +1 -0
  368. package/dist/shared/foundation/types/erc20.d.ts +65 -0
  369. package/dist/shared/foundation/types/erc20.js +1 -0
  370. package/dist/shared/foundation/types/holders-maker.d.ts +64 -0
  371. package/dist/shared/foundation/types/holders-maker.js +1 -0
  372. package/dist/shared/foundation/types/index.d.ts +7 -0
  373. package/dist/shared/foundation/types/index.js +1 -0
  374. package/dist/shared/foundation/types/lp-inspect.d.ts +102 -0
  375. package/dist/shared/foundation/types/lp-inspect.js +1 -0
  376. package/dist/shared/foundation/types/multicall.d.ts +5 -0
  377. package/dist/shared/foundation/types/multicall.js +1 -0
  378. package/dist/shared/foundation/types/private-sale.d.ts +35 -0
  379. package/dist/shared/foundation/types/private-sale.js +1 -0
  380. package/dist/shared/foundation/types/quote-helpers.d.ts +17 -0
  381. package/dist/shared/foundation/types/quote-helpers.js +1 -0
  382. package/dist/shared/four/tax-token.d.ts +1 -1
  383. package/dist/shared/four/tax-token.js +27 -7
  384. package/dist/shared/index.d.ts +6 -0
  385. package/dist/shared/index.js +4 -0
  386. package/dist/types/errors.d.ts +27 -0
  387. package/dist/types/errors.js +34 -0
  388. package/dist/utils/airdrop-sweep.d.ts +4 -76
  389. package/dist/utils/airdrop-sweep.js +42 -55
  390. package/dist/utils/bundle-helpers.d.ts +9 -243
  391. package/dist/utils/bundle-helpers.js +10 -584
  392. package/dist/utils/constants.d.ts +5 -61
  393. package/dist/utils/constants.js +5 -80
  394. package/dist/utils/contract-factory.d.ts +2 -4
  395. package/dist/utils/contract-factory.js +25 -18
  396. package/dist/utils/erc20.d.ts +7 -89
  397. package/dist/utils/erc20.js +94 -125
  398. package/dist/utils/errors.d.ts +12 -1
  399. package/dist/utils/errors.js +60 -1
  400. package/dist/utils/holders-maker/addresses.d.ts +12 -0
  401. package/dist/utils/holders-maker/addresses.js +15 -0
  402. package/dist/utils/holders-maker/buy-tx.d.ts +44 -0
  403. package/dist/utils/holders-maker/buy-tx.js +278 -0
  404. package/dist/utils/holders-maker/constants.d.ts +6 -0
  405. package/dist/utils/holders-maker/constants.js +7 -0
  406. package/dist/utils/holders-maker/disperse.d.ts +18 -0
  407. package/dist/utils/holders-maker/disperse.js +90 -0
  408. package/dist/utils/holders-maker/routing.d.ts +4 -0
  409. package/dist/utils/holders-maker/routing.js +45 -0
  410. package/dist/utils/holders-maker/transfer-tx.d.ts +4 -0
  411. package/dist/utils/holders-maker/transfer-tx.js +67 -0
  412. package/dist/utils/holders-maker-helpers.d.ts +9 -0
  413. package/dist/utils/holders-maker-helpers.js +9 -0
  414. package/dist/utils/holders-maker.d.ts +2 -138
  415. package/dist/utils/holders-maker.js +26 -661
  416. package/dist/utils/hop-chains.d.ts +35 -0
  417. package/dist/utils/hop-chains.js +215 -0
  418. package/dist/utils/lp-inspect-helpers.d.ts +9 -0
  419. package/dist/utils/lp-inspect-helpers.js +109 -0
  420. package/dist/utils/lp-inspect.d.ts +2 -112
  421. package/dist/utils/lp-inspect.js +73 -223
  422. package/dist/utils/mpcExclusive.d.ts +2 -5
  423. package/dist/utils/mpcExclusive.js +4 -3
  424. package/dist/utils/private-sale.d.ts +2 -58
  425. package/dist/utils/private-sale.js +4 -15
  426. package/dist/utils/provider-factory.d.ts +4 -0
  427. package/dist/utils/provider-factory.js +10 -0
  428. package/dist/utils/quote-helpers.d.ts +4 -45
  429. package/dist/utils/quote-helpers.js +17 -74
  430. package/dist/utils/stealth-transfer.d.ts +2 -28
  431. package/dist/utils/stealth-transfer.js +31 -15
  432. package/dist/utils/swap-helpers.d.ts +2 -15
  433. package/dist/utils/swap-helpers.js +6 -11
  434. package/dist/utils/types/airdrop-sweep.d.ts +1 -0
  435. package/dist/utils/types/airdrop-sweep.js +1 -0
  436. package/dist/utils/types/contract-factory.d.ts +1 -0
  437. package/dist/utils/types/contract-factory.js +1 -0
  438. package/dist/utils/types/erc20.d.ts +1 -0
  439. package/dist/utils/types/erc20.js +1 -0
  440. package/dist/utils/types/errors.d.ts +1 -0
  441. package/dist/utils/types/errors.js +1 -0
  442. package/dist/utils/types/holders-maker.d.ts +1 -0
  443. package/dist/utils/types/holders-maker.js +1 -0
  444. package/dist/utils/types/hop-chains.d.ts +8 -0
  445. package/dist/utils/types/hop-chains.js +1 -0
  446. package/dist/utils/types/index.d.ts +13 -0
  447. package/dist/utils/types/index.js +1 -0
  448. package/dist/utils/types/lp-inspect.d.ts +1 -0
  449. package/dist/utils/types/lp-inspect.js +1 -0
  450. package/dist/utils/types/mpc-exclusive.d.ts +5 -0
  451. package/dist/utils/types/mpc-exclusive.js +1 -0
  452. package/dist/utils/types/private-sale.d.ts +1 -0
  453. package/dist/utils/types/private-sale.js +1 -0
  454. package/dist/utils/types/quote-helpers.d.ts +1 -0
  455. package/dist/utils/types/quote-helpers.js +1 -0
  456. package/dist/utils/types/stealth-transfer.d.ts +44 -0
  457. package/dist/utils/types/stealth-transfer.js +1 -0
  458. package/dist/utils/types/wallet.d.ts +25 -0
  459. package/dist/utils/types/wallet.js +1 -0
  460. package/dist/utils/wallet.d.ts +2 -25
  461. package/dist/utils/wallet.js +13 -10
  462. package/dist/vanity/index.d.ts +5 -0
  463. package/dist/vanity/index.js +5 -0
  464. package/package.json +160 -4
  465. package/src/abis/contracts/TaxToken.json +969 -0
  466. package/src/abis/contracts/TokenManager.json +836 -0
  467. package/src/abis/contracts/TokenManager2.json +136 -0
  468. package/src/abis/contracts/TokenManagerHelper3.json +993 -0
  469. package/dist/shared/abis/TaxToken.json +0 -105
  470. package/dist/shared/abis/TokenManager2.json +0 -60
  471. /package/dist/{shared/abis → abis/contracts}/TokenManager.json +0 -0
  472. /package/dist/{shared/abis → abis/contracts}/TokenManagerHelper3.json +0 -0
@@ -0,0 +1,63 @@
1
+ import type { Wallet, JsonRpcProvider } from 'ethers';
2
+ import type { NonceManager } from '../../../utils/bundle-helpers.js';
3
+ import type { GeneratedWallet } from '../../../utils/wallet.js';
4
+ import type { FourBundleMerkleConfig, FourCreateWithBundleBuySignParams, FourSignConfig, MerkleResultMetadata } from './index.js';
5
+ export type FourAnyConfig = FourBundleMerkleConfig | FourSignConfig;
6
+ export type ProfitMode = {
7
+ type: 'individual';
8
+ } | {
9
+ type: 'aggregated';
10
+ payer?: Wallet;
11
+ };
12
+ export type BuyMetadata = MerkleResultMetadata | undefined;
13
+ export interface ChainContext {
14
+ provider: JsonRpcProvider;
15
+ chainId: number;
16
+ }
17
+ export interface BuyFundsAnalysis {
18
+ fundsList: bigint[];
19
+ profitList: bigint[];
20
+ totalProfit: bigint;
21
+ totalBuyAmount: bigint;
22
+ }
23
+ export interface SellOutputs {
24
+ minOuts: bigint[];
25
+ quotedOutputs: bigint[];
26
+ }
27
+ export interface BuyFlowResult {
28
+ signedTxs: string[];
29
+ metadata: BuyMetadata;
30
+ profitHopWallets?: GeneratedWallet[];
31
+ }
32
+ export interface SellFlowResult {
33
+ signedTxs: string[];
34
+ profitHopWallets?: GeneratedWallet[];
35
+ }
36
+ export interface BuyFlowOptions {
37
+ wallets: Wallet[];
38
+ buyAmounts: string[];
39
+ tokenAddress: string;
40
+ config: FourAnyConfig;
41
+ provider: JsonRpcProvider;
42
+ nonceManager: NonceManager;
43
+ contractAddress: string;
44
+ gasPrice: bigint;
45
+ chainId: number;
46
+ profitMode: ProfitMode;
47
+ txType: number;
48
+ }
49
+ export interface SellFlowOptions {
50
+ wallets: Wallet[];
51
+ sellAmounts: string[];
52
+ tokenAddress: string;
53
+ minOutputAmounts?: (string | bigint)[];
54
+ config: FourAnyConfig;
55
+ provider: JsonRpcProvider;
56
+ nonceManager: NonceManager;
57
+ contractAddress: string;
58
+ gasPrice: bigint;
59
+ chainId: number;
60
+ rpcUrl: string;
61
+ txType: number;
62
+ }
63
+ export type FourCreateTokenInfo = FourCreateWithBundleBuySignParams['tokenInfo'];
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,600 @@
1
+ import type { GeneratedWallet } from '../../../utils/wallet.js';
2
+ import type { FourTokenTaxInfo } from '../../../shared/clients/four.js';
3
+ import type { AmountLike } from '../../types.js';
4
+ import type { CommonBundleConfig } from '../../../utils/bundle-helpers.js';
5
+ export type { AmountLike };
6
+ export type FourSignConfig = {
7
+ rpcUrl: string;
8
+ fourApiUrl?: string;
9
+ club48Endpoint?: string;
10
+ club48ExplorerEndpoint?: string;
11
+ txType?: 0 | 2;
12
+ gasLimit?: number | bigint;
13
+ gasLimitMultiplier?: number;
14
+ gasPriceMultiplierPercent?: number;
15
+ minGasPriceGwei?: number;
16
+ chainId?: number;
17
+ prefer21000ForNative?: boolean;
18
+ checkBnbForErc20NoHop?: boolean;
19
+ estimateGas?: boolean;
20
+ customSubmitFn?: (signedTxs: string[]) => Promise<string>;
21
+ spPrivateKey?: string;
22
+ spMode?: 'none' | 'timestampPersonalSign' | 'concatTxHash' | 'rawTimestamp';
23
+ spVMode?: '27_28' | '0_1';
24
+ bribeAmount?: number;
25
+ };
26
+ export type FourBundleMerkleConfig = {
27
+ apiKey: string;
28
+ customRpcUrl?: string;
29
+ fourApiUrl?: string;
30
+ bundleBlockOffset?: number;
31
+ minBlockOffset?: number;
32
+ autoRetryBundle?: boolean;
33
+ maxBundleRetries?: number;
34
+ txType?: 0 | 2;
35
+ gasLimit?: number | bigint;
36
+ gasLimitMultiplier?: number;
37
+ gasPriceMultiplierPercent?: number;
38
+ minGasPriceGwei?: number;
39
+ waitForConfirmation?: boolean;
40
+ waitTimeoutMs?: number;
41
+ chainId?: number;
42
+ prefer21000ForNative?: boolean;
43
+ checkBnbForErc20NoHop?: boolean;
44
+ skipSubmit?: boolean;
45
+ /** BlockRazor 贿赂金额(BNB),与 `FourSignConfig` 对齐 */
46
+ bribeAmount?: number;
47
+ };
48
+ export type MerkleTransactionStatus = {
49
+ index: number;
50
+ hash: string;
51
+ success: boolean;
52
+ blockNumber?: number;
53
+ gasUsed?: string;
54
+ effectiveGasPrice?: string;
55
+ gasCost?: string;
56
+ error?: string;
57
+ };
58
+ export type MerkleBundleStatus = {
59
+ bundleHash: string;
60
+ txHashes: string[];
61
+ results: MerkleTransactionStatus[];
62
+ successCount: number;
63
+ totalGasUsed: bigint;
64
+ targetBlock: number;
65
+ };
66
+ /** Merkle 结果 metadata 字段值(各方法返回的键不固定,值类型统一收窄) */
67
+ export type MerkleResultMetadataValue = string | number | boolean | string[] | undefined;
68
+ /** 元数据(如利润信息等) */
69
+ export type MerkleResultMetadata = Record<string, MerkleResultMetadataValue>;
70
+ /**
71
+ * 统一的 Merkle 方法返回类型
72
+ * SDK 不再内部提交,只返回签名交易和元数据
73
+ */
74
+ export type MerkleSignedResult = {
75
+ /** 已签名的交易数组(发送到服务器进行提交) */
76
+ signedTransactions: string[];
77
+ /** 创建代币时返回的代币地址(仅 create 方法使用) */
78
+ tokenAddress?: string;
79
+ /** ✅ 转账多跳中间钱包(disperse/sweep 使用,按接收者分组)- 兼容旧版 string[][] 和新版 GeneratedWallet[][] */
80
+ hopWallets?: (string | GeneratedWallet)[][];
81
+ /** ✅ 利润多跳中间钱包 */
82
+ profitHopWallets?: GeneratedWallet[];
83
+ /** 元数据(如利润信息等) */
84
+ metadata?: MerkleResultMetadata;
85
+ /** 交易哈希数组(内部提交时返回) */
86
+ txHashes?: string[];
87
+ };
88
+ /** ✅ 创建代币 + 购买参数(Merkle 版本 - 完整) */
89
+ export type FourCreateWithBundleBuyMerkleParams = {
90
+ privateKeys: string[];
91
+ buyAmounts: string[];
92
+ b0Amount?: string;
93
+ tokenInfo: {
94
+ name: string;
95
+ symbol: string;
96
+ description: string;
97
+ imageUrl?: string;
98
+ imageFile?: Blob;
99
+ label?: 'Meme' | 'AI' | 'Defi' | 'Games' | 'Infra' | 'De-Sci' | 'Social' | 'Depin' | 'Charity' | 'Others';
100
+ preSale?: string;
101
+ webUrl?: string;
102
+ twitterUrl?: string;
103
+ telegramUrl?: string;
104
+ /** ✅ AntiSniperFeeMode(开盘高税模式) */
105
+ feePlan?: boolean;
106
+ /** ✅ 税币配置(Tax Token, creatorType=5) */
107
+ tokenTaxInfo?: FourTokenTaxInfo;
108
+ };
109
+ config: FourBundleMerkleConfig;
110
+ };
111
+ /** ✅ 创建代币 + 购买参数(仅签名版本 - 精简) */
112
+ export type FourCreateWithBundleBuySignParams = {
113
+ privateKeys: string[];
114
+ buyAmounts: string[];
115
+ b0Amount?: string;
116
+ tokenInfo: {
117
+ name: string;
118
+ symbol: string;
119
+ description: string;
120
+ imageUrl?: string;
121
+ imageFile?: Blob;
122
+ label?: 'Meme' | 'AI' | 'Defi' | 'Games' | 'Infra' | 'De-Sci' | 'Social' | 'Depin' | 'Charity' | 'Others';
123
+ preSale?: string;
124
+ webUrl?: string;
125
+ twitterUrl?: string;
126
+ telegramUrl?: string;
127
+ /** ✅ AntiSniperFeeMode(开盘高税模式) */
128
+ feePlan?: boolean;
129
+ /** ✅ 税币配置(Tax Token, creatorType=5) */
130
+ tokenTaxInfo?: FourTokenTaxInfo;
131
+ };
132
+ config: FourSignConfig;
133
+ };
134
+ /**
135
+ * ✅ 创建代币 + 购买结果(简化版)
136
+ * 包含 tokenAddress 用于返回创建的代币地址
137
+ */
138
+ export type FourCreateWithBundleBuyMerkleResult = MerkleSignedResult;
139
+ /** ✅ 批量购买参数(Merkle 版本 - 完整) */
140
+ export type FourBatchBuyMerkleParams = {
141
+ privateKeys: string[];
142
+ buyAmounts: string[];
143
+ tokenAddress: string;
144
+ config: FourBundleMerkleConfig;
145
+ };
146
+ /** ✅ 批量购买参数(仅签名版本 - 精简) */
147
+ export type FourBatchBuySignParams = {
148
+ privateKeys: string[];
149
+ buyAmounts: string[];
150
+ tokenAddress: string;
151
+ config: FourSignConfig;
152
+ };
153
+ /** ✅ 批量购买结果(简化版) */
154
+ export type FourBatchBuyMerkleResult = MerkleSignedResult;
155
+ /** ✅ 批量卖出参数(Merkle 版本 - 完整) */
156
+ export type FourBatchSellMerkleParams = {
157
+ privateKeys: string[];
158
+ sellAmounts: string[];
159
+ tokenAddress: string;
160
+ minOutputAmounts?: (string | bigint)[];
161
+ config: FourBundleMerkleConfig;
162
+ };
163
+ /** ✅ 批量卖出参数(仅签名版本 - 精简) */
164
+ export type FourBatchSellSignParams = {
165
+ privateKeys: string[];
166
+ sellAmounts: string[];
167
+ tokenAddress: string;
168
+ minOutputAmounts?: (string | bigint)[];
169
+ config: FourSignConfig;
170
+ };
171
+ /** ✅ 批量卖出结果(简化版) */
172
+ export type FourBatchSellMerkleResult = MerkleSignedResult;
173
+ /** ✅ 私有交易基础配置(Merkle 版本 - 完整) */
174
+ export type FourPrivateMerkleBase = {
175
+ config: FourBundleMerkleConfig;
176
+ };
177
+ /** ✅ 私有交易基础配置(仅签名版本 - 精简) */
178
+ export type FourPrivateSignBase = {
179
+ config: FourSignConfig;
180
+ };
181
+ /** ✅ 私有购买参数(Merkle 版本 - 完整) */
182
+ export type FourPrivateBuyMerkleParams = FourPrivateMerkleBase & {
183
+ privateKey: string;
184
+ tokenAddress: string;
185
+ funds: string;
186
+ to?: string;
187
+ };
188
+ /** ✅ 私有购买参数(仅签名版本 - 精简) */
189
+ export type FourPrivateBuySignParams = FourPrivateSignBase & {
190
+ privateKey: string;
191
+ tokenAddress: string;
192
+ funds: string;
193
+ to?: string;
194
+ };
195
+ /** ✅ 私有卖出参数(Merkle 版本 - 完整) */
196
+ export type FourPrivateSellMerkleParams = FourPrivateMerkleBase & {
197
+ privateKey: string;
198
+ tokenAddress: string;
199
+ amount: string;
200
+ minFunds?: bigint;
201
+ };
202
+ /** ✅ 私有卖出参数(仅签名版本 - 精简) */
203
+ export type FourPrivateSellSignParams = FourPrivateSignBase & {
204
+ privateKey: string;
205
+ tokenAddress: string;
206
+ amount: string;
207
+ minFunds?: bigint;
208
+ };
209
+ /** ✅ 私有交易结果(简化版) */
210
+ export type FourPrivateTransactionResult = MerkleSignedResult;
211
+ /** ✅ 批量私有购买参数(Merkle 版本 - 完整) */
212
+ export type FourBatchPrivateBuyMerkleParams = FourPrivateMerkleBase & {
213
+ privateKeys: string[];
214
+ fundsList: string[];
215
+ tokenAddress: string;
216
+ };
217
+ /** ✅ 批量私有购买参数(仅签名版本 - 精简) */
218
+ export type FourBatchPrivateBuySignParams = FourPrivateSignBase & {
219
+ privateKeys: string[];
220
+ fundsList: string[];
221
+ tokenAddress: string;
222
+ };
223
+ /** ✅ 批量私有卖出参数(Merkle 版本 - 完整) */
224
+ export type FourBatchPrivateSellMerkleParams = FourPrivateMerkleBase & {
225
+ privateKeys: string[];
226
+ amounts: string[];
227
+ tokenAddress: string;
228
+ minFundsEach?: bigint;
229
+ };
230
+ /** ✅ 批量私有卖出参数(仅签名版本 - 精简) */
231
+ export type FourBatchPrivateSellSignParams = FourPrivateSignBase & {
232
+ privateKeys: string[];
233
+ amounts: string[];
234
+ tokenAddress: string;
235
+ minFundsEach?: bigint;
236
+ };
237
+ /** ✅ 批量私有交易结果(简化版) */
238
+ export type FourBatchPrivateMerkleResult = MerkleSignedResult;
239
+ /** ✅ 分发参数(Merkle 版本 - 完整) */
240
+ export type DisperseMerkleParams = {
241
+ fromPrivateKey: string;
242
+ recipients: string[];
243
+ amount?: AmountLike;
244
+ amounts?: AmountLike[];
245
+ tokenAddress?: string;
246
+ tokenDecimals?: number;
247
+ hopCount?: number | number[];
248
+ hopPrivateKeys?: string[][];
249
+ items?: Array<{
250
+ to: string;
251
+ amount: AmountLike;
252
+ hopCount?: number;
253
+ hopPrivateKeys?: string[];
254
+ }>;
255
+ config: FourBundleMerkleConfig;
256
+ };
257
+ /** ✅ 分发参数(仅签名版本 - 精简) */
258
+ /** 代币池子类型 */
259
+ export type TokenPoolType = 'flap' | 'four' | 'v2' | 'v3';
260
+ /** 报价代币类型(池子的计价代币) */
261
+ export type QuoteTokenType = 'native' | 'usdt' | 'usdc';
262
+ /**
263
+ * 用户类型(用于利润费率)
264
+ * - v0: 万分之6 (6 bps = 0.06%)
265
+ * - v1: 万分之5 (5 bps = 0.05%)
266
+ */
267
+ export type UserType = 'v0' | 'v1';
268
+ export type DisperseSignParams = {
269
+ fromPrivateKey: string;
270
+ recipients: string[];
271
+ amount?: AmountLike;
272
+ amounts?: AmountLike[];
273
+ tokenAddress?: string;
274
+ tokenDecimals?: number;
275
+ hopCount?: number | number[];
276
+ hopPrivateKeys?: string[][];
277
+ items?: Array<{
278
+ to: string;
279
+ amount: AmountLike;
280
+ hopCount?: number;
281
+ hopPrivateKeys?: string[];
282
+ }>;
283
+ config: FourSignConfig;
284
+ /** ✅ 新增:起始 nonce(用于并行调用时避免 nonce 冲突) */
285
+ startNonce?: number;
286
+ /** ✅ 新增:代币池子类型(用于利润报价),默认 'v2' */
287
+ tokenPoolType?: TokenPoolType;
288
+ /** ✅ 新增:报价代币类型(池子的计价代币),默认 'native'(BNB/MON) */
289
+ quoteToken?: QuoteTokenType;
290
+ /** ✅ 新增:用户类型(用于利润费率),v0=万分之6,v1=万分之5,默认 v0 */
291
+ userType?: UserType;
292
+ };
293
+ /**
294
+ * ✅ 分发结果(简化版)
295
+ * 包含 hopWallets 用于返回生成的多跳钱包私钥
296
+ */
297
+ export type DisperseMerkleResult = MerkleSignedResult;
298
+ /** ✅ 归集参数(Merkle 版本 - 完整) */
299
+ export type SweepMerkleParams = {
300
+ sourcePrivateKeys: string[];
301
+ target: string;
302
+ targetPrivateKey?: string;
303
+ ratioPct?: number;
304
+ ratios?: number[];
305
+ amount?: AmountLike;
306
+ amounts?: AmountLike[];
307
+ tokenAddress?: string;
308
+ tokenDecimals?: number;
309
+ skipIfInsufficient?: boolean;
310
+ hopCount?: number | number[];
311
+ hopPrivateKeys?: string[][];
312
+ sources?: Array<{
313
+ privateKey: string;
314
+ ratioPct?: number;
315
+ amount?: AmountLike;
316
+ hopCount?: number;
317
+ hopPrivateKeys?: string[];
318
+ }>;
319
+ config: FourBundleMerkleConfig;
320
+ };
321
+ /** ✅ 归集参数(仅签名版本 - 精简) */
322
+ export type SweepSignParams = {
323
+ sourcePrivateKeys: string[];
324
+ target: string;
325
+ /** ✅ 新增:归集目标地址的私钥(用于支付利润,不提供则由归集金额最大的源钱包支付) */
326
+ targetPrivateKey?: string;
327
+ ratioPct?: number;
328
+ ratios?: number[];
329
+ amount?: AmountLike;
330
+ amounts?: AmountLike[];
331
+ tokenAddress?: string;
332
+ tokenDecimals?: number;
333
+ skipIfInsufficient?: boolean;
334
+ hopCount?: number | number[];
335
+ hopPrivateKeys?: string[][];
336
+ sources?: Array<{
337
+ privateKey: string;
338
+ ratioPct?: number;
339
+ amount?: AmountLike;
340
+ hopCount?: number;
341
+ hopPrivateKeys?: string[];
342
+ }>;
343
+ config: FourSignConfig;
344
+ /** ✅ 新增:起始 nonce(用于并行调用时避免 nonce 冲突,仅对第一个源钱包生效) */
345
+ startNonce?: number;
346
+ /** ✅ 新增:代币池子类型(用于利润报价),默认 'v2' */
347
+ tokenPoolType?: TokenPoolType;
348
+ /** ✅ 新增:报价代币类型(池子的计价代币),默认 'native'(BNB/MON) */
349
+ quoteToken?: QuoteTokenType;
350
+ /** ✅ 新增:用户类型(用于利润费率),v0=万分之6,v1=万分之5,默认 v0 */
351
+ userType?: UserType;
352
+ };
353
+ /**
354
+ * ✅ 归集结果(简化版)
355
+ * 包含 hopWallets 用于返回生成的多跳钱包私钥
356
+ */
357
+ export type SweepMerkleResult = MerkleSignedResult;
358
+ /**
359
+ * 多对多(地址一一对应)转账参数(仅签名版本)
360
+ * - senderPrivateKeys / receiverAddresses 必须等长
361
+ * - amount / amounts 二选一(amounts 优先)
362
+ * - 支持多跳:hopCount 可为 number 或逐对数组
363
+ * - 支持利润刮取:利润由第一个 sender 支付(作为额外费用,不扣减每对转账金额)
364
+ */
365
+ export type PairwiseTransferSignParams = {
366
+ senderPrivateKeys: string[];
367
+ receiverAddresses: string[];
368
+ amount?: AmountLike;
369
+ amounts?: AmountLike[];
370
+ tokenAddress?: string;
371
+ tokenDecimals?: number;
372
+ hopCount?: number | number[];
373
+ hopPrivateKeys?: string[][];
374
+ config: FourSignConfig;
375
+ /** ✅ 起始 nonce(仅对第一个 sender 生效,用于并行调用避免 nonce 冲突) */
376
+ startNonce?: number;
377
+ tokenPoolType?: TokenPoolType;
378
+ quoteToken?: QuoteTokenType;
379
+ userType?: UserType;
380
+ };
381
+ export type PairwiseTransferMerkleResult = MerkleSignedResult;
382
+ /** ✅ PancakeProxy 批量购买参数(Merkle 版本 - 完整) */
383
+ export type FourPancakeProxyBatchBuyParams = {
384
+ privateKeys: string[];
385
+ buyAmounts: string[];
386
+ tokenAddress: string;
387
+ routeType: 'v2' | 'v3-single' | 'v3-multi';
388
+ v2Path?: string[];
389
+ v3TokenIn?: string;
390
+ v3Fee?: number;
391
+ v3LpAddresses?: string[];
392
+ v3ExactTokenIn?: string;
393
+ /** V3 多跳:代币路径 [tokenIn, tokenMid1, ..., tokenOut] */
394
+ v3Tokens?: string[];
395
+ /** V3 多跳:费率路径 [fee0, fee1, ...] - 长度 = v3Tokens.length - 1 */
396
+ v3Fees?: number[];
397
+ minOutputAmounts?: (string | bigint)[];
398
+ config: FourBundleMerkleConfig;
399
+ };
400
+ /** ✅ PancakeProxy 批量购买参数(仅签名版本 - 精简) */
401
+ export type FourPancakeProxyBatchBuySignParams = {
402
+ privateKeys: string[];
403
+ buyAmounts: string[];
404
+ tokenAddress: string;
405
+ routeType: 'v2' | 'v3-single' | 'v3-multi';
406
+ v2Path?: string[];
407
+ v3TokenIn?: string;
408
+ v3Fee?: number;
409
+ v3LpAddresses?: string[];
410
+ v3ExactTokenIn?: string;
411
+ /** V3 多跳:代币路径 [tokenIn, tokenMid1, ..., tokenOut] */
412
+ v3Tokens?: string[];
413
+ /** V3 多跳:费率路径 [fee0, fee1, ...] - 长度 = v3Tokens.length - 1 */
414
+ v3Fees?: number[];
415
+ minOutputAmounts?: (string | bigint)[];
416
+ config: FourSignConfig;
417
+ };
418
+ /** ✅ PancakeProxy 批量购买结果(简化版) */
419
+ export type FourPancakeProxyBatchBuyResult = MerkleSignedResult;
420
+ /** ✅ PancakeProxy 批量卖出参数(Merkle 版本 - 完整) */
421
+ export type FourPancakeProxyBatchSellParams = {
422
+ privateKeys: string[];
423
+ sellAmounts: string[];
424
+ tokenAddress: string;
425
+ routeType: 'v2' | 'v3-single' | 'v3-multi';
426
+ v2Path?: string[];
427
+ v3TokenOut?: string;
428
+ v3Fee?: number;
429
+ v3LpAddresses?: string[];
430
+ v3ExactTokenIn?: string;
431
+ /** V3 多跳:代币路径 [tokenIn, tokenMid1, ..., tokenOut] */
432
+ v3Tokens?: string[];
433
+ /** V3 多跳:费率路径 [fee0, fee1, ...] - 长度 = v3Tokens.length - 1 */
434
+ v3Fees?: number[];
435
+ minOutputAmounts?: (string | bigint)[];
436
+ config: FourBundleMerkleConfig;
437
+ };
438
+ /** ✅ PancakeProxy 批量卖出参数(仅签名版本 - 精简) */
439
+ export type FourPancakeProxyBatchSellSignParams = {
440
+ privateKeys: string[];
441
+ sellAmounts: string[];
442
+ tokenAddress: string;
443
+ routeType: 'v2' | 'v3-single' | 'v3-multi';
444
+ v2Path?: string[];
445
+ v3TokenOut?: string;
446
+ v3Fee?: number;
447
+ v3LpAddresses?: string[];
448
+ v3ExactTokenIn?: string;
449
+ /** V3 多跳:代币路径 [tokenIn, tokenMid1, ..., tokenOut] */
450
+ v3Tokens?: string[];
451
+ /** V3 多跳:费率路径 [fee0, fee1, ...] - 长度 = v3Tokens.length - 1 */
452
+ v3Fees?: number[];
453
+ minOutputAmounts?: (string | bigint)[];
454
+ config: FourSignConfig;
455
+ };
456
+ /** ✅ PancakeProxy 批量卖出结果(简化版) */
457
+ export type FourPancakeProxyBatchSellResult = MerkleSignedResult;
458
+ export type FourPancakeProxyApprovalParams = {
459
+ privateKey: string;
460
+ tokenAddress: string;
461
+ amount: string | 'max';
462
+ rpcUrl: string;
463
+ /** 路由类型,用于确定授权目标(V2 或 V3 Router) */
464
+ routeType?: 'v2' | 'v3-single' | 'v3-multi';
465
+ };
466
+ export type FourPancakeProxyApprovalBatchParams = {
467
+ privateKeys: string[];
468
+ tokenAddress: string;
469
+ amounts: (string | 'max')[];
470
+ config: FourSignConfig;
471
+ /** 路由类型,用于确定授权目标(V2 或 V3 Router) */
472
+ routeType?: 'v2' | 'v3-single' | 'v3-multi';
473
+ };
474
+ /** ✅ PancakeProxy 批量授权结果 */
475
+ export type FourPancakeProxyApprovalBatchResult = {
476
+ success: boolean;
477
+ approvedCount: number;
478
+ signedTransactions: string[];
479
+ txHashes?: string[];
480
+ bundleHash?: string;
481
+ message: string;
482
+ };
483
+ /** 批量授权 TokenManager 参数(直接 RPC 提交) */
484
+ export type ApproveFourTokenManagerBatchParams = {
485
+ privateKeys: string[];
486
+ tokenAddress: string;
487
+ amounts: string[];
488
+ config: FourSignConfig;
489
+ };
490
+ /** 批量授权 TokenManager 结果 */
491
+ export type ApproveFourTokenManagerBatchResult = {
492
+ success: boolean;
493
+ signedTransactions: string[];
494
+ approvedCount: number;
495
+ skippedCount: number;
496
+ txHashes?: string[];
497
+ message: string;
498
+ };
499
+ /** Swap 签名配置(不含 Merkle 字段) */
500
+ export type FourSwapSignConfig = {
501
+ rpcUrl: string;
502
+ gasLimit?: number | bigint;
503
+ gasLimitMultiplier?: number;
504
+ minGasPriceGwei?: number;
505
+ maxGasPriceGwei?: number;
506
+ txType?: 0 | 2;
507
+ chainId?: number;
508
+ reserveGasBNB?: number;
509
+ userType?: UserType;
510
+ bribeAmount?: number;
511
+ };
512
+ /** Swap Merkle 配置(保留兼容) */
513
+ export type FourSwapConfig = CommonBundleConfig & {
514
+ apiKey: string;
515
+ customRpcUrl?: string;
516
+ bundleBlockOffset?: number;
517
+ reserveGasBNB?: number;
518
+ waitForConfirmation?: boolean;
519
+ waitTimeoutMs?: number;
520
+ skipApprovalCheck?: boolean;
521
+ };
522
+ export type FourBundleSwapSignParams = {
523
+ sellerPrivateKey: string;
524
+ sellAmount?: string;
525
+ sellPercentage?: number;
526
+ buyerPrivateKey: string;
527
+ tokenAddress: string;
528
+ config: FourSwapSignConfig;
529
+ startNonces?: number[];
530
+ };
531
+ export type FourBundleSwapParams = {
532
+ sellerPrivateKey: string;
533
+ sellAmount?: string;
534
+ sellPercentage?: number;
535
+ buyerPrivateKey: string;
536
+ tokenAddress: string;
537
+ config: FourSwapConfig;
538
+ };
539
+ export type FourSwapResult = {
540
+ signedTransactions: string[];
541
+ profitHopWallets?: GeneratedWallet[];
542
+ metadata?: {
543
+ sellerAddress: string;
544
+ buyerAddress: string;
545
+ sellAmount: string;
546
+ buyAmount: string;
547
+ hasApproval?: boolean;
548
+ profitAmount?: string;
549
+ };
550
+ };
551
+ export type FourBatchSwapSignParams = {
552
+ sellerPrivateKey: string;
553
+ sellAmount?: string;
554
+ sellPercentage?: number;
555
+ buyerPrivateKeys: string[];
556
+ buyerRatios?: number[];
557
+ tokenAddress: string;
558
+ config: FourSwapSignConfig;
559
+ startNonces?: number[];
560
+ };
561
+ export type FourBatchSwapResult = {
562
+ signedTransactions: string[];
563
+ profitHopWallets?: GeneratedWallet[];
564
+ metadata?: {
565
+ sellerAddress: string;
566
+ buyerAddresses: string[];
567
+ sellAmount: string;
568
+ buyAmounts: string[];
569
+ hasApproval?: boolean;
570
+ profitAmount?: string;
571
+ };
572
+ };
573
+ export type FourQuickBatchSwapSignParams = {
574
+ sellerPrivateKey: string;
575
+ sellAmount?: string;
576
+ sellPercentage?: number;
577
+ buyerPrivateKeys: string[];
578
+ buyerRatios?: number[];
579
+ buyerAmounts?: string[];
580
+ tokenAddress: string;
581
+ config: FourSwapSignConfig;
582
+ disperseHopCount?: number;
583
+ startNonces?: number[];
584
+ };
585
+ export type FourQuickBatchSwapResult = {
586
+ signedTransactions: string[];
587
+ disperseHopWallets?: GeneratedWallet[];
588
+ profitHopWallets?: GeneratedWallet[];
589
+ metadata?: {
590
+ sellerAddress: string;
591
+ buyerAddresses: string[];
592
+ sellAmount: string;
593
+ estimatedBNBOut: string;
594
+ transferAmounts: string[];
595
+ profitAmount?: string;
596
+ disperseHopCount?: number;
597
+ };
598
+ };
599
+ export type * from './swap-internal.js';
600
+ export type * from './buy-first.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ import type { Wallet } from 'ethers';
2
+ import type { GeneratedWallet } from '../../../utils/wallet.js';
3
+ export type SellerNoncePlan = {
4
+ bribeNonce?: number;
5
+ approvalNonce?: number;
6
+ sellerNonce: number;
7
+ profitNonce?: number;
8
+ };
9
+ export type DisperseHopPath = {
10
+ targetAddress: string;
11
+ hopWallets: Wallet[];
12
+ hopWalletsInfo: GeneratedWallet[];
13
+ };
14
+ export type MultiNoncePlan = {
15
+ buyerNonces: number[];
16
+ sellerNonces: number[];
17
+ bribeNonce?: number;
18
+ profitNonce?: number;
19
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type * from './types/index.js';
@@ -0,0 +1 @@
1
+ export {};