/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, PayableOverrides, PopulatedTransaction, Signer, utils, } from "ethers"; import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, } from "./common"; export type SendParamStruct = { dstEid: BigNumberish; to: BytesLike; amountLD: BigNumberish; minAmountLD: BigNumberish; extraOptions: BytesLike; composeMsg: BytesLike; oftCmd: BytesLike; }; export type SendParamStructOutput = [ number, string, BigNumber, BigNumber, string, string, string ] & { dstEid: number; to: string; amountLD: BigNumber; minAmountLD: BigNumber; extraOptions: string; composeMsg: string; oftCmd: string; }; export type OFTLimitStruct = { minAmountLD: BigNumberish; maxAmountLD: BigNumberish; }; export type OFTLimitStructOutput = [BigNumber, BigNumber] & { minAmountLD: BigNumber; maxAmountLD: BigNumber; }; export type OFTFeeDetailStruct = { feeAmountLD: BigNumberish; description: string; }; export type OFTFeeDetailStructOutput = [BigNumber, string] & { feeAmountLD: BigNumber; description: string; }; export type OFTReceiptStruct = { amountSentLD: BigNumberish; amountReceivedLD: BigNumberish; }; export type OFTReceiptStructOutput = [BigNumber, BigNumber] & { amountSentLD: BigNumber; amountReceivedLD: BigNumber; }; export type MessagingFeeStruct = { nativeFee: BigNumberish; lzTokenFee: BigNumberish; }; export type MessagingFeeStructOutput = [BigNumber, BigNumber] & { nativeFee: BigNumber; lzTokenFee: BigNumber; }; export type MessagingReceiptStruct = { guid: BytesLike; nonce: BigNumberish; fee: MessagingFeeStruct; }; export type MessagingReceiptStructOutput = [ string, BigNumber, MessagingFeeStructOutput ] & { guid: string; nonce: BigNumber; fee: MessagingFeeStructOutput }; export interface IOFTInterface extends utils.Interface { contractName: "IOFT"; functions: { "approvalRequired()": FunctionFragment; "oftVersion()": FunctionFragment; "quoteOFT((uint32,bytes32,uint256,uint256,bytes,bytes,bytes))": FunctionFragment; "quoteSend((uint32,bytes32,uint256,uint256,bytes,bytes,bytes),bool)": FunctionFragment; "send((uint32,bytes32,uint256,uint256,bytes,bytes,bytes),(uint256,uint256),address)": FunctionFragment; "sharedDecimals()": FunctionFragment; "token()": FunctionFragment; }; encodeFunctionData( functionFragment: "approvalRequired", values?: undefined ): string; encodeFunctionData( functionFragment: "oftVersion", values?: undefined ): string; encodeFunctionData( functionFragment: "quoteOFT", values: [SendParamStruct] ): string; encodeFunctionData( functionFragment: "quoteSend", values: [SendParamStruct, boolean] ): string; encodeFunctionData( functionFragment: "send", values: [SendParamStruct, MessagingFeeStruct, string] ): string; encodeFunctionData( functionFragment: "sharedDecimals", values?: undefined ): string; encodeFunctionData(functionFragment: "token", values?: undefined): string; decodeFunctionResult( functionFragment: "approvalRequired", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "oftVersion", data: BytesLike): Result; decodeFunctionResult(functionFragment: "quoteOFT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "quoteSend", data: BytesLike): Result; decodeFunctionResult(functionFragment: "send", data: BytesLike): Result; decodeFunctionResult( functionFragment: "sharedDecimals", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; events: { "OFTReceived(bytes32,uint32,address,uint256)": EventFragment; "OFTSent(bytes32,uint32,address,uint256,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "OFTReceived"): EventFragment; getEvent(nameOrSignatureOrTopic: "OFTSent"): EventFragment; } export type OFTReceivedEvent = TypedEvent< [string, number, string, BigNumber], { guid: string; srcEid: number; toAddress: string; amountReceivedLD: BigNumber; } >; export type OFTReceivedEventFilter = TypedEventFilter; export type OFTSentEvent = TypedEvent< [string, number, string, BigNumber, BigNumber], { guid: string; dstEid: number; fromAddress: string; amountSentLD: BigNumber; amountReceivedLD: BigNumber; } >; export type OFTSentEventFilter = TypedEventFilter; export interface IOFT extends BaseContract { contractName: "IOFT"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IOFTInterface; queryFilter( event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined ): Promise>; listeners( eventFilter?: TypedEventFilter ): Array>; listeners(eventName?: string): Array; removeAllListeners( eventFilter: TypedEventFilter ): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { approvalRequired(overrides?: CallOverrides): Promise<[boolean]>; oftVersion( overrides?: CallOverrides ): Promise< [string, BigNumber] & { interfaceId: string; version: BigNumber } >; quoteOFT( _sendParam: SendParamStruct, overrides?: CallOverrides ): Promise< [ OFTLimitStructOutput, OFTFeeDetailStructOutput[], OFTReceiptStructOutput ] & { oftFeeDetails: OFTFeeDetailStructOutput[] } >; quoteSend( _sendParam: SendParamStruct, _payInLzToken: boolean, overrides?: CallOverrides ): Promise<[MessagingFeeStructOutput]>; send( _sendParam: SendParamStruct, _fee: MessagingFeeStruct, _refundAddress: string, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; sharedDecimals(overrides?: CallOverrides): Promise<[number]>; token(overrides?: CallOverrides): Promise<[string]>; }; approvalRequired(overrides?: CallOverrides): Promise; oftVersion( overrides?: CallOverrides ): Promise<[string, BigNumber] & { interfaceId: string; version: BigNumber }>; quoteOFT( _sendParam: SendParamStruct, overrides?: CallOverrides ): Promise< [ OFTLimitStructOutput, OFTFeeDetailStructOutput[], OFTReceiptStructOutput ] & { oftFeeDetails: OFTFeeDetailStructOutput[] } >; quoteSend( _sendParam: SendParamStruct, _payInLzToken: boolean, overrides?: CallOverrides ): Promise; send( _sendParam: SendParamStruct, _fee: MessagingFeeStruct, _refundAddress: string, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; sharedDecimals(overrides?: CallOverrides): Promise; token(overrides?: CallOverrides): Promise; callStatic: { approvalRequired(overrides?: CallOverrides): Promise; oftVersion( overrides?: CallOverrides ): Promise< [string, BigNumber] & { interfaceId: string; version: BigNumber } >; quoteOFT( _sendParam: SendParamStruct, overrides?: CallOverrides ): Promise< [ OFTLimitStructOutput, OFTFeeDetailStructOutput[], OFTReceiptStructOutput ] & { oftFeeDetails: OFTFeeDetailStructOutput[] } >; quoteSend( _sendParam: SendParamStruct, _payInLzToken: boolean, overrides?: CallOverrides ): Promise; send( _sendParam: SendParamStruct, _fee: MessagingFeeStruct, _refundAddress: string, overrides?: CallOverrides ): Promise<[MessagingReceiptStructOutput, OFTReceiptStructOutput]>; sharedDecimals(overrides?: CallOverrides): Promise; token(overrides?: CallOverrides): Promise; }; filters: { "OFTReceived(bytes32,uint32,address,uint256)"( guid?: BytesLike | null, srcEid?: null, toAddress?: string | null, amountReceivedLD?: null ): OFTReceivedEventFilter; OFTReceived( guid?: BytesLike | null, srcEid?: null, toAddress?: string | null, amountReceivedLD?: null ): OFTReceivedEventFilter; "OFTSent(bytes32,uint32,address,uint256,uint256)"( guid?: BytesLike | null, dstEid?: null, fromAddress?: string | null, amountSentLD?: null, amountReceivedLD?: null ): OFTSentEventFilter; OFTSent( guid?: BytesLike | null, dstEid?: null, fromAddress?: string | null, amountSentLD?: null, amountReceivedLD?: null ): OFTSentEventFilter; }; estimateGas: { approvalRequired(overrides?: CallOverrides): Promise; oftVersion(overrides?: CallOverrides): Promise; quoteOFT( _sendParam: SendParamStruct, overrides?: CallOverrides ): Promise; quoteSend( _sendParam: SendParamStruct, _payInLzToken: boolean, overrides?: CallOverrides ): Promise; send( _sendParam: SendParamStruct, _fee: MessagingFeeStruct, _refundAddress: string, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; sharedDecimals(overrides?: CallOverrides): Promise; token(overrides?: CallOverrides): Promise; }; populateTransaction: { approvalRequired(overrides?: CallOverrides): Promise; oftVersion(overrides?: CallOverrides): Promise; quoteOFT( _sendParam: SendParamStruct, overrides?: CallOverrides ): Promise; quoteSend( _sendParam: SendParamStruct, _payInLzToken: boolean, overrides?: CallOverrides ): Promise; send( _sendParam: SendParamStruct, _fee: MessagingFeeStruct, _refundAddress: string, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; sharedDecimals(overrides?: CallOverrides): Promise; token(overrides?: CallOverrides): Promise; }; }