UNPKG

@sky-mavis/smart-order-router

Version:
35 lines 2.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.V2SubgraphProviderWithFallBacks = void 0; const util_1 = require("../../util"); /** * Provider for getting V2 subgraph pools that falls back to a different provider * in the event of failure. * * @export * @class V2SubgraphProviderWithFallBacks */ class V2SubgraphProviderWithFallBacks { /** * Creates an instance of V2SubgraphProviderWithFallBacks. * @param fallbacks Ordered list of `IV2SubgraphProvider` to try to get pools from. */ constructor(fallbacks) { this.fallbacks = fallbacks; } async getPools(tokenIn, tokenOut, providerConfig) { for (let i = 0; i < this.fallbacks.length; i++) { const provider = this.fallbacks[i]; try { const pools = await provider.getPools(tokenIn, tokenOut, providerConfig); return pools; } catch (err) { util_1.log.info(`Failed to get subgraph pools for V2 from fallback #${i}`); } } throw new Error('Failed to get subgraph pools from any providers'); } } exports.V2SubgraphProviderWithFallBacks = V2SubgraphProviderWithFallBacks; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZ3JhcGgtcHJvdmlkZXItd2l0aC1mYWxsYmFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvdjIvc3ViZ3JhcGgtcHJvdmlkZXItd2l0aC1mYWxsYmFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxxQ0FBaUM7QUFJakM7Ozs7OztHQU1HO0FBQ0gsTUFBYSwrQkFBK0I7SUFDMUM7OztPQUdHO0lBQ0gsWUFBb0IsU0FBZ0M7UUFBaEMsY0FBUyxHQUFULFNBQVMsQ0FBdUI7SUFBRyxDQUFDO0lBRWpELEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBZSxFQUFFLFFBQWdCLEVBQUUsY0FBK0I7UUFDdEYsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzlDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFFLENBQUM7WUFDcEMsSUFBSTtnQkFDRixNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFDekUsT0FBTyxLQUFLLENBQUM7YUFDZDtZQUFDLE9BQU8sR0FBRyxFQUFFO2dCQUNaLFVBQUcsQ0FBQyxJQUFJLENBQUMsc0RBQXNELENBQUMsRUFBRSxDQUFDLENBQUM7YUFDckU7U0FDRjtRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBQ0Y7QUFwQkQsMEVBb0JDIn0=