genius-intents 0.18.2 → 0.20.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 +73 -3
- 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 +11 -2
- package/dist/genius-intents.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -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/algebra-factory.abi.d.ts +3 -0
- package/dist/lib/dex/algebra/algebra-factory.abi.d.ts.map +1 -0
- package/dist/lib/dex/algebra/algebra-factory.abi.js +34 -0
- package/dist/lib/dex/algebra/algebra-factory.abi.js.map +1 -0
- package/dist/lib/dex/algebra/algebra-quoter.abi.d.ts +3 -0
- package/dist/lib/dex/algebra/algebra-quoter.abi.d.ts.map +1 -0
- package/dist/lib/dex/algebra/algebra-quoter.abi.js +135 -0
- package/dist/lib/dex/algebra/algebra-quoter.abi.js.map +1 -0
- package/dist/lib/dex/algebra/algebra-router.abi.d.ts +3 -0
- package/dist/lib/dex/algebra/algebra-router.abi.d.ts.map +1 -0
- package/dist/lib/dex/algebra/algebra-router.abi.js +273 -0
- package/dist/lib/dex/algebra/algebra-router.abi.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 +265 -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/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 +189 -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/slipstream-quoter.abi.d.ts +3 -0
- package/dist/lib/dex/uniswapv3/slipstream-quoter.abi.d.ts.map +1 -0
- package/dist/lib/dex/uniswapv3/slipstream-quoter.abi.js +30 -0
- package/dist/lib/dex/uniswapv3/slipstream-quoter.abi.js.map +1 -0
- package/dist/lib/dex/uniswapv3/slipstream-router.abi.d.ts +3 -0
- package/dist/lib/dex/uniswapv3/slipstream-router.abi.d.ts.map +1 -0
- package/dist/lib/dex/uniswapv3/slipstream-router.abi.js +45 -0
- package/dist/lib/dex/uniswapv3/slipstream-router.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/aerodrome-factory.abi.d.ts +3 -0
- package/dist/lib/dex/ve33/aerodrome-factory.abi.d.ts.map +1 -0
- package/dist/lib/dex/ve33/aerodrome-factory.abi.js +17 -0
- package/dist/lib/dex/ve33/aerodrome-factory.abi.js.map +1 -0
- package/dist/lib/dex/ve33/aerodrome-router.abi.d.ts +3 -0
- package/dist/lib/dex/ve33/aerodrome-router.abi.d.ts.map +1 -0
- package/dist/lib/dex/ve33/aerodrome-router.abi.js +119 -0
- package/dist/lib/dex/ve33/aerodrome-router.abi.js.map +1 -0
- package/dist/lib/dex/ve33/blackhole-router.abi.d.ts +3 -0
- package/dist/lib/dex/ve33/blackhole-router.abi.d.ts.map +1 -0
- package/dist/lib/dex/ve33/blackhole-router.abi.js +1492 -0
- package/dist/lib/dex/ve33/blackhole-router.abi.js.map +1 -0
- package/dist/lib/dex/ve33/pharaoh-router.abi.d.ts +3 -0
- package/dist/lib/dex/ve33/pharaoh-router.abi.d.ts.map +1 -0
- package/dist/lib/dex/ve33/pharaoh-router.abi.js +502 -0
- package/dist/lib/dex/ve33/pharaoh-router.abi.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/lib/dex/ve33/velodrome-router.abi.d.ts +3 -0
- package/dist/lib/dex/ve33/velodrome-router.abi.d.ts.map +1 -0
- package/dist/lib/dex/ve33/velodrome-router.abi.js +634 -0
- package/dist/lib/dex/ve33/velodrome-router.abi.js.map +1 -0
- package/dist/protocols/algebra/algebra.service.d.ts +63 -0
- package/dist/protocols/algebra/algebra.service.d.ts.map +1 -0
- package/dist/protocols/algebra/algebra.service.js +532 -0
- package/dist/protocols/algebra/algebra.service.js.map +1 -0
- package/dist/protocols/algebra/algebra.types.d.ts +98 -0
- package/dist/protocols/algebra/algebra.types.d.ts.map +1 -0
- package/dist/protocols/algebra/algebra.types.js +9 -0
- package/dist/protocols/algebra/algebra.types.js.map +1 -0
- package/dist/protocols/algebra/index.d.ts +3 -0
- package/dist/protocols/algebra/index.d.ts.map +1 -0
- package/dist/protocols/algebra/index.js +21 -0
- package/dist/protocols/algebra/index.js.map +1 -0
- package/dist/protocols/four-meme/four-meme.service.d.ts.map +1 -1
- package/dist/protocols/four-meme/four-meme.service.js +49 -57
- package/dist/protocols/four-meme/four-meme.service.js.map +1 -1
- package/dist/protocols/four-meme/four-meme.types.d.ts +8 -3
- 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 +323 -0
- package/dist/protocols/lfj/lfj.service.js.map +1 -0
- package/dist/protocols/lfj/lfj.types.d.ts +136 -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/okx/okx.service.d.ts +9 -8
- package/dist/protocols/okx/okx.service.d.ts.map +1 -1
- package/dist/protocols/okx/okx.service.js +133 -143
- package/dist/protocols/okx/okx.service.js.map +1 -1
- package/dist/protocols/okx/okx.types.d.ts +9 -3
- package/dist/protocols/okx/okx.types.d.ts.map +1 -1
- package/dist/protocols/relay/relay.service.d.ts +3 -0
- package/dist/protocols/relay/relay.service.d.ts.map +1 -1
- package/dist/protocols/relay/relay.service.js +7 -1
- package/dist/protocols/relay/relay.service.js.map +1 -1
- 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 -16
- package/dist/protocols/v2-dex/v2-dex.service.d.ts.map +1 -1
- package/dist/protocols/v2-dex/v2-dex.service.js +107 -530
- package/dist/protocols/v2-dex/v2-dex.service.js.map +1 -1
- package/dist/protocols/v2-dex/v2-dex.types.d.ts +32 -32
- 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 -76
- package/dist/protocols/v3-dex/v3-dex.service.d.ts.map +1 -1
- package/dist/protocols/v3-dex/v3-dex.service.js +387 -1196
- package/dist/protocols/v3-dex/v3-dex.service.js.map +1 -1
- package/dist/protocols/v3-dex/v3-dex.types.d.ts +154 -365
- package/dist/protocols/v3-dex/v3-dex.types.d.ts.map +1 -1
- package/dist/protocols/v3-dex/v3-dex.types.js +13 -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 +3 -0
- package/dist/protocols/ve33/index.d.ts.map +1 -0
- package/dist/protocols/ve33/index.js +21 -0
- package/dist/protocols/ve33/index.js.map +1 -0
- package/dist/protocols/ve33/ve33.handlers.d.ts +3 -0
- package/dist/protocols/ve33/ve33.handlers.d.ts.map +1 -0
- package/dist/protocols/ve33/ve33.handlers.js +187 -0
- package/dist/protocols/ve33/ve33.handlers.js.map +1 -0
- package/dist/protocols/ve33/ve33.service.d.ts +31 -0
- package/dist/protocols/ve33/ve33.service.d.ts.map +1 -0
- package/dist/protocols/ve33/ve33.service.js +488 -0
- package/dist/protocols/ve33/ve33.service.js.map +1 -0
- package/dist/protocols/ve33/ve33.types.d.ts +137 -0
- package/dist/protocols/ve33/ve33.types.d.ts.map +1 -0
- package/dist/protocols/ve33/ve33.types.js +16 -0
- package/dist/protocols/ve33/ve33.types.js.map +1 -0
- 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 +8 -3
- package/dist/types/enums.d.ts.map +1 -1
- package/dist/types/enums.js +5 -0
- package/dist/types/enums.js.map +1 -1
- package/dist/types/price-params.d.ts +12 -3
- package/dist/types/price-params.d.ts.map +1 -1
- package/dist/types/price-response.d.ts +7 -4
- package/dist/types/price-response.d.ts.map +1 -1
- package/dist/types/quote-response.d.ts +6 -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/dex-deployment-key.d.ts +14 -0
- package/dist/utils/dex-deployment-key.d.ts.map +1 -0
- package/dist/utils/dex-deployment-key.js +17 -0
- package/dist/utils/dex-deployment-key.js.map +1 -0
- package/dist/utils/min-amount-out.d.ts +12 -0
- package/dist/utils/min-amount-out.d.ts.map +1 -0
- package/dist/utils/min-amount-out.js +18 -0
- package/dist/utils/min-amount-out.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 +3 -0
- package/dist/utils/sort-addresses.d.ts.map +1 -0
- package/dist/utils/sort-addresses.js +16 -0
- package/dist/utils/sort-addresses.js.map +1 -0
- 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
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Ve33PairAdapter = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const ethers_1 = require("ethers");
|
|
6
|
+
const ve33_1 = require("../../../../protocols/ve33");
|
|
7
|
+
const min_amount_out_1 = require("../../../../utils/min-amount-out");
|
|
8
|
+
const norm_dex_token_1 = require("../../../../utils/norm-dex-token");
|
|
9
|
+
const ve33_dex_deployments_1 = require("../../ve33/ve33-dex-deployments");
|
|
10
|
+
const aerodrome_router_abi_1 = require("../../ve33/aerodrome-router.abi");
|
|
11
|
+
const chainId_to_chain_1 = require("../../../../utils/chainId-to-chain");
|
|
12
|
+
const enums_1 = require("../../../../types/enums");
|
|
13
|
+
const sort_addresses_1 = require("../../../../utils/sort-addresses");
|
|
14
|
+
const constants_1 = require("../../../../utils/constants");
|
|
15
|
+
const utils_1 = require("../../../../utils");
|
|
16
|
+
class Ve33PairAdapter {
|
|
17
|
+
constructor(config) {
|
|
18
|
+
/**
|
|
19
|
+
* Aerodrome and Velodrome pair implementation addresses
|
|
20
|
+
*/
|
|
21
|
+
this.aerodromeImplementation = '0xA4e46b4f701c62e14DF11B48dCe76A7d793CD6d7';
|
|
22
|
+
this.velodromeImplementation = '0x95885Af5492195F0754bE71AD1545Fe81364E531';
|
|
23
|
+
/**
|
|
24
|
+
* Blackhole pair generator address and code hash
|
|
25
|
+
*/
|
|
26
|
+
this.blackholeGenerator = '0x34098b39Ec2E2C1A8F815bb8fA840D0D389afE1c';
|
|
27
|
+
this.blackholeInitCodeHash = '0x61baacdf5847f8dc7ba5ec668422f0890d1fcf81c16dc7b2b3815952bdd20501';
|
|
28
|
+
/**
|
|
29
|
+
* Pharaoh pair generator address and code hash
|
|
30
|
+
*/
|
|
31
|
+
this.pharaohPairCodeHash = '0xbf2404274de2b11f05e5aebd49e508de933034cb5fa2d0ac3de8cbd4bcef47dc';
|
|
32
|
+
this.dexes = [
|
|
33
|
+
ve33_1.Ve33StyleDeploymentEnum.AERODROME,
|
|
34
|
+
ve33_1.Ve33StyleDeploymentEnum.VELODROME,
|
|
35
|
+
ve33_1.Ve33StyleDeploymentEnum.BLACKHOLE,
|
|
36
|
+
ve33_1.Ve33StyleDeploymentEnum.PHARAOH,
|
|
37
|
+
];
|
|
38
|
+
this.deployments = ve33_dex_deployments_1.ve33DexDeployments;
|
|
39
|
+
this.chains = [enums_1.ChainIdEnum.BASE, enums_1.ChainIdEnum.OPTIMISM, enums_1.ChainIdEnum.AVALANCHE];
|
|
40
|
+
this._clients = {};
|
|
41
|
+
for (const [chainIdStr, rpcUrl] of Object.entries(config.rpcs)) {
|
|
42
|
+
const network = Number(chainIdStr);
|
|
43
|
+
const chainConfig = chainId_to_chain_1.chainIdToChain[network];
|
|
44
|
+
if (!chainConfig) {
|
|
45
|
+
throw new Error(`Unsupported chain ID in V2DexPairAdapter config: ${network}`);
|
|
46
|
+
}
|
|
47
|
+
const client = (0, viem_1.createPublicClient)({
|
|
48
|
+
chain: chainConfig,
|
|
49
|
+
transport: (0, viem_1.http)(rpcUrl),
|
|
50
|
+
});
|
|
51
|
+
this._clients[network] = client;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async getPairInfo(params) {
|
|
55
|
+
try {
|
|
56
|
+
const { network, tokenIn, tokenOut, slippage, amountIn } = params;
|
|
57
|
+
const deployments = this.deployments[network];
|
|
58
|
+
if (!deployments || deployments.length === 0) {
|
|
59
|
+
throw new Error(`No Ve33 deployments found for chain ID: ${network}`);
|
|
60
|
+
}
|
|
61
|
+
const { tokenIn: tokenInNorm, tokenOut: tokenOutNorm } = (0, norm_dex_token_1.normalizeDexTokens)({
|
|
62
|
+
tokenIn,
|
|
63
|
+
tokenOut,
|
|
64
|
+
network,
|
|
65
|
+
});
|
|
66
|
+
const pairAddresses = this._computePairAddresses({
|
|
67
|
+
tokenIn: tokenInNorm,
|
|
68
|
+
tokenOut: tokenOutNorm,
|
|
69
|
+
deployments,
|
|
70
|
+
});
|
|
71
|
+
if (!pairAddresses || pairAddresses.length === 0) {
|
|
72
|
+
throw new Error(`No Ve33 pairs could be computed for tokens ${tokenInNorm} / ${tokenOutNorm} on chain ID ${network}`);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Filter out the pair that matches the requested pair address
|
|
76
|
+
*/
|
|
77
|
+
const matchingPair = pairAddresses.find(p => p.pair.toLowerCase() === params.pair.toLowerCase());
|
|
78
|
+
if (!matchingPair) {
|
|
79
|
+
throw new Error(`No matching Ve33 pair found for ${params.pair} on chain ID ${network}`);
|
|
80
|
+
}
|
|
81
|
+
const matchingDeployment = deployments.find(d => d.tag === matchingPair.dex);
|
|
82
|
+
if (!matchingDeployment) {
|
|
83
|
+
throw new Error(`No deployment found for dex ${matchingPair.dex} on chain ID ${network}`);
|
|
84
|
+
}
|
|
85
|
+
if (!slippage || !amountIn) {
|
|
86
|
+
const candidate = {
|
|
87
|
+
dex: matchingPair.dex,
|
|
88
|
+
key: `${matchingPair.dex}:${matchingDeployment.poolFactory}:${network}`,
|
|
89
|
+
network,
|
|
90
|
+
tokenA: tokenInNorm,
|
|
91
|
+
tokenB: tokenOutNorm,
|
|
92
|
+
pair: matchingPair.pair,
|
|
93
|
+
volatility: matchingPair.volatility,
|
|
94
|
+
};
|
|
95
|
+
return candidate;
|
|
96
|
+
}
|
|
97
|
+
const { expectedAmountOut, amountOutMin } = await this.calculateAmountOut({
|
|
98
|
+
path: [tokenInNorm, tokenOutNorm],
|
|
99
|
+
tokenIn: tokenInNorm,
|
|
100
|
+
tokenOut: tokenOutNorm,
|
|
101
|
+
amountIn: BigInt(amountIn),
|
|
102
|
+
slippage: slippage,
|
|
103
|
+
network: network,
|
|
104
|
+
matchingPair: matchingPair,
|
|
105
|
+
deployment: matchingDeployment,
|
|
106
|
+
});
|
|
107
|
+
const candidate = {
|
|
108
|
+
dex: matchingPair.dex,
|
|
109
|
+
key: `${matchingPair.dex}:${matchingDeployment.poolFactory}:${network}`,
|
|
110
|
+
network: network,
|
|
111
|
+
tokenA: tokenInNorm,
|
|
112
|
+
tokenB: tokenOutNorm,
|
|
113
|
+
pair: matchingPair.pair,
|
|
114
|
+
volatility: matchingPair.volatility,
|
|
115
|
+
expectedAmountOut: expectedAmountOut.toString(),
|
|
116
|
+
amountOutMin,
|
|
117
|
+
};
|
|
118
|
+
return candidate;
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
122
|
+
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.DIRECT_POOL_NOT_FOUND, `Ve33PairAdapter getPairInfo error: ${errorMessage}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
async calculateAmountOut(params) {
|
|
126
|
+
const { tokenIn, tokenOut, amountIn, slippage, network, matchingPair, deployment } = params;
|
|
127
|
+
const client = this._clients[network];
|
|
128
|
+
if (!client) {
|
|
129
|
+
throw new Error(`No public client available for chain ID: ${network}`);
|
|
130
|
+
}
|
|
131
|
+
const normalizedRoute = this._normalizeRouteForGetAmountsOut({
|
|
132
|
+
tokenIn,
|
|
133
|
+
tokenOut,
|
|
134
|
+
stable: matchingPair.volatility === ve33_1.VolatilityEnum.STABLE,
|
|
135
|
+
factory: deployment.poolFactory,
|
|
136
|
+
});
|
|
137
|
+
/**
|
|
138
|
+
* Utilize `getAmountsOut` as `getAmountOut` requires an additional
|
|
139
|
+
* rpc call to fetch the pair reserves
|
|
140
|
+
*/
|
|
141
|
+
const amountsOutCall = {
|
|
142
|
+
address: deployment.router,
|
|
143
|
+
// Aerodrome ABI works for getAmountsOut shape used in both AERODROME & VELODROME paths
|
|
144
|
+
abi: aerodrome_router_abi_1.aerodromeRouterAbi,
|
|
145
|
+
functionName: 'getAmountsOut',
|
|
146
|
+
args: [amountIn, [normalizedRoute]],
|
|
147
|
+
};
|
|
148
|
+
const amountsOutResult = (await client.readContract(amountsOutCall));
|
|
149
|
+
const expectedAmountOut = amountsOutResult[amountsOutResult.length - 1] ?? BigInt(0);
|
|
150
|
+
const amountOutMin = (0, min_amount_out_1.calculateMinAmountOut)({
|
|
151
|
+
amountOut: expectedAmountOut.toString(),
|
|
152
|
+
slippage,
|
|
153
|
+
});
|
|
154
|
+
return {
|
|
155
|
+
expectedAmountOut: expectedAmountOut.toString(),
|
|
156
|
+
amountOutMin,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
_computePairAddresses(params) {
|
|
160
|
+
const results = [];
|
|
161
|
+
for (const deployment of params.deployments) {
|
|
162
|
+
const baseParams = {
|
|
163
|
+
deployment,
|
|
164
|
+
tokenIn: params.tokenIn,
|
|
165
|
+
tokenOut: params.tokenOut,
|
|
166
|
+
};
|
|
167
|
+
const { pair: stablePair } = this._computePairAddress({
|
|
168
|
+
...baseParams,
|
|
169
|
+
volatility: ve33_1.VolatilityEnum.STABLE,
|
|
170
|
+
});
|
|
171
|
+
const { pair: volatilePair } = this._computePairAddress({
|
|
172
|
+
...baseParams,
|
|
173
|
+
volatility: ve33_1.VolatilityEnum.VOLATILE,
|
|
174
|
+
});
|
|
175
|
+
const dex = deployment.tag;
|
|
176
|
+
results.push({ dex, pair: stablePair, volatility: ve33_1.VolatilityEnum.STABLE }, { dex, pair: volatilePair, volatility: ve33_1.VolatilityEnum.VOLATILE });
|
|
177
|
+
}
|
|
178
|
+
return results;
|
|
179
|
+
}
|
|
180
|
+
_computePairAddress(params) {
|
|
181
|
+
const dex = params.deployment.tag;
|
|
182
|
+
switch (dex) {
|
|
183
|
+
case ve33_1.Ve33StyleDeploymentEnum.AERODROME:
|
|
184
|
+
case ve33_1.Ve33StyleDeploymentEnum.VELODROME:
|
|
185
|
+
return this._computeSolidlyPairAddress(params);
|
|
186
|
+
case ve33_1.Ve33StyleDeploymentEnum.BLACKHOLE:
|
|
187
|
+
case ve33_1.Ve33StyleDeploymentEnum.PHARAOH:
|
|
188
|
+
return this._computeSolidlyForkPairAddress(params);
|
|
189
|
+
default:
|
|
190
|
+
throw new Error(`Unsupported Ve33 deployment tag for pair computation: ${dex}`);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
_computeSolidlyPairAddress(params) {
|
|
194
|
+
const { deployment, tokenIn, tokenOut, volatility } = params;
|
|
195
|
+
const a = (0, viem_1.getAddress)(tokenIn);
|
|
196
|
+
const b = (0, viem_1.getAddress)(tokenOut);
|
|
197
|
+
if (a === b)
|
|
198
|
+
throw new Error('SameAddress');
|
|
199
|
+
if (a === constants_1.ZERO_ADDRESS || b === constants_1.ZERO_ADDRESS)
|
|
200
|
+
throw new Error('ZeroAddress');
|
|
201
|
+
const [token0, token1] = (0, sort_addresses_1.sortAddresses)(a, b);
|
|
202
|
+
const stable = volatility === ve33_1.VolatilityEnum.STABLE;
|
|
203
|
+
const factory = (0, viem_1.getAddress)(deployment.poolFactory);
|
|
204
|
+
// Prefer deployment-specific implementation if available; otherwise fall back
|
|
205
|
+
const implementation = this._determineImplementation(deployment);
|
|
206
|
+
const impl = (0, viem_1.getAddress)(implementation);
|
|
207
|
+
// salt = keccak256(abi.encodePacked(token0, token1, stable))
|
|
208
|
+
const salt = (0, viem_1.keccak256)((0, viem_1.concatHex)([token0, token1, stable ? '0x01' : '0x00']));
|
|
209
|
+
// 55-byte EIP-1167 minimal proxy creation code with embedded implementation
|
|
210
|
+
const CLONE_PREFIX = '0x3d602d80600a3d3981f3';
|
|
211
|
+
const CLONE_MID = '0x363d3d373d3d3d363d73';
|
|
212
|
+
const CLONE_SUFFIX = '0x5af43d82803e903d91602b57fd5bf3';
|
|
213
|
+
const initCode = (0, viem_1.concatHex)([CLONE_PREFIX, CLONE_MID, impl, CLONE_SUFFIX]);
|
|
214
|
+
const initCodeHash = (0, viem_1.keccak256)(initCode);
|
|
215
|
+
// CREATE2: keccak256(0xff ++ factory ++ salt ++ initCodeHash)[12:]
|
|
216
|
+
const digest = (0, viem_1.keccak256)((0, viem_1.concatHex)(['0xff', factory, salt, initCodeHash]));
|
|
217
|
+
const pair = (0, viem_1.getAddress)(`0x${digest.slice(-40)}`);
|
|
218
|
+
return { dex: deployment.tag, pair, volatility };
|
|
219
|
+
}
|
|
220
|
+
_computeSolidlyForkPairAddress(params) {
|
|
221
|
+
const A = (0, viem_1.getAddress)(params.tokenIn);
|
|
222
|
+
const B = (0, viem_1.getAddress)(params.tokenOut);
|
|
223
|
+
if (A === B)
|
|
224
|
+
throw new Error('SameAddress');
|
|
225
|
+
if (A === constants_1.ZERO_ADDRESS || B === constants_1.ZERO_ADDRESS)
|
|
226
|
+
throw new Error('ZeroAddress');
|
|
227
|
+
const [token0, token1] = (0, sort_addresses_1.sortAddresses)((0, viem_1.getAddress)(A), (0, viem_1.getAddress)(B));
|
|
228
|
+
const stable = params.volatility === ve33_1.VolatilityEnum.STABLE;
|
|
229
|
+
if (params.deployment.tag === ve33_1.Ve33StyleDeploymentEnum.PHARAOH) {
|
|
230
|
+
const pair = this._computePharaohPairAddress({
|
|
231
|
+
token0,
|
|
232
|
+
token1,
|
|
233
|
+
stable,
|
|
234
|
+
deployment: params.deployment,
|
|
235
|
+
});
|
|
236
|
+
return { dex: params.deployment.tag, pair, volatility: params.volatility };
|
|
237
|
+
}
|
|
238
|
+
else if (params.deployment.tag === ve33_1.Ve33StyleDeploymentEnum.BLACKHOLE) {
|
|
239
|
+
// also pass SORTED tokens here (bugfix)
|
|
240
|
+
const pair = this._computeBlackholePairAddress({ token0, token1, stable });
|
|
241
|
+
return { dex: params.deployment.tag, pair, volatility: params.volatility };
|
|
242
|
+
}
|
|
243
|
+
throw new Error(`Unsupported Ve33 fork deployment tag for pair computation: ${params.deployment.tag}`);
|
|
244
|
+
}
|
|
245
|
+
_computePharaohPairAddress(params) {
|
|
246
|
+
const salt = (0, viem_1.keccak256)((0, viem_1.concatHex)([params.token0, params.token1, params.stable ? '0x01' : '0x00']));
|
|
247
|
+
const deployer = (0, viem_1.getAddress)(params.deployment.poolFactory);
|
|
248
|
+
const pair = (0, viem_1.getAddress)(`0x${(0, viem_1.keccak256)((0, viem_1.concatHex)(['0xff', deployer, salt, this.pharaohPairCodeHash])).slice(-40)}`);
|
|
249
|
+
return pair;
|
|
250
|
+
}
|
|
251
|
+
_computeBlackholePairAddress(params) {
|
|
252
|
+
const salt = (0, ethers_1.solidityPackedKeccak256)(['address', 'address', 'bool'], [params.token0, params.token1, params.stable]);
|
|
253
|
+
function blackHolConcatHex(...hexes) {
|
|
254
|
+
return '0x' + hexes.map(h => h.replace(/^0x/, '')).join('');
|
|
255
|
+
}
|
|
256
|
+
const preimage = blackHolConcatHex('0xff', (0, viem_1.getAddress)(this.blackholeGenerator), salt, this.blackholeInitCodeHash);
|
|
257
|
+
const pair = (0, viem_1.getAddress)((0, ethers_1.dataSlice)((0, viem_1.keccak256)(preimage), 12));
|
|
258
|
+
return pair;
|
|
259
|
+
}
|
|
260
|
+
_determineImplementation(deployment) {
|
|
261
|
+
switch (deployment.tag) {
|
|
262
|
+
case ve33_1.Ve33StyleDeploymentEnum.AERODROME:
|
|
263
|
+
return this.aerodromeImplementation;
|
|
264
|
+
case ve33_1.Ve33StyleDeploymentEnum.VELODROME:
|
|
265
|
+
return this.velodromeImplementation;
|
|
266
|
+
default:
|
|
267
|
+
throw new Error(`Unsupported Ve33 deployment tag: ${deployment.tag}`);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
_normalizeRouteForGetAmountsOut(r) {
|
|
271
|
+
return { from: r.tokenIn, to: r.tokenOut, stable: r.stable, factory: r.factory };
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
exports.Ve33PairAdapter = Ve33PairAdapter;
|
|
275
|
+
//# sourceMappingURL=ve33-dex-pair-discovery.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ve33-dex-pair-discovery.adapter.js","sourceRoot":"","sources":["../../../../../src/lib/dex/pair-discovery/adapters/ve33-dex-pair-discovery.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types and interfaces for DEX pair discovery service
|
|
3
|
+
*/
|
|
4
|
+
import { DexPairDiscoveryConfig, EvmPairCandidate, GetEvmDexPairParams, SupportedEvmDexes } from './pair-discovery.types';
|
|
5
|
+
/**
|
|
6
|
+
* Enumerations for various supported DEX protocols and chains
|
|
7
|
+
*/
|
|
8
|
+
import { ChainIdEnum } from '../../../types/enums';
|
|
9
|
+
export declare class EvmPairDiscoveryService {
|
|
10
|
+
dexes: SupportedEvmDexes[];
|
|
11
|
+
chains: ChainIdEnum[];
|
|
12
|
+
private _adapters;
|
|
13
|
+
constructor(config: DexPairDiscoveryConfig);
|
|
14
|
+
getPairInfo(params: GetEvmDexPairParams): Promise<EvmPairCandidate>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=pair-discovery.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pair-discovery.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/dex/pair-discovery/pair-discovery.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EAEnB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,OAAO,EAAE,WAAW,EAAgB,MAAM,sBAAsB,CAAC;AAgBjE,qBAAa,uBAAuB;IAC3B,KAAK,EAAE,iBAAiB,EAAE,CAyB/B;IAEK,MAAM,EAAE,WAAW,EAAE,CAS1B;IAEF,OAAO,CAAC,SAAS,CAAyB;gBAE9B,MAAM,EAAE,sBAAsB;IAW7B,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAmCjF"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EvmPairDiscoveryService = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Enumerations for various supported DEX protocols and chains
|
|
6
|
+
*/
|
|
7
|
+
const enums_1 = require("../../../types/enums");
|
|
8
|
+
const algebra_1 = require("../../../protocols/algebra");
|
|
9
|
+
const v2_dex_1 = require("../../../protocols/v2-dex");
|
|
10
|
+
const v3_dex_1 = require("../../../protocols/v3-dex");
|
|
11
|
+
const ve33_1 = require("../../../protocols/ve33");
|
|
12
|
+
/**
|
|
13
|
+
* Pair adapters for all supported DEX protocol types
|
|
14
|
+
*/
|
|
15
|
+
const algebra_dex_pair_discovery_adapter_1 = require("./adapters/algebra-dex-pair-discovery.adapter");
|
|
16
|
+
const lfj_v3_dex_pair_doscovery_adapter_1 = require("./adapters/lfj-v3-dex-pair-doscovery.adapter");
|
|
17
|
+
const v2_dex_pair_discovery_adapter_1 = require("./adapters/v2-dex-pair-discovery.adapter");
|
|
18
|
+
const v3_dex_pair_discovery_adapter_1 = require("./adapters/v3-dex-pair-discovery.adapter");
|
|
19
|
+
const ve33_dex_pair_discovery_adapter_1 = require("./adapters/ve33-dex-pair-discovery.adapter");
|
|
20
|
+
const fourmeme_dex_pair_discovery_adapter_1 = require("./adapters/fourmeme-dex-pair-discovery.adapter");
|
|
21
|
+
class EvmPairDiscoveryService {
|
|
22
|
+
constructor(config) {
|
|
23
|
+
this.dexes = [
|
|
24
|
+
enums_1.ProtocolEnum.LFJ,
|
|
25
|
+
enums_1.ProtocolEnum.FOUR_MEME,
|
|
26
|
+
algebra_1.AlgebraDexTagEnum.BLACKHOLE,
|
|
27
|
+
algebra_1.AlgebraDexTagEnum.QUICKSWAP_CLMM,
|
|
28
|
+
v2_dex_1.UniswapV2StyleDexEnum.UNISWAP_V2,
|
|
29
|
+
v2_dex_1.UniswapV2StyleDexEnum.SUSHISWAP_V2,
|
|
30
|
+
v2_dex_1.UniswapV2StyleDexEnum.PANCAKESWAP_V2,
|
|
31
|
+
v2_dex_1.UniswapV2StyleDexEnum.QUICKSWAP_V2,
|
|
32
|
+
v2_dex_1.UniswapV2StyleDexEnum.TRADERJOE_V2,
|
|
33
|
+
v2_dex_1.UniswapV2StyleDexEnum.PANGOLIN_V2,
|
|
34
|
+
v2_dex_1.UniswapV2StyleDexEnum.HYPERSWAP_V2,
|
|
35
|
+
v3_dex_1.UniswapV3StyleDexEnum.UNISWAP_V3,
|
|
36
|
+
v3_dex_1.UniswapV3StyleDexEnum.PANCAKESWAP_V3,
|
|
37
|
+
v3_dex_1.UniswapV3StyleDexEnum.QUICKSWAP_V3,
|
|
38
|
+
v3_dex_1.UniswapV3StyleDexEnum.PANGOLIN_V3,
|
|
39
|
+
v3_dex_1.UniswapV3StyleDexEnum.HYPERSWAP_V3,
|
|
40
|
+
v3_dex_1.UniswapV3StyleDexEnum.PHARAOH_CLMM,
|
|
41
|
+
v3_dex_1.UniswapV3StyleDexEnum.VELODROME_CLMM,
|
|
42
|
+
v3_dex_1.UniswapV3StyleDexEnum.AERODROME_CLMM,
|
|
43
|
+
v3_dex_1.UniswapV3StyleDexEnum.RAMSES_CLMM,
|
|
44
|
+
ve33_1.Ve33StyleDeploymentEnum.AERODROME,
|
|
45
|
+
ve33_1.Ve33StyleDeploymentEnum.VELODROME,
|
|
46
|
+
ve33_1.Ve33StyleDeploymentEnum.BLACKHOLE,
|
|
47
|
+
ve33_1.Ve33StyleDeploymentEnum.PHARAOH,
|
|
48
|
+
];
|
|
49
|
+
this.chains = [
|
|
50
|
+
enums_1.ChainIdEnum.ETHEREUM,
|
|
51
|
+
enums_1.ChainIdEnum.AVALANCHE,
|
|
52
|
+
enums_1.ChainIdEnum.BSC,
|
|
53
|
+
enums_1.ChainIdEnum.POLYGON,
|
|
54
|
+
enums_1.ChainIdEnum.ARBITRUM,
|
|
55
|
+
enums_1.ChainIdEnum.OPTIMISM,
|
|
56
|
+
enums_1.ChainIdEnum.BASE,
|
|
57
|
+
enums_1.ChainIdEnum.HYPEREVM,
|
|
58
|
+
];
|
|
59
|
+
this._adapters = [];
|
|
60
|
+
this._adapters = [
|
|
61
|
+
new lfj_v3_dex_pair_doscovery_adapter_1.LfjPairAdapter(config),
|
|
62
|
+
new algebra_dex_pair_discovery_adapter_1.AlgebraPairAdapter(config),
|
|
63
|
+
new v2_dex_pair_discovery_adapter_1.UniV2PairAdapter(config),
|
|
64
|
+
new v3_dex_pair_discovery_adapter_1.UniV3PairAdapter(config),
|
|
65
|
+
new ve33_dex_pair_discovery_adapter_1.Ve33PairAdapter(config),
|
|
66
|
+
new fourmeme_dex_pair_discovery_adapter_1.FourMemePairAdapter(config),
|
|
67
|
+
];
|
|
68
|
+
}
|
|
69
|
+
async getPairInfo(params) {
|
|
70
|
+
return new Promise((resolve, reject) => {
|
|
71
|
+
let resolvedCount = 0;
|
|
72
|
+
const totalAdapters = this._adapters.length;
|
|
73
|
+
this._adapters.forEach(adapter => {
|
|
74
|
+
adapter
|
|
75
|
+
.getPairInfo(params)
|
|
76
|
+
.then(pairInfo => {
|
|
77
|
+
if (pairInfo) {
|
|
78
|
+
resolve(pairInfo);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
resolvedCount++;
|
|
82
|
+
if (resolvedCount === totalAdapters) {
|
|
83
|
+
reject(new Error(`EvmPairDiscoveryService: No matching pair found for tokens ${params.tokenIn} and ${params.tokenOut} on network ${params.network}`));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
})
|
|
87
|
+
.catch(() => {
|
|
88
|
+
resolvedCount++;
|
|
89
|
+
if (resolvedCount === totalAdapters) {
|
|
90
|
+
reject(new Error(`EvmPairDiscoveryService: No matching pair found for tokens ${params.tokenIn} and ${params.tokenOut} on network ${params.network}`));
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.EvmPairDiscoveryService = EvmPairDiscoveryService;
|
|
98
|
+
//# sourceMappingURL=pair-discovery.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pair-discovery.service.js","sourceRoot":"","sources":["../../../../src/lib/dex/pair-discovery/pair-discovery.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { Address } from 'viem';
|
|
2
|
+
import { Ve33Deployment, Ve33StyleDeploymentEnum, VolatilityEnum } from '../../../protocols/ve33';
|
|
3
|
+
import { AlgebraDeployment, AlgebraDexTagEnum } from '../../../protocols/algebra';
|
|
4
|
+
import { UniswapV2StyleDexEnum, V2DexDeployment } from '../../../protocols/v2-dex';
|
|
5
|
+
import { UniswapV3StyleDexEnum, UniV3Deployment } from '../../../protocols/v3-dex';
|
|
6
|
+
import { ChainIdEnum, ProtocolEnum } from '../../../types/enums';
|
|
7
|
+
import { LFJDeployment } from '../../../protocols/lfj';
|
|
8
|
+
export type SupportedEvmDexes = UniswapV3StyleDexEnum | UniswapV2StyleDexEnum | AlgebraDexTagEnum | Ve33StyleDeploymentEnum | ProtocolEnum.LFJ | ProtocolEnum.FOUR_MEME;
|
|
9
|
+
export type EvmDirectPoolAmountOutResponse = EvmDirectLegacyPoolAmountOutResponse | EvmDirectCLMMPoolAmountOutResponse | EvmDirectFourMemePoolAmountOutResponse;
|
|
10
|
+
export type UnifiedPoolAmountOutParams = EvmDirectPoolAmountOutParams | AlgebraPoolAmountOutParams | V2PoolAmountOutParams | Ve33PoolAmountOutParams | V3PoolAmountOutParams | LFJPoolAmountOutParams | FourMemePoolAmountOutParams;
|
|
11
|
+
export type EvmDexPairResponse = V2PairCandidate | V3PairCandidate | Ve33PairCandidate | FourMemePairCandidate | LfjV22PairCandidate;
|
|
12
|
+
export type GetEvmDexPairParams = {
|
|
13
|
+
network: ChainIdEnum;
|
|
14
|
+
tokenIn: string;
|
|
15
|
+
tokenOut: string;
|
|
16
|
+
pair: string;
|
|
17
|
+
/**
|
|
18
|
+
* If amountIn is specified, slippage must be specified as well
|
|
19
|
+
*/
|
|
20
|
+
amountIn?: string;
|
|
21
|
+
/**
|
|
22
|
+
* If amountIn is not specified, slippage should be omitted
|
|
23
|
+
*/
|
|
24
|
+
slippage?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Native price, in case the quote token is not BNB (fourmeme-specific)
|
|
27
|
+
*/
|
|
28
|
+
nativePrice?: number;
|
|
29
|
+
/**
|
|
30
|
+
* The price of the Quote Token for the Four.meme pair, in case the quote token is not BNB
|
|
31
|
+
*/
|
|
32
|
+
quoteTokenPrice?: number;
|
|
33
|
+
};
|
|
34
|
+
export type EvmDirectPoolKey = `${SupportedEvmDexes}:${Address}:${ChainIdEnum}`;
|
|
35
|
+
export type EvmPairCandidate = {
|
|
36
|
+
dex: SupportedEvmDexes;
|
|
37
|
+
key: EvmDirectPoolKey;
|
|
38
|
+
network: ChainIdEnum;
|
|
39
|
+
tokenA: string;
|
|
40
|
+
tokenB: string;
|
|
41
|
+
pair: string;
|
|
42
|
+
/**
|
|
43
|
+
* Only given if amountIn and slippage were provided in the request
|
|
44
|
+
*/
|
|
45
|
+
expectedAmountOut?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Only given if amountIn and slippage were provided in the request
|
|
48
|
+
*/
|
|
49
|
+
amountOutMin?: string;
|
|
50
|
+
};
|
|
51
|
+
export type EvmDirectPoolAmountOutParams = {
|
|
52
|
+
network: ChainIdEnum;
|
|
53
|
+
path: Address[];
|
|
54
|
+
amountIn: string;
|
|
55
|
+
matchingPair: EvmPairCandidate;
|
|
56
|
+
};
|
|
57
|
+
export type V2PairCandidate = EvmPairCandidate;
|
|
58
|
+
export type V3PairCandidate = EvmPairCandidate & {
|
|
59
|
+
feeOrTick: number;
|
|
60
|
+
sqrtPriceX96After?: string;
|
|
61
|
+
initializedTicksCrossed?: number;
|
|
62
|
+
};
|
|
63
|
+
export type Ve33PairCandidate = EvmPairCandidate & {
|
|
64
|
+
volatility: VolatilityEnum;
|
|
65
|
+
};
|
|
66
|
+
export type AlgebraPairCandidate = EvmPairCandidate & {
|
|
67
|
+
deployer: string;
|
|
68
|
+
isCustom: boolean;
|
|
69
|
+
sqrtPriceX96After?: string;
|
|
70
|
+
initializedTicksCrossed?: number;
|
|
71
|
+
};
|
|
72
|
+
export type FourMemePairCandidate = EvmPairCandidate & {
|
|
73
|
+
tokenManager: string;
|
|
74
|
+
quoteToken: string;
|
|
75
|
+
fourMemeToken: string;
|
|
76
|
+
version: number;
|
|
77
|
+
isBuying: boolean;
|
|
78
|
+
messageValue?: string;
|
|
79
|
+
amountFunds?: string;
|
|
80
|
+
};
|
|
81
|
+
export type LfjV22PairCandidate = EvmPairCandidate & {
|
|
82
|
+
binStep: number;
|
|
83
|
+
version: number;
|
|
84
|
+
};
|
|
85
|
+
export type DexPairDiscoveryConfig = {
|
|
86
|
+
rpcs: {
|
|
87
|
+
[network: number]: string;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Standardized interface for pool adapters used in EVM DEX pair discovery and amount out calculations
|
|
92
|
+
*/
|
|
93
|
+
export interface IDexPairAdapter {
|
|
94
|
+
/**
|
|
95
|
+
* The list of DEXes and chains supported by this adapter
|
|
96
|
+
*/
|
|
97
|
+
dexes: SupportedEvmDexes[];
|
|
98
|
+
/**
|
|
99
|
+
* The list of chains supported by this adapter
|
|
100
|
+
*/
|
|
101
|
+
chains: ChainIdEnum[];
|
|
102
|
+
/**
|
|
103
|
+
* Entrypoint to find the most liquid pool for any given token pair
|
|
104
|
+
*
|
|
105
|
+
* @note Only supports direct pools (no multi-hop)
|
|
106
|
+
*/
|
|
107
|
+
getPairInfo(params: GetEvmDexPairParams): Promise<EvmPairCandidate>;
|
|
108
|
+
calculateAmountOut(params: UnifiedPoolAmountOutParams): Promise<EvmDirectPoolAmountOutResponse>;
|
|
109
|
+
}
|
|
110
|
+
export type EvmDirectLegacyPoolAmountOutResponse = {
|
|
111
|
+
expectedAmountOut: string;
|
|
112
|
+
amountOutMin: string;
|
|
113
|
+
};
|
|
114
|
+
export type EvmDirectCLMMPoolAmountOutResponse = EvmDirectLegacyPoolAmountOutResponse & {
|
|
115
|
+
sqrtPriceX96After: bigint;
|
|
116
|
+
initializedTicksCrossed: number;
|
|
117
|
+
gasEstimate?: bigint;
|
|
118
|
+
};
|
|
119
|
+
export type EvmDirectFourMemePoolAmountOutResponse = EvmDirectLegacyPoolAmountOutResponse & {
|
|
120
|
+
messageValue?: string;
|
|
121
|
+
amountFunds?: string;
|
|
122
|
+
};
|
|
123
|
+
export type AlgebraPoolAmountOutParams = {
|
|
124
|
+
tokenIn: Address;
|
|
125
|
+
tokenOut: Address;
|
|
126
|
+
amountIn: bigint;
|
|
127
|
+
network: ChainIdEnum;
|
|
128
|
+
deployment: AlgebraDeployment;
|
|
129
|
+
slippage: number;
|
|
130
|
+
matchingPair: {
|
|
131
|
+
dex: AlgebraDexTagEnum;
|
|
132
|
+
pair: Address;
|
|
133
|
+
isCustom: boolean;
|
|
134
|
+
deployer: Address;
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
export type V2PoolAmountOutParams = {
|
|
138
|
+
path: Address[];
|
|
139
|
+
amountIn: bigint;
|
|
140
|
+
network: ChainIdEnum;
|
|
141
|
+
slippage: number;
|
|
142
|
+
matchingPair: {
|
|
143
|
+
pair: Address;
|
|
144
|
+
deployment: V2DexDeployment;
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
export type Ve33PoolAmountOutParams = {
|
|
148
|
+
path: Address[];
|
|
149
|
+
tokenIn: Address;
|
|
150
|
+
tokenOut: Address;
|
|
151
|
+
amountIn: bigint;
|
|
152
|
+
slippage: number;
|
|
153
|
+
network: ChainIdEnum;
|
|
154
|
+
matchingPair: {
|
|
155
|
+
dex: Ve33StyleDeploymentEnum;
|
|
156
|
+
pair: Address;
|
|
157
|
+
volatility: VolatilityEnum;
|
|
158
|
+
};
|
|
159
|
+
deployment: Ve33Deployment;
|
|
160
|
+
};
|
|
161
|
+
export type V3PoolAmountOutParams = {
|
|
162
|
+
tokenIn: string;
|
|
163
|
+
tokenOut: string;
|
|
164
|
+
amountIn: string;
|
|
165
|
+
slippage: number;
|
|
166
|
+
network: ChainIdEnum;
|
|
167
|
+
pair: string;
|
|
168
|
+
matchingPair: V3PairCandidate;
|
|
169
|
+
deployment: UniV3Deployment;
|
|
170
|
+
};
|
|
171
|
+
export type LFJPoolAmountOutParams = {
|
|
172
|
+
path: Address[];
|
|
173
|
+
amountIn: bigint;
|
|
174
|
+
network: ChainIdEnum;
|
|
175
|
+
deployment: LFJDeployment;
|
|
176
|
+
slippage: number;
|
|
177
|
+
};
|
|
178
|
+
export type FourMemePoolAmountOutParams = {
|
|
179
|
+
tokenIn: string;
|
|
180
|
+
tokenOut: string;
|
|
181
|
+
amountIn: string;
|
|
182
|
+
isBuying: boolean;
|
|
183
|
+
fourMemeToken: string;
|
|
184
|
+
quoteToken: string;
|
|
185
|
+
slippage: number;
|
|
186
|
+
nativePrice?: number;
|
|
187
|
+
quoteTokenPrice?: number;
|
|
188
|
+
};
|
|
189
|
+
//# sourceMappingURL=pair-discovery.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pair-discovery.types.d.ts","sourceRoot":"","sources":["../../../../src/lib/dex/pair-discovery/pair-discovery.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pair-discovery.types.js","sourceRoot":"","sources":["../../../../src/lib/dex/pair-discovery/pair-discovery.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { V2DexDeployments } from '../../../protocols/v2-dex';
|
|
2
|
+
import { ChainIdEnum } from '../../../types/enums';
|
|
3
|
+
export declare const uniV2SupportedChains: ChainIdEnum[];
|
|
4
|
+
export declare const uniV2DexDeployments: V2DexDeployments;
|
|
5
|
+
//# sourceMappingURL=v2-dex-deployments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v2-dex-deployments.d.ts","sourceRoot":"","sources":["../../../../src/lib/dex/uniswapV2/v2-dex-deployments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,eAAO,MAAM,oBAAoB,EAAE,WAAW,EAS7C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,gBAqJjC,CAAC"}
|