UNPKG

@maxosllc/smart-order-router

Version:
71 lines 5.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.V3SubgraphProvider = void 0; const router_sdk_1 = require("@uniswap/router-sdk"); const chains_1 = require("../../../src/util/chains"); const subgraph_provider_1 = require("../subgraph-provider"); const SUBGRAPH_URL_BY_CHAIN = { [chains_1.ChainId.MAINNET]: 'https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v3', [chains_1.ChainId.OPTIMISM]: 'https://api.thegraph.com/subgraphs/name/ianlapham/optimism-post-regenesis', // todo: add once subgraph is live [chains_1.ChainId.OPTIMISM_SEPOLIA]: '', [chains_1.ChainId.ARBITRUM_ONE]: 'https://api.thegraph.com/subgraphs/name/ianlapham/arbitrum-minimal', // todo: add once subgraph is live [chains_1.ChainId.ARBITRUM_SEPOLIA]: '', [chains_1.ChainId.POLYGON]: 'https://api.thegraph.com/subgraphs/name/ianlapham/uniswap-v3-polygon', [chains_1.ChainId.CELO]: 'https://api.thegraph.com/subgraphs/name/jesse-sawa/uniswap-celo', [chains_1.ChainId.GOERLI]: 'https://api.thegraph.com/subgraphs/name/ianlapham/uniswap-v3-gorli', [chains_1.ChainId.BNB]: 'https://api.thegraph.com/subgraphs/name/ilyamk/uniswap-v3---bnb-chain', [chains_1.ChainId.AVALANCHE]: 'https://api.thegraph.com/subgraphs/name/lynnshaoyu/uniswap-v3-avax', [chains_1.ChainId.BASE]: 'https://api.studio.thegraph.com/query/48211/uniswap-v3-base/version/latest', [chains_1.ChainId.BLAST]: 'https://gateway-arbitrum.network.thegraph.com/api/0ae45f0bf40ae2e73119b44ccd755967/subgraphs/id/2LHovKznvo8YmKC9ZprPjsYAZDCc4K5q4AYz8s3cnQn1', [chains_1.ChainId.BLOCKDAG_TESTNET]: 'https://indexer.dev.hyperindex.xyz/7a6fe21/v1/graphql' }; class V3SubgraphProvider extends subgraph_provider_1.SubgraphProvider { constructor(chainId, retries = 2, timeout = 30000, rollback = true, trackedEthThreshold = 0.01, untrackedUsdThreshold = Number.MAX_VALUE, subgraphUrlOverride) { super(router_sdk_1.Protocol.V3, chainId, retries, timeout, rollback, trackedEthThreshold, untrackedUsdThreshold, subgraphUrlOverride !== null && subgraphUrlOverride !== void 0 ? subgraphUrlOverride : SUBGRAPH_URL_BY_CHAIN[chainId]); } subgraphQuery(blockNumber) { return ` query getPools($pageSize: Int!, $id: String) { pools( first: $pageSize ${blockNumber ? `block: { number: ${blockNumber} }` : ``} where: { id_gt: $id } ) { id token0 { symbol id } token1 { symbol id } feeTier liquidity totalValueLockedUSD totalValueLockedETH totalValueLockedUSDUntracked } } `; } mapSubgraphPool(rawPool) { return { id: rawPool.id, feeTier: rawPool.feeTier, liquidity: rawPool.liquidity, token0: { id: rawPool.token0.id, }, token1: { id: rawPool.token1.id, }, tvlETH: parseFloat(rawPool.totalValueLockedETH), tvlUSD: parseFloat(rawPool.totalValueLockedUSD), }; } } exports.V3SubgraphProvider = V3SubgraphProvider; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZ3JhcGgtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3YzL3N1YmdyYXBoLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9EQUErQztBQUMvQyxxREFBbUQ7QUFJbkQsNERBQXdEO0FBaUN4RCxNQUFNLHFCQUFxQixHQUFzQztJQUMvRCxDQUFDLGdCQUFPLENBQUMsT0FBTyxDQUFDLEVBQ2YsNERBQTREO0lBQzlELENBQUMsZ0JBQU8sQ0FBQyxRQUFRLENBQUMsRUFDaEIsMkVBQTJFO0lBQzdFLGtDQUFrQztJQUNsQyxDQUFDLGdCQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxFQUFFO0lBQzlCLENBQUMsZ0JBQU8sQ0FBQyxZQUFZLENBQUMsRUFDcEIsb0VBQW9FO0lBQ3RFLGtDQUFrQztJQUNsQyxDQUFDLGdCQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxFQUFFO0lBQzlCLENBQUMsZ0JBQU8sQ0FBQyxPQUFPLENBQUMsRUFDZixzRUFBc0U7SUFDeEUsQ0FBQyxnQkFBTyxDQUFDLElBQUksQ0FBQyxFQUNaLGlFQUFpRTtJQUNuRSxDQUFDLGdCQUFPLENBQUMsTUFBTSxDQUFDLEVBQ2Qsb0VBQW9FO0lBQ3RFLENBQUMsZ0JBQU8sQ0FBQyxHQUFHLENBQUMsRUFDWCx1RUFBdUU7SUFDekUsQ0FBQyxnQkFBTyxDQUFDLFNBQVMsQ0FBQyxFQUNqQixvRUFBb0U7SUFDdEUsQ0FBQyxnQkFBTyxDQUFDLElBQUksQ0FBQyxFQUNaLDRFQUE0RTtJQUM5RSxDQUFDLGdCQUFPLENBQUMsS0FBSyxDQUFDLEVBQ2IsOElBQThJO0lBQ2hKLENBQUMsZ0JBQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUN4Qix1REFBdUQ7Q0FDMUQsQ0FBQztBQWdCRixNQUFhLGtCQUNYLFNBQVEsb0NBQW1EO0lBRTNELFlBQ0UsT0FBZ0IsRUFDaEIsT0FBTyxHQUFHLENBQUMsRUFDWCxPQUFPLEdBQUcsS0FBSyxFQUNmLFFBQVEsR0FBRyxJQUFJLEVBQ2YsbUJBQW1CLEdBQUcsSUFBSSxFQUMxQixxQkFBcUIsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUN4QyxtQkFBNEI7UUFFNUIsS0FBSyxDQUNILHFCQUFRLENBQUMsRUFBRSxFQUNYLE9BQU8sRUFDUCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFFBQVEsRUFDUixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLG1CQUFtQixhQUFuQixtQkFBbUIsY0FBbkIsbUJBQW1CLEdBQUkscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQ3RELENBQUM7SUFDSixDQUFDO0lBRWtCLGFBQWEsQ0FBQyxXQUFvQjtRQUNuRCxPQUFPOzs7O1VBSUQsV0FBVyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsV0FBVyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFtQjVELENBQUM7SUFDSCxDQUFDO0lBRWtCLGVBQWUsQ0FDaEMsT0FBMEI7UUFFMUIsT0FBTztZQUNMLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRTtZQUNkLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztZQUN4QixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7WUFDNUIsTUFBTSxFQUFFO2dCQUNOLEVBQUUsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7YUFDdEI7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sRUFBRSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTthQUN0QjtZQUNELE1BQU0sRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO1lBQy9DLE1BQU0sRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO1NBQ2hELENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFwRUQsZ0RBb0VDIn0=