genius-intents 0.19.0 → 0.20.1-develop.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.
- package/CHANGELOG.md +54 -0
- package/dist/direct-pools/fourmeme/fourmeme-direct.service.js +16 -16
- package/dist/direct-pools/fourmeme/fourmeme-direct.service.js.map +1 -1
- package/dist/direct-pools/meteora/pool-info/meteora-damm-v1-pool-info.service.d.ts +1 -1
- package/dist/direct-pools/meteora/pool-info/meteora-damm-v1-pool-info.service.d.ts.map +1 -1
- package/dist/direct-pools/meteora/pool-info/meteora-damm-v1-pool-info.service.js +9 -2
- package/dist/direct-pools/meteora/pool-info/meteora-damm-v1-pool-info.service.js.map +1 -1
- package/dist/direct-pools/meteora/pool-info/meteora-damm-v2-pool-info.service.d.ts +1 -1
- package/dist/direct-pools/meteora/pool-info/meteora-damm-v2-pool-info.service.d.ts.map +1 -1
- package/dist/direct-pools/meteora/pool-info/meteora-damm-v2-pool-info.service.js +9 -2
- package/dist/direct-pools/meteora/pool-info/meteora-damm-v2-pool-info.service.js.map +1 -1
- package/dist/direct-pools/meteora/pool-info/meteora-dbc-pool-info.service.d.ts +1 -1
- package/dist/direct-pools/meteora/pool-info/meteora-dbc-pool-info.service.d.ts.map +1 -1
- package/dist/direct-pools/meteora/pool-info/meteora-dbc-pool-info.service.js +9 -2
- package/dist/direct-pools/meteora/pool-info/meteora-dbc-pool-info.service.js.map +1 -1
- package/dist/direct-pools/meteora/pool-info/meteora-dlmm-pool-info.service.d.ts +1 -1
- package/dist/direct-pools/meteora/pool-info/meteora-dlmm-pool-info.service.d.ts.map +1 -1
- package/dist/direct-pools/meteora/pool-info/meteora-dlmm-pool-info.service.js +9 -2
- package/dist/direct-pools/meteora/pool-info/meteora-dlmm-pool-info.service.js.map +1 -1
- package/dist/direct-pools/pump-fun/pool-info/pump-fun-pool-info.service.d.ts +1 -1
- package/dist/direct-pools/pump-fun/pool-info/pump-fun-pool-info.service.d.ts.map +1 -1
- package/dist/direct-pools/pump-fun/pool-info/pump-fun-pool-info.service.js +9 -2
- package/dist/direct-pools/pump-fun/pool-info/pump-fun-pool-info.service.js.map +1 -1
- package/dist/direct-pools/pump-fun/pool-info/pump-swap-amm-pool-info.service.d.ts +1 -1
- package/dist/direct-pools/pump-fun/pool-info/pump-swap-amm-pool-info.service.d.ts.map +1 -1
- package/dist/direct-pools/pump-fun/pool-info/pump-swap-amm-pool-info.service.js +9 -2
- package/dist/direct-pools/pump-fun/pool-info/pump-swap-amm-pool-info.service.js.map +1 -1
- package/dist/direct-pools/raydium/pool-info/raydium-amm-pool-info.service.d.ts +1 -1
- package/dist/direct-pools/raydium/pool-info/raydium-amm-pool-info.service.d.ts.map +1 -1
- package/dist/direct-pools/raydium/pool-info/raydium-amm-pool-info.service.js +9 -2
- package/dist/direct-pools/raydium/pool-info/raydium-amm-pool-info.service.js.map +1 -1
- package/dist/direct-pools/raydium/pool-info/raydium-clmm-pool-info.service.d.ts +1 -1
- package/dist/direct-pools/raydium/pool-info/raydium-clmm-pool-info.service.d.ts.map +1 -1
- package/dist/direct-pools/raydium/pool-info/raydium-clmm-pool-info.service.js +9 -2
- package/dist/direct-pools/raydium/pool-info/raydium-clmm-pool-info.service.js.map +1 -1
- package/dist/direct-pools/raydium/pool-info/raydium-cpmm-pool-info.service.d.ts +1 -1
- package/dist/direct-pools/raydium/pool-info/raydium-cpmm-pool-info.service.d.ts.map +1 -1
- package/dist/direct-pools/raydium/pool-info/raydium-cpmm-pool-info.service.js +9 -2
- package/dist/direct-pools/raydium/pool-info/raydium-cpmm-pool-info.service.js.map +1 -1
- package/dist/direct-pools/raydium/pool-info/raydium-launchlab-pool-info.service.d.ts +1 -1
- package/dist/direct-pools/raydium/pool-info/raydium-launchlab-pool-info.service.d.ts.map +1 -1
- package/dist/direct-pools/raydium/pool-info/raydium-launchlab-pool-info.service.js +9 -2
- package/dist/direct-pools/raydium/pool-info/raydium-launchlab-pool-info.service.js.map +1 -1
- package/dist/direct-pools/whirlpools/pool-info/whirlpools-pool-info.service.d.ts +1 -1
- package/dist/direct-pools/whirlpools/pool-info/whirlpools-pool-info.service.d.ts.map +1 -1
- package/dist/direct-pools/whirlpools/pool-info/whirlpools-pool-info.service.js +9 -2
- package/dist/direct-pools/whirlpools/pool-info/whirlpools-pool-info.service.js.map +1 -1
- package/dist/genius-intents.d.ts.map +1 -1
- package/dist/genius-intents.js +3 -0
- package/dist/genius-intents.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/dex/algebra/algebra-dex-deployments.d.ts +3 -0
- package/dist/lib/dex/algebra/algebra-dex-deployments.d.ts.map +1 -0
- package/dist/lib/dex/algebra/algebra-dex-deployments.js +34 -0
- package/dist/lib/dex/algebra/algebra-dex-deployments.js.map +1 -0
- package/dist/lib/dex/algebra/quickswap-quoter.abi.d.ts +3 -0
- package/dist/lib/dex/algebra/quickswap-quoter.abi.d.ts.map +1 -0
- package/dist/lib/dex/algebra/quickswap-quoter.abi.js +103 -0
- package/dist/lib/dex/algebra/quickswap-quoter.abi.js.map +1 -0
- package/dist/lib/dex/fourmeme/fourmeme-v3-helper.abi.d.ts +3 -0
- package/dist/lib/dex/fourmeme/fourmeme-v3-helper.abi.d.ts.map +1 -0
- package/dist/lib/dex/fourmeme/fourmeme-v3-helper.abi.js +61 -0
- package/dist/lib/dex/fourmeme/fourmeme-v3-helper.abi.js.map +1 -0
- package/dist/lib/dex/lfj/lfj-dex-deployments.d.ts +3 -0
- package/dist/lib/dex/lfj/lfj-dex-deployments.d.ts.map +1 -0
- package/dist/lib/dex/lfj/lfj-dex-deployments.js +21 -0
- package/dist/lib/dex/lfj/lfj-dex-deployments.js.map +1 -0
- package/dist/lib/dex/lfj/lfj-quoter.abi.d.ts +3 -0
- package/dist/lib/dex/lfj/lfj-quoter.abi.d.ts.map +1 -0
- package/dist/lib/dex/lfj/lfj-quoter.abi.js +135 -0
- package/dist/lib/dex/lfj/lfj-quoter.abi.js.map +1 -0
- package/dist/lib/dex/lfj/lfj-router.abi.d.ts +3 -0
- package/dist/lib/dex/lfj/lfj-router.abi.d.ts.map +1 -0
- package/dist/lib/dex/lfj/lfj-router.abi.js +587 -0
- package/dist/lib/dex/lfj/lfj-router.abi.js.map +1 -0
- package/dist/lib/dex/pair-discovery/adapters/algebra-dex-pair-discovery.adapter.d.ts +22 -0
- package/dist/lib/dex/pair-discovery/adapters/algebra-dex-pair-discovery.adapter.d.ts.map +1 -0
- package/dist/lib/dex/pair-discovery/adapters/algebra-dex-pair-discovery.adapter.js +225 -0
- package/dist/lib/dex/pair-discovery/adapters/algebra-dex-pair-discovery.adapter.js.map +1 -0
- package/dist/lib/dex/pair-discovery/adapters/fourmeme-dex-pair-discovery.adapter.d.ts +20 -0
- package/dist/lib/dex/pair-discovery/adapters/fourmeme-dex-pair-discovery.adapter.d.ts.map +1 -0
- package/dist/lib/dex/pair-discovery/adapters/fourmeme-dex-pair-discovery.adapter.js +272 -0
- package/dist/lib/dex/pair-discovery/adapters/fourmeme-dex-pair-discovery.adapter.js.map +1 -0
- package/dist/lib/dex/pair-discovery/adapters/lfj-v3-dex-pair-doscovery.adapter.d.ts +19 -0
- package/dist/lib/dex/pair-discovery/adapters/lfj-v3-dex-pair-doscovery.adapter.d.ts.map +1 -0
- package/dist/lib/dex/pair-discovery/adapters/lfj-v3-dex-pair-doscovery.adapter.js +130 -0
- package/dist/lib/dex/pair-discovery/adapters/lfj-v3-dex-pair-doscovery.adapter.js.map +1 -0
- package/dist/lib/dex/pair-discovery/adapters/v2-dex-pair-discovery.adapter.d.ts +29 -0
- package/dist/lib/dex/pair-discovery/adapters/v2-dex-pair-discovery.adapter.d.ts.map +1 -0
- package/dist/lib/dex/pair-discovery/adapters/v2-dex-pair-discovery.adapter.js +179 -0
- package/dist/lib/dex/pair-discovery/adapters/v2-dex-pair-discovery.adapter.js.map +1 -0
- package/dist/lib/dex/pair-discovery/adapters/v3-dex-pair-discovery.adapter.d.ts +29 -0
- package/dist/lib/dex/pair-discovery/adapters/v3-dex-pair-discovery.adapter.d.ts.map +1 -0
- package/dist/lib/dex/pair-discovery/adapters/v3-dex-pair-discovery.adapter.js +345 -0
- package/dist/lib/dex/pair-discovery/adapters/v3-dex-pair-discovery.adapter.js.map +1 -0
- package/dist/lib/dex/pair-discovery/adapters/ve33-dex-pair-discovery.adapter.d.ts +36 -0
- package/dist/lib/dex/pair-discovery/adapters/ve33-dex-pair-discovery.adapter.d.ts.map +1 -0
- package/dist/lib/dex/pair-discovery/adapters/ve33-dex-pair-discovery.adapter.js +275 -0
- package/dist/lib/dex/pair-discovery/adapters/ve33-dex-pair-discovery.adapter.js.map +1 -0
- package/dist/lib/dex/pair-discovery/index.d.ts +3 -0
- package/dist/lib/dex/pair-discovery/index.d.ts.map +1 -0
- package/dist/lib/dex/pair-discovery/index.js +21 -0
- package/dist/lib/dex/pair-discovery/index.js.map +1 -0
- package/dist/lib/dex/pair-discovery/pair-discovery.service.d.ts +16 -0
- package/dist/lib/dex/pair-discovery/pair-discovery.service.d.ts.map +1 -0
- package/dist/lib/dex/pair-discovery/pair-discovery.service.js +98 -0
- package/dist/lib/dex/pair-discovery/pair-discovery.service.js.map +1 -0
- package/dist/lib/dex/pair-discovery/pair-discovery.types.d.ts +191 -0
- package/dist/lib/dex/pair-discovery/pair-discovery.types.d.ts.map +1 -0
- package/dist/lib/dex/pair-discovery/pair-discovery.types.js +3 -0
- package/dist/lib/dex/pair-discovery/pair-discovery.types.js.map +1 -0
- package/dist/lib/dex/uniswapV2/v2-dex-deployments.d.ts +5 -0
- package/dist/lib/dex/uniswapV2/v2-dex-deployments.d.ts.map +1 -0
- package/dist/lib/dex/uniswapV2/v2-dex-deployments.js +166 -0
- package/dist/lib/dex/uniswapV2/v2-dex-deployments.js.map +1 -0
- package/dist/lib/dex/uniswapv3/{v3-offchain-quoter.service.d.ts → offchain-quoter/v3-offchain-quoter.service.d.ts} +1 -1
- package/dist/lib/dex/uniswapv3/offchain-quoter/v3-offchain-quoter.service.d.ts.map +1 -0
- package/dist/lib/dex/uniswapv3/{v3-offchain-quoter.service.js → offchain-quoter/v3-offchain-quoter.service.js} +3 -3
- package/dist/lib/dex/uniswapv3/offchain-quoter/v3-offchain-quoter.service.js.map +1 -0
- package/dist/lib/dex/uniswapv3/offchain-quoter/v3-offchain-quoter.types.d.ts +162 -0
- package/dist/lib/dex/uniswapv3/offchain-quoter/v3-offchain-quoter.types.d.ts.map +1 -0
- package/dist/lib/dex/uniswapv3/offchain-quoter/v3-offchain-quoter.types.js +3 -0
- package/dist/lib/dex/uniswapv3/offchain-quoter/v3-offchain-quoter.types.js.map +1 -0
- package/dist/lib/dex/uniswapv3/ramses-quoter.abi.d.ts +3 -0
- package/dist/lib/dex/uniswapv3/ramses-quoter.abi.d.ts.map +1 -0
- package/dist/lib/dex/uniswapv3/ramses-quoter.abi.js +114 -0
- package/dist/lib/dex/uniswapv3/ramses-quoter.abi.js.map +1 -0
- package/dist/lib/dex/uniswapv3/v3-dex-deployments.d.ts +32 -0
- package/dist/lib/dex/uniswapv3/v3-dex-deployments.d.ts.map +1 -0
- package/dist/lib/dex/uniswapv3/v3-dex-deployments.js +283 -0
- package/dist/lib/dex/uniswapv3/v3-dex-deployments.js.map +1 -0
- package/dist/lib/dex/ve33/pharaoh-swap-router.abi.d.ts +3 -0
- package/dist/lib/dex/ve33/pharaoh-swap-router.abi.d.ts.map +1 -0
- package/dist/lib/dex/ve33/pharaoh-swap-router.abi.js +239 -0
- package/dist/lib/dex/ve33/pharaoh-swap-router.abi.js.map +1 -0
- package/dist/lib/dex/ve33/ve33-dex-deployments.d.ts +4 -0
- package/dist/lib/dex/ve33/ve33-dex-deployments.d.ts.map +1 -0
- package/dist/lib/dex/ve33/ve33-dex-deployments.js +34 -0
- package/dist/lib/dex/ve33/ve33-dex-deployments.js.map +1 -0
- package/dist/protocols/algebra/algebra.service.d.ts +9 -7
- package/dist/protocols/algebra/algebra.service.d.ts.map +1 -1
- package/dist/protocols/algebra/algebra.service.js +84 -113
- package/dist/protocols/algebra/algebra.service.js.map +1 -1
- package/dist/protocols/algebra/algebra.types.d.ts +30 -16
- package/dist/protocols/algebra/algebra.types.d.ts.map +1 -1
- package/dist/protocols/algebra/algebra.types.js +1 -1
- package/dist/protocols/algebra/algebra.types.js.map +1 -1
- package/dist/protocols/four-meme/four-meme.service.d.ts.map +1 -1
- package/dist/protocols/four-meme/four-meme.service.js +54 -59
- package/dist/protocols/four-meme/four-meme.service.js.map +1 -1
- package/dist/protocols/four-meme/four-meme.types.d.ts +2 -5
- package/dist/protocols/four-meme/four-meme.types.d.ts.map +1 -1
- package/dist/protocols/genius-bridge/genius-bridge.service.d.ts +2 -1
- package/dist/protocols/genius-bridge/genius-bridge.service.d.ts.map +1 -1
- package/dist/protocols/genius-bridge/genius-bridge.service.js.map +1 -1
- package/dist/protocols/genius-bridge/index.d.ts +1 -1
- package/dist/protocols/genius-bridge/index.d.ts.map +1 -1
- package/dist/protocols/lfj/index.d.ts +3 -0
- package/dist/protocols/lfj/index.d.ts.map +1 -0
- package/dist/protocols/lfj/index.js +21 -0
- package/dist/protocols/lfj/index.js.map +1 -0
- package/dist/protocols/lfj/lfj.service.d.ts +45 -0
- package/dist/protocols/lfj/lfj.service.d.ts.map +1 -0
- package/dist/protocols/lfj/lfj.service.js +324 -0
- package/dist/protocols/lfj/lfj.service.js.map +1 -0
- package/dist/protocols/lfj/lfj.types.d.ts +134 -0
- package/dist/protocols/lfj/lfj.types.d.ts.map +1 -0
- package/dist/protocols/lfj/lfj.types.js +16 -0
- package/dist/protocols/lfj/lfj.types.js.map +1 -0
- package/dist/protocols/v2-dex/index.d.ts +1 -1
- package/dist/protocols/v2-dex/index.d.ts.map +1 -1
- package/dist/protocols/v2-dex/index.js +15 -0
- package/dist/protocols/v2-dex/index.js.map +1 -1
- package/dist/protocols/v2-dex/v2-dex.service.d.ts +9 -13
- package/dist/protocols/v2-dex/v2-dex.service.d.ts.map +1 -1
- package/dist/protocols/v2-dex/v2-dex.service.js +80 -496
- package/dist/protocols/v2-dex/v2-dex.service.js.map +1 -1
- package/dist/protocols/v2-dex/v2-dex.types.d.ts +29 -30
- package/dist/protocols/v2-dex/v2-dex.types.d.ts.map +1 -1
- package/dist/protocols/v2-dex/v2-dex.types.js.map +1 -1
- package/dist/protocols/v3-dex/adapters/slipstream.adapter.d.ts +42 -0
- package/dist/protocols/v3-dex/adapters/slipstream.adapter.d.ts.map +1 -0
- package/dist/protocols/v3-dex/adapters/slipstream.adapter.js +185 -0
- package/dist/protocols/v3-dex/adapters/slipstream.adapter.js.map +1 -0
- package/dist/protocols/v3-dex/adapters/uniswap-fork.adapter.d.ts +40 -0
- package/dist/protocols/v3-dex/adapters/uniswap-fork.adapter.d.ts.map +1 -0
- package/dist/protocols/v3-dex/adapters/uniswap-fork.adapter.js +237 -0
- package/dist/protocols/v3-dex/adapters/uniswap-fork.adapter.js.map +1 -0
- package/dist/protocols/v3-dex/adapters/uniswap.adapter.d.ts +39 -0
- package/dist/protocols/v3-dex/adapters/uniswap.adapter.d.ts.map +1 -0
- package/dist/protocols/v3-dex/adapters/uniswap.adapter.js +226 -0
- package/dist/protocols/v3-dex/adapters/uniswap.adapter.js.map +1 -0
- package/dist/protocols/v3-dex/index.d.ts +1 -1
- package/dist/protocols/v3-dex/index.d.ts.map +1 -1
- package/dist/protocols/v3-dex/index.js +15 -0
- package/dist/protocols/v3-dex/index.js.map +1 -1
- package/dist/protocols/v3-dex/v3-dex.service.d.ts +21 -120
- package/dist/protocols/v3-dex/v3-dex.service.d.ts.map +1 -1
- package/dist/protocols/v3-dex/v3-dex.service.js +383 -1364
- package/dist/protocols/v3-dex/v3-dex.service.js.map +1 -1
- package/dist/protocols/v3-dex/v3-dex.types.d.ts +144 -374
- package/dist/protocols/v3-dex/v3-dex.types.d.ts.map +1 -1
- package/dist/protocols/v3-dex/v3-dex.types.js +10 -1
- package/dist/protocols/v3-dex/v3-dex.types.js.map +1 -1
- package/dist/protocols/ve33/adapters/blackhole.adapter.d.ts +29 -0
- package/dist/protocols/ve33/adapters/blackhole.adapter.d.ts.map +1 -0
- package/dist/protocols/ve33/adapters/blackhole.adapter.js +59 -0
- package/dist/protocols/ve33/adapters/blackhole.adapter.js.map +1 -0
- package/dist/protocols/ve33/adapters/pharaoh.adapter.d.ts +34 -0
- package/dist/protocols/ve33/adapters/pharaoh.adapter.d.ts.map +1 -0
- package/dist/protocols/ve33/adapters/pharaoh.adapter.js +51 -0
- package/dist/protocols/ve33/adapters/pharaoh.adapter.js.map +1 -0
- package/dist/protocols/ve33/adapters/solidly.adapter.d.ts +42 -0
- package/dist/protocols/ve33/adapters/solidly.adapter.d.ts.map +1 -0
- package/dist/protocols/ve33/adapters/solidly.adapter.js +63 -0
- package/dist/protocols/ve33/adapters/solidly.adapter.js.map +1 -0
- package/dist/protocols/ve33/index.d.ts +1 -1
- package/dist/protocols/ve33/index.d.ts.map +1 -1
- package/dist/protocols/ve33/index.js +15 -0
- package/dist/protocols/ve33/index.js.map +1 -1
- package/dist/protocols/ve33/ve33.service.d.ts +8 -3
- package/dist/protocols/ve33/ve33.service.d.ts.map +1 -1
- package/dist/protocols/ve33/ve33.service.js +128 -125
- package/dist/protocols/ve33/ve33.service.js.map +1 -1
- package/dist/protocols/ve33/ve33.types.d.ts +19 -33
- package/dist/protocols/ve33/ve33.types.d.ts.map +1 -1
- package/dist/protocols/ve33/ve33.types.js +6 -1
- package/dist/protocols/ve33/ve33.types.js.map +1 -1
- package/dist/token-launches/jupiter/jupiter-studio-launch.constants.d.ts +40 -0
- package/dist/token-launches/jupiter/jupiter-studio-launch.constants.d.ts.map +1 -0
- package/dist/token-launches/jupiter/jupiter-studio-launch.constants.js +43 -0
- package/dist/token-launches/jupiter/jupiter-studio-launch.constants.js.map +1 -0
- package/dist/token-launches/jupiter/jupiter-studio-launch.service.d.ts +10 -0
- package/dist/token-launches/jupiter/jupiter-studio-launch.service.d.ts.map +1 -0
- package/dist/token-launches/jupiter/jupiter-studio-launch.service.js +56 -0
- package/dist/token-launches/jupiter/jupiter-studio-launch.service.js.map +1 -0
- package/dist/token-launches/jupiter/jupiter-studio-launch.types.d.ts +49 -0
- package/dist/token-launches/jupiter/jupiter-studio-launch.types.d.ts.map +1 -0
- package/dist/token-launches/jupiter/jupiter-studio-launch.types.js +3 -0
- package/dist/token-launches/jupiter/jupiter-studio-launch.types.js.map +1 -0
- package/dist/token-launches/jupiter/jupiter-studio-launch.utils.d.ts +9 -0
- package/dist/token-launches/jupiter/jupiter-studio-launch.utils.d.ts.map +1 -0
- package/dist/token-launches/jupiter/jupiter-studio-launch.utils.js +82 -0
- package/dist/token-launches/jupiter/jupiter-studio-launch.utils.js.map +1 -0
- package/dist/token-launches/meteora/meteora-launch.constants.d.ts +11 -0
- package/dist/token-launches/meteora/meteora-launch.constants.d.ts.map +1 -0
- package/dist/token-launches/meteora/meteora-launch.constants.js +15 -0
- package/dist/token-launches/meteora/meteora-launch.constants.js.map +1 -0
- package/dist/token-launches/meteora/meteora-launch.service.d.ts +13 -0
- package/dist/token-launches/meteora/meteora-launch.service.d.ts.map +1 -0
- package/dist/token-launches/meteora/meteora-launch.service.js +64 -0
- package/dist/token-launches/meteora/meteora-launch.service.js.map +1 -0
- package/dist/token-launches/meteora/meteora-launch.types.d.ts +18 -0
- package/dist/token-launches/meteora/meteora-launch.types.d.ts.map +1 -0
- package/dist/token-launches/meteora/meteora-launch.types.js +3 -0
- package/dist/token-launches/meteora/meteora-launch.types.js.map +1 -0
- package/dist/token-launches/meteora/meteora-launch.utils.d.ts +4 -0
- package/dist/token-launches/meteora/meteora-launch.utils.d.ts.map +1 -0
- package/dist/token-launches/meteora/meteora-launch.utils.js +54 -0
- package/dist/token-launches/meteora/meteora-launch.utils.js.map +1 -0
- package/dist/token-launches/pump-fun/pump-fun-launch.service.d.ts +13 -0
- package/dist/token-launches/pump-fun/pump-fun-launch.service.d.ts.map +1 -0
- package/dist/token-launches/pump-fun/pump-fun-launch.service.js +63 -0
- package/dist/token-launches/pump-fun/pump-fun-launch.service.js.map +1 -0
- package/dist/token-launches/pump-fun/pump-fun-launch.types.d.ts +12 -0
- package/dist/token-launches/pump-fun/pump-fun-launch.types.d.ts.map +1 -0
- package/dist/token-launches/pump-fun/pump-fun-launch.types.js +3 -0
- package/dist/token-launches/pump-fun/pump-fun-launch.types.js.map +1 -0
- package/dist/token-launches/raydium-launchlab/raydium-launch.constants.d.ts +13 -0
- package/dist/token-launches/raydium-launchlab/raydium-launch.constants.d.ts.map +1 -0
- package/dist/token-launches/raydium-launchlab/raydium-launch.constants.js +18 -0
- package/dist/token-launches/raydium-launchlab/raydium-launch.constants.js.map +1 -0
- package/dist/token-launches/raydium-launchlab/raydium-launch.service.d.ts +13 -0
- package/dist/token-launches/raydium-launchlab/raydium-launch.service.d.ts.map +1 -0
- package/dist/token-launches/raydium-launchlab/raydium-launch.service.js +102 -0
- package/dist/token-launches/raydium-launchlab/raydium-launch.service.js.map +1 -0
- package/dist/token-launches/raydium-launchlab/raydium-launch.types.d.ts +57 -0
- package/dist/token-launches/raydium-launchlab/raydium-launch.types.d.ts.map +1 -0
- package/dist/token-launches/raydium-launchlab/raydium-launch.types.js +3 -0
- package/dist/token-launches/raydium-launchlab/raydium-launch.types.js.map +1 -0
- package/dist/types/enums.d.ts +4 -2
- package/dist/types/enums.d.ts.map +1 -1
- package/dist/types/enums.js +2 -0
- package/dist/types/enums.js.map +1 -1
- package/dist/types/price-params.d.ts +8 -3
- package/dist/types/price-params.d.ts.map +1 -1
- package/dist/types/price-response.d.ts +4 -3
- package/dist/types/price-response.d.ts.map +1 -1
- package/dist/types/quote-response.d.ts +4 -3
- package/dist/types/quote-response.d.ts.map +1 -1
- package/dist/utils/chainId-to-chain.d.ts +4 -0
- package/dist/utils/chainId-to-chain.d.ts.map +1 -0
- package/dist/utils/chainId-to-chain.js +44 -0
- package/dist/utils/chainId-to-chain.js.map +1 -0
- package/dist/utils/norm-dex-token.d.ts +13 -0
- package/dist/utils/norm-dex-token.d.ts.map +1 -0
- package/dist/utils/norm-dex-token.js +19 -0
- package/dist/utils/norm-dex-token.js.map +1 -0
- package/dist/utils/pair-result.d.ts +3 -0
- package/dist/utils/pair-result.d.ts.map +1 -0
- package/dist/utils/pair-result.js +11 -0
- package/dist/utils/pair-result.js.map +1 -0
- package/dist/utils/sort-addresses.d.ts +2 -1
- package/dist/utils/sort-addresses.d.ts.map +1 -1
- package/dist/utils/sort-addresses.js +3 -1
- package/dist/utils/sort-addresses.js.map +1 -1
- package/dist/utils/to-pool-key.d.ts +4 -0
- package/dist/utils/to-pool-key.d.ts.map +1 -0
- package/dist/utils/to-pool-key.js +15 -0
- package/dist/utils/to-pool-key.js.map +1 -0
- package/dist/utils/transaction-builder.util.d.ts +3 -0
- package/dist/utils/transaction-builder.util.d.ts.map +1 -0
- package/dist/utils/transaction-builder.util.js +13 -0
- package/dist/utils/transaction-builder.util.js.map +1 -0
- package/package.json +2 -2
- package/dist/lib/dex/uniswapv3/v3-offchain-quoter.service.d.ts.map +0 -1
- package/dist/lib/dex/uniswapv3/v3-offchain-quoter.service.js.map +0 -1
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.V2StyleDexService = void 0;
|
|
4
4
|
const viem_1 = require("viem");
|
|
5
5
|
const v2_dex_types_1 = require("./v2-dex.types");
|
|
6
|
+
const v2_dex_deployments_1 = require("../../lib/dex/uniswapV2/v2-dex-deployments");
|
|
6
7
|
const constants_1 = require("../../utils/constants");
|
|
7
8
|
const enums_1 = require("../../types/enums");
|
|
8
9
|
const erc20_abi_1 = require("../../lib/erc20/erc20.abi");
|
|
@@ -16,8 +17,8 @@ const utils_1 = require("../../utils");
|
|
|
16
17
|
const wrapped_native_1 = require("../../utils/wrapped-native");
|
|
17
18
|
const is_native_1 = require("../../utils/is-native");
|
|
18
19
|
const min_amount_out_1 = require("../../utils/min-amount-out");
|
|
19
|
-
const sort_addresses_1 = require("../../utils/sort-addresses");
|
|
20
20
|
const dex_deployment_key_1 = require("../../utils/dex-deployment-key");
|
|
21
|
+
const chainId_to_chain_1 = require("../../utils/chainId-to-chain");
|
|
21
22
|
let logger;
|
|
22
23
|
/**
|
|
23
24
|
* V2StyleDexService implements the IIntentProtocol interface for Uniswap V2-style DEX protocols.
|
|
@@ -51,25 +52,15 @@ class V2StyleDexService {
|
|
|
51
52
|
* The rpc urls to utilize in order to fetch onchain data to build prices and quotes
|
|
52
53
|
*/
|
|
53
54
|
this.rpcs = {};
|
|
55
|
+
/**
|
|
56
|
+
* The supported chains for the protocol
|
|
57
|
+
*/
|
|
58
|
+
this.chains = v2_dex_deployments_1.uniV2SupportedChains;
|
|
54
59
|
/**
|
|
55
60
|
* Optional external _rpcs keyed by network/chain id
|
|
56
61
|
* If not provided for a network, on-chain calls for that network will be skipped with a descriptive error.
|
|
57
62
|
*/
|
|
58
63
|
this._rpcs = {};
|
|
59
|
-
/**
|
|
60
|
-
* The supported chains for the protocol
|
|
61
|
-
*/
|
|
62
|
-
this.chains = [
|
|
63
|
-
enums_1.ChainIdEnum.ETHEREUM,
|
|
64
|
-
enums_1.ChainIdEnum.BSC,
|
|
65
|
-
enums_1.ChainIdEnum.POLYGON,
|
|
66
|
-
enums_1.ChainIdEnum.AVALANCHE,
|
|
67
|
-
enums_1.ChainIdEnum.ARBITRUM,
|
|
68
|
-
enums_1.ChainIdEnum.OPTIMISM,
|
|
69
|
-
enums_1.ChainIdEnum.BASE,
|
|
70
|
-
enums_1.ChainIdEnum.POLYGON,
|
|
71
|
-
enums_1.ChainIdEnum.HYPEREVM,
|
|
72
|
-
];
|
|
73
64
|
if (config?.debug) {
|
|
74
65
|
logger_1.LoggerFactory.configure(logger_1.LoggerFactory.createConsoleLogger({ level: logger_1.LogLevelEnum.DEBUG }));
|
|
75
66
|
}
|
|
@@ -78,7 +69,7 @@ class V2StyleDexService {
|
|
|
78
69
|
logger_1.LoggerFactory.configure(config.logger);
|
|
79
70
|
}
|
|
80
71
|
logger = logger_1.LoggerFactory.getLogger();
|
|
81
|
-
if (config?.rpcs
|
|
72
|
+
if (config?.rpcs) {
|
|
82
73
|
this.rpcs = {};
|
|
83
74
|
this._rpcs = {};
|
|
84
75
|
for (const [chainIdStr, rpc] of Object.entries(config.rpcs)) {
|
|
@@ -92,7 +83,11 @@ class V2StyleDexService {
|
|
|
92
83
|
logger.warn(`No RPC URL found for chainId ${chainId}, skipping client creation`);
|
|
93
84
|
continue;
|
|
94
85
|
}
|
|
95
|
-
const chainConfig =
|
|
86
|
+
const chainConfig = chainId_to_chain_1.chainIdToChain[chainId];
|
|
87
|
+
if (!chainConfig) {
|
|
88
|
+
logger.warn(`No chain config found for chainId ${chainId}, skipping client creation`);
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
96
91
|
this._rpcs[chainId] = (0, viem_1.createPublicClient)({
|
|
97
92
|
chain: chainConfig,
|
|
98
93
|
transport: (0, viem_1.http)(rpc),
|
|
@@ -116,7 +111,7 @@ class V2StyleDexService {
|
|
|
116
111
|
return true;
|
|
117
112
|
}
|
|
118
113
|
async fetchPrice(params) {
|
|
119
|
-
const { networkIn, networkOut, amountIn, tokenIn, tokenOut, slippage, overrideParamsV2Dex } = params;
|
|
114
|
+
const { networkIn, networkOut, amountIn, tokenIn, tokenOut, slippage, overrideParamsV2Dex: overrides, } = params;
|
|
120
115
|
try {
|
|
121
116
|
if (networkIn !== networkOut) {
|
|
122
117
|
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'V2StyleDexService only supports same-network swaps.');
|
|
@@ -129,20 +124,6 @@ class V2StyleDexService {
|
|
|
129
124
|
if (!deployments.length) {
|
|
130
125
|
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `No V2-style deployments configured for network ${networkIn}.`);
|
|
131
126
|
}
|
|
132
|
-
// Optional native-liquidity sanity check (mirror of V3 behavior)
|
|
133
|
-
if (overrideParamsV2Dex &&
|
|
134
|
-
overrideParamsV2Dex.nativePrice &&
|
|
135
|
-
overrideParamsV2Dex.tokenInPrice &&
|
|
136
|
-
overrideParamsV2Dex.tokenInDecimals) {
|
|
137
|
-
await this._validateNativeLiquidityV2({
|
|
138
|
-
tokenIn: tokenIn,
|
|
139
|
-
networkIn: networkIn,
|
|
140
|
-
dexes: deployments.map(d => d.dex),
|
|
141
|
-
nativePrice: overrideParamsV2Dex.nativePrice,
|
|
142
|
-
tokenInPrice: overrideParamsV2Dex.tokenInPrice,
|
|
143
|
-
tokenInDecimals: overrideParamsV2Dex.tokenInDecimals,
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
127
|
const initialPath = [(0, viem_1.getAddress)(tokenIn), (0, viem_1.getAddress)(tokenOut)];
|
|
147
128
|
const formattedPath = this._validatePath(networkIn, initialPath);
|
|
148
129
|
const path = [formattedPath.tokenIn, formattedPath.tokenOut];
|
|
@@ -153,76 +134,30 @@ class V2StyleDexService {
|
|
|
153
134
|
if (amountInBig <= 0n) {
|
|
154
135
|
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'amountIn must be greater than zero');
|
|
155
136
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
dex: (0, dex_deployment_key_1.dexDeploymentKey)({
|
|
167
|
-
dex: overrideParamsV2Dex.dex,
|
|
168
|
-
router: (0, viem_1.getAddress)(chosenRouter),
|
|
169
|
-
network: networkIn,
|
|
170
|
-
}),
|
|
171
|
-
route: [(0, viem_1.getAddress)(path[0]), (0, viem_1.getAddress)(path[1])],
|
|
172
|
-
router: (0, viem_1.getAddress)(chosenRouter),
|
|
173
|
-
slippage,
|
|
174
|
-
expectedAmountOut: overrideParamsV2Dex.amountOutMin,
|
|
175
|
-
minAmountOut: overrideParamsV2Dex.amountOutMin,
|
|
176
|
-
};
|
|
177
|
-
return {
|
|
178
|
-
amountIn: amountInBig.toString(),
|
|
179
|
-
amountOut: overrideParamsV2Dex.amountOutMin,
|
|
180
|
-
protocol: this.protocol,
|
|
181
|
-
networkIn,
|
|
182
|
-
networkOut,
|
|
183
|
-
tokenIn,
|
|
184
|
-
tokenOut,
|
|
185
|
-
slippage,
|
|
186
|
-
protocolResponse: uniV2PriceResponse,
|
|
187
|
-
};
|
|
137
|
+
const overrideCandidate = overrides?.pairCandidate;
|
|
138
|
+
const overrideKey = overrideCandidate?.key;
|
|
139
|
+
const overridePair = overrideCandidate?.pair;
|
|
140
|
+
const overrideAmountOutMin = overrideCandidate?.amountOutMin;
|
|
141
|
+
const useFastRoute = overridePair && overrideKey && overrideAmountOutMin;
|
|
142
|
+
const overrideDex = overrideKey
|
|
143
|
+
? overrideKey.split(':')[0]
|
|
144
|
+
: undefined;
|
|
145
|
+
if (!overrideDex) {
|
|
146
|
+
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'Invalid override key');
|
|
188
147
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
const fast = await this._fetchKnownPairPriceV2({
|
|
192
|
-
network: networkIn,
|
|
193
|
-
tokenInForQuote: (0, viem_1.getAddress)(path[0]),
|
|
194
|
-
tokenOutForQuote: (0, viem_1.getAddress)(path[1]),
|
|
195
|
-
amountInBI: amountInBig,
|
|
196
|
-
pair: (0, viem_1.getAddress)(overrideParamsV2Dex.pair),
|
|
197
|
-
});
|
|
198
|
-
const slippageNum = Number(slippage ?? 0);
|
|
199
|
-
const minAmountOut = (0, min_amount_out_1.calculateMinAmountOut)({
|
|
200
|
-
amountOut: fast.amountOut.toString(),
|
|
201
|
-
slippage: slippageNum,
|
|
202
|
-
});
|
|
203
|
-
const uniV2PriceResponse = {
|
|
204
|
-
dex: (0, dex_deployment_key_1.dexDeploymentKey)({
|
|
205
|
-
dex: (0, dex_deployment_key_1.dexFromDeploymentKey)(fast.payload.dex),
|
|
206
|
-
router: fast.payload.router,
|
|
207
|
-
network: networkIn,
|
|
208
|
-
}),
|
|
209
|
-
route: [(0, viem_1.getAddress)(path[0]), (0, viem_1.getAddress)(path[1])],
|
|
210
|
-
router: fast.payload.router,
|
|
211
|
-
slippage,
|
|
212
|
-
expectedAmountOut: fast.amountOut.toString(),
|
|
213
|
-
minAmountOut,
|
|
214
|
-
};
|
|
215
|
-
return {
|
|
216
|
-
amountIn: amountInBig.toString(),
|
|
217
|
-
amountOut: fast.amountOut.toString(),
|
|
218
|
-
protocol: this.protocol,
|
|
148
|
+
if (useFastRoute) {
|
|
149
|
+
return this._buildFastRoutePriceResponse({
|
|
219
150
|
networkIn,
|
|
220
151
|
networkOut,
|
|
221
152
|
tokenIn,
|
|
222
153
|
tokenOut,
|
|
154
|
+
amountIn,
|
|
223
155
|
slippage,
|
|
224
|
-
|
|
225
|
-
|
|
156
|
+
deployments,
|
|
157
|
+
overrideDex,
|
|
158
|
+
overrideAmountOutMin: overrideAmountOutMin,
|
|
159
|
+
overridePair: overridePair,
|
|
160
|
+
});
|
|
226
161
|
}
|
|
227
162
|
// === Original discovery logic ===
|
|
228
163
|
let best;
|
|
@@ -263,6 +198,7 @@ class V2StyleDexService {
|
|
|
263
198
|
router: routerAddr,
|
|
264
199
|
factory: dep.factory ? (0, viem_1.getAddress)(dep.factory) : undefined,
|
|
265
200
|
amountOut,
|
|
201
|
+
pair: undefined,
|
|
266
202
|
};
|
|
267
203
|
}
|
|
268
204
|
});
|
|
@@ -360,6 +296,7 @@ class V2StyleDexService {
|
|
|
360
296
|
router: routerAddr,
|
|
361
297
|
factory: factoryDeployment,
|
|
362
298
|
amountOut,
|
|
299
|
+
pair: pair.pair,
|
|
363
300
|
};
|
|
364
301
|
}
|
|
365
302
|
}
|
|
@@ -388,6 +325,7 @@ class V2StyleDexService {
|
|
|
388
325
|
slippage,
|
|
389
326
|
expectedAmountOut: best.amountOut.toString(),
|
|
390
327
|
minAmountOut,
|
|
328
|
+
pair: best.pair,
|
|
391
329
|
};
|
|
392
330
|
const response = {
|
|
393
331
|
amountIn: amountInBig.toString(),
|
|
@@ -403,14 +341,10 @@ class V2StyleDexService {
|
|
|
403
341
|
return response;
|
|
404
342
|
}
|
|
405
343
|
catch (error) {
|
|
406
|
-
const
|
|
407
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.PRICE_NOT_FOUND,
|
|
344
|
+
const errorMessage = error?.message || String(error);
|
|
345
|
+
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.PRICE_NOT_FOUND, errorMessage);
|
|
408
346
|
}
|
|
409
347
|
}
|
|
410
|
-
/**
|
|
411
|
-
* Build an executable quote (tx data + approval info).
|
|
412
|
-
* Uses `_decideUniV2SwapMethodWithOverride` to select the correct router method (fee-on-transfer safe).
|
|
413
|
-
*/
|
|
414
348
|
async fetchQuote(params) {
|
|
415
349
|
const { from, receiver, tokenIn, tokenOut, amountIn, networkIn, networkOut, slippage, overrideParamsV2Dex, } = params;
|
|
416
350
|
if (!from || !receiver) {
|
|
@@ -428,21 +362,6 @@ class V2StyleDexService {
|
|
|
428
362
|
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `No V2-style deployments configured for network ${networkIn}.`);
|
|
429
363
|
}
|
|
430
364
|
try {
|
|
431
|
-
// Optional native-liquidity sanity check (mirror of V3 behavior)
|
|
432
|
-
if (overrideParamsV2Dex &&
|
|
433
|
-
overrideParamsV2Dex.nativePrice &&
|
|
434
|
-
overrideParamsV2Dex.tokenInPrice &&
|
|
435
|
-
overrideParamsV2Dex.tokenInDecimals) {
|
|
436
|
-
console.log(`WARNING: SHOULD NOT BE LOGGING IN PROD CODE`);
|
|
437
|
-
await this._validateNativeLiquidityV2({
|
|
438
|
-
tokenIn: tokenIn,
|
|
439
|
-
networkIn: networkIn,
|
|
440
|
-
dexes: deployments.map(d => d.dex),
|
|
441
|
-
nativePrice: overrideParamsV2Dex.nativePrice,
|
|
442
|
-
tokenInPrice: overrideParamsV2Dex.tokenInPrice,
|
|
443
|
-
tokenInDecimals: overrideParamsV2Dex.tokenInDecimals,
|
|
444
|
-
});
|
|
445
|
-
}
|
|
446
365
|
const formattedTokens = this._validatePath(networkIn, [
|
|
447
366
|
(0, viem_1.getAddress)(tokenIn),
|
|
448
367
|
(0, viem_1.getAddress)(tokenOut),
|
|
@@ -484,6 +403,11 @@ class V2StyleDexService {
|
|
|
484
403
|
const isNativeTokenOut = (0, is_native_1.isNative)(tokenOut);
|
|
485
404
|
const bestFactory = (0, viem_1.getAddress)(bestDeployment.factory);
|
|
486
405
|
const minAmountOut = priceResponse.protocolResponse.minAmountOut;
|
|
406
|
+
const overrideCandidate = overrideParamsV2Dex?.pairCandidate;
|
|
407
|
+
const overridePair = overrideCandidate?.pair;
|
|
408
|
+
if (!overridePair) {
|
|
409
|
+
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'Override pair is required for quote building.');
|
|
410
|
+
}
|
|
487
411
|
const functionDetails = await this._decideUniV2SwapMethodWithOverride({
|
|
488
412
|
factoryAddress: bestFactory,
|
|
489
413
|
tokenIn: path[0],
|
|
@@ -491,7 +415,7 @@ class V2StyleDexService {
|
|
|
491
415
|
amountIn: amountInBig,
|
|
492
416
|
provider,
|
|
493
417
|
isNative: isNativeTokenIn,
|
|
494
|
-
overridePair
|
|
418
|
+
overridePair,
|
|
495
419
|
});
|
|
496
420
|
const value = isNativeTokenIn ? amountInBig : BigInt(0);
|
|
497
421
|
const fn = this._selectSwapFunction({
|
|
@@ -572,217 +496,6 @@ class V2StyleDexService {
|
|
|
572
496
|
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.QUOTE_NOT_FOUND, formattedError, { cause: error });
|
|
573
497
|
}
|
|
574
498
|
}
|
|
575
|
-
// NEW: Fast-quote for a known V2 pair using on-chain reserves (Uniswap V2 formula)
|
|
576
|
-
async _fetchKnownPairPriceV2(params) {
|
|
577
|
-
const { network, tokenInForQuote, tokenOutForQuote, amountInBI, pair } = params;
|
|
578
|
-
const client = this._rpcs[network];
|
|
579
|
-
if (!client) {
|
|
580
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `No RPC client configured for chainId ${network}`);
|
|
581
|
-
}
|
|
582
|
-
const { token0, token1, deployment } = await this._resolveV2PairDeploymentFast(network, pair);
|
|
583
|
-
// Validate direction
|
|
584
|
-
const inLower = (0, viem_1.getAddress)(tokenInForQuote).toLowerCase();
|
|
585
|
-
const outLower = (0, viem_1.getAddress)(tokenOutForQuote).toLowerCase();
|
|
586
|
-
const t0 = token0.toLowerCase();
|
|
587
|
-
const t1 = token1.toLowerCase();
|
|
588
|
-
const directionValid = (inLower === t0 && outLower === t1) || (inLower === t1 && outLower === t0);
|
|
589
|
-
if (!directionValid) {
|
|
590
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `Supplied pair/token direction mismatch. Pair ${pair} tokens are ${token0}/${token1}; received ${tokenInForQuote}/${tokenOutForQuote}`);
|
|
591
|
-
}
|
|
592
|
-
// Read reserves
|
|
593
|
-
const [r0, r1] = (await client.readContract({
|
|
594
|
-
address: pair,
|
|
595
|
-
abi: uniswapV2_pair_abi_1.uniswapV2PairAbi,
|
|
596
|
-
functionName: 'getReserves',
|
|
597
|
-
}));
|
|
598
|
-
const [reserveIn, reserveOut] = token0.toLowerCase() === inLower ? [r0, r1] : [r1, r0];
|
|
599
|
-
if (reserveIn === 0n || reserveOut === 0n) {
|
|
600
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.PRICE_NOT_FOUND, `No liquidity in supplied pair ${pair}`);
|
|
601
|
-
}
|
|
602
|
-
// Uniswap V2 0.30% fee
|
|
603
|
-
const amountInWithFee = amountInBI * 997n;
|
|
604
|
-
const numerator = amountInWithFee * reserveOut;
|
|
605
|
-
const denominator = reserveIn * 1000n + amountInWithFee;
|
|
606
|
-
if (denominator === 0n) {
|
|
607
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.PRICE_NOT_FOUND, `Invalid reserves math for pair ${pair}`);
|
|
608
|
-
}
|
|
609
|
-
const amountOut = numerator / denominator;
|
|
610
|
-
const dexKey = (0, dex_deployment_key_1.dexDeploymentKey)({
|
|
611
|
-
dex: deployment.dex,
|
|
612
|
-
router: deployment.router,
|
|
613
|
-
network,
|
|
614
|
-
});
|
|
615
|
-
return {
|
|
616
|
-
amountOut,
|
|
617
|
-
payload: {
|
|
618
|
-
dex: dexKey,
|
|
619
|
-
router: deployment.router,
|
|
620
|
-
method: 'Pair.getReserves',
|
|
621
|
-
amountOut: amountOut.toString(),
|
|
622
|
-
notes: `Known pair fast path (${pair}).`,
|
|
623
|
-
},
|
|
624
|
-
};
|
|
625
|
-
}
|
|
626
|
-
// NEW: Resolve V2 pair -> tokens/factory/deployment in O(1) calls
|
|
627
|
-
async _resolveV2PairDeploymentFast(network, pair) {
|
|
628
|
-
const client = this._rpcs[network];
|
|
629
|
-
if (!client) {
|
|
630
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `No RPC client configured for chainId ${network}`);
|
|
631
|
-
}
|
|
632
|
-
const [t0, t1, fac] = (await client.multicall({
|
|
633
|
-
allowFailure: false,
|
|
634
|
-
contracts: [
|
|
635
|
-
{ address: pair, abi: uniswapV2_pair_abi_1.uniswapV2PairAbi, functionName: 'token0' },
|
|
636
|
-
{ address: pair, abi: uniswapV2_pair_abi_1.uniswapV2PairAbi, functionName: 'token1' },
|
|
637
|
-
{ address: pair, abi: uniswapV2_pair_abi_1.uniswapV2PairAbi, functionName: 'factory' },
|
|
638
|
-
],
|
|
639
|
-
}));
|
|
640
|
-
if (t0.status !== 'success' || t1.status !== 'success' || fac.status !== 'success') {
|
|
641
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `Failed to read pair data from ${pair} on chain ${network}`);
|
|
642
|
-
}
|
|
643
|
-
const token0 = (0, viem_1.getAddress)(t0.result);
|
|
644
|
-
const token1 = (0, viem_1.getAddress)(t1.result);
|
|
645
|
-
const factory = (0, viem_1.getAddress)(fac.result);
|
|
646
|
-
const deployments = V2StyleDexService.deployments[network] ?? [];
|
|
647
|
-
const matched = deployments.find(d => d.factory?.toLowerCase() === factory.toLowerCase());
|
|
648
|
-
if (!matched) {
|
|
649
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `Pair ${pair} factory ${factory} does not match any configured V2 deployments on chain ${network}`);
|
|
650
|
-
}
|
|
651
|
-
return {
|
|
652
|
-
token0,
|
|
653
|
-
token1,
|
|
654
|
-
factory,
|
|
655
|
-
deployment: {
|
|
656
|
-
dex: matched.dex,
|
|
657
|
-
router: (0, viem_1.getAddress)(matched.router),
|
|
658
|
-
factory: (0, viem_1.getAddress)(matched.factory),
|
|
659
|
-
// if your deployment type carries initCodeHash, surface it here for diagnostics
|
|
660
|
-
initCodeHash: matched?.initHash,
|
|
661
|
-
},
|
|
662
|
-
};
|
|
663
|
-
}
|
|
664
|
-
// NEW: Native-liquidity validation for V2 (mirror of V3 behavior)
|
|
665
|
-
async _validateNativeLiquidityV2(params) {
|
|
666
|
-
const { tokenIn, networkIn, dexes, nativePrice, tokenInPrice, tokenInDecimals } = params;
|
|
667
|
-
// Stable & wrapped native mappings must exist in your constants (same as V3)
|
|
668
|
-
const stable = constants_1.networkStablecoins[networkIn];
|
|
669
|
-
if (!stable) {
|
|
670
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `No stablecoin mapping for chainId ${networkIn}`);
|
|
671
|
-
}
|
|
672
|
-
const usdcEntry = stable.usdc;
|
|
673
|
-
const usdtEntry = stable.usdt;
|
|
674
|
-
const wrappedNative = wrapped_native_1.wrappedNativeTokens[networkIn];
|
|
675
|
-
const tokenInAddr = (0, viem_1.getAddress)(tokenIn);
|
|
676
|
-
const baseTokenAddrs = [wrappedNative, usdcEntry?.address, usdtEntry?.address]
|
|
677
|
-
.filter((a) => !!a)
|
|
678
|
-
.filter(a => !(0, is_native_1.isNative)(a))
|
|
679
|
-
.map(a => (0, viem_1.getAddress)(a))
|
|
680
|
-
.filter(a => a !== tokenInAddr);
|
|
681
|
-
if (baseTokenAddrs.length === 0) {
|
|
682
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `No valid base tokens (WETH/USDC/USDT) for liquidity check on chainId ${networkIn}`);
|
|
683
|
-
}
|
|
684
|
-
const deployments = (V2StyleDexService.deployments[networkIn] ?? []).filter(d => dexes.includes(d.dex));
|
|
685
|
-
if (!deployments.length) {
|
|
686
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `No V2-style deployments configured for network ${networkIn} (requested: ${dexes.join(', ')})`);
|
|
687
|
-
}
|
|
688
|
-
const client = this._rpcs[networkIn];
|
|
689
|
-
if (!client) {
|
|
690
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `No RPC client configured for chainId ${networkIn}`);
|
|
691
|
-
}
|
|
692
|
-
const isWrappedNative = (addr) => !!wrappedNative &&
|
|
693
|
-
(0, viem_1.getAddress)(addr).toLowerCase() === (0, viem_1.getAddress)(wrappedNative).toLowerCase();
|
|
694
|
-
const stableAddrLower = new Set([
|
|
695
|
-
usdcEntry?.address ? (0, viem_1.getAddress)(usdcEntry.address).toLowerCase() : '',
|
|
696
|
-
usdtEntry?.address ? (0, viem_1.getAddress)(usdtEntry.address).toLowerCase() : '',
|
|
697
|
-
].filter(Boolean));
|
|
698
|
-
const isStable = (addr) => stableAddrLower.has(addr.toLowerCase());
|
|
699
|
-
const getBaseDecimals = (base) => {
|
|
700
|
-
const lower = base.toLowerCase();
|
|
701
|
-
if (usdcEntry && (0, viem_1.getAddress)(usdcEntry.address).toLowerCase() === lower)
|
|
702
|
-
return usdcEntry.decimals;
|
|
703
|
-
if (usdtEntry && (0, viem_1.getAddress)(usdtEntry.address).toLowerCase() === lower)
|
|
704
|
-
return usdtEntry.decimals;
|
|
705
|
-
if (isWrappedNative(base))
|
|
706
|
-
return 18;
|
|
707
|
-
return 18;
|
|
708
|
-
};
|
|
709
|
-
const getBasePriceUSD = (base) => (isStable(base) ? 1 : nativePrice);
|
|
710
|
-
const candidates = [];
|
|
711
|
-
for (const d of deployments) {
|
|
712
|
-
const initCodeHash = d?.initHash;
|
|
713
|
-
if (!initCodeHash) {
|
|
714
|
-
// cannot construct deterministic pair addr without init code hash
|
|
715
|
-
continue;
|
|
716
|
-
}
|
|
717
|
-
for (const base of baseTokenAddrs) {
|
|
718
|
-
const [token0, token1] = (0, sort_addresses_1.sortAddresses)(tokenInAddr, base);
|
|
719
|
-
const pairAddr = this._computeV2PairAddress({
|
|
720
|
-
factory: (0, viem_1.getAddress)(d.factory),
|
|
721
|
-
initCodeHash,
|
|
722
|
-
tokenA: token0,
|
|
723
|
-
tokenB: token1,
|
|
724
|
-
});
|
|
725
|
-
candidates.push({ pair: (0, viem_1.getAddress)(pairAddr), baseToken: (0, viem_1.getAddress)(base), dex: d.dex });
|
|
726
|
-
}
|
|
727
|
-
}
|
|
728
|
-
if (!candidates.length) {
|
|
729
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `No candidate V2 pairs could be constructed for chainId ${networkIn}`);
|
|
730
|
-
}
|
|
731
|
-
// Read reserves for all candidates
|
|
732
|
-
const contracts = candidates.map(c => ({
|
|
733
|
-
address: c.pair,
|
|
734
|
-
abi: uniswapV2_pair_abi_1.uniswapV2PairAbi,
|
|
735
|
-
functionName: 'getReserves',
|
|
736
|
-
args: [],
|
|
737
|
-
}));
|
|
738
|
-
const reservesResults = await client.multicall({
|
|
739
|
-
allowFailure: true,
|
|
740
|
-
contracts,
|
|
741
|
-
});
|
|
742
|
-
const tvls = [];
|
|
743
|
-
for (let i = 0; i < candidates.length; i++) {
|
|
744
|
-
const cand = candidates[i];
|
|
745
|
-
const res = reservesResults[i];
|
|
746
|
-
if (!res || res.status !== 'success' || !cand)
|
|
747
|
-
continue;
|
|
748
|
-
const [r0, r1] = res.result;
|
|
749
|
-
// Need to know token0 order to map reserves; fetch token0 for this pair
|
|
750
|
-
const token0Addr = (await client.readContract({
|
|
751
|
-
address: cand.pair,
|
|
752
|
-
abi: uniswapV2_pair_abi_1.uniswapV2PairAbi,
|
|
753
|
-
functionName: 'token0',
|
|
754
|
-
}));
|
|
755
|
-
const token0Lower = (0, viem_1.getAddress)(token0Addr).toLowerCase();
|
|
756
|
-
const isTokenInToken0 = token0Lower === (0, viem_1.getAddress)(tokenInAddr).toLowerCase();
|
|
757
|
-
const reserveIn = isTokenInToken0 ? r0 : r1;
|
|
758
|
-
const reserveBase = isTokenInToken0 ? r1 : r0;
|
|
759
|
-
const tokenInAmt = Number(reserveIn) / 10 ** tokenInDecimals;
|
|
760
|
-
const baseAmt = Number(reserveBase) / 10 ** getBaseDecimals(cand.baseToken);
|
|
761
|
-
const usdValue = tokenInAmt * tokenInPrice + baseAmt * getBasePriceUSD(cand.baseToken);
|
|
762
|
-
tvls.push({
|
|
763
|
-
pair: cand.pair,
|
|
764
|
-
baseToken: cand.baseToken,
|
|
765
|
-
usdValue,
|
|
766
|
-
baseIsNative: isWrappedNative(cand.baseToken) ?? false,
|
|
767
|
-
});
|
|
768
|
-
}
|
|
769
|
-
if (!tvls.length) {
|
|
770
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.PRICE_NOT_FOUND, `No liquidity detected for ${tokenIn} on chainId ${networkIn} across requested dexes: ${dexes.join(', ')}`);
|
|
771
|
-
}
|
|
772
|
-
tvls.sort((a, b) => b.usdValue - a.usdValue);
|
|
773
|
-
const top = tvls[0];
|
|
774
|
-
if (!top) {
|
|
775
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.PRICE_NOT_FOUND, `No liquidity detected for ${tokenIn} on chainId ${networkIn} across requested dexes: ${dexes.join(', ')}`);
|
|
776
|
-
}
|
|
777
|
-
if (isStable(top.baseToken)) {
|
|
778
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.PRICE_NOT_FOUND, `Most liquid pool for ${tokenIn} on chain ${networkIn} is against a stablecoin, not native.`);
|
|
779
|
-
}
|
|
780
|
-
if (!top.baseIsNative) {
|
|
781
|
-
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.PRICE_NOT_FOUND, `Most liquid pool for ${tokenIn} is not against the native token.`);
|
|
782
|
-
}
|
|
783
|
-
// success
|
|
784
|
-
return;
|
|
785
|
-
}
|
|
786
499
|
_selectSwapFunction(params) {
|
|
787
500
|
const { deployment, decision, isNativeIn, isNativeOut, network } = params;
|
|
788
501
|
const isAvaxEdgecase = this._isAvaxEdgecase(deployment, network);
|
|
@@ -856,6 +569,40 @@ class V2StyleDexService {
|
|
|
856
569
|
return { decision: 'supportingFeeOnTransfer', reason: 'erc20 input' };
|
|
857
570
|
}
|
|
858
571
|
}
|
|
572
|
+
_buildFastRoutePriceResponse(params) {
|
|
573
|
+
const { networkIn, networkOut, tokenIn, tokenOut, amountIn, slippage, deployments, overrideDex, overrideAmountOutMin, overridePair, } = params;
|
|
574
|
+
// route using the router from the matching dex deployment
|
|
575
|
+
const chosenRouter = deployments.find(d => d.dex === overrideDex)?.router;
|
|
576
|
+
if (!chosenRouter) {
|
|
577
|
+
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `No router found for dex ${overrideDex} on chainId ${networkIn}`);
|
|
578
|
+
}
|
|
579
|
+
const amountInBig = BigInt(amountIn);
|
|
580
|
+
const path = [(0, viem_1.getAddress)(tokenIn), (0, viem_1.getAddress)(tokenOut)];
|
|
581
|
+
const uniV2PriceResponse = {
|
|
582
|
+
dex: (0, dex_deployment_key_1.dexDeploymentKey)({
|
|
583
|
+
dex: overrideDex,
|
|
584
|
+
router: (0, viem_1.getAddress)(chosenRouter),
|
|
585
|
+
network: networkIn,
|
|
586
|
+
}),
|
|
587
|
+
route: [(0, viem_1.getAddress)(path[0]), (0, viem_1.getAddress)(path[1])],
|
|
588
|
+
router: (0, viem_1.getAddress)(chosenRouter),
|
|
589
|
+
slippage,
|
|
590
|
+
expectedAmountOut: overrideAmountOutMin,
|
|
591
|
+
minAmountOut: overrideAmountOutMin,
|
|
592
|
+
pair: (0, viem_1.getAddress)(overridePair),
|
|
593
|
+
};
|
|
594
|
+
return {
|
|
595
|
+
amountIn: amountInBig.toString(),
|
|
596
|
+
amountOut: overrideAmountOutMin,
|
|
597
|
+
protocol: this.protocol,
|
|
598
|
+
networkIn,
|
|
599
|
+
networkOut,
|
|
600
|
+
tokenIn,
|
|
601
|
+
tokenOut,
|
|
602
|
+
slippage,
|
|
603
|
+
protocolResponse: uniV2PriceResponse,
|
|
604
|
+
};
|
|
605
|
+
}
|
|
859
606
|
_mergeDeployments(base, extras) {
|
|
860
607
|
const norm = (addr) => (0, viem_1.getAddress)(addr);
|
|
861
608
|
// Work on normalized copies
|
|
@@ -933,23 +680,6 @@ class V2StyleDexService {
|
|
|
933
680
|
tokenOut,
|
|
934
681
|
};
|
|
935
682
|
}
|
|
936
|
-
_computeV2PairAddress(params) {
|
|
937
|
-
const { factory, initCodeHash, tokenA, tokenB } = params;
|
|
938
|
-
const [token0, token1] = (0, sort_addresses_1.sortAddresses)(tokenA, tokenB);
|
|
939
|
-
// from (factory) as bytes
|
|
940
|
-
const from = (0, viem_1.toBytes)((0, viem_1.getAddress)(factory));
|
|
941
|
-
// salt = keccak256(abi.encodePacked(address, address))
|
|
942
|
-
const saltHex = (0, viem_1.keccak256)((0, viem_1.encodePacked)(['address', 'address'], [token0, token1]));
|
|
943
|
-
const salt = (0, viem_1.toBytes)(saltHex);
|
|
944
|
-
// init code hash (pair creation code hash) as bytes
|
|
945
|
-
const bytecodeHash = (0, viem_1.toBytes)(initCodeHash);
|
|
946
|
-
// keccak256( 0xff ++ factory ++ salt ++ init_code_hash )
|
|
947
|
-
const create2Input = (0, viem_1.concat)([(0, viem_1.toBytes)('0xff'), from, salt, bytecodeHash]);
|
|
948
|
-
const create2Hash = (0, viem_1.keccak256)(create2Input);
|
|
949
|
-
// Take the last 20 bytes, then checksum it to an Address
|
|
950
|
-
const pair = (0, viem_1.getAddress)((0, viem_1.slice)(create2Hash, 12)); // drop first 12 bytes -> 20 bytes left
|
|
951
|
-
return pair;
|
|
952
|
-
}
|
|
953
683
|
_getRouterAbi(dex, network) {
|
|
954
684
|
if (this._isAvaxEdgecase(dex, network))
|
|
955
685
|
return avax_uniswapv2_router_abi_1.avaxUniswapV2RouterAbi;
|
|
@@ -959,154 +689,8 @@ class V2StyleDexService {
|
|
|
959
689
|
}
|
|
960
690
|
}
|
|
961
691
|
exports.V2StyleDexService = V2StyleDexService;
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
router: '0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D',
|
|
967
|
-
factory: '0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f',
|
|
968
|
-
initHash: '0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f',
|
|
969
|
-
},
|
|
970
|
-
{
|
|
971
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.SUSHISWAP_V2,
|
|
972
|
-
router: '0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f',
|
|
973
|
-
factory: '0xc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac',
|
|
974
|
-
initHash: '0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303',
|
|
975
|
-
},
|
|
976
|
-
{
|
|
977
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.PANCAKESWAP_V2,
|
|
978
|
-
router: '0xEfF92A263d31888d860bD50809A8D171709b7b1c',
|
|
979
|
-
factory: '0x1097053Fd2ea711dad45caCcc45EfF7548fCB362',
|
|
980
|
-
initHash: '0x00fb7f630766e6a796048ea87d01acd3068e8ff67d078148a3fa3f4a84f69bd5',
|
|
981
|
-
},
|
|
982
|
-
],
|
|
983
|
-
[enums_1.ChainIdEnum.BSC]: [
|
|
984
|
-
{
|
|
985
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.PANCAKESWAP_V2,
|
|
986
|
-
router: '0x10ED43C718714eb63d5aA57B78B54704E256024E',
|
|
987
|
-
factory: '0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73',
|
|
988
|
-
initHash: '0x00fb7f630766e6a796048ea87d01acd3068e8ff67d078148a3fa3f4a84f69bd5',
|
|
989
|
-
},
|
|
990
|
-
{
|
|
991
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.UNISWAP_V2,
|
|
992
|
-
router: '0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24',
|
|
993
|
-
factory: '0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6',
|
|
994
|
-
initHash: '0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f',
|
|
995
|
-
},
|
|
996
|
-
{
|
|
997
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.SUSHISWAP_V2,
|
|
998
|
-
router: '0x1b02da8cb0d097eb8d57a175b88c7d8b47997506',
|
|
999
|
-
factory: '0xc35dadb65012ec5796536bd9864ed8773abc74c4',
|
|
1000
|
-
initHash: '0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303',
|
|
1001
|
-
},
|
|
1002
|
-
],
|
|
1003
|
-
[enums_1.ChainIdEnum.POLYGON]: [
|
|
1004
|
-
{
|
|
1005
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.QUICKSWAP_V2,
|
|
1006
|
-
router: '0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff',
|
|
1007
|
-
factory: '0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32',
|
|
1008
|
-
initHash: '0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f',
|
|
1009
|
-
},
|
|
1010
|
-
{
|
|
1011
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.UNISWAP_V2,
|
|
1012
|
-
router: '0xedf6066a2b290C185783862C7F4776A2C8077AD1',
|
|
1013
|
-
factory: '0x9e5A52f57b3038F1B8EeE45F28b3C1967e22799C',
|
|
1014
|
-
initHash: '0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f',
|
|
1015
|
-
},
|
|
1016
|
-
{
|
|
1017
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.SUSHISWAP_V2,
|
|
1018
|
-
router: '0x1b02da8cb0d097eb8d57a175b88c7d8b47997506',
|
|
1019
|
-
factory: '0xc35dadb65012ec5796536bd9864ed8773abc74c4',
|
|
1020
|
-
initHash: '0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303',
|
|
1021
|
-
},
|
|
1022
|
-
],
|
|
1023
|
-
[enums_1.ChainIdEnum.AVALANCHE]: [
|
|
1024
|
-
{
|
|
1025
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.TRADERJOE_V2,
|
|
1026
|
-
router: '0x60aE616a2155Ee3d9A68541Ba4544862310933d4',
|
|
1027
|
-
factory: '0x9Ad6C38BE94206cA50bb0d90783181662f0Cfa10',
|
|
1028
|
-
initHash: '0x0bbca9af0511ad1a1da383135cf3a8d2ac620e549ef9f6ae3a4c33c2fed0af91',
|
|
1029
|
-
},
|
|
1030
|
-
{
|
|
1031
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.SUSHISWAP_V2,
|
|
1032
|
-
router: '0x1b02da8cb0d097eb8d57a175b88c7d8b47997506',
|
|
1033
|
-
factory: '0xc35dadb65012ec5796536bd9864ed8773abc74c4',
|
|
1034
|
-
initHash: '0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303',
|
|
1035
|
-
},
|
|
1036
|
-
{
|
|
1037
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.UNISWAP_V2,
|
|
1038
|
-
router: '0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24',
|
|
1039
|
-
factory: '0x9e5A52f57b3038F1B8EeE45F28b3C1967e22799C',
|
|
1040
|
-
initHash: '0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f',
|
|
1041
|
-
},
|
|
1042
|
-
{
|
|
1043
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.PANGOLIN_V2,
|
|
1044
|
-
router: '0xE54Ca86531e17Ef3616d22Ca28b0D458b6C89106',
|
|
1045
|
-
factory: '0xefa94DE7a4656D787667C749f7E1223D71E9FD88',
|
|
1046
|
-
initHash: '0x40231f6b438bce0797c9ada29b718a87ea0a5cea3fe9a771abdd76bd41a3e545',
|
|
1047
|
-
},
|
|
1048
|
-
],
|
|
1049
|
-
[enums_1.ChainIdEnum.ARBITRUM]: [
|
|
1050
|
-
{
|
|
1051
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.SUSHISWAP_V2,
|
|
1052
|
-
router: '0x1b02da8cb0d097eb8d57a175b88c7d8b47997506',
|
|
1053
|
-
factory: '0xc35dadb65012ec5796536bd9864ed8773abc74c4',
|
|
1054
|
-
initHash: '0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303',
|
|
1055
|
-
},
|
|
1056
|
-
{
|
|
1057
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.UNISWAP_V2,
|
|
1058
|
-
router: '0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24',
|
|
1059
|
-
factory: '0xf1D7CC64Fb4452F05c498126312eBE29f30Fbcf9',
|
|
1060
|
-
initHash: '0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f',
|
|
1061
|
-
},
|
|
1062
|
-
{
|
|
1063
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.PANCAKESWAP_V2,
|
|
1064
|
-
router: '0x10ED43C718714eb63d5aA57B78B54704E256024E',
|
|
1065
|
-
factory: '0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E',
|
|
1066
|
-
initHash: '0x00fb7f630766e6a796048ea87d01acd3068e8ff67d078148a3fa3f4a84f69bd5',
|
|
1067
|
-
},
|
|
1068
|
-
],
|
|
1069
|
-
[enums_1.ChainIdEnum.OPTIMISM]: [
|
|
1070
|
-
{
|
|
1071
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.SUSHISWAP_V2,
|
|
1072
|
-
router: '0x2abf469074dc0b54d793850807e6eb5faf2625b1',
|
|
1073
|
-
factory: '0xfbc12984689e5f15626bad03ad60160fe98b303c',
|
|
1074
|
-
initHash: '0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303',
|
|
1075
|
-
},
|
|
1076
|
-
{
|
|
1077
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.UNISWAP_V2,
|
|
1078
|
-
router: '0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2',
|
|
1079
|
-
factory: '0x0c3c1c532F1e39EdF36BE9Fe0bE1410313E074Bf',
|
|
1080
|
-
initHash: '0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f',
|
|
1081
|
-
},
|
|
1082
|
-
],
|
|
1083
|
-
[enums_1.ChainIdEnum.BASE]: [
|
|
1084
|
-
{
|
|
1085
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.SUSHISWAP_V2,
|
|
1086
|
-
router: '0x6bded42c6da8fbf0d2ba55b2fa120c5e0c8d7891',
|
|
1087
|
-
factory: '0x71524b4f93c58fcbf659783284e38825f0622859',
|
|
1088
|
-
initHash: '0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303',
|
|
1089
|
-
},
|
|
1090
|
-
{
|
|
1091
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.UNISWAP_V2,
|
|
1092
|
-
router: '0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24',
|
|
1093
|
-
factory: '0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6',
|
|
1094
|
-
initHash: '0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f',
|
|
1095
|
-
},
|
|
1096
|
-
{
|
|
1097
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.PANCAKESWAP_V2,
|
|
1098
|
-
router: '0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb',
|
|
1099
|
-
factory: '0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E',
|
|
1100
|
-
initHash: '0x00fb7f630766e6a796048ea87d01acd3068e8ff67d078148a3fa3f4a84f69bd5',
|
|
1101
|
-
},
|
|
1102
|
-
],
|
|
1103
|
-
[enums_1.ChainIdEnum.HYPEREVM]: [
|
|
1104
|
-
{
|
|
1105
|
-
dex: v2_dex_types_1.UniswapV2StyleDexEnum.HYPERSWAP_V2,
|
|
1106
|
-
router: '0xb4a9C4e6Ea8E2191d2FA5B380452a634Fb21240A',
|
|
1107
|
-
factory: '0x724412C00059bf7d6ee7d4a1d0D5cd4de3ea1C48',
|
|
1108
|
-
initHash: '0xc83d9df19c8c8a0a1229bd3122cbb86fd8ff56f79cc6781c15999d39425466e9',
|
|
1109
|
-
},
|
|
1110
|
-
],
|
|
1111
|
-
};
|
|
692
|
+
/**
|
|
693
|
+
* The deployments of V2-style DEXes on various chains
|
|
694
|
+
*/
|
|
695
|
+
V2StyleDexService.deployments = v2_dex_deployments_1.uniV2DexDeployments;
|
|
1112
696
|
//# sourceMappingURL=v2-dex.service.js.map
|