four-flap-meme-sdk 2.2.18 → 2.2.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (492) hide show
  1. package/dist/__tests__/subpath-exports.test.d.ts +1 -0
  2. package/dist/__tests__/subpath-exports.test.js +64 -0
  3. package/dist/abis/common.d.ts +85 -0
  4. package/dist/abis/common.js +240 -0
  5. package/dist/abis/contracts/TaxToken.json +969 -0
  6. package/dist/abis/contracts/TokenManager.json +836 -0
  7. package/dist/abis/contracts/TokenManager2.json +136 -0
  8. package/dist/abis/contracts/TokenManagerHelper3.json +993 -0
  9. package/dist/abis/contracts/index.d.ts +5 -0
  10. package/dist/abis/contracts/index.js +5 -0
  11. package/dist/abis/flap/index.d.ts +5 -0
  12. package/dist/abis/flap/index.js +5 -0
  13. package/dist/abis/flap/portal-eip7702.d.ts +4 -0
  14. package/dist/abis/flap/portal-eip7702.js +39 -0
  15. package/dist/abis/flap/portal-events.d.ts +6 -0
  16. package/dist/abis/flap/portal-events.js +17 -0
  17. package/dist/abis/flap/portal-merkle.d.ts +4 -0
  18. package/dist/abis/flap/portal-merkle.js +25 -0
  19. package/dist/abis/flap/portal.d.ts +6 -0
  20. package/dist/abis/flap/portal.js +37 -0
  21. package/dist/abis/flap/vault.d.ts +171 -0
  22. package/dist/abis/flap/vault.js +91 -0
  23. package/dist/abis/index.d.ts +8 -0
  24. package/dist/abis/index.js +11 -0
  25. package/dist/bundle-core/__tests__/config-helpers.test.d.ts +1 -0
  26. package/dist/bundle-core/__tests__/config-helpers.test.js +28 -0
  27. package/dist/bundle-core/__tests__/facade-parity.test.d.ts +1 -0
  28. package/dist/bundle-core/__tests__/facade-parity.test.js +33 -0
  29. package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +1 -0
  30. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +60 -0
  31. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +1 -0
  32. package/dist/bundle-core/__tests__/sign-fixture.test.js +220 -0
  33. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +10 -0
  34. package/dist/bundle-core/__tests__/sign-fixtures.js +16 -0
  35. package/dist/bundle-core/config-helpers.d.ts +37 -0
  36. package/dist/bundle-core/config-helpers.js +58 -0
  37. package/dist/bundle-core/errors.d.ts +50 -0
  38. package/dist/bundle-core/errors.js +38 -0
  39. package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +7 -0
  40. package/dist/bundle-core/four-meme/approve-tokenmanager.js +99 -0
  41. package/dist/bundle-core/four-meme/core-helpers.d.ts +8 -0
  42. package/dist/bundle-core/four-meme/core-helpers.js +41 -0
  43. package/dist/bundle-core/four-meme/core.d.ts +4 -0
  44. package/dist/bundle-core/four-meme/core.js +515 -0
  45. package/dist/bundle-core/four-meme/pancake-proxy.d.ts +28 -0
  46. package/dist/bundle-core/four-meme/pancake-proxy.js +679 -0
  47. package/dist/bundle-core/four-meme/private.d.ts +27 -0
  48. package/dist/bundle-core/four-meme/private.js +465 -0
  49. package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +2 -0
  50. package/dist/bundle-core/four-meme/sign-context-helpers.js +2 -0
  51. package/dist/bundle-core/four-meme/swap-buy-first.d.ts +8 -0
  52. package/dist/bundle-core/four-meme/swap-buy-first.js +456 -0
  53. package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +6 -0
  54. package/dist/bundle-core/four-meme/swap-hop-helpers.js +63 -0
  55. package/dist/bundle-core/four-meme/swap-internal.d.ts +3 -0
  56. package/dist/bundle-core/four-meme/swap-internal.js +18 -0
  57. package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +28 -0
  58. package/dist/bundle-core/four-meme/swap-sign-helpers.js +105 -0
  59. package/dist/bundle-core/four-meme/swap.d.ts +17 -0
  60. package/dist/bundle-core/four-meme/swap.js +505 -0
  61. package/dist/bundle-core/four-meme/types/buy-first.d.ts +50 -0
  62. package/dist/bundle-core/four-meme/types/buy-first.js +1 -0
  63. package/dist/bundle-core/four-meme/types/core-flow.d.ts +63 -0
  64. package/dist/bundle-core/four-meme/types/core-flow.js +1 -0
  65. package/dist/bundle-core/four-meme/types/index.d.ts +600 -0
  66. package/dist/bundle-core/four-meme/types/index.js +1 -0
  67. package/dist/bundle-core/four-meme/types/swap-internal.d.ts +19 -0
  68. package/dist/bundle-core/four-meme/types/swap-internal.js +1 -0
  69. package/dist/bundle-core/four-meme/types.d.ts +1 -0
  70. package/dist/bundle-core/four-meme/types.js +1 -0
  71. package/dist/bundle-core/four-meme/utils-disperse.d.ts +7 -0
  72. package/dist/bundle-core/four-meme/utils-disperse.js +396 -0
  73. package/dist/bundle-core/four-meme/utils-pairwise.d.ts +8 -0
  74. package/dist/bundle-core/four-meme/utils-pairwise.js +328 -0
  75. package/dist/bundle-core/four-meme/utils-sweep.d.ts +8 -0
  76. package/dist/bundle-core/four-meme/utils-sweep.js +744 -0
  77. package/dist/bundle-core/index.d.ts +8 -0
  78. package/dist/bundle-core/index.js +8 -0
  79. package/dist/bundle-core/internal.d.ts +16 -0
  80. package/dist/bundle-core/internal.js +160 -0
  81. package/dist/bundle-core/sign-context-helpers.d.ts +26 -0
  82. package/dist/bundle-core/sign-context-helpers.js +63 -0
  83. package/dist/bundle-core/submit.d.ts +293 -0
  84. package/dist/bundle-core/submit.js +731 -0
  85. package/dist/bundle-core/types/index.d.ts +8 -0
  86. package/dist/bundle-core/types/index.js +1 -0
  87. package/dist/bundle-core/types.d.ts +1 -0
  88. package/dist/bundle-core/types.js +1 -0
  89. package/dist/chains/bsc/four/approve-tokenmanager.d.ts +1 -26
  90. package/dist/chains/bsc/four/approve-tokenmanager.js +1 -113
  91. package/dist/chains/bsc/four/config.d.ts +5 -67
  92. package/dist/chains/bsc/four/config.js +2 -114
  93. package/dist/chains/bsc/four/core.d.ts +1 -4
  94. package/dist/chains/bsc/four/core.js +1 -592
  95. package/dist/chains/bsc/four/index.d.ts +6 -6
  96. package/dist/chains/bsc/four/index.js +6 -6
  97. package/dist/chains/bsc/four/internal.d.ts +2 -46
  98. package/dist/chains/bsc/four/internal.js +2 -239
  99. package/dist/chains/bsc/four/pancake-proxy.d.ts +1 -28
  100. package/dist/chains/bsc/four/pancake-proxy.js +1 -687
  101. package/dist/chains/bsc/four/private.d.ts +1 -27
  102. package/dist/chains/bsc/four/private.js +1 -477
  103. package/dist/chains/bsc/four/submit.d.ts +2 -315
  104. package/dist/chains/bsc/four/submit.js +2 -752
  105. package/dist/chains/bsc/four/swap-buy-first.d.ts +2 -55
  106. package/dist/chains/bsc/four/swap-buy-first.js +2 -507
  107. package/dist/chains/bsc/four/swap-internal.d.ts +1 -3
  108. package/dist/chains/bsc/four/swap-internal.js +1 -18
  109. package/dist/chains/bsc/four/swap.d.ts +2 -144
  110. package/dist/chains/bsc/four/swap.js +2 -766
  111. package/dist/chains/bsc/four/types.d.ts +1 -476
  112. package/dist/chains/bsc/four/utils-disperse.d.ts +1 -0
  113. package/dist/chains/bsc/four/utils-disperse.js +1 -0
  114. package/dist/chains/bsc/four/utils-pairwise.d.ts +1 -0
  115. package/dist/chains/bsc/four/utils-pairwise.js +1 -0
  116. package/dist/chains/bsc/four/utils-sweep.d.ts +1 -0
  117. package/dist/chains/bsc/four/utils-sweep.js +1 -0
  118. package/dist/chains/bsc/four/utils.d.ts +5 -18
  119. package/dist/chains/bsc/four/utils.js +5 -1552
  120. package/dist/chains/bsc/iro.d.ts +5 -0
  121. package/dist/chains/bsc/iro.js +4 -0
  122. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +155 -0
  123. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +80 -0
  124. package/dist/chains/bsc/pancake/bundle-buy-first.d.ts +1 -91
  125. package/dist/chains/bsc/pancake/bundle-buy-first.js +98 -213
  126. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +241 -0
  127. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +565 -0
  128. package/dist/chains/bsc/pancake/bundle-swap.d.ts +1 -79
  129. package/dist/chains/bsc/pancake/bundle-swap.js +114 -726
  130. package/dist/chains/bsc/pancake/index.d.ts +4 -2
  131. package/dist/chains/bsc/pancake/index.js +1 -3
  132. package/dist/chains/bsc/platforms/iro/factory.d.ts +2 -2
  133. package/dist/chains/bsc/platforms/iro/factory.js +3 -1
  134. package/dist/chains/bsc/platforms/iro/index.d.ts +5 -5
  135. package/dist/chains/bsc/platforms/iro/index.js +3 -3
  136. package/dist/chains/bsc/platforms/iro/pool.js +31 -10
  137. package/dist/chains/bsc/platforms/iro/token.js +4 -1
  138. package/dist/chains/eni/batch-router/bundle-approve.js +4 -3
  139. package/dist/chains/eni/batch-router/transfer.js +55 -25
  140. package/dist/chains/eni/batch-router/utils.js +32 -6
  141. package/dist/chains/eni/bundler/sign.js +5 -6
  142. package/dist/chains/eni/bundler/submit.js +1 -4
  143. package/dist/chains/eni/constants.js +1 -1
  144. package/dist/chains/eni/flat-aliases.d.ts +10 -0
  145. package/dist/chains/eni/flat-aliases.js +8 -0
  146. package/dist/chains/eni/index.d.ts +2 -1
  147. package/dist/chains/eni/index.js +1 -0
  148. package/dist/chains/eni/platforms/daoaas/create.js +2 -2
  149. package/dist/chains/eni/platforms/daoaas/index.d.ts +3 -3
  150. package/dist/chains/eni/platforms/daoaas/index.js +3 -3
  151. package/dist/chains/eni/platforms/daoaas/meta.js +9 -6
  152. package/dist/chains/eni/platforms/daoaas/portal-direct.js +28 -44
  153. package/dist/chains/eni/platforms/daoaas/portal.js +10 -6
  154. package/dist/chains/eni/platforms/dswap/liquidity.js +58 -26
  155. package/dist/chains/eni/platforms/fair-launch/index.d.ts +2 -2
  156. package/dist/chains/eni/platforms/fair-launch/index.js +1 -1
  157. package/dist/chains/eni/platforms/fair-launch/launcher.js +87 -46
  158. package/dist/chains/eni/platforms/fair-launch/pool.js +4 -1
  159. package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
  160. package/dist/chains/eni/platforms/iro/factory.d.ts +2 -2
  161. package/dist/chains/eni/platforms/iro/factory.js +3 -1
  162. package/dist/chains/eni/platforms/iro/index.d.ts +6 -6
  163. package/dist/chains/eni/platforms/iro/index.js +4 -4
  164. package/dist/chains/eni/platforms/iro/pool.js +90 -26
  165. package/dist/chains/eni/platforms/iro/token.js +107 -31
  166. package/dist/chains/eni/platforms/iro/whitelist.js +6 -18
  167. package/dist/chains/eni/submit.d.ts +43 -0
  168. package/dist/chains/eni/submit.js +287 -0
  169. package/dist/chains/index.d.ts +13 -0
  170. package/dist/chains/index.js +13 -0
  171. package/dist/chains/xlayer/constants.d.ts +5 -0
  172. package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +2 -26
  173. package/dist/chains/xlayer/eip7702/bundle-approve.js +11 -21
  174. package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +2 -6
  175. package/dist/chains/xlayer/eip7702/bundle-buy.js +13 -51
  176. package/dist/chains/xlayer/eip7702/bundle-create.js +104 -74
  177. package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +2 -6
  178. package/dist/chains/xlayer/eip7702/bundle-sell.js +29 -111
  179. package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +3 -65
  180. package/dist/chains/xlayer/eip7702/bundle-swap.js +51 -245
  181. package/dist/chains/xlayer/eip7702/constants.d.ts +11 -26
  182. package/dist/chains/xlayer/eip7702/constants.js +15 -68
  183. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +13 -0
  184. package/dist/chains/xlayer/eip7702/flat-aliases.js +10 -0
  185. package/dist/chains/xlayer/eip7702/index.d.ts +28 -46
  186. package/dist/chains/xlayer/eip7702/index.js +28 -81
  187. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +79 -0
  188. package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +1 -0
  189. package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +2 -203
  190. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +63 -307
  191. package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +26 -0
  192. package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +58 -0
  193. package/dist/chains/xlayer/eip7702/types.d.ts +88 -0
  194. package/dist/chains/xlayer/eip7702/utils.d.ts +0 -3
  195. package/dist/chains/xlayer/eip7702/utils.js +23 -28
  196. package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +148 -0
  197. package/dist/chains/xlayer/eip7702/volume-helpers.js +48 -0
  198. package/dist/chains/xlayer/eip7702/volume.d.ts +6 -184
  199. package/dist/chains/xlayer/eip7702/volume.js +89 -164
  200. package/dist/chains/xlayer/eoa/constants.d.ts +1 -1
  201. package/dist/chains/xlayer/eoa/constants.js +2 -16
  202. package/dist/chains/xlayer/eoa/dex-helpers.d.ts +1 -1
  203. package/dist/chains/xlayer/eoa/dex-helpers.js +7 -37
  204. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +126 -0
  205. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +228 -0
  206. package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +1 -95
  207. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +66 -299
  208. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
  209. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +18 -23
  210. package/dist/chains/xlayer/eoa/index.d.ts +10 -6
  211. package/dist/chains/xlayer/eoa/index.js +8 -23
  212. package/dist/chains/xlayer/eoa/portal-ops.js +7 -2
  213. package/dist/chains/xlayer/eoa/router-manager.js +5 -4
  214. package/dist/chains/xlayer/eoa/types.d.ts +2 -2
  215. package/dist/chains/xlayer/eoa/types.js +1 -3
  216. package/dist/chains/xlayer/index.d.ts +3 -2
  217. package/dist/chains/xlayer/index.js +4 -7
  218. package/dist/contracts/helper3.d.ts +20 -5
  219. package/dist/contracts/helper3.js +56 -20
  220. package/dist/contracts/tm-bundle-helpers.d.ts +88 -0
  221. package/dist/contracts/tm-bundle-helpers.js +73 -0
  222. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +1 -26
  223. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +1 -113
  224. package/dist/contracts/tm-bundle-merkle/config.d.ts +5 -67
  225. package/dist/contracts/tm-bundle-merkle/config.js +2 -114
  226. package/dist/contracts/tm-bundle-merkle/core.d.ts +1 -4
  227. package/dist/contracts/tm-bundle-merkle/core.js +1 -591
  228. package/dist/contracts/tm-bundle-merkle/index.d.ts +5 -5
  229. package/dist/contracts/tm-bundle-merkle/index.js +5 -5
  230. package/dist/contracts/tm-bundle-merkle/internal.d.ts +2 -46
  231. package/dist/contracts/tm-bundle-merkle/internal.js +2 -238
  232. package/dist/contracts/tm-bundle-merkle/pancake-proxy.d.ts +1 -28
  233. package/dist/contracts/tm-bundle-merkle/pancake-proxy.js +1 -686
  234. package/dist/contracts/tm-bundle-merkle/private.d.ts +1 -27
  235. package/dist/contracts/tm-bundle-merkle/private.js +1 -476
  236. package/dist/contracts/tm-bundle-merkle/submit.d.ts +3 -314
  237. package/dist/contracts/tm-bundle-merkle/submit.js +3 -928
  238. package/dist/contracts/tm-bundle-merkle/swap-buy-first.d.ts +2 -55
  239. package/dist/contracts/tm-bundle-merkle/swap-buy-first.js +2 -506
  240. package/dist/contracts/tm-bundle-merkle/swap-internal.d.ts +1 -3
  241. package/dist/contracts/tm-bundle-merkle/swap-internal.js +1 -18
  242. package/dist/contracts/tm-bundle-merkle/swap.d.ts +2 -144
  243. package/dist/contracts/tm-bundle-merkle/swap.js +2 -764
  244. package/dist/contracts/tm-bundle-merkle/types.d.ts +1 -476
  245. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +1 -0
  246. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +1 -0
  247. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +1 -0
  248. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +1 -0
  249. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +1 -0
  250. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +1 -0
  251. package/dist/contracts/tm-bundle-merkle/utils.d.ts +6 -18
  252. package/dist/contracts/tm-bundle-merkle/utils.js +6 -1501
  253. package/dist/contracts/tm-bundle.d.ts +3 -51
  254. package/dist/contracts/tm-bundle.js +120 -187
  255. package/dist/contracts/tm.d.ts +10 -8
  256. package/dist/contracts/tm.js +39 -35
  257. package/dist/contracts/tm1.js +9 -4
  258. package/dist/contracts/tm2.js +10 -5
  259. package/dist/dex/direct-router-helpers.d.ts +269 -0
  260. package/dist/dex/direct-router-helpers.js +536 -0
  261. package/dist/dex/direct-router.d.ts +3 -125
  262. package/dist/dex/direct-router.js +244 -672
  263. package/dist/dex/types.d.ts +81 -0
  264. package/dist/dex/types.js +1 -0
  265. package/dist/exports/root-bundle-and-tooling.d.ts +27 -0
  266. package/dist/exports/root-bundle-and-tooling.js +30 -0
  267. package/dist/exports/root-eni-and-bsc-iro.d.ts +26 -0
  268. package/dist/exports/root-eni-and-bsc-iro.js +66 -0
  269. package/dist/exports/root-foundations.d.ts +35 -0
  270. package/dist/exports/root-foundations.js +70 -0
  271. package/dist/exports/root-swap-dex-and-xlayer.d.ts +30 -0
  272. package/dist/exports/root-swap-dex-and-xlayer.js +78 -0
  273. package/dist/flap/index.d.ts +11 -0
  274. package/dist/flap/index.js +9 -0
  275. package/dist/flows/create.d.ts +2 -1
  276. package/dist/flows/create.js +6 -6
  277. package/dist/flows/index.d.ts +9 -0
  278. package/dist/flows/index.js +9 -0
  279. package/dist/index.d.ts +20 -88
  280. package/dist/index.js +20 -218
  281. package/dist/merkle/index.d.ts +12 -0
  282. package/dist/merkle/index.js +11 -0
  283. package/dist/shared/abis/common.d.ts +2 -83
  284. package/dist/shared/abis/common.js +2 -254
  285. package/dist/shared/abis/index.d.ts +5 -6
  286. package/dist/shared/abis/index.js +5 -7
  287. package/dist/shared/clients/blockrazor.d.ts +4 -8
  288. package/dist/shared/clients/blockrazor.js +43 -35
  289. package/dist/shared/clients/club48.d.ts +2 -2
  290. package/dist/shared/clients/club48.js +36 -30
  291. package/dist/shared/clients/emitservice.js +2 -0
  292. package/dist/shared/clients/four.d.ts +21 -6
  293. package/dist/shared/clients/four.js +29 -24
  294. package/dist/shared/clients/index.d.ts +8 -0
  295. package/dist/shared/clients/index.js +8 -0
  296. package/dist/shared/clients/merkle.d.ts +4 -3
  297. package/dist/shared/clients/merkle.js +30 -47
  298. package/dist/shared/constants/addresses.d.ts +27 -1
  299. package/dist/shared/constants/addresses.js +39 -2
  300. package/dist/shared/constants/chains.d.ts +1 -1
  301. package/dist/shared/constants/chains.js +1 -1
  302. package/dist/shared/constants/gas.d.ts +1 -1
  303. package/dist/shared/constants/gas.js +2 -6
  304. package/dist/shared/constants/index.d.ts +4 -1
  305. package/dist/shared/constants/index.js +2 -1
  306. package/dist/shared/constants/quote.d.ts +30 -0
  307. package/dist/shared/constants/quote.js +37 -0
  308. package/dist/shared/flap/abi.js +1 -1
  309. package/dist/shared/flap/constants.d.ts +1 -2
  310. package/dist/shared/flap/constants.js +3 -4
  311. package/dist/shared/flap/curve.js +3 -0
  312. package/dist/shared/flap/errors.d.ts +1 -4
  313. package/dist/shared/flap/errors.js +20 -1
  314. package/dist/shared/flap/index.d.ts +4 -5
  315. package/dist/shared/flap/index.js +4 -5
  316. package/dist/shared/flap/launch-v6.d.ts +0 -5
  317. package/dist/shared/flap/launch-v6.js +2 -16
  318. package/dist/shared/flap/meta.d.ts +22 -18
  319. package/dist/shared/flap/meta.js +32 -24
  320. package/dist/shared/flap/permit.js +10 -3
  321. package/dist/shared/flap/pinata.d.ts +22 -6
  322. package/dist/shared/flap/pinata.js +21 -26
  323. package/dist/shared/flap/portal-bundle-merkle/config.d.ts +3 -72
  324. package/dist/shared/flap/portal-bundle-merkle/config.js +4 -124
  325. package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +32 -0
  326. package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +83 -0
  327. package/dist/shared/flap/portal-bundle-merkle/core.d.ts +0 -4
  328. package/dist/shared/flap/portal-bundle-merkle/core.js +168 -175
  329. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.d.ts +17 -4
  330. package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +96 -117
  331. package/dist/shared/flap/portal-bundle-merkle/curve-to-dex.js +104 -122
  332. package/dist/shared/flap/portal-bundle-merkle/index.d.ts +11 -7
  333. package/dist/shared/flap/portal-bundle-merkle/index.js +4 -7
  334. package/dist/shared/flap/portal-bundle-merkle/pancake-proxy.js +71 -68
  335. package/dist/shared/flap/portal-bundle-merkle/private.js +61 -114
  336. package/dist/shared/flap/portal-bundle-merkle/swap-batch.d.ts +8 -0
  337. package/dist/shared/flap/portal-bundle-merkle/swap-batch.js +227 -0
  338. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +125 -0
  339. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +113 -0
  340. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +1 -64
  341. package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.js +69 -288
  342. package/dist/shared/flap/portal-bundle-merkle/swap-cross.d.ts +9 -0
  343. package/dist/shared/flap/portal-bundle-merkle/swap-cross.js +139 -0
  344. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +149 -0
  345. package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +259 -0
  346. package/dist/shared/flap/portal-bundle-merkle/swap-planning.d.ts +70 -0
  347. package/dist/shared/flap/portal-bundle-merkle/swap-planning.js +182 -0
  348. package/dist/shared/flap/portal-bundle-merkle/swap-quick-batch.d.ts +16 -0
  349. package/dist/shared/flap/portal-bundle-merkle/swap-quick-batch.js +327 -0
  350. package/dist/shared/flap/portal-bundle-merkle/swap-single.d.ts +2 -0
  351. package/dist/shared/flap/portal-bundle-merkle/swap-single.js +184 -0
  352. package/dist/shared/flap/portal-bundle-merkle/swap-types.d.ts +101 -0
  353. package/dist/shared/flap/portal-bundle-merkle/swap-types.js +1 -0
  354. package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +6 -199
  355. package/dist/shared/flap/portal-bundle-merkle/swap.js +5 -1357
  356. package/dist/shared/flap/portal-bundle-merkle/types.d.ts +88 -12
  357. package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +1 -80
  358. package/dist/shared/flap/portal-bundle-merkle/utils.js +145 -265
  359. package/dist/shared/flap/portal-bundle.js +83 -78
  360. package/dist/shared/flap/portal-create-token.d.ts +39 -21
  361. package/dist/shared/flap/portal-create-token.js +121 -124
  362. package/dist/shared/flap/portal.d.ts +1 -2
  363. package/dist/shared/flap/portal.js +36 -28
  364. package/dist/shared/flap/vanity.d.ts +6 -6
  365. package/dist/shared/flap/vanity.js +15 -21
  366. package/dist/shared/flap/vault.d.ts +25 -93
  367. package/dist/shared/flap/vault.js +77 -127
  368. package/dist/shared/foundation/amount/split-by-weight.d.ts +5 -0
  369. package/dist/shared/foundation/amount/split-by-weight.js +35 -0
  370. package/dist/shared/foundation/dex/v3-path.d.ts +6 -0
  371. package/dist/shared/foundation/dex/v3-path.js +35 -0
  372. package/dist/shared/foundation/erc20/decimals.d.ts +7 -0
  373. package/dist/shared/foundation/erc20/decimals.js +24 -0
  374. package/dist/shared/foundation/gas/bundle-gas.d.ts +49 -0
  375. package/dist/shared/foundation/gas/bundle-gas.js +93 -0
  376. package/dist/shared/foundation/gas/profit-hop.d.ts +20 -0
  377. package/dist/shared/foundation/gas/profit-hop.js +72 -0
  378. package/dist/shared/foundation/index.d.ts +15 -0
  379. package/dist/shared/foundation/index.js +14 -0
  380. package/dist/shared/foundation/nonce/nonce-manager.d.ts +19 -0
  381. package/dist/shared/foundation/nonce/nonce-manager.js +217 -0
  382. package/dist/shared/foundation/normalize-unknown.d.ts +9 -0
  383. package/dist/shared/foundation/normalize-unknown.js +29 -0
  384. package/dist/shared/foundation/sdk-logger.d.ts +13 -0
  385. package/dist/shared/foundation/sdk-logger.js +12 -0
  386. package/dist/shared/foundation/tx/build-request.d.ts +17 -0
  387. package/dist/shared/foundation/tx/build-request.js +25 -0
  388. package/dist/shared/foundation/tx/sign-batch.d.ts +5 -0
  389. package/dist/shared/foundation/tx/sign-batch.js +26 -0
  390. package/dist/shared/foundation/tx/wallet-sign-patch.d.ts +1 -0
  391. package/dist/shared/foundation/tx/wallet-sign-patch.js +18 -0
  392. package/dist/shared/foundation/types/airdrop-sweep.d.ts +79 -0
  393. package/dist/shared/foundation/types/airdrop-sweep.js +1 -0
  394. package/dist/shared/foundation/types/erc20.d.ts +65 -0
  395. package/dist/shared/foundation/types/erc20.js +1 -0
  396. package/dist/shared/foundation/types/holders-maker.d.ts +64 -0
  397. package/dist/shared/foundation/types/holders-maker.js +1 -0
  398. package/dist/shared/foundation/types/index.d.ts +7 -0
  399. package/dist/shared/foundation/types/index.js +1 -0
  400. package/dist/shared/foundation/types/lp-inspect.d.ts +102 -0
  401. package/dist/shared/foundation/types/lp-inspect.js +1 -0
  402. package/dist/shared/foundation/types/multicall.d.ts +5 -0
  403. package/dist/shared/foundation/types/multicall.js +1 -0
  404. package/dist/shared/foundation/types/private-sale.d.ts +35 -0
  405. package/dist/shared/foundation/types/private-sale.js +1 -0
  406. package/dist/shared/foundation/types/quote-helpers.d.ts +17 -0
  407. package/dist/shared/foundation/types/quote-helpers.js +1 -0
  408. package/dist/shared/foundation/wallet/generate.d.ts +5 -0
  409. package/dist/shared/foundation/wallet/generate.js +8 -0
  410. package/dist/shared/four/tax-token.d.ts +1 -1
  411. package/dist/shared/four/tax-token.js +31 -10
  412. package/dist/shared/index.d.ts +6 -0
  413. package/dist/shared/index.js +4 -0
  414. package/dist/types/errors.d.ts +27 -0
  415. package/dist/types/errors.js +34 -0
  416. package/dist/utils/airdrop-sweep.d.ts +4 -76
  417. package/dist/utils/airdrop-sweep.js +42 -55
  418. package/dist/utils/bundle-helpers.d.ts +9 -243
  419. package/dist/utils/bundle-helpers.js +10 -584
  420. package/dist/utils/constants.d.ts +5 -61
  421. package/dist/utils/constants.js +5 -80
  422. package/dist/utils/contract-factory.d.ts +2 -4
  423. package/dist/utils/contract-factory.js +25 -18
  424. package/dist/utils/erc20.d.ts +7 -89
  425. package/dist/utils/erc20.js +98 -129
  426. package/dist/utils/errors.d.ts +12 -1
  427. package/dist/utils/errors.js +60 -1
  428. package/dist/utils/holders-maker/addresses.d.ts +12 -0
  429. package/dist/utils/holders-maker/addresses.js +15 -0
  430. package/dist/utils/holders-maker/buy-tx.d.ts +44 -0
  431. package/dist/utils/holders-maker/buy-tx.js +278 -0
  432. package/dist/utils/holders-maker/constants.d.ts +6 -0
  433. package/dist/utils/holders-maker/constants.js +7 -0
  434. package/dist/utils/holders-maker/disperse.d.ts +18 -0
  435. package/dist/utils/holders-maker/disperse.js +90 -0
  436. package/dist/utils/holders-maker/routing.d.ts +4 -0
  437. package/dist/utils/holders-maker/routing.js +45 -0
  438. package/dist/utils/holders-maker/transfer-tx.d.ts +4 -0
  439. package/dist/utils/holders-maker/transfer-tx.js +67 -0
  440. package/dist/utils/holders-maker-helpers.d.ts +9 -0
  441. package/dist/utils/holders-maker-helpers.js +9 -0
  442. package/dist/utils/holders-maker.d.ts +2 -138
  443. package/dist/utils/holders-maker.js +50 -671
  444. package/dist/utils/hop-chains.d.ts +35 -0
  445. package/dist/utils/hop-chains.js +215 -0
  446. package/dist/utils/lp-inspect-helpers.d.ts +9 -0
  447. package/dist/utils/lp-inspect-helpers.js +109 -0
  448. package/dist/utils/lp-inspect.d.ts +2 -112
  449. package/dist/utils/lp-inspect.js +78 -293
  450. package/dist/utils/mpcExclusive.d.ts +2 -5
  451. package/dist/utils/mpcExclusive.js +4 -3
  452. package/dist/utils/private-sale.d.ts +2 -58
  453. package/dist/utils/private-sale.js +4 -15
  454. package/dist/utils/provider-factory.d.ts +4 -0
  455. package/dist/utils/provider-factory.js +10 -0
  456. package/dist/utils/quote-helpers.d.ts +4 -45
  457. package/dist/utils/quote-helpers.js +17 -74
  458. package/dist/utils/stealth-transfer.d.ts +2 -28
  459. package/dist/utils/stealth-transfer.js +39 -19
  460. package/dist/utils/swap-helpers.d.ts +2 -15
  461. package/dist/utils/swap-helpers.js +6 -11
  462. package/dist/utils/types/airdrop-sweep.d.ts +1 -0
  463. package/dist/utils/types/airdrop-sweep.js +1 -0
  464. package/dist/utils/types/contract-factory.d.ts +1 -0
  465. package/dist/utils/types/contract-factory.js +1 -0
  466. package/dist/utils/types/erc20.d.ts +1 -0
  467. package/dist/utils/types/erc20.js +1 -0
  468. package/dist/utils/types/errors.d.ts +1 -0
  469. package/dist/utils/types/errors.js +1 -0
  470. package/dist/utils/types/holders-maker.d.ts +1 -0
  471. package/dist/utils/types/holders-maker.js +1 -0
  472. package/dist/utils/types/hop-chains.d.ts +8 -0
  473. package/dist/utils/types/hop-chains.js +1 -0
  474. package/dist/utils/types/index.d.ts +13 -0
  475. package/dist/utils/types/index.js +1 -0
  476. package/dist/utils/types/lp-inspect.d.ts +1 -0
  477. package/dist/utils/types/lp-inspect.js +1 -0
  478. package/dist/utils/types/mpc-exclusive.d.ts +5 -0
  479. package/dist/utils/types/mpc-exclusive.js +1 -0
  480. package/dist/utils/types/private-sale.d.ts +1 -0
  481. package/dist/utils/types/private-sale.js +1 -0
  482. package/dist/utils/types/quote-helpers.d.ts +1 -0
  483. package/dist/utils/types/quote-helpers.js +1 -0
  484. package/dist/utils/types/stealth-transfer.d.ts +44 -0
  485. package/dist/utils/types/stealth-transfer.js +1 -0
  486. package/dist/utils/types/wallet.d.ts +25 -0
  487. package/dist/utils/types/wallet.js +1 -0
  488. package/dist/utils/wallet.d.ts +4 -25
  489. package/dist/utils/wallet.js +27 -22
  490. package/dist/vanity/index.d.ts +5 -0
  491. package/dist/vanity/index.js +5 -0
  492. package/package.json +100 -2
@@ -3,7 +3,8 @@
3
3
  */
4
4
  import { ethers, Contract } from 'ethers';
5
5
  import { batchCheckAllowances } from './erc20.js';
6
- import { ERC20_ABI } from '../shared/abis/common.js';
6
+ import { ERC20_ABI } from '../abis/common.js';
7
+ import { NonceManager, getOptimizedGasPrice } from './bundle-helpers.js';
7
8
  const APPROVAL_THRESHOLD = ethers.MaxUint256 / 2n;
8
9
  /**
9
10
  * 获取 Gas Limit(授权专用)
@@ -35,7 +36,6 @@ export async function ensureTokenApproval(provider, merkle, wallet, tokenAddress
35
36
  return;
36
37
  }
37
38
  // ✅ 使用 NonceManager(与 pancake-proxy.ts 一致)
38
- const { NonceManager, getOptimizedGasPrice } = await import('./bundle-helpers.js');
39
39
  const nonceManager = new NonceManager(provider);
40
40
  // 构建授权交易
41
41
  const tokenContract = new Contract(tokenAddress, ERC20_ABI, wallet);
@@ -65,7 +65,7 @@ export async function ensureTokenApproval(provider, merkle, wallet, tokenAddress
65
65
  gasLimit: approveGasLimit,
66
66
  gasPrice,
67
67
  chainId,
68
- type: config.txType ?? 0
68
+ type: config.txType ?? 0,
69
69
  });
70
70
  // 清理临时 nonce 缓存
71
71
  nonceManager.clearTemp();
@@ -75,7 +75,7 @@ export async function ensureTokenApproval(provider, merkle, wallet, tokenAddress
75
75
  transactions: [signedTx],
76
76
  blockOffset,
77
77
  minTimestamp: 0,
78
- maxTimestamp: 0
78
+ maxTimestamp: 0,
79
79
  });
80
80
  // 等待确认
81
81
  const results = await merkle.waitForBundleConfirmation(bundleResult.txHashes, 1, config.waitTimeoutMs ?? 120000);
@@ -112,7 +112,7 @@ export async function calculateSellAmount(provider, tokenAddress, walletAddress,
112
112
  const decimals = await getTokenDecimals(provider, tokenAddress);
113
113
  return {
114
114
  amount: ethers.parseUnits(sellAmount, decimals),
115
- decimals
115
+ decimals,
116
116
  };
117
117
  }
118
118
  // 百分比:需要 decimals 和 balance
@@ -123,7 +123,7 @@ export async function calculateSellAmount(provider, tokenAddress, walletAddress,
123
123
  // ✅ 并行获取 decimals 和 balance
124
124
  const [decimals, balance] = await Promise.all([
125
125
  getTokenDecimals(provider, tokenAddress),
126
- getTokenBalance(provider, tokenAddress, walletAddress)
126
+ getTokenBalance(provider, tokenAddress, walletAddress),
127
127
  ]);
128
128
  const amount = (balance * BigInt(Math.floor(sellPercentage * 100))) / 10000n;
129
129
  return { amount, decimals };
@@ -150,8 +150,3 @@ export async function validateBNBBalance(provider, walletAddress, requiredBNB, p
150
150
  `实际 ${ethers.formatEther(balance)} BNB`);
151
151
  }
152
152
  }
153
- /**
154
- * 格式化换手结果日志
155
- */
156
- export function logSwapResult(params) {
157
- }
@@ -0,0 +1 @@
1
+ export type { BundleSubmitResult, SignedTransactionsResult, AirdropDisperseParams, AirdropDisperseSignParams, AirdropSweepParams, AirdropSweepSignParams, DisperseParams, DisperseSignParams, SweepParams, SweepSignParams, } from '../../shared/foundation/types/airdrop-sweep.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type ChainName = 'BSC' | 'BASE' | 'ARBITRUM_ONE';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type { EnsureAllowanceResult, EnsureAllowanceBatchItemResult, ApproveTokenBatchParams, ApproveTokenBatchRawParams, ApproveTokenBatchResult, ApproveTokenBatchSignResult, } from '../../shared/foundation/types/erc20.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type FourErrorCode = 'GW' | 'ZA' | 'TO' | 'Slippage' | 'More BNB' | 'FR' | 'SO';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type { HoldersMakerChain, HoldersMakerTradeType, BaseTokenType, HoldersMakerConfig, HoldersMakerParams, TransactionLayer, BatchResult, HoldersMakerResult, } from '../../shared/foundation/types/holders-maker.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { Wallet } from 'ethers';
2
+ import type { GeneratedWallet } from './wallet.js';
3
+ /** 分发多跳路径信息 */
4
+ export type DisperseHopPath = {
5
+ targetAddress: string;
6
+ hopWallets: Wallet[];
7
+ hopWalletsInfo: GeneratedWallet[];
8
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,13 @@
1
+ /** utils 层类型 facade(唯一源见 `shared/foundation/types/` 或同目录模块专用类型) */
2
+ export type * from './holders-maker.js';
3
+ export type * from './lp-inspect.js';
4
+ export type * from './airdrop-sweep.js';
5
+ export type * from './private-sale.js';
6
+ export type * from './quote-helpers.js';
7
+ export type * from './erc20.js';
8
+ export type * from './wallet.js';
9
+ export type * from './stealth-transfer.js';
10
+ export type * from './errors.js';
11
+ export type * from './mpc-exclusive.js';
12
+ export type * from './contract-factory.js';
13
+ export type * from './hop-chains.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type { DexConfig, ChainDexConfig, PoolPairInfo, V3PoolInfo, DexPoolInfo, BestPoolInfo, LPPlatform, LPInfo, InspectOptions, } from '../../shared/foundation/types/lp-inspect.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ export type ExclusiveCheckOnChainParams = {
2
+ chain: 'BSC';
3
+ tokenAddress: string;
4
+ rpcUrl: string;
5
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type { PrivateSaleSignConfig, PrivateSaleTransferParams, BatchPrivateSaleParams, PrivateSaleResult, } from '../../shared/foundation/types/private-sale.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type { SupportedChain, QuoteParams, QuoteResult } from '../../shared/foundation/types/quote-helpers.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,44 @@
1
+ import type { SoulPointSignatureMode, VNormalizationMode } from '../../shared/clients/club48.js';
2
+ export type StealthTransferResult = {
3
+ bundleUuid: string;
4
+ txs: string[];
5
+ hopAddresses: string[];
6
+ };
7
+ export type StealthTransferSimpleParams = {
8
+ rpcUrl: string;
9
+ chainId: number;
10
+ rootPrivateKey: string;
11
+ finalTo: string;
12
+ hopCount: number;
13
+ amount: string;
14
+ tokenAddress?: string;
15
+ tokenHolderPrivateKey?: string;
16
+ bundleEndpoint?: string;
17
+ gasPriceGwei?: string;
18
+ gasLimit?: bigint;
19
+ blockOffset?: number;
20
+ spMode?: SoulPointSignatureMode;
21
+ spPrivateKey?: string;
22
+ spVMode?: VNormalizationMode;
23
+ };
24
+ export type InternalStealthParams = {
25
+ rpcUrl: string;
26
+ chainId: number;
27
+ rootPrivateKey: string;
28
+ finalTo: string;
29
+ hopCount: number;
30
+ amountWei: bigint;
31
+ bundleEndpoint?: string;
32
+ gasPriceGwei?: string;
33
+ gasLimit?: bigint;
34
+ blockOffset?: number;
35
+ mode: 'native' | 'erc20';
36
+ erc20?: {
37
+ address: string;
38
+ holderPrivateKey?: string;
39
+ transferGasLimit?: bigint;
40
+ };
41
+ spMode?: SoulPointSignatureMode;
42
+ spPrivateKey?: string;
43
+ spVMode?: VNormalizationMode;
44
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ export type GeneratedWallet = {
2
+ address: string;
3
+ privateKey: string;
4
+ };
5
+ export type PrivateKeyValidation = {
6
+ privateKey: string;
7
+ valid: boolean;
8
+ address?: string;
9
+ normalized?: string;
10
+ error?: string;
11
+ };
12
+ export type MulticallResult = {
13
+ address: string;
14
+ balance: bigint;
15
+ success: boolean;
16
+ };
17
+ export type MultiTokenBalancesResult = {
18
+ address: string;
19
+ native: string;
20
+ tokens: Array<{
21
+ token: string;
22
+ balance: string;
23
+ }>;
24
+ success: boolean;
25
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,28 +1,7 @@
1
- export type GeneratedWallet = {
2
- address: string;
3
- privateKey: string;
4
- };
5
- export type PrivateKeyValidation = {
6
- privateKey: string;
7
- valid: boolean;
8
- address?: string;
9
- normalized?: string;
10
- error?: string;
11
- };
12
- export type MulticallResult = {
13
- address: string;
14
- balance: bigint;
15
- success: boolean;
16
- };
17
- export type MultiTokenBalancesResult = {
18
- address: string;
19
- native: string;
20
- tokens: Array<{
21
- token: string;
22
- balance: string;
23
- }>;
24
- success: boolean;
25
- };
1
+ import { type GeneratedWallet } from '../shared/foundation/wallet/generate.js';
2
+ import type { MultiTokenBalancesResult, MulticallResult, PrivateKeyValidation } from './types/wallet.js';
3
+ export type { PrivateKeyValidation, MulticallResult, MultiTokenBalancesResult, } from './types/wallet.js';
4
+ export type { GeneratedWallet } from '../shared/foundation/wallet/generate.js';
26
5
  /**
27
6
  * 批量生成钱包(并行优化)
28
7
  */
@@ -1,6 +1,8 @@
1
1
  import { Wallet, Interface, JsonRpcProvider, formatEther, formatUnits, isHexString } from 'ethers';
2
- import { CHAIN, ADDRESSES } from './constants.js';
3
- import { ERC20_ABI, MULTICALL3_ABI } from '../shared/abis/common.js';
2
+ import { CHAIN_ID_MAP, ADDRESSES } from '../shared/constants/index.js';
3
+ import { ERC20_ABI, MULTICALL3_ABI } from '../abis/common.js';
4
+ import { getErrorMessageFromUnknown } from '../shared/foundation/index.js';
5
+ import { generateWallets as generateWalletsFromFoundation, } from '../shared/foundation/wallet/generate.js';
4
6
  // ============================================================================
5
7
  // 常量
6
8
  // ============================================================================
@@ -30,12 +32,7 @@ const MULTICALL_BATCH_SIZE = 100;
30
32
  * 批量生成钱包(并行优化)
31
33
  */
32
34
  export function generateWallets(count) {
33
- const n = Math.max(0, Math.floor(count));
34
- // ✅ 使用 Array.from 并行生成
35
- return Array.from({ length: n }, () => {
36
- const w = Wallet.createRandom();
37
- return { address: w.address, privateKey: w.privateKey };
38
- });
35
+ return generateWalletsFromFoundation(count);
39
36
  }
40
37
  /**
41
38
  * 批量校验私钥(并行处理)
@@ -52,7 +49,7 @@ export function validatePrivateKeys(privateKeys) {
52
49
  return { privateKey: pk, valid: true, address: w.address, normalized };
53
50
  }
54
51
  catch (e) {
55
- return { privateKey: pk, valid: false, error: String(e?.message || e) };
52
+ return { privateKey: pk, valid: false, error: getErrorMessageFromUnknown(e) };
56
53
  }
57
54
  });
58
55
  }
@@ -119,13 +116,14 @@ async function _queryMultiTokenBalancesSingle(provider, multicallAddress, tokenA
119
116
  // ✅ 单次 multicall 获取所有数据
120
117
  const callData = multiIface.encodeFunctionData('aggregate', [calls]);
121
118
  const result = await provider.call({ to: multicallAddress, data: callData });
122
- const [, returnData] = multiIface.decodeFunctionResult('aggregate', result);
119
+ const decoded = multiIface.decodeFunctionResult('aggregate', result);
120
+ const returnData = decoded[1];
123
121
  // ✅ 并行解码结果
124
122
  const outputs = holders.map((addr) => ({
125
123
  address: addr,
126
124
  native: '0',
127
125
  tokens: [],
128
- success: true
126
+ success: true,
129
127
  }));
130
128
  // 解码原生余额
131
129
  let idx = 0;
@@ -145,14 +143,20 @@ async function _queryMultiTokenBalancesSingle(provider, multicallAddress, tokenA
145
143
  for (let i = 0; i < holders.length; i++, idx++) {
146
144
  try {
147
145
  const decoded = erc20Iface.decodeFunctionResult('balanceOf', returnData[idx]);
148
- if (!rawBalances.has(i))
149
- rawBalances.set(i, new Map());
150
- rawBalances.get(i).set(token, decoded[0]);
146
+ let balanceMap = rawBalances.get(i);
147
+ if (!balanceMap) {
148
+ balanceMap = new Map();
149
+ rawBalances.set(i, balanceMap);
150
+ }
151
+ balanceMap.set(token, decoded[0]);
151
152
  }
152
153
  catch {
153
- if (!rawBalances.has(i))
154
- rawBalances.set(i, new Map());
155
- rawBalances.get(i).set(token, 0n);
154
+ let balanceMap = rawBalances.get(i);
155
+ if (!balanceMap) {
156
+ balanceMap = new Map();
157
+ rawBalances.set(i, balanceMap);
158
+ }
159
+ balanceMap.set(token, 0n);
156
160
  outputs[i].success = false;
157
161
  }
158
162
  }
@@ -172,9 +176,9 @@ async function _queryMultiTokenBalancesSingle(provider, multicallAddress, tokenA
172
176
  // ✅ 格式化最终结果
173
177
  for (let i = 0; i < holders.length; i++) {
174
178
  const raw = rawBalances.get(i);
175
- outputs[i].tokens = tokenAddresses.map(token => ({
179
+ outputs[i].tokens = tokenAddresses.map((token) => ({
176
180
  token,
177
- balance: formatUnits(raw?.get(token) ?? 0n, tokenDecimals.get(token) ?? 18)
181
+ balance: formatUnits(raw?.get(token) ?? 0n, tokenDecimals.get(token) ?? 18),
178
182
  }));
179
183
  }
180
184
  return outputs;
@@ -208,11 +212,12 @@ async function _querySingleTokenBalancesSingle(provider, multicallAddress, token
208
212
  const multiIface = new Interface(MULTICALL3_ABI);
209
213
  const calls = holders.map((addr) => ({
210
214
  target: token,
211
- callData: erc20Iface.encodeFunctionData('balanceOf', [addr])
215
+ callData: erc20Iface.encodeFunctionData('balanceOf', [addr]),
212
216
  }));
213
217
  const callData = multiIface.encodeFunctionData('aggregate', [calls]);
214
218
  const result = await provider.call({ to: multicallAddress, data: callData });
215
- const [, returnData] = multiIface.decodeFunctionResult('aggregate', result);
219
+ const decoded = multiIface.decodeFunctionResult('aggregate', result);
220
+ const returnData = decoded[1];
216
221
  return holders.map((addr, i) => {
217
222
  try {
218
223
  const decoded = erc20Iface.decodeFunctionResult('balanceOf', returnData[i]);
@@ -255,7 +260,7 @@ export async function getTokenBalancesWithMulticall(rpcUrl, a, b, c) {
255
260
  chainId = a;
256
261
  }
257
262
  else if (typeof a === 'string') {
258
- chainId = CHAIN[a]?.chainId;
263
+ chainId = CHAIN_ID_MAP[a];
259
264
  }
260
265
  const multicallAddress = await getMulticallAddress(provider, chainId);
261
266
  return _queryMultiTokenBalances(provider, multicallAddress, b, c);
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Flap vanity / CREATE2 子路径
3
+ */
4
+ export { findSaltEndingByChain, predictVanityTokenAddress, predictVanityTokenAddressByChain, } from '../shared/flap/vanity.js';
5
+ export { getVanitySuffix } from '../shared/flap/constants.js';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Flap vanity / CREATE2 子路径
3
+ */
4
+ export { findSaltEndingByChain, predictVanityTokenAddress, predictVanityTokenAddressByChain, } from '../shared/flap/vanity.js';
5
+ export { getVanitySuffix } from '../shared/flap/constants.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "four-flap-meme-sdk",
3
- "version": "2.2.18",
3
+ "version": "2.2.20",
4
4
  "description": "SDK for Flap bonding curve and four.meme TokenManager",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -12,8 +12,105 @@
12
12
  "scripts": {
13
13
  "build": "tsc -p tsconfig.json",
14
14
  "clean": "rm -rf dist",
15
+ "test": "vitest run",
16
+ "check:export-types": "node scripts/check-export-return-types.mjs",
15
17
  "prepublishOnly": "npm run build"
16
18
  },
19
+ "exports": {
20
+ ".": {
21
+ "types": "./dist/index.d.ts",
22
+ "default": "./dist/index.js"
23
+ },
24
+ "./foundation": {
25
+ "types": "./dist/shared/foundation/index.d.ts",
26
+ "default": "./dist/shared/foundation/index.js"
27
+ },
28
+ "./bundle-core": {
29
+ "types": "./dist/bundle-core/index.d.ts",
30
+ "default": "./dist/bundle-core/index.js"
31
+ },
32
+ "./flows": {
33
+ "types": "./dist/flows/index.d.ts",
34
+ "default": "./dist/flows/index.js"
35
+ },
36
+ "./constants": {
37
+ "types": "./dist/shared/constants/index.d.ts",
38
+ "default": "./dist/shared/constants/index.js"
39
+ },
40
+ "./chains": {
41
+ "types": "./dist/chains/index.d.ts",
42
+ "default": "./dist/chains/index.js"
43
+ },
44
+ "./chains/bsc": {
45
+ "types": "./dist/chains/bsc/index.d.ts",
46
+ "default": "./dist/chains/bsc/index.js"
47
+ },
48
+ "./chains/bsc/iro": {
49
+ "types": "./dist/chains/bsc/iro.d.ts",
50
+ "default": "./dist/chains/bsc/iro.js"
51
+ },
52
+ "./chains/xlayer": {
53
+ "types": "./dist/chains/xlayer/index.d.ts",
54
+ "default": "./dist/chains/xlayer/index.js"
55
+ },
56
+ "./chains/xlayer/eip7702": {
57
+ "types": "./dist/chains/xlayer/eip7702/index.d.ts",
58
+ "default": "./dist/chains/xlayer/eip7702/index.js"
59
+ },
60
+ "./chains/eni": {
61
+ "types": "./dist/chains/eni/index.d.ts",
62
+ "default": "./dist/chains/eni/index.js"
63
+ },
64
+ "./chains/monad": {
65
+ "types": "./dist/chains/monad/index.d.ts",
66
+ "default": "./dist/chains/monad/index.js"
67
+ },
68
+ "./flap": {
69
+ "types": "./dist/flap/index.d.ts",
70
+ "default": "./dist/flap/index.js"
71
+ },
72
+ "./shared/flap": {
73
+ "types": "./dist/flap/index.d.ts",
74
+ "default": "./dist/flap/index.js"
75
+ },
76
+ "./dex": {
77
+ "types": "./dist/dex/index.d.ts",
78
+ "default": "./dist/dex/index.js"
79
+ },
80
+ "./merkle": {
81
+ "types": "./dist/merkle/index.d.ts",
82
+ "default": "./dist/merkle/index.js"
83
+ },
84
+ "./quote": {
85
+ "types": "./dist/utils/quote-helpers.d.ts",
86
+ "default": "./dist/utils/quote-helpers.js"
87
+ },
88
+ "./vanity": {
89
+ "types": "./dist/vanity/index.d.ts",
90
+ "default": "./dist/vanity/index.js"
91
+ },
92
+ "./utils/wallet": {
93
+ "types": "./dist/utils/wallet.d.ts",
94
+ "default": "./dist/utils/wallet.js"
95
+ },
96
+ "./utils/erc20": {
97
+ "types": "./dist/utils/erc20.d.ts",
98
+ "default": "./dist/utils/erc20.js"
99
+ },
100
+ "./utils/lp-inspect": {
101
+ "types": "./dist/utils/lp-inspect.d.ts",
102
+ "default": "./dist/utils/lp-inspect.js"
103
+ },
104
+ "./utils/holders-maker": {
105
+ "types": "./dist/utils/holders-maker.d.ts",
106
+ "default": "./dist/utils/holders-maker.js"
107
+ },
108
+ "./utils/private-sale": {
109
+ "types": "./dist/utils/private-sale.d.ts",
110
+ "default": "./dist/utils/private-sale.js"
111
+ },
112
+ "./package.json": "./package.json"
113
+ },
17
114
  "keywords": [
18
115
  "flap",
19
116
  "four",
@@ -36,6 +133,7 @@
36
133
  },
37
134
  "devDependencies": {
38
135
  "solc": "^0.8.33",
39
- "typescript": "^5.6.3"
136
+ "typescript": "^5.6.3",
137
+ "vitest": "^3.2.6"
40
138
  }
41
139
  }