@q-dev/gdk-sdk
Version:
Typescript Library to interact with GDK Contracts
303 lines (302 loc) • 17.7 kB
TypeScript
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, 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 } from "./common";
export type MessageActionStruct = {
token: string;
to: string;
amount: BigNumberish;
};
export type MessageActionStructOutput = [string, string, BigNumber] & {
token: string;
to: string;
amount: BigNumber;
};
export interface ForeignTreasuryModuleInterface extends utils.Interface {
functions: {
"domains()": FunctionFragment;
"enrollRemoteRouter(uint32,bytes32)": FunctionFragment;
"enrollRemoteRouters(uint32[],bytes32[])": FunctionFragment;
"getERC20Balance(address)": FunctionFragment;
"getNativeBalance()": FunctionFragment;
"handle(uint32,bytes32,bytes)": FunctionFragment;
"hook()": FunctionFragment;
"interchainSecurityModule()": FunctionFragment;
"localDomain()": FunctionFragment;
"mailbox()": FunctionFragment;
"owner()": FunctionFragment;
"renounceOwnership()": FunctionFragment;
"routers(uint32)": FunctionFragment;
"setHook(address)": FunctionFragment;
"setInterchainSecurityModule(address)": FunctionFragment;
"transferOwnership(address)": FunctionFragment;
"unenrollRemoteRouter(uint32)": FunctionFragment;
"unenrollRemoteRouters(uint32[])": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "domains" | "enrollRemoteRouter" | "enrollRemoteRouters" | "getERC20Balance" | "getNativeBalance" | "handle" | "hook" | "interchainSecurityModule" | "localDomain" | "mailbox" | "owner" | "renounceOwnership" | "routers" | "setHook" | "setInterchainSecurityModule" | "transferOwnership" | "unenrollRemoteRouter" | "unenrollRemoteRouters"): FunctionFragment;
encodeFunctionData(functionFragment: "domains", values?: undefined): string;
encodeFunctionData(functionFragment: "enrollRemoteRouter", values: [BigNumberish, BytesLike]): string;
encodeFunctionData(functionFragment: "enrollRemoteRouters", values: [BigNumberish[], BytesLike[]]): string;
encodeFunctionData(functionFragment: "getERC20Balance", values: [string]): string;
encodeFunctionData(functionFragment: "getNativeBalance", values?: undefined): string;
encodeFunctionData(functionFragment: "handle", values: [BigNumberish, BytesLike, BytesLike]): string;
encodeFunctionData(functionFragment: "hook", values?: undefined): string;
encodeFunctionData(functionFragment: "interchainSecurityModule", values?: undefined): string;
encodeFunctionData(functionFragment: "localDomain", values?: undefined): string;
encodeFunctionData(functionFragment: "mailbox", values?: undefined): string;
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
encodeFunctionData(functionFragment: "routers", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "setHook", values: [string]): string;
encodeFunctionData(functionFragment: "setInterchainSecurityModule", values: [string]): string;
encodeFunctionData(functionFragment: "transferOwnership", values: [string]): string;
encodeFunctionData(functionFragment: "unenrollRemoteRouter", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "unenrollRemoteRouters", values: [BigNumberish[]]): string;
decodeFunctionResult(functionFragment: "domains", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "enrollRemoteRouter", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "enrollRemoteRouters", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getERC20Balance", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getNativeBalance", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "handle", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "hook", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "interchainSecurityModule", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "localDomain", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "mailbox", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "routers", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setHook", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setInterchainSecurityModule", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "unenrollRemoteRouter", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "unenrollRemoteRouters", data: BytesLike): Result;
events: {
"Initialized(uint8)": EventFragment;
"MessageReceived(uint32,uint32,bytes32,(address,address,uint256))": EventFragment;
"OwnershipTransferred(address,address)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
getEvent(nameOrSignatureOrTopic: "MessageReceived"): EventFragment;
getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
}
export interface InitializedEventObject {
version: number;
}
export type InitializedEvent = TypedEvent<[number], InitializedEventObject>;
export type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
export interface MessageReceivedEventObject {
origin: number;
destination: number;
sender: string;
action: MessageActionStructOutput;
}
export type MessageReceivedEvent = TypedEvent<[
number,
number,
string,
MessageActionStructOutput
], MessageReceivedEventObject>;
export type MessageReceivedEventFilter = TypedEventFilter<MessageReceivedEvent>;
export interface OwnershipTransferredEventObject {
previousOwner: string;
newOwner: string;
}
export type OwnershipTransferredEvent = TypedEvent<[
string,
string
], OwnershipTransferredEventObject>;
export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface ForeignTreasuryModule extends BaseContract {
contractName: "ForeignTreasuryModule";
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: ForeignTreasuryModuleInterface;
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: {
domains(overrides?: CallOverrides): Promise<[number[]]>;
enrollRemoteRouter(_domain: BigNumberish, _router: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
enrollRemoteRouters(_domains: BigNumberish[], _addresses: BytesLike[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
getERC20Balance(token_: string, overrides?: CallOverrides): Promise<[BigNumber]>;
getNativeBalance(overrides?: CallOverrides): Promise<[BigNumber]>;
handle(_origin: BigNumberish, _sender: BytesLike, _message: BytesLike, overrides?: PayableOverrides & {
from?: string;
}): Promise<ContractTransaction>;
hook(overrides?: CallOverrides): Promise<[string]>;
interchainSecurityModule(overrides?: CallOverrides): Promise<[string]>;
localDomain(overrides?: CallOverrides): Promise<[number]>;
mailbox(overrides?: CallOverrides): Promise<[string]>;
owner(overrides?: CallOverrides): Promise<[string]>;
renounceOwnership(overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
routers(_domain: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
setHook(_hook: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
setInterchainSecurityModule(_module: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
transferOwnership(newOwner: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
unenrollRemoteRouter(_domain: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
unenrollRemoteRouters(_domains: BigNumberish[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
};
domains(overrides?: CallOverrides): Promise<number[]>;
enrollRemoteRouter(_domain: BigNumberish, _router: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
enrollRemoteRouters(_domains: BigNumberish[], _addresses: BytesLike[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
getERC20Balance(token_: string, overrides?: CallOverrides): Promise<BigNumber>;
getNativeBalance(overrides?: CallOverrides): Promise<BigNumber>;
handle(_origin: BigNumberish, _sender: BytesLike, _message: BytesLike, overrides?: PayableOverrides & {
from?: string;
}): Promise<ContractTransaction>;
hook(overrides?: CallOverrides): Promise<string>;
interchainSecurityModule(overrides?: CallOverrides): Promise<string>;
localDomain(overrides?: CallOverrides): Promise<number>;
mailbox(overrides?: CallOverrides): Promise<string>;
owner(overrides?: CallOverrides): Promise<string>;
renounceOwnership(overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
routers(_domain: BigNumberish, overrides?: CallOverrides): Promise<string>;
setHook(_hook: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
setInterchainSecurityModule(_module: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
transferOwnership(newOwner: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
unenrollRemoteRouter(_domain: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
unenrollRemoteRouters(_domains: BigNumberish[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
callStatic: {
domains(overrides?: CallOverrides): Promise<number[]>;
enrollRemoteRouter(_domain: BigNumberish, _router: BytesLike, overrides?: CallOverrides): Promise<void>;
enrollRemoteRouters(_domains: BigNumberish[], _addresses: BytesLike[], overrides?: CallOverrides): Promise<void>;
getERC20Balance(token_: string, overrides?: CallOverrides): Promise<BigNumber>;
getNativeBalance(overrides?: CallOverrides): Promise<BigNumber>;
handle(_origin: BigNumberish, _sender: BytesLike, _message: BytesLike, overrides?: CallOverrides): Promise<void>;
hook(overrides?: CallOverrides): Promise<string>;
interchainSecurityModule(overrides?: CallOverrides): Promise<string>;
localDomain(overrides?: CallOverrides): Promise<number>;
mailbox(overrides?: CallOverrides): Promise<string>;
owner(overrides?: CallOverrides): Promise<string>;
renounceOwnership(overrides?: CallOverrides): Promise<void>;
routers(_domain: BigNumberish, overrides?: CallOverrides): Promise<string>;
setHook(_hook: string, overrides?: CallOverrides): Promise<void>;
setInterchainSecurityModule(_module: string, overrides?: CallOverrides): Promise<void>;
transferOwnership(newOwner: string, overrides?: CallOverrides): Promise<void>;
unenrollRemoteRouter(_domain: BigNumberish, overrides?: CallOverrides): Promise<void>;
unenrollRemoteRouters(_domains: BigNumberish[], overrides?: CallOverrides): Promise<void>;
};
filters: {
"Initialized(uint8)"(version?: null): InitializedEventFilter;
Initialized(version?: null): InitializedEventFilter;
"MessageReceived(uint32,uint32,bytes32,(address,address,uint256))"(origin?: BigNumberish | null, destination?: BigNumberish | null, sender?: null, action?: null): MessageReceivedEventFilter;
MessageReceived(origin?: BigNumberish | null, destination?: BigNumberish | null, sender?: null, action?: null): MessageReceivedEventFilter;
"OwnershipTransferred(address,address)"(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
};
estimateGas: {
domains(overrides?: CallOverrides): Promise<BigNumber>;
enrollRemoteRouter(_domain: BigNumberish, _router: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
enrollRemoteRouters(_domains: BigNumberish[], _addresses: BytesLike[], overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
getERC20Balance(token_: string, overrides?: CallOverrides): Promise<BigNumber>;
getNativeBalance(overrides?: CallOverrides): Promise<BigNumber>;
handle(_origin: BigNumberish, _sender: BytesLike, _message: BytesLike, overrides?: PayableOverrides & {
from?: string;
}): Promise<BigNumber>;
hook(overrides?: CallOverrides): Promise<BigNumber>;
interchainSecurityModule(overrides?: CallOverrides): Promise<BigNumber>;
localDomain(overrides?: CallOverrides): Promise<BigNumber>;
mailbox(overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<BigNumber>;
renounceOwnership(overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
routers(_domain: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
setHook(_hook: string, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
setInterchainSecurityModule(_module: string, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
transferOwnership(newOwner: string, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
unenrollRemoteRouter(_domain: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
unenrollRemoteRouters(_domains: BigNumberish[], overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
};
populateTransaction: {
domains(overrides?: CallOverrides): Promise<PopulatedTransaction>;
enrollRemoteRouter(_domain: BigNumberish, _router: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
enrollRemoteRouters(_domains: BigNumberish[], _addresses: BytesLike[], overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
getERC20Balance(token_: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getNativeBalance(overrides?: CallOverrides): Promise<PopulatedTransaction>;
handle(_origin: BigNumberish, _sender: BytesLike, _message: BytesLike, overrides?: PayableOverrides & {
from?: string;
}): Promise<PopulatedTransaction>;
hook(overrides?: CallOverrides): Promise<PopulatedTransaction>;
interchainSecurityModule(overrides?: CallOverrides): Promise<PopulatedTransaction>;
localDomain(overrides?: CallOverrides): Promise<PopulatedTransaction>;
mailbox(overrides?: CallOverrides): Promise<PopulatedTransaction>;
owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
renounceOwnership(overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
routers(_domain: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
setHook(_hook: string, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
setInterchainSecurityModule(_module: string, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
transferOwnership(newOwner: string, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
unenrollRemoteRouter(_domain: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
unenrollRemoteRouters(_domains: BigNumberish[], overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
};
}