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
@@ -1,256 +1,4 @@
1
1
  /**
2
- * 公共 ABI 定义
3
- *
4
- * 将重复的 ABI 提取到这里,统一管理
2
+ * @deprecated 兼容路径 — 唯一数据源见 `src/abis/common.ts`
5
3
  */
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
- "components": [
74
- { "name": "tokenIn", "type": "address" },
75
- { "name": "tokenOut", "type": "address" },
76
- { "name": "fee", "type": "uint24" },
77
- { "name": "recipient", "type": "address" },
78
- { "name": "amountIn", "type": "uint256" },
79
- { "name": "amountOutMinimum", "type": "uint256" },
80
- { "name": "sqrtPriceLimitX96", "type": "uint160" }
81
- ],
82
- "name": "params",
83
- "type": "tuple"
84
- }],
85
- "name": "exactInputSingle",
86
- "outputs": [{ "name": "amountOut", "type": "uint256" }],
87
- "stateMutability": "payable",
88
- "type": "function"
89
- },
90
- // exactInput - 多跳,不含 deadline
91
- {
92
- "inputs": [{
93
- "components": [
94
- { "name": "path", "type": "bytes" },
95
- { "name": "recipient", "type": "address" },
96
- { "name": "amountIn", "type": "uint256" },
97
- { "name": "amountOutMinimum", "type": "uint256" }
98
- ],
99
- "name": "params",
100
- "type": "tuple"
101
- }],
102
- "name": "exactInput",
103
- "outputs": [{ "name": "amountOut", "type": "uint256" }],
104
- "stateMutability": "payable",
105
- "type": "function"
106
- },
107
- // multicall - 带 deadline 版本
108
- 'function multicall(uint256 deadline, bytes[] calldata data) external payable returns (bytes[] memory results)',
109
- 'function refundETH() external payable',
110
- 'function unwrapWETH9(uint256 amountMinimum, address recipient) external payable',
111
- ];
112
- /** V3 SwapRouter 旧版 ABI(deadline 在 struct 内部) */
113
- export const V3_ROUTER_LEGACY_ABI = [
114
- // exactInputSingle - 包含 deadline
115
- {
116
- "inputs": [{
117
- "components": [
118
- { "name": "tokenIn", "type": "address" },
119
- { "name": "tokenOut", "type": "address" },
120
- { "name": "fee", "type": "uint24" },
121
- { "name": "recipient", "type": "address" },
122
- { "name": "deadline", "type": "uint256" },
123
- { "name": "amountIn", "type": "uint256" },
124
- { "name": "amountOutMinimum", "type": "uint256" },
125
- { "name": "sqrtPriceLimitX96", "type": "uint160" }
126
- ],
127
- "name": "params",
128
- "type": "tuple"
129
- }],
130
- "name": "exactInputSingle",
131
- "outputs": [{ "name": "amountOut", "type": "uint256" }],
132
- "stateMutability": "payable",
133
- "type": "function"
134
- },
135
- // multicall - 不带 deadline 版本
136
- 'function multicall(bytes[] calldata data) external payable returns (bytes[] memory results)',
137
- 'function refundETH() external payable',
138
- 'function unwrapWETH9(uint256 amountMinimum, address recipient) external payable',
139
- ];
140
- // ============================================================================
141
- // SwapRouter02 V2 方法 ABI (PotatoSwap/DYORSwap 等)
142
- // ============================================================================
143
- /**
144
- * SwapRouter02 的 V2 方法 ABI
145
- *
146
- * 注意:SwapRouter02 的 V2 方法只有 token-to-token 交换
147
- * 没有 swapExactETHForTokens / swapExactTokensForETH
148
- * 必须通过 multicall 组合 wrapETH/unwrapWETH9 来处理原生代币
149
- */
150
- export const SWAP_ROUTER02_V2_ABI = [
151
- // V2 交换方法(只有 token-to-token)
152
- 'function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to) external payable returns (uint256 amountOut)',
153
- 'function swapTokensForExactTokens(uint256 amountOut, uint256 amountInMax, address[] calldata path, address to) external payable returns (uint256 amountIn)',
154
- // Multicall - 多种重载
155
- 'function multicall(uint256 deadline, bytes[] calldata data) external payable returns (bytes[] memory results)',
156
- 'function multicall(bytes32 previousBlockhash, bytes[] calldata data) external payable returns (bytes[] memory results)',
157
- 'function multicall(bytes[] calldata data) external payable returns (bytes[] memory results)',
158
- // 辅助方法 - ETH/WETH 转换
159
- 'function wrapETH(uint256 value) external payable',
160
- 'function unwrapWETH9(uint256 amountMinimum, address recipient) external payable',
161
- 'function unwrapWETH9(uint256 amountMinimum) external payable',
162
- 'function refundETH() external payable',
163
- // 代币操作
164
- 'function pull(address token, uint256 value) external payable',
165
- 'function sweepToken(address token, uint256 amountMinimum, address recipient) external payable',
166
- 'function sweepToken(address token, uint256 amountMinimum) external payable',
167
- ];
168
- // ============================================================================
169
- // V3 Quoter ABI
170
- // ============================================================================
171
- /** V3 QuoterV2 ABI */
172
- export const V3_QUOTER_ABI = [
173
- {
174
- "inputs": [{
175
- "components": [
176
- { "name": "tokenIn", "type": "address" },
177
- { "name": "tokenOut", "type": "address" },
178
- { "name": "amountIn", "type": "uint256" },
179
- { "name": "fee", "type": "uint24" },
180
- { "name": "sqrtPriceLimitX96", "type": "uint160" }
181
- ],
182
- "name": "params",
183
- "type": "tuple"
184
- }],
185
- "name": "quoteExactInputSingle",
186
- "outputs": [
187
- { "name": "amountOut", "type": "uint256" },
188
- { "name": "sqrtPriceX96After", "type": "uint160" },
189
- { "name": "initializedTicksCrossed", "type": "uint32" },
190
- { "name": "gasEstimate", "type": "uint256" }
191
- ],
192
- "stateMutability": "nonpayable",
193
- "type": "function"
194
- }
195
- ];
196
- // ============================================================================
197
- // Uniswap V2 Factory & Pair ABI
198
- // ============================================================================
199
- export const V2_FACTORY_ABI = [
200
- 'function getPair(address tokenA, address tokenB) external view returns (address pair)',
201
- ];
202
- export const V2_PAIR_ABI = [
203
- 'function token0() external view returns (address)',
204
- 'function token1() external view returns (address)',
205
- 'function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast)',
206
- ];
207
- // ============================================================================
208
- // Uniswap V3 Factory & Pool ABI
209
- // ============================================================================
210
- export const V3_FACTORY_ABI = [
211
- 'function getPool(address tokenA, address tokenB, uint24 fee) external view returns (address pool)',
212
- ];
213
- export const V3_POOL_ABI = [
214
- 'function token0() external view returns (address)',
215
- 'function token1() external view returns (address)',
216
- 'function fee() external view returns (uint24)',
217
- 'function slot0() external view returns (uint160 sqrtPriceX96, int24 tick, uint16 observationIndex, uint16 observationCardinality, uint16 observationCardinalityNext, uint8 feeProtocol, bool unlocked)',
218
- ];
219
- // ============================================================================
220
- // Flap Portal ABI
221
- // ============================================================================
222
- export const FLAP_PORTAL_ABI = [
223
- // 创建代币
224
- 'function newToken(string name, string symbol, string meta) external payable returns (address)',
225
- 'function newTokenV2((string name,string symbol,string meta,uint8 dexThresh,bytes32 salt,uint16 taxRate,uint8 migratorType,address quoteToken,uint256 quoteAmt,address beneficiary,bytes permitData)) external payable returns (address)',
226
- 'function newTokenV3((string name,string symbol,string meta,uint8 dexThresh,bytes32 salt,uint16 taxRate,uint8 migratorType,address quoteToken,uint256 quoteAmt,address beneficiary,bytes permitData,bytes32 extensionID,bytes extensionData)) external payable returns (address)',
227
- // ✅ V4:支持 dexId / lpFeeProfile(与 portal-bundle-merkle/core.ts 的 newTokenV4.populateTransaction 对齐)
228
- 'function newTokenV4((string name,string symbol,string meta,uint8 dexThresh,bytes32 salt,uint16 taxRate,uint8 migratorType,address quoteToken,uint256 quoteAmt,address beneficiary,bytes permitData,bytes32 extensionID,bytes extensionData,uint8 dexId,uint8 lpFeeProfile)) external payable returns (address)',
229
- // ✅ V5:Tax Token V2 高级税收分配
230
- 'function newTokenV5((string name,string symbol,string meta,uint8 dexThresh,bytes32 salt,uint16 taxRate,uint8 migratorType,address quoteToken,uint256 quoteAmt,address beneficiary,bytes permitData,bytes32 extensionID,bytes extensionData,uint8 dexId,uint8 lpFeeProfile,uint64 taxDuration,uint64 antiFarmerDuration,uint16 mktBps,uint16 deflationBps,uint16 dividendBps,uint16 lpBps,uint256 minimumShareBalance)) external payable returns (address)',
231
- 'function newTokenV6((string name,string symbol,string meta,uint8 dexThresh,bytes32 salt,uint8 migratorType,address quoteToken,uint256 quoteAmt,address beneficiary,bytes permitData,bytes32 extensionID,bytes extensionData,uint8 dexId,uint8 lpFeeProfile,uint16 buyTaxRate,uint16 sellTaxRate,uint64 taxDuration,uint64 antiFarmerDuration,uint16 mktBps,uint16 deflationBps,uint16 dividendBps,uint16 lpBps,uint256 minimumShareBalance,address dividendToken,address commissionReceiver,uint8 tokenVersion)) external payable returns (address)',
232
- 'function newTokenV7((string name,string symbol,string meta,uint8 dexThresh,bytes32 salt,uint8 migratorType,address quoteToken,uint256 quoteAmt,bytes permitData,bytes32 extensionID,bytes extensionData,uint8 dexId,uint16 buyTaxRate,uint16 sellTaxRate,uint64 taxDuration,uint64 antiFarmerDuration,address commissionReceiver,uint8 tokenVersion,(uint8 feeType,uint16 bps,address marketingAddress,address dividendToken,uint256 minimumShareBalance)[4] feeConfigs)) external payable returns (address)',
233
- // 交易
234
- 'function swapExactInput((address inputToken,address outputToken,uint256 inputAmount,uint256 minOutputAmount,bytes permitData)) external payable returns (uint256)',
235
- // ✅ V3:支持 extensionData(注意:这里的 V3 指“扩展交易接口版本”,不是“外盘 V3 池子”)
236
- 'function swapExactInputV3((address inputToken,address outputToken,uint256 inputAmount,uint256 minOutputAmount,bytes permitData,bytes extensionData)) external payable returns (uint256)',
237
- 'function quoteExactInput((address inputToken,address outputToken,uint256 inputAmount)) external view returns (uint256)',
238
- // 旧版兼容
239
- 'function buy(address token, uint256 minReceived) external payable returns (uint256)',
240
- 'function sell(address token, uint256 sellAmount, uint256 minReceived) external returns (uint256)',
241
- ];
242
- // ============================================================================
243
- // Four TokenManager ABI
244
- // ============================================================================
245
- export const TM2_ABI = [
246
- // 新版方法(Four.meme TokenManager2)
247
- 'function buyTokenAMAP(uint256 origin, address token, address to, uint256 funds, uint256 minAmount) external payable',
248
- 'function sellToken(uint256 origin, address token, uint256 amount, uint256 minFunds) external',
249
- // 旧版兼容方法
250
- 'function buy(address token, uint256 minReceived) external payable returns (uint256)',
251
- 'function sell(address token, uint256 sellAmount, uint256 minReceived) external returns (uint256)',
252
- 'function trySell(address token, uint256 sellAmount) external view returns (uint256)',
253
- ];
254
- export const HELPER3_ABI = [
255
- 'function getTokenInfo(address token) external view returns (tuple(address addr, string name, string symbol, uint8 decimals, uint256 totalSupply, uint256 balance, uint256 price, uint256 marketCap))',
256
- ];
4
+ export * from '../../abis/common.js';
@@ -1,6 +1,5 @@
1
- import TokenManager from './TokenManager.json';
2
- import TokenManager2 from './TokenManager2.json';
3
- import TokenManagerHelper3 from './TokenManagerHelper3.json';
4
- import TaxToken from './TaxToken.json';
5
- export { TokenManager, TokenManager2, TokenManagerHelper3, TaxToken };
6
- export * from './common.js';
1
+ /**
2
+ * ABI 导出(兼容路径:历史代码多从此处 import)。
3
+ * 唯一数据源见 `src/abis/`。
4
+ */
5
+ export * from '../../abis/index.js';
@@ -1,7 +1,5 @@
1
- import TokenManager from './TokenManager.json' with { type: 'json' };
2
- import TokenManager2 from './TokenManager2.json' with { type: 'json' };
3
- import TokenManagerHelper3 from './TokenManagerHelper3.json' with { type: 'json' };
4
- import TaxToken from './TaxToken.json' with { type: 'json' };
5
- export { TokenManager, TokenManager2, TokenManagerHelper3, TaxToken };
6
- // ✅ 公共 ABI 导出
7
- export * from './common.js';
1
+ /**
2
+ * ABI 导出(兼容路径:历史代码多从此处 import)。
3
+ * 唯一数据源见 `src/abis/`。
4
+ */
5
+ export * from '../../abis/index.js';
@@ -26,20 +26,16 @@
26
26
  * ```
27
27
  */
28
28
  import { JsonRpcProvider, Wallet, TransactionLike, ethers } from 'ethers';
29
- /**
30
- * BlockRazor Builder EOA 地址
31
- * 向此地址转账 BNB 可提高 Bundle 优先级
32
- * 来源: https://blockrazor.gitbook.io/blockrazor/bsc/block-builder/send-bundle
33
- */
34
- export declare const BLOCKRAZOR_BUILDER_EOA = "0x1266C6bE60392A8Ff346E8d5ECCd3E69dD9c5F20";
29
+ import { CHAINS } from '../constants/index.js';
30
+ export { BLOCKRAZOR_BUILDER_EOA } from '../constants/index.js';
35
31
  /**
36
32
  * BlockRazor 客户端配置
37
33
  */
38
34
  export interface BlockRazorConfig {
39
35
  /** API Key(可选,根据 Tier 等级需要) */
40
36
  apiKey?: string;
41
- /** 链 ID: 56=BSC */
42
- chainId: 56;
37
+ /** 链 ID: BSC */
38
+ chainId: typeof CHAINS.BSC.chainId;
43
39
  /** 自定义 RPC URL(可选) */
44
40
  customRpcUrl?: string;
45
41
  /** 自定义 Builder RPC URL(可选,用于发送 Bundle) */
@@ -26,16 +26,12 @@
26
26
  * ```
27
27
  */
28
28
  import { JsonRpcProvider, Transaction, ethers } from 'ethers';
29
- import { GAS_LIMITS } from '../constants/index.js';
29
+ import { GAS_LIMITS, CHAINS, BLOCKRAZOR_BUILDER_EOA } from '../constants/index.js';
30
+ import { getErrorMessageFromUnknown } from '../foundation/index.js';
31
+ export { BLOCKRAZOR_BUILDER_EOA } from '../constants/index.js';
30
32
  // ============================================================================
31
33
  // 常量
32
34
  // ============================================================================
33
- /**
34
- * BlockRazor Builder EOA 地址
35
- * 向此地址转账 BNB 可提高 Bundle 优先级
36
- * 来源: https://blockrazor.gitbook.io/blockrazor/bsc/block-builder/send-bundle
37
- */
38
- export const BLOCKRAZOR_BUILDER_EOA = '0x1266C6bE60392A8Ff346E8d5ECCd3E69dD9c5F20';
39
35
  /**
40
36
  * BlockRazor BSC RPC 端点
41
37
  * 来源: 测试文件 008_blockrazor_smoke_test.ts
@@ -55,9 +51,14 @@ const MIN_GAS_PRICE_GWEI = 0.05;
55
51
  * BlockRazor 客户端
56
52
  */
57
53
  export class BlockRazorClient {
54
+ provider;
55
+ chainId;
56
+ apiKey;
57
+ builderUrl;
58
+ // 区块号缓存
59
+ blockNumberCache = null;
60
+ static BLOCK_CACHE_TTL_MS = 1000; // 1秒缓存
58
61
  constructor(config) {
59
- // 区块号缓存
60
- this.blockNumberCache = null;
61
62
  this.chainId = config.chainId;
62
63
  this.apiKey = config.apiKey;
63
64
  // 普通 RPC(用于查询)
@@ -114,7 +115,7 @@ export class BlockRazorClient {
114
115
  async buildIncentiveTransaction(params) {
115
116
  const { wallet, amount, nonce, gasPrice } = params;
116
117
  // 获取 nonce(使用 pending 确保包含待处理交易)
117
- const txNonce = nonce ?? await this.provider.getTransactionCount(wallet.address, 'pending');
118
+ const txNonce = nonce ?? (await this.provider.getTransactionCount(wallet.address, 'pending'));
118
119
  // 获取 gas price
119
120
  let txGasPrice = gasPrice;
120
121
  if (!txGasPrice) {
@@ -152,6 +153,7 @@ export class BlockRazorClient {
152
153
  const gasPrice = tx.gasPrice || 0n;
153
154
  const minGasPrice = ethers.parseUnits(String(MIN_GAS_PRICE_GWEI), 'gwei');
154
155
  if (gasPrice < minGasPrice) {
156
+ throw new Error(`Transaction gas price (${ethers.formatUnits(gasPrice, 'gwei')} gwei) is below minimum (${MIN_GAS_PRICE_GWEI} gwei)`);
155
157
  }
156
158
  }
157
159
  catch {
@@ -183,7 +185,7 @@ export class BlockRazorClient {
183
185
  jsonrpc: '2.0',
184
186
  id: '1',
185
187
  method: 'eth_sendBundle',
186
- params: [bundleParams]
188
+ params: [bundleParams],
187
189
  };
188
190
  const headers = {
189
191
  'Content-Type': 'application/json',
@@ -202,12 +204,23 @@ export class BlockRazorClient {
202
204
  throw new Error(`HTTP ${response.status}: ${text}`);
203
205
  }
204
206
  const result = await response.json();
207
+ if (typeof result !== 'object' || result === null) {
208
+ throw new Error('Invalid JSON-RPC response');
209
+ }
210
+ const rpc = result;
205
211
  // 检查 JSON-RPC 错误
206
- if (result.error) {
207
- throw new Error(`RPC Error: ${result.error.message || JSON.stringify(result.error)}`);
212
+ if (rpc.error != null) {
213
+ const er = rpc.error;
214
+ const rpcMsg = typeof er === 'object' &&
215
+ er !== null &&
216
+ 'message' in er &&
217
+ typeof er.message === 'string'
218
+ ? er.message
219
+ : JSON.stringify(er);
220
+ throw new Error(`RPC Error: ${rpcMsg}`);
208
221
  }
209
222
  // 提取 bundle hash
210
- const bundleHash = result.result;
223
+ const bundleHash = rpc.result;
211
224
  if (typeof bundleHash === 'string') {
212
225
  return bundleHash;
213
226
  }
@@ -216,10 +229,10 @@ export class BlockRazorClient {
216
229
  return String(bundleHash.bundleHash);
217
230
  }
218
231
  }
219
- return JSON.stringify(result.result || result);
232
+ return JSON.stringify(rpc.result ?? rpc);
220
233
  }
221
234
  catch (error) {
222
- const errorMsg = error.message || String(error);
235
+ const errorMsg = getErrorMessageFromUnknown(error);
223
236
  console.error(`❌ [BlockRazor] Bundle 发送失败: ${errorMsg}`);
224
237
  throw new Error(`BlockRazor send bundle failed: ${errorMsg}`);
225
238
  }
@@ -257,7 +270,7 @@ export class BlockRazorClient {
257
270
  noMerge: options.noMerge,
258
271
  });
259
272
  // 提取交易哈希
260
- const txHashes = options.transactions.map(rawTx => {
273
+ const txHashes = options.transactions.map((rawTx) => {
261
274
  try {
262
275
  return Transaction.from(rawTx).hash || '';
263
276
  }
@@ -276,13 +289,16 @@ export class BlockRazorClient {
276
289
  lastError = error;
277
290
  if (autoRetry && attempt < maxRetries) {
278
291
  attempt++;
279
- await new Promise(resolve => setTimeout(resolve, 3000)); // 等待一个区块
292
+ await new Promise((resolve) => setTimeout(resolve, 3000)); // 等待一个区块
280
293
  continue;
281
294
  }
282
295
  throw error;
283
296
  }
284
297
  }
285
- throw lastError || new Error('Bundle submission failed after all retries');
298
+ if (lastError !== null && lastError !== undefined) {
299
+ throw lastError;
300
+ }
301
+ throw new Error('Bundle submission failed after all retries');
286
302
  }
287
303
  /**
288
304
  * 发送带激励的 Bundle(自动添加激励交易)
@@ -330,8 +346,7 @@ export class BlockRazorClient {
330
346
  let gasCost;
331
347
  if (receipt.gasUsed && receipt.gasPrice) {
332
348
  const costWei = receipt.gasUsed * receipt.gasPrice;
333
- const costBnb = Number(costWei) / 1e18;
334
- gasCost = costBnb.toFixed(8);
349
+ gasCost = ethers.formatEther(costWei);
335
350
  }
336
351
  return {
337
352
  index,
@@ -348,7 +363,7 @@ export class BlockRazorClient {
348
363
  index,
349
364
  hash,
350
365
  success: false,
351
- error: error.message,
366
+ error: getErrorMessageFromUnknown(error),
352
367
  };
353
368
  }
354
369
  });
@@ -439,7 +454,7 @@ export class BlockRazorClient {
439
454
  return { index: globalIndex, hash: txResponse.hash, error: null };
440
455
  }
441
456
  catch (err) {
442
- const errorMsg = err?.message || String(err);
457
+ const errorMsg = getErrorMessageFromUnknown(err);
443
458
  console.warn(`[broadcastParallel] 交易 ${globalIndex} 广播失败:`, errorMsg);
444
459
  return { index: globalIndex, hash: '', error: errorMsg };
445
460
  }
@@ -488,33 +503,29 @@ export class BlockRazorClient {
488
503
  // 广播交易
489
504
  const txResponse = await provider.broadcastTransaction(rawTx);
490
505
  txHashes.push(txResponse.hash);
491
- console.log(`[broadcastSequential] 交易 ${i}/${signedTransactions.length} 广播成功: ${txResponse.hash.slice(0, 10)}...`);
492
506
  // 如果需要等待确认
493
507
  if (waitConfirmation) {
494
508
  try {
495
509
  const receipt = await provider.waitForTransaction(txResponse.hash, 1, confirmationTimeout);
496
- if (receipt && receipt.status === 1) {
497
- console.log(`[broadcastSequential] 交易 ${i} 确认成功,区块: ${receipt.blockNumber}`);
498
- }
499
- else if (receipt && receipt.status === 0) {
510
+ if (receipt && receipt.status === 0) {
500
511
  console.warn(`[broadcastSequential] 交易 ${i} 执行失败(revert)`);
501
512
  errors.push({ index: i, error: 'Transaction reverted' });
502
513
  }
503
514
  }
504
515
  catch (waitErr) {
505
- console.warn(`[broadcastSequential] 交易 ${i} 等待确认超时:`, waitErr?.message);
516
+ console.warn(`[broadcastSequential] 交易 ${i} 等待确认超时:`, getErrorMessageFromUnknown(waitErr));
506
517
  // 超时不算失败,交易可能还在 pending
507
518
  }
508
519
  }
509
520
  else {
510
521
  // 不等待确认,只加一个小延迟确保 RPC 处理完成
511
522
  if (broadcastDelay > 0 && i < signedTransactions.length - 1) {
512
- await new Promise(resolve => setTimeout(resolve, broadcastDelay));
523
+ await new Promise((resolve) => setTimeout(resolve, broadcastDelay));
513
524
  }
514
525
  }
515
526
  }
516
527
  catch (err) {
517
- const errorMsg = err?.message || String(err);
528
+ const errorMsg = getErrorMessageFromUnknown(err);
518
529
  console.warn(`[broadcastSequential] 交易 ${i} 广播失败:`, errorMsg);
519
530
  errors.push({ index: i, error: errorMsg });
520
531
  // 如果是 nonce 问题,后续交易也会失败,提前终止
@@ -566,12 +577,10 @@ export class BlockRazorClient {
566
577
  return false;
567
578
  })();
568
579
  if (hasMultipleFromSameWallet) {
569
- console.log(`[broadcastSmart] 检测到同一钱包多笔交易,使用顺序广播`);
570
580
  const result = await this.broadcastTransactionsSequential(signedTransactions, options);
571
581
  return { ...result, mode: 'sequential' };
572
582
  }
573
583
  else {
574
- console.log(`[broadcastSmart] 所有交易来自不同钱包,使用并行广播`);
575
584
  const result = await this.broadcastTransactionsParallel(signedTransactions, { provider: options?.provider });
576
585
  return { ...result, mode: 'parallel' };
577
586
  }
@@ -587,10 +596,9 @@ export class BlockRazorClient {
587
596
  };
588
597
  }
589
598
  }
590
- BlockRazorClient.BLOCK_CACHE_TTL_MS = 1000; // 1秒缓存
591
599
  /**
592
600
  * 创建 BlockRazor 客户端的便捷函数
593
601
  */
594
602
  export function createBlockRazorClient(apiKey) {
595
- return new BlockRazorClient({ apiKey, chainId: 56 });
603
+ return new BlockRazorClient({ apiKey, chainId: CHAINS.BSC.chainId });
596
604
  }
@@ -127,8 +127,8 @@ export declare const BUILDER_CONTROL_EOA = "0x4848489f0b2BEdd788c696e2D79b6b69D7
127
127
  */
128
128
  export type AuctionFeedCallbacks = {
129
129
  onOpen?: () => void;
130
- onMessage?: (data: any) => void;
131
- onError?: (err: any) => void;
130
+ onMessage?: (data: unknown) => void;
131
+ onError?: (err: unknown) => void;
132
132
  onClose?: () => void;
133
133
  };
134
134
  export declare function createAuctionFeedClient(wsUrl: string, callbacks: AuctionFeedCallbacks): {