four-flap-meme-sdk 2.2.1 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (470) hide show
  1. package/README.en.md +6 -41
  2. package/README.md +0 -31
  3. package/README.zh-CN.md +6 -41
  4. package/dist/chains/bsc/four/approve-tokenmanager.d.ts +26 -1
  5. package/dist/chains/bsc/four/approve-tokenmanager.js +113 -1
  6. package/dist/chains/bsc/four/config.d.ts +67 -5
  7. package/dist/chains/bsc/four/config.js +114 -2
  8. package/dist/chains/bsc/four/core.d.ts +4 -1
  9. package/dist/chains/bsc/four/core.js +592 -1
  10. package/dist/chains/bsc/four/index.d.ts +6 -6
  11. package/dist/chains/bsc/four/index.js +6 -6
  12. package/dist/chains/bsc/four/internal.d.ts +46 -2
  13. package/dist/chains/bsc/four/internal.js +239 -2
  14. package/dist/chains/bsc/four/pancake-proxy.d.ts +28 -1
  15. package/dist/chains/bsc/four/pancake-proxy.js +687 -1
  16. package/dist/chains/bsc/four/private.d.ts +27 -1
  17. package/dist/chains/bsc/four/private.js +477 -1
  18. package/dist/chains/bsc/four/submit.d.ts +315 -2
  19. package/dist/chains/bsc/four/submit.js +752 -2
  20. package/dist/chains/bsc/four/swap-buy-first.d.ts +55 -2
  21. package/dist/chains/bsc/four/swap-buy-first.js +507 -2
  22. package/dist/chains/bsc/four/swap-internal.d.ts +3 -1
  23. package/dist/chains/bsc/four/swap-internal.js +18 -1
  24. package/dist/chains/bsc/four/swap.d.ts +144 -2
  25. package/dist/chains/bsc/four/swap.js +766 -2
  26. package/dist/chains/bsc/four/types.d.ts +476 -1
  27. package/dist/chains/bsc/four/utils.d.ts +18 -5
  28. package/dist/chains/bsc/four/utils.js +1552 -5
  29. package/dist/chains/bsc/pancake/bundle-buy-first.d.ts +91 -1
  30. package/dist/chains/bsc/pancake/bundle-buy-first.js +212 -97
  31. package/dist/chains/bsc/pancake/bundle-swap.d.ts +79 -1
  32. package/dist/chains/bsc/pancake/bundle-swap.js +726 -114
  33. package/dist/chains/bsc/pancake/index.d.ts +2 -4
  34. package/dist/chains/bsc/pancake/index.js +3 -1
  35. package/dist/chains/bsc/platforms/iro/factory.d.ts +2 -2
  36. package/dist/chains/bsc/platforms/iro/factory.js +1 -3
  37. package/dist/chains/bsc/platforms/iro/index.d.ts +5 -5
  38. package/dist/chains/bsc/platforms/iro/index.js +3 -3
  39. package/dist/chains/bsc/platforms/iro/pool.js +10 -31
  40. package/dist/chains/bsc/platforms/iro/token.js +1 -4
  41. package/dist/chains/eni/batch-router/bundle-approve.js +3 -4
  42. package/dist/chains/eni/batch-router/transfer.js +25 -55
  43. package/dist/chains/eni/batch-router/utils.js +6 -32
  44. package/dist/chains/eni/bundler/sign.js +6 -5
  45. package/dist/chains/eni/bundler/submit.js +4 -1
  46. package/dist/chains/eni/constants.js +1 -1
  47. package/dist/chains/eni/index.d.ts +1 -2
  48. package/dist/chains/eni/index.js +0 -1
  49. package/dist/chains/eni/platforms/daoaas/create.js +2 -2
  50. package/dist/chains/eni/platforms/daoaas/index.d.ts +3 -3
  51. package/dist/chains/eni/platforms/daoaas/index.js +3 -3
  52. package/dist/chains/eni/platforms/daoaas/meta.js +6 -9
  53. package/dist/chains/eni/platforms/daoaas/portal-direct.js +44 -28
  54. package/dist/chains/eni/platforms/daoaas/portal.js +6 -10
  55. package/dist/chains/eni/platforms/dswap/liquidity.js +26 -58
  56. package/dist/chains/eni/platforms/fair-launch/index.d.ts +2 -2
  57. package/dist/chains/eni/platforms/fair-launch/index.js +1 -1
  58. package/dist/chains/eni/platforms/fair-launch/launcher.js +46 -87
  59. package/dist/chains/eni/platforms/fair-launch/pool.js +1 -4
  60. package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
  61. package/dist/chains/eni/platforms/iro/factory.d.ts +2 -2
  62. package/dist/chains/eni/platforms/iro/factory.js +1 -3
  63. package/dist/chains/eni/platforms/iro/index.d.ts +6 -6
  64. package/dist/chains/eni/platforms/iro/index.js +4 -4
  65. package/dist/chains/eni/platforms/iro/pool.js +26 -90
  66. package/dist/chains/eni/platforms/iro/token.js +31 -107
  67. package/dist/chains/eni/platforms/iro/whitelist.js +18 -6
  68. package/dist/chains/index.d.ts +0 -13
  69. package/dist/chains/index.js +0 -13
  70. package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +26 -2
  71. package/dist/chains/xlayer/eip7702/bundle-approve.js +21 -11
  72. package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +6 -2
  73. package/dist/chains/xlayer/eip7702/bundle-buy.js +51 -13
  74. package/dist/chains/xlayer/eip7702/bundle-create.js +59 -93
  75. package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +6 -2
  76. package/dist/chains/xlayer/eip7702/bundle-sell.js +111 -29
  77. package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +65 -3
  78. package/dist/chains/xlayer/eip7702/bundle-swap.js +245 -51
  79. package/dist/chains/xlayer/eip7702/constants.d.ts +16 -1
  80. package/dist/chains/xlayer/eip7702/constants.js +21 -3
  81. package/dist/chains/xlayer/eip7702/index.d.ts +46 -28
  82. package/dist/chains/xlayer/eip7702/index.js +81 -28
  83. package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +203 -2
  84. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +307 -63
  85. package/dist/chains/xlayer/eip7702/types.d.ts +0 -88
  86. package/dist/chains/xlayer/eip7702/utils.d.ts +3 -0
  87. package/dist/chains/xlayer/eip7702/utils.js +28 -23
  88. package/dist/chains/xlayer/eip7702/volume.d.ts +184 -6
  89. package/dist/chains/xlayer/eip7702/volume.js +164 -89
  90. package/dist/chains/xlayer/eoa/constants.js +1 -1
  91. package/dist/chains/xlayer/eoa/dex-helpers.js +5 -5
  92. package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +95 -1
  93. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +299 -66
  94. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
  95. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +23 -18
  96. package/dist/chains/xlayer/eoa/index.d.ts +6 -10
  97. package/dist/chains/xlayer/eoa/index.js +23 -8
  98. package/dist/chains/xlayer/eoa/portal-ops.js +2 -7
  99. package/dist/chains/xlayer/eoa/router-manager.js +3 -3
  100. package/dist/chains/xlayer/eoa/types.d.ts +2 -2
  101. package/dist/chains/xlayer/eoa/types.js +3 -1
  102. package/dist/chains/xlayer/index.d.ts +2 -3
  103. package/dist/chains/xlayer/index.js +7 -4
  104. package/dist/contracts/helper3.d.ts +5 -20
  105. package/dist/contracts/helper3.js +20 -56
  106. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +26 -1
  107. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +113 -1
  108. package/dist/contracts/tm-bundle-merkle/config.d.ts +67 -5
  109. package/dist/contracts/tm-bundle-merkle/config.js +114 -2
  110. package/dist/contracts/tm-bundle-merkle/core.d.ts +4 -1
  111. package/dist/contracts/tm-bundle-merkle/core.js +591 -1
  112. package/dist/contracts/tm-bundle-merkle/index.d.ts +5 -5
  113. package/dist/contracts/tm-bundle-merkle/index.js +5 -5
  114. package/dist/contracts/tm-bundle-merkle/internal.d.ts +46 -2
  115. package/dist/contracts/tm-bundle-merkle/internal.js +238 -2
  116. package/dist/contracts/tm-bundle-merkle/pancake-proxy.d.ts +28 -1
  117. package/dist/contracts/tm-bundle-merkle/pancake-proxy.js +686 -1
  118. package/dist/contracts/tm-bundle-merkle/private.d.ts +27 -1
  119. package/dist/contracts/tm-bundle-merkle/private.js +476 -1
  120. package/dist/contracts/tm-bundle-merkle/submit.d.ts +314 -3
  121. package/dist/contracts/tm-bundle-merkle/submit.js +928 -3
  122. package/dist/contracts/tm-bundle-merkle/swap-buy-first.d.ts +55 -2
  123. package/dist/contracts/tm-bundle-merkle/swap-buy-first.js +506 -2
  124. package/dist/contracts/tm-bundle-merkle/swap-internal.d.ts +3 -1
  125. package/dist/contracts/tm-bundle-merkle/swap-internal.js +18 -1
  126. package/dist/contracts/tm-bundle-merkle/swap.d.ts +144 -2
  127. package/dist/contracts/tm-bundle-merkle/swap.js +764 -2
  128. package/dist/contracts/tm-bundle-merkle/types.d.ts +476 -1
  129. package/dist/contracts/tm-bundle-merkle/utils.d.ts +18 -6
  130. package/dist/contracts/tm-bundle-merkle/utils.js +1501 -6
  131. package/dist/contracts/tm-bundle.d.ts +51 -3
  132. package/dist/contracts/tm-bundle.js +177 -108
  133. package/dist/contracts/tm.d.ts +2 -3
  134. package/dist/contracts/tm.js +32 -37
  135. package/dist/contracts/tm1.js +4 -9
  136. package/dist/contracts/tm2.js +4 -9
  137. package/dist/dex/direct-router.d.ts +125 -3
  138. package/dist/dex/direct-router.js +666 -237
  139. package/dist/flows/create.d.ts +1 -2
  140. package/dist/flows/create.js +6 -6
  141. package/dist/index.d.ts +85 -20
  142. package/dist/index.js +215 -20
  143. package/dist/shared/abis/TaxToken.json +105 -0
  144. package/dist/shared/abis/TokenManager2.json +60 -0
  145. package/dist/shared/abis/common.d.ts +83 -2
  146. package/dist/shared/abis/common.js +252 -2
  147. package/dist/shared/abis/index.d.ts +6 -5
  148. package/dist/shared/abis/index.js +7 -5
  149. package/dist/shared/clients/blockrazor.js +25 -39
  150. package/dist/shared/clients/club48.d.ts +2 -2
  151. package/dist/shared/clients/club48.js +29 -34
  152. package/dist/shared/clients/emitservice.js +0 -2
  153. package/dist/shared/clients/four.d.ts +6 -21
  154. package/dist/shared/clients/four.js +24 -29
  155. package/dist/shared/clients/merkle.js +34 -27
  156. package/dist/shared/constants/addresses.d.ts +1 -1
  157. package/dist/shared/constants/addresses.js +2 -11
  158. package/dist/shared/constants/chains.d.ts +1 -1
  159. package/dist/shared/constants/chains.js +1 -1
  160. package/dist/shared/constants/gas.d.ts +1 -1
  161. package/dist/shared/constants/gas.js +6 -2
  162. package/dist/shared/constants/index.d.ts +0 -3
  163. package/dist/shared/constants/index.js +0 -1
  164. package/dist/shared/flap/abi.js +1 -1
  165. package/dist/shared/flap/constants.d.ts +2 -1
  166. package/dist/shared/flap/constants.js +3 -2
  167. package/dist/shared/flap/curve.js +0 -3
  168. package/dist/shared/flap/errors.d.ts +4 -1
  169. package/dist/shared/flap/errors.js +1 -20
  170. package/dist/shared/flap/index.d.ts +3 -3
  171. package/dist/shared/flap/index.js +3 -3
  172. package/dist/shared/flap/meta.d.ts +18 -22
  173. package/dist/shared/flap/meta.js +17 -12
  174. package/dist/shared/flap/permit.js +2 -5
  175. package/dist/shared/flap/pinata.d.ts +6 -22
  176. package/dist/shared/flap/pinata.js +26 -21
  177. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +72 -3
  178. package/dist/shared/flap/portal-bundle-merkle/config.js +124 -4
  179. package/dist/shared/flap/portal-bundle-merkle/core.d.ts +4 -0
  180. package/dist/shared/flap/portal-bundle-merkle/core.js +172 -92
  181. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.d.ts +1 -2
  182. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +99 -106
  183. package/dist/shared/flap/portal-bundle-merkle/curve-to-dex.js +92 -100
  184. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +7 -11
  185. package/dist/shared/flap/portal-bundle-merkle/index.js +7 -4
  186. package/dist/shared/flap/portal-bundle-merkle/pancake-proxy.js +68 -71
  187. package/dist/shared/flap/portal-bundle-merkle/private.js +114 -61
  188. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +64 -1
  189. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.js +247 -66
  190. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +71 -2
  191. package/dist/shared/flap/portal-bundle-merkle/swap.js +410 -103
  192. package/dist/shared/flap/portal-bundle-merkle/types.d.ts +7 -73
  193. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +80 -1
  194. package/dist/shared/flap/portal-bundle-merkle/utils.js +265 -145
  195. package/dist/shared/flap/portal-bundle.js +56 -55
  196. package/dist/shared/flap/portal.d.ts +3 -1
  197. package/dist/shared/flap/portal.js +25 -32
  198. package/dist/shared/flap/vanity.d.ts +5 -1
  199. package/dist/shared/flap/vanity.js +17 -6
  200. package/dist/shared/flap/vault.d.ts +124 -17
  201. package/dist/shared/flap/vault.js +148 -67
  202. package/dist/shared/four/tax-token.d.ts +1 -1
  203. package/dist/shared/four/tax-token.js +7 -27
  204. package/dist/shared/index.d.ts +0 -6
  205. package/dist/shared/index.js +0 -4
  206. package/dist/utils/airdrop-sweep.d.ts +76 -4
  207. package/dist/utils/airdrop-sweep.js +55 -42
  208. package/dist/utils/bundle-helpers.d.ts +243 -9
  209. package/dist/utils/bundle-helpers.js +584 -10
  210. package/dist/utils/constants.d.ts +61 -5
  211. package/dist/utils/constants.js +80 -5
  212. package/dist/utils/contract-factory.d.ts +4 -2
  213. package/dist/utils/contract-factory.js +18 -25
  214. package/dist/utils/erc20.d.ts +89 -7
  215. package/dist/utils/erc20.js +125 -94
  216. package/dist/utils/errors.d.ts +1 -12
  217. package/dist/utils/errors.js +1 -60
  218. package/dist/utils/holders-maker.d.ts +138 -2
  219. package/dist/utils/holders-maker.js +661 -26
  220. package/dist/utils/lp-inspect.d.ts +112 -2
  221. package/dist/utils/lp-inspect.js +223 -73
  222. package/dist/utils/mpcExclusive.d.ts +5 -2
  223. package/dist/utils/mpcExclusive.js +3 -4
  224. package/dist/utils/private-sale.d.ts +58 -2
  225. package/dist/utils/private-sale.js +15 -4
  226. package/dist/utils/provider-factory.d.ts +0 -4
  227. package/dist/utils/provider-factory.js +0 -10
  228. package/dist/utils/quote-helpers.d.ts +45 -4
  229. package/dist/utils/quote-helpers.js +74 -17
  230. package/dist/utils/stealth-transfer.d.ts +28 -2
  231. package/dist/utils/stealth-transfer.js +15 -31
  232. package/dist/utils/swap-helpers.d.ts +15 -2
  233. package/dist/utils/swap-helpers.js +11 -6
  234. package/dist/utils/wallet.d.ts +25 -2
  235. package/dist/utils/wallet.js +10 -13
  236. package/package.json +4 -160
  237. package/dist/__tests__/subpath-exports.test.d.ts +0 -1
  238. package/dist/__tests__/subpath-exports.test.js +0 -64
  239. package/dist/abis/common.d.ts +0 -85
  240. package/dist/abis/common.js +0 -260
  241. package/dist/abis/contracts/TaxToken.json +0 -969
  242. package/dist/abis/contracts/TokenManager2.json +0 -136
  243. package/dist/abis/contracts/index.d.ts +0 -5
  244. package/dist/abis/contracts/index.js +0 -5
  245. package/dist/abis/flap/index.d.ts +0 -3
  246. package/dist/abis/flap/index.js +0 -3
  247. package/dist/abis/flap/portal-events.d.ts +0 -6
  248. package/dist/abis/flap/portal-events.js +0 -17
  249. package/dist/abis/flap/portal.d.ts +0 -6
  250. package/dist/abis/flap/portal.js +0 -37
  251. package/dist/abis/flap/vault.d.ts +0 -171
  252. package/dist/abis/flap/vault.js +0 -91
  253. package/dist/abis/index.d.ts +0 -8
  254. package/dist/abis/index.js +0 -11
  255. package/dist/bundle-core/__tests__/config-helpers.test.d.ts +0 -1
  256. package/dist/bundle-core/__tests__/config-helpers.test.js +0 -28
  257. package/dist/bundle-core/__tests__/facade-parity.test.d.ts +0 -1
  258. package/dist/bundle-core/__tests__/facade-parity.test.js +0 -33
  259. package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +0 -1
  260. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +0 -60
  261. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +0 -1
  262. package/dist/bundle-core/__tests__/sign-fixture.test.js +0 -220
  263. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +0 -10
  264. package/dist/bundle-core/__tests__/sign-fixtures.js +0 -16
  265. package/dist/bundle-core/config-helpers.d.ts +0 -36
  266. package/dist/bundle-core/config-helpers.js +0 -57
  267. package/dist/bundle-core/errors.d.ts +0 -50
  268. package/dist/bundle-core/errors.js +0 -35
  269. package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +0 -7
  270. package/dist/bundle-core/four-meme/approve-tokenmanager.js +0 -99
  271. package/dist/bundle-core/four-meme/core-helpers.d.ts +0 -8
  272. package/dist/bundle-core/four-meme/core-helpers.js +0 -40
  273. package/dist/bundle-core/four-meme/core.d.ts +0 -4
  274. package/dist/bundle-core/four-meme/core.js +0 -515
  275. package/dist/bundle-core/four-meme/pancake-proxy.d.ts +0 -28
  276. package/dist/bundle-core/four-meme/pancake-proxy.js +0 -679
  277. package/dist/bundle-core/four-meme/private.d.ts +0 -27
  278. package/dist/bundle-core/four-meme/private.js +0 -465
  279. package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +0 -2
  280. package/dist/bundle-core/four-meme/sign-context-helpers.js +0 -2
  281. package/dist/bundle-core/four-meme/swap-buy-first.d.ts +0 -8
  282. package/dist/bundle-core/four-meme/swap-buy-first.js +0 -493
  283. package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +0 -6
  284. package/dist/bundle-core/four-meme/swap-hop-helpers.js +0 -63
  285. package/dist/bundle-core/four-meme/swap-internal.d.ts +0 -3
  286. package/dist/bundle-core/four-meme/swap-internal.js +0 -18
  287. package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +0 -27
  288. package/dist/bundle-core/four-meme/swap-sign-helpers.js +0 -105
  289. package/dist/bundle-core/four-meme/swap.d.ts +0 -17
  290. package/dist/bundle-core/four-meme/swap.js +0 -505
  291. package/dist/bundle-core/four-meme/types/buy-first.d.ts +0 -50
  292. package/dist/bundle-core/four-meme/types/buy-first.js +0 -1
  293. package/dist/bundle-core/four-meme/types/core-flow.d.ts +0 -63
  294. package/dist/bundle-core/four-meme/types/core-flow.js +0 -1
  295. package/dist/bundle-core/four-meme/types/index.d.ts +0 -600
  296. package/dist/bundle-core/four-meme/types/index.js +0 -1
  297. package/dist/bundle-core/four-meme/types/swap-internal.d.ts +0 -19
  298. package/dist/bundle-core/four-meme/types/swap-internal.js +0 -1
  299. package/dist/bundle-core/four-meme/types.d.ts +0 -1
  300. package/dist/bundle-core/four-meme/types.js +0 -1
  301. package/dist/bundle-core/four-meme/utils-disperse.d.ts +0 -7
  302. package/dist/bundle-core/four-meme/utils-disperse.js +0 -396
  303. package/dist/bundle-core/four-meme/utils-pairwise.d.ts +0 -8
  304. package/dist/bundle-core/four-meme/utils-pairwise.js +0 -328
  305. package/dist/bundle-core/four-meme/utils-sweep.d.ts +0 -8
  306. package/dist/bundle-core/four-meme/utils-sweep.js +0 -744
  307. package/dist/bundle-core/index.d.ts +0 -8
  308. package/dist/bundle-core/index.js +0 -8
  309. package/dist/bundle-core/internal.d.ts +0 -21
  310. package/dist/bundle-core/internal.js +0 -182
  311. package/dist/bundle-core/sign-context-helpers.d.ts +0 -25
  312. package/dist/bundle-core/sign-context-helpers.js +0 -67
  313. package/dist/bundle-core/submit.d.ts +0 -293
  314. package/dist/bundle-core/submit.js +0 -727
  315. package/dist/bundle-core/types/index.d.ts +0 -8
  316. package/dist/bundle-core/types/index.js +0 -1
  317. package/dist/bundle-core/types.d.ts +0 -1
  318. package/dist/bundle-core/types.js +0 -1
  319. package/dist/chains/bsc/four/utils-disperse.d.ts +0 -1
  320. package/dist/chains/bsc/four/utils-disperse.js +0 -1
  321. package/dist/chains/bsc/four/utils-pairwise.d.ts +0 -1
  322. package/dist/chains/bsc/four/utils-pairwise.js +0 -1
  323. package/dist/chains/bsc/four/utils-sweep.d.ts +0 -1
  324. package/dist/chains/bsc/four/utils-sweep.js +0 -1
  325. package/dist/chains/bsc/iro.d.ts +0 -5
  326. package/dist/chains/bsc/iro.js +0 -4
  327. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +0 -159
  328. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +0 -117
  329. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +0 -241
  330. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +0 -565
  331. package/dist/chains/eni/flat-aliases.d.ts +0 -10
  332. package/dist/chains/eni/flat-aliases.js +0 -8
  333. package/dist/chains/eni/submit.d.ts +0 -43
  334. package/dist/chains/eni/submit.js +0 -286
  335. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +0 -13
  336. package/dist/chains/xlayer/eip7702/flat-aliases.js +0 -10
  337. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +0 -79
  338. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +0 -1
  339. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +0 -26
  340. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +0 -57
  341. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +0 -148
  342. package/dist/chains/xlayer/eip7702/volume-helpers.js +0 -48
  343. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +0 -126
  344. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +0 -228
  345. package/dist/contracts/tm-bundle-helpers.d.ts +0 -88
  346. package/dist/contracts/tm-bundle-helpers.js +0 -72
  347. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +0 -1
  348. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +0 -1
  349. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +0 -1
  350. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +0 -1
  351. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +0 -1
  352. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +0 -1
  353. package/dist/dex/direct-router-helpers.d.ts +0 -264
  354. package/dist/dex/direct-router-helpers.js +0 -539
  355. package/dist/dex/types.d.ts +0 -81
  356. package/dist/dex/types.js +0 -1
  357. package/dist/exports/root-bundle-and-tooling.d.ts +0 -27
  358. package/dist/exports/root-bundle-and-tooling.js +0 -30
  359. package/dist/exports/root-eni-and-bsc-iro.d.ts +0 -26
  360. package/dist/exports/root-eni-and-bsc-iro.js +0 -66
  361. package/dist/exports/root-foundations.d.ts +0 -35
  362. package/dist/exports/root-foundations.js +0 -70
  363. package/dist/exports/root-swap-dex-and-xlayer.d.ts +0 -30
  364. package/dist/exports/root-swap-dex-and-xlayer.js +0 -78
  365. package/dist/flap/index.d.ts +0 -10
  366. package/dist/flap/index.js +0 -8
  367. package/dist/flows/index.d.ts +0 -1
  368. package/dist/flows/index.js +0 -1
  369. package/dist/merkle/index.d.ts +0 -12
  370. package/dist/merkle/index.js +0 -11
  371. package/dist/shared/clients/index.d.ts +0 -8
  372. package/dist/shared/clients/index.js +0 -8
  373. package/dist/shared/constants/quote.d.ts +0 -30
  374. package/dist/shared/constants/quote.js +0 -37
  375. package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +0 -32
  376. package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +0 -83
  377. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +0 -125
  378. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +0 -113
  379. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +0 -149
  380. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +0 -259
  381. package/dist/shared/foundation/dex/v3-path.d.ts +0 -6
  382. package/dist/shared/foundation/dex/v3-path.js +0 -35
  383. package/dist/shared/foundation/gas/bundle-gas.d.ts +0 -49
  384. package/dist/shared/foundation/gas/bundle-gas.js +0 -93
  385. package/dist/shared/foundation/gas/profit-hop.d.ts +0 -20
  386. package/dist/shared/foundation/gas/profit-hop.js +0 -72
  387. package/dist/shared/foundation/index.d.ts +0 -13
  388. package/dist/shared/foundation/index.js +0 -12
  389. package/dist/shared/foundation/nonce/nonce-manager.d.ts +0 -17
  390. package/dist/shared/foundation/nonce/nonce-manager.js +0 -183
  391. package/dist/shared/foundation/normalize-unknown.d.ts +0 -9
  392. package/dist/shared/foundation/normalize-unknown.js +0 -29
  393. package/dist/shared/foundation/sdk-logger.d.ts +0 -13
  394. package/dist/shared/foundation/sdk-logger.js +0 -12
  395. package/dist/shared/foundation/tx/build-request.d.ts +0 -17
  396. package/dist/shared/foundation/tx/build-request.js +0 -25
  397. package/dist/shared/foundation/tx/sign-batch.d.ts +0 -5
  398. package/dist/shared/foundation/tx/sign-batch.js +0 -26
  399. package/dist/shared/foundation/tx/wallet-sign-patch.d.ts +0 -1
  400. package/dist/shared/foundation/tx/wallet-sign-patch.js +0 -18
  401. package/dist/shared/foundation/types/airdrop-sweep.d.ts +0 -79
  402. package/dist/shared/foundation/types/airdrop-sweep.js +0 -1
  403. package/dist/shared/foundation/types/erc20.d.ts +0 -65
  404. package/dist/shared/foundation/types/erc20.js +0 -1
  405. package/dist/shared/foundation/types/holders-maker.d.ts +0 -64
  406. package/dist/shared/foundation/types/holders-maker.js +0 -1
  407. package/dist/shared/foundation/types/index.d.ts +0 -7
  408. package/dist/shared/foundation/types/index.js +0 -1
  409. package/dist/shared/foundation/types/lp-inspect.d.ts +0 -102
  410. package/dist/shared/foundation/types/lp-inspect.js +0 -1
  411. package/dist/shared/foundation/types/multicall.d.ts +0 -5
  412. package/dist/shared/foundation/types/multicall.js +0 -1
  413. package/dist/shared/foundation/types/private-sale.d.ts +0 -35
  414. package/dist/shared/foundation/types/private-sale.js +0 -1
  415. package/dist/shared/foundation/types/quote-helpers.d.ts +0 -17
  416. package/dist/shared/foundation/types/quote-helpers.js +0 -1
  417. package/dist/types/errors.d.ts +0 -27
  418. package/dist/types/errors.js +0 -34
  419. package/dist/utils/holders-maker/addresses.d.ts +0 -12
  420. package/dist/utils/holders-maker/addresses.js +0 -15
  421. package/dist/utils/holders-maker/buy-tx.d.ts +0 -44
  422. package/dist/utils/holders-maker/buy-tx.js +0 -278
  423. package/dist/utils/holders-maker/constants.d.ts +0 -6
  424. package/dist/utils/holders-maker/constants.js +0 -7
  425. package/dist/utils/holders-maker/disperse.d.ts +0 -18
  426. package/dist/utils/holders-maker/disperse.js +0 -90
  427. package/dist/utils/holders-maker/routing.d.ts +0 -4
  428. package/dist/utils/holders-maker/routing.js +0 -45
  429. package/dist/utils/holders-maker/transfer-tx.d.ts +0 -4
  430. package/dist/utils/holders-maker/transfer-tx.js +0 -67
  431. package/dist/utils/holders-maker-helpers.d.ts +0 -9
  432. package/dist/utils/holders-maker-helpers.js +0 -9
  433. package/dist/utils/hop-chains.d.ts +0 -35
  434. package/dist/utils/hop-chains.js +0 -215
  435. package/dist/utils/lp-inspect-helpers.d.ts +0 -9
  436. package/dist/utils/lp-inspect-helpers.js +0 -109
  437. package/dist/utils/types/airdrop-sweep.d.ts +0 -1
  438. package/dist/utils/types/airdrop-sweep.js +0 -1
  439. package/dist/utils/types/contract-factory.d.ts +0 -1
  440. package/dist/utils/types/contract-factory.js +0 -1
  441. package/dist/utils/types/erc20.d.ts +0 -1
  442. package/dist/utils/types/erc20.js +0 -1
  443. package/dist/utils/types/errors.d.ts +0 -1
  444. package/dist/utils/types/errors.js +0 -1
  445. package/dist/utils/types/holders-maker.d.ts +0 -1
  446. package/dist/utils/types/holders-maker.js +0 -1
  447. package/dist/utils/types/hop-chains.d.ts +0 -8
  448. package/dist/utils/types/hop-chains.js +0 -1
  449. package/dist/utils/types/index.d.ts +0 -13
  450. package/dist/utils/types/index.js +0 -1
  451. package/dist/utils/types/lp-inspect.d.ts +0 -1
  452. package/dist/utils/types/lp-inspect.js +0 -1
  453. package/dist/utils/types/mpc-exclusive.d.ts +0 -5
  454. package/dist/utils/types/mpc-exclusive.js +0 -1
  455. package/dist/utils/types/private-sale.d.ts +0 -1
  456. package/dist/utils/types/private-sale.js +0 -1
  457. package/dist/utils/types/quote-helpers.d.ts +0 -1
  458. package/dist/utils/types/quote-helpers.js +0 -1
  459. package/dist/utils/types/stealth-transfer.d.ts +0 -44
  460. package/dist/utils/types/stealth-transfer.js +0 -1
  461. package/dist/utils/types/wallet.d.ts +0 -25
  462. package/dist/utils/types/wallet.js +0 -1
  463. package/dist/vanity/index.d.ts +0 -5
  464. package/dist/vanity/index.js +0 -5
  465. package/src/abis/contracts/TaxToken.json +0 -969
  466. package/src/abis/contracts/TokenManager.json +0 -836
  467. package/src/abis/contracts/TokenManager2.json +0 -136
  468. package/src/abis/contracts/TokenManagerHelper3.json +0 -993
  469. /package/dist/{abis/contracts → shared/abis}/TokenManager.json +0 -0
  470. /package/dist/{abis/contracts → shared/abis}/TokenManagerHelper3.json +0 -0
@@ -1,259 +0,0 @@
1
- /**
2
- * Flap Protocol 内盘捆绑换手(Merkle Bundle)
3
- *
4
- * 功能:钱包A卖出代币 → 钱包B买入相同数量 → 原子执行
5
- */
6
- import { ethers, Contract, Wallet } from 'ethers';
7
- import { ADDRESSES } from '../../../shared/constants/index.js';
8
- import { V2_ROUTER_QUOTE_ABI, ERC20_BALANCE_ABI, ERC20_ABI } from '../../abis/common.js';
9
- import { generateWallets } from '../../../utils/wallet.js';
10
- import { GAS_LIMITS, CHAINS } from '../../constants/index.js';
11
- // ==================== 多跳转账常量(使用统一常量) ====================
12
- export const NATIVE_TRANSFER_GAS_LIMIT = GAS_LIMITS.NATIVE_TRANSFER;
13
- export const ERC20_TRANSFER_GAS_LIMIT_HOP = GAS_LIMITS.ERC20_TRANSFER;
14
- export const BRIBE_GAS_LIMIT = GAS_LIMITS.BRIBE;
15
- /**
16
- * 生成分发多跳路径
17
- */
18
- export function generateDisperseHopPaths(targetAddresses, hopCount, provider) {
19
- if (hopCount <= 0) {
20
- return targetAddresses.map((addr) => ({
21
- targetAddress: addr,
22
- hopWallets: [],
23
- hopWalletsInfo: [],
24
- }));
25
- }
26
- return targetAddresses.map((targetAddress) => {
27
- const hopWalletsInfo = generateWallets(hopCount);
28
- const hopWallets = hopWalletsInfo.map((w) => new Wallet(w.privateKey, provider));
29
- return { targetAddress, hopWallets, hopWalletsInfo };
30
- });
31
- }
32
- /**
33
- * 构建原生代币多跳转账链
34
- */
35
- export async function buildNativeHopChain(payer, path, finalAmount, gasPrice, chainId, txType, payerNonce) {
36
- const signedTxs = [];
37
- const hopCount = path.hopWallets.length;
38
- if (hopCount === 0) {
39
- signedTxs.push(await payer.signTransaction({
40
- to: path.targetAddress,
41
- value: finalAmount,
42
- nonce: payerNonce,
43
- gasLimit: NATIVE_TRANSFER_GAS_LIMIT,
44
- gasPrice,
45
- chainId,
46
- type: txType,
47
- }));
48
- return signedTxs;
49
- }
50
- const hopGasCost = NATIVE_TRANSFER_GAS_LIMIT * gasPrice;
51
- // 计算每跳需要的金额
52
- const amountsPerHop = [];
53
- for (let i = 0; i < hopCount; i++) {
54
- const remainingHops = hopCount - i;
55
- amountsPerHop.push(finalAmount + hopGasCost * BigInt(remainingHops));
56
- }
57
- // payer → hop1
58
- signedTxs.push(await payer.signTransaction({
59
- to: path.hopWallets[0].address,
60
- value: amountsPerHop[0],
61
- nonce: payerNonce,
62
- gasLimit: NATIVE_TRANSFER_GAS_LIMIT,
63
- gasPrice,
64
- chainId,
65
- type: txType,
66
- }));
67
- // hop1 → hop2 → ... → target
68
- for (let i = 0; i < hopCount; i++) {
69
- const fromWallet = path.hopWallets[i];
70
- const toAddress = i === hopCount - 1 ? path.targetAddress : path.hopWallets[i + 1].address;
71
- const amount = i === hopCount - 1 ? finalAmount : amountsPerHop[i + 1];
72
- signedTxs.push(await fromWallet.signTransaction({
73
- to: toAddress,
74
- value: amount,
75
- nonce: 0,
76
- gasLimit: NATIVE_TRANSFER_GAS_LIMIT,
77
- gasPrice,
78
- chainId,
79
- type: txType,
80
- }));
81
- }
82
- return signedTxs;
83
- }
84
- /**
85
- * 构建 ERC20 多跳转账链
86
- */
87
- export async function buildERC20HopChain(payer, path, erc20Address, erc20Amount, gasPrice, chainId, txType, payerNonce) {
88
- const signedTxs = [];
89
- const hopCount = path.hopWallets.length;
90
- const erc20Interface = new ethers.Interface(ERC20_ABI);
91
- if (hopCount === 0) {
92
- const data = erc20Interface.encodeFunctionData('transfer', [path.targetAddress, erc20Amount]);
93
- signedTxs.push(await payer.signTransaction({
94
- to: erc20Address,
95
- data,
96
- value: 0n,
97
- nonce: payerNonce,
98
- gasLimit: ERC20_TRANSFER_GAS_LIMIT_HOP,
99
- gasPrice,
100
- chainId,
101
- type: txType,
102
- }));
103
- return signedTxs;
104
- }
105
- // payer → hop1
106
- const firstData = erc20Interface.encodeFunctionData('transfer', [path.hopWallets[0].address, erc20Amount]);
107
- signedTxs.push(await payer.signTransaction({
108
- to: erc20Address,
109
- data: firstData,
110
- value: 0n,
111
- nonce: payerNonce,
112
- gasLimit: ERC20_TRANSFER_GAS_LIMIT_HOP,
113
- gasPrice,
114
- chainId,
115
- type: txType,
116
- }));
117
- // hop1 → hop2 → ... → target (nonce=1,nonce=0 用于 BNB 转发)
118
- for (let i = 0; i < hopCount; i++) {
119
- const fromWallet = path.hopWallets[i];
120
- const toAddress = i === hopCount - 1 ? path.targetAddress : path.hopWallets[i + 1].address;
121
- const data = erc20Interface.encodeFunctionData('transfer', [toAddress, erc20Amount]);
122
- signedTxs.push(await fromWallet.signTransaction({
123
- to: erc20Address,
124
- data,
125
- value: 0n,
126
- nonce: 1, // nonce=0 已用于 BNB 转发
127
- gasLimit: ERC20_TRANSFER_GAS_LIMIT_HOP,
128
- gasPrice,
129
- chainId,
130
- type: txType,
131
- }));
132
- }
133
- return signedTxs;
134
- }
135
- /**
136
- * 构建 BNB 多跳转账链(为 ERC20 中间钱包预留 gas)
137
- */
138
- export async function buildBNBHopChainForERC20(payer, path, finalGasAmount, gasPrice, chainId, txType, payerNonce) {
139
- const signedTxs = [];
140
- const hopCount = path.hopWallets.length;
141
- if (hopCount === 0) {
142
- return signedTxs;
143
- }
144
- const hopGasCost = NATIVE_TRANSFER_GAS_LIMIT * gasPrice;
145
- const erc20GasCost = ERC20_TRANSFER_GAS_LIMIT_HOP * gasPrice;
146
- const gasPerHop = hopGasCost + erc20GasCost * 2n;
147
- const amountsPerHop = [];
148
- for (let i = 0; i < hopCount; i++) {
149
- const remainingHops = hopCount - i;
150
- amountsPerHop.push(finalGasAmount + gasPerHop * BigInt(remainingHops));
151
- }
152
- // payer → hop1
153
- signedTxs.push(await payer.signTransaction({
154
- to: path.hopWallets[0].address,
155
- value: amountsPerHop[0],
156
- nonce: payerNonce,
157
- gasLimit: NATIVE_TRANSFER_GAS_LIMIT,
158
- gasPrice,
159
- chainId,
160
- type: txType,
161
- }));
162
- // hop1 → hop2 → ... → target (nonce=0)
163
- for (let i = 0; i < hopCount; i++) {
164
- const fromWallet = path.hopWallets[i];
165
- const toAddress = i === hopCount - 1 ? path.targetAddress : path.hopWallets[i + 1].address;
166
- const amount = i === hopCount - 1 ? finalGasAmount : amountsPerHop[i + 1];
167
- signedTxs.push(await fromWallet.signTransaction({
168
- to: toAddress,
169
- value: amount,
170
- nonce: 0,
171
- gasLimit: NATIVE_TRANSFER_GAS_LIMIT,
172
- gasPrice,
173
- chainId,
174
- type: txType,
175
- }));
176
- }
177
- return signedTxs;
178
- }
179
- /**
180
- * 获取 Gas Limit
181
- */
182
- export function getGasLimit(config, defaultGas = 500000) {
183
- if (config.gasLimit !== undefined) {
184
- return typeof config.gasLimit === 'bigint' ? config.gasLimit : BigInt(config.gasLimit);
185
- }
186
- const multiplier = config.gasLimitMultiplier ?? 1.0;
187
- return BigInt(Math.ceil(defaultGas * multiplier));
188
- }
189
- // ✅ ABI 别名
190
- export const ROUTER_ABI = V2_ROUTER_QUOTE_ABI;
191
- export const ERC20_BALANCE_OF_ABI = ERC20_BALANCE_ABI;
192
- export const APPROVE_INTERFACE = new ethers.Interface(['function approve(address,uint256) returns (bool)']);
193
- // ✅ 链常量
194
- export const BSC_PANCAKE_V2_ROUTER = ADDRESSES.BSC.PancakeV2Router;
195
- export const BSC_WBNB = ADDRESSES.BSC.WBNB;
196
- export const MONAD_PANCAKE_V2_ROUTER = '0xb1bc24c34e88f7d43d5923034e3a14b24daacff9';
197
- export const MONAD_WMON = ADDRESSES.MONAD.WMON;
198
- /**
199
- * 获取 ERC20 代币 → 原生代币的报价
200
- * @param provider - Provider 实例
201
- * @param tokenAddress - ERC20 代币地址
202
- * @param tokenAmount - 代币数量(wei)
203
- * @param chainId - 链 ID(56=BSC, 143=Monad)
204
- * @returns 等值的原生代币数量(wei),失败返回 0n
205
- */
206
- export async function getTokenToNativeQuote(provider, tokenAddress, tokenAmount, chainId) {
207
- if (tokenAmount <= 0n)
208
- return 0n;
209
- try {
210
- if (chainId === CHAINS.BSC.chainId) {
211
- // BSC: 使用 PancakeSwap V2 Router
212
- const router = new Contract(BSC_PANCAKE_V2_ROUTER, ROUTER_ABI, provider);
213
- const amounts = await router.getAmountsOut(tokenAmount, [tokenAddress, BSC_WBNB]);
214
- return amounts[1];
215
- }
216
- if (chainId === CHAINS.MONAD.chainId) {
217
- // ✅ Monad: 使用 PancakeSwap V2 Router
218
- const router = new Contract(MONAD_PANCAKE_V2_ROUTER, ROUTER_ABI, provider);
219
- const amounts = await router.getAmountsOut(tokenAmount, [tokenAddress, MONAD_WMON]);
220
- return amounts[1];
221
- }
222
- // ✅ Base (8453) / XLayer (196) 等链暂不支持 V2 报价,返回 0
223
- return 0n;
224
- }
225
- catch {
226
- // 报价失败返回 0(可能是流动性不足或路径不存在)
227
- return 0n;
228
- }
229
- }
230
- /**
231
- * 获取链ID
232
- */
233
- export function getChainId(chain) {
234
- switch (chain) {
235
- case 'bsc':
236
- return 56;
237
- case 'xlayer':
238
- return 196;
239
- case 'base':
240
- return 8453;
241
- }
242
- }
243
- /**
244
- * 获取原生代币名称
245
- */
246
- export function getNativeTokenName(chain) {
247
- switch (chain) {
248
- case 'bsc':
249
- return 'BNB';
250
- case 'xlayer':
251
- return 'OKB';
252
- case 'base':
253
- return 'ETH';
254
- }
255
- }
256
- /**
257
- * Flap内盘捆绑换手
258
- * ✅ 支持 quoteToken:传入 USDT 等地址时,卖出得到该代币,买入使用该代币
259
- */
@@ -1,6 +0,0 @@
1
- export declare function getDeadline(minutes?: number): number;
2
- export declare function encodeV3Path(tokens: string[], fees: number[]): string;
3
- export declare function decodeV3Path(path: string): {
4
- tokens: string[];
5
- fees: number[];
6
- };
@@ -1,35 +0,0 @@
1
- import { GAS_CONFIG } from '../../constants/gas.js';
2
- export function getDeadline(minutes = GAS_CONFIG.DEFAULT_DEADLINE_MINUTES) {
3
- return Math.floor(Date.now() / 1000) + 60 * minutes;
4
- }
5
- export function encodeV3Path(tokens, fees) {
6
- if (tokens.length < 2) {
7
- throw new Error('V3 path 需要至少 2 个代币');
8
- }
9
- if (fees.length !== tokens.length - 1) {
10
- throw new Error(`费率数量 (${fees.length}) 必须等于代币数量 - 1 (${tokens.length - 1})`);
11
- }
12
- let path = '0x';
13
- for (let i = 0; i < tokens.length; i++) {
14
- path += tokens[i].slice(2).toLowerCase().padStart(40, '0');
15
- if (i < fees.length) {
16
- path += fees[i].toString(16).padStart(6, '0');
17
- }
18
- }
19
- return path;
20
- }
21
- export function decodeV3Path(path) {
22
- const cleanPath = path.startsWith('0x') ? path.slice(2) : path;
23
- const tokens = [];
24
- const fees = [];
25
- let offset = 0;
26
- while (offset < cleanPath.length) {
27
- tokens.push('0x' + cleanPath.slice(offset, offset + 40));
28
- offset += 40;
29
- if (offset < cleanPath.length) {
30
- fees.push(parseInt(cleanPath.slice(offset, offset + 6), 16));
31
- offset += 6;
32
- }
33
- }
34
- return { tokens, fees };
35
- }
@@ -1,49 +0,0 @@
1
- import { JsonRpcProvider, type TransactionRequest } from 'ethers';
2
- export interface GasPriceConfig {
3
- baseGasPrice?: bigint;
4
- multiplierPercent?: number;
5
- minGasPrice?: bigint;
6
- maxGasPrice?: bigint;
7
- }
8
- export declare function getOptimizedGasPrice(provider: JsonRpcProvider, config?: GasPriceConfig): Promise<bigint>;
9
- export interface GasEstimateConfig {
10
- multiplier?: number;
11
- fallbackGasLimit?: bigint;
12
- allowFailure?: boolean;
13
- }
14
- export declare function estimateGasWithSafety(provider: JsonRpcProvider, txRequest: TransactionRequest, config?: GasEstimateConfig): Promise<bigint>;
15
- export declare function estimateGasBatch(provider: JsonRpcProvider, txRequests: TransactionRequest[], config?: GasEstimateConfig): Promise<bigint[]>;
16
- export interface BuildTransactionOptions {
17
- from: string;
18
- to?: string;
19
- data?: string;
20
- value?: bigint;
21
- nonce: number;
22
- gasPrice: bigint;
23
- gasLimit: bigint;
24
- chainId: number;
25
- type?: 0 | 2;
26
- }
27
- export declare function buildTransaction(options: BuildTransactionOptions): TransactionRequest;
28
- export interface CommonBundleConfig {
29
- gasLimit?: number;
30
- gasLimitMultiplier?: number;
31
- minGasPriceGwei?: number;
32
- maxGasPriceGwei?: number;
33
- txType?: 0 | 2;
34
- chainId?: number;
35
- }
36
- export declare function getGasLimit(config: CommonBundleConfig, defaultGas?: number): bigint;
37
- export declare function getGasPriceConfig(config: CommonBundleConfig): GasPriceConfig;
38
- export declare function getTxType(config: CommonBundleConfig): 0 | 2;
39
- export type LegacyGasFields = {
40
- type: 0;
41
- gasPrice: bigint;
42
- };
43
- export type Eip1559GasFields = {
44
- type: 2;
45
- maxFeePerGas: bigint;
46
- maxPriorityFeePerGas: bigint;
47
- };
48
- export type TxGasFields = LegacyGasFields | Eip1559GasFields;
49
- export declare function buildGasFields(txType: number, gasPrice: bigint): TxGasFields;
@@ -1,93 +0,0 @@
1
- import { ethers } from 'ethers';
2
- export async function getOptimizedGasPrice(provider, config) {
3
- const feeData = await provider.getFeeData();
4
- const chainGasPrice = feeData.gasPrice || ethers.parseUnits('3', 'gwei');
5
- let gasPrice;
6
- if (config?.baseGasPrice) {
7
- gasPrice = config.baseGasPrice;
8
- }
9
- else {
10
- gasPrice = chainGasPrice;
11
- }
12
- const multiplier = config?.multiplierPercent ?? 50;
13
- gasPrice = (gasPrice * BigInt(100 + multiplier)) / 100n;
14
- if (gasPrice < chainGasPrice) {
15
- gasPrice = chainGasPrice;
16
- }
17
- if (config?.minGasPrice && gasPrice < config.minGasPrice) {
18
- gasPrice = config.minGasPrice;
19
- }
20
- if (config?.maxGasPrice && gasPrice > config.maxGasPrice) {
21
- gasPrice = config.maxGasPrice;
22
- }
23
- return gasPrice;
24
- }
25
- export async function estimateGasWithSafety(provider, txRequest, config) {
26
- const multiplier = config?.multiplier ?? 1.2;
27
- const fallback = config?.fallbackGasLimit ?? 600000n;
28
- const allowFailure = config?.allowFailure ?? true;
29
- try {
30
- const estimated = await provider.estimateGas(txRequest);
31
- return BigInt(Math.ceil(Number(estimated) * multiplier));
32
- }
33
- catch (error) {
34
- if (!allowFailure) {
35
- throw error;
36
- }
37
- return fallback;
38
- }
39
- }
40
- export async function estimateGasBatch(provider, txRequests, config) {
41
- return Promise.all(txRequests.map((req) => estimateGasWithSafety(provider, req, config)));
42
- }
43
- export function buildTransaction(options) {
44
- const tx = {
45
- from: options.from,
46
- nonce: options.nonce,
47
- gasLimit: options.gasLimit,
48
- chainId: options.chainId,
49
- };
50
- if (options.to)
51
- tx.to = options.to;
52
- if (options.data)
53
- tx.data = options.data;
54
- if (options.value)
55
- tx.value = options.value;
56
- if (options.type === 2) {
57
- tx.type = 2;
58
- tx.maxFeePerGas = options.gasPrice;
59
- tx.maxPriorityFeePerGas = options.gasPrice / 10n;
60
- }
61
- else {
62
- tx.type = 0;
63
- tx.gasPrice = options.gasPrice;
64
- }
65
- return tx;
66
- }
67
- export function getGasLimit(config, defaultGas = 500000) {
68
- if (config.gasLimit !== undefined) {
69
- return typeof config.gasLimit === 'bigint' ? config.gasLimit : BigInt(config.gasLimit);
70
- }
71
- const multiplier = config.gasLimitMultiplier ?? 1.0;
72
- return BigInt(Math.ceil(defaultGas * multiplier));
73
- }
74
- export function getGasPriceConfig(config) {
75
- const gasPriceConfig = {};
76
- if (config.minGasPriceGwei !== undefined) {
77
- gasPriceConfig.baseGasPrice = ethers.parseUnits(String(config.minGasPriceGwei), 'gwei');
78
- gasPriceConfig.multiplierPercent = 0;
79
- }
80
- if (config.maxGasPriceGwei !== undefined) {
81
- gasPriceConfig.maxGasPrice = ethers.parseUnits(String(config.maxGasPriceGwei), 'gwei');
82
- }
83
- return gasPriceConfig;
84
- }
85
- export function getTxType(config) {
86
- return config.txType ?? 0;
87
- }
88
- export function buildGasFields(txType, gasPrice) {
89
- if (txType === 2) {
90
- return { type: 2, maxFeePerGas: gasPrice, maxPriorityFeePerGas: gasPrice / 10n || 1n };
91
- }
92
- return { type: 0, gasPrice };
93
- }
@@ -1,20 +0,0 @@
1
- import { JsonRpcProvider, Wallet } from 'ethers';
2
- import { type GeneratedWallet } from '../../../utils/wallet.js';
3
- export interface ProfitHopConfig {
4
- provider: JsonRpcProvider;
5
- payerWallet: Wallet;
6
- profitAmount: bigint;
7
- profitRecipient: string;
8
- hopCount?: number;
9
- gasPrice: bigint;
10
- chainId: number;
11
- txType: number;
12
- startNonce?: number;
13
- }
14
- export interface ProfitHopResult {
15
- signedTransactions: string[];
16
- hopWallets: GeneratedWallet[];
17
- totalNonceUsed: number;
18
- }
19
- export declare const PROFIT_HOP_COUNT = 2;
20
- export declare function buildProfitHopTransactions(config: ProfitHopConfig): Promise<ProfitHopResult>;
@@ -1,72 +0,0 @@
1
- import { Wallet } from 'ethers';
2
- import { generateWallets } from '../../../utils/wallet.js';
3
- import { GAS_LIMITS, CHAINS } from '../../constants/index.js';
4
- import { NonceManager } from '../nonce/nonce-manager.js';
5
- import { buildGasFields } from './bundle-gas.js';
6
- export const PROFIT_HOP_COUNT = 2;
7
- const CHAINS_REQUIRE_HOP = [CHAINS.BSC.chainId];
8
- export async function buildProfitHopTransactions(config) {
9
- const { provider, payerWallet, profitAmount, profitRecipient, hopCount = PROFIT_HOP_COUNT, gasPrice, chainId, txType, startNonce, } = config;
10
- if (profitAmount <= 0n) {
11
- return { signedTransactions: [], hopWallets: [], totalNonceUsed: 0 };
12
- }
13
- const nativeTransferGasLimit = GAS_LIMITS.NATIVE_TRANSFER;
14
- const signedTxs = [];
15
- const nonceManager = new NonceManager(provider);
16
- const payerNonce = startNonce ?? (await nonceManager.getNextNonce(payerWallet));
17
- const needHop = CHAINS_REQUIRE_HOP.includes(chainId);
18
- const gasFields = buildGasFields(txType, gasPrice);
19
- if (!needHop) {
20
- const directTx = await payerWallet.signTransaction({
21
- to: profitRecipient,
22
- value: profitAmount,
23
- nonce: payerNonce,
24
- gasLimit: nativeTransferGasLimit,
25
- chainId,
26
- ...gasFields,
27
- });
28
- signedTxs.push(directTx);
29
- return { signedTransactions: signedTxs, hopWallets: [], totalNonceUsed: 1 };
30
- }
31
- const gasFeePerHop = nativeTransferGasLimit * gasPrice;
32
- const hopWalletsInfo = generateWallets(hopCount);
33
- const hopWallets = hopWalletsInfo.map((w) => new Wallet(w.privateKey, provider));
34
- const hopAmounts = [];
35
- for (let i = hopCount - 1; i >= 0; i--) {
36
- if (i === hopCount - 1) {
37
- hopAmounts.unshift(profitAmount + gasFeePerHop);
38
- }
39
- else {
40
- hopAmounts.unshift(hopAmounts[0] + gasFeePerHop);
41
- }
42
- }
43
- const payerTx = await payerWallet.signTransaction({
44
- to: hopWallets[0].address,
45
- value: hopAmounts[0],
46
- nonce: payerNonce,
47
- gasLimit: nativeTransferGasLimit,
48
- chainId,
49
- ...gasFields,
50
- });
51
- signedTxs.push(payerTx);
52
- for (let i = 0; i < hopCount; i++) {
53
- const fromWallet = hopWallets[i];
54
- const isLastHop = i === hopCount - 1;
55
- const toAddress = isLastHop ? profitRecipient : hopWallets[i + 1].address;
56
- const value = isLastHop ? profitAmount : hopAmounts[i + 1];
57
- const hopTx = await fromWallet.signTransaction({
58
- to: toAddress,
59
- value,
60
- nonce: 0,
61
- gasLimit: nativeTransferGasLimit,
62
- chainId,
63
- ...gasFields,
64
- });
65
- signedTxs.push(hopTx);
66
- }
67
- return {
68
- signedTransactions: signedTxs,
69
- hopWallets: hopWalletsInfo,
70
- totalNonceUsed: 1,
71
- };
72
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * SDK 横向基础(错误规范化、可选日志、共享类型与 Tx 构建)。
3
- * 新代码优先从这里收口 unknown / Logger / 复用类型;存量代码可渐进迁移。
4
- */
5
- export { getErrorMessageFromUnknown, normalizeUnknownError, type NormalizedErrorShape } from './normalize-unknown.js';
6
- export { noopSdkLogger, consoleSdkLogger, type SdkLogger } from './sdk-logger.js';
7
- export type { Aggregate3CallResult, EnsureAllowanceResult, EnsureAllowanceBatchItemResult, ApproveTokenBatchParams, ApproveTokenBatchRawParams, ApproveTokenBatchResult, ApproveTokenBatchSignResult, HoldersMakerChain, HoldersMakerTradeType, BaseTokenType, HoldersMakerConfig, HoldersMakerParams, TransactionLayer, BatchResult, HoldersMakerResult, DexConfig, ChainDexConfig, PoolPairInfo, V3PoolInfo, DexPoolInfo, BestPoolInfo, LPPlatform, LPInfo, InspectOptions, BundleSubmitResult, SignedTransactionsResult, AirdropDisperseParams, AirdropDisperseSignParams, AirdropSweepParams, AirdropSweepSignParams, DisperseParams, DisperseSignParams, SweepParams, SweepSignParams, PrivateSaleSignConfig, PrivateSaleTransferParams, BatchPrivateSaleParams, PrivateSaleResult, SupportedChain, QuoteParams, QuoteResult, } from './types/index.js';
8
- export { buildTransactionRequest, type BuildTxRequestParams } from './tx/build-request.js';
9
- export { NonceManager } from './nonce/nonce-manager.js';
10
- export { type GasPriceConfig, type GasEstimateConfig, type BuildTransactionOptions, type CommonBundleConfig, getOptimizedGasPrice, estimateGasWithSafety, estimateGasBatch, buildTransaction, getGasLimit, getGasPriceConfig, getTxType, buildGasFields, } from './gas/bundle-gas.js';
11
- export { type ProfitHopConfig, type ProfitHopResult, PROFIT_HOP_COUNT, buildProfitHopTransactions, } from './gas/profit-hop.js';
12
- export { getChainId, signTransactionsBatch, signTransactionsBatchMultiWallet, validateSignedTransactions, } from './tx/sign-batch.js';
13
- export { getDeadline, encodeV3Path, decodeV3Path } from './dex/v3-path.js';
@@ -1,12 +0,0 @@
1
- /**
2
- * SDK 横向基础(错误规范化、可选日志、共享类型与 Tx 构建)。
3
- * 新代码优先从这里收口 unknown / Logger / 复用类型;存量代码可渐进迁移。
4
- */
5
- export { getErrorMessageFromUnknown, normalizeUnknownError } from './normalize-unknown.js';
6
- export { noopSdkLogger, consoleSdkLogger } from './sdk-logger.js';
7
- export { buildTransactionRequest } from './tx/build-request.js';
8
- export { NonceManager } from './nonce/nonce-manager.js';
9
- export { getOptimizedGasPrice, estimateGasWithSafety, estimateGasBatch, buildTransaction, getGasLimit, getGasPriceConfig, getTxType, buildGasFields, } from './gas/bundle-gas.js';
10
- export { PROFIT_HOP_COUNT, buildProfitHopTransactions, } from './gas/profit-hop.js';
11
- export { getChainId, signTransactionsBatch, signTransactionsBatchMultiWallet, validateSignedTransactions, } from './tx/sign-batch.js';
12
- export { getDeadline, encodeV3Path, decodeV3Path } from './dex/v3-path.js';
@@ -1,17 +0,0 @@
1
- import '../tx/wallet-sign-patch.js';
2
- import { JsonRpcProvider, Wallet } from 'ethers';
3
- /**
4
- * Nonce 管理器 — bundle 交易中管理多钱包 nonce
5
- */
6
- export declare class NonceManager {
7
- private provider;
8
- private tempNonceCache;
9
- private chainIdPromise?;
10
- constructor(provider: JsonRpcProvider);
11
- private getChainId;
12
- getNextNonce(wallet: Wallet | string): Promise<number>;
13
- getNextNonceBatch(wallet: Wallet | string, count: number): Promise<number[]>;
14
- clearTemp(): void;
15
- getTempCachedNonce(address: string): number | undefined;
16
- getNextNoncesForWallets(wallets: (Wallet | string)[]): Promise<number[]>;
17
- }