@acala-network/contracts
Version:
AcalaNetwork Smart Contract library for Solidity
206 lines (205 loc) • 15.8 kB
TypeScript
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../../common";
export interface DEXInterface extends utils.Interface {
functions: {
"addLiquidity(address,address,uint256,uint256,uint256)": FunctionFragment;
"getLiquidityPool(address,address)": FunctionFragment;
"getLiquidityTokenAddress(address,address)": FunctionFragment;
"getSwapSupplyAmount(address[],uint256)": FunctionFragment;
"getSwapTargetAmount(address[],uint256)": FunctionFragment;
"removeLiquidity(address,address,uint256,uint256,uint256)": FunctionFragment;
"swapWithExactSupply(address[],uint256,uint256)": FunctionFragment;
"swapWithExactTarget(address[],uint256,uint256)": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "addLiquidity" | "getLiquidityPool" | "getLiquidityTokenAddress" | "getSwapSupplyAmount" | "getSwapTargetAmount" | "removeLiquidity" | "swapWithExactSupply" | "swapWithExactTarget"): FunctionFragment;
encodeFunctionData(functionFragment: "addLiquidity", values: [
PromiseOrValue<string>,
PromiseOrValue<string>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>
]): string;
encodeFunctionData(functionFragment: "getLiquidityPool", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "getLiquidityTokenAddress", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "getSwapSupplyAmount", values: [PromiseOrValue<string>[], PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "getSwapTargetAmount", values: [PromiseOrValue<string>[], PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "removeLiquidity", values: [
PromiseOrValue<string>,
PromiseOrValue<string>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>
]): string;
encodeFunctionData(functionFragment: "swapWithExactSupply", values: [
PromiseOrValue<string>[],
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>
]): string;
encodeFunctionData(functionFragment: "swapWithExactTarget", values: [
PromiseOrValue<string>[],
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>
]): string;
decodeFunctionResult(functionFragment: "addLiquidity", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getLiquidityPool", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getLiquidityTokenAddress", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getSwapSupplyAmount", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getSwapTargetAmount", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "removeLiquidity", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "swapWithExactSupply", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "swapWithExactTarget", data: BytesLike): Result;
events: {
"AddedLiquidity(address,address,address,uint256,uint256)": EventFragment;
"RemovedLiquidity(address,address,address,uint256)": EventFragment;
"Swaped(address,address[],uint256,uint256)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "AddedLiquidity"): EventFragment;
getEvent(nameOrSignatureOrTopic: "RemovedLiquidity"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Swaped"): EventFragment;
}
export interface AddedLiquidityEventObject {
sender: string;
tokenA: string;
tokenB: string;
maxAmountA: BigNumber;
maxAmountB: BigNumber;
}
export declare type AddedLiquidityEvent = TypedEvent<[
string,
string,
string,
BigNumber,
BigNumber
], AddedLiquidityEventObject>;
export declare type AddedLiquidityEventFilter = TypedEventFilter<AddedLiquidityEvent>;
export interface RemovedLiquidityEventObject {
sender: string;
tokenA: string;
tokenB: string;
removeShare: BigNumber;
}
export declare type RemovedLiquidityEvent = TypedEvent<[
string,
string,
string,
BigNumber
], RemovedLiquidityEventObject>;
export declare type RemovedLiquidityEventFilter = TypedEventFilter<RemovedLiquidityEvent>;
export interface SwapedEventObject {
sender: string;
path: string[];
supplyAmount: BigNumber;
targetAmount: BigNumber;
}
export declare type SwapedEvent = TypedEvent<[
string,
string[],
BigNumber,
BigNumber
], SwapedEventObject>;
export declare type SwapedEventFilter = TypedEventFilter<SwapedEvent>;
export interface DEX extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: DEXInterface;
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: {
addLiquidity(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, maxAmountA: PromiseOrValue<BigNumberish>, maxAmountB: PromiseOrValue<BigNumberish>, minShareIncrement: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
getLiquidityPool(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
getLiquidityTokenAddress(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string]>;
getSwapSupplyAmount(path: PromiseOrValue<string>[], targetAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
getSwapTargetAmount(path: PromiseOrValue<string>[], supplyAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
removeLiquidity(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, removeShare: PromiseOrValue<BigNumberish>, minWithdrawnA: PromiseOrValue<BigNumberish>, minWithdrawnB: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
swapWithExactSupply(path: PromiseOrValue<string>[], supplyAmount: PromiseOrValue<BigNumberish>, minTargetAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
swapWithExactTarget(path: PromiseOrValue<string>[], targetAmount: PromiseOrValue<BigNumberish>, maxSupplyAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
};
addLiquidity(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, maxAmountA: PromiseOrValue<BigNumberish>, maxAmountB: PromiseOrValue<BigNumberish>, minShareIncrement: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
getLiquidityPool(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
getLiquidityTokenAddress(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
getSwapSupplyAmount(path: PromiseOrValue<string>[], targetAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
getSwapTargetAmount(path: PromiseOrValue<string>[], supplyAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
removeLiquidity(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, removeShare: PromiseOrValue<BigNumberish>, minWithdrawnA: PromiseOrValue<BigNumberish>, minWithdrawnB: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
swapWithExactSupply(path: PromiseOrValue<string>[], supplyAmount: PromiseOrValue<BigNumberish>, minTargetAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
swapWithExactTarget(path: PromiseOrValue<string>[], targetAmount: PromiseOrValue<BigNumberish>, maxSupplyAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
callStatic: {
addLiquidity(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, maxAmountA: PromiseOrValue<BigNumberish>, maxAmountB: PromiseOrValue<BigNumberish>, minShareIncrement: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
getLiquidityPool(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
getLiquidityTokenAddress(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
getSwapSupplyAmount(path: PromiseOrValue<string>[], targetAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
getSwapTargetAmount(path: PromiseOrValue<string>[], supplyAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
removeLiquidity(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, removeShare: PromiseOrValue<BigNumberish>, minWithdrawnA: PromiseOrValue<BigNumberish>, minWithdrawnB: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
swapWithExactSupply(path: PromiseOrValue<string>[], supplyAmount: PromiseOrValue<BigNumberish>, minTargetAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
swapWithExactTarget(path: PromiseOrValue<string>[], targetAmount: PromiseOrValue<BigNumberish>, maxSupplyAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
};
filters: {
"AddedLiquidity(address,address,address,uint256,uint256)"(sender?: PromiseOrValue<string> | null, tokenA?: PromiseOrValue<string> | null, tokenB?: PromiseOrValue<string> | null, maxAmountA?: null, maxAmountB?: null): AddedLiquidityEventFilter;
AddedLiquidity(sender?: PromiseOrValue<string> | null, tokenA?: PromiseOrValue<string> | null, tokenB?: PromiseOrValue<string> | null, maxAmountA?: null, maxAmountB?: null): AddedLiquidityEventFilter;
"RemovedLiquidity(address,address,address,uint256)"(sender?: PromiseOrValue<string> | null, tokenA?: PromiseOrValue<string> | null, tokenB?: PromiseOrValue<string> | null, removeShare?: null): RemovedLiquidityEventFilter;
RemovedLiquidity(sender?: PromiseOrValue<string> | null, tokenA?: PromiseOrValue<string> | null, tokenB?: PromiseOrValue<string> | null, removeShare?: null): RemovedLiquidityEventFilter;
"Swaped(address,address[],uint256,uint256)"(sender?: PromiseOrValue<string> | null, path?: null, supplyAmount?: null, targetAmount?: null): SwapedEventFilter;
Swaped(sender?: PromiseOrValue<string> | null, path?: null, supplyAmount?: null, targetAmount?: null): SwapedEventFilter;
};
estimateGas: {
addLiquidity(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, maxAmountA: PromiseOrValue<BigNumberish>, maxAmountB: PromiseOrValue<BigNumberish>, minShareIncrement: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
getLiquidityPool(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
getLiquidityTokenAddress(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
getSwapSupplyAmount(path: PromiseOrValue<string>[], targetAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
getSwapTargetAmount(path: PromiseOrValue<string>[], supplyAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
removeLiquidity(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, removeShare: PromiseOrValue<BigNumberish>, minWithdrawnA: PromiseOrValue<BigNumberish>, minWithdrawnB: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
swapWithExactSupply(path: PromiseOrValue<string>[], supplyAmount: PromiseOrValue<BigNumberish>, minTargetAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
swapWithExactTarget(path: PromiseOrValue<string>[], targetAmount: PromiseOrValue<BigNumberish>, maxSupplyAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
};
populateTransaction: {
addLiquidity(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, maxAmountA: PromiseOrValue<BigNumberish>, maxAmountB: PromiseOrValue<BigNumberish>, minShareIncrement: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
getLiquidityPool(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getLiquidityTokenAddress(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getSwapSupplyAmount(path: PromiseOrValue<string>[], targetAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getSwapTargetAmount(path: PromiseOrValue<string>[], supplyAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
removeLiquidity(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, removeShare: PromiseOrValue<BigNumberish>, minWithdrawnA: PromiseOrValue<BigNumberish>, minWithdrawnB: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
swapWithExactSupply(path: PromiseOrValue<string>[], supplyAmount: PromiseOrValue<BigNumberish>, minTargetAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
swapWithExactTarget(path: PromiseOrValue<string>[], targetAmount: PromiseOrValue<BigNumberish>, maxSupplyAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
};
}