astra-router-sdk
Version:
An sdk for routing swaps using Astra Classic and Astra CL.
28 lines (27 loc) • 1.41 kB
TypeScript
import { Route as ClassicRouteSDK, Pair } from 'astra-classic-sdk';
import { Route as CLRouteSDK, Pool as CLPool } from 'astra-cl-sdk-dev';
import { Protocol } from './protocol';
import { Currency, Price, Token } from 'astra-sdk-core';
import { MixedRouteSDK } from './mixedRoute/route';
export interface IRoute<TInput extends Currency, TOutput extends Currency, TPool extends Pair | CLPool> {
protocol: Protocol;
pools: TPool[];
path: Currency[];
midPrice: Price<TInput, TOutput>;
input: TInput;
output: TOutput;
}
export declare class RouteClassic<TInput extends Currency, TOutput extends Currency> extends ClassicRouteSDK<TInput, TOutput> implements IRoute<TInput, TOutput, Pair> {
readonly protocol: Protocol;
readonly pools: Pair[];
constructor(classicRoute: ClassicRouteSDK<TInput, TOutput>);
}
export declare class RouteCL<TInput extends Currency, TOutput extends Currency> extends CLRouteSDK<TInput, TOutput> implements IRoute<TInput, TOutput, CLPool> {
readonly protocol: Protocol;
readonly path: Token[];
constructor(clRoute: CLRouteSDK<TInput, TOutput>);
}
export declare class MixedRoute<TInput extends Currency, TOutput extends Currency> extends MixedRouteSDK<TInput, TOutput> implements IRoute<TInput, TOutput, Pair | CLPool> {
readonly protocol: Protocol;
constructor(mixedRoute: MixedRouteSDK<TInput, TOutput>);
}