UNPKG

@maxosllc/smart-order-router

Version:
70 lines (69 loc) 3.11 kB
import { JsonRpcProvider } from '@ethersproject/providers'; import { ChainId } from '../../src/util/chains'; import { GasModelProviderConfig, SwapOptions, SwapRoute } from '../routers'; import { EthEstimateGasSimulator } from './eth-estimate-gas-provider'; import { IPortionProvider } from './portion-provider'; import { SimulationResult, Simulator } from './simulation-provider'; import { IV2PoolProvider } from './v2/pool-provider'; import { IV3PoolProvider } from './v3/pool-provider'; import { IV4PoolProvider } from './v4/pool-provider'; export declare type TenderlyResponseUniversalRouter = { config: { url: string; method: string; data: string; }; simulation_results: [SimulationResult, SimulationResult, SimulationResult]; }; export declare type TenderlyResponseSwapRouter02 = { config: { url: string; method: string; data: string; }; simulation_results: [SimulationResult, SimulationResult]; }; export declare type GasBody = { gas: string; gasUsed: string; }; export declare type JsonRpcError = { error: { code: number; message: string; data: string; }; }; export declare type TenderlyResponseEstimateGasBundle = { id: number; jsonrpc: string; result: Array<JsonRpcError | GasBody>; }; export declare const TENDERLY_NOT_SUPPORTED_CHAINS: ChainId[]; export declare class FallbackTenderlySimulator extends Simulator { private tenderlySimulator; private ethEstimateGasSimulator; constructor(chainId: ChainId, provider: JsonRpcProvider, portionProvider: IPortionProvider, tenderlySimulator: TenderlySimulator, ethEstimateGasSimulator: EthEstimateGasSimulator); protected simulateTransaction(fromAddress: string, swapOptions: SwapOptions, swapRoute: SwapRoute, providerConfig?: GasModelProviderConfig): Promise<SwapRoute>; } export declare class TenderlySimulator extends Simulator { private tenderlyBaseUrl; private tenderlyUser; private tenderlyProject; private tenderlyAccessKey; private tenderlyNodeApiKey; private v2PoolProvider; private v3PoolProvider; private v4PoolProvider; private overrideEstimateMultiplier; private tenderlyRequestTimeout?; private tenderlyNodeApiMigrationPercent?; private tenderlyNodeApiEnabledChains?; private tenderlyServiceInstance; constructor(chainId: ChainId, tenderlyBaseUrl: string, tenderlyUser: string, tenderlyProject: string, tenderlyAccessKey: string, tenderlyNodeApiKey: string, v2PoolProvider: IV2PoolProvider, v3PoolProvider: IV3PoolProvider, v4PoolProvider: IV4PoolProvider, provider: JsonRpcProvider, portionProvider: IPortionProvider, overrideEstimateMultiplier?: { [chainId in ChainId]?: number; }, tenderlyRequestTimeout?: number, tenderlyNodeApiMigrationPercent?: number, tenderlyNodeApiEnabledChains?: ChainId[]); simulateTransaction(fromAddress: string, swapOptions: SwapOptions, swapRoute: SwapRoute, providerConfig?: GasModelProviderConfig): Promise<SwapRoute>; private logTenderlyErrorResponse; private requestNodeSimulation; }