UNPKG

@q-dev/gdk-sdk

Version:

Typescript Library to interact with GDK Contracts

303 lines (302 loc) 17.7 kB
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>; }; }