four-flap-meme-sdk 2.2.18 → 2.2.20

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 (492) hide show
  1. package/dist/__tests__/subpath-exports.test.d.ts +1 -0
  2. package/dist/__tests__/subpath-exports.test.js +64 -0
  3. package/dist/abis/common.d.ts +85 -0
  4. package/dist/abis/common.js +240 -0
  5. package/dist/abis/contracts/TaxToken.json +969 -0
  6. package/dist/abis/contracts/TokenManager.json +836 -0
  7. package/dist/abis/contracts/TokenManager2.json +136 -0
  8. package/dist/abis/contracts/TokenManagerHelper3.json +993 -0
  9. package/dist/abis/contracts/index.d.ts +5 -0
  10. package/dist/abis/contracts/index.js +5 -0
  11. package/dist/abis/flap/index.d.ts +5 -0
  12. package/dist/abis/flap/index.js +5 -0
  13. package/dist/abis/flap/portal-eip7702.d.ts +4 -0
  14. package/dist/abis/flap/portal-eip7702.js +39 -0
  15. package/dist/abis/flap/portal-events.d.ts +6 -0
  16. package/dist/abis/flap/portal-events.js +17 -0
  17. package/dist/abis/flap/portal-merkle.d.ts +4 -0
  18. package/dist/abis/flap/portal-merkle.js +25 -0
  19. package/dist/abis/flap/portal.d.ts +6 -0
  20. package/dist/abis/flap/portal.js +37 -0
  21. package/dist/abis/flap/vault.d.ts +171 -0
  22. package/dist/abis/flap/vault.js +91 -0
  23. package/dist/abis/index.d.ts +8 -0
  24. package/dist/abis/index.js +11 -0
  25. package/dist/bundle-core/__tests__/config-helpers.test.d.ts +1 -0
  26. package/dist/bundle-core/__tests__/config-helpers.test.js +28 -0
  27. package/dist/bundle-core/__tests__/facade-parity.test.d.ts +1 -0
  28. package/dist/bundle-core/__tests__/facade-parity.test.js +33 -0
  29. package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +1 -0
  30. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +60 -0
  31. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +1 -0
  32. package/dist/bundle-core/__tests__/sign-fixture.test.js +220 -0
  33. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +10 -0
  34. package/dist/bundle-core/__tests__/sign-fixtures.js +16 -0
  35. package/dist/bundle-core/config-helpers.d.ts +37 -0
  36. package/dist/bundle-core/config-helpers.js +58 -0
  37. package/dist/bundle-core/errors.d.ts +50 -0
  38. package/dist/bundle-core/errors.js +38 -0
  39. package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +7 -0
  40. package/dist/bundle-core/four-meme/approve-tokenmanager.js +99 -0
  41. package/dist/bundle-core/four-meme/core-helpers.d.ts +8 -0
  42. package/dist/bundle-core/four-meme/core-helpers.js +41 -0
  43. package/dist/bundle-core/four-meme/core.d.ts +4 -0
  44. package/dist/bundle-core/four-meme/core.js +515 -0
  45. package/dist/bundle-core/four-meme/pancake-proxy.d.ts +28 -0
  46. package/dist/bundle-core/four-meme/pancake-proxy.js +679 -0
  47. package/dist/bundle-core/four-meme/private.d.ts +27 -0
  48. package/dist/bundle-core/four-meme/private.js +465 -0
  49. package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +2 -0
  50. package/dist/bundle-core/four-meme/sign-context-helpers.js +2 -0
  51. package/dist/bundle-core/four-meme/swap-buy-first.d.ts +8 -0
  52. package/dist/bundle-core/four-meme/swap-buy-first.js +456 -0
  53. package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +6 -0
  54. package/dist/bundle-core/four-meme/swap-hop-helpers.js +63 -0
  55. package/dist/bundle-core/four-meme/swap-internal.d.ts +3 -0
  56. package/dist/bundle-core/four-meme/swap-internal.js +18 -0
  57. package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +28 -0
  58. package/dist/bundle-core/four-meme/swap-sign-helpers.js +105 -0
  59. package/dist/bundle-core/four-meme/swap.d.ts +17 -0
  60. package/dist/bundle-core/four-meme/swap.js +505 -0
  61. package/dist/bundle-core/four-meme/types/buy-first.d.ts +50 -0
  62. package/dist/bundle-core/four-meme/types/buy-first.js +1 -0
  63. package/dist/bundle-core/four-meme/types/core-flow.d.ts +63 -0
  64. package/dist/bundle-core/four-meme/types/core-flow.js +1 -0
  65. package/dist/bundle-core/four-meme/types/index.d.ts +600 -0
  66. package/dist/bundle-core/four-meme/types/index.js +1 -0
  67. package/dist/bundle-core/four-meme/types/swap-internal.d.ts +19 -0
  68. package/dist/bundle-core/four-meme/types/swap-internal.js +1 -0
  69. package/dist/bundle-core/four-meme/types.d.ts +1 -0
  70. package/dist/bundle-core/four-meme/types.js +1 -0
  71. package/dist/bundle-core/four-meme/utils-disperse.d.ts +7 -0
  72. package/dist/bundle-core/four-meme/utils-disperse.js +396 -0
  73. package/dist/bundle-core/four-meme/utils-pairwise.d.ts +8 -0
  74. package/dist/bundle-core/four-meme/utils-pairwise.js +328 -0
  75. package/dist/bundle-core/four-meme/utils-sweep.d.ts +8 -0
  76. package/dist/bundle-core/four-meme/utils-sweep.js +744 -0
  77. package/dist/bundle-core/index.d.ts +8 -0
  78. package/dist/bundle-core/index.js +8 -0
  79. package/dist/bundle-core/internal.d.ts +16 -0
  80. package/dist/bundle-core/internal.js +160 -0
  81. package/dist/bundle-core/sign-context-helpers.d.ts +26 -0
  82. package/dist/bundle-core/sign-context-helpers.js +63 -0
  83. package/dist/bundle-core/submit.d.ts +293 -0
  84. package/dist/bundle-core/submit.js +731 -0
  85. package/dist/bundle-core/types/index.d.ts +8 -0
  86. package/dist/bundle-core/types/index.js +1 -0
  87. package/dist/bundle-core/types.d.ts +1 -0
  88. package/dist/bundle-core/types.js +1 -0
  89. package/dist/chains/bsc/four/approve-tokenmanager.d.ts +1 -26
  90. package/dist/chains/bsc/four/approve-tokenmanager.js +1 -113
  91. package/dist/chains/bsc/four/config.d.ts +5 -67
  92. package/dist/chains/bsc/four/config.js +2 -114
  93. package/dist/chains/bsc/four/core.d.ts +1 -4
  94. package/dist/chains/bsc/four/core.js +1 -592
  95. package/dist/chains/bsc/four/index.d.ts +6 -6
  96. package/dist/chains/bsc/four/index.js +6 -6
  97. package/dist/chains/bsc/four/internal.d.ts +2 -46
  98. package/dist/chains/bsc/four/internal.js +2 -239
  99. package/dist/chains/bsc/four/pancake-proxy.d.ts +1 -28
  100. package/dist/chains/bsc/four/pancake-proxy.js +1 -687
  101. package/dist/chains/bsc/four/private.d.ts +1 -27
  102. package/dist/chains/bsc/four/private.js +1 -477
  103. package/dist/chains/bsc/four/submit.d.ts +2 -315
  104. package/dist/chains/bsc/four/submit.js +2 -752
  105. package/dist/chains/bsc/four/swap-buy-first.d.ts +2 -55
  106. package/dist/chains/bsc/four/swap-buy-first.js +2 -507
  107. package/dist/chains/bsc/four/swap-internal.d.ts +1 -3
  108. package/dist/chains/bsc/four/swap-internal.js +1 -18
  109. package/dist/chains/bsc/four/swap.d.ts +2 -144
  110. package/dist/chains/bsc/four/swap.js +2 -766
  111. package/dist/chains/bsc/four/types.d.ts +1 -476
  112. package/dist/chains/bsc/four/utils-disperse.d.ts +1 -0
  113. package/dist/chains/bsc/four/utils-disperse.js +1 -0
  114. package/dist/chains/bsc/four/utils-pairwise.d.ts +1 -0
  115. package/dist/chains/bsc/four/utils-pairwise.js +1 -0
  116. package/dist/chains/bsc/four/utils-sweep.d.ts +1 -0
  117. package/dist/chains/bsc/four/utils-sweep.js +1 -0
  118. package/dist/chains/bsc/four/utils.d.ts +5 -18
  119. package/dist/chains/bsc/four/utils.js +5 -1552
  120. package/dist/chains/bsc/iro.d.ts +5 -0
  121. package/dist/chains/bsc/iro.js +4 -0
  122. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +155 -0
  123. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +80 -0
  124. package/dist/chains/bsc/pancake/bundle-buy-first.d.ts +1 -91
  125. package/dist/chains/bsc/pancake/bundle-buy-first.js +98 -213
  126. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +241 -0
  127. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +565 -0
  128. package/dist/chains/bsc/pancake/bundle-swap.d.ts +1 -79
  129. package/dist/chains/bsc/pancake/bundle-swap.js +114 -726
  130. package/dist/chains/bsc/pancake/index.d.ts +4 -2
  131. package/dist/chains/bsc/pancake/index.js +1 -3
  132. package/dist/chains/bsc/platforms/iro/factory.d.ts +2 -2
  133. package/dist/chains/bsc/platforms/iro/factory.js +3 -1
  134. package/dist/chains/bsc/platforms/iro/index.d.ts +5 -5
  135. package/dist/chains/bsc/platforms/iro/index.js +3 -3
  136. package/dist/chains/bsc/platforms/iro/pool.js +31 -10
  137. package/dist/chains/bsc/platforms/iro/token.js +4 -1
  138. package/dist/chains/eni/batch-router/bundle-approve.js +4 -3
  139. package/dist/chains/eni/batch-router/transfer.js +55 -25
  140. package/dist/chains/eni/batch-router/utils.js +32 -6
  141. package/dist/chains/eni/bundler/sign.js +5 -6
  142. package/dist/chains/eni/bundler/submit.js +1 -4
  143. package/dist/chains/eni/constants.js +1 -1
  144. package/dist/chains/eni/flat-aliases.d.ts +10 -0
  145. package/dist/chains/eni/flat-aliases.js +8 -0
  146. package/dist/chains/eni/index.d.ts +2 -1
  147. package/dist/chains/eni/index.js +1 -0
  148. package/dist/chains/eni/platforms/daoaas/create.js +2 -2
  149. package/dist/chains/eni/platforms/daoaas/index.d.ts +3 -3
  150. package/dist/chains/eni/platforms/daoaas/index.js +3 -3
  151. package/dist/chains/eni/platforms/daoaas/meta.js +9 -6
  152. package/dist/chains/eni/platforms/daoaas/portal-direct.js +28 -44
  153. package/dist/chains/eni/platforms/daoaas/portal.js +10 -6
  154. package/dist/chains/eni/platforms/dswap/liquidity.js +58 -26
  155. package/dist/chains/eni/platforms/fair-launch/index.d.ts +2 -2
  156. package/dist/chains/eni/platforms/fair-launch/index.js +1 -1
  157. package/dist/chains/eni/platforms/fair-launch/launcher.js +87 -46
  158. package/dist/chains/eni/platforms/fair-launch/pool.js +4 -1
  159. package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
  160. package/dist/chains/eni/platforms/iro/factory.d.ts +2 -2
  161. package/dist/chains/eni/platforms/iro/factory.js +3 -1
  162. package/dist/chains/eni/platforms/iro/index.d.ts +6 -6
  163. package/dist/chains/eni/platforms/iro/index.js +4 -4
  164. package/dist/chains/eni/platforms/iro/pool.js +90 -26
  165. package/dist/chains/eni/platforms/iro/token.js +107 -31
  166. package/dist/chains/eni/platforms/iro/whitelist.js +6 -18
  167. package/dist/chains/eni/submit.d.ts +43 -0
  168. package/dist/chains/eni/submit.js +287 -0
  169. package/dist/chains/index.d.ts +13 -0
  170. package/dist/chains/index.js +13 -0
  171. package/dist/chains/xlayer/constants.d.ts +5 -0
  172. package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +2 -26
  173. package/dist/chains/xlayer/eip7702/bundle-approve.js +11 -21
  174. package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +2 -6
  175. package/dist/chains/xlayer/eip7702/bundle-buy.js +13 -51
  176. package/dist/chains/xlayer/eip7702/bundle-create.js +104 -74
  177. package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +2 -6
  178. package/dist/chains/xlayer/eip7702/bundle-sell.js +29 -111
  179. package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +3 -65
  180. package/dist/chains/xlayer/eip7702/bundle-swap.js +51 -245
  181. package/dist/chains/xlayer/eip7702/constants.d.ts +11 -26
  182. package/dist/chains/xlayer/eip7702/constants.js +15 -68
  183. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +13 -0
  184. package/dist/chains/xlayer/eip7702/flat-aliases.js +10 -0
  185. package/dist/chains/xlayer/eip7702/index.d.ts +28 -46
  186. package/dist/chains/xlayer/eip7702/index.js +28 -81
  187. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +79 -0
  188. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +1 -0
  189. package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +2 -203
  190. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +63 -307
  191. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +26 -0
  192. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +58 -0
  193. package/dist/chains/xlayer/eip7702/types.d.ts +88 -0
  194. package/dist/chains/xlayer/eip7702/utils.d.ts +0 -3
  195. package/dist/chains/xlayer/eip7702/utils.js +23 -28
  196. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +148 -0
  197. package/dist/chains/xlayer/eip7702/volume-helpers.js +48 -0
  198. package/dist/chains/xlayer/eip7702/volume.d.ts +6 -184
  199. package/dist/chains/xlayer/eip7702/volume.js +89 -164
  200. package/dist/chains/xlayer/eoa/constants.d.ts +1 -1
  201. package/dist/chains/xlayer/eoa/constants.js +2 -16
  202. package/dist/chains/xlayer/eoa/dex-helpers.d.ts +1 -1
  203. package/dist/chains/xlayer/eoa/dex-helpers.js +7 -37
  204. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +126 -0
  205. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +228 -0
  206. package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +1 -95
  207. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +66 -299
  208. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
  209. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +18 -23
  210. package/dist/chains/xlayer/eoa/index.d.ts +10 -6
  211. package/dist/chains/xlayer/eoa/index.js +8 -23
  212. package/dist/chains/xlayer/eoa/portal-ops.js +7 -2
  213. package/dist/chains/xlayer/eoa/router-manager.js +5 -4
  214. package/dist/chains/xlayer/eoa/types.d.ts +2 -2
  215. package/dist/chains/xlayer/eoa/types.js +1 -3
  216. package/dist/chains/xlayer/index.d.ts +3 -2
  217. package/dist/chains/xlayer/index.js +4 -7
  218. package/dist/contracts/helper3.d.ts +20 -5
  219. package/dist/contracts/helper3.js +56 -20
  220. package/dist/contracts/tm-bundle-helpers.d.ts +88 -0
  221. package/dist/contracts/tm-bundle-helpers.js +73 -0
  222. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +1 -26
  223. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +1 -113
  224. package/dist/contracts/tm-bundle-merkle/config.d.ts +5 -67
  225. package/dist/contracts/tm-bundle-merkle/config.js +2 -114
  226. package/dist/contracts/tm-bundle-merkle/core.d.ts +1 -4
  227. package/dist/contracts/tm-bundle-merkle/core.js +1 -591
  228. package/dist/contracts/tm-bundle-merkle/index.d.ts +5 -5
  229. package/dist/contracts/tm-bundle-merkle/index.js +5 -5
  230. package/dist/contracts/tm-bundle-merkle/internal.d.ts +2 -46
  231. package/dist/contracts/tm-bundle-merkle/internal.js +2 -238
  232. package/dist/contracts/tm-bundle-merkle/pancake-proxy.d.ts +1 -28
  233. package/dist/contracts/tm-bundle-merkle/pancake-proxy.js +1 -686
  234. package/dist/contracts/tm-bundle-merkle/private.d.ts +1 -27
  235. package/dist/contracts/tm-bundle-merkle/private.js +1 -476
  236. package/dist/contracts/tm-bundle-merkle/submit.d.ts +3 -314
  237. package/dist/contracts/tm-bundle-merkle/submit.js +3 -928
  238. package/dist/contracts/tm-bundle-merkle/swap-buy-first.d.ts +2 -55
  239. package/dist/contracts/tm-bundle-merkle/swap-buy-first.js +2 -506
  240. package/dist/contracts/tm-bundle-merkle/swap-internal.d.ts +1 -3
  241. package/dist/contracts/tm-bundle-merkle/swap-internal.js +1 -18
  242. package/dist/contracts/tm-bundle-merkle/swap.d.ts +2 -144
  243. package/dist/contracts/tm-bundle-merkle/swap.js +2 -764
  244. package/dist/contracts/tm-bundle-merkle/types.d.ts +1 -476
  245. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +1 -0
  246. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +1 -0
  247. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +1 -0
  248. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +1 -0
  249. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +1 -0
  250. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +1 -0
  251. package/dist/contracts/tm-bundle-merkle/utils.d.ts +6 -18
  252. package/dist/contracts/tm-bundle-merkle/utils.js +6 -1501
  253. package/dist/contracts/tm-bundle.d.ts +3 -51
  254. package/dist/contracts/tm-bundle.js +120 -187
  255. package/dist/contracts/tm.d.ts +10 -8
  256. package/dist/contracts/tm.js +39 -35
  257. package/dist/contracts/tm1.js +9 -4
  258. package/dist/contracts/tm2.js +10 -5
  259. package/dist/dex/direct-router-helpers.d.ts +269 -0
  260. package/dist/dex/direct-router-helpers.js +536 -0
  261. package/dist/dex/direct-router.d.ts +3 -125
  262. package/dist/dex/direct-router.js +244 -672
  263. package/dist/dex/types.d.ts +81 -0
  264. package/dist/dex/types.js +1 -0
  265. package/dist/exports/root-bundle-and-tooling.d.ts +27 -0
  266. package/dist/exports/root-bundle-and-tooling.js +30 -0
  267. package/dist/exports/root-eni-and-bsc-iro.d.ts +26 -0
  268. package/dist/exports/root-eni-and-bsc-iro.js +66 -0
  269. package/dist/exports/root-foundations.d.ts +35 -0
  270. package/dist/exports/root-foundations.js +70 -0
  271. package/dist/exports/root-swap-dex-and-xlayer.d.ts +30 -0
  272. package/dist/exports/root-swap-dex-and-xlayer.js +78 -0
  273. package/dist/flap/index.d.ts +11 -0
  274. package/dist/flap/index.js +9 -0
  275. package/dist/flows/create.d.ts +2 -1
  276. package/dist/flows/create.js +6 -6
  277. package/dist/flows/index.d.ts +9 -0
  278. package/dist/flows/index.js +9 -0
  279. package/dist/index.d.ts +20 -88
  280. package/dist/index.js +20 -218
  281. package/dist/merkle/index.d.ts +12 -0
  282. package/dist/merkle/index.js +11 -0
  283. package/dist/shared/abis/common.d.ts +2 -83
  284. package/dist/shared/abis/common.js +2 -254
  285. package/dist/shared/abis/index.d.ts +5 -6
  286. package/dist/shared/abis/index.js +5 -7
  287. package/dist/shared/clients/blockrazor.d.ts +4 -8
  288. package/dist/shared/clients/blockrazor.js +43 -35
  289. package/dist/shared/clients/club48.d.ts +2 -2
  290. package/dist/shared/clients/club48.js +36 -30
  291. package/dist/shared/clients/emitservice.js +2 -0
  292. package/dist/shared/clients/four.d.ts +21 -6
  293. package/dist/shared/clients/four.js +29 -24
  294. package/dist/shared/clients/index.d.ts +8 -0
  295. package/dist/shared/clients/index.js +8 -0
  296. package/dist/shared/clients/merkle.d.ts +4 -3
  297. package/dist/shared/clients/merkle.js +30 -47
  298. package/dist/shared/constants/addresses.d.ts +27 -1
  299. package/dist/shared/constants/addresses.js +39 -2
  300. package/dist/shared/constants/chains.d.ts +1 -1
  301. package/dist/shared/constants/chains.js +1 -1
  302. package/dist/shared/constants/gas.d.ts +1 -1
  303. package/dist/shared/constants/gas.js +2 -6
  304. package/dist/shared/constants/index.d.ts +4 -1
  305. package/dist/shared/constants/index.js +2 -1
  306. package/dist/shared/constants/quote.d.ts +30 -0
  307. package/dist/shared/constants/quote.js +37 -0
  308. package/dist/shared/flap/abi.js +1 -1
  309. package/dist/shared/flap/constants.d.ts +1 -2
  310. package/dist/shared/flap/constants.js +3 -4
  311. package/dist/shared/flap/curve.js +3 -0
  312. package/dist/shared/flap/errors.d.ts +1 -4
  313. package/dist/shared/flap/errors.js +20 -1
  314. package/dist/shared/flap/index.d.ts +4 -5
  315. package/dist/shared/flap/index.js +4 -5
  316. package/dist/shared/flap/launch-v6.d.ts +0 -5
  317. package/dist/shared/flap/launch-v6.js +2 -16
  318. package/dist/shared/flap/meta.d.ts +22 -18
  319. package/dist/shared/flap/meta.js +32 -24
  320. package/dist/shared/flap/permit.js +10 -3
  321. package/dist/shared/flap/pinata.d.ts +22 -6
  322. package/dist/shared/flap/pinata.js +21 -26
  323. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +3 -72
  324. package/dist/shared/flap/portal-bundle-merkle/config.js +4 -124
  325. package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +32 -0
  326. package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +83 -0
  327. package/dist/shared/flap/portal-bundle-merkle/core.d.ts +0 -4
  328. package/dist/shared/flap/portal-bundle-merkle/core.js +168 -175
  329. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.d.ts +17 -4
  330. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +96 -117
  331. package/dist/shared/flap/portal-bundle-merkle/curve-to-dex.js +104 -122
  332. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +11 -7
  333. package/dist/shared/flap/portal-bundle-merkle/index.js +4 -7
  334. package/dist/shared/flap/portal-bundle-merkle/pancake-proxy.js +71 -68
  335. package/dist/shared/flap/portal-bundle-merkle/private.js +61 -114
  336. package/dist/shared/flap/portal-bundle-merkle/swap-batch.d.ts +8 -0
  337. package/dist/shared/flap/portal-bundle-merkle/swap-batch.js +227 -0
  338. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +125 -0
  339. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +113 -0
  340. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +1 -64
  341. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.js +69 -288
  342. package/dist/shared/flap/portal-bundle-merkle/swap-cross.d.ts +9 -0
  343. package/dist/shared/flap/portal-bundle-merkle/swap-cross.js +139 -0
  344. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +149 -0
  345. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +259 -0
  346. package/dist/shared/flap/portal-bundle-merkle/swap-planning.d.ts +70 -0
  347. package/dist/shared/flap/portal-bundle-merkle/swap-planning.js +182 -0
  348. package/dist/shared/flap/portal-bundle-merkle/swap-quick-batch.d.ts +16 -0
  349. package/dist/shared/flap/portal-bundle-merkle/swap-quick-batch.js +327 -0
  350. package/dist/shared/flap/portal-bundle-merkle/swap-single.d.ts +2 -0
  351. package/dist/shared/flap/portal-bundle-merkle/swap-single.js +184 -0
  352. package/dist/shared/flap/portal-bundle-merkle/swap-types.d.ts +101 -0
  353. package/dist/shared/flap/portal-bundle-merkle/swap-types.js +1 -0
  354. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +6 -199
  355. package/dist/shared/flap/portal-bundle-merkle/swap.js +5 -1357
  356. package/dist/shared/flap/portal-bundle-merkle/types.d.ts +88 -12
  357. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +1 -80
  358. package/dist/shared/flap/portal-bundle-merkle/utils.js +145 -265
  359. package/dist/shared/flap/portal-bundle.js +83 -78
  360. package/dist/shared/flap/portal-create-token.d.ts +39 -21
  361. package/dist/shared/flap/portal-create-token.js +121 -124
  362. package/dist/shared/flap/portal.d.ts +1 -2
  363. package/dist/shared/flap/portal.js +36 -28
  364. package/dist/shared/flap/vanity.d.ts +6 -6
  365. package/dist/shared/flap/vanity.js +15 -21
  366. package/dist/shared/flap/vault.d.ts +25 -93
  367. package/dist/shared/flap/vault.js +77 -127
  368. package/dist/shared/foundation/amount/split-by-weight.d.ts +5 -0
  369. package/dist/shared/foundation/amount/split-by-weight.js +35 -0
  370. package/dist/shared/foundation/dex/v3-path.d.ts +6 -0
  371. package/dist/shared/foundation/dex/v3-path.js +35 -0
  372. package/dist/shared/foundation/erc20/decimals.d.ts +7 -0
  373. package/dist/shared/foundation/erc20/decimals.js +24 -0
  374. package/dist/shared/foundation/gas/bundle-gas.d.ts +49 -0
  375. package/dist/shared/foundation/gas/bundle-gas.js +93 -0
  376. package/dist/shared/foundation/gas/profit-hop.d.ts +20 -0
  377. package/dist/shared/foundation/gas/profit-hop.js +72 -0
  378. package/dist/shared/foundation/index.d.ts +15 -0
  379. package/dist/shared/foundation/index.js +14 -0
  380. package/dist/shared/foundation/nonce/nonce-manager.d.ts +19 -0
  381. package/dist/shared/foundation/nonce/nonce-manager.js +217 -0
  382. package/dist/shared/foundation/normalize-unknown.d.ts +9 -0
  383. package/dist/shared/foundation/normalize-unknown.js +29 -0
  384. package/dist/shared/foundation/sdk-logger.d.ts +13 -0
  385. package/dist/shared/foundation/sdk-logger.js +12 -0
  386. package/dist/shared/foundation/tx/build-request.d.ts +17 -0
  387. package/dist/shared/foundation/tx/build-request.js +25 -0
  388. package/dist/shared/foundation/tx/sign-batch.d.ts +5 -0
  389. package/dist/shared/foundation/tx/sign-batch.js +26 -0
  390. package/dist/shared/foundation/tx/wallet-sign-patch.d.ts +1 -0
  391. package/dist/shared/foundation/tx/wallet-sign-patch.js +18 -0
  392. package/dist/shared/foundation/types/airdrop-sweep.d.ts +79 -0
  393. package/dist/shared/foundation/types/airdrop-sweep.js +1 -0
  394. package/dist/shared/foundation/types/erc20.d.ts +65 -0
  395. package/dist/shared/foundation/types/erc20.js +1 -0
  396. package/dist/shared/foundation/types/holders-maker.d.ts +64 -0
  397. package/dist/shared/foundation/types/holders-maker.js +1 -0
  398. package/dist/shared/foundation/types/index.d.ts +7 -0
  399. package/dist/shared/foundation/types/index.js +1 -0
  400. package/dist/shared/foundation/types/lp-inspect.d.ts +102 -0
  401. package/dist/shared/foundation/types/lp-inspect.js +1 -0
  402. package/dist/shared/foundation/types/multicall.d.ts +5 -0
  403. package/dist/shared/foundation/types/multicall.js +1 -0
  404. package/dist/shared/foundation/types/private-sale.d.ts +35 -0
  405. package/dist/shared/foundation/types/private-sale.js +1 -0
  406. package/dist/shared/foundation/types/quote-helpers.d.ts +17 -0
  407. package/dist/shared/foundation/types/quote-helpers.js +1 -0
  408. package/dist/shared/foundation/wallet/generate.d.ts +5 -0
  409. package/dist/shared/foundation/wallet/generate.js +8 -0
  410. package/dist/shared/four/tax-token.d.ts +1 -1
  411. package/dist/shared/four/tax-token.js +31 -10
  412. package/dist/shared/index.d.ts +6 -0
  413. package/dist/shared/index.js +4 -0
  414. package/dist/types/errors.d.ts +27 -0
  415. package/dist/types/errors.js +34 -0
  416. package/dist/utils/airdrop-sweep.d.ts +4 -76
  417. package/dist/utils/airdrop-sweep.js +42 -55
  418. package/dist/utils/bundle-helpers.d.ts +9 -243
  419. package/dist/utils/bundle-helpers.js +10 -584
  420. package/dist/utils/constants.d.ts +5 -61
  421. package/dist/utils/constants.js +5 -80
  422. package/dist/utils/contract-factory.d.ts +2 -4
  423. package/dist/utils/contract-factory.js +25 -18
  424. package/dist/utils/erc20.d.ts +7 -89
  425. package/dist/utils/erc20.js +98 -129
  426. package/dist/utils/errors.d.ts +12 -1
  427. package/dist/utils/errors.js +60 -1
  428. package/dist/utils/holders-maker/addresses.d.ts +12 -0
  429. package/dist/utils/holders-maker/addresses.js +15 -0
  430. package/dist/utils/holders-maker/buy-tx.d.ts +44 -0
  431. package/dist/utils/holders-maker/buy-tx.js +278 -0
  432. package/dist/utils/holders-maker/constants.d.ts +6 -0
  433. package/dist/utils/holders-maker/constants.js +7 -0
  434. package/dist/utils/holders-maker/disperse.d.ts +18 -0
  435. package/dist/utils/holders-maker/disperse.js +90 -0
  436. package/dist/utils/holders-maker/routing.d.ts +4 -0
  437. package/dist/utils/holders-maker/routing.js +45 -0
  438. package/dist/utils/holders-maker/transfer-tx.d.ts +4 -0
  439. package/dist/utils/holders-maker/transfer-tx.js +67 -0
  440. package/dist/utils/holders-maker-helpers.d.ts +9 -0
  441. package/dist/utils/holders-maker-helpers.js +9 -0
  442. package/dist/utils/holders-maker.d.ts +2 -138
  443. package/dist/utils/holders-maker.js +50 -671
  444. package/dist/utils/hop-chains.d.ts +35 -0
  445. package/dist/utils/hop-chains.js +215 -0
  446. package/dist/utils/lp-inspect-helpers.d.ts +9 -0
  447. package/dist/utils/lp-inspect-helpers.js +109 -0
  448. package/dist/utils/lp-inspect.d.ts +2 -112
  449. package/dist/utils/lp-inspect.js +78 -293
  450. package/dist/utils/mpcExclusive.d.ts +2 -5
  451. package/dist/utils/mpcExclusive.js +4 -3
  452. package/dist/utils/private-sale.d.ts +2 -58
  453. package/dist/utils/private-sale.js +4 -15
  454. package/dist/utils/provider-factory.d.ts +4 -0
  455. package/dist/utils/provider-factory.js +10 -0
  456. package/dist/utils/quote-helpers.d.ts +4 -45
  457. package/dist/utils/quote-helpers.js +17 -74
  458. package/dist/utils/stealth-transfer.d.ts +2 -28
  459. package/dist/utils/stealth-transfer.js +39 -19
  460. package/dist/utils/swap-helpers.d.ts +2 -15
  461. package/dist/utils/swap-helpers.js +6 -11
  462. package/dist/utils/types/airdrop-sweep.d.ts +1 -0
  463. package/dist/utils/types/airdrop-sweep.js +1 -0
  464. package/dist/utils/types/contract-factory.d.ts +1 -0
  465. package/dist/utils/types/contract-factory.js +1 -0
  466. package/dist/utils/types/erc20.d.ts +1 -0
  467. package/dist/utils/types/erc20.js +1 -0
  468. package/dist/utils/types/errors.d.ts +1 -0
  469. package/dist/utils/types/errors.js +1 -0
  470. package/dist/utils/types/holders-maker.d.ts +1 -0
  471. package/dist/utils/types/holders-maker.js +1 -0
  472. package/dist/utils/types/hop-chains.d.ts +8 -0
  473. package/dist/utils/types/hop-chains.js +1 -0
  474. package/dist/utils/types/index.d.ts +13 -0
  475. package/dist/utils/types/index.js +1 -0
  476. package/dist/utils/types/lp-inspect.d.ts +1 -0
  477. package/dist/utils/types/lp-inspect.js +1 -0
  478. package/dist/utils/types/mpc-exclusive.d.ts +5 -0
  479. package/dist/utils/types/mpc-exclusive.js +1 -0
  480. package/dist/utils/types/private-sale.d.ts +1 -0
  481. package/dist/utils/types/private-sale.js +1 -0
  482. package/dist/utils/types/quote-helpers.d.ts +1 -0
  483. package/dist/utils/types/quote-helpers.js +1 -0
  484. package/dist/utils/types/stealth-transfer.d.ts +44 -0
  485. package/dist/utils/types/stealth-transfer.js +1 -0
  486. package/dist/utils/types/wallet.d.ts +25 -0
  487. package/dist/utils/types/wallet.js +1 -0
  488. package/dist/utils/wallet.d.ts +4 -25
  489. package/dist/utils/wallet.js +27 -22
  490. package/dist/vanity/index.d.ts +5 -0
  491. package/dist/vanity/index.js +5 -0
  492. package/package.json +100 -2
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,64 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ describe('subpath exports (package.json exports map)', () => {
3
+ it('chains subpath exposes chains namespace', async () => {
4
+ const mod = await import('../chains/index.js');
5
+ expect(mod.chains).toBeDefined();
6
+ expect(mod.chains.bsc).toBeDefined();
7
+ expect(mod.chains.xlayer).toBeDefined();
8
+ expect(mod.chains.eni).toBeDefined();
9
+ expect(mod.bsc).toBe(mod.chains.bsc);
10
+ });
11
+ it('flap subpath exposes Merkle swap entrypoints', async () => {
12
+ const mod = await import('../flap/index.js');
13
+ expect(typeof mod.flapBundleSwapMerkle).toBe('function');
14
+ expect(typeof mod.flapBatchSwapMerkle).toBe('function');
15
+ expect(typeof mod.flapQuickBatchSwapMerkle).toBe('function');
16
+ expect(typeof mod.flapCrossSwapMerkle).toBe('function');
17
+ });
18
+ it('utils/wallet subpath exports GeneratedWallet type surface', async () => {
19
+ const mod = await import('../utils/wallet.js');
20
+ expect(typeof mod.generateWallets).toBe('function');
21
+ expect(typeof mod.validatePrivateKeys).toBe('function');
22
+ expect(typeof mod.getTokenBalancesWithMulticall).toBe('function');
23
+ });
24
+ it('constants subpath exports FlapChain type re-export', async () => {
25
+ const mod = await import('../shared/constants/index.js');
26
+ expect(mod.CHAINS).toBeDefined();
27
+ expect(mod.PROFIT_CONFIG).toBeDefined();
28
+ });
29
+ it('quote subpath exports quoteV2/quoteV3', async () => {
30
+ const mod = await import('../utils/quote-helpers.js');
31
+ expect(typeof mod.quoteV2).toBe('function');
32
+ expect(typeof mod.quoteV3).toBe('function');
33
+ });
34
+ it('merkle subpath exports Four Merkle swap and disperse', async () => {
35
+ const mod = await import('../merkle/index.js');
36
+ expect(typeof mod.disperseWithBundleMerkle).toBe('function');
37
+ expect(typeof mod.fourBundleSwapMerkle).toBe('function');
38
+ expect(typeof mod.submitBundleToMerkle).toBe('function');
39
+ });
40
+ it('vanity subpath exports findSaltEndingByChain', async () => {
41
+ const mod = await import('../vanity/index.js');
42
+ expect(typeof mod.findSaltEndingByChain).toBe('function');
43
+ expect(typeof mod.getVanitySuffix).toBe('function');
44
+ });
45
+ it('chains/bsc/iro subpath exports bscIroCreateProject', async () => {
46
+ const mod = await import('../chains/bsc/iro.js');
47
+ expect(typeof mod.bscIroCreateProject).toBe('function');
48
+ });
49
+ it('chains/eni flat aliases on eni subpath', async () => {
50
+ const mod = await import('../chains/eni/index.js');
51
+ expect(typeof mod.eniCreatePortalQuery).toBe('function');
52
+ expect(typeof mod.eniDisperseForSubmit).toBe('function');
53
+ });
54
+ it('chains/xlayer/eip7702 flat aliases', async () => {
55
+ const mod = await import('../chains/xlayer/eip7702/index.js');
56
+ expect(typeof mod.xlayerEip7702BundleSwap).toBe('function');
57
+ expect(typeof mod.xlayerEip7702CheckApprovalStatus).toBe('function');
58
+ });
59
+ it('chains/xlayer re-exports eip7702 flat aliases', async () => {
60
+ const mod = await import('../chains/xlayer/index.js');
61
+ expect(typeof mod.xlayerEip7702Disperse).toBe('function');
62
+ expect(mod.XLayer).toBeDefined();
63
+ });
64
+ });
@@ -0,0 +1,85 @@
1
+ /**
2
+ * 公共 ABI 定义
3
+ *
4
+ * 将重复的 ABI 提取到这里,统一管理
5
+ */
6
+ /** 完整 ERC20 ABI */
7
+ export declare const ERC20_ABI: string[];
8
+ /** 精简 ERC20 ABI(余额查询 + decimals) */
9
+ export declare const ERC20_BALANCE_ABI: string[];
10
+ /** ERC20 授权相关 ABI */
11
+ export declare const ERC20_ALLOWANCE_ABI: string[];
12
+ export declare const MULTICALL3_ABI: string[];
13
+ /** V2 Router 完整 ABI */
14
+ export declare const V2_ROUTER_ABI: string[];
15
+ /** V2 Router 精简 ABI(只用于报价) */
16
+ export declare const V2_ROUTER_QUOTE_ABI: string[];
17
+ /** V3 SwapRouter02 ABI(新版,deadline 在 multicall 中传递) */
18
+ export declare const V3_ROUTER02_ABI: (string | {
19
+ inputs: {
20
+ components: {
21
+ name: string;
22
+ type: string;
23
+ }[];
24
+ name: string;
25
+ type: string;
26
+ }[];
27
+ name: string;
28
+ outputs: {
29
+ name: string;
30
+ type: string;
31
+ }[];
32
+ stateMutability: string;
33
+ type: string;
34
+ })[];
35
+ /** V3 SwapRouter 旧版 ABI(deadline 在 struct 内部) */
36
+ export declare const V3_ROUTER_LEGACY_ABI: (string | {
37
+ inputs: {
38
+ components: {
39
+ name: string;
40
+ type: string;
41
+ }[];
42
+ name: string;
43
+ type: string;
44
+ }[];
45
+ name: string;
46
+ outputs: {
47
+ name: string;
48
+ type: string;
49
+ }[];
50
+ stateMutability: string;
51
+ type: string;
52
+ })[];
53
+ /**
54
+ * SwapRouter02 的 V2 方法 ABI
55
+ *
56
+ * 注意:SwapRouter02 的 V2 方法只有 token-to-token 交换
57
+ * 没有 swapExactETHForTokens / swapExactTokensForETH
58
+ * 必须通过 multicall 组合 wrapETH/unwrapWETH9 来处理原生代币
59
+ */
60
+ export declare const SWAP_ROUTER02_V2_ABI: string[];
61
+ /** V3 QuoterV2 ABI */
62
+ export declare const V3_QUOTER_ABI: {
63
+ inputs: {
64
+ components: {
65
+ name: string;
66
+ type: string;
67
+ }[];
68
+ name: string;
69
+ type: string;
70
+ }[];
71
+ name: string;
72
+ outputs: {
73
+ name: string;
74
+ type: string;
75
+ }[];
76
+ stateMutability: string;
77
+ type: string;
78
+ }[];
79
+ export declare const V2_FACTORY_ABI: string[];
80
+ export declare const V2_PAIR_ABI: string[];
81
+ export declare const V3_FACTORY_ABI: string[];
82
+ export declare const V3_POOL_ABI: string[];
83
+ export { FLAP_PORTAL_ABI } from './flap/portal-merkle.js';
84
+ export declare const TM2_ABI: string[];
85
+ export declare const HELPER3_ABI: string[];
@@ -0,0 +1,240 @@
1
+ /**
2
+ * 公共 ABI 定义
3
+ *
4
+ * 将重复的 ABI 提取到这里,统一管理
5
+ */
6
+ // ============================================================================
7
+ // ERC20 ABI
8
+ // ============================================================================
9
+ /** 完整 ERC20 ABI */
10
+ export const ERC20_ABI = [
11
+ 'function approve(address spender, uint256 amount) external returns (bool)',
12
+ 'function allowance(address owner, address spender) external view returns (uint256)',
13
+ 'function balanceOf(address account) external view returns (uint256)',
14
+ 'function decimals() external view returns (uint8)',
15
+ 'function name() external view returns (string)',
16
+ 'function symbol() external view returns (string)',
17
+ 'function totalSupply() external view returns (uint256)',
18
+ 'function transfer(address to, uint256 amount) external returns (bool)',
19
+ 'function transferFrom(address from, address to, uint256 amount) external returns (bool)',
20
+ ];
21
+ /** 精简 ERC20 ABI(余额查询 + decimals) */
22
+ export const ERC20_BALANCE_ABI = [
23
+ 'function balanceOf(address account) external view returns (uint256)',
24
+ 'function decimals() external view returns (uint8)',
25
+ ];
26
+ /** ERC20 授权相关 ABI */
27
+ export const ERC20_ALLOWANCE_ABI = [
28
+ 'function allowance(address owner, address spender) external view returns (uint256)',
29
+ 'function approve(address spender, uint256 amount) external returns (bool)',
30
+ 'function decimals() external view returns (uint8)',
31
+ ];
32
+ // ============================================================================
33
+ // Multicall3 ABI
34
+ // ============================================================================
35
+ export const MULTICALL3_ABI = [
36
+ // ✅ 标记为 view,确保 ethers.js v6 使用 call 而不是 sendTransaction
37
+ 'function aggregate3(tuple(address target, bool allowFailure, bytes callData)[] calls) view returns (tuple(bool success, bytes returnData)[])',
38
+ 'function aggregate(tuple(address target, bytes callData)[] calls) view returns (uint256 blockNumber, bytes[] returnData)',
39
+ 'function getEthBalance(address addr) view returns (uint256 balance)',
40
+ ];
41
+ // ============================================================================
42
+ // PancakeSwap / Uniswap V2 Router ABI
43
+ // ============================================================================
44
+ /** V2 Router 完整 ABI */
45
+ export const V2_ROUTER_ABI = [
46
+ // BNB/ETH → Token (买入)
47
+ 'function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts)',
48
+ 'function swapExactETHForTokensSupportingFeeOnTransferTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable',
49
+ // Token → BNB/ETH (卖出)
50
+ 'function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts)',
51
+ 'function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external',
52
+ // Token → Token
53
+ 'function swapExactTokensForTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts)',
54
+ 'function swapExactTokensForTokensSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external',
55
+ // 报价
56
+ 'function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts)',
57
+ 'function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts)',
58
+ // Factory
59
+ 'function factory() external view returns (address)',
60
+ ];
61
+ /** V2 Router 精简 ABI(只用于报价) */
62
+ export const V2_ROUTER_QUOTE_ABI = [
63
+ 'function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts)',
64
+ ];
65
+ // ============================================================================
66
+ // PancakeSwap / Uniswap V3 Router ABI (SwapRouter02)
67
+ // ============================================================================
68
+ /** V3 SwapRouter02 ABI(新版,deadline 在 multicall 中传递) */
69
+ export const V3_ROUTER02_ABI = [
70
+ // exactInputSingle - 单跳,不含 deadline
71
+ {
72
+ inputs: [
73
+ {
74
+ components: [
75
+ { name: 'tokenIn', type: 'address' },
76
+ { name: 'tokenOut', type: 'address' },
77
+ { name: 'fee', type: 'uint24' },
78
+ { name: 'recipient', type: 'address' },
79
+ { name: 'amountIn', type: 'uint256' },
80
+ { name: 'amountOutMinimum', type: 'uint256' },
81
+ { name: 'sqrtPriceLimitX96', type: 'uint160' },
82
+ ],
83
+ name: 'params',
84
+ type: 'tuple',
85
+ },
86
+ ],
87
+ name: 'exactInputSingle',
88
+ outputs: [{ name: 'amountOut', type: 'uint256' }],
89
+ stateMutability: 'payable',
90
+ type: 'function',
91
+ },
92
+ // exactInput - 多跳,不含 deadline
93
+ {
94
+ inputs: [
95
+ {
96
+ components: [
97
+ { name: 'path', type: 'bytes' },
98
+ { name: 'recipient', type: 'address' },
99
+ { name: 'amountIn', type: 'uint256' },
100
+ { name: 'amountOutMinimum', type: 'uint256' },
101
+ ],
102
+ name: 'params',
103
+ type: 'tuple',
104
+ },
105
+ ],
106
+ name: 'exactInput',
107
+ outputs: [{ name: 'amountOut', type: 'uint256' }],
108
+ stateMutability: 'payable',
109
+ type: 'function',
110
+ },
111
+ // multicall - 带 deadline 版本
112
+ 'function multicall(uint256 deadline, bytes[] calldata data) external payable returns (bytes[] memory results)',
113
+ 'function refundETH() external payable',
114
+ 'function unwrapWETH9(uint256 amountMinimum, address recipient) external payable',
115
+ ];
116
+ /** V3 SwapRouter 旧版 ABI(deadline 在 struct 内部) */
117
+ export const V3_ROUTER_LEGACY_ABI = [
118
+ // exactInputSingle - 包含 deadline
119
+ {
120
+ inputs: [
121
+ {
122
+ components: [
123
+ { name: 'tokenIn', type: 'address' },
124
+ { name: 'tokenOut', type: 'address' },
125
+ { name: 'fee', type: 'uint24' },
126
+ { name: 'recipient', type: 'address' },
127
+ { name: 'deadline', type: 'uint256' },
128
+ { name: 'amountIn', type: 'uint256' },
129
+ { name: 'amountOutMinimum', type: 'uint256' },
130
+ { name: 'sqrtPriceLimitX96', type: 'uint160' },
131
+ ],
132
+ name: 'params',
133
+ type: 'tuple',
134
+ },
135
+ ],
136
+ name: 'exactInputSingle',
137
+ outputs: [{ name: 'amountOut', type: 'uint256' }],
138
+ stateMutability: 'payable',
139
+ type: 'function',
140
+ },
141
+ // multicall - 不带 deadline 版本
142
+ 'function multicall(bytes[] calldata data) external payable returns (bytes[] memory results)',
143
+ 'function refundETH() external payable',
144
+ 'function unwrapWETH9(uint256 amountMinimum, address recipient) external payable',
145
+ ];
146
+ // ============================================================================
147
+ // SwapRouter02 V2 方法 ABI (PotatoSwap/DYORSwap 等)
148
+ // ============================================================================
149
+ /**
150
+ * SwapRouter02 的 V2 方法 ABI
151
+ *
152
+ * 注意:SwapRouter02 的 V2 方法只有 token-to-token 交换
153
+ * 没有 swapExactETHForTokens / swapExactTokensForETH
154
+ * 必须通过 multicall 组合 wrapETH/unwrapWETH9 来处理原生代币
155
+ */
156
+ export const SWAP_ROUTER02_V2_ABI = [
157
+ // V2 交换方法(只有 token-to-token)
158
+ 'function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to) external payable returns (uint256 amountOut)',
159
+ 'function swapTokensForExactTokens(uint256 amountOut, uint256 amountInMax, address[] calldata path, address to) external payable returns (uint256 amountIn)',
160
+ // Multicall - 多种重载
161
+ 'function multicall(uint256 deadline, bytes[] calldata data) external payable returns (bytes[] memory results)',
162
+ 'function multicall(bytes32 previousBlockhash, bytes[] calldata data) external payable returns (bytes[] memory results)',
163
+ 'function multicall(bytes[] calldata data) external payable returns (bytes[] memory results)',
164
+ // 辅助方法 - ETH/WETH 转换
165
+ 'function wrapETH(uint256 value) external payable',
166
+ 'function unwrapWETH9(uint256 amountMinimum, address recipient) external payable',
167
+ 'function unwrapWETH9(uint256 amountMinimum) external payable',
168
+ 'function refundETH() external payable',
169
+ // 代币操作
170
+ 'function pull(address token, uint256 value) external payable',
171
+ 'function sweepToken(address token, uint256 amountMinimum, address recipient) external payable',
172
+ 'function sweepToken(address token, uint256 amountMinimum) external payable',
173
+ ];
174
+ // ============================================================================
175
+ // V3 Quoter ABI
176
+ // ============================================================================
177
+ /** V3 QuoterV2 ABI */
178
+ export const V3_QUOTER_ABI = [
179
+ {
180
+ inputs: [
181
+ {
182
+ components: [
183
+ { name: 'tokenIn', type: 'address' },
184
+ { name: 'tokenOut', type: 'address' },
185
+ { name: 'amountIn', type: 'uint256' },
186
+ { name: 'fee', type: 'uint24' },
187
+ { name: 'sqrtPriceLimitX96', type: 'uint160' },
188
+ ],
189
+ name: 'params',
190
+ type: 'tuple',
191
+ },
192
+ ],
193
+ name: 'quoteExactInputSingle',
194
+ outputs: [
195
+ { name: 'amountOut', type: 'uint256' },
196
+ { name: 'sqrtPriceX96After', type: 'uint160' },
197
+ { name: 'initializedTicksCrossed', type: 'uint32' },
198
+ { name: 'gasEstimate', type: 'uint256' },
199
+ ],
200
+ stateMutability: 'nonpayable',
201
+ type: 'function',
202
+ },
203
+ ];
204
+ // ============================================================================
205
+ // Uniswap V2 Factory & Pair ABI
206
+ // ============================================================================
207
+ export const V2_FACTORY_ABI = ['function getPair(address tokenA, address tokenB) external view returns (address pair)'];
208
+ export const V2_PAIR_ABI = [
209
+ 'function token0() external view returns (address)',
210
+ 'function token1() external view returns (address)',
211
+ 'function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast)',
212
+ ];
213
+ // ============================================================================
214
+ // Uniswap V3 Factory & Pool ABI
215
+ // ============================================================================
216
+ export const V3_FACTORY_ABI = [
217
+ 'function getPool(address tokenA, address tokenB, uint24 fee) external view returns (address pool)',
218
+ ];
219
+ export const V3_POOL_ABI = [
220
+ 'function token0() external view returns (address)',
221
+ 'function token1() external view returns (address)',
222
+ 'function fee() external view returns (uint24)',
223
+ 'function slot0() external view returns (uint160 sqrtPriceX96, int24 tick, uint16 observationIndex, uint16 observationCardinality, uint16 observationCardinalityNext, uint8 feeProtocol, bool unlocked)',
224
+ ];
225
+ export { FLAP_PORTAL_ABI } from './flap/portal-merkle.js';
226
+ // ============================================================================
227
+ // Four TokenManager ABI
228
+ // ============================================================================
229
+ export const TM2_ABI = [
230
+ // 新版方法(Four.meme TokenManager2)
231
+ 'function buyTokenAMAP(uint256 origin, address token, address to, uint256 funds, uint256 minAmount) external payable',
232
+ 'function sellToken(uint256 origin, address token, uint256 amount, uint256 minFunds) external',
233
+ // 旧版兼容方法
234
+ 'function buy(address token, uint256 minReceived) external payable returns (uint256)',
235
+ 'function sell(address token, uint256 sellAmount, uint256 minReceived) external returns (uint256)',
236
+ 'function trySell(address token, uint256 sellAmount) external view returns (uint256)',
237
+ ];
238
+ export const HELPER3_ABI = [
239
+ 'function getTokenInfo(address token) external view returns (tuple(address addr, string name, string symbol, uint8 decimals, uint256 totalSupply, uint256 balance, uint256 price, uint256 marketCap))',
240
+ ];