@maxosllc/smart-order-router
Version:
BlockDAG Smart Order Router
70 lines (69 loc) • 3.11 kB
TypeScript
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;
}