@xspswap/smart-order-router
Version:
XSwap Protocol V3 Smart Order Router
44 lines (43 loc) • 1.95 kB
TypeScript
import { JsonRpcProvider } from '@ethersproject/providers';
import { SwapOptions, SwapRoute } from '../routers';
import { ChainId } from '../util';
import { EthEstimateGasSimulator } from './eth-estimate-gas-provider';
import { SimulationResult, Simulator } from './simulation-provider';
import { IV2PoolProvider } from './v2/pool-provider';
import { IV3PoolProvider } from './v3/pool-provider';
export type TenderlyResponseUniversalRouter = {
config: {
url: string;
method: string;
data: string;
};
simulation_results: [SimulationResult, SimulationResult, SimulationResult];
};
export type TenderlyResponseSwapRouter02 = {
config: {
url: string;
method: string;
data: string;
};
simulation_results: [SimulationResult, SimulationResult];
};
export declare class FallbackTenderlySimulator extends Simulator {
private tenderlySimulator;
private ethEstimateGasSimulator;
constructor(chainId: ChainId, provider: JsonRpcProvider, tenderlySimulator: TenderlySimulator, ethEstimateGasSimulator: EthEstimateGasSimulator);
protected simulateTransaction(fromAddress: string, swapOptions: SwapOptions, swapRoute: SwapRoute): Promise<SwapRoute>;
}
export declare class TenderlySimulator extends Simulator {
private tenderlyBaseUrl;
private tenderlyUser;
private tenderlyProject;
private tenderlyAccessKey;
private v2PoolProvider;
private v3PoolProvider;
private overrideEstimateMultiplier;
constructor(chainId: ChainId, tenderlyBaseUrl: string, tenderlyUser: string, tenderlyProject: string, tenderlyAccessKey: string, v2PoolProvider: IV2PoolProvider, v3PoolProvider: IV3PoolProvider, provider: JsonRpcProvider, overrideEstimateMultiplier?: {
[chainId in ChainId]?: number;
});
simulateTransaction(fromAddress: string, swapOptions: SwapOptions, swapRoute: SwapRoute): Promise<SwapRoute>;
private logTenderlyErrorResponse;
}