@uniswap/smart-order-router
Version:
Uniswap Smart Order Router
63 lines • 4.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.V4SubgraphProvider = exports.SUBGRAPH_URL_BY_CHAIN = void 0;
const router_sdk_1 = require("@uniswap/router-sdk");
const sdk_core_1 = require("@uniswap/sdk-core");
const subgraph_provider_1 = require("../subgraph-provider");
exports.SUBGRAPH_URL_BY_CHAIN = {
[sdk_core_1.ChainId.SEPOLIA]: '',
};
class V4SubgraphProvider extends subgraph_provider_1.SubgraphProvider {
constructor(chainId, retries = 2, timeout = 30000, rollback = true, trackedEthThreshold = 0.01, trackedZoraEthThreshold = 0.001, zoraHooks = new Set(), untrackedUsdThreshold = Number.MAX_VALUE, subgraphUrlOverride, bearerToken) {
super(router_sdk_1.Protocol.V4, chainId, retries, timeout, rollback, trackedEthThreshold, trackedZoraEthThreshold, zoraHooks, untrackedUsdThreshold, subgraphUrlOverride !== null && subgraphUrlOverride !== void 0 ? subgraphUrlOverride : exports.SUBGRAPH_URL_BY_CHAIN[chainId], bearerToken);
}
mapSubgraphPool(rawPool) {
return {
id: rawPool.id,
feeTier: rawPool.feeTier,
tickSpacing: rawPool.tickSpacing,
hooks: rawPool.hooks,
liquidity: rawPool.liquidity,
token0: {
symbol: rawPool.token0.symbol,
id: rawPool.token0.id,
name: rawPool.token0.name,
decimals: rawPool.token0.decimals,
},
token1: {
symbol: rawPool.token1.symbol,
id: rawPool.token1.id,
name: rawPool.token1.name,
decimals: rawPool.token1.decimals,
},
tvlETH: parseFloat(rawPool.totalValueLockedETH),
tvlUSD: parseFloat(rawPool.totalValueLockedUSD),
};
}
// Override to include V4-specific fields
getPoolFields() {
return `
id
token0 {
symbol
id
name
decimals
}
token1 {
symbol
id
name
decimals
}
feeTier
tickSpacing
hooks
liquidity
totalValueLockedUSD
totalValueLockedETH
`;
}
}
exports.V4SubgraphProvider = V4SubgraphProvider;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZ3JhcGgtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3Y0L3N1YmdyYXBoLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9EQUErQztBQUMvQyxnREFBc0Q7QUFHdEQsNERBQXdEO0FBK0MzQyxRQUFBLHFCQUFxQixHQUFzQztJQUN0RSxDQUFDLGtCQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtDQUN0QixDQUFDO0FBZ0JGLE1BQWEsa0JBQ1gsU0FBUSxvQ0FBbUQ7SUFHM0QsWUFDRSxPQUFnQixFQUNoQixPQUFPLEdBQUcsQ0FBQyxFQUNYLE9BQU8sR0FBRyxLQUFLLEVBQ2YsUUFBUSxHQUFHLElBQUksRUFDZixtQkFBbUIsR0FBRyxJQUFJLEVBQzFCLHVCQUF1QixHQUFHLEtBQUssRUFDL0IsWUFBWSxJQUFJLEdBQUcsRUFBVSxFQUM3QixxQkFBcUIsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUN4QyxtQkFBNEIsRUFDNUIsV0FBb0I7UUFFcEIsS0FBSyxDQUNILHFCQUFRLENBQUMsRUFBRSxFQUNYLE9BQU8sRUFDUCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFFBQVEsRUFDUixtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxxQkFBcUIsRUFDckIsbUJBQW1CLGFBQW5CLG1CQUFtQixjQUFuQixtQkFBbUIsR0FBSSw2QkFBcUIsQ0FBQyxPQUFPLENBQUMsRUFDckQsV0FBVyxDQUNaLENBQUM7SUFDSixDQUFDO0lBRWtCLGVBQWUsQ0FDaEMsT0FBMEI7UUFFMUIsT0FBTztZQUNMLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRTtZQUNkLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztZQUN4QixXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7WUFDaEMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1lBQ3BCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztZQUM1QixNQUFNLEVBQUU7Z0JBQ04sTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTTtnQkFDN0IsRUFBRSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDckIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSTtnQkFDekIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUTthQUNsQztZQUNELE1BQU0sRUFBRTtnQkFDTixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNO2dCQUM3QixFQUFFLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNyQixJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJO2dCQUN6QixRQUFRLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRO2FBQ2xDO1lBQ0QsTUFBTSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUM7WUFDL0MsTUFBTSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUM7U0FDaEQsQ0FBQztJQUNKLENBQUM7SUFFRCx5Q0FBeUM7SUFDdEIsYUFBYTtRQUM5QixPQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW9CTixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBakZELGdEQWlGQyJ9