four-flap-meme-sdk 2.2.20 → 3.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 (442) hide show
  1. package/dist/abis/flap/portal-events.d.ts +1 -1
  2. package/dist/abis/flap/portal-events.js +1 -1
  3. package/dist/abis/flap/portal.d.ts +1 -1
  4. package/dist/abis/flap/portal.js +1 -1
  5. package/dist/abis/flap/vault.d.ts +1 -1
  6. package/dist/abis/flap/vault.js +1 -1
  7. package/dist/abis/index.d.ts +0 -2
  8. package/dist/abis/index.js +0 -2
  9. package/dist/{bundle-core → bundle}/config-helpers.d.ts +1 -1
  10. package/dist/{bundle-core → bundle}/config-helpers.js +1 -1
  11. package/dist/{bundle-core → bundle}/four-meme/approve-tokenmanager.js +3 -3
  12. package/dist/{bundle-core → bundle}/four-meme/core-helpers.d.ts +1 -1
  13. package/dist/{bundle-core → bundle}/four-meme/core-helpers.js +2 -2
  14. package/dist/{bundle-core → bundle}/four-meme/core.js +3 -3
  15. package/dist/{bundle-core → bundle}/four-meme/pancake-proxy.js +2 -2
  16. package/dist/{bundle-core → bundle}/four-meme/private.js +2 -2
  17. package/dist/{bundle-core → bundle}/four-meme/sign-context-helpers.d.ts +1 -1
  18. package/dist/{bundle-core → bundle}/four-meme/sign-context-helpers.js +1 -1
  19. package/dist/{bundle-core → bundle}/four-meme/swap-buy-first.js +3 -3
  20. package/dist/{bundle-core → bundle}/four-meme/swap-internal.js +1 -1
  21. package/dist/{bundle-core → bundle}/four-meme/swap-sign-helpers.js +2 -2
  22. package/dist/{bundle-core → bundle}/four-meme/types/index.d.ts +1 -1
  23. package/dist/{bundle-core → bundle}/four-meme/utils-disperse.js +1 -1
  24. package/dist/{bundle-core → bundle}/four-meme/utils-pairwise.js +1 -1
  25. package/dist/{bundle-core → bundle}/four-meme/utils-sweep.js +1 -1
  26. package/dist/{bundle-core → bundle}/internal.d.ts +1 -1
  27. package/dist/{bundle-core → bundle}/internal.js +2 -2
  28. package/dist/{bundle-core → bundle}/sign-context-helpers.js +1 -1
  29. package/dist/{bundle-core → bundle}/submit.js +4 -4
  30. package/dist/chains/bsc/constants.js +1 -1
  31. package/dist/chains/bsc/four/approve-tokenmanager.d.ts +1 -1
  32. package/dist/chains/bsc/four/approve-tokenmanager.js +1 -1
  33. package/dist/chains/bsc/four/config.d.ts +3 -3
  34. package/dist/chains/bsc/four/config.js +2 -2
  35. package/dist/chains/bsc/four/core.d.ts +1 -1
  36. package/dist/chains/bsc/four/core.js +1 -1
  37. package/dist/chains/bsc/four/internal.d.ts +2 -2
  38. package/dist/chains/bsc/four/internal.js +2 -2
  39. package/dist/chains/bsc/four/pancake-proxy.d.ts +1 -1
  40. package/dist/chains/bsc/four/pancake-proxy.js +1 -1
  41. package/dist/chains/bsc/four/private.d.ts +1 -1
  42. package/dist/chains/bsc/four/private.js +1 -1
  43. package/dist/chains/bsc/four/submit.d.ts +2 -2
  44. package/dist/chains/bsc/four/submit.js +2 -2
  45. package/dist/chains/bsc/four/swap-buy-first.d.ts +2 -2
  46. package/dist/chains/bsc/four/swap-buy-first.js +2 -2
  47. package/dist/chains/bsc/four/swap-internal.d.ts +1 -1
  48. package/dist/chains/bsc/four/swap-internal.js +1 -1
  49. package/dist/chains/bsc/four/swap.d.ts +2 -2
  50. package/dist/chains/bsc/four/swap.js +2 -2
  51. package/dist/chains/bsc/four/types.d.ts +1 -1
  52. package/dist/chains/bsc/four/utils-disperse.d.ts +1 -1
  53. package/dist/chains/bsc/four/utils-disperse.js +1 -1
  54. package/dist/chains/bsc/four/utils-pairwise.d.ts +1 -1
  55. package/dist/chains/bsc/four/utils-pairwise.js +1 -1
  56. package/dist/chains/bsc/four/utils-sweep.d.ts +1 -1
  57. package/dist/chains/bsc/four/utils-sweep.js +1 -1
  58. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +1 -1
  59. package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +3 -3
  60. package/dist/chains/bsc/pancake/bundle-buy-first.js +4 -4
  61. package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +1 -1
  62. package/dist/chains/bsc/pancake/bundle-swap-helpers.js +5 -5
  63. package/dist/chains/bsc/pancake/bundle-swap.js +2 -2
  64. package/dist/chains/bsc/platforms/iro/constants.js +1 -1
  65. package/dist/chains/bsc/platforms/iro/token.js +1 -1
  66. package/dist/chains/eni/batch-router/transfer.js +2 -2
  67. package/dist/chains/eni/constants.js +1 -1
  68. package/dist/chains/eni/platforms/daoaas/create.js +1 -1
  69. package/dist/chains/eni/platforms/daoaas/portal-direct.js +1 -1
  70. package/dist/chains/eni/platforms/dswap/liquidity.js +1 -1
  71. package/dist/chains/eni/platforms/fair-launch/constants.js +1 -1
  72. package/dist/chains/eni/platforms/fair-launch/launcher.js +1 -1
  73. package/dist/chains/eni/platforms/fair-launch/pool.js +1 -1
  74. package/dist/chains/eni/platforms/iro/constants.d.ts +1 -1
  75. package/dist/chains/eni/platforms/iro/constants.js +2 -2
  76. package/dist/chains/eni/platforms/iro/token.js +1 -1
  77. package/dist/chains/eni/submit.js +2 -2
  78. package/dist/chains/monad/constants.js +1 -1
  79. package/dist/chains/xlayer/constants.js +1 -1
  80. package/dist/chains/xlayer/eip7702/bundle-create.js +1 -1
  81. package/dist/chains/xlayer/eip7702/bundle-sell.js +1 -1
  82. package/dist/chains/xlayer/eip7702/bundle-swap.js +1 -1
  83. package/dist/chains/xlayer/eip7702/constants.d.ts +1 -1
  84. package/dist/chains/xlayer/eip7702/constants.js +2 -2
  85. package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +1 -1
  86. package/dist/chains/xlayer/eip7702/utils.js +1 -1
  87. package/dist/chains/xlayer/eip7702/volume.js +1 -1
  88. package/dist/chains/xlayer/eoa/constants.js +1 -1
  89. package/dist/chains/xlayer/eoa/dex-helpers.d.ts +1 -1
  90. package/dist/chains/xlayer/eoa/dex-helpers.js +2 -2
  91. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +1 -1
  92. package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +3 -3
  93. package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +2 -2
  94. package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
  95. package/dist/chains/xlayer/eoa/eoa-wash-volume.js +2 -2
  96. package/dist/chains/xlayer/eoa/router-manager.js +1 -1
  97. package/dist/{shared → core}/clients/blockrazor.js +1 -1
  98. package/dist/{shared → core}/clients/four.js +1 -1
  99. package/dist/{shared → core}/clients/merkle.js +1 -1
  100. package/dist/{shared → core}/constants/index.d.ts +2 -2
  101. package/dist/{shared → core}/constants/index.js +1 -1
  102. package/dist/{shared/foundation → core}/dex/v3-path.js +1 -1
  103. package/dist/{utils → core}/erc20.d.ts +2 -2
  104. package/dist/{utils → core}/erc20.js +3 -3
  105. package/dist/{shared/foundation → core}/gas/profit-hop.js +1 -1
  106. package/dist/core/index.d.ts +5 -0
  107. package/dist/core/index.js +5 -0
  108. package/dist/{shared/foundation → core}/nonce/nonce-manager.js +1 -1
  109. package/dist/{shared/foundation → core}/types/airdrop-sweep.d.ts +1 -1
  110. package/dist/{shared/foundation → core}/types/holders-maker.d.ts +1 -1
  111. package/dist/{shared/foundation → core}/types/lp-inspect.d.ts +1 -1
  112. package/dist/{shared/foundation → core}/types/private-sale.d.ts +1 -1
  113. package/dist/{utils/types/erc20.d.ts → core/types-erc20.d.ts} +1 -1
  114. package/dist/{dex → domains/dex}/direct-router-helpers.d.ts +1 -1
  115. package/dist/{dex → domains/dex}/direct-router-helpers.js +4 -4
  116. package/dist/{dex → domains/dex}/direct-router.js +6 -6
  117. package/dist/{dex → domains/dex}/types.d.ts +1 -1
  118. package/dist/{shared → domains}/flap/constants.d.ts +1 -1
  119. package/dist/{shared → domains}/flap/constants.js +1 -1
  120. package/dist/{shared → domains}/flap/errors.js +1 -1
  121. package/dist/{flap → domains/flap}/index.d.ts +5 -9
  122. package/dist/domains/flap/index.js +5 -0
  123. package/dist/{shared → domains}/flap/meta.js +2 -2
  124. package/dist/{shared → domains}/flap/permit.js +2 -2
  125. package/dist/{shared → domains}/flap/portal-bundle-merkle/config.d.ts +2 -2
  126. package/dist/{shared → domains}/flap/portal-bundle-merkle/config.js +4 -4
  127. package/dist/{shared → domains}/flap/portal-bundle-merkle/core-helpers.js +3 -3
  128. package/dist/{shared → domains}/flap/portal-bundle-merkle/core.js +4 -4
  129. package/dist/{shared → domains}/flap/portal-bundle-merkle/create-to-dex.js +3 -3
  130. package/dist/{shared → domains}/flap/portal-bundle-merkle/curve-to-dex.js +4 -4
  131. package/dist/{shared → domains}/flap/portal-bundle-merkle/pancake-proxy.js +4 -4
  132. package/dist/{shared → domains}/flap/portal-bundle-merkle/private.js +3 -3
  133. package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-batch.js +2 -2
  134. package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-buy-first-helpers.js +3 -3
  135. package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-buy-first.js +7 -7
  136. package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-cross.js +1 -1
  137. package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-helpers.js +3 -3
  138. package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-planning.js +5 -5
  139. package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-quick-batch.js +4 -4
  140. package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-single.js +2 -2
  141. package/dist/{shared → domains}/flap/portal-bundle-merkle/utils.js +3 -3
  142. package/dist/{shared → domains}/flap/portal-bundle.d.ts +2 -2
  143. package/dist/{shared → domains}/flap/portal-bundle.js +3 -3
  144. package/dist/{shared → domains}/flap/portal-create-token.js +1 -1
  145. package/dist/{shared → domains}/flap/vault.js +1 -1
  146. package/dist/{flows → domains/flows}/create.js +2 -2
  147. package/dist/{contracts → domains/four/contracts}/helper3.js +2 -2
  148. package/dist/{contracts → domains/four/contracts}/tm-bundle-helpers.d.ts +4 -4
  149. package/dist/{contracts → domains/four/contracts}/tm-bundle-helpers.js +3 -3
  150. package/dist/{contracts → domains/four/contracts}/tm-bundle.d.ts +2 -2
  151. package/dist/{contracts → domains/four/contracts}/tm-bundle.js +7 -7
  152. package/dist/{contracts → domains/four/contracts}/tm.d.ts +1 -1
  153. package/dist/{contracts → domains/four/contracts}/tm.js +4 -4
  154. package/dist/{contracts → domains/four/contracts}/tm1.js +2 -2
  155. package/dist/{contracts → domains/four/contracts}/tm2.js +2 -2
  156. package/dist/domains/four/index.d.ts +7 -0
  157. package/dist/domains/four/index.js +7 -0
  158. package/dist/{shared → domains}/four/tax-token.js +1 -1
  159. package/dist/{utils → domains/holders}/holders-maker-helpers.d.ts +7 -7
  160. package/dist/{utils → domains/holders}/holders-maker-helpers.js +7 -7
  161. package/dist/{utils → domains/holders}/holders-maker.d.ts +2 -2
  162. package/dist/{utils → domains/holders}/holders-maker.js +4 -4
  163. package/dist/domains/holders/index.d.ts +1 -0
  164. package/dist/domains/holders/index.js +1 -0
  165. package/dist/{utils/holders-maker → domains/holders/internal}/addresses.js +1 -1
  166. package/dist/{utils/holders-maker → domains/holders/internal}/buy-tx.d.ts +1 -1
  167. package/dist/{utils/holders-maker → domains/holders/internal}/buy-tx.js +4 -4
  168. package/dist/{utils/holders-maker → domains/holders/internal}/constants.js +1 -1
  169. package/dist/{utils/holders-maker → domains/holders/internal}/disperse.d.ts +4 -4
  170. package/dist/{utils/holders-maker → domains/holders/internal}/disperse.js +2 -2
  171. package/dist/{utils/holders-maker → domains/holders/internal}/routing.d.ts +1 -1
  172. package/dist/{utils/holders-maker → domains/holders/internal}/routing.js +1 -1
  173. package/dist/{utils/holders-maker → domains/holders/internal}/transfer-tx.js +2 -2
  174. package/dist/{utils/types/holders-maker.d.ts → domains/holders/types.d.ts} +1 -1
  175. package/dist/domains/lp-inspect/index.d.ts +1 -0
  176. package/dist/domains/lp-inspect/index.js +1 -0
  177. package/dist/{utils → domains/lp-inspect}/lp-inspect-helpers.d.ts +1 -1
  178. package/dist/{utils → domains/lp-inspect}/lp-inspect-helpers.js +1 -1
  179. package/dist/{utils → domains/lp-inspect}/lp-inspect.d.ts +2 -2
  180. package/dist/{utils → domains/lp-inspect}/lp-inspect.js +6 -6
  181. package/dist/{utils/types/lp-inspect.d.ts → domains/lp-inspect/types.d.ts} +1 -1
  182. package/dist/{merkle → domains/merkle}/index.d.ts +7 -7
  183. package/dist/domains/merkle/index.js +11 -0
  184. package/dist/domains/private-sale/index.d.ts +1 -0
  185. package/dist/domains/private-sale/index.js +1 -0
  186. package/dist/{utils → domains/private-sale}/private-sale.d.ts +2 -2
  187. package/dist/{utils → domains/private-sale}/private-sale.js +2 -2
  188. package/dist/domains/private-sale/types.d.ts +1 -0
  189. package/dist/domains/quote/index.d.ts +1 -0
  190. package/dist/domains/quote/index.js +1 -0
  191. package/dist/{utils → domains/quote}/quote-helpers.d.ts +3 -3
  192. package/dist/{utils → domains/quote}/quote-helpers.js +2 -2
  193. package/dist/{utils/types/quote-helpers.d.ts → domains/quote/types.d.ts} +1 -1
  194. package/dist/domains/vanity/index.d.ts +5 -0
  195. package/dist/domains/vanity/index.js +5 -0
  196. package/dist/exports/root-bundle-and-tooling.d.ts +11 -11
  197. package/dist/exports/root-bundle-and-tooling.js +11 -11
  198. package/dist/exports/root-foundations.d.ts +21 -21
  199. package/dist/exports/root-foundations.js +21 -21
  200. package/dist/exports/root-swap-dex-and-xlayer.d.ts +10 -10
  201. package/dist/exports/root-swap-dex-and-xlayer.js +8 -8
  202. package/dist/index.d.ts +7 -10
  203. package/dist/index.js +7 -10
  204. package/dist/utils/airdrop-sweep.js +3 -3
  205. package/dist/utils/bundle-helpers.d.ts +7 -7
  206. package/dist/utils/bundle-helpers.js +7 -7
  207. package/dist/utils/constants.d.ts +2 -2
  208. package/dist/utils/constants.js +2 -2
  209. package/dist/utils/contract-factory.js +1 -1
  210. package/dist/utils/errors.d.ts +2 -2
  211. package/dist/utils/errors.js +3 -3
  212. package/dist/utils/hop-chains.d.ts +1 -1
  213. package/dist/utils/hop-chains.js +2 -2
  214. package/dist/utils/index.d.ts +5 -0
  215. package/dist/utils/index.js +5 -0
  216. package/dist/utils/mpcExclusive.js +1 -1
  217. package/dist/utils/stealth-transfer.js +2 -2
  218. package/dist/utils/swap-helpers.d.ts +1 -1
  219. package/dist/utils/swap-helpers.js +1 -1
  220. package/dist/utils/types/airdrop-sweep.d.ts +1 -1
  221. package/dist/utils/types/index.d.ts +6 -6
  222. package/dist/utils/types/stealth-transfer.d.ts +1 -1
  223. package/dist/utils/wallet.d.ts +2 -2
  224. package/dist/utils/wallet.js +3 -3
  225. package/package.json +52 -56
  226. package/dist/__tests__/subpath-exports.test.js +0 -64
  227. package/dist/bundle-core/__tests__/config-helpers.test.js +0 -28
  228. package/dist/bundle-core/__tests__/facade-parity.test.js +0 -33
  229. package/dist/bundle-core/__tests__/sign-context-helpers.test.js +0 -60
  230. package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +0 -1
  231. package/dist/bundle-core/__tests__/sign-fixture.test.js +0 -220
  232. package/dist/bundle-core/__tests__/sign-fixtures.d.ts +0 -10
  233. package/dist/bundle-core/__tests__/sign-fixtures.js +0 -16
  234. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +0 -1
  235. package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +0 -1
  236. package/dist/contracts/tm-bundle-merkle/config.d.ts +0 -8
  237. package/dist/contracts/tm-bundle-merkle/config.js +0 -2
  238. package/dist/contracts/tm-bundle-merkle/core.d.ts +0 -1
  239. package/dist/contracts/tm-bundle-merkle/core.js +0 -1
  240. package/dist/contracts/tm-bundle-merkle/index.d.ts +0 -15
  241. package/dist/contracts/tm-bundle-merkle/index.js +0 -29
  242. package/dist/contracts/tm-bundle-merkle/internal.d.ts +0 -4
  243. package/dist/contracts/tm-bundle-merkle/internal.js +0 -4
  244. package/dist/contracts/tm-bundle-merkle/pancake-proxy.d.ts +0 -1
  245. package/dist/contracts/tm-bundle-merkle/pancake-proxy.js +0 -1
  246. package/dist/contracts/tm-bundle-merkle/private.d.ts +0 -1
  247. package/dist/contracts/tm-bundle-merkle/private.js +0 -1
  248. package/dist/contracts/tm-bundle-merkle/submit.d.ts +0 -3
  249. package/dist/contracts/tm-bundle-merkle/submit.js +0 -3
  250. package/dist/contracts/tm-bundle-merkle/swap-buy-first.d.ts +0 -4
  251. package/dist/contracts/tm-bundle-merkle/swap-buy-first.js +0 -4
  252. package/dist/contracts/tm-bundle-merkle/swap-internal.d.ts +0 -1
  253. package/dist/contracts/tm-bundle-merkle/swap-internal.js +0 -1
  254. package/dist/contracts/tm-bundle-merkle/swap.d.ts +0 -4
  255. package/dist/contracts/tm-bundle-merkle/swap.js +0 -4
  256. package/dist/contracts/tm-bundle-merkle/types.d.ts +0 -1
  257. package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +0 -1
  258. package/dist/contracts/tm-bundle-merkle/utils-disperse.js +0 -1
  259. package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +0 -1
  260. package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +0 -1
  261. package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +0 -1
  262. package/dist/contracts/tm-bundle-merkle/utils-sweep.js +0 -1
  263. package/dist/contracts/tm-bundle-merkle/utils.d.ts +0 -8
  264. package/dist/contracts/tm-bundle-merkle/utils.js +0 -8
  265. package/dist/flap/index.js +0 -9
  266. package/dist/merkle/index.js +0 -11
  267. package/dist/shared/abis/TaxToken.json +0 -105
  268. package/dist/shared/abis/TokenManager.json +0 -836
  269. package/dist/shared/abis/TokenManager2.json +0 -60
  270. package/dist/shared/abis/TokenManagerHelper3.json +0 -993
  271. package/dist/shared/flap/graduated-dex.d.ts +0 -1
  272. package/dist/shared/flap/graduated-dex.js +0 -1
  273. package/dist/shared/flap/launch-v6.d.ts +0 -127
  274. package/dist/shared/flap/launch-v6.js +0 -123
  275. package/dist/shared/four/index.d.ts +0 -7
  276. package/dist/shared/four/index.js +0 -22
  277. package/dist/shared/index.d.ts +0 -16
  278. package/dist/shared/index.js +0 -14
  279. package/dist/utils/pcs-infinity-cl.d.ts +0 -65
  280. package/dist/utils/pcs-infinity-cl.js +0 -390
  281. package/dist/utils/types/erc20.js +0 -1
  282. package/dist/utils/types/holders-maker.js +0 -1
  283. package/dist/utils/types/lp-inspect.js +0 -1
  284. package/dist/utils/types/private-sale.d.ts +0 -1
  285. package/dist/utils/types/private-sale.js +0 -1
  286. package/dist/utils/types/quote-helpers.js +0 -1
  287. package/dist/vanity/index.d.ts +0 -5
  288. package/dist/vanity/index.js +0 -5
  289. /package/dist/{bundle-core → bundle}/errors.d.ts +0 -0
  290. /package/dist/{bundle-core → bundle}/errors.js +0 -0
  291. /package/dist/{bundle-core → bundle}/four-meme/approve-tokenmanager.d.ts +0 -0
  292. /package/dist/{bundle-core → bundle}/four-meme/core.d.ts +0 -0
  293. /package/dist/{bundle-core → bundle}/four-meme/pancake-proxy.d.ts +0 -0
  294. /package/dist/{bundle-core → bundle}/four-meme/private.d.ts +0 -0
  295. /package/dist/{bundle-core → bundle}/four-meme/swap-buy-first.d.ts +0 -0
  296. /package/dist/{bundle-core → bundle}/four-meme/swap-hop-helpers.d.ts +0 -0
  297. /package/dist/{bundle-core → bundle}/four-meme/swap-hop-helpers.js +0 -0
  298. /package/dist/{bundle-core → bundle}/four-meme/swap-internal.d.ts +0 -0
  299. /package/dist/{bundle-core → bundle}/four-meme/swap-sign-helpers.d.ts +0 -0
  300. /package/dist/{bundle-core → bundle}/four-meme/swap.d.ts +0 -0
  301. /package/dist/{bundle-core → bundle}/four-meme/swap.js +0 -0
  302. /package/dist/{bundle-core → bundle}/four-meme/types/buy-first.d.ts +0 -0
  303. /package/dist/{bundle-core → bundle}/four-meme/types/buy-first.js +0 -0
  304. /package/dist/{bundle-core → bundle}/four-meme/types/core-flow.d.ts +0 -0
  305. /package/dist/{bundle-core → bundle}/four-meme/types/core-flow.js +0 -0
  306. /package/dist/{bundle-core → bundle}/four-meme/types/index.js +0 -0
  307. /package/dist/{bundle-core → bundle}/four-meme/types/swap-internal.d.ts +0 -0
  308. /package/dist/{bundle-core → bundle}/four-meme/types/swap-internal.js +0 -0
  309. /package/dist/{bundle-core → bundle}/four-meme/types.d.ts +0 -0
  310. /package/dist/{bundle-core → bundle}/four-meme/types.js +0 -0
  311. /package/dist/{bundle-core → bundle}/four-meme/utils-disperse.d.ts +0 -0
  312. /package/dist/{bundle-core → bundle}/four-meme/utils-pairwise.d.ts +0 -0
  313. /package/dist/{bundle-core → bundle}/four-meme/utils-sweep.d.ts +0 -0
  314. /package/dist/{bundle-core → bundle}/index.d.ts +0 -0
  315. /package/dist/{bundle-core → bundle}/index.js +0 -0
  316. /package/dist/{bundle-core → bundle}/sign-context-helpers.d.ts +0 -0
  317. /package/dist/{bundle-core → bundle}/submit.d.ts +0 -0
  318. /package/dist/{bundle-core → bundle}/types/index.d.ts +0 -0
  319. /package/dist/{bundle-core → bundle}/types/index.js +0 -0
  320. /package/dist/{bundle-core → bundle}/types.d.ts +0 -0
  321. /package/dist/{bundle-core → bundle}/types.js +0 -0
  322. /package/dist/{shared/foundation → core}/amount/split-by-weight.d.ts +0 -0
  323. /package/dist/{shared/foundation → core}/amount/split-by-weight.js +0 -0
  324. /package/dist/{shared → core}/clients/blockrazor.d.ts +0 -0
  325. /package/dist/{shared → core}/clients/club48.d.ts +0 -0
  326. /package/dist/{shared → core}/clients/club48.js +0 -0
  327. /package/dist/{shared → core}/clients/emitservice.d.ts +0 -0
  328. /package/dist/{shared → core}/clients/emitservice.js +0 -0
  329. /package/dist/{shared → core}/clients/four.d.ts +0 -0
  330. /package/dist/{shared → core}/clients/index.d.ts +0 -0
  331. /package/dist/{shared → core}/clients/index.js +0 -0
  332. /package/dist/{shared → core}/clients/merkle.d.ts +0 -0
  333. /package/dist/{shared → core}/constants/addresses.d.ts +0 -0
  334. /package/dist/{shared → core}/constants/addresses.js +0 -0
  335. /package/dist/{shared → core}/constants/chains.d.ts +0 -0
  336. /package/dist/{shared → core}/constants/chains.js +0 -0
  337. /package/dist/{shared → core}/constants/gas.d.ts +0 -0
  338. /package/dist/{shared → core}/constants/gas.js +0 -0
  339. /package/dist/{shared → core}/constants/profit.d.ts +0 -0
  340. /package/dist/{shared → core}/constants/profit.js +0 -0
  341. /package/dist/{shared → core}/constants/quote.d.ts +0 -0
  342. /package/dist/{shared → core}/constants/quote.js +0 -0
  343. /package/dist/{shared/foundation → core}/dex/v3-path.d.ts +0 -0
  344. /package/dist/{shared/foundation → core}/erc20/decimals.d.ts +0 -0
  345. /package/dist/{shared/foundation → core}/erc20/decimals.js +0 -0
  346. /package/dist/{shared/foundation/index.d.ts → core/foundation.d.ts} +0 -0
  347. /package/dist/{shared/foundation/index.js → core/foundation.js} +0 -0
  348. /package/dist/{shared/foundation → core}/gas/bundle-gas.d.ts +0 -0
  349. /package/dist/{shared/foundation → core}/gas/bundle-gas.js +0 -0
  350. /package/dist/{shared/foundation → core}/gas/profit-hop.d.ts +0 -0
  351. /package/dist/{types → core/legacy-types}/errors.d.ts +0 -0
  352. /package/dist/{types → core/legacy-types}/errors.js +0 -0
  353. /package/dist/{shared/foundation → core}/nonce/nonce-manager.d.ts +0 -0
  354. /package/dist/{shared/foundation → core}/normalize-unknown.d.ts +0 -0
  355. /package/dist/{shared/foundation → core}/normalize-unknown.js +0 -0
  356. /package/dist/{shared/foundation → core}/sdk-logger.d.ts +0 -0
  357. /package/dist/{shared/foundation → core}/sdk-logger.js +0 -0
  358. /package/dist/{shared/abis → core/shared-abis}/common.d.ts +0 -0
  359. /package/dist/{shared/abis → core/shared-abis}/common.js +0 -0
  360. /package/dist/{shared/abis → core/shared-abis}/index.d.ts +0 -0
  361. /package/dist/{shared/abis → core/shared-abis}/index.js +0 -0
  362. /package/dist/{shared/foundation → core}/tx/build-request.d.ts +0 -0
  363. /package/dist/{shared/foundation → core}/tx/build-request.js +0 -0
  364. /package/dist/{shared/foundation → core}/tx/sign-batch.d.ts +0 -0
  365. /package/dist/{shared/foundation → core}/tx/sign-batch.js +0 -0
  366. /package/dist/{shared/foundation → core}/tx/wallet-sign-patch.d.ts +0 -0
  367. /package/dist/{shared/foundation → core}/tx/wallet-sign-patch.js +0 -0
  368. /package/dist/{shared/foundation → core}/types/airdrop-sweep.js +0 -0
  369. /package/dist/{shared/foundation → core}/types/erc20.d.ts +0 -0
  370. /package/dist/{shared/foundation → core}/types/erc20.js +0 -0
  371. /package/dist/{shared/foundation → core}/types/holders-maker.js +0 -0
  372. /package/dist/{shared/foundation → core}/types/index.d.ts +0 -0
  373. /package/dist/{shared/foundation → core}/types/index.js +0 -0
  374. /package/dist/{shared/foundation → core}/types/lp-inspect.js +0 -0
  375. /package/dist/{shared/foundation → core}/types/multicall.d.ts +0 -0
  376. /package/dist/{shared/foundation → core}/types/multicall.js +0 -0
  377. /package/dist/{shared/foundation → core}/types/private-sale.js +0 -0
  378. /package/dist/{shared/foundation → core}/types/quote-helpers.d.ts +0 -0
  379. /package/dist/{shared/foundation → core}/types/quote-helpers.js +0 -0
  380. /package/dist/{__tests__/subpath-exports.test.d.ts → core/types-erc20.js} +0 -0
  381. /package/dist/{shared/foundation → core}/wallet/generate.d.ts +0 -0
  382. /package/dist/{shared/foundation → core}/wallet/generate.js +0 -0
  383. /package/dist/{dex → domains/dex}/direct-router.d.ts +0 -0
  384. /package/dist/{dex → domains/dex}/index.d.ts +0 -0
  385. /package/dist/{dex → domains/dex}/index.js +0 -0
  386. /package/dist/{contracts/tm-bundle-merkle → domains/dex}/types.js +0 -0
  387. /package/dist/{shared → domains}/flap/abi.d.ts +0 -0
  388. /package/dist/{shared → domains}/flap/abi.js +0 -0
  389. /package/dist/{shared → domains}/flap/curve.d.ts +0 -0
  390. /package/dist/{shared → domains}/flap/curve.js +0 -0
  391. /package/dist/{shared → domains}/flap/errors.d.ts +0 -0
  392. /package/dist/{shared → domains}/flap/ipfs.d.ts +0 -0
  393. /package/dist/{shared → domains}/flap/ipfs.js +0 -0
  394. /package/dist/{shared → domains}/flap/meta.d.ts +0 -0
  395. /package/dist/{shared/flap/index.d.ts → domains/flap/module.d.ts} +0 -0
  396. /package/dist/{shared/flap/index.js → domains/flap/module.js} +0 -0
  397. /package/dist/{shared → domains}/flap/permit.d.ts +0 -0
  398. /package/dist/{shared → domains}/flap/pinata.d.ts +0 -0
  399. /package/dist/{shared → domains}/flap/pinata.js +0 -0
  400. /package/dist/{shared → domains}/flap/portal-bundle-merkle/core-helpers.d.ts +0 -0
  401. /package/dist/{shared → domains}/flap/portal-bundle-merkle/core.d.ts +0 -0
  402. /package/dist/{shared → domains}/flap/portal-bundle-merkle/create-to-dex.d.ts +0 -0
  403. /package/dist/{shared → domains}/flap/portal-bundle-merkle/curve-to-dex.d.ts +0 -0
  404. /package/dist/{shared → domains}/flap/portal-bundle-merkle/index.d.ts +0 -0
  405. /package/dist/{shared → domains}/flap/portal-bundle-merkle/index.js +0 -0
  406. /package/dist/{shared → domains}/flap/portal-bundle-merkle/pancake-proxy.d.ts +0 -0
  407. /package/dist/{shared → domains}/flap/portal-bundle-merkle/private.d.ts +0 -0
  408. /package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-batch.d.ts +0 -0
  409. /package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +0 -0
  410. /package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-buy-first.d.ts +0 -0
  411. /package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-cross.d.ts +0 -0
  412. /package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-helpers.d.ts +0 -0
  413. /package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-planning.d.ts +0 -0
  414. /package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-quick-batch.d.ts +0 -0
  415. /package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-single.d.ts +0 -0
  416. /package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-types.d.ts +0 -0
  417. /package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-types.js +0 -0
  418. /package/dist/{shared → domains}/flap/portal-bundle-merkle/swap.d.ts +0 -0
  419. /package/dist/{shared → domains}/flap/portal-bundle-merkle/swap.js +0 -0
  420. /package/dist/{shared → domains}/flap/portal-bundle-merkle/types.d.ts +0 -0
  421. /package/dist/{dex → domains/flap/portal-bundle-merkle}/types.js +0 -0
  422. /package/dist/{shared → domains}/flap/portal-bundle-merkle/utils.d.ts +0 -0
  423. /package/dist/{shared → domains}/flap/portal-create-token.d.ts +0 -0
  424. /package/dist/{shared → domains}/flap/portal.d.ts +0 -0
  425. /package/dist/{shared → domains}/flap/portal.js +0 -0
  426. /package/dist/{shared → domains}/flap/vanity.d.ts +0 -0
  427. /package/dist/{shared → domains}/flap/vanity.js +0 -0
  428. /package/dist/{shared → domains}/flap/vault.d.ts +0 -0
  429. /package/dist/{flows → domains/flows}/create.d.ts +0 -0
  430. /package/dist/{flows → domains/flows}/index.d.ts +0 -0
  431. /package/dist/{flows → domains/flows}/index.js +0 -0
  432. /package/dist/{contracts → domains/four/contracts}/helper3.d.ts +0 -0
  433. /package/dist/{contracts → domains/four/contracts}/tm1.d.ts +0 -0
  434. /package/dist/{contracts → domains/four/contracts}/tm2.d.ts +0 -0
  435. /package/dist/{shared → domains}/four/tax-token.d.ts +0 -0
  436. /package/dist/{utils/holders-maker → domains/holders/internal}/addresses.d.ts +0 -0
  437. /package/dist/{utils/holders-maker → domains/holders/internal}/constants.d.ts +0 -0
  438. /package/dist/{utils/holders-maker → domains/holders/internal}/transfer-tx.d.ts +0 -0
  439. /package/dist/{shared/flap/portal-bundle-merkle → domains/holders}/types.js +0 -0
  440. /package/dist/{bundle-core/__tests__/config-helpers.test.d.ts → domains/lp-inspect/types.js} +0 -0
  441. /package/dist/{bundle-core/__tests__/facade-parity.test.d.ts → domains/private-sale/types.js} +0 -0
  442. /package/dist/{bundle-core/__tests__/sign-context-helpers.test.d.ts → domains/quote/types.js} +0 -0
@@ -1,390 +0,0 @@
1
- import { AbiCoder, Contract, JsonRpcProvider, formatEther, formatUnits, keccak256 } from 'ethers';
2
- import { ZERO_ADDRESS } from '../shared/flap/constants.js';
3
- import { ERC20_ABI } from '../shared/abis/common.js';
4
- /** PancakeSwap Infinity CL PoolManager(BSC / Base 同址) */
5
- export const PCS_INFINITY_CL_POOL_MANAGER_BSC = '0xa0FfB9c1CE1Fe56963B0321B32E7A0302114058b';
6
- /** PancakeSwap Infinity Vault(全池代币记账;BSC / Base 同址) */
7
- export const PCS_INFINITY_VAULT_BSC = '0x238a358808379702088667322f80aC48bAd5e6c4';
8
- /** Flap Portal 毕业到 Infinity CL 时使用的 hooks(BSC) */
9
- export const FLAP_INFINITY_HOOKS_BSC = '0xF1A9aA042454b8553bE3896597ff11a0f011c1c1';
10
- const CL_POOL_MANAGER_ABI = [
11
- 'function getSlot0(bytes32 id) view returns (uint160 sqrtPriceX96, int24 tick, uint24 protocolFee, uint24 lpFee)',
12
- 'function getLiquidity(bytes32 id) view returns (uint128 liquidity)',
13
- ];
14
- const V3_PAIR_ABI = [
15
- 'function slot0() view returns (uint160 sqrtPriceX96,int24 tick,uint16 observationIndex,uint16 observationCardinality,uint16 observationCardinalityNext,uint8 feeProtocol,bool unlocked)',
16
- 'function token0() view returns (address)',
17
- 'function token1() view returns (address)',
18
- ];
19
- /** BSC:lpFeeProfile → Infinity PoolKey 的 fee / parameters(与链上 Initialize 一致) */
20
- const BSC_INFINITY_POOL_KEY_BY_PROFILE = {
21
- 0: {
22
- fee: 8534,
23
- parameters: '0x0000000000000000000000000000000000000000000000000000000000fa00d5',
24
- },
25
- };
26
- export function sortInfinityCurrencies(a, b) {
27
- return a.toLowerCase() < b.toLowerCase() ? [a, b] : [b, a];
28
- }
29
- export function computeInfinityPoolId(key) {
30
- const coder = AbiCoder.defaultAbiCoder();
31
- return keccak256(coder.encode(['address', 'address', 'address', 'address', 'uint24', 'bytes32'], [key.currency0, key.currency1, key.hooks, key.poolManager, key.fee, key.parameters]));
32
- }
33
- export function buildFlapInfinityPoolKey(params) {
34
- const chain = String(params.chain || '').toUpperCase();
35
- if (chain !== 'BSC')
36
- return null;
37
- const meta = BSC_INFINITY_POOL_KEY_BY_PROFILE[Number(params.lpFeeProfile ?? 0)] ??
38
- BSC_INFINITY_POOL_KEY_BY_PROFILE[0];
39
- const quote = params.quoteTokenAddress &&
40
- params.quoteTokenAddress.toLowerCase() !== ZERO_ADDRESS
41
- ? params.quoteTokenAddress
42
- : '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c';
43
- const [currency0, currency1] = sortInfinityCurrencies(params.tokenAddress, quote);
44
- return {
45
- currency0,
46
- currency1,
47
- hooks: FLAP_INFINITY_HOOKS_BSC,
48
- poolManager: PCS_INFINITY_CL_POOL_MANAGER_BSC,
49
- fee: meta.fee,
50
- parameters: meta.parameters,
51
- };
52
- }
53
- /** 判断 getTokenV7.pool 是否为 Infinity CL PoolManager(而非 V3 pair) */
54
- export function isInfinityCLPoolManagerAddress(pool, chain) {
55
- if (!pool)
56
- return false;
57
- const c = String(chain || '').toUpperCase();
58
- if (c === 'BSC' || c === 'BASE') {
59
- return pool.toLowerCase() === PCS_INFINITY_CL_POOL_MANAGER_BSC.toLowerCase();
60
- }
61
- return false;
62
- }
63
- /** 仅 V7 + Infinity CL 才走 Infinity 专用逻辑 */
64
- export function isFlapInfinityCLGraduated(state, chain) {
65
- if (isInfinityCLPoolManagerAddress(state.pool ?? '', chain))
66
- return true;
67
- return Number(state.tokenVersion ?? 0) === 7;
68
- }
69
- /** Portal quoteExactInput:链上 quoteToken 为 0 时必须用 native(0),不能用 WBNB */
70
- export function resolvePortalQuoteInputToken(quoteTokenAddress, wrappedNativeAddress) {
71
- if (!quoteTokenAddress || quoteTokenAddress.toLowerCase() === ZERO_ADDRESS) {
72
- return ZERO_ADDRESS;
73
- }
74
- if (quoteTokenAddress.toLowerCase() === wrappedNativeAddress.toLowerCase()) {
75
- return ZERO_ADDRESS;
76
- }
77
- return quoteTokenAddress;
78
- }
79
- function formatRatio(n, d, precision = 18) {
80
- if (d === 0n)
81
- return '0';
82
- const scale = 10n ** BigInt(precision);
83
- const x = (n * scale) / d;
84
- const s = x.toString().padStart(precision + 1, '0');
85
- const int = s.slice(0, -precision);
86
- const frac = s.slice(-precision).replace(/0+$/, '');
87
- return frac ? `${int}.${frac}` : int;
88
- }
89
- export function infinitySpotPriceQuotePerToken(params) {
90
- const tokenLower = params.tokenAddress.toLowerCase();
91
- const quoteLower = params.quoteTokenAddress.toLowerCase();
92
- const tokenIs0 = params.currency0.toLowerCase() === tokenLower;
93
- const tokenIs1 = params.currency1.toLowerCase() === tokenLower;
94
- const quoteIs0 = params.currency0.toLowerCase() === quoteLower;
95
- const quoteIs1 = params.currency1.toLowerCase() === quoteLower;
96
- if ((!tokenIs0 && !tokenIs1) || (!quoteIs0 && !quoteIs1))
97
- return null;
98
- const dec0 = params.tokenDecimals ?? 18;
99
- const dec1 = params.quoteDecimals ?? 18;
100
- const tokenDec = tokenIs0 ? dec0 : dec1;
101
- const quoteDec = quoteIs0 ? dec0 : dec1;
102
- const Q192 = 2n ** 192n;
103
- const num = params.sqrtPriceX96 * params.sqrtPriceX96;
104
- let n;
105
- let d;
106
- if (tokenIs0) {
107
- n = num * 10n ** BigInt(tokenDec);
108
- d = Q192 * 10n ** BigInt(quoteDec);
109
- }
110
- else {
111
- n = Q192 * 10n ** BigInt(quoteDec);
112
- d = num * 10n ** BigInt(tokenDec);
113
- }
114
- return formatRatio(n, d, 18);
115
- }
116
- function v3SpotPriceQuotePerToken(params) {
117
- return infinitySpotPriceQuotePerToken({
118
- sqrtPriceX96: params.sqrtPriceX96,
119
- tokenAddress: params.tokenAddress,
120
- currency0: params.token0,
121
- currency1: params.token1,
122
- quoteTokenAddress: params.quoteTokenAddress,
123
- });
124
- }
125
- const providerByRpc = new Map();
126
- const gradMetricsCache = new Map();
127
- const GRAD_METRICS_TTL_MS = 2500;
128
- function getCachedRpcProvider(rpcUrl) {
129
- let p = providerByRpc.get(rpcUrl);
130
- if (!p) {
131
- p = new JsonRpcProvider(rpcUrl);
132
- providerByRpc.set(rpcUrl, p);
133
- }
134
- return p;
135
- }
136
- /**
137
- * Infinity CL 池子 WBNB:取多档卖出 quote 的最大值(贴近 GMGN「池内 WBNB」)
138
- * 说明:不是 Vault 总 WBNB(全协议),也不是 L*sqrtP 虚拟储备(会高估到 ~5.8)。
139
- */
140
- async function estimateInfinityPoolQuoteBnbDepth(portal, tokenAddress) {
141
- const probes = [107000000n, 105000000n, 100000000n, 90000000n].map((m) => m * 10n ** 18n);
142
- let best = 0n;
143
- for (const amt of probes) {
144
- try {
145
- const bnbOut = await portal.quoteExactInput({
146
- inputToken: tokenAddress,
147
- outputToken: ZERO_ADDRESS,
148
- inputAmount: amt,
149
- });
150
- if (bnbOut > best)
151
- best = bnbOut;
152
- }
153
- catch {
154
- /* 超过可成交上限会 revert,继续试更小档位 */
155
- }
156
- }
157
- return best > 0n ? formatEther(best) : '0';
158
- }
159
- /**
160
- * Infinity CL 池内代币量:读 Vault 中该 token 余额(与 GMGN 池子代币列一致)
161
- * 注意:Vault 为全协议记账层,对 Flap 毕业主池通常即该交易对持仓。
162
- */
163
- async function getInfinityCLPoolTokenReserve(params) {
164
- const chain = String(params.chain || '').toUpperCase();
165
- const vault = chain === 'BSC' || chain === 'BASE' ? PCS_INFINITY_VAULT_BSC : '';
166
- if (!vault)
167
- return '0';
168
- try {
169
- const provider = params.provider ?? getCachedRpcProvider(params.rpcUrl);
170
- const bal = (await new Contract(params.tokenAddress, ERC20_ABI, provider).balanceOf(vault));
171
- return formatEther(bal);
172
- }
173
- catch {
174
- return '0';
175
- }
176
- }
177
- /** 单笔 buy quote 估价(比买卖双 quote 少一次 RPC) */
178
- async function quotePortalPrice(portal, tokenAddress, quoteTokenAddress, wrappedNativeAddress) {
179
- try {
180
- const buyAmt = 10n ** 16n;
181
- const inputQuote = resolvePortalQuoteInputToken(quoteTokenAddress, wrappedNativeAddress);
182
- const tokensOut = await portal.quoteExactInput({
183
- inputToken: inputQuote,
184
- outputToken: tokenAddress,
185
- inputAmount: buyAmt,
186
- });
187
- if (tokensOut <= 0n)
188
- return null;
189
- return String(Number(formatEther(buyAmt)) / Number(formatEther(tokensOut)));
190
- }
191
- catch {
192
- return null;
193
- }
194
- }
195
- function formatProgress(state) {
196
- const progressRaw = state.progress ?? 0n;
197
- if (progressRaw > 10n ** 18n)
198
- return formatUnits(progressRaw, 18);
199
- if (progressRaw >= 100n)
200
- return '100';
201
- return String(progressRaw);
202
- }
203
- async function getGraduatedV3PairMetrics(params) {
204
- try {
205
- const provider = getCachedRpcProvider(params.rpcUrl);
206
- const pool = new Contract(params.poolAddress, V3_PAIR_ABI, provider);
207
- const tokenLower = params.tokenAddress.toLowerCase();
208
- const quoteAddr = params.quoteTokenAddress.toLowerCase() === ZERO_ADDRESS
209
- ? params.wrappedNativeAddress
210
- : params.quoteTokenAddress;
211
- const [t0, t1, slot0] = await Promise.all([
212
- pool.token0(),
213
- pool.token1(),
214
- pool.slot0(),
215
- ]);
216
- const [bal0, bal1] = await Promise.all([
217
- new Contract(t0, ERC20_ABI, provider).balanceOf(params.poolAddress),
218
- new Contract(t1, ERC20_ABI, provider).balanceOf(params.poolAddress),
219
- ]);
220
- const sqrtPriceX96 = BigInt(Array.isArray(slot0) ? slot0[0] : slot0.sqrtPriceX96);
221
- const spot = v3SpotPriceQuotePerToken({
222
- sqrtPriceX96,
223
- tokenAddress: params.tokenAddress,
224
- token0: t0,
225
- token1: t1,
226
- quoteTokenAddress: quoteAddr,
227
- });
228
- const tokenIs0 = t0.toLowerCase() === tokenLower;
229
- const poolTokenAmount = formatEther(tokenIs0 ? bal0 : bal1);
230
- const poolBNBAmount = formatEther(tokenIs0 ? bal1 : bal0);
231
- let price = spot;
232
- if (!price && parseFloat(poolTokenAmount) > 0) {
233
- price = String(parseFloat(poolBNBAmount) / parseFloat(poolTokenAmount));
234
- }
235
- if (!price) {
236
- price = await quotePortalPrice(params.portal, params.tokenAddress, params.quoteTokenAddress, params.wrappedNativeAddress);
237
- }
238
- if (!price && poolTokenAmount === '0' && poolBNBAmount === '0')
239
- return null;
240
- return {
241
- price: price ?? '0',
242
- progress: '100',
243
- poolBNBAmount,
244
- poolTokenAmount,
245
- dexKind: 'PANCAKE_V3',
246
- };
247
- }
248
- catch {
249
- return null;
250
- }
251
- }
252
- async function getInfinityCLGraduatedMetrics(params) {
253
- const progress = formatProgress(params.state);
254
- const provider = getCachedRpcProvider(params.rpcUrl);
255
- let poolBNBAmount = '0';
256
- let poolTokenAmount = '0';
257
- let poolId;
258
- let infinityFee;
259
- let price = null;
260
- const poolKey = buildFlapInfinityPoolKey({
261
- tokenAddress: params.tokenAddress,
262
- quoteTokenAddress: params.quoteTokenAddress,
263
- chain: params.chain,
264
- lpFeeProfile: params.state.lpFeeProfile,
265
- });
266
- const quoteAddr = params.quoteTokenAddress.toLowerCase() === ZERO_ADDRESS
267
- ? params.wrappedNativeAddress
268
- : params.quoteTokenAddress;
269
- const slot0Promise = (async () => {
270
- if (!poolKey)
271
- return null;
272
- poolId = computeInfinityPoolId(poolKey);
273
- infinityFee = poolKey.fee;
274
- try {
275
- const manager = new Contract(poolKey.poolManager, CL_POOL_MANAGER_ABI, provider);
276
- const slot0 = await manager.getSlot0(poolId);
277
- return BigInt(slot0[0]);
278
- }
279
- catch {
280
- return null;
281
- }
282
- })();
283
- const [sqrtPriceX96, tokenReserve, bnbDepth] = await Promise.all([
284
- slot0Promise,
285
- getInfinityCLPoolTokenReserve({
286
- tokenAddress: params.tokenAddress,
287
- rpcUrl: params.rpcUrl,
288
- chain: params.chain,
289
- provider,
290
- }),
291
- estimateInfinityPoolQuoteBnbDepth(params.portal, params.tokenAddress),
292
- ]);
293
- if (sqrtPriceX96 && sqrtPriceX96 > 0n && poolKey) {
294
- const spot = infinitySpotPriceQuotePerToken({
295
- sqrtPriceX96,
296
- tokenAddress: params.tokenAddress,
297
- currency0: poolKey.currency0,
298
- currency1: poolKey.currency1,
299
- quoteTokenAddress: quoteAddr,
300
- });
301
- if (spot)
302
- price = spot;
303
- }
304
- if (parseFloat(tokenReserve) > 0)
305
- poolTokenAmount = tokenReserve;
306
- if (parseFloat(bnbDepth) > 0)
307
- poolBNBAmount = bnbDepth;
308
- if (!price) {
309
- price = await quotePortalPrice(params.portal, params.tokenAddress, params.quoteTokenAddress, params.wrappedNativeAddress);
310
- }
311
- return {
312
- price: price ?? '0',
313
- progress,
314
- poolBNBAmount,
315
- poolTokenAmount,
316
- poolId,
317
- infinityFee,
318
- dexKind: 'PCS_INFINITY_CL',
319
- };
320
- }
321
- /**
322
- * Flap 毕业后(status=4)外盘统一入口:
323
- * - V7 / Infinity CL → Infinity + Portal quote 深度
324
- * - 旧版 V3/V2(pool 为 pair 地址)→ 读 pair 余额 + slot0
325
- * - 否则仅 Portal quote
326
- */
327
- export async function getFlapGraduatedDexMetrics(params) {
328
- const chain = String(params.chain || 'BSC').toUpperCase();
329
- const tokenKey = `${chain}:${params.tokenAddress.toLowerCase()}`;
330
- const cached = gradMetricsCache.get(tokenKey);
331
- if (cached && Date.now() - cached.at < GRAD_METRICS_TTL_MS) {
332
- return cached.data;
333
- }
334
- const wrappedNative = params.wrappedNativeAddress ?? '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c';
335
- const quoteToken = params.state.quoteTokenAddress &&
336
- params.state.quoteTokenAddress.toLowerCase() !== ZERO_ADDRESS
337
- ? params.state.quoteTokenAddress
338
- : wrappedNative;
339
- const progress = formatProgress(params.state);
340
- let data;
341
- if (isFlapInfinityCLGraduated(params.state, chain)) {
342
- data = await getInfinityCLGraduatedMetrics({
343
- portal: params.portal,
344
- tokenAddress: params.tokenAddress,
345
- state: params.state,
346
- rpcUrl: params.rpcUrl,
347
- quoteTokenAddress: quoteToken,
348
- wrappedNativeAddress: wrappedNative,
349
- chain,
350
- });
351
- }
352
- else {
353
- const pool = params.state.pool;
354
- if (pool && pool.toLowerCase() !== ZERO_ADDRESS && !isInfinityCLPoolManagerAddress(pool, chain)) {
355
- const v3 = await getGraduatedV3PairMetrics({
356
- rpcUrl: params.rpcUrl,
357
- tokenAddress: params.tokenAddress,
358
- poolAddress: pool,
359
- quoteTokenAddress: quoteToken,
360
- wrappedNativeAddress: wrappedNative,
361
- portal: params.portal,
362
- });
363
- if (v3) {
364
- data = v3;
365
- }
366
- else {
367
- const price = await quotePortalPrice(params.portal, params.tokenAddress, quoteToken, wrappedNative);
368
- data = {
369
- price: price ?? '0',
370
- progress,
371
- poolBNBAmount: '0',
372
- poolTokenAmount: '0',
373
- dexKind: 'PORTAL_QUOTE',
374
- };
375
- }
376
- }
377
- else {
378
- const price = await quotePortalPrice(params.portal, params.tokenAddress, quoteToken, wrappedNative);
379
- data = {
380
- price: price ?? '0',
381
- progress,
382
- poolBNBAmount: '0',
383
- poolTokenAmount: '0',
384
- dexKind: 'PORTAL_QUOTE',
385
- };
386
- }
387
- }
388
- gradMetricsCache.set(tokenKey, { at: Date.now(), data });
389
- return data;
390
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export type { PrivateSaleSignConfig, PrivateSaleTransferParams, BatchPrivateSaleParams, PrivateSaleResult, } from '../../shared/foundation/types/private-sale.js';
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- /**
2
- * Flap vanity / CREATE2 子路径
3
- */
4
- export { findSaltEndingByChain, predictVanityTokenAddress, predictVanityTokenAddressByChain, } from '../shared/flap/vanity.js';
5
- export { getVanitySuffix } from '../shared/flap/constants.js';
@@ -1,5 +0,0 @@
1
- /**
2
- * Flap vanity / CREATE2 子路径
3
- */
4
- export { findSaltEndingByChain, predictVanityTokenAddress, predictVanityTokenAddressByChain, } from '../shared/flap/vanity.js';
5
- export { getVanitySuffix } from '../shared/flap/constants.js';
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes