four-flap-meme-sdk 2.2.0 → 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 (467) 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.js +1 -3
  36. package/dist/chains/bsc/platforms/iro/index.d.ts +5 -5
  37. package/dist/chains/bsc/platforms/iro/index.js +3 -3
  38. package/dist/chains/bsc/platforms/iro/pool.js +10 -31
  39. package/dist/chains/bsc/platforms/iro/token.js +1 -4
  40. package/dist/chains/eni/batch-router/bundle-approve.js +3 -4
  41. package/dist/chains/eni/batch-router/transfer.js +25 -55
  42. package/dist/chains/eni/batch-router/utils.js +6 -32
  43. package/dist/chains/eni/bundler/sign.js +4 -4
  44. package/dist/chains/eni/bundler/submit.js +4 -1
  45. package/dist/chains/eni/constants.js +1 -1
  46. package/dist/chains/eni/index.d.ts +1 -2
  47. package/dist/chains/eni/index.js +0 -1
  48. package/dist/chains/eni/platforms/daoaas/create.js +2 -2
  49. package/dist/chains/eni/platforms/daoaas/index.d.ts +3 -3
  50. package/dist/chains/eni/platforms/daoaas/index.js +3 -3
  51. package/dist/chains/eni/platforms/daoaas/meta.js +4 -8
  52. package/dist/chains/eni/platforms/daoaas/portal-direct.js +44 -28
  53. package/dist/chains/eni/platforms/daoaas/portal.js +6 -10
  54. package/dist/chains/eni/platforms/dswap/liquidity.js +26 -58
  55. package/dist/chains/eni/platforms/fair-launch/index.d.ts +2 -2
  56. package/dist/chains/eni/platforms/fair-launch/index.js +1 -1
  57. package/dist/chains/eni/platforms/fair-launch/launcher.js +46 -87
  58. package/dist/chains/eni/platforms/fair-launch/pool.js +1 -4
  59. package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
  60. package/dist/chains/eni/platforms/iro/factory.js +1 -3
  61. package/dist/chains/eni/platforms/iro/index.d.ts +6 -6
  62. package/dist/chains/eni/platforms/iro/index.js +4 -4
  63. package/dist/chains/eni/platforms/iro/pool.js +26 -90
  64. package/dist/chains/eni/platforms/iro/token.js +31 -107
  65. package/dist/chains/eni/platforms/iro/whitelist.js +18 -6
  66. package/dist/chains/index.d.ts +0 -13
  67. package/dist/chains/index.js +0 -13
  68. package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +26 -2
  69. package/dist/chains/xlayer/eip7702/bundle-approve.js +21 -11
  70. package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +6 -2
  71. package/dist/chains/xlayer/eip7702/bundle-buy.js +51 -13
  72. package/dist/chains/xlayer/eip7702/bundle-create.js +59 -93
  73. package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +6 -2
  74. package/dist/chains/xlayer/eip7702/bundle-sell.js +97 -26
  75. package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +65 -3
  76. package/dist/chains/xlayer/eip7702/bundle-swap.js +245 -51
  77. package/dist/chains/xlayer/eip7702/constants.d.ts +16 -1
  78. package/dist/chains/xlayer/eip7702/constants.js +21 -3
  79. package/dist/chains/xlayer/eip7702/index.d.ts +46 -28
  80. package/dist/chains/xlayer/eip7702/index.js +81 -28
  81. package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +203 -2
  82. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +301 -58
  83. package/dist/chains/xlayer/eip7702/types.d.ts +0 -88
  84. package/dist/chains/xlayer/eip7702/utils.d.ts +3 -0
  85. package/dist/chains/xlayer/eip7702/utils.js +28 -23
  86. package/dist/chains/xlayer/eip7702/volume.d.ts +184 -6
  87. package/dist/chains/xlayer/eip7702/volume.js +158 -83
  88. package/dist/chains/xlayer/eoa/constants.js +1 -1
  89. package/dist/chains/xlayer/eoa/dex-helpers.js +5 -5
  90. package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +95 -1
  91. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +299 -66
  92. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
  93. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +23 -18
  94. package/dist/chains/xlayer/eoa/index.d.ts +6 -10
  95. package/dist/chains/xlayer/eoa/index.js +23 -8
  96. package/dist/chains/xlayer/eoa/portal-ops.js +2 -7
  97. package/dist/chains/xlayer/eoa/router-manager.js +3 -3
  98. package/dist/chains/xlayer/eoa/types.d.ts +2 -2
  99. package/dist/chains/xlayer/eoa/types.js +3 -1
  100. package/dist/chains/xlayer/index.d.ts +2 -3
  101. package/dist/chains/xlayer/index.js +7 -4
  102. package/dist/contracts/helper3.d.ts +5 -20
  103. package/dist/contracts/helper3.js +20 -56
  104. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +26 -1
  105. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +113 -1
  106. package/dist/contracts/tm-bundle-merkle/config.d.ts +67 -5
  107. package/dist/contracts/tm-bundle-merkle/config.js +114 -2
  108. package/dist/contracts/tm-bundle-merkle/core.d.ts +4 -1
  109. package/dist/contracts/tm-bundle-merkle/core.js +591 -1
  110. package/dist/contracts/tm-bundle-merkle/index.d.ts +5 -5
  111. package/dist/contracts/tm-bundle-merkle/index.js +5 -5
  112. package/dist/contracts/tm-bundle-merkle/internal.d.ts +46 -2
  113. package/dist/contracts/tm-bundle-merkle/internal.js +238 -2
  114. package/dist/contracts/tm-bundle-merkle/pancake-proxy.d.ts +28 -1
  115. package/dist/contracts/tm-bundle-merkle/pancake-proxy.js +686 -1
  116. package/dist/contracts/tm-bundle-merkle/private.d.ts +27 -1
  117. package/dist/contracts/tm-bundle-merkle/private.js +476 -1
  118. package/dist/contracts/tm-bundle-merkle/submit.d.ts +314 -3
  119. package/dist/contracts/tm-bundle-merkle/submit.js +928 -3
  120. package/dist/contracts/tm-bundle-merkle/swap-buy-first.d.ts +55 -2
  121. package/dist/contracts/tm-bundle-merkle/swap-buy-first.js +506 -2
  122. package/dist/contracts/tm-bundle-merkle/swap-internal.d.ts +3 -1
  123. package/dist/contracts/tm-bundle-merkle/swap-internal.js +18 -1
  124. package/dist/contracts/tm-bundle-merkle/swap.d.ts +144 -2
  125. package/dist/contracts/tm-bundle-merkle/swap.js +764 -2
  126. package/dist/contracts/tm-bundle-merkle/types.d.ts +476 -1
  127. package/dist/contracts/tm-bundle-merkle/utils.d.ts +18 -6
  128. package/dist/contracts/tm-bundle-merkle/utils.js +1501 -6
  129. package/dist/contracts/tm-bundle.d.ts +51 -3
  130. package/dist/contracts/tm-bundle.js +177 -108
  131. package/dist/contracts/tm.d.ts +2 -3
  132. package/dist/contracts/tm.js +32 -37
  133. package/dist/contracts/tm1.js +4 -9
  134. package/dist/contracts/tm2.js +4 -9
  135. package/dist/dex/direct-router.d.ts +125 -3
  136. package/dist/dex/direct-router.js +666 -237
  137. package/dist/flows/create.d.ts +1 -2
  138. package/dist/flows/create.js +6 -6
  139. package/dist/index.d.ts +85 -20
  140. package/dist/index.js +215 -20
  141. package/dist/shared/abis/TaxToken.json +105 -0
  142. package/dist/shared/abis/TokenManager2.json +60 -0
  143. package/dist/shared/abis/common.d.ts +83 -2
  144. package/dist/shared/abis/common.js +252 -2
  145. package/dist/shared/abis/index.d.ts +6 -5
  146. package/dist/shared/abis/index.js +7 -5
  147. package/dist/shared/clients/blockrazor.js +25 -39
  148. package/dist/shared/clients/club48.d.ts +2 -2
  149. package/dist/shared/clients/club48.js +29 -34
  150. package/dist/shared/clients/emitservice.js +0 -2
  151. package/dist/shared/clients/four.d.ts +5 -5
  152. package/dist/shared/clients/four.js +17 -21
  153. package/dist/shared/clients/merkle.js +34 -27
  154. package/dist/shared/constants/addresses.d.ts +1 -1
  155. package/dist/shared/constants/addresses.js +2 -11
  156. package/dist/shared/constants/chains.d.ts +1 -1
  157. package/dist/shared/constants/chains.js +1 -1
  158. package/dist/shared/constants/gas.d.ts +1 -1
  159. package/dist/shared/constants/gas.js +6 -2
  160. package/dist/shared/constants/index.d.ts +0 -3
  161. package/dist/shared/constants/index.js +0 -1
  162. package/dist/shared/flap/abi.js +1 -1
  163. package/dist/shared/flap/constants.d.ts +2 -1
  164. package/dist/shared/flap/constants.js +3 -2
  165. package/dist/shared/flap/curve.js +0 -3
  166. package/dist/shared/flap/errors.d.ts +4 -1
  167. package/dist/shared/flap/errors.js +1 -20
  168. package/dist/shared/flap/index.d.ts +3 -3
  169. package/dist/shared/flap/index.js +3 -3
  170. package/dist/shared/flap/meta.d.ts +18 -16
  171. package/dist/shared/flap/meta.js +17 -12
  172. package/dist/shared/flap/permit.js +2 -5
  173. package/dist/shared/flap/pinata.d.ts +4 -11
  174. package/dist/shared/flap/pinata.js +16 -21
  175. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +72 -3
  176. package/dist/shared/flap/portal-bundle-merkle/config.js +124 -4
  177. package/dist/shared/flap/portal-bundle-merkle/core.d.ts +4 -0
  178. package/dist/shared/flap/portal-bundle-merkle/core.js +172 -92
  179. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +99 -106
  180. package/dist/shared/flap/portal-bundle-merkle/curve-to-dex.js +92 -100
  181. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +7 -11
  182. package/dist/shared/flap/portal-bundle-merkle/index.js +7 -4
  183. package/dist/shared/flap/portal-bundle-merkle/pancake-proxy.js +68 -71
  184. package/dist/shared/flap/portal-bundle-merkle/private.js +114 -61
  185. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +64 -1
  186. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.js +247 -66
  187. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +71 -2
  188. package/dist/shared/flap/portal-bundle-merkle/swap.js +410 -103
  189. package/dist/shared/flap/portal-bundle-merkle/types.d.ts +7 -73
  190. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +80 -1
  191. package/dist/shared/flap/portal-bundle-merkle/utils.js +265 -145
  192. package/dist/shared/flap/portal-bundle.js +56 -55
  193. package/dist/shared/flap/portal.d.ts +3 -1
  194. package/dist/shared/flap/portal.js +25 -32
  195. package/dist/shared/flap/vanity.d.ts +5 -1
  196. package/dist/shared/flap/vanity.js +17 -6
  197. package/dist/shared/flap/vault.d.ts +124 -17
  198. package/dist/shared/flap/vault.js +148 -67
  199. package/dist/shared/four/tax-token.d.ts +1 -1
  200. package/dist/shared/four/tax-token.js +7 -27
  201. package/dist/shared/index.d.ts +0 -6
  202. package/dist/shared/index.js +0 -4
  203. package/dist/utils/airdrop-sweep.d.ts +76 -4
  204. package/dist/utils/airdrop-sweep.js +54 -40
  205. package/dist/utils/bundle-helpers.d.ts +243 -9
  206. package/dist/utils/bundle-helpers.js +584 -10
  207. package/dist/utils/constants.d.ts +61 -5
  208. package/dist/utils/constants.js +80 -5
  209. package/dist/utils/contract-factory.d.ts +4 -2
  210. package/dist/utils/contract-factory.js +18 -25
  211. package/dist/utils/erc20.d.ts +89 -7
  212. package/dist/utils/erc20.js +125 -94
  213. package/dist/utils/errors.d.ts +1 -12
  214. package/dist/utils/errors.js +1 -60
  215. package/dist/utils/holders-maker.d.ts +138 -2
  216. package/dist/utils/holders-maker.js +661 -26
  217. package/dist/utils/lp-inspect.d.ts +112 -2
  218. package/dist/utils/lp-inspect.js +223 -73
  219. package/dist/utils/mpcExclusive.d.ts +5 -2
  220. package/dist/utils/mpcExclusive.js +3 -4
  221. package/dist/utils/private-sale.d.ts +58 -2
  222. package/dist/utils/private-sale.js +15 -4
  223. package/dist/utils/provider-factory.d.ts +0 -4
  224. package/dist/utils/provider-factory.js +0 -10
  225. package/dist/utils/quote-helpers.d.ts +45 -4
  226. package/dist/utils/quote-helpers.js +74 -17
  227. package/dist/utils/stealth-transfer.d.ts +28 -2
  228. package/dist/utils/stealth-transfer.js +15 -31
  229. package/dist/utils/swap-helpers.d.ts +15 -2
  230. package/dist/utils/swap-helpers.js +10 -5
  231. package/dist/utils/wallet.d.ts +25 -2
  232. package/dist/utils/wallet.js +8 -9
  233. package/package.json +4 -159
  234. package/dist/__tests__/subpath-exports.test.d.ts +0 -1
  235. package/dist/__tests__/subpath-exports.test.js +0 -64
  236. package/dist/abis/common.d.ts +0 -85
  237. package/dist/abis/common.js +0 -260
  238. package/dist/abis/contracts/TaxToken.json +0 -969
  239. package/dist/abis/contracts/TokenManager2.json +0 -136
  240. package/dist/abis/contracts/index.d.ts +0 -5
  241. package/dist/abis/contracts/index.js +0 -5
  242. package/dist/abis/flap/index.d.ts +0 -3
  243. package/dist/abis/flap/index.js +0 -3
  244. package/dist/abis/flap/portal-events.d.ts +0 -6
  245. package/dist/abis/flap/portal-events.js +0 -17
  246. package/dist/abis/flap/portal.d.ts +0 -6
  247. package/dist/abis/flap/portal.js +0 -37
  248. package/dist/abis/flap/vault.d.ts +0 -171
  249. package/dist/abis/flap/vault.js +0 -91
  250. package/dist/abis/index.d.ts +0 -8
  251. package/dist/abis/index.js +0 -11
  252. package/dist/bundle-core/__tests__/config-helpers.test.d.ts +0 -1
  253. package/dist/bundle-core/__tests__/config-helpers.test.js +0 -28
  254. package/dist/bundle-core/__tests__/facade-parity.test.d.ts +0 -1
  255. package/dist/bundle-core/__tests__/facade-parity.test.js +0 -33
  256. package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +0 -1
  257. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +0 -60
  258. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +0 -1
  259. package/dist/bundle-core/__tests__/sign-fixture.test.js +0 -220
  260. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +0 -10
  261. package/dist/bundle-core/__tests__/sign-fixtures.js +0 -16
  262. package/dist/bundle-core/config-helpers.d.ts +0 -36
  263. package/dist/bundle-core/config-helpers.js +0 -57
  264. package/dist/bundle-core/errors.d.ts +0 -50
  265. package/dist/bundle-core/errors.js +0 -34
  266. package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +0 -7
  267. package/dist/bundle-core/four-meme/approve-tokenmanager.js +0 -99
  268. package/dist/bundle-core/four-meme/core-helpers.d.ts +0 -8
  269. package/dist/bundle-core/four-meme/core-helpers.js +0 -40
  270. package/dist/bundle-core/four-meme/core.d.ts +0 -4
  271. package/dist/bundle-core/four-meme/core.js +0 -515
  272. package/dist/bundle-core/four-meme/pancake-proxy.d.ts +0 -28
  273. package/dist/bundle-core/four-meme/pancake-proxy.js +0 -679
  274. package/dist/bundle-core/four-meme/private.d.ts +0 -27
  275. package/dist/bundle-core/four-meme/private.js +0 -465
  276. package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +0 -2
  277. package/dist/bundle-core/four-meme/sign-context-helpers.js +0 -2
  278. package/dist/bundle-core/four-meme/swap-buy-first.d.ts +0 -8
  279. package/dist/bundle-core/four-meme/swap-buy-first.js +0 -493
  280. package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +0 -6
  281. package/dist/bundle-core/four-meme/swap-hop-helpers.js +0 -63
  282. package/dist/bundle-core/four-meme/swap-internal.d.ts +0 -3
  283. package/dist/bundle-core/four-meme/swap-internal.js +0 -18
  284. package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +0 -27
  285. package/dist/bundle-core/four-meme/swap-sign-helpers.js +0 -105
  286. package/dist/bundle-core/four-meme/swap.d.ts +0 -17
  287. package/dist/bundle-core/four-meme/swap.js +0 -505
  288. package/dist/bundle-core/four-meme/types/buy-first.d.ts +0 -50
  289. package/dist/bundle-core/four-meme/types/buy-first.js +0 -1
  290. package/dist/bundle-core/four-meme/types/core-flow.d.ts +0 -63
  291. package/dist/bundle-core/four-meme/types/core-flow.js +0 -1
  292. package/dist/bundle-core/four-meme/types/index.d.ts +0 -600
  293. package/dist/bundle-core/four-meme/types/index.js +0 -1
  294. package/dist/bundle-core/four-meme/types/swap-internal.d.ts +0 -19
  295. package/dist/bundle-core/four-meme/types/swap-internal.js +0 -1
  296. package/dist/bundle-core/four-meme/types.d.ts +0 -1
  297. package/dist/bundle-core/four-meme/types.js +0 -1
  298. package/dist/bundle-core/four-meme/utils-disperse.d.ts +0 -7
  299. package/dist/bundle-core/four-meme/utils-disperse.js +0 -396
  300. package/dist/bundle-core/four-meme/utils-pairwise.d.ts +0 -8
  301. package/dist/bundle-core/four-meme/utils-pairwise.js +0 -328
  302. package/dist/bundle-core/four-meme/utils-sweep.d.ts +0 -8
  303. package/dist/bundle-core/four-meme/utils-sweep.js +0 -744
  304. package/dist/bundle-core/index.d.ts +0 -8
  305. package/dist/bundle-core/index.js +0 -8
  306. package/dist/bundle-core/internal.d.ts +0 -21
  307. package/dist/bundle-core/internal.js +0 -182
  308. package/dist/bundle-core/sign-context-helpers.d.ts +0 -25
  309. package/dist/bundle-core/sign-context-helpers.js +0 -67
  310. package/dist/bundle-core/submit.d.ts +0 -293
  311. package/dist/bundle-core/submit.js +0 -727
  312. package/dist/bundle-core/types/index.d.ts +0 -8
  313. package/dist/bundle-core/types/index.js +0 -1
  314. package/dist/bundle-core/types.d.ts +0 -1
  315. package/dist/bundle-core/types.js +0 -1
  316. package/dist/chains/bsc/four/utils-disperse.d.ts +0 -1
  317. package/dist/chains/bsc/four/utils-disperse.js +0 -1
  318. package/dist/chains/bsc/four/utils-pairwise.d.ts +0 -1
  319. package/dist/chains/bsc/four/utils-pairwise.js +0 -1
  320. package/dist/chains/bsc/four/utils-sweep.d.ts +0 -1
  321. package/dist/chains/bsc/four/utils-sweep.js +0 -1
  322. package/dist/chains/bsc/iro.d.ts +0 -5
  323. package/dist/chains/bsc/iro.js +0 -4
  324. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +0 -159
  325. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +0 -117
  326. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +0 -241
  327. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +0 -565
  328. package/dist/chains/eni/flat-aliases.d.ts +0 -10
  329. package/dist/chains/eni/flat-aliases.js +0 -8
  330. package/dist/chains/eni/submit.d.ts +0 -43
  331. package/dist/chains/eni/submit.js +0 -286
  332. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +0 -13
  333. package/dist/chains/xlayer/eip7702/flat-aliases.js +0 -10
  334. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +0 -79
  335. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +0 -1
  336. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +0 -26
  337. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +0 -57
  338. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +0 -148
  339. package/dist/chains/xlayer/eip7702/volume-helpers.js +0 -48
  340. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +0 -126
  341. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +0 -228
  342. package/dist/contracts/tm-bundle-helpers.d.ts +0 -88
  343. package/dist/contracts/tm-bundle-helpers.js +0 -72
  344. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +0 -1
  345. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +0 -1
  346. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +0 -1
  347. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +0 -1
  348. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +0 -1
  349. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +0 -1
  350. package/dist/dex/direct-router-helpers.d.ts +0 -264
  351. package/dist/dex/direct-router-helpers.js +0 -539
  352. package/dist/dex/types.d.ts +0 -81
  353. package/dist/dex/types.js +0 -1
  354. package/dist/exports/root-bundle-and-tooling.d.ts +0 -27
  355. package/dist/exports/root-bundle-and-tooling.js +0 -30
  356. package/dist/exports/root-eni-and-bsc-iro.d.ts +0 -26
  357. package/dist/exports/root-eni-and-bsc-iro.js +0 -66
  358. package/dist/exports/root-foundations.d.ts +0 -35
  359. package/dist/exports/root-foundations.js +0 -70
  360. package/dist/exports/root-swap-dex-and-xlayer.d.ts +0 -30
  361. package/dist/exports/root-swap-dex-and-xlayer.js +0 -78
  362. package/dist/flap/index.d.ts +0 -10
  363. package/dist/flap/index.js +0 -8
  364. package/dist/flows/index.d.ts +0 -1
  365. package/dist/flows/index.js +0 -1
  366. package/dist/merkle/index.d.ts +0 -12
  367. package/dist/merkle/index.js +0 -11
  368. package/dist/shared/clients/index.d.ts +0 -8
  369. package/dist/shared/clients/index.js +0 -8
  370. package/dist/shared/constants/quote.d.ts +0 -30
  371. package/dist/shared/constants/quote.js +0 -37
  372. package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +0 -32
  373. package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +0 -83
  374. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +0 -125
  375. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +0 -113
  376. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +0 -149
  377. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +0 -259
  378. package/dist/shared/foundation/dex/v3-path.d.ts +0 -6
  379. package/dist/shared/foundation/dex/v3-path.js +0 -35
  380. package/dist/shared/foundation/gas/bundle-gas.d.ts +0 -39
  381. package/dist/shared/foundation/gas/bundle-gas.js +0 -93
  382. package/dist/shared/foundation/gas/profit-hop.d.ts +0 -20
  383. package/dist/shared/foundation/gas/profit-hop.js +0 -72
  384. package/dist/shared/foundation/index.d.ts +0 -13
  385. package/dist/shared/foundation/index.js +0 -12
  386. package/dist/shared/foundation/nonce/nonce-manager.d.ts +0 -17
  387. package/dist/shared/foundation/nonce/nonce-manager.js +0 -180
  388. package/dist/shared/foundation/normalize-unknown.d.ts +0 -9
  389. package/dist/shared/foundation/normalize-unknown.js +0 -29
  390. package/dist/shared/foundation/sdk-logger.d.ts +0 -13
  391. package/dist/shared/foundation/sdk-logger.js +0 -12
  392. package/dist/shared/foundation/tx/build-request.d.ts +0 -17
  393. package/dist/shared/foundation/tx/build-request.js +0 -25
  394. package/dist/shared/foundation/tx/sign-batch.d.ts +0 -5
  395. package/dist/shared/foundation/tx/sign-batch.js +0 -26
  396. package/dist/shared/foundation/tx/wallet-sign-patch.d.ts +0 -1
  397. package/dist/shared/foundation/tx/wallet-sign-patch.js +0 -18
  398. package/dist/shared/foundation/types/airdrop-sweep.d.ts +0 -79
  399. package/dist/shared/foundation/types/airdrop-sweep.js +0 -1
  400. package/dist/shared/foundation/types/erc20.d.ts +0 -65
  401. package/dist/shared/foundation/types/erc20.js +0 -1
  402. package/dist/shared/foundation/types/holders-maker.d.ts +0 -64
  403. package/dist/shared/foundation/types/holders-maker.js +0 -1
  404. package/dist/shared/foundation/types/index.d.ts +0 -7
  405. package/dist/shared/foundation/types/index.js +0 -1
  406. package/dist/shared/foundation/types/lp-inspect.d.ts +0 -102
  407. package/dist/shared/foundation/types/lp-inspect.js +0 -1
  408. package/dist/shared/foundation/types/multicall.d.ts +0 -5
  409. package/dist/shared/foundation/types/multicall.js +0 -1
  410. package/dist/shared/foundation/types/private-sale.d.ts +0 -35
  411. package/dist/shared/foundation/types/private-sale.js +0 -1
  412. package/dist/shared/foundation/types/quote-helpers.d.ts +0 -17
  413. package/dist/shared/foundation/types/quote-helpers.js +0 -1
  414. package/dist/types/errors.d.ts +0 -27
  415. package/dist/types/errors.js +0 -34
  416. package/dist/utils/holders-maker/addresses.d.ts +0 -12
  417. package/dist/utils/holders-maker/addresses.js +0 -15
  418. package/dist/utils/holders-maker/buy-tx.d.ts +0 -44
  419. package/dist/utils/holders-maker/buy-tx.js +0 -278
  420. package/dist/utils/holders-maker/constants.d.ts +0 -6
  421. package/dist/utils/holders-maker/constants.js +0 -7
  422. package/dist/utils/holders-maker/disperse.d.ts +0 -18
  423. package/dist/utils/holders-maker/disperse.js +0 -90
  424. package/dist/utils/holders-maker/routing.d.ts +0 -4
  425. package/dist/utils/holders-maker/routing.js +0 -45
  426. package/dist/utils/holders-maker/transfer-tx.d.ts +0 -4
  427. package/dist/utils/holders-maker/transfer-tx.js +0 -67
  428. package/dist/utils/holders-maker-helpers.d.ts +0 -9
  429. package/dist/utils/holders-maker-helpers.js +0 -9
  430. package/dist/utils/hop-chains.d.ts +0 -35
  431. package/dist/utils/hop-chains.js +0 -215
  432. package/dist/utils/lp-inspect-helpers.d.ts +0 -9
  433. package/dist/utils/lp-inspect-helpers.js +0 -109
  434. package/dist/utils/types/airdrop-sweep.d.ts +0 -1
  435. package/dist/utils/types/airdrop-sweep.js +0 -1
  436. package/dist/utils/types/contract-factory.d.ts +0 -1
  437. package/dist/utils/types/contract-factory.js +0 -1
  438. package/dist/utils/types/erc20.d.ts +0 -1
  439. package/dist/utils/types/erc20.js +0 -1
  440. package/dist/utils/types/errors.d.ts +0 -1
  441. package/dist/utils/types/errors.js +0 -1
  442. package/dist/utils/types/holders-maker.d.ts +0 -1
  443. package/dist/utils/types/holders-maker.js +0 -1
  444. package/dist/utils/types/hop-chains.d.ts +0 -8
  445. package/dist/utils/types/hop-chains.js +0 -1
  446. package/dist/utils/types/index.d.ts +0 -13
  447. package/dist/utils/types/index.js +0 -1
  448. package/dist/utils/types/lp-inspect.d.ts +0 -1
  449. package/dist/utils/types/lp-inspect.js +0 -1
  450. package/dist/utils/types/mpc-exclusive.d.ts +0 -5
  451. package/dist/utils/types/mpc-exclusive.js +0 -1
  452. package/dist/utils/types/private-sale.d.ts +0 -1
  453. package/dist/utils/types/private-sale.js +0 -1
  454. package/dist/utils/types/quote-helpers.d.ts +0 -1
  455. package/dist/utils/types/quote-helpers.js +0 -1
  456. package/dist/utils/types/stealth-transfer.d.ts +0 -44
  457. package/dist/utils/types/stealth-transfer.js +0 -1
  458. package/dist/utils/types/wallet.d.ts +0 -25
  459. package/dist/utils/types/wallet.js +0 -1
  460. package/dist/vanity/index.d.ts +0 -5
  461. package/dist/vanity/index.js +0 -5
  462. package/src/abis/contracts/TaxToken.json +0 -969
  463. package/src/abis/contracts/TokenManager.json +0 -836
  464. package/src/abis/contracts/TokenManager2.json +0 -136
  465. package/src/abis/contracts/TokenManagerHelper3.json +0 -993
  466. /package/dist/{abis/contracts → shared/abis}/TokenManager.json +0 -0
  467. /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,39 +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 declare function buildGasFields(txType: number, gasPrice: bigint): Record<string, unknown>;
@@ -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
- }