/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, 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 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 declare namespace IPExchangeRateOracleApp { export type ExchangeRateDataStruct = { exchangeRate: BigNumberish; updatedAt: BigNumberish; }; export type ExchangeRateDataStructOutput = [BigNumber, BigNumber] & { exchangeRate: BigNumber; updatedAt: BigNumber; }; export type SendExchangeRateParamStruct = { exchangeRateSource: string; dstEid: BigNumberish; extraOptions: BytesLike; }; export type SendExchangeRateParamStructOutput = [string, number, string] & { exchangeRateSource: string; dstEid: number; extraOptions: string; }; } export interface IPExchangeRateOracleAppInterface extends utils.Interface { contractName: "IPExchangeRateOracleApp"; functions: { "getExchangeRate(uint32,bytes32)": FunctionFragment; "quoteSendExchangeRate((address,uint32,bytes),bool)": FunctionFragment; "quoteSendExchangeRateBatch((address,uint32,bytes)[],bool[])": FunctionFragment; "sendExchangeRate((address,uint32,bytes),(uint256,uint256))": FunctionFragment; "sendExchangeRateBatch((address,uint32,bytes)[],(uint256,uint256)[])": FunctionFragment; "setAllowedSender(address)": FunctionFragment; }; encodeFunctionData( functionFragment: "getExchangeRate", values: [BigNumberish, BytesLike] ): string; encodeFunctionData( functionFragment: "quoteSendExchangeRate", values: [IPExchangeRateOracleApp.SendExchangeRateParamStruct, boolean] ): string; encodeFunctionData( functionFragment: "quoteSendExchangeRateBatch", values: [IPExchangeRateOracleApp.SendExchangeRateParamStruct[], boolean[]] ): string; encodeFunctionData( functionFragment: "sendExchangeRate", values: [ IPExchangeRateOracleApp.SendExchangeRateParamStruct, MessagingFeeStruct ] ): string; encodeFunctionData( functionFragment: "sendExchangeRateBatch", values: [ IPExchangeRateOracleApp.SendExchangeRateParamStruct[], MessagingFeeStruct[] ] ): string; encodeFunctionData( functionFragment: "setAllowedSender", values: [string] ): string; decodeFunctionResult( functionFragment: "getExchangeRate", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "quoteSendExchangeRate", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "quoteSendExchangeRateBatch", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "sendExchangeRate", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "sendExchangeRateBatch", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setAllowedSender", data: BytesLike ): Result; events: { "AllowedSenderSet(address)": EventFragment; "ExchangeRateReceived(bytes32,uint32,bytes32,uint256,uint256,bool)": EventFragment; "ExchangeRateSent(bytes32,uint32,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AllowedSenderSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "ExchangeRateReceived"): EventFragment; getEvent(nameOrSignatureOrTopic: "ExchangeRateSent"): EventFragment; } export type AllowedSenderSetEvent = TypedEvent<[string], { sender: string }>; export type AllowedSenderSetEventFilter = TypedEventFilter; export type ExchangeRateReceivedEvent = TypedEvent< [string, number, string, BigNumber, BigNumber, boolean], { guid: string; srcEid: number; exchangeRateSource: string; exchangeRate: BigNumber; updatedAt: BigNumber; rateAccepted: boolean; } >; export type ExchangeRateReceivedEventFilter = TypedEventFilter; export type ExchangeRateSentEvent = TypedEvent< [string, number, string, BigNumber], { guid: string; dstEid: number; exchangeRateSource: string; exchangeRate: BigNumber; } >; export type ExchangeRateSentEventFilter = TypedEventFilter; export interface IPExchangeRateOracleApp extends BaseContract { contractName: "IPExchangeRateOracleApp"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IPExchangeRateOracleAppInterface; 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: { getExchangeRate( _srcEid: BigNumberish, exchangeRateSource: BytesLike, overrides?: CallOverrides ): Promise< [IPExchangeRateOracleApp.ExchangeRateDataStructOutput] & { exchangeRateData: IPExchangeRateOracleApp.ExchangeRateDataStructOutput; } >; quoteSendExchangeRate( sendParam: IPExchangeRateOracleApp.SendExchangeRateParamStruct, payInLzToken: boolean, overrides?: CallOverrides ): Promise<[MessagingFeeStructOutput] & { fee: MessagingFeeStructOutput }>; quoteSendExchangeRateBatch( sendParams: IPExchangeRateOracleApp.SendExchangeRateParamStruct[], payInLzTokens: boolean[], overrides?: CallOverrides ): Promise< [MessagingFeeStructOutput[]] & { fees: MessagingFeeStructOutput[] } >; sendExchangeRate( sendParam: IPExchangeRateOracleApp.SendExchangeRateParamStruct, fee: MessagingFeeStruct, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; sendExchangeRateBatch( sendParams: IPExchangeRateOracleApp.SendExchangeRateParamStruct[], fees: MessagingFeeStruct[], overrides?: PayableOverrides & { from?: string | Promise } ): Promise; setAllowedSender( _allowedSender: string, overrides?: Overrides & { from?: string | Promise } ): Promise; }; getExchangeRate( _srcEid: BigNumberish, exchangeRateSource: BytesLike, overrides?: CallOverrides ): Promise; quoteSendExchangeRate( sendParam: IPExchangeRateOracleApp.SendExchangeRateParamStruct, payInLzToken: boolean, overrides?: CallOverrides ): Promise; quoteSendExchangeRateBatch( sendParams: IPExchangeRateOracleApp.SendExchangeRateParamStruct[], payInLzTokens: boolean[], overrides?: CallOverrides ): Promise; sendExchangeRate( sendParam: IPExchangeRateOracleApp.SendExchangeRateParamStruct, fee: MessagingFeeStruct, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; sendExchangeRateBatch( sendParams: IPExchangeRateOracleApp.SendExchangeRateParamStruct[], fees: MessagingFeeStruct[], overrides?: PayableOverrides & { from?: string | Promise } ): Promise; setAllowedSender( _allowedSender: string, overrides?: Overrides & { from?: string | Promise } ): Promise; callStatic: { getExchangeRate( _srcEid: BigNumberish, exchangeRateSource: BytesLike, overrides?: CallOverrides ): Promise; quoteSendExchangeRate( sendParam: IPExchangeRateOracleApp.SendExchangeRateParamStruct, payInLzToken: boolean, overrides?: CallOverrides ): Promise; quoteSendExchangeRateBatch( sendParams: IPExchangeRateOracleApp.SendExchangeRateParamStruct[], payInLzTokens: boolean[], overrides?: CallOverrides ): Promise; sendExchangeRate( sendParam: IPExchangeRateOracleApp.SendExchangeRateParamStruct, fee: MessagingFeeStruct, overrides?: CallOverrides ): Promise; sendExchangeRateBatch( sendParams: IPExchangeRateOracleApp.SendExchangeRateParamStruct[], fees: MessagingFeeStruct[], overrides?: CallOverrides ): Promise; setAllowedSender( _allowedSender: string, overrides?: CallOverrides ): Promise; }; filters: { "AllowedSenderSet(address)"( sender?: string | null ): AllowedSenderSetEventFilter; AllowedSenderSet(sender?: string | null): AllowedSenderSetEventFilter; "ExchangeRateReceived(bytes32,uint32,bytes32,uint256,uint256,bool)"( guid?: BytesLike | null, srcEid?: BigNumberish | null, exchangeRateSource?: BytesLike | null, exchangeRate?: null, updatedAt?: null, rateAccepted?: null ): ExchangeRateReceivedEventFilter; ExchangeRateReceived( guid?: BytesLike | null, srcEid?: BigNumberish | null, exchangeRateSource?: BytesLike | null, exchangeRate?: null, updatedAt?: null, rateAccepted?: null ): ExchangeRateReceivedEventFilter; "ExchangeRateSent(bytes32,uint32,address,uint256)"( guid?: BytesLike | null, dstEid?: BigNumberish | null, exchangeRateSource?: string | null, exchangeRate?: null ): ExchangeRateSentEventFilter; ExchangeRateSent( guid?: BytesLike | null, dstEid?: BigNumberish | null, exchangeRateSource?: string | null, exchangeRate?: null ): ExchangeRateSentEventFilter; }; estimateGas: { getExchangeRate( _srcEid: BigNumberish, exchangeRateSource: BytesLike, overrides?: CallOverrides ): Promise; quoteSendExchangeRate( sendParam: IPExchangeRateOracleApp.SendExchangeRateParamStruct, payInLzToken: boolean, overrides?: CallOverrides ): Promise; quoteSendExchangeRateBatch( sendParams: IPExchangeRateOracleApp.SendExchangeRateParamStruct[], payInLzTokens: boolean[], overrides?: CallOverrides ): Promise; sendExchangeRate( sendParam: IPExchangeRateOracleApp.SendExchangeRateParamStruct, fee: MessagingFeeStruct, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; sendExchangeRateBatch( sendParams: IPExchangeRateOracleApp.SendExchangeRateParamStruct[], fees: MessagingFeeStruct[], overrides?: PayableOverrides & { from?: string | Promise } ): Promise; setAllowedSender( _allowedSender: string, overrides?: Overrides & { from?: string | Promise } ): Promise; }; populateTransaction: { getExchangeRate( _srcEid: BigNumberish, exchangeRateSource: BytesLike, overrides?: CallOverrides ): Promise; quoteSendExchangeRate( sendParam: IPExchangeRateOracleApp.SendExchangeRateParamStruct, payInLzToken: boolean, overrides?: CallOverrides ): Promise; quoteSendExchangeRateBatch( sendParams: IPExchangeRateOracleApp.SendExchangeRateParamStruct[], payInLzTokens: boolean[], overrides?: CallOverrides ): Promise; sendExchangeRate( sendParam: IPExchangeRateOracleApp.SendExchangeRateParamStruct, fee: MessagingFeeStruct, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; sendExchangeRateBatch( sendParams: IPExchangeRateOracleApp.SendExchangeRateParamStruct[], fees: MessagingFeeStruct[], overrides?: PayableOverrides & { from?: string | Promise } ): Promise; setAllowedSender( _allowedSender: string, overrides?: Overrides & { from?: string | Promise } ): Promise; }; }