UNPKG

@astonic-io/astonic-router-ts

Version:
125 lines (124 loc) 8.44 kB
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common"; export declare namespace IAstonicRouter { type StepStruct = { exchangeProvider: PromiseOrValue<string>; exchangeId: PromiseOrValue<BytesLike>; assetIn: PromiseOrValue<string>; assetOut: PromiseOrValue<string>; }; type StepStructOutput = [string, string, string, string] & { exchangeProvider: string; exchangeId: string; assetIn: string; assetOut: string; }; } export interface IAstonicRouterInterface extends utils.Interface { functions: { "drain(address)": FunctionFragment; "getAmountIn(uint256,(address,bytes32,address,address)[])": FunctionFragment; "getAmountOut(uint256,(address,bytes32,address,address)[])": FunctionFragment; "swapExactTokensForTokens(uint256,uint256,(address,bytes32,address,address)[])": FunctionFragment; "swapTokensForExactTokens(uint256,uint256,(address,bytes32,address,address)[])": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "drain" | "getAmountIn" | "getAmountOut" | "swapExactTokensForTokens" | "swapTokensForExactTokens"): FunctionFragment; encodeFunctionData(functionFragment: "drain", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getAmountIn", values: [PromiseOrValue<BigNumberish>, IAstonicRouter.StepStruct[]]): string; encodeFunctionData(functionFragment: "getAmountOut", values: [PromiseOrValue<BigNumberish>, IAstonicRouter.StepStruct[]]): string; encodeFunctionData(functionFragment: "swapExactTokensForTokens", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, IAstonicRouter.StepStruct[] ]): string; encodeFunctionData(functionFragment: "swapTokensForExactTokens", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, IAstonicRouter.StepStruct[] ]): string; decodeFunctionResult(functionFragment: "drain", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAmountIn", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAmountOut", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swapExactTokensForTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swapTokensForExactTokens", data: BytesLike): Result; events: {}; } export interface IAstonicRouter extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: IAstonicRouterInterface; queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>; listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>; listeners(eventName?: string): Array<Listener>; removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this; removeAllListeners(eventName?: string): this; off: OnEvent<this>; on: OnEvent<this>; once: OnEvent<this>; removeListener: OnEvent<this>; functions: { drain(asset: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getAmountIn(amountOut: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: CallOverrides): Promise<[BigNumber] & { amountIn: BigNumber; }>; getAmountOut(amountIn: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: CallOverrides): Promise<[BigNumber] & { amountOut: BigNumber; }>; swapExactTokensForTokens(amountIn: PromiseOrValue<BigNumberish>, amountOutMin: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; swapTokensForExactTokens(amountOut: PromiseOrValue<BigNumberish>, amountInMax: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; }; drain(asset: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getAmountIn(amountOut: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: CallOverrides): Promise<BigNumber>; getAmountOut(amountIn: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: CallOverrides): Promise<BigNumber>; swapExactTokensForTokens(amountIn: PromiseOrValue<BigNumberish>, amountOutMin: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; swapTokensForExactTokens(amountOut: PromiseOrValue<BigNumberish>, amountInMax: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; callStatic: { drain(asset: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; getAmountIn(amountOut: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: CallOverrides): Promise<BigNumber>; getAmountOut(amountIn: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: CallOverrides): Promise<BigNumber>; swapExactTokensForTokens(amountIn: PromiseOrValue<BigNumberish>, amountOutMin: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: CallOverrides): Promise<BigNumber[]>; swapTokensForExactTokens(amountOut: PromiseOrValue<BigNumberish>, amountInMax: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: CallOverrides): Promise<BigNumber[]>; }; filters: {}; estimateGas: { drain(asset: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; getAmountIn(amountOut: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: CallOverrides): Promise<BigNumber>; getAmountOut(amountIn: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: CallOverrides): Promise<BigNumber>; swapExactTokensForTokens(amountIn: PromiseOrValue<BigNumberish>, amountOutMin: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; swapTokensForExactTokens(amountOut: PromiseOrValue<BigNumberish>, amountInMax: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; }; populateTransaction: { drain(asset: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; getAmountIn(amountOut: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: CallOverrides): Promise<PopulatedTransaction>; getAmountOut(amountIn: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: CallOverrides): Promise<PopulatedTransaction>; swapExactTokensForTokens(amountIn: PromiseOrValue<BigNumberish>, amountOutMin: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; swapTokensForExactTokens(amountOut: PromiseOrValue<BigNumberish>, amountInMax: PromiseOrValue<BigNumberish>, path: IAstonicRouter.StepStruct[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; }; }