four-flap-meme-sdk 1.9.49 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/README.en.md +41 -6
  2. package/README.md +31 -0
  3. package/README.zh-CN.md +41 -6
  4. package/dist/abis/common.js +74 -68
  5. package/dist/abis/flap/vault.js +9 -7
  6. package/dist/abis/index.d.ts +3 -4
  7. package/dist/abis/index.js +3 -4
  8. package/dist/bundle-core/__tests__/config-helpers.test.js +28 -0
  9. package/dist/bundle-core/__tests__/facade-parity.test.js +33 -0
  10. package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +1 -0
  11. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +60 -0
  12. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +1 -0
  13. package/dist/bundle-core/__tests__/sign-fixture.test.js +220 -0
  14. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +10 -0
  15. package/dist/bundle-core/__tests__/sign-fixtures.js +16 -0
  16. package/dist/bundle-core/config-helpers.d.ts +36 -0
  17. package/dist/bundle-core/config-helpers.js +57 -0
  18. package/dist/bundle-core/errors.d.ts +50 -0
  19. package/dist/bundle-core/errors.js +34 -0
  20. package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +7 -0
  21. package/dist/bundle-core/four-meme/approve-tokenmanager.js +99 -0
  22. package/dist/bundle-core/four-meme/core-helpers.d.ts +8 -0
  23. package/dist/bundle-core/four-meme/core-helpers.js +40 -0
  24. package/dist/bundle-core/four-meme/core.d.ts +4 -0
  25. package/dist/bundle-core/four-meme/core.js +515 -0
  26. package/dist/bundle-core/four-meme/pancake-proxy.d.ts +28 -0
  27. package/dist/bundle-core/four-meme/pancake-proxy.js +679 -0
  28. package/dist/bundle-core/four-meme/private.d.ts +27 -0
  29. package/dist/bundle-core/four-meme/private.js +465 -0
  30. package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +2 -0
  31. package/dist/bundle-core/four-meme/sign-context-helpers.js +2 -0
  32. package/dist/bundle-core/four-meme/swap-buy-first.d.ts +8 -0
  33. package/dist/bundle-core/four-meme/swap-buy-first.js +493 -0
  34. package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +6 -0
  35. package/dist/bundle-core/four-meme/swap-hop-helpers.js +63 -0
  36. package/dist/bundle-core/four-meme/swap-internal.d.ts +3 -0
  37. package/dist/bundle-core/four-meme/swap-internal.js +18 -0
  38. package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +27 -0
  39. package/dist/bundle-core/four-meme/swap-sign-helpers.js +105 -0
  40. package/dist/bundle-core/four-meme/swap.d.ts +17 -0
  41. package/dist/bundle-core/four-meme/swap.js +505 -0
  42. package/dist/bundle-core/four-meme/types/buy-first.d.ts +50 -0
  43. package/dist/bundle-core/four-meme/types/buy-first.js +1 -0
  44. package/dist/bundle-core/four-meme/types/core-flow.d.ts +63 -0
  45. package/dist/bundle-core/four-meme/types/core-flow.js +1 -0
  46. package/dist/bundle-core/four-meme/types/index.d.ts +600 -0
  47. package/dist/bundle-core/four-meme/types/index.js +1 -0
  48. package/dist/bundle-core/four-meme/types/swap-internal.d.ts +19 -0
  49. package/dist/bundle-core/four-meme/types/swap-internal.js +1 -0
  50. package/dist/bundle-core/four-meme/types.d.ts +1 -0
  51. package/dist/bundle-core/four-meme/types.js +1 -0
  52. package/dist/bundle-core/four-meme/utils-disperse.d.ts +7 -0
  53. package/dist/bundle-core/four-meme/utils-disperse.js +396 -0
  54. package/dist/bundle-core/four-meme/utils-pairwise.d.ts +8 -0
  55. package/dist/bundle-core/four-meme/utils-pairwise.js +328 -0
  56. package/dist/bundle-core/four-meme/utils-sweep.d.ts +8 -0
  57. package/dist/bundle-core/four-meme/utils-sweep.js +744 -0
  58. package/dist/bundle-core/index.d.ts +8 -0
  59. package/dist/bundle-core/index.js +8 -0
  60. package/dist/bundle-core/internal.d.ts +21 -0
  61. package/dist/bundle-core/internal.js +182 -0
  62. package/dist/bundle-core/sign-context-helpers.d.ts +25 -0
  63. package/dist/bundle-core/sign-context-helpers.js +67 -0
  64. package/dist/bundle-core/submit.d.ts +293 -0
  65. package/dist/bundle-core/submit.js +727 -0
  66. package/dist/bundle-core/types/index.d.ts +8 -0
  67. package/dist/bundle-core/types/index.js +1 -0
  68. package/dist/bundle-core/types.d.ts +1 -0
  69. package/dist/bundle-core/types.js +1 -0
  70. package/dist/chains/bsc/four/approve-tokenmanager.d.ts +1 -26
  71. package/dist/chains/bsc/four/approve-tokenmanager.js +1 -116
  72. package/dist/chains/bsc/four/config.d.ts +5 -70
  73. package/dist/chains/bsc/four/config.js +2 -115
  74. package/dist/chains/bsc/four/core.d.ts +1 -4
  75. package/dist/chains/bsc/four/core.js +1 -589
  76. package/dist/chains/bsc/four/disperse.d.ts +12 -0
  77. package/dist/chains/bsc/four/disperse.js +470 -0
  78. package/dist/chains/bsc/four/index.d.ts +6 -6
  79. package/dist/chains/bsc/four/index.js +6 -6
  80. package/dist/chains/bsc/four/internal.d.ts +2 -50
  81. package/dist/chains/bsc/four/internal.js +2 -237
  82. package/dist/chains/bsc/four/pairwise.d.ts +7 -0
  83. package/dist/chains/bsc/four/pairwise.js +308 -0
  84. package/dist/chains/bsc/four/pancake-proxy.d.ts +1 -28
  85. package/dist/chains/bsc/four/pancake-proxy.js +1 -688
  86. package/dist/chains/bsc/four/private.d.ts +1 -27
  87. package/dist/chains/bsc/four/private.js +1 -477
  88. package/dist/chains/bsc/four/submit.d.ts +2 -315
  89. package/dist/chains/bsc/four/submit.js +2 -746
  90. package/dist/chains/bsc/four/swap-buy-first.d.ts +2 -55
  91. package/dist/chains/bsc/four/swap-buy-first.js +2 -506
  92. package/dist/chains/bsc/four/swap-internal.d.ts +1 -3
  93. package/dist/chains/bsc/four/swap-internal.js +1 -18
  94. package/dist/chains/bsc/four/swap.d.ts +2 -144
  95. package/dist/chains/bsc/four/swap.js +2 -760
  96. package/dist/chains/bsc/four/sweep.d.ts +13 -0
  97. package/dist/chains/bsc/four/sweep.js +788 -0
  98. package/dist/chains/bsc/four/types.d.ts +1 -476
  99. package/dist/chains/bsc/four/utils-disperse.d.ts +1 -0
  100. package/dist/chains/bsc/four/utils-disperse.js +1 -0
  101. package/dist/chains/bsc/four/utils-pairwise.d.ts +1 -0
  102. package/dist/chains/bsc/four/utils-pairwise.js +1 -0
  103. package/dist/chains/bsc/four/utils-sweep.d.ts +1 -0
  104. package/dist/chains/bsc/four/utils-sweep.js +1 -0
  105. package/dist/chains/bsc/four/utils.d.ts +5 -18
  106. package/dist/chains/bsc/four/utils.js +5 -1534
  107. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +159 -0
  108. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +117 -0
  109. package/dist/chains/bsc/pancake/bundle-buy-first.d.ts +1 -91
  110. package/dist/chains/bsc/pancake/bundle-buy-first.js +97 -207
  111. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +241 -0
  112. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +565 -0
  113. package/dist/chains/bsc/pancake/bundle-swap.d.ts +1 -79
  114. package/dist/chains/bsc/pancake/bundle-swap.js +111 -686
  115. package/dist/chains/bsc/pancake/index.d.ts +4 -2
  116. package/dist/chains/bsc/pancake/index.js +1 -3
  117. package/dist/chains/bsc/platforms/iro/factory.js +3 -1
  118. package/dist/chains/bsc/platforms/iro/index.d.ts +5 -5
  119. package/dist/chains/bsc/platforms/iro/index.js +3 -3
  120. package/dist/chains/bsc/platforms/iro/pool.js +31 -10
  121. package/dist/chains/bsc/platforms/iro/token.js +4 -1
  122. package/dist/chains/eni/batch-router/bundle-approve.js +4 -3
  123. package/dist/chains/eni/batch-router/transfer.js +54 -23
  124. package/dist/chains/eni/batch-router/utils.js +32 -6
  125. package/dist/chains/eni/bundler/sign.js +4 -4
  126. package/dist/chains/eni/bundler/submit.js +1 -4
  127. package/dist/chains/eni/constants.js +1 -1
  128. package/dist/chains/eni/index.d.ts +1 -1
  129. package/dist/chains/eni/platforms/daoaas/create.js +2 -2
  130. package/dist/chains/eni/platforms/daoaas/index.d.ts +3 -3
  131. package/dist/chains/eni/platforms/daoaas/index.js +3 -3
  132. package/dist/chains/eni/platforms/daoaas/meta.js +8 -4
  133. package/dist/chains/eni/platforms/daoaas/portal-direct.js +28 -43
  134. package/dist/chains/eni/platforms/daoaas/portal.js +10 -6
  135. package/dist/chains/eni/platforms/dswap/liquidity.js +58 -26
  136. package/dist/chains/eni/platforms/fair-launch/index.d.ts +2 -2
  137. package/dist/chains/eni/platforms/fair-launch/index.js +1 -1
  138. package/dist/chains/eni/platforms/fair-launch/launcher.js +87 -47
  139. package/dist/chains/eni/platforms/fair-launch/pool.js +4 -1
  140. package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
  141. package/dist/chains/eni/platforms/iro/factory.js +3 -1
  142. package/dist/chains/eni/platforms/iro/index.d.ts +6 -6
  143. package/dist/chains/eni/platforms/iro/index.js +4 -4
  144. package/dist/chains/eni/platforms/iro/pool.js +90 -26
  145. package/dist/chains/eni/platforms/iro/token.js +107 -31
  146. package/dist/chains/eni/platforms/iro/whitelist.js +6 -18
  147. package/dist/chains/eni/submit.js +5 -13
  148. package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +2 -26
  149. package/dist/chains/xlayer/eip7702/bundle-approve.js +11 -20
  150. package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +2 -6
  151. package/dist/chains/xlayer/eip7702/bundle-buy.js +13 -51
  152. package/dist/chains/xlayer/eip7702/bundle-create.js +93 -56
  153. package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +2 -6
  154. package/dist/chains/xlayer/eip7702/bundle-sell.js +26 -74
  155. package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +3 -65
  156. package/dist/chains/xlayer/eip7702/bundle-swap.js +51 -68
  157. package/dist/chains/xlayer/eip7702/constants.d.ts +1 -16
  158. package/dist/chains/xlayer/eip7702/constants.js +3 -21
  159. package/dist/chains/xlayer/eip7702/index.d.ts +27 -46
  160. package/dist/chains/xlayer/eip7702/index.js +27 -81
  161. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +79 -0
  162. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +1 -0
  163. package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +2 -203
  164. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +58 -291
  165. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +26 -0
  166. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +57 -0
  167. package/dist/chains/xlayer/eip7702/types.d.ts +88 -0
  168. package/dist/chains/xlayer/eip7702/utils.d.ts +0 -3
  169. package/dist/chains/xlayer/eip7702/utils.js +23 -28
  170. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +148 -0
  171. package/dist/chains/xlayer/eip7702/volume-helpers.js +48 -0
  172. package/dist/chains/xlayer/eip7702/volume.d.ts +6 -184
  173. package/dist/chains/xlayer/eip7702/volume.js +83 -158
  174. package/dist/chains/xlayer/eoa/constants.js +1 -1
  175. package/dist/chains/xlayer/eoa/dex-helpers.js +5 -5
  176. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +126 -0
  177. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +228 -0
  178. package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +1 -95
  179. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +64 -276
  180. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
  181. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +14 -14
  182. package/dist/chains/xlayer/eoa/index.d.ts +10 -6
  183. package/dist/chains/xlayer/eoa/index.js +8 -23
  184. package/dist/chains/xlayer/eoa/portal-ops.js +7 -2
  185. package/dist/chains/xlayer/eoa/router-manager.js +3 -3
  186. package/dist/chains/xlayer/eoa/types-core.d.ts +363 -0
  187. package/dist/chains/xlayer/eoa/types-core.js +53 -0
  188. package/dist/chains/xlayer/eoa/types-create.d.ts +413 -0
  189. package/dist/chains/xlayer/eoa/types-create.js +9 -0
  190. package/dist/chains/xlayer/eoa/types-volume.d.ts +209 -0
  191. package/dist/chains/xlayer/eoa/types-volume.js +13 -0
  192. package/dist/chains/xlayer/eoa/types.d.ts +2 -2
  193. package/dist/chains/xlayer/eoa/types.js +1 -3
  194. package/dist/contracts/helper3.d.ts +20 -17
  195. package/dist/contracts/helper3.js +56 -20
  196. package/dist/contracts/tm-bundle-helpers.d.ts +88 -0
  197. package/dist/contracts/tm-bundle-helpers.js +72 -0
  198. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +1 -26
  199. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +1 -117
  200. package/dist/contracts/tm-bundle-merkle/config.d.ts +5 -70
  201. package/dist/contracts/tm-bundle-merkle/config.js +2 -115
  202. package/dist/contracts/tm-bundle-merkle/core.d.ts +1 -4
  203. package/dist/contracts/tm-bundle-merkle/core.js +1 -588
  204. package/dist/contracts/tm-bundle-merkle/index.d.ts +5 -5
  205. package/dist/contracts/tm-bundle-merkle/index.js +5 -5
  206. package/dist/contracts/tm-bundle-merkle/internal.d.ts +2 -50
  207. package/dist/contracts/tm-bundle-merkle/internal.js +2 -236
  208. package/dist/contracts/tm-bundle-merkle/pancake-proxy.d.ts +1 -28
  209. package/dist/contracts/tm-bundle-merkle/pancake-proxy.js +1 -687
  210. package/dist/contracts/tm-bundle-merkle/private.d.ts +1 -27
  211. package/dist/contracts/tm-bundle-merkle/private.js +1 -476
  212. package/dist/contracts/tm-bundle-merkle/submit.d.ts +3 -314
  213. package/dist/contracts/tm-bundle-merkle/submit.js +3 -919
  214. package/dist/contracts/tm-bundle-merkle/swap-buy-first.d.ts +2 -55
  215. package/dist/contracts/tm-bundle-merkle/swap-buy-first.js +2 -505
  216. package/dist/contracts/tm-bundle-merkle/swap-internal.d.ts +1 -3
  217. package/dist/contracts/tm-bundle-merkle/swap-internal.js +1 -18
  218. package/dist/contracts/tm-bundle-merkle/swap.d.ts +2 -144
  219. package/dist/contracts/tm-bundle-merkle/swap.js +2 -757
  220. package/dist/contracts/tm-bundle-merkle/types.d.ts +1 -476
  221. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +1 -0
  222. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +1 -0
  223. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +1 -0
  224. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +1 -0
  225. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +1 -0
  226. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +1 -0
  227. package/dist/contracts/tm-bundle-merkle/utils.d.ts +5 -6
  228. package/dist/contracts/tm-bundle-merkle/utils.js +5 -6
  229. package/dist/contracts/tm-bundle.d.ts +3 -51
  230. package/dist/contracts/tm-bundle.js +102 -142
  231. package/dist/contracts/tm.d.ts +3 -2
  232. package/dist/contracts/tm.js +36 -32
  233. package/dist/contracts/tm1.js +9 -4
  234. package/dist/contracts/tm2.js +9 -4
  235. package/dist/dex/direct-router-helpers.d.ts +264 -0
  236. package/dist/dex/direct-router-helpers.js +539 -0
  237. package/dist/dex/direct-router.d.ts +3 -125
  238. package/dist/dex/direct-router.js +237 -652
  239. package/dist/dex/types.d.ts +81 -0
  240. package/dist/dex/types.js +1 -0
  241. package/dist/exports/root-bundle-and-tooling.d.ts +27 -0
  242. package/dist/exports/root-bundle-and-tooling.js +30 -0
  243. package/dist/exports/root-eni-and-bsc-iro.d.ts +26 -0
  244. package/dist/exports/root-eni-and-bsc-iro.js +66 -0
  245. package/dist/exports/root-foundations.d.ts +35 -0
  246. package/dist/exports/root-foundations.js +70 -0
  247. package/dist/exports/root-swap-dex-and-xlayer.d.ts +30 -0
  248. package/dist/exports/root-swap-dex-and-xlayer.js +78 -0
  249. package/dist/flows/create.d.ts +2 -2
  250. package/dist/flows/create.js +6 -6
  251. package/dist/flows/index.d.ts +1 -0
  252. package/dist/flows/index.js +1 -0
  253. package/dist/index.d.ts +20 -91
  254. package/dist/index.js +20 -215
  255. package/dist/shared/abis/common.d.ts +2 -83
  256. package/dist/shared/abis/common.js +2 -252
  257. package/dist/shared/abis/index.d.ts +5 -6
  258. package/dist/shared/abis/index.js +5 -7
  259. package/dist/shared/clients/blockrazor.js +41 -24
  260. package/dist/shared/clients/club48.js +30 -26
  261. package/dist/shared/clients/emitservice.js +2 -0
  262. package/dist/shared/clients/four.js +23 -18
  263. package/dist/shared/clients/index.d.ts +8 -0
  264. package/dist/shared/clients/index.js +8 -0
  265. package/dist/shared/clients/merkle.js +26 -30
  266. package/dist/shared/constants/addresses.d.ts +1 -1
  267. package/dist/shared/constants/addresses.js +11 -2
  268. package/dist/shared/constants/chains.d.ts +1 -1
  269. package/dist/shared/constants/chains.js +1 -1
  270. package/dist/shared/constants/gas.d.ts +1 -1
  271. package/dist/shared/constants/gas.js +2 -6
  272. package/dist/shared/constants/index.d.ts +1 -0
  273. package/dist/shared/constants/index.js +1 -0
  274. package/dist/shared/constants/quote.d.ts +30 -0
  275. package/dist/shared/constants/quote.js +37 -0
  276. package/dist/shared/flap/__tests__/curve.test.js +3 -3
  277. package/dist/shared/flap/abi.js +1 -1
  278. package/dist/shared/flap/constants.d.ts +1 -1
  279. package/dist/shared/flap/constants.js +2 -2
  280. package/dist/shared/flap/curve.js +3 -0
  281. package/dist/shared/flap/errors.d.ts +1 -4
  282. package/dist/shared/flap/errors.js +21 -3
  283. package/dist/shared/flap/index.d.ts +2 -2
  284. package/dist/shared/flap/index.js +2 -2
  285. package/dist/shared/flap/meta.d.ts +16 -18
  286. package/dist/shared/flap/meta.js +14 -26
  287. package/dist/shared/flap/permit.js +6 -5
  288. package/dist/shared/flap/pinata.d.ts +9 -2
  289. package/dist/shared/flap/pinata.js +20 -18
  290. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +3 -72
  291. package/dist/shared/flap/portal-bundle-merkle/config.js +4 -124
  292. package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +32 -0
  293. package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +83 -0
  294. package/dist/shared/flap/portal-bundle-merkle/core.d.ts +0 -4
  295. package/dist/shared/flap/portal-bundle-merkle/core.js +66 -156
  296. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +81 -86
  297. package/dist/shared/flap/portal-bundle-merkle/curve-to-dex.js +100 -92
  298. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +11 -7
  299. package/dist/shared/flap/portal-bundle-merkle/index.js +4 -7
  300. package/dist/shared/flap/portal-bundle-merkle/pancake-proxy.js +71 -68
  301. package/dist/shared/flap/portal-bundle-merkle/private.js +61 -114
  302. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +125 -0
  303. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +113 -0
  304. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +1 -64
  305. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.js +66 -247
  306. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +149 -0
  307. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +259 -0
  308. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +2 -71
  309. package/dist/shared/flap/portal-bundle-merkle/swap.js +103 -410
  310. package/dist/shared/flap/portal-bundle-merkle/types.d.ts +73 -3
  311. package/dist/shared/flap/portal-bundle-merkle/utils-helpers.d.ts +100 -0
  312. package/dist/shared/flap/portal-bundle-merkle/utils-helpers.js +133 -0
  313. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +1 -80
  314. package/dist/shared/flap/portal-bundle-merkle/utils.js +145 -265
  315. package/dist/shared/flap/portal-bundle.js +54 -42
  316. package/dist/shared/flap/portal.js +32 -10
  317. package/dist/shared/flap/vanity.js +4 -7
  318. package/dist/shared/flap/vault.d.ts +1 -1
  319. package/dist/shared/flap/vault.js +54 -48
  320. package/dist/shared/flap 2/__tests__/curve.test.d.ts +1 -0
  321. package/dist/shared/flap 2/portal-bundle-merkle/types.js +1 -0
  322. package/dist/shared/foundation/dex/v3-path.d.ts +6 -0
  323. package/dist/shared/foundation/dex/v3-path.js +35 -0
  324. package/dist/shared/foundation/gas/bundle-gas.d.ts +39 -0
  325. package/dist/shared/foundation/gas/bundle-gas.js +93 -0
  326. package/dist/shared/foundation/gas/profit-hop.d.ts +20 -0
  327. package/dist/shared/foundation/gas/profit-hop.js +72 -0
  328. package/dist/shared/foundation/index.d.ts +13 -0
  329. package/dist/shared/foundation/index.js +12 -0
  330. package/dist/shared/foundation/nonce/nonce-manager.d.ts +17 -0
  331. package/dist/shared/foundation/nonce/nonce-manager.js +180 -0
  332. package/dist/shared/foundation/normalize-unknown.d.ts +9 -0
  333. package/dist/shared/foundation/normalize-unknown.js +29 -0
  334. package/dist/shared/foundation/sdk-logger.d.ts +13 -0
  335. package/dist/shared/foundation/sdk-logger.js +12 -0
  336. package/dist/shared/foundation/tx/build-request.d.ts +17 -0
  337. package/dist/shared/foundation/tx/build-request.js +25 -0
  338. package/dist/shared/foundation/tx/sign-batch.d.ts +5 -0
  339. package/dist/shared/foundation/tx/sign-batch.js +26 -0
  340. package/dist/shared/foundation/tx/wallet-sign-patch.d.ts +1 -0
  341. package/dist/shared/foundation/tx/wallet-sign-patch.js +18 -0
  342. package/dist/shared/foundation/types/airdrop-sweep.d.ts +79 -0
  343. package/dist/shared/foundation/types/airdrop-sweep.js +1 -0
  344. package/dist/shared/foundation/types/erc20.d.ts +65 -0
  345. package/dist/shared/foundation/types/erc20.js +1 -0
  346. package/dist/shared/foundation/types/holders-maker.d.ts +64 -0
  347. package/dist/shared/foundation/types/holders-maker.js +1 -0
  348. package/dist/shared/foundation/types/index.d.ts +7 -0
  349. package/dist/shared/foundation/types/index.js +1 -0
  350. package/dist/shared/foundation/types/lp-inspect.d.ts +102 -0
  351. package/dist/shared/foundation/types/lp-inspect.js +1 -0
  352. package/dist/shared/foundation/types/multicall.d.ts +5 -0
  353. package/dist/shared/foundation/types/multicall.js +1 -0
  354. package/dist/shared/foundation/types/private-sale.d.ts +35 -0
  355. package/dist/shared/foundation/types/private-sale.js +1 -0
  356. package/dist/shared/foundation/types/quote-helpers.d.ts +17 -0
  357. package/dist/shared/foundation/types/quote-helpers.js +1 -0
  358. package/dist/shared/four/tax-token.d.ts +1 -1
  359. package/dist/shared/four/tax-token.js +27 -7
  360. package/dist/shared/index.d.ts +4 -0
  361. package/dist/shared/index.js +4 -0
  362. package/dist/types/distribute.d.ts +72 -0
  363. package/dist/types/distribute.js +1 -0
  364. package/dist/types 2/errors.d.ts +27 -0
  365. package/dist/types 2/errors.js +34 -0
  366. package/dist/utils/airdrop-sweep-types.d.ts +1 -0
  367. package/dist/utils/airdrop-sweep-types.js +1 -0
  368. package/dist/utils/airdrop-sweep.d.ts +4 -76
  369. package/dist/utils/airdrop-sweep.js +38 -52
  370. package/dist/utils/bundle-helpers.d.ts +9 -243
  371. package/dist/utils/bundle-helpers.js +10 -584
  372. package/dist/utils/constants.d.ts +5 -61
  373. package/dist/utils/constants.js +5 -80
  374. package/dist/utils/contract-factory.d.ts +2 -4
  375. package/dist/utils/contract-factory.js +25 -18
  376. package/dist/utils/erc20-types.d.ts +1 -0
  377. package/dist/utils/erc20-types.js +1 -0
  378. package/dist/utils/erc20.d.ts +8 -90
  379. package/dist/utils/erc20.js +94 -153
  380. package/dist/utils/errors.d.ts +10 -22
  381. package/dist/utils/errors.js +61 -79
  382. package/dist/utils/holders-maker/addresses.d.ts +12 -0
  383. package/dist/utils/holders-maker/addresses.js +15 -0
  384. package/dist/utils/holders-maker/buy-tx.d.ts +44 -0
  385. package/dist/utils/holders-maker/buy-tx.js +278 -0
  386. package/dist/utils/holders-maker/constants.d.ts +6 -0
  387. package/dist/utils/holders-maker/constants.js +7 -0
  388. package/dist/utils/holders-maker/disperse.d.ts +18 -0
  389. package/dist/utils/holders-maker/disperse.js +90 -0
  390. package/dist/utils/holders-maker/routing.d.ts +4 -0
  391. package/dist/utils/holders-maker/routing.js +45 -0
  392. package/dist/utils/holders-maker/transfer-tx.d.ts +4 -0
  393. package/dist/utils/holders-maker/transfer-tx.js +67 -0
  394. package/dist/utils/holders-maker-helpers.d.ts +9 -0
  395. package/dist/utils/holders-maker-helpers.js +9 -0
  396. package/dist/utils/holders-maker-types.d.ts +1 -0
  397. package/dist/utils/holders-maker-types.js +1 -0
  398. package/dist/utils/holders-maker.d.ts +2 -138
  399. package/dist/utils/holders-maker.js +23 -651
  400. package/dist/utils/hop-chains.d.ts +35 -0
  401. package/dist/utils/hop-chains.js +215 -0
  402. package/dist/utils/lp-inspect-helpers.d.ts +9 -0
  403. package/dist/utils/lp-inspect-helpers.js +109 -0
  404. package/dist/utils/lp-inspect-types.d.ts +1 -0
  405. package/dist/utils/lp-inspect-types.js +1 -0
  406. package/dist/utils/lp-inspect.d.ts +2 -112
  407. package/dist/utils/lp-inspect.js +63 -195
  408. package/dist/utils/mpcExclusive.d.ts +2 -5
  409. package/dist/utils/mpcExclusive.js +4 -3
  410. package/dist/utils/private-sale-types.d.ts +1 -0
  411. package/dist/utils/private-sale-types.js +1 -0
  412. package/dist/utils/private-sale.d.ts +2 -58
  413. package/dist/utils/private-sale.js +2 -7
  414. package/dist/utils/provider-factory.d.ts +4 -0
  415. package/dist/utils/provider-factory.js +10 -0
  416. package/dist/utils/quote-helpers-types.d.ts +1 -0
  417. package/dist/utils/quote-helpers-types.js +1 -0
  418. package/dist/utils/quote-helpers.d.ts +4 -45
  419. package/dist/utils/quote-helpers.js +15 -65
  420. package/dist/utils/stealth-transfer.d.ts +2 -28
  421. package/dist/utils/stealth-transfer.js +30 -14
  422. package/dist/utils/swap-helpers.d.ts +0 -3
  423. package/dist/utils/swap-helpers.js +6 -9
  424. package/dist/utils/types/airdrop-sweep.d.ts +1 -0
  425. package/dist/utils/types/airdrop-sweep.js +1 -0
  426. package/dist/utils/types/contract-factory.d.ts +1 -0
  427. package/dist/utils/types/contract-factory.js +1 -0
  428. package/dist/utils/types/erc20.d.ts +1 -0
  429. package/dist/utils/types/erc20.js +1 -0
  430. package/dist/utils/types/errors.d.ts +1 -0
  431. package/dist/utils/types/errors.js +1 -0
  432. package/dist/utils/types/holders-maker.d.ts +1 -0
  433. package/dist/utils/types/holders-maker.js +1 -0
  434. package/dist/utils/types/hop-chains.d.ts +8 -0
  435. package/dist/utils/types/hop-chains.js +1 -0
  436. package/dist/utils/types/index.d.ts +13 -0
  437. package/dist/utils/types/index.js +1 -0
  438. package/dist/utils/types/lp-inspect.d.ts +1 -0
  439. package/dist/utils/types/lp-inspect.js +1 -0
  440. package/dist/utils/types/mpc-exclusive.d.ts +5 -0
  441. package/dist/utils/types/mpc-exclusive.js +1 -0
  442. package/dist/utils/types/private-sale.d.ts +1 -0
  443. package/dist/utils/types/private-sale.js +1 -0
  444. package/dist/utils/types/quote-helpers.d.ts +1 -0
  445. package/dist/utils/types/quote-helpers.js +1 -0
  446. package/dist/utils/types/stealth-transfer.d.ts +44 -0
  447. package/dist/utils/types/stealth-transfer.js +1 -0
  448. package/dist/utils/types/wallet.d.ts +25 -0
  449. package/dist/utils/types/wallet.js +1 -0
  450. package/dist/utils/wallet.d.ts +2 -25
  451. package/dist/utils/wallet.js +9 -10
  452. package/package.json +55 -2
  453. package/src/abis/contracts/TaxToken.json +969 -0
  454. package/src/abis/contracts/TokenManager.json +836 -0
  455. package/src/abis/contracts/TokenManager2.json +136 -0
  456. package/src/abis/contracts/TokenManagerHelper3.json +993 -0
  457. /package/dist/{shared 2/flap/__tests__/curve.test.d.ts → bundle-core/__tests__/config-helpers.test.d.ts} +0 -0
  458. /package/dist/{shared 2/flap/portal-bundle-merkle/types.js → bundle-core/__tests__/facade-parity.test.d.ts} +0 -0
  459. /package/dist/{shared 2/abis → shared/abis 2}/TaxToken.json +0 -0
  460. /package/dist/{shared 2/abis → shared/abis 2}/TokenManager.json +0 -0
  461. /package/dist/{shared 2/abis → shared/abis 2}/TokenManager2.json +0 -0
  462. /package/dist/{shared 2/abis → shared/abis 2}/TokenManagerHelper3.json +0 -0
  463. /package/dist/{shared 2/abis → shared/abis 2}/common.d.ts +0 -0
  464. /package/dist/{shared 2/abis → shared/abis 2}/common.js +0 -0
  465. /package/dist/{shared 2/abis → shared/abis 2}/index.d.ts +0 -0
  466. /package/dist/{shared 2/abis → shared/abis 2}/index.js +0 -0
  467. /package/dist/{shared 2/clients → shared/clients 2}/blockrazor.d.ts +0 -0
  468. /package/dist/{shared 2/clients → shared/clients 2}/blockrazor.js +0 -0
  469. /package/dist/{shared 2/clients → shared/clients 2}/club48.d.ts +0 -0
  470. /package/dist/{shared 2/clients → shared/clients 2}/club48.js +0 -0
  471. /package/dist/{shared 2/clients → shared/clients 2}/emitservice.d.ts +0 -0
  472. /package/dist/{shared 2/clients → shared/clients 2}/emitservice.js +0 -0
  473. /package/dist/{shared 2/clients → shared/clients 2}/four.d.ts +0 -0
  474. /package/dist/{shared 2/clients → shared/clients 2}/four.js +0 -0
  475. /package/dist/{shared 2/clients → shared/clients 2}/merkle.d.ts +0 -0
  476. /package/dist/{shared 2/clients → shared/clients 2}/merkle.js +0 -0
  477. /package/dist/{shared 2/flap → shared/flap 2}/__tests__/curve.test.js +0 -0
  478. /package/dist/{shared 2/flap → shared/flap 2}/abi.d.ts +0 -0
  479. /package/dist/{shared 2/flap → shared/flap 2}/abi.js +0 -0
  480. /package/dist/{shared 2/flap → shared/flap 2}/constants.d.ts +0 -0
  481. /package/dist/{shared 2/flap → shared/flap 2}/constants.js +0 -0
  482. /package/dist/{shared 2/flap → shared/flap 2}/curve.d.ts +0 -0
  483. /package/dist/{shared 2/flap → shared/flap 2}/curve.js +0 -0
  484. /package/dist/{shared 2/flap → shared/flap 2}/errors.d.ts +0 -0
  485. /package/dist/{shared 2/flap → shared/flap 2}/errors.js +0 -0
  486. /package/dist/{shared 2/flap → shared/flap 2}/index.d.ts +0 -0
  487. /package/dist/{shared 2/flap → shared/flap 2}/index.js +0 -0
  488. /package/dist/{shared 2/flap → shared/flap 2}/ipfs.d.ts +0 -0
  489. /package/dist/{shared 2/flap → shared/flap 2}/ipfs.js +0 -0
  490. /package/dist/{shared 2/flap → shared/flap 2}/meta.d.ts +0 -0
  491. /package/dist/{shared 2/flap → shared/flap 2}/meta.js +0 -0
  492. /package/dist/{shared 2/flap → shared/flap 2}/permit.d.ts +0 -0
  493. /package/dist/{shared 2/flap → shared/flap 2}/permit.js +0 -0
  494. /package/dist/{shared 2/flap → shared/flap 2}/pinata.d.ts +0 -0
  495. /package/dist/{shared 2/flap → shared/flap 2}/pinata.js +0 -0
  496. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/config.d.ts +0 -0
  497. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/config.js +0 -0
  498. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/core.d.ts +0 -0
  499. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/core.js +0 -0
  500. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/create-to-dex.d.ts +0 -0
  501. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/create-to-dex.js +0 -0
  502. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/curve-to-dex.d.ts +0 -0
  503. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/curve-to-dex.js +0 -0
  504. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/index.d.ts +0 -0
  505. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/index.js +0 -0
  506. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/pancake-proxy.d.ts +0 -0
  507. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/pancake-proxy.js +0 -0
  508. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/private.d.ts +0 -0
  509. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/private.js +0 -0
  510. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/swap-buy-first.d.ts +0 -0
  511. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/swap-buy-first.js +0 -0
  512. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/swap.d.ts +0 -0
  513. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/swap.js +0 -0
  514. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/types.d.ts +0 -0
  515. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/utils.d.ts +0 -0
  516. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle-merkle/utils.js +0 -0
  517. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle.d.ts +0 -0
  518. /package/dist/{shared 2/flap → shared/flap 2}/portal-bundle.js +0 -0
  519. /package/dist/{shared 2/flap → shared/flap 2}/portal.d.ts +0 -0
  520. /package/dist/{shared 2/flap → shared/flap 2}/portal.js +0 -0
  521. /package/dist/{shared 2/flap → shared/flap 2}/vanity.d.ts +0 -0
  522. /package/dist/{shared 2/flap → shared/flap 2}/vanity.js +0 -0
  523. /package/dist/{shared 2/flap → shared/flap 2}/vault.d.ts +0 -0
  524. /package/dist/{shared 2/flap → shared/flap 2}/vault.js +0 -0
  525. /package/dist/{shared 2/four → shared/four 2}/index.d.ts +0 -0
  526. /package/dist/{shared 2/four → shared/four 2}/index.js +0 -0
  527. /package/dist/{shared 2/four → shared/four 2}/tax-token.d.ts +0 -0
  528. /package/dist/{shared 2/four → shared/four 2}/tax-token.js +0 -0
  529. /package/dist/{shared 2/index.d.ts → shared/index 2.js} +0 -0
  530. /package/dist/{shared 2/index.js → shared/index.d 2.ts} +0 -0
@@ -11,14 +11,18 @@
11
11
  */
12
12
  export * from './constants.js';
13
13
  export * from './types.js';
14
+ import { createPortalQuery } from './portal-ops.js';
15
+ import { xlayerQuickBatchSwapMerkle, xlayerCrossSwapMerkle, xlayerPureCrossSwapMerkle } from './eoa-bundle-swap.js';
16
+ import { signEoaWashVolumeTransactions } from './eoa-wash-volume.js';
14
17
  export { encodeBuyCall, encodeBuyCallV3, encodeSellCall, encodeApproveCall, encodeTransferCall, PortalQuery, createPortalQuery, applySlippage, formatOkb, parseOkb, formatTokenAmount, parseTokenAmount, type PortalQueryConfig, } from './portal-ops.js';
15
18
  export { signEoaWashBuyTransactions, signEoaWashSellTransactions, signEoaWashVolumeTransactions, type EoaWashPoolType, type EoaWashVolumeParams, type EoaWashVolumeResult, } from './eoa-wash-volume.js';
16
- export { xlayerQuickBatchSwapMerkle, xlayerCrossSwapMerkle, xlayerPureCrossSwapMerkle, type XLayerEoaSwapConfig, type XLayerQuickBatchSwapParams, type XLayerQuickBatchSwapResult, type XLayerCrossSwapParams, type XLayerCrossSwapResult, type XLayerPureCrossSwapParams, type XLayerPureCrossSwapResult, type UserType as XLayerUserType, type RouteParams as XLayerRouteParams, type V2RouteParams as XLayerV2RouteParams, type V3SingleRouteParams as XLayerV3SingleRouteParams, } from './eoa-bundle-swap.js';
19
+ export { xlayerQuickBatchSwapMerkle, xlayerCrossSwapMerkle, xlayerPureCrossSwapMerkle, type XLayerPureCrossSwapParams, type XLayerPureCrossSwapResult, } from './eoa-bundle-swap.js';
20
+ export type { XLayerEoaSwapConfig, XLayerQuickBatchSwapParams, XLayerQuickBatchSwapResult, XLayerCrossSwapParams, XLayerCrossSwapResult, UserType as XLayerUserType, RouteParams as XLayerRouteParams, V2RouteParams as XLayerV2RouteParams, V3SingleRouteParams as XLayerV3SingleRouteParams, V3MultiRouteParams as XLayerV3MultiRouteParams, } from './eoa-bundle-swap-helpers.js';
17
21
  export declare const xlayer: {
18
- createPortalQuery: (config?: import("./portal-ops.js").PortalQueryConfig | undefined) => Promise<import("./portal-ops.js").PortalQuery>;
19
- xlayerQuickBatchSwapMerkle: (params: import("./eoa-bundle-swap.js").XLayerQuickBatchSwapParams) => Promise<import("./eoa-bundle-swap.js").XLayerQuickBatchSwapResult>;
20
- xlayerCrossSwapMerkle: (params: import("./eoa-bundle-swap.js").XLayerCrossSwapParams) => Promise<import("./eoa-bundle-swap.js").XLayerCrossSwapResult>;
21
- xlayerPureCrossSwapMerkle: (params: import("./eoa-bundle-swap.js").XLayerPureCrossSwapParams) => Promise<import("./eoa-bundle-swap.js").XLayerPureCrossSwapResult>;
22
- signEoaWashVolumeTransactions: (params: import("./eoa-wash-volume.js").EoaWashVolumeParams) => Promise<import("./eoa-wash-volume.js").EoaWashVolumeResult>;
22
+ createPortalQuery: typeof createPortalQuery;
23
+ xlayerQuickBatchSwapMerkle: typeof xlayerQuickBatchSwapMerkle;
24
+ xlayerCrossSwapMerkle: typeof xlayerCrossSwapMerkle;
25
+ xlayerPureCrossSwapMerkle: typeof xlayerPureCrossSwapMerkle;
26
+ signEoaWashVolumeTransactions: typeof signEoaWashVolumeTransactions;
23
27
  };
24
28
  export default xlayer;
@@ -17,6 +17,9 @@ export * from './constants.js';
17
17
  // 类型
18
18
  // ============================================================================
19
19
  export * from './types.js';
20
+ import { createPortalQuery } from './portal-ops.js';
21
+ import { xlayerQuickBatchSwapMerkle, xlayerCrossSwapMerkle, xlayerPureCrossSwapMerkle } from './eoa-bundle-swap.js';
22
+ import { signEoaWashVolumeTransactions } from './eoa-wash-volume.js';
20
23
  // ============================================================================
21
24
  // Portal 操作
22
25
  // ============================================================================
@@ -33,28 +36,10 @@ export { xlayerQuickBatchSwapMerkle, xlayerCrossSwapMerkle, xlayerPureCrossSwapM
33
36
  // 便捷重导出
34
37
  // ============================================================================
35
38
  export const xlayer = {
36
- // Portal 查询
37
- createPortalQuery: async (...args) => {
38
- const { createPortalQuery } = await import('./portal-ops.js');
39
- return createPortalQuery(...args);
40
- },
41
- // EOA 换手
42
- xlayerQuickBatchSwapMerkle: async (...args) => {
43
- const { xlayerQuickBatchSwapMerkle } = await import('./eoa-bundle-swap.js');
44
- return xlayerQuickBatchSwapMerkle(...args);
45
- },
46
- xlayerCrossSwapMerkle: async (...args) => {
47
- const { xlayerCrossSwapMerkle } = await import('./eoa-bundle-swap.js');
48
- return xlayerCrossSwapMerkle(...args);
49
- },
50
- xlayerPureCrossSwapMerkle: async (...args) => {
51
- const { xlayerPureCrossSwapMerkle } = await import('./eoa-bundle-swap.js');
52
- return xlayerPureCrossSwapMerkle(...args);
53
- },
54
- // EOA 刷量
55
- signEoaWashVolumeTransactions: async (...args) => {
56
- const { signEoaWashVolumeTransactions } = await import('./eoa-wash-volume.js');
57
- return signEoaWashVolumeTransactions(...args);
58
- },
39
+ createPortalQuery,
40
+ xlayerQuickBatchSwapMerkle,
41
+ xlayerCrossSwapMerkle,
42
+ xlayerPureCrossSwapMerkle,
43
+ signEoaWashVolumeTransactions,
59
44
  };
60
45
  export default xlayer;
@@ -165,6 +165,9 @@ export function encodeCreateCallV5(params) {
165
165
  * - 代币状态
166
166
  */
167
167
  export class PortalQuery {
168
+ provider;
169
+ portal;
170
+ portalAddress;
168
171
  constructor(config = {}) {
169
172
  const rpcUrl = config.rpcUrl ?? DEFAULT_RPC_URL;
170
173
  const chainId = config.chainId ?? XLAYER_CHAIN_ID;
@@ -446,8 +449,10 @@ export function applySlippage(expectedOutput, slippageBps) {
446
449
  */
447
450
  export function lpFeeProfileToV3Fee(profile) {
448
451
  switch (profile) {
449
- case 1: return 100; // 0.01%
450
- case 2: return 10000; // 1%
452
+ case 1:
453
+ return 100; // 0.01%
454
+ case 2:
455
+ return 10000; // 1%
451
456
  case 0:
452
457
  default:
453
458
  return 2500; // 0.25%
@@ -2,7 +2,7 @@
2
2
  * XLayer Router 管理器
3
3
  * 统一管理 V2/V3 Router 地址和授权目标选择逻辑
4
4
  */
5
- import { POTATOSWAP_V2_ROUTER, POTATOSWAP_V3_ROUTER, FLAP_PORTAL, } from './constants.js';
5
+ import { POTATOSWAP_V2_ROUTER, POTATOSWAP_V3_ROUTER, FLAP_PORTAL } from './constants.js';
6
6
  /**
7
7
  * ✅ 获取 Router 地址
8
8
  * @param params.routerVersion - Router 版本(V2 或 V3)
@@ -49,9 +49,9 @@ export function getApprovalTargetAddress(target) {
49
49
  * @returns 目标信息数组
50
50
  */
51
51
  export function getAllApprovalTargets(targets) {
52
- return targets.map(target => ({
52
+ return targets.map((target) => ({
53
53
  target,
54
- address: getApprovalTargetAddress(target)
54
+ address: getApprovalTargetAddress(target),
55
55
  }));
56
56
  }
57
57
  /**
@@ -0,0 +1,363 @@
1
+ /**
2
+ * XLayer SDK 类型定义
3
+ *
4
+ * 包含 ERC-4337 UserOperation、AA 账户、交易参数等核心类型
5
+ */
6
+ import type { HexString } from './constants.js';
7
+ import type { HandleOpsResult } from './types-volume.js';
8
+ /**
9
+ * UserOperation v0.6 结构
10
+ * 用于 ERC-4337 EntryPoint v0.6
11
+ */
12
+ export interface UserOperation {
13
+ sender: string;
14
+ nonce: HexString | string;
15
+ initCode: HexString | string;
16
+ callData: HexString | string;
17
+ callGasLimit: HexString | string;
18
+ verificationGasLimit: HexString | string;
19
+ preVerificationGas: HexString | string;
20
+ maxFeePerGas: HexString | string;
21
+ maxPriorityFeePerGas: HexString | string;
22
+ paymasterAndData: HexString | string;
23
+ signature: HexString | string;
24
+ }
25
+ /**
26
+ * 签名后的 UserOperation(包含额外元数据)
27
+ */
28
+ export interface SignedUserOp {
29
+ userOp: UserOperation;
30
+ userOpHash: string;
31
+ prefundWei: bigint;
32
+ sender: string;
33
+ ownerName?: string;
34
+ }
35
+ /**
36
+ * Gas 估算结果(来自 Bundler)
37
+ */
38
+ export interface GasEstimate {
39
+ callGasLimit: HexString;
40
+ verificationGasLimit: HexString;
41
+ preVerificationGas: HexString;
42
+ maxFeePerGas?: HexString;
43
+ maxPriorityFeePerGas?: HexString;
44
+ }
45
+ export type GasPolicy = 'fixed' | 'localEstimate' | 'bundlerEstimate';
46
+ export interface FixedGasConfig {
47
+ /** callGasLimit(若不提供,SDK 会使用较保守的默认值) */
48
+ callGasLimit?: bigint;
49
+ /** 已部署 sender 的 verificationGasLimit(默认用 SDK 常量) */
50
+ verificationGasLimitDeployed?: bigint;
51
+ /** 未部署 sender 的 verificationGasLimit(默认用 SDK 常量) */
52
+ verificationGasLimitUndeployed?: bigint;
53
+ /** preVerificationGas(默认用 SDK 常量) */
54
+ preVerificationGas?: bigint;
55
+ /** ✅ 固定 gasPrice(若不提供,SDK 会调用 getFeeData 获取) */
56
+ gasPrice?: bigint;
57
+ }
58
+ /**
59
+ * XLayer SDK 基础配置
60
+ */
61
+ export interface XLayerConfig {
62
+ /** RPC URL(默认使用公共节点) */
63
+ rpcUrl?: string;
64
+ /** Bundler URL(默认使用 Particle) */
65
+ bundlerUrl?: string;
66
+ /** Chain ID(默认 196) */
67
+ chainId?: number;
68
+ /** EntryPoint 地址 */
69
+ entryPoint?: string;
70
+ /** SimpleAccountFactory 地址 */
71
+ factory?: string;
72
+ /** Salt(用于 AA 账户派生) */
73
+ salt?: bigint;
74
+ /** Paymaster 地址(如果指定,不需要往 AA 转手续费) */
75
+ paymaster?: string;
76
+ /** Paymaster Data(与 paymaster 一起使用) */
77
+ paymasterData?: string;
78
+ /** 默认超时时间(毫秒) */
79
+ timeoutMs?: number;
80
+ /** Gas 估算安全余量倍数 */
81
+ gasLimitMultiplier?: number;
82
+ /** Payer handleOps 交易的 gasLimit(手动覆盖) */
83
+ gasLimit?: bigint;
84
+ /** Payer handleOps 交易的最小 gasPrice (Gwei) */
85
+ minGasPriceGwei?: number;
86
+ /** 利润尾笔原生转账 gasLimit(默认 21000n) */
87
+ profitTailGasLimit?: bigint;
88
+ /**
89
+ * AA Gas 策略(用于大规模地址时减少 RPC)
90
+ * - fixed:固定 gas(不 estimate)
91
+ * - localEstimate:eth_estimateGas(不走 bundler)
92
+ * - bundlerEstimate:eth_estimateUserOperationGas(最慢但最稳)
93
+ */
94
+ gasPolicy?: GasPolicy;
95
+ /** fixed 策略的默认 gas 配置(可被每次调用覆盖) */
96
+ fixedGas?: FixedGasConfig;
97
+ /**
98
+ * 是否提取利润(默认 true)
99
+ * - 对齐 BSC:默认会从“卖出得到的 OKB / 归集金额”中按比例刮取利润
100
+ */
101
+ extractProfit?: boolean;
102
+ /**
103
+ * 利润比例(基点 bps,1 bps = 0.01%)
104
+ * - 默认使用 `getProfitRateBps('normal')`
105
+ */
106
+ profitBps?: number;
107
+ /**
108
+ * 利润接收地址
109
+ * - 默认使用 `getProfitRecipient()`
110
+ */
111
+ profitRecipient?: string;
112
+ /**
113
+ * ✅ 安全边际百分比(默认 80)
114
+ * - 只使用报价的 X% 进行分发,防止价格下跌导致失败
115
+ * - 例如:80 表示只使用报价的 80%,允许价格下跌 20%
116
+ * - 范围:50-100,越低越安全但买入金额越少
117
+ */
118
+ safetyMarginPercent?: number;
119
+ }
120
+ /**
121
+ * AA 账户信息
122
+ */
123
+ export interface AAAccount {
124
+ /** Owner EOA 地址 */
125
+ owner: string;
126
+ /** AA Sender 地址 */
127
+ sender: string;
128
+ /** 是否已部署 */
129
+ deployed: boolean;
130
+ /** OKB 余额 */
131
+ balance: bigint;
132
+ /** Nonce */
133
+ nonce: bigint;
134
+ }
135
+ /**
136
+ * Owner 钱包信息
137
+ */
138
+ export interface OwnerInfo {
139
+ name: string;
140
+ privateKey: string;
141
+ address?: string;
142
+ sender?: string;
143
+ }
144
+ /**
145
+ * 买入参数
146
+ */
147
+ export interface BuyParams {
148
+ /** Flap 代币地址 */
149
+ tokenAddress: string;
150
+ /** 买入金额(OKB,字符串格式) */
151
+ amountOkb: string;
152
+ /** 最小输出代币数量(默认 0) */
153
+ minOutputAmount?: bigint;
154
+ /** 滑点基点(默认 100 = 1%) */
155
+ slippageBps?: number;
156
+ }
157
+ /**
158
+ * 卖出参数
159
+ */
160
+ export interface SellParams {
161
+ /** Flap 代币地址 */
162
+ tokenAddress: string;
163
+ /** 卖出代币数量(可选,默认全部) */
164
+ amount?: bigint;
165
+ /** 卖出比例(0-100,如 50 表示卖出 50%) */
166
+ sellPercent?: number;
167
+ /** 最小输出 OKB 数量(默认 0) */
168
+ minOutputAmount?: bigint;
169
+ /** 滑点基点(默认 100 = 1%) */
170
+ slippageBps?: number;
171
+ }
172
+ /**
173
+ * 捆绑买入参数
174
+ */
175
+ export interface BundleBuyParams {
176
+ /** 代币地址 */
177
+ tokenAddress: string;
178
+ /** Owner 私钥列表 */
179
+ privateKeys: string[];
180
+ /** 每个 owner 的买入金额(OKB 或 quoteToken,取决于 quoteToken 参数) */
181
+ buyAmounts: string[];
182
+ /** 买入使用的代币地址(零地址表示使用原生代币 OKB,非零地址表示使用 ERC20 代币如 USDC) */
183
+ quoteToken?: string;
184
+ /** quoteToken 的精度(默认 18,如果 quoteToken 不是 18 位精度需要指定) */
185
+ quoteTokenDecimals?: number;
186
+ /** 是否将代币转回 owner EOA(默认 false) */
187
+ transferBackToOwner?: boolean;
188
+ /** 配置覆盖 */
189
+ config?: Partial<XLayerConfig>;
190
+ }
191
+ /**
192
+ * 捆绑卖出参数
193
+ */
194
+ export interface BundleSellParams {
195
+ /** 代币地址 */
196
+ tokenAddress: string;
197
+ /** Owner 私钥列表 */
198
+ privateKeys: string[];
199
+ /** 卖出比例(0-100,默认 100 全部卖出) */
200
+ sellPercent?: number;
201
+ /** 是否将 OKB 归集回 owner EOA(默认 true) */
202
+ withdrawToOwner?: boolean;
203
+ /** 归集时保留的最小 OKB 余额 */
204
+ withdrawReserve?: string;
205
+ /** 配置覆盖 */
206
+ config?: Partial<XLayerConfig>;
207
+ }
208
+ /**
209
+ * 捆绑买卖参数(先买后卖)
210
+ */
211
+ export interface BundleBuySellParams {
212
+ /** 代币地址 */
213
+ tokenAddress: string;
214
+ /** Owner 私钥列表 */
215
+ privateKeys: string[];
216
+ /** 每个 owner 的買入金额(OKB 或 quoteToken,取决于 quoteToken 参数) */
217
+ buyAmounts: string[];
218
+ /** 买入使用的代币地址(零地址表示使用原生代币 OKB,非零地址表示使用 ERC20 代币如 USDC) */
219
+ quoteToken?: string;
220
+ /** quoteToken 的精度(默认 18,如果 quoteToken 不是 18 位精度需要指定) */
221
+ quoteTokenDecimals?: number;
222
+ /** 卖出比例(0-100,默认 100 全部卖出) */
223
+ sellPercent?: number;
224
+ /** 是否将 OKB 归集回 owner EOA(默认 true) */
225
+ withdrawToOwner?: boolean;
226
+ /** 归集时保留的最小 OKB 余额 */
227
+ withdrawReserve?: string;
228
+ /** 配置覆盖 */
229
+ config?: Partial<XLayerConfig>;
230
+ /** LP 费率档位 (V3 专用): 0=STANDARD, 1=LOW, 2=HIGH */
231
+ lpFeeProfile?: number;
232
+ /** DEX 类型: 'V2' | 'V3' */
233
+ dexType?: 'V2' | 'V3';
234
+ }
235
+ /**
236
+ * 捆绑发射签名参数
237
+ */
238
+ export interface BundlePreApproveParams {
239
+ /** 代币地址 */
240
+ tokenAddress: string;
241
+ /** Owner 私钥列表 */
242
+ privateKeys: string[];
243
+ /** 授权目标(默认 FLAP_PORTAL,可传 Router 地址用于外盘交易) */
244
+ spender?: string;
245
+ /**
246
+ * 是否仅签名(不执行)
247
+ * - true: 返回签名后的 handleOps 交易,由前端发送到服务端广播
248
+ * - false(默认): 直接执行 handleOps
249
+ */
250
+ signOnly?: boolean;
251
+ /** 配置覆盖 */
252
+ config?: Partial<XLayerConfig>;
253
+ /** Payer 私钥(signOnly=true 时必传,用于支付 gas) */
254
+ payerPrivateKey?: string;
255
+ }
256
+ /**
257
+ * 预授权结果
258
+ */
259
+ export interface BundlePreApproveResult {
260
+ /** 发送授权交易的数量 */
261
+ approvedCount: number;
262
+ /** 已经授权无需操作的数量 */
263
+ alreadyApprovedCount: number;
264
+ /** 授权交易结果(signOnly=false 时有值) */
265
+ approveResult?: HandleOpsResult;
266
+ /** 每个地址的授权状态详情 */
267
+ details: ApprovalStatusResult[];
268
+ /** signOnly=true 时:签名后的 handleOps 交易(raw signed tx) */
269
+ signedTransactions?: string[];
270
+ }
271
+ /**
272
+ * 授权状态检查结果
273
+ */
274
+ export interface ApprovalStatusResult {
275
+ /** Owner EOA 地址 */
276
+ owner: string;
277
+ /** AA Sender 地址 */
278
+ sender: string;
279
+ /** 是否已授权(授权额度 >= 代币余额) */
280
+ isApproved: boolean;
281
+ /** 当前授权额度 */
282
+ currentAllowance: bigint;
283
+ /** 当前代币余额 */
284
+ tokenBalance: bigint;
285
+ }
286
+ /**
287
+ * 深度 Partial 类型
288
+ */
289
+ export type DeepPartial<T> = {
290
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
291
+ };
292
+ /**
293
+ * ✅ 仅用于 ERC-4337 AA(EntryPoint.getNonce(sender, 0))
294
+ *
295
+ * 目标:不要在业务代码里手写 `+1/+2` 推导,而是像 BSC bundle 一样用本地 Map
296
+ * 对“同一 sender 多步流程”连续分配 nonce。
297
+ *
298
+ * 注意:
299
+ * - 这是**同一次 SDK 调用/同一条流程**内的 nonce 分配;不解决多进程/多并发任务同时使用同一 sender 的问题。
300
+ * - 对“可能不生成 op”的分支(例如 withdraw 返回 null),使用 peek + commit,避免提前消耗 nonce。
301
+ */
302
+ export declare class AANonceMap {
303
+ private nextBySenderLower;
304
+ init(sender: string, startNonce: bigint): void;
305
+ peek(sender: string): bigint;
306
+ commit(sender: string, usedNonce: bigint): void;
307
+ next(sender: string): bigint;
308
+ }
309
+ /**
310
+ * 必需的配置字段
311
+ */
312
+ export type RequiredConfig = Required<Pick<XLayerConfig, 'rpcUrl' | 'bundlerUrl' | 'chainId' | 'entryPoint' | 'factory'>>;
313
+ /**
314
+ * 捆绑买到毕业签名参数
315
+ */
316
+ export interface BundleGraduateBuyParams {
317
+ /** 代位地址 */
318
+ tokenAddress: string;
319
+ /** 买入钱包私钥数组 */
320
+ privateKeys: string[];
321
+ /** AA Payer 私钥 */
322
+ payerPrivateKey: string;
323
+ /** 分配模式 */
324
+ amountMode: 'average' | 'random' | 'custom';
325
+ /** 平均模式:总买入金额 */
326
+ totalBuyAmount?: number;
327
+ /** 随机模式:最小金额 / 最大金额 */
328
+ minAmount?: number;
329
+ maxAmount?: number;
330
+ /** 自定义模式:地址 -> 金额 */
331
+ walletAmounts?: Record<string, number>;
332
+ /** 是否启用外盘买入(默认 false) */
333
+ enableDexBuy?: boolean;
334
+ /** 内盘钱包地址列表(可选,传入则使用前端分组,不传则 SDK 自动分组) */
335
+ curveAddresses?: string[];
336
+ /** 外盘钱包地址列表(可选) */
337
+ dexAddresses?: string[];
338
+ /** 动态毕业阈值(可选,不传则使用默认 73.38 OKB) */
339
+ graduationAmount?: number;
340
+ /** 配置覆盖 */
341
+ config?: Partial<XLayerConfig>;
342
+ /** 扩展数据(传递给 swapExactInputV3,默认 0x) */
343
+ extensionData?: string;
344
+ /** Payer 起始 nonce */
345
+ payerStartNonce?: number;
346
+ /** beneficiary(默认 payer 地址) */
347
+ beneficiary?: string;
348
+ }
349
+ /**
350
+ * 捆绑买到毕业签名结果
351
+ */
352
+ export interface BundleGraduateBuyResult {
353
+ /** raw signed tx 列表 */
354
+ signedTransactions: string[];
355
+ /** 元数据 */
356
+ metadata: {
357
+ curveCount: number;
358
+ dexCount: number;
359
+ curveTotalAmount: string;
360
+ dexTotalAmount: string;
361
+ tokenAddress: string;
362
+ };
363
+ }
@@ -0,0 +1,53 @@
1
+ /**
2
+ * XLayer SDK 类型定义
3
+ *
4
+ * 包含 ERC-4337 UserOperation、AA 账户、交易参数等核心类型
5
+ */
6
+ // ==================== AA Nonce(EntryPoint nonce)本地分配器 ====================
7
+ /**
8
+ * ✅ 仅用于 ERC-4337 AA(EntryPoint.getNonce(sender, 0))
9
+ *
10
+ * 目标:不要在业务代码里手写 `+1/+2` 推导,而是像 BSC bundle 一样用本地 Map
11
+ * 对“同一 sender 多步流程”连续分配 nonce。
12
+ *
13
+ * 注意:
14
+ * - 这是**同一次 SDK 调用/同一条流程**内的 nonce 分配;不解决多进程/多并发任务同时使用同一 sender 的问题。
15
+ * - 对“可能不生成 op”的分支(例如 withdraw 返回 null),使用 peek + commit,避免提前消耗 nonce。
16
+ */
17
+ export class AANonceMap {
18
+ nextBySenderLower = new Map();
19
+ init(sender, startNonce) {
20
+ const k = sender.toLowerCase();
21
+ const cur = this.nextBySenderLower.get(k);
22
+ if (cur === undefined || startNonce > cur) {
23
+ this.nextBySenderLower.set(k, startNonce);
24
+ }
25
+ }
26
+ peek(sender) {
27
+ const k = sender.toLowerCase();
28
+ const cur = this.nextBySenderLower.get(k);
29
+ if (cur === undefined) {
30
+ throw new Error(`AANonceMap: sender not initialized: ${sender}`);
31
+ }
32
+ return cur;
33
+ }
34
+ commit(sender, usedNonce) {
35
+ const k = sender.toLowerCase();
36
+ const cur = this.nextBySenderLower.get(k);
37
+ if (cur === undefined) {
38
+ throw new Error(`AANonceMap: sender not initialized: ${sender}`);
39
+ }
40
+ // 只允许“使用当前 nonce”或“重复 commit”(幂等)
41
+ if (usedNonce !== cur && usedNonce !== cur - 1n) {
42
+ throw new Error(`AANonceMap: nonce mismatch for ${sender}: used=${usedNonce.toString()} cur=${cur.toString()}`);
43
+ }
44
+ if (usedNonce === cur) {
45
+ this.nextBySenderLower.set(k, cur + 1n);
46
+ }
47
+ }
48
+ next(sender) {
49
+ const n = this.peek(sender);
50
+ this.commit(sender, n);
51
+ return n;
52
+ }
53
+ }