four-flap-meme-sdk 2.2.19 → 3.0.0

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 (519) hide show
  1. package/dist/{shared/abis → abis}/common.d.ts +1 -1
  2. package/dist/{shared/abis → abis}/common.js +75 -91
  3. package/dist/abis/contracts/TaxToken.json +969 -0
  4. package/dist/abis/contracts/TokenManager2.json +136 -0
  5. package/dist/{shared/abis → abis/contracts}/index.d.ts +0 -1
  6. package/dist/{shared/abis → abis/contracts}/index.js +0 -2
  7. package/dist/abis/flap/index.d.ts +5 -0
  8. package/dist/abis/flap/index.js +5 -0
  9. package/dist/abis/flap/portal-eip7702.d.ts +4 -0
  10. package/dist/abis/flap/portal-eip7702.js +39 -0
  11. package/dist/abis/flap/portal-events.d.ts +6 -0
  12. package/dist/abis/flap/portal-events.js +17 -0
  13. package/dist/abis/flap/portal-merkle.d.ts +4 -0
  14. package/dist/abis/flap/portal-merkle.js +25 -0
  15. package/dist/abis/flap/portal.d.ts +6 -0
  16. package/dist/abis/flap/portal.js +37 -0
  17. package/dist/abis/flap/vault.d.ts +171 -0
  18. package/dist/abis/flap/vault.js +91 -0
  19. package/dist/abis/index.d.ts +6 -0
  20. package/dist/abis/index.js +9 -0
  21. package/dist/bundle/config-helpers.d.ts +37 -0
  22. package/dist/bundle/config-helpers.js +58 -0
  23. package/dist/bundle/errors.d.ts +50 -0
  24. package/dist/bundle/errors.js +38 -0
  25. package/dist/bundle/four-meme/approve-tokenmanager.d.ts +7 -0
  26. package/dist/bundle/four-meme/approve-tokenmanager.js +99 -0
  27. package/dist/bundle/four-meme/core-helpers.d.ts +8 -0
  28. package/dist/bundle/four-meme/core-helpers.js +41 -0
  29. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/core.d.ts +1 -1
  30. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/core.js +74 -150
  31. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/pancake-proxy.d.ts +1 -1
  32. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/pancake-proxy.js +85 -92
  33. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/private.d.ts +1 -1
  34. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/private.js +48 -59
  35. package/dist/bundle/four-meme/sign-context-helpers.d.ts +2 -0
  36. package/dist/bundle/four-meme/sign-context-helpers.js +2 -0
  37. package/dist/bundle/four-meme/swap-buy-first.d.ts +8 -0
  38. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/swap-buy-first.js +56 -108
  39. package/dist/bundle/four-meme/swap-hop-helpers.d.ts +6 -0
  40. package/dist/bundle/four-meme/swap-hop-helpers.js +63 -0
  41. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/swap-internal.js +4 -4
  42. package/dist/bundle/four-meme/swap-sign-helpers.d.ts +28 -0
  43. package/dist/bundle/four-meme/swap-sign-helpers.js +105 -0
  44. package/dist/bundle/four-meme/swap.d.ts +17 -0
  45. package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/swap.js +84 -345
  46. package/dist/{contracts/tm-bundle-merkle/swap-buy-first.d.ts → bundle/four-meme/types/buy-first.d.ts} +11 -18
  47. package/dist/bundle/four-meme/types/core-flow.d.ts +63 -0
  48. package/dist/bundle/four-meme/types/core-flow.js +1 -0
  49. package/dist/{contracts/tm-bundle-merkle/types.d.ts → bundle/four-meme/types/index.d.ts} +130 -6
  50. package/dist/bundle/four-meme/types/index.js +1 -0
  51. package/dist/bundle/four-meme/types/swap-internal.d.ts +19 -0
  52. package/dist/bundle/four-meme/types/swap-internal.js +1 -0
  53. package/dist/bundle/four-meme/types.d.ts +1 -0
  54. package/dist/bundle/four-meme/utils-disperse.d.ts +7 -0
  55. package/dist/bundle/four-meme/utils-disperse.js +396 -0
  56. package/dist/bundle/four-meme/utils-pairwise.d.ts +8 -0
  57. package/dist/bundle/four-meme/utils-pairwise.js +328 -0
  58. package/dist/bundle/four-meme/utils-sweep.d.ts +8 -0
  59. package/dist/bundle/four-meme/utils-sweep.js +744 -0
  60. package/dist/bundle/index.d.ts +8 -0
  61. package/dist/bundle/index.js +8 -0
  62. package/dist/bundle/internal.d.ts +16 -0
  63. package/dist/bundle/internal.js +160 -0
  64. package/dist/bundle/sign-context-helpers.d.ts +26 -0
  65. package/dist/bundle/sign-context-helpers.js +63 -0
  66. package/dist/{contracts/tm-bundle-merkle → bundle}/submit.d.ts +6 -27
  67. package/dist/{contracts/tm-bundle-merkle → bundle}/submit.js +116 -313
  68. package/dist/bundle/types/index.d.ts +8 -0
  69. package/dist/bundle/types/index.js +1 -0
  70. package/dist/bundle/types.d.ts +1 -0
  71. package/dist/bundle/types.js +1 -0
  72. package/dist/chains/bsc/constants.js +1 -1
  73. package/dist/chains/bsc/four/approve-tokenmanager.d.ts +1 -26
  74. package/dist/chains/bsc/four/approve-tokenmanager.js +1 -113
  75. package/dist/chains/bsc/four/config.d.ts +5 -67
  76. package/dist/chains/bsc/four/config.js +2 -114
  77. package/dist/chains/bsc/four/core.d.ts +1 -4
  78. package/dist/chains/bsc/four/core.js +1 -592
  79. package/dist/chains/bsc/four/index.d.ts +6 -6
  80. package/dist/chains/bsc/four/index.js +6 -6
  81. package/dist/chains/bsc/four/internal.d.ts +2 -46
  82. package/dist/chains/bsc/four/internal.js +2 -239
  83. package/dist/chains/bsc/four/pancake-proxy.d.ts +1 -28
  84. package/dist/chains/bsc/four/pancake-proxy.js +1 -687
  85. package/dist/chains/bsc/four/private.d.ts +1 -27
  86. package/dist/chains/bsc/four/private.js +1 -477
  87. package/dist/chains/bsc/four/submit.d.ts +2 -315
  88. package/dist/chains/bsc/four/submit.js +2 -752
  89. package/dist/chains/bsc/four/swap-buy-first.d.ts +2 -55
  90. package/dist/chains/bsc/four/swap-buy-first.js +2 -507
  91. package/dist/chains/bsc/four/swap-internal.d.ts +1 -3
  92. package/dist/chains/bsc/four/swap-internal.js +1 -18
  93. package/dist/chains/bsc/four/swap.d.ts +2 -144
  94. package/dist/chains/bsc/four/swap.js +2 -766
  95. package/dist/chains/bsc/four/types.d.ts +1 -476
  96. package/dist/chains/bsc/four/utils-disperse.d.ts +1 -0
  97. package/dist/chains/bsc/four/utils-disperse.js +1 -0
  98. package/dist/chains/bsc/four/utils-pairwise.d.ts +1 -0
  99. package/dist/chains/bsc/four/utils-pairwise.js +1 -0
  100. package/dist/chains/bsc/four/utils-sweep.d.ts +1 -0
  101. package/dist/chains/bsc/four/utils-sweep.js +1 -0
  102. package/dist/chains/bsc/four/utils.d.ts +5 -18
  103. package/dist/chains/bsc/four/utils.js +5 -1552
  104. package/dist/chains/bsc/iro.d.ts +5 -0
  105. package/dist/chains/bsc/iro.js +4 -0
  106. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +155 -0
  107. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +80 -0
  108. package/dist/chains/bsc/pancake/bundle-buy-first.d.ts +1 -91
  109. package/dist/chains/bsc/pancake/bundle-buy-first.js +99 -214
  110. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +241 -0
  111. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +565 -0
  112. package/dist/chains/bsc/pancake/bundle-swap.d.ts +1 -79
  113. package/dist/chains/bsc/pancake/bundle-swap.js +114 -726
  114. package/dist/chains/bsc/pancake/index.d.ts +4 -2
  115. package/dist/chains/bsc/pancake/index.js +1 -3
  116. package/dist/chains/bsc/platforms/iro/constants.js +1 -1
  117. package/dist/chains/bsc/platforms/iro/factory.d.ts +2 -2
  118. package/dist/chains/bsc/platforms/iro/factory.js +3 -1
  119. package/dist/chains/bsc/platforms/iro/index.d.ts +5 -5
  120. package/dist/chains/bsc/platforms/iro/index.js +3 -3
  121. package/dist/chains/bsc/platforms/iro/pool.js +31 -10
  122. package/dist/chains/bsc/platforms/iro/token.js +5 -2
  123. package/dist/chains/eni/batch-router/bundle-approve.js +4 -3
  124. package/dist/chains/eni/batch-router/transfer.js +57 -27
  125. package/dist/chains/eni/batch-router/utils.js +32 -6
  126. package/dist/chains/eni/bundler/sign.js +5 -6
  127. package/dist/chains/eni/bundler/submit.js +1 -4
  128. package/dist/chains/eni/constants.js +2 -2
  129. package/dist/chains/eni/flat-aliases.d.ts +10 -0
  130. package/dist/chains/eni/flat-aliases.js +8 -0
  131. package/dist/chains/eni/index.d.ts +2 -1
  132. package/dist/chains/eni/index.js +1 -0
  133. package/dist/chains/eni/platforms/daoaas/create.js +3 -3
  134. package/dist/chains/eni/platforms/daoaas/index.d.ts +3 -3
  135. package/dist/chains/eni/platforms/daoaas/index.js +3 -3
  136. package/dist/chains/eni/platforms/daoaas/meta.js +9 -6
  137. package/dist/chains/eni/platforms/daoaas/portal-direct.js +29 -45
  138. package/dist/chains/eni/platforms/daoaas/portal.js +10 -6
  139. package/dist/chains/eni/platforms/dswap/liquidity.js +59 -27
  140. package/dist/chains/eni/platforms/fair-launch/constants.js +1 -1
  141. package/dist/chains/eni/platforms/fair-launch/index.d.ts +2 -2
  142. package/dist/chains/eni/platforms/fair-launch/index.js +1 -1
  143. package/dist/chains/eni/platforms/fair-launch/launcher.js +88 -47
  144. package/dist/chains/eni/platforms/fair-launch/pool.js +5 -2
  145. package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
  146. package/dist/chains/eni/platforms/iro/constants.d.ts +1 -1
  147. package/dist/chains/eni/platforms/iro/constants.js +2 -2
  148. package/dist/chains/eni/platforms/iro/factory.d.ts +2 -2
  149. package/dist/chains/eni/platforms/iro/factory.js +3 -1
  150. package/dist/chains/eni/platforms/iro/index.d.ts +6 -6
  151. package/dist/chains/eni/platforms/iro/index.js +4 -4
  152. package/dist/chains/eni/platforms/iro/pool.js +90 -26
  153. package/dist/chains/eni/platforms/iro/token.js +108 -32
  154. package/dist/chains/eni/platforms/iro/whitelist.js +6 -18
  155. package/dist/chains/eni/submit.d.ts +43 -0
  156. package/dist/chains/eni/submit.js +287 -0
  157. package/dist/chains/index.d.ts +13 -0
  158. package/dist/chains/index.js +13 -0
  159. package/dist/chains/monad/constants.js +1 -1
  160. package/dist/chains/xlayer/constants.d.ts +5 -0
  161. package/dist/chains/xlayer/constants.js +1 -1
  162. package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +2 -26
  163. package/dist/chains/xlayer/eip7702/bundle-approve.js +11 -21
  164. package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +2 -6
  165. package/dist/chains/xlayer/eip7702/bundle-buy.js +13 -51
  166. package/dist/chains/xlayer/eip7702/bundle-create.js +104 -74
  167. package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +2 -6
  168. package/dist/chains/xlayer/eip7702/bundle-sell.js +30 -112
  169. package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +3 -65
  170. package/dist/chains/xlayer/eip7702/bundle-swap.js +52 -246
  171. package/dist/chains/xlayer/eip7702/constants.d.ts +11 -26
  172. package/dist/chains/xlayer/eip7702/constants.js +15 -68
  173. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +13 -0
  174. package/dist/chains/xlayer/eip7702/flat-aliases.js +10 -0
  175. package/dist/chains/xlayer/eip7702/index.d.ts +28 -46
  176. package/dist/chains/xlayer/eip7702/index.js +28 -81
  177. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +79 -0
  178. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +1 -0
  179. package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +2 -203
  180. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +64 -308
  181. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +26 -0
  182. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +58 -0
  183. package/dist/chains/xlayer/eip7702/types.d.ts +88 -0
  184. package/dist/chains/xlayer/eip7702/utils.d.ts +0 -3
  185. package/dist/chains/xlayer/eip7702/utils.js +23 -28
  186. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +148 -0
  187. package/dist/chains/xlayer/eip7702/volume-helpers.js +48 -0
  188. package/dist/chains/xlayer/eip7702/volume.d.ts +6 -184
  189. package/dist/chains/xlayer/eip7702/volume.js +89 -164
  190. package/dist/chains/xlayer/eoa/constants.d.ts +1 -1
  191. package/dist/chains/xlayer/eoa/constants.js +2 -16
  192. package/dist/chains/xlayer/eoa/dex-helpers.d.ts +1 -1
  193. package/dist/chains/xlayer/eoa/dex-helpers.js +7 -37
  194. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +126 -0
  195. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +228 -0
  196. package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +1 -95
  197. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +66 -299
  198. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
  199. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +18 -23
  200. package/dist/chains/xlayer/eoa/index.d.ts +10 -6
  201. package/dist/chains/xlayer/eoa/index.js +8 -23
  202. package/dist/chains/xlayer/eoa/portal-ops.js +7 -2
  203. package/dist/chains/xlayer/eoa/router-manager.js +5 -4
  204. package/dist/chains/xlayer/eoa/types.d.ts +2 -2
  205. package/dist/chains/xlayer/eoa/types.js +1 -3
  206. package/dist/chains/xlayer/index.d.ts +3 -2
  207. package/dist/chains/xlayer/index.js +4 -7
  208. package/dist/core/amount/split-by-weight.d.ts +5 -0
  209. package/dist/core/amount/split-by-weight.js +35 -0
  210. package/dist/{shared → core}/clients/blockrazor.d.ts +4 -8
  211. package/dist/{shared → core}/clients/blockrazor.js +43 -35
  212. package/dist/{shared → core}/clients/club48.d.ts +2 -2
  213. package/dist/{shared → core}/clients/club48.js +36 -30
  214. package/dist/{shared → core}/clients/emitservice.js +2 -0
  215. package/dist/{shared → core}/clients/four.d.ts +21 -6
  216. package/dist/{shared → core}/clients/four.js +29 -24
  217. package/dist/core/clients/index.d.ts +8 -0
  218. package/dist/core/clients/index.js +8 -0
  219. package/dist/{shared → core}/clients/merkle.d.ts +4 -3
  220. package/dist/{shared → core}/clients/merkle.js +30 -47
  221. package/dist/{shared → core}/constants/addresses.d.ts +27 -1
  222. package/dist/{shared → core}/constants/addresses.js +39 -2
  223. package/dist/{shared → core}/constants/chains.d.ts +1 -1
  224. package/dist/{shared → core}/constants/chains.js +1 -1
  225. package/dist/{shared → core}/constants/gas.d.ts +1 -1
  226. package/dist/{shared → core}/constants/gas.js +2 -6
  227. package/dist/{shared → core}/constants/index.d.ts +5 -2
  228. package/dist/{shared → core}/constants/index.js +3 -2
  229. package/dist/core/constants/quote.d.ts +30 -0
  230. package/dist/core/constants/quote.js +37 -0
  231. package/dist/core/dex/v3-path.d.ts +6 -0
  232. package/dist/core/dex/v3-path.js +35 -0
  233. package/dist/core/erc20/decimals.d.ts +7 -0
  234. package/dist/core/erc20/decimals.js +24 -0
  235. package/dist/{utils → core}/erc20.d.ts +7 -89
  236. package/dist/{utils → core}/erc20.js +99 -130
  237. package/dist/core/foundation.d.ts +15 -0
  238. package/dist/core/foundation.js +14 -0
  239. package/dist/core/gas/bundle-gas.d.ts +49 -0
  240. package/dist/core/gas/bundle-gas.js +93 -0
  241. package/dist/core/gas/profit-hop.d.ts +20 -0
  242. package/dist/core/gas/profit-hop.js +72 -0
  243. package/dist/core/index.d.ts +5 -0
  244. package/dist/core/index.js +5 -0
  245. package/dist/core/legacy-types/errors.d.ts +27 -0
  246. package/dist/core/legacy-types/errors.js +34 -0
  247. package/dist/core/nonce/nonce-manager.d.ts +19 -0
  248. package/dist/core/nonce/nonce-manager.js +217 -0
  249. package/dist/core/normalize-unknown.d.ts +9 -0
  250. package/dist/core/normalize-unknown.js +29 -0
  251. package/dist/core/sdk-logger.d.ts +13 -0
  252. package/dist/core/sdk-logger.js +12 -0
  253. package/dist/core/shared-abis/common.d.ts +4 -0
  254. package/dist/core/shared-abis/common.js +4 -0
  255. package/dist/core/shared-abis/index.d.ts +5 -0
  256. package/dist/core/shared-abis/index.js +5 -0
  257. package/dist/core/tx/build-request.d.ts +17 -0
  258. package/dist/core/tx/build-request.js +25 -0
  259. package/dist/core/tx/sign-batch.d.ts +5 -0
  260. package/dist/core/tx/sign-batch.js +26 -0
  261. package/dist/core/tx/wallet-sign-patch.d.ts +1 -0
  262. package/dist/core/tx/wallet-sign-patch.js +18 -0
  263. package/dist/core/types/airdrop-sweep.d.ts +79 -0
  264. package/dist/core/types/airdrop-sweep.js +1 -0
  265. package/dist/core/types/erc20.d.ts +65 -0
  266. package/dist/core/types/erc20.js +1 -0
  267. package/dist/core/types/holders-maker.d.ts +64 -0
  268. package/dist/core/types/holders-maker.js +1 -0
  269. package/dist/core/types/index.d.ts +7 -0
  270. package/dist/core/types/index.js +1 -0
  271. package/dist/{utils → core/types}/lp-inspect.d.ts +4 -52
  272. package/dist/core/types/lp-inspect.js +1 -0
  273. package/dist/core/types/multicall.d.ts +5 -0
  274. package/dist/core/types/multicall.js +1 -0
  275. package/dist/core/types/private-sale.d.ts +35 -0
  276. package/dist/core/types/private-sale.js +1 -0
  277. package/dist/core/types/quote-helpers.d.ts +17 -0
  278. package/dist/core/types/quote-helpers.js +1 -0
  279. package/dist/core/types-erc20.d.ts +1 -0
  280. package/dist/core/types-erc20.js +1 -0
  281. package/dist/core/wallet/generate.d.ts +5 -0
  282. package/dist/core/wallet/generate.js +8 -0
  283. package/dist/domains/dex/direct-router-helpers.d.ts +269 -0
  284. package/dist/domains/dex/direct-router-helpers.js +536 -0
  285. package/dist/domains/dex/direct-router.d.ts +28 -0
  286. package/dist/{dex → domains/dex}/direct-router.js +246 -674
  287. package/dist/domains/dex/types.d.ts +81 -0
  288. package/dist/domains/dex/types.js +1 -0
  289. package/dist/{shared → domains}/flap/abi.js +1 -1
  290. package/dist/{shared → domains}/flap/constants.d.ts +1 -2
  291. package/dist/{shared → domains}/flap/constants.js +3 -4
  292. package/dist/{shared → domains}/flap/curve.js +3 -0
  293. package/dist/{shared → domains}/flap/errors.d.ts +1 -4
  294. package/dist/{shared → domains}/flap/errors.js +20 -1
  295. package/dist/domains/flap/index.d.ts +7 -0
  296. package/dist/domains/flap/index.js +5 -0
  297. package/dist/{shared → domains}/flap/meta.d.ts +22 -18
  298. package/dist/{shared → domains}/flap/meta.js +32 -24
  299. package/dist/{shared/flap/index.d.ts → domains/flap/module.d.ts} +4 -5
  300. package/dist/{shared/flap/index.js → domains/flap/module.js} +4 -5
  301. package/dist/{shared → domains}/flap/permit.js +10 -3
  302. package/dist/{shared → domains}/flap/pinata.d.ts +22 -6
  303. package/dist/{shared → domains}/flap/pinata.js +21 -26
  304. package/dist/domains/flap/portal-bundle-merkle/config.d.ts +10 -0
  305. package/dist/domains/flap/portal-bundle-merkle/config.js +13 -0
  306. package/dist/domains/flap/portal-bundle-merkle/core-helpers.d.ts +32 -0
  307. package/dist/domains/flap/portal-bundle-merkle/core-helpers.js +83 -0
  308. package/dist/{shared → domains}/flap/portal-bundle-merkle/core.d.ts +0 -4
  309. package/dist/{shared → domains}/flap/portal-bundle-merkle/core.js +168 -175
  310. package/dist/{shared → domains}/flap/portal-bundle-merkle/create-to-dex.d.ts +17 -4
  311. package/dist/{shared → domains}/flap/portal-bundle-merkle/create-to-dex.js +97 -118
  312. package/dist/{shared → domains}/flap/portal-bundle-merkle/curve-to-dex.js +105 -123
  313. package/dist/domains/flap/portal-bundle-merkle/index.d.ts +18 -0
  314. package/dist/{shared → domains}/flap/portal-bundle-merkle/index.js +4 -7
  315. package/dist/{shared → domains}/flap/portal-bundle-merkle/pancake-proxy.js +73 -70
  316. package/dist/{shared → domains}/flap/portal-bundle-merkle/private.js +63 -116
  317. package/dist/domains/flap/portal-bundle-merkle/swap-batch.d.ts +8 -0
  318. package/dist/domains/flap/portal-bundle-merkle/swap-batch.js +227 -0
  319. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +125 -0
  320. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-helpers.js +113 -0
  321. package/dist/domains/flap/portal-bundle-merkle/swap-buy-first.d.ts +2 -0
  322. package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-buy-first.js +69 -288
  323. package/dist/domains/flap/portal-bundle-merkle/swap-cross.d.ts +9 -0
  324. package/dist/domains/flap/portal-bundle-merkle/swap-cross.js +139 -0
  325. package/dist/domains/flap/portal-bundle-merkle/swap-helpers.d.ts +149 -0
  326. package/dist/domains/flap/portal-bundle-merkle/swap-helpers.js +259 -0
  327. package/dist/domains/flap/portal-bundle-merkle/swap-planning.d.ts +70 -0
  328. package/dist/domains/flap/portal-bundle-merkle/swap-planning.js +182 -0
  329. package/dist/domains/flap/portal-bundle-merkle/swap-quick-batch.d.ts +16 -0
  330. package/dist/domains/flap/portal-bundle-merkle/swap-quick-batch.js +327 -0
  331. package/dist/domains/flap/portal-bundle-merkle/swap-single.d.ts +2 -0
  332. package/dist/domains/flap/portal-bundle-merkle/swap-single.js +184 -0
  333. package/dist/domains/flap/portal-bundle-merkle/swap-types.d.ts +101 -0
  334. package/dist/domains/flap/portal-bundle-merkle/swap-types.js +1 -0
  335. package/dist/domains/flap/portal-bundle-merkle/swap.d.ts +8 -0
  336. package/dist/domains/flap/portal-bundle-merkle/swap.js +7 -0
  337. package/dist/{shared → domains}/flap/portal-bundle-merkle/types.d.ts +88 -12
  338. package/dist/domains/flap/portal-bundle-merkle/types.js +1 -0
  339. package/dist/domains/flap/portal-bundle-merkle/utils.d.ts +10 -0
  340. package/dist/{shared → domains}/flap/portal-bundle-merkle/utils.js +145 -265
  341. package/dist/{shared → domains}/flap/portal-bundle.d.ts +2 -2
  342. package/dist/{shared → domains}/flap/portal-bundle.js +84 -79
  343. package/dist/domains/flap/portal-create-token.d.ts +81 -0
  344. package/dist/domains/flap/portal-create-token.js +255 -0
  345. package/dist/{shared → domains}/flap/portal.d.ts +1 -2
  346. package/dist/{shared → domains}/flap/portal.js +36 -28
  347. package/dist/{shared → domains}/flap/vanity.d.ts +6 -6
  348. package/dist/{shared → domains}/flap/vanity.js +15 -21
  349. package/dist/{shared → domains}/flap/vault.d.ts +25 -93
  350. package/dist/{shared → domains}/flap/vault.js +77 -127
  351. package/dist/{flows → domains/flows}/create.d.ts +2 -1
  352. package/dist/{flows → domains/flows}/create.js +8 -8
  353. package/dist/domains/flows/index.d.ts +9 -0
  354. package/dist/domains/flows/index.js +9 -0
  355. package/dist/{contracts → domains/four/contracts}/helper3.d.ts +20 -5
  356. package/dist/{contracts → domains/four/contracts}/helper3.js +56 -20
  357. package/dist/domains/four/contracts/tm-bundle-helpers.d.ts +88 -0
  358. package/dist/domains/four/contracts/tm-bundle-helpers.js +73 -0
  359. package/dist/{contracts → domains/four/contracts}/tm-bundle.d.ts +4 -52
  360. package/dist/{contracts → domains/four/contracts}/tm-bundle.js +122 -189
  361. package/dist/{contracts → domains/four/contracts}/tm.d.ts +10 -8
  362. package/dist/{contracts → domains/four/contracts}/tm.js +39 -35
  363. package/dist/{contracts → domains/four/contracts}/tm1.js +9 -4
  364. package/dist/{contracts → domains/four/contracts}/tm2.js +10 -5
  365. package/dist/domains/four/index.d.ts +7 -0
  366. package/dist/domains/four/index.js +7 -0
  367. package/dist/{shared → domains}/four/tax-token.d.ts +1 -1
  368. package/dist/{shared → domains}/four/tax-token.js +31 -10
  369. package/dist/domains/holders/holders-maker-helpers.d.ts +9 -0
  370. package/dist/domains/holders/holders-maker-helpers.js +9 -0
  371. package/dist/domains/holders/holders-maker.d.ts +18 -0
  372. package/dist/domains/holders/holders-maker.js +324 -0
  373. package/dist/domains/holders/index.d.ts +1 -0
  374. package/dist/domains/holders/index.js +1 -0
  375. package/dist/domains/holders/internal/addresses.d.ts +12 -0
  376. package/dist/domains/holders/internal/addresses.js +15 -0
  377. package/dist/domains/holders/internal/buy-tx.d.ts +44 -0
  378. package/dist/domains/holders/internal/buy-tx.js +278 -0
  379. package/dist/domains/holders/internal/constants.d.ts +6 -0
  380. package/dist/domains/holders/internal/constants.js +7 -0
  381. package/dist/domains/holders/internal/disperse.d.ts +18 -0
  382. package/dist/domains/holders/internal/disperse.js +90 -0
  383. package/dist/domains/holders/internal/routing.d.ts +4 -0
  384. package/dist/domains/holders/internal/routing.js +45 -0
  385. package/dist/domains/holders/internal/transfer-tx.d.ts +4 -0
  386. package/dist/domains/holders/internal/transfer-tx.js +67 -0
  387. package/dist/domains/holders/types.d.ts +1 -0
  388. package/dist/domains/holders/types.js +1 -0
  389. package/dist/domains/lp-inspect/index.d.ts +1 -0
  390. package/dist/domains/lp-inspect/index.js +1 -0
  391. package/dist/domains/lp-inspect/lp-inspect-helpers.d.ts +9 -0
  392. package/dist/domains/lp-inspect/lp-inspect-helpers.js +109 -0
  393. package/dist/domains/lp-inspect/lp-inspect.d.ts +40 -0
  394. package/dist/{utils → domains/lp-inspect}/lp-inspect.js +78 -293
  395. package/dist/domains/lp-inspect/types.d.ts +1 -0
  396. package/dist/domains/lp-inspect/types.js +1 -0
  397. package/dist/domains/merkle/index.d.ts +12 -0
  398. package/dist/domains/merkle/index.js +11 -0
  399. package/dist/domains/private-sale/index.d.ts +1 -0
  400. package/dist/domains/private-sale/index.js +1 -0
  401. package/dist/domains/private-sale/private-sale.d.ts +34 -0
  402. package/dist/{utils → domains/private-sale}/private-sale.js +5 -16
  403. package/dist/domains/private-sale/types.d.ts +1 -0
  404. package/dist/domains/private-sale/types.js +1 -0
  405. package/dist/domains/quote/index.d.ts +1 -0
  406. package/dist/domains/quote/index.js +1 -0
  407. package/dist/{utils → domains/quote}/quote-helpers.d.ts +4 -45
  408. package/dist/{utils → domains/quote}/quote-helpers.js +17 -74
  409. package/dist/domains/quote/types.d.ts +1 -0
  410. package/dist/domains/quote/types.js +1 -0
  411. package/dist/domains/vanity/index.d.ts +5 -0
  412. package/dist/domains/vanity/index.js +5 -0
  413. package/dist/exports/root-bundle-and-tooling.d.ts +27 -0
  414. package/dist/exports/root-bundle-and-tooling.js +30 -0
  415. package/dist/exports/root-eni-and-bsc-iro.d.ts +26 -0
  416. package/dist/exports/root-eni-and-bsc-iro.js +66 -0
  417. package/dist/exports/root-foundations.d.ts +35 -0
  418. package/dist/exports/root-foundations.js +70 -0
  419. package/dist/exports/root-swap-dex-and-xlayer.d.ts +30 -0
  420. package/dist/exports/root-swap-dex-and-xlayer.js +78 -0
  421. package/dist/index.d.ts +17 -88
  422. package/dist/index.js +17 -218
  423. package/dist/utils/airdrop-sweep.d.ts +4 -76
  424. package/dist/utils/airdrop-sweep.js +42 -55
  425. package/dist/utils/bundle-helpers.d.ts +9 -243
  426. package/dist/utils/bundle-helpers.js +10 -584
  427. package/dist/utils/constants.d.ts +5 -61
  428. package/dist/utils/constants.js +5 -80
  429. package/dist/utils/contract-factory.d.ts +2 -4
  430. package/dist/utils/contract-factory.js +25 -18
  431. package/dist/utils/errors.d.ts +12 -1
  432. package/dist/utils/errors.js +60 -1
  433. package/dist/utils/hop-chains.d.ts +35 -0
  434. package/dist/utils/hop-chains.js +215 -0
  435. package/dist/utils/index.d.ts +5 -0
  436. package/dist/utils/index.js +5 -0
  437. package/dist/utils/mpcExclusive.d.ts +2 -5
  438. package/dist/utils/mpcExclusive.js +4 -3
  439. package/dist/utils/provider-factory.d.ts +4 -0
  440. package/dist/utils/provider-factory.js +10 -0
  441. package/dist/utils/stealth-transfer.d.ts +2 -28
  442. package/dist/utils/stealth-transfer.js +41 -21
  443. package/dist/utils/swap-helpers.d.ts +2 -15
  444. package/dist/utils/swap-helpers.js +7 -12
  445. package/dist/utils/types/airdrop-sweep.d.ts +1 -0
  446. package/dist/utils/types/airdrop-sweep.js +1 -0
  447. package/dist/utils/types/contract-factory.d.ts +1 -0
  448. package/dist/utils/types/contract-factory.js +1 -0
  449. package/dist/utils/types/errors.d.ts +1 -0
  450. package/dist/utils/types/errors.js +1 -0
  451. package/dist/utils/types/hop-chains.d.ts +8 -0
  452. package/dist/utils/types/hop-chains.js +1 -0
  453. package/dist/utils/types/index.d.ts +13 -0
  454. package/dist/utils/types/index.js +1 -0
  455. package/dist/utils/types/mpc-exclusive.d.ts +5 -0
  456. package/dist/utils/types/mpc-exclusive.js +1 -0
  457. package/dist/utils/types/stealth-transfer.d.ts +44 -0
  458. package/dist/utils/types/stealth-transfer.js +1 -0
  459. package/dist/utils/types/wallet.d.ts +25 -0
  460. package/dist/utils/types/wallet.js +1 -0
  461. package/dist/utils/wallet.d.ts +4 -25
  462. package/dist/utils/wallet.js +27 -22
  463. package/package.json +96 -2
  464. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +0 -26
  465. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +0 -113
  466. package/dist/contracts/tm-bundle-merkle/config.d.ts +0 -70
  467. package/dist/contracts/tm-bundle-merkle/config.js +0 -114
  468. package/dist/contracts/tm-bundle-merkle/index.d.ts +0 -15
  469. package/dist/contracts/tm-bundle-merkle/index.js +0 -29
  470. package/dist/contracts/tm-bundle-merkle/internal.d.ts +0 -48
  471. package/dist/contracts/tm-bundle-merkle/internal.js +0 -240
  472. package/dist/contracts/tm-bundle-merkle/swap.d.ts +0 -146
  473. package/dist/contracts/tm-bundle-merkle/utils.d.ts +0 -20
  474. package/dist/contracts/tm-bundle-merkle/utils.js +0 -1503
  475. package/dist/dex/direct-router.d.ts +0 -150
  476. package/dist/shared/abis/TaxToken.json +0 -105
  477. package/dist/shared/abis/TokenManager2.json +0 -60
  478. package/dist/shared/flap/graduated-dex.d.ts +0 -1
  479. package/dist/shared/flap/graduated-dex.js +0 -1
  480. package/dist/shared/flap/launch-v6.d.ts +0 -132
  481. package/dist/shared/flap/launch-v6.js +0 -137
  482. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +0 -79
  483. package/dist/shared/flap/portal-bundle-merkle/config.js +0 -133
  484. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +0 -14
  485. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +0 -65
  486. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +0 -201
  487. package/dist/shared/flap/portal-bundle-merkle/swap.js +0 -1359
  488. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +0 -89
  489. package/dist/shared/flap/portal-create-token.d.ts +0 -63
  490. package/dist/shared/flap/portal-create-token.js +0 -258
  491. package/dist/shared/four/index.d.ts +0 -7
  492. package/dist/shared/four/index.js +0 -22
  493. package/dist/shared/index.d.ts +0 -10
  494. package/dist/shared/index.js +0 -10
  495. package/dist/utils/holders-maker.d.ts +0 -154
  496. package/dist/utils/holders-maker.js +0 -945
  497. package/dist/utils/pcs-infinity-cl.d.ts +0 -65
  498. package/dist/utils/pcs-infinity-cl.js +0 -426
  499. package/dist/utils/private-sale.d.ts +0 -90
  500. /package/dist/{shared/abis → abis/contracts}/TokenManager.json +0 -0
  501. /package/dist/{shared/abis → abis/contracts}/TokenManagerHelper3.json +0 -0
  502. /package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/swap-internal.d.ts +0 -0
  503. /package/dist/{shared/flap/portal-bundle-merkle/types.js → bundle/four-meme/types/buy-first.js} +0 -0
  504. /package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/types.js +0 -0
  505. /package/dist/{shared → core}/clients/emitservice.d.ts +0 -0
  506. /package/dist/{shared → core}/constants/profit.d.ts +0 -0
  507. /package/dist/{shared → core}/constants/profit.js +0 -0
  508. /package/dist/{dex → domains/dex}/index.d.ts +0 -0
  509. /package/dist/{dex → domains/dex}/index.js +0 -0
  510. /package/dist/{shared → domains}/flap/abi.d.ts +0 -0
  511. /package/dist/{shared → domains}/flap/curve.d.ts +0 -0
  512. /package/dist/{shared → domains}/flap/ipfs.d.ts +0 -0
  513. /package/dist/{shared → domains}/flap/ipfs.js +0 -0
  514. /package/dist/{shared → domains}/flap/permit.d.ts +0 -0
  515. /package/dist/{shared → domains}/flap/portal-bundle-merkle/curve-to-dex.d.ts +0 -0
  516. /package/dist/{shared → domains}/flap/portal-bundle-merkle/pancake-proxy.d.ts +0 -0
  517. /package/dist/{shared → domains}/flap/portal-bundle-merkle/private.d.ts +0 -0
  518. /package/dist/{contracts → domains/four/contracts}/tm1.d.ts +0 -0
  519. /package/dist/{contracts → domains/four/contracts}/tm2.d.ts +0 -0
@@ -0,0 +1,65 @@
1
+ import type { ContractTransactionReceipt } from 'ethers';
2
+ import type { NonceManager } from '../nonce/nonce-manager.js';
3
+ export type EnsureAllowanceResult = {
4
+ /** 是否已经授权 */
5
+ alreadyApproved: boolean;
6
+ /** 当前授权额度 */
7
+ currentAllowance: bigint;
8
+ /** 需要的授权额度 */
9
+ requiredAllowance: bigint;
10
+ /** 授权交易回执(如果发送了新交易) */
11
+ txReceipt?: ContractTransactionReceipt | null;
12
+ };
13
+ export type EnsureAllowanceBatchItemResult = EnsureAllowanceResult & {
14
+ owner: string;
15
+ };
16
+ export type ApproveTokenBatchParams = {
17
+ chain: 'BSC' | 'BASE' | 'XLAYER' | 'MORPH' | 'MONAD';
18
+ platform: 'flap' | 'four' | 'pancake-v2' | 'pancake-v3';
19
+ rpcUrl: string;
20
+ privateKeys: string[];
21
+ tokenAddress: string;
22
+ amounts: (bigint | 'max')[];
23
+ signOnly?: boolean;
24
+ gasPriceGwei?: number;
25
+ gasLimit?: number;
26
+ chainId?: number;
27
+ skipValidation?: boolean;
28
+ };
29
+ export type ApproveTokenBatchRawParams = {
30
+ rpcUrl: string;
31
+ privateKeys: string[];
32
+ tokenAddress: string;
33
+ spenderAddress: string;
34
+ amounts: (bigint | 'max')[];
35
+ signOnly?: boolean;
36
+ gasPriceGwei?: number;
37
+ gasLimit?: number;
38
+ chainId?: number;
39
+ nonceManager?: NonceManager;
40
+ skipValidation?: boolean;
41
+ };
42
+ export type ApproveTokenBatchResult = {
43
+ success: boolean;
44
+ approvedCount: number;
45
+ results: Array<{
46
+ owner: string;
47
+ alreadyApproved: boolean;
48
+ currentAllowance: bigint;
49
+ requiredAllowance: bigint;
50
+ txHash?: string;
51
+ error?: string;
52
+ }>;
53
+ };
54
+ export type ApproveTokenBatchSignResult = {
55
+ signedTransactions: string[];
56
+ results: Array<{
57
+ owner: string;
58
+ alreadyApproved: boolean;
59
+ currentAllowance: bigint;
60
+ requiredAllowance: bigint;
61
+ signedTx?: string;
62
+ }>;
63
+ needApproveCount: number;
64
+ alreadyApprovedCount: number;
65
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,64 @@
1
+ /**
2
+ * 刷持有人 - 类型定义
3
+ */
4
+ import type { GeneratedWallet } from '../../utils/wallet.js';
5
+ export type HoldersMakerChain = 'BSC' | 'MONAD' | 'XLAYER' | 'ENI';
6
+ export type HoldersMakerTradeType = 'four' | 'flap' | 'v2' | 'v3' | 'daoaas';
7
+ export type BaseTokenType = 'native' | 'usdt' | 'usdc';
8
+ export type HoldersMakerConfig = {
9
+ rpcUrl: string;
10
+ chain?: HoldersMakerChain;
11
+ chainId?: number;
12
+ tradeType?: HoldersMakerTradeType;
13
+ gasLimit?: number;
14
+ gasPriceGwei?: number;
15
+ bribeAmount?: number;
16
+ txType?: 0 | 2;
17
+ maxWalletsPerBatch?: number;
18
+ fourApiUrl?: string;
19
+ disperseHopCount?: number;
20
+ v2Path?: string[];
21
+ v3TokenIn?: string;
22
+ v3Fee?: number;
23
+ v3LpAddresses?: string[];
24
+ v3Tokens?: string[];
25
+ v2RouterAddress?: string;
26
+ };
27
+ export type HoldersMakerParams = {
28
+ payerPrivateKey: string;
29
+ holdersCount: number;
30
+ buyAmountPerHolder: string;
31
+ tokenAddress: string;
32
+ baseToken?: BaseTokenType;
33
+ baseTokenAddress?: string;
34
+ baseTokenDecimals?: number;
35
+ config: HoldersMakerConfig;
36
+ };
37
+ export type TransactionLayer = {
38
+ name: string;
39
+ startIndex: number;
40
+ endIndex: number;
41
+ count: number;
42
+ };
43
+ export type BatchResult = {
44
+ batchIndex: number;
45
+ success: boolean;
46
+ signedTransactions?: string[];
47
+ txHashes?: string[];
48
+ error?: string;
49
+ walletCount: number;
50
+ transactionLayers?: TransactionLayer[];
51
+ disperseHopCount?: number;
52
+ };
53
+ export type HoldersMakerResult = {
54
+ success: boolean;
55
+ newWallets: GeneratedWallet[];
56
+ disperseHopWallets?: GeneratedWallet[];
57
+ profitHopWallets?: GeneratedWallet[];
58
+ signedTransactions: string[][];
59
+ batchResults: BatchResult[];
60
+ successBatchCount: number;
61
+ totalBatchCount: number;
62
+ error?: string;
63
+ disperseHopCount?: number;
64
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ export type { Aggregate3CallResult } from './multicall.js';
2
+ export type { EnsureAllowanceResult, EnsureAllowanceBatchItemResult, ApproveTokenBatchParams, ApproveTokenBatchRawParams, ApproveTokenBatchResult, ApproveTokenBatchSignResult, } from './erc20.js';
3
+ export type { HoldersMakerChain, HoldersMakerTradeType, BaseTokenType, HoldersMakerConfig, HoldersMakerParams, TransactionLayer, BatchResult, HoldersMakerResult, } from './holders-maker.js';
4
+ export type { DexConfig, ChainDexConfig, PoolPairInfo, V3PoolInfo, DexPoolInfo, BestPoolInfo, LPPlatform, LPInfo, InspectOptions, } from './lp-inspect.js';
5
+ export type { BundleSubmitResult, SignedTransactionsResult, AirdropDisperseParams, AirdropDisperseSignParams, AirdropSweepParams, AirdropSweepSignParams, DisperseParams, DisperseSignParams, SweepParams, SweepSignParams, } from './airdrop-sweep.js';
6
+ export type { PrivateSaleSignConfig, PrivateSaleTransferParams, BatchPrivateSaleParams, PrivateSaleResult, } from './private-sale.js';
7
+ export type { SupportedChain, QuoteParams, QuoteResult } from './quote-helpers.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,7 @@
1
- import { type FlapChain } from '../shared/flap/portal.js';
2
- /** DEX 配置 */
1
+ /**
2
+ * LP 查询 - 类型定义
3
+ */
4
+ import type { FlapChain } from '../../domains/flap/portal.js';
3
5
  export interface DexConfig {
4
6
  name: string;
5
7
  v2Factory?: string;
@@ -9,7 +11,6 @@ export interface DexConfig {
9
11
  quoterV2?: string;
10
12
  enabled: boolean;
11
13
  }
12
- /** 链配置 */
13
14
  export interface ChainDexConfig {
14
15
  wrappedNative: string;
15
16
  wrappedNativeSymbol: string;
@@ -20,7 +21,6 @@ export interface ChainDexConfig {
20
21
  }>;
21
22
  dexes: Record<string, DexConfig>;
22
23
  }
23
- /** 单个交易对信息 */
24
24
  export interface PoolPairInfo {
25
25
  quoteToken: string;
26
26
  quoteSymbol: string;
@@ -32,18 +32,15 @@ export interface PoolPairInfo {
32
32
  reserveTokenRaw?: bigint;
33
33
  poolRatio?: string;
34
34
  }
35
- /** V3 池子信息(带 fee) */
36
35
  export interface V3PoolInfo extends PoolPairInfo {
37
36
  fee: number;
38
37
  }
39
- /** DEX 池子信息 */
40
38
  export interface DexPoolInfo {
41
39
  dexName: string;
42
40
  dexKey: string;
43
41
  v2Pairs: PoolPairInfo[];
44
42
  v3Pools: V3PoolInfo[];
45
43
  }
46
- /** 最佳池子推荐 */
47
44
  export interface BestPoolInfo {
48
45
  dex: string;
49
46
  dexKey: string;
@@ -59,9 +56,7 @@ export interface BestPoolInfo {
59
56
  reserveTokenRaw?: bigint;
60
57
  poolRatio?: string;
61
58
  }
62
- /** LP 平台类型 */
63
59
  export type LPPlatform = 'FOUR' | 'FLAP' | 'DAOAAS' | 'PANCAKESWAP_V2' | 'PANCAKESWAP_V3' | 'UNISWAP_V2' | 'UNISWAP_V3' | 'IROSWAP_V2' | 'MULTI_DEX' | 'UNKNOWN';
64
- /** LP 信息返回类型 */
65
60
  export interface LPInfo {
66
61
  platform: LPPlatform;
67
62
  decimals?: number;
@@ -95,7 +90,6 @@ export interface LPInfo {
95
90
  allPools: DexPoolInfo[];
96
91
  bestPools: BestPoolInfo[];
97
92
  }
98
- /** 查询选项 */
99
93
  export interface InspectOptions {
100
94
  chain: 'BSC' | 'MONAD' | 'XLAYER' | 'ENI';
101
95
  rpcUrl: string;
@@ -106,45 +100,3 @@ export interface InspectOptions {
106
100
  debug?: boolean;
107
101
  formatBalances?: boolean;
108
102
  }
109
- /**
110
- * 从 Router 合约获取 Factory 地址
111
- * 支持 Uniswap V2 Router 和 V3 SwapRouter02
112
- */
113
- export declare function getFactoryFromRouter(routerAddress: string, rpcUrl: string, routerType?: 'v2' | 'v3'): Promise<{
114
- v2Factory?: string;
115
- v3Factory?: string;
116
- }>;
117
- /**
118
- * 动态注册 DYORSwap(从 Router 获取 Factory)
119
- */
120
- export declare function registerDYORSwap(rpcUrl: string): Promise<boolean>;
121
- /** 注册新的 DEX */
122
- export declare function registerDex(chain: string, dexKey: string, config: DexConfig): void;
123
- /** 注册新的稳定币 */
124
- export declare function registerStableCoin(chain: string, coin: {
125
- address: string;
126
- symbol: string;
127
- decimals: number;
128
- }): void;
129
- /** 获取链配置(优先运行时配置) */
130
- export declare function getChainConfig(chain: string): ChainDexConfig | undefined;
131
- /** 获取支持的 DEX 列表 */
132
- export declare function getSupportedDexes(chain: string): Array<{
133
- key: string;
134
- name: string;
135
- enabled: boolean;
136
- }>;
137
- /** 获取支持的稳定币列表 */
138
- export declare function getSupportedStableCoins(chain: string): Array<{
139
- address: string;
140
- symbol: string;
141
- decimals: number;
142
- }>;
143
- /** 获取所有报价代币(包装原生 + 稳定币) */
144
- export declare function getQuoteTokens(chain: string): Array<{
145
- address: string;
146
- symbol: string;
147
- decimals: number;
148
- isNative: boolean;
149
- }>;
150
- export declare function inspectTokenLP(token: string, opts: InspectOptions): Promise<LPInfo>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ /** Multicall3 `aggregate3` 单条返回(与 IERC20 balanceOf / getEthBalance 解码路径一致) */
2
+ export type Aggregate3CallResult = {
3
+ success: boolean;
4
+ returnData: string;
5
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,35 @@
1
+ /**
2
+ * 私募转账签名 — 类型定义
3
+ */
4
+ import type { GeneratedWallet } from '../../utils/wallet.js';
5
+ export interface PrivateSaleSignConfig {
6
+ rpcUrl: string;
7
+ chainId?: number;
8
+ gasLimit?: number;
9
+ gasPriceGwei?: number;
10
+ bribeAmount?: number;
11
+ extractProfit?: boolean;
12
+ profitBps?: number;
13
+ }
14
+ export interface PrivateSaleTransferParams {
15
+ senderPrivateKey: string;
16
+ recipient: string;
17
+ amount: number;
18
+ }
19
+ export interface BatchPrivateSaleParams {
20
+ transfers: PrivateSaleTransferParams[];
21
+ config: PrivateSaleSignConfig;
22
+ }
23
+ export interface PrivateSaleResult {
24
+ signedTransactions: string[];
25
+ profitHopWallets?: GeneratedWallet[];
26
+ metadata: {
27
+ totalCount: number;
28
+ bribeCount: number;
29
+ transferCount: number;
30
+ profitCount: number;
31
+ totalAmountWei: string;
32
+ totalProfitWei: string;
33
+ bribeAmountWei: string;
34
+ };
35
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ import type { JsonRpcProvider } from 'ethers';
2
+ export type SupportedChain = 'BSC' | 'MONAD' | 'XLAYER' | 'ENI';
3
+ export interface QuoteParams {
4
+ provider: JsonRpcProvider;
5
+ tokenIn: string;
6
+ tokenOut: string;
7
+ amountIn: bigint;
8
+ chain: string;
9
+ version?: 'v2' | 'v3';
10
+ fee?: number;
11
+ routerOverride?: string;
12
+ }
13
+ export interface QuoteResult {
14
+ amountOut: bigint;
15
+ path?: string[];
16
+ fee?: number;
17
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type { EnsureAllowanceResult, EnsureAllowanceBatchItemResult, ApproveTokenBatchParams, ApproveTokenBatchRawParams, ApproveTokenBatchResult, ApproveTokenBatchSignResult, } from './types/erc20.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ export type GeneratedWallet = {
2
+ address: string;
3
+ privateKey: string;
4
+ };
5
+ export declare function generateWallets(count: number): GeneratedWallet[];
@@ -0,0 +1,8 @@
1
+ import { Wallet } from 'ethers';
2
+ export function generateWallets(count) {
3
+ const n = Math.max(0, Math.floor(count));
4
+ return Array.from({ length: n }, () => {
5
+ const w = Wallet.createRandom();
6
+ return { address: w.address, privateKey: w.privateKey };
7
+ });
8
+ }
@@ -0,0 +1,269 @@
1
+ import { ethers, Wallet, JsonRpcProvider } from 'ethers';
2
+ import type { DirectRouterSignConfig } from './types.js';
3
+ import type { GeneratedWallet } from '../../utils/wallet.js';
4
+ /**
5
+ * 直接 Router 交易(不走代理合约)
6
+ *
7
+ * 支持:
8
+ * - BSC: PancakeSwap V2/V3
9
+ * - Monad: PancakeSwap V2, Uniswap V2/V3
10
+ *
11
+ * 收费方式:交易末尾附加利润提取交易(和内盘一致)
12
+ */
13
+ export declare const providerCache: Map<string, ethers.JsonRpcProvider>;
14
+ export declare const PROVIDER_CACHE_TTL = 60000;
15
+ export declare const providerCacheTimestamps: Map<string, number>;
16
+ /**
17
+ * 获取缓存的 Provider 实例
18
+ * - 根据 rpcUrl + chainId 作为缓存 key
19
+ * - 60秒后自动失效,避免长连接问题
20
+ */
21
+ export declare function getCachedProvider(rpcUrl: string, chainId: number, chainName: string): JsonRpcProvider;
22
+ export declare const DEFAULT_GAS_LIMIT = 300000;
23
+ export declare const DEADLINE_MINUTES = 20;
24
+ /**
25
+ * 截断小数位数,避免超过代币精度导致 parseUnits 报错
26
+ * 例如:truncateDecimals("21906.025000000000000000", 1) => "21906.0"
27
+ */
28
+ export declare function truncateDecimals(value: string, decimals: number): string;
29
+ /** Router 地址配置 - ✅ 使用公共模块中的地址 */
30
+ export declare const DIRECT_ROUTERS: {
31
+ readonly BSC: {
32
+ readonly PANCAKESWAP_V2: "0x10ED43C718714eb63d5aA57B78B54704E256024E";
33
+ readonly PANCAKESWAP_V3: "0x13f4EA83D0bd40E75C8222255bc855a974568Dd4";
34
+ readonly IROSWAP_V2: "0xe90fb729E458092592a79EdaFefB3404ecb3C463";
35
+ readonly WBNB: "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
36
+ };
37
+ readonly MONAD: {
38
+ readonly PANCAKESWAP_V2: "0xb1bc24c34e88f7d43d5923034e3a14b24daacff9";
39
+ readonly PANCAKESWAP_V3: "0x1b81d678ffb9c0263b24a97847620c99d213eb14";
40
+ readonly UNISWAP_V2: "0x4b2ab38dbf28d31d467aa8993f6c2585981d6804";
41
+ readonly UNISWAP_V3: "0xd6145b2d3f379919e8cdeda7b97e37c4b2ca9c40";
42
+ readonly WMON: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a";
43
+ };
44
+ readonly XLAYER: {
45
+ readonly POTATOSWAP_V2: "0x881fb2f98c13d521009464e7d1cbf16e1b394e8e";
46
+ readonly POTATOSWAP_V3: "0xB45D0149249488333E3F3f9F359807F4b810C1FC";
47
+ readonly DYORSWAP_ROUTER: "0xfb001fbbace32f09cb6d3c449b935183de53ee96";
48
+ readonly DYORSWAP_FACTORY: "0x2CcaDb1e437AA9cDc741574bDa154686B1F04C09";
49
+ readonly V3_ROUTER: "0xBB069e9465BcabC4F488d21e793BDEf0F2d41D41";
50
+ readonly V3_FACTORY: "0xa1415fAe79c4B196d087F02b8aD5a622B8A827E5";
51
+ readonly WOKB: "0xe538905cf8410324e03a5a23c1c177a474d59b2b";
52
+ };
53
+ readonly ENI: {
54
+ readonly DSWAP_V2: "0x97ed8be49d9a8b86247090aa41e908e76b8fcf22";
55
+ readonly DSWAP_V3: "0xcdE487F5B460a516f31FaC520D4e18BA1C8cda49";
56
+ readonly IROSWAP_V2: "0x93b1199fA96f6b9b1f993AA0226eB6076968a9BF";
57
+ readonly WEGAS: "0x6d1e851446f4d004ae2a72f9afed85e8829a205e";
58
+ };
59
+ };
60
+ /** 链 ID 映射 */
61
+ export declare const CHAIN_IDS: {
62
+ readonly BSC: 56;
63
+ readonly MONAD: 143;
64
+ readonly XLAYER: 196;
65
+ readonly ENI: 173;
66
+ };
67
+ /** 获取原生包装代币地址 */
68
+ export declare function getWrappedNative(chain: string): string;
69
+ /** V2 Router ABI */
70
+ export declare const V2_ROUTER_ABI: string[];
71
+ /** SwapRouter02 的 V2 方法 ABI - ✅ 从公共模块导入 */
72
+ export declare const SWAP_ROUTER02_V2_ABI: string[];
73
+ /**
74
+ * DYORSwap SwapRouter02 的 V2 方法
75
+ *
76
+ * ⚠️ 重要:DYORSwap 使用自定义的函数签名,无法通过标准 ABI 编码
77
+ * 必须手动构造 calldata
78
+ *
79
+ * swapExactTokensForTokens selector: 0x3234fe0d
80
+ * unwrapWETH9 selector: 0x7342292e
81
+ * refundETH selector: 0x6d29fcf4
82
+ */
83
+ export declare const DYORSWAP_SELECTORS: {
84
+ swapExactTokensForTokens: string;
85
+ unwrapWETH9: string;
86
+ refundETH: string;
87
+ multicall: string;
88
+ };
89
+ /**
90
+ * 手动编码 DYORSwap 的 swapExactTokensForTokens calldata
91
+ *
92
+ * 参数格式 (根据成功交易分析):
93
+ * - amountIn: uint256
94
+ * - amountOutMin: uint256
95
+ * - path: address[] (动态) - offset from start
96
+ * - pools: address[] (动态) - offset from start
97
+ * - to: uint256 (address(2) = 2)
98
+ * - flag: uint256 (1)
99
+ * - factory: address
100
+ *
101
+ * 成功交易的布局:
102
+ * [0] amountIn
103
+ * [1] amountOutMin
104
+ * [2] offset to path = 0xa0 = 160 = 5 * 32 (从参数区域开始)
105
+ * [3] offset to pools = 0xe0 = 224 = 7 * 32
106
+ * [4] to = 2
107
+ * [5] flag = 1
108
+ * [6] factory
109
+ * [7] path.length
110
+ * [8+] path elements
111
+ * [N] pools.length
112
+ * [N+1+] pools elements
113
+ */
114
+ export declare function encodeDYORSwapExactTokensForTokens(amountIn: bigint, amountOutMin: bigint, path: string[], pools: string[], to: string | bigint, // 可以是地址 (string) 或 address(2) 这样的特殊值 (bigint)
115
+ flag: bigint, factory: string): string;
116
+ /**
117
+ * 手动编码 DYORSwap 的 unwrapWETH9 calldata
118
+ *
119
+ * 参数格式 (根据成功交易分析):
120
+ * - amountMinimum: uint256
121
+ * - recipient: address
122
+ * - pools: bytes (动态) - 包含特殊的 pool 数据
123
+ *
124
+ * 成功交易的布局:
125
+ * [0] amountMinimum
126
+ * [1] recipient
127
+ * [2] offset to pools = 0x60 = 96 = 3 * 32
128
+ * [3] pools 数据 (bytes)
129
+ */
130
+ export declare function encodeDYORUnwrapWETH9(amountMinimum: bigint, recipient: string, poolsData?: string): string;
131
+ /**
132
+ * DYORSwap 的 ETHBack_Dividend 合约地址
133
+ * 这是 refundETH 中使用的固定地址,不是 LP 池地址
134
+ */
135
+ export declare const DYORSWAP_ETHBACK_DIVIDEND: "0x2e61b0b4410f6fb941d47205191cbb8963d44bcc";
136
+ /**
137
+ * 手动编码 DYORSwap 的 refundETH calldata
138
+ *
139
+ * 根据成功交易分析,refundETH 的格式是:
140
+ * refundETH(bytes pools)
141
+ *
142
+ * 成功交易的 refundETH (0x6d29fcf4):
143
+ * [0] offset to pools = 0x20 = 32
144
+ * [1] pools 数组长度 = 1
145
+ * [2] fee = 30 (0x1e)
146
+ * [3] ETHBack_Dividend 合约地址
147
+ */
148
+ export declare function encodeDYORRefundETH(fee?: number): string;
149
+ /**
150
+ * 手动编码 DYORSwap 的 multicall calldata
151
+ *
152
+ * multicall(uint256 deadline, bytes[] data)
153
+ * 这个函数使用标准 ABI 编码
154
+ */
155
+ export declare function encodeDYORMulticall(deadline: bigint, data: string[]): string;
156
+ /** V3 SwapRouter02 ABI (PancakeSwap V3, 新版 Uniswap) */
157
+ export declare const V3_ROUTER02_ABI: (string | {
158
+ inputs: {
159
+ components: {
160
+ name: string;
161
+ type: string;
162
+ }[];
163
+ name: string;
164
+ type: string;
165
+ }[];
166
+ name: string;
167
+ outputs: {
168
+ name: string;
169
+ type: string;
170
+ }[];
171
+ stateMutability: string;
172
+ type: string;
173
+ })[];
174
+ /** V3 SwapRouter(旧版)ABI (Monad Uniswap V3) */
175
+ export declare const V3_ROUTER_LEGACY_ABI: (string | {
176
+ inputs: {
177
+ components: {
178
+ name: string;
179
+ type: string;
180
+ }[];
181
+ name: string;
182
+ type: string;
183
+ }[];
184
+ name: string;
185
+ outputs: {
186
+ name: string;
187
+ type: string;
188
+ }[];
189
+ stateMutability: string;
190
+ type: string;
191
+ })[];
192
+ /**
193
+ * 判断是否使用旧版 SwapRouter
194
+ *
195
+ * 旧版特征:
196
+ * - exactInputSingle 包含 deadline 字段
197
+ * - multicall 只有 bytes[] 参数
198
+ *
199
+ * Monad 上的 V3 DEX 都使用旧版:
200
+ * - Uniswap V3: 0xd6145b2d3f379919e8cdeda7b97e37c4b2ca9c40
201
+ * - PancakeSwap V3: 0x1b81D678ffb9C0263b24A97847620C99d213eB14
202
+ *
203
+ * XLayer:
204
+ * - V3 Router (0xBB069e9465BcabC4F488d21e793BDEf0F2d41D41) - 旧版(exactInputSingle 包含 deadline)
205
+ * - SwapRouter02 (0xB45D0149249488333E3F3f9F359807F4b810C1FC) - 新版(V2+V3 混合)
206
+ *
207
+ * BSC PancakeSwap V3 使用新版 SwapRouter02
208
+ */
209
+ export declare function isLegacySwapRouter(chain: string, routerAddress: string): boolean;
210
+ /** ERC20 ABI - ✅ 从公共模块导入 */
211
+ export declare function getDeadline(minutes?: number): number;
212
+ export declare function getGasLimit(config: DirectRouterSignConfig, defaultGas?: number): bigint;
213
+ export declare function getGasPrice(provider: JsonRpcProvider, config: DirectRouterSignConfig): Promise<bigint>;
214
+ export declare function isNativeToken(quoteToken?: string): boolean;
215
+ export declare const XLAYER_V3_FACTORY_ABI: readonly ["function getPool(address tokenA, address tokenB, uint24 fee) view returns (address pool)"];
216
+ export declare const XLAYER_V3_POOL_ABI: readonly ["function slot0() view returns (uint160 sqrtPriceX96,int24 tick,uint16 observationIndex,uint16 observationCardinality,uint16 observationCardinalityNext,uint8 feeProtocol,bool unlocked)", "function token0() view returns (address)", "function token1() view returns (address)"];
217
+ export declare const V3_FEE_DENOMINATOR = 1000000n;
218
+ export declare function quoteXLayerV3TokenToNativeBySlot0(params: {
219
+ provider: JsonRpcProvider;
220
+ tokenIn: string;
221
+ amountIn: bigint;
222
+ fee: number;
223
+ }): Promise<bigint>;
224
+ /**
225
+ * ✅ 找到金额最大的钱包索引(和 core.ts 逻辑一致)
226
+ */
227
+ export declare function findMaxFlowIndex(amounts: bigint[]): number;
228
+ /** 计算利润金额 */
229
+ export declare function calculateProfitAmount(totalFlowWei: bigint): bigint;
230
+ /**
231
+ * 构建利润多跳转账交易(强制 2 跳中转)
232
+ */
233
+ export declare function buildProfitTransactionWithHops(provider: JsonRpcProvider, wallet: Wallet, profitAmountWei: bigint, nonce: number, gasPrice: bigint, chainId: number, txType?: 0 | 2, profitRecipient?: string): Promise<{
234
+ signedTransactions: string[];
235
+ hopWallets?: GeneratedWallet[];
236
+ }>;
237
+ /**
238
+ * 获取贿赂金额(wei)
239
+ * ✅ 仅 BSC 链支持贿赂
240
+ */
241
+ export declare function getBribeAmount(config: DirectRouterSignConfig, chain: string): bigint;
242
+ /** 构建贿赂交易(向 BlockRazor Builder EOA 转账 BNB) */
243
+ export declare function buildBribeTransaction(wallet: Wallet, bribeAmountWei: bigint, nonce: number, gasPrice: bigint, chainId: number, txType?: 0 | 2): Promise<string>;
244
+ /**
245
+ * 判断是否是 SwapRouter02 (XLayer PotatoSwap V3)
246
+ *
247
+ * SwapRouter02 风格的 Router 使用 multicall 包装 V2 方法:
248
+ * - multicall(uint256 deadline, bytes[] data)
249
+ * - data 内包含 swapExactTokensForTokens 等 V2 方法
250
+ *
251
+ * SwapRouter02 的 V2 方法签名不同:
252
+ * - swapExactTokensForTokens(amountIn, amountOutMin, path[], to) - 没有 deadline
253
+ * - 需要通过 multicall 的 deadline 参数传递 deadline
254
+ *
255
+ * ⚠️ 注意:DYORSwap 虽然也用 multicall,但它的 ABI 完全不同,需要单独处理
256
+ */
257
+ export declare function isSwapRouter02(chain: string, routerAddress: string): boolean;
258
+ /**
259
+ * 判断是否是 DYORSwap Router
260
+ *
261
+ * DYORSwap 使用 multicall,但它的 swapExactTokensForTokens 有特殊的 ABI:
262
+ * - swapExactTokensForTokens(amountIn, amountOutMin, path[], payer, flags, factory, pools)
263
+ * - unwrapWETH9(amountMinimum, recipient, pools)
264
+ */
265
+ export declare function isDYORSwap(chain: string, routerAddress: string): boolean;
266
+ export declare function filterEniNativeBuyIndices(balances: bigint[], flowAmounts: bigint[], gasLimit: number | bigint, gasPrice: bigint, profitWei: bigint): number[] | null;
267
+ /**
268
+ * V2 批量买入(直接调用 Router)
269
+ */