UNPKG

@hashflow/contracts-evm

Version:

EVM Smart Contracts for Solidity

809 lines (808 loc) 34 kB
import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../common"; export declare namespace IHashflowRouter { type XChainFillMessageStruct = { srcHashflowChainId: BigNumberish; srcPool: BytesLike; dstPool: AddressLike; dstExternalAccount: AddressLike; dstTrader: AddressLike; quoteToken: AddressLike; quoteTokenAmount: BigNumberish; txid: BytesLike; srcCaller: BytesLike; dstContract: AddressLike; dstContractCalldata: BytesLike; }; type XChainFillMessageStructOutput = [ srcHashflowChainId: bigint, srcPool: string, dstPool: string, dstExternalAccount: string, dstTrader: string, quoteToken: string, quoteTokenAmount: bigint, txid: string, srcCaller: string, dstContract: string, dstContractCalldata: string ] & { srcHashflowChainId: bigint; srcPool: string; dstPool: string; dstExternalAccount: string; dstTrader: string; quoteToken: string; quoteTokenAmount: bigint; txid: string; srcCaller: string; dstContract: string; dstContractCalldata: string; }; } export declare namespace IQuote { type RFQMQuoteStruct = { pool: AddressLike; externalAccount: AddressLike; trader: AddressLike; baseToken: AddressLike; quoteToken: AddressLike; baseTokenAmount: BigNumberish; quoteTokenAmount: BigNumberish; quoteExpiry: BigNumberish; txid: BytesLike; takerSignature: BytesLike; makerSignature: BytesLike; }; type RFQMQuoteStructOutput = [ pool: string, externalAccount: string, trader: string, baseToken: string, quoteToken: string, baseTokenAmount: bigint, quoteTokenAmount: bigint, quoteExpiry: bigint, txid: string, takerSignature: string, makerSignature: string ] & { pool: string; externalAccount: string; trader: string; baseToken: string; quoteToken: string; baseTokenAmount: bigint; quoteTokenAmount: bigint; quoteExpiry: bigint; txid: string; takerSignature: string; makerSignature: string; }; type RFQTQuoteStruct = { pool: AddressLike; externalAccount: AddressLike; trader: AddressLike; effectiveTrader: AddressLike; baseToken: AddressLike; quoteToken: AddressLike; effectiveBaseTokenAmount: BigNumberish; baseTokenAmount: BigNumberish; quoteTokenAmount: BigNumberish; quoteExpiry: BigNumberish; nonce: BigNumberish; txid: BytesLike; signature: BytesLike; }; type RFQTQuoteStructOutput = [ pool: string, externalAccount: string, trader: string, effectiveTrader: string, baseToken: string, quoteToken: string, effectiveBaseTokenAmount: bigint, baseTokenAmount: bigint, quoteTokenAmount: bigint, quoteExpiry: bigint, nonce: bigint, txid: string, signature: string ] & { pool: string; externalAccount: string; trader: string; effectiveTrader: string; baseToken: string; quoteToken: string; effectiveBaseTokenAmount: bigint; baseTokenAmount: bigint; quoteTokenAmount: bigint; quoteExpiry: bigint; nonce: bigint; txid: string; signature: string; }; type XChainRFQMQuoteStruct = { srcChainId: BigNumberish; dstChainId: BigNumberish; srcPool: AddressLike; dstPool: BytesLike; srcExternalAccount: AddressLike; dstExternalAccount: BytesLike; trader: AddressLike; dstTrader: BytesLike; baseToken: AddressLike; quoteToken: BytesLike; baseTokenAmount: BigNumberish; quoteTokenAmount: BigNumberish; quoteExpiry: BigNumberish; txid: BytesLike; xChainMessenger: AddressLike; takerSignature: BytesLike; makerSignature: BytesLike; }; type XChainRFQMQuoteStructOutput = [ srcChainId: bigint, dstChainId: bigint, srcPool: string, dstPool: string, srcExternalAccount: string, dstExternalAccount: string, trader: string, dstTrader: string, baseToken: string, quoteToken: string, baseTokenAmount: bigint, quoteTokenAmount: bigint, quoteExpiry: bigint, txid: string, xChainMessenger: string, takerSignature: string, makerSignature: string ] & { srcChainId: bigint; dstChainId: bigint; srcPool: string; dstPool: string; srcExternalAccount: string; dstExternalAccount: string; trader: string; dstTrader: string; baseToken: string; quoteToken: string; baseTokenAmount: bigint; quoteTokenAmount: bigint; quoteExpiry: bigint; txid: string; xChainMessenger: string; takerSignature: string; makerSignature: string; }; type XChainRFQTQuoteStruct = { srcChainId: BigNumberish; dstChainId: BigNumberish; srcPool: AddressLike; dstPool: BytesLike; srcExternalAccount: AddressLike; dstExternalAccount: BytesLike; dstTrader: BytesLike; baseToken: AddressLike; quoteToken: BytesLike; effectiveBaseTokenAmount: BigNumberish; baseTokenAmount: BigNumberish; quoteTokenAmount: BigNumberish; quoteExpiry: BigNumberish; nonce: BigNumberish; txid: BytesLike; xChainMessenger: AddressLike; signature: BytesLike; }; type XChainRFQTQuoteStructOutput = [ srcChainId: bigint, dstChainId: bigint, srcPool: string, dstPool: string, srcExternalAccount: string, dstExternalAccount: string, dstTrader: string, baseToken: string, quoteToken: string, effectiveBaseTokenAmount: bigint, baseTokenAmount: bigint, quoteTokenAmount: bigint, quoteExpiry: bigint, nonce: bigint, txid: string, xChainMessenger: string, signature: string ] & { srcChainId: bigint; dstChainId: bigint; srcPool: string; dstPool: string; srcExternalAccount: string; dstExternalAccount: string; dstTrader: string; baseToken: string; quoteToken: string; effectiveBaseTokenAmount: bigint; baseTokenAmount: bigint; quoteTokenAmount: bigint; quoteExpiry: bigint; nonce: bigint; txid: string; xChainMessenger: string; signature: string; }; } export interface IHashflowRouterInterface extends Interface { getFunction(nameOrSignature: "authorizedPools" | "authorizedXChainCallers" | "authorizedXChainMessengersByCallee" | "authorizedXChainMessengersByPool" | "authorizedXChainPools" | "factory" | "fillXChain" | "forceUnauthorizePool" | "initialize" | "killswitchPool" | "tradeRFQM" | "tradeRFQMLimitOrder" | "tradeRFQMLimitOrderWithPermit" | "tradeRFQMWithPermit" | "tradeRFQT" | "tradeRFQTWithPermit" | "tradeXChainRFQM" | "tradeXChainRFQMWithPermit" | "tradeXChainRFQT" | "tradeXChainRFQTWithPermit" | "updateLimitOrderGuardian" | "updatePoolAuthorization" | "updateXChainCallerAuthorization" | "updateXChainMessengerAuthorization" | "updateXChainMessengerCallerAuthorization" | "updateXChainPoolAuthorization" | "withdrawFunds"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "UpdateLimitOrderGuardian" | "UpdatePoolAuthorizaton" | "UpdateXChainCallerAuthorization" | "UpdateXChainMessengerAuthorization" | "UpdateXChainMessengerCallerAuthorization" | "UpdateXChainPoolAuthorization"): EventFragment; encodeFunctionData(functionFragment: "authorizedPools", values: [AddressLike]): string; encodeFunctionData(functionFragment: "authorizedXChainCallers", values: [AddressLike, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "authorizedXChainMessengersByCallee", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "authorizedXChainMessengersByPool", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "authorizedXChainPools", values: [BytesLike, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "factory", values?: undefined): string; encodeFunctionData(functionFragment: "fillXChain", values: [IHashflowRouter.XChainFillMessageStruct]): string; encodeFunctionData(functionFragment: "forceUnauthorizePool", values: [AddressLike]): string; encodeFunctionData(functionFragment: "initialize", values: [AddressLike]): string; encodeFunctionData(functionFragment: "killswitchPool", values: [AddressLike, boolean]): string; encodeFunctionData(functionFragment: "tradeRFQM", values: [IQuote.RFQMQuoteStruct]): string; encodeFunctionData(functionFragment: "tradeRFQMLimitOrder", values: [IQuote.RFQMQuoteStruct, BytesLike]): string; encodeFunctionData(functionFragment: "tradeRFQMLimitOrderWithPermit", values: [ IQuote.RFQMQuoteStruct, BytesLike, BigNumberish, BigNumberish, BytesLike, BytesLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "tradeRFQMWithPermit", values: [ IQuote.RFQMQuoteStruct, BigNumberish, BigNumberish, BytesLike, BytesLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "tradeRFQT", values: [IQuote.RFQTQuoteStruct]): string; encodeFunctionData(functionFragment: "tradeRFQTWithPermit", values: [ IQuote.RFQTQuoteStruct, BigNumberish, BigNumberish, BytesLike, BytesLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "tradeXChainRFQM", values: [IQuote.XChainRFQMQuoteStruct, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "tradeXChainRFQMWithPermit", values: [ IQuote.XChainRFQMQuoteStruct, BytesLike, BytesLike, BigNumberish, BigNumberish, BytesLike, BytesLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "tradeXChainRFQT", values: [IQuote.XChainRFQTQuoteStruct, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "tradeXChainRFQTWithPermit", values: [ IQuote.XChainRFQTQuoteStruct, BytesLike, BytesLike, BigNumberish, BigNumberish, BytesLike, BytesLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "updateLimitOrderGuardian", values: [AddressLike]): string; encodeFunctionData(functionFragment: "updatePoolAuthorization", values: [AddressLike, boolean]): string; encodeFunctionData(functionFragment: "updateXChainCallerAuthorization", values: [BigNumberish, BytesLike, boolean]): string; encodeFunctionData(functionFragment: "updateXChainMessengerAuthorization", values: [AddressLike, boolean]): string; encodeFunctionData(functionFragment: "updateXChainMessengerCallerAuthorization", values: [AddressLike, boolean]): string; encodeFunctionData(functionFragment: "updateXChainPoolAuthorization", values: [BigNumberish, BytesLike, boolean]): string; encodeFunctionData(functionFragment: "withdrawFunds", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "authorizedPools", data: BytesLike): Result; decodeFunctionResult(functionFragment: "authorizedXChainCallers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "authorizedXChainMessengersByCallee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "authorizedXChainMessengersByPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "authorizedXChainPools", data: BytesLike): Result; decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "fillXChain", data: BytesLike): Result; decodeFunctionResult(functionFragment: "forceUnauthorizePool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "killswitchPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeRFQM", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeRFQMLimitOrder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeRFQMLimitOrderWithPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeRFQMWithPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeRFQT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeRFQTWithPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeXChainRFQM", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeXChainRFQMWithPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeXChainRFQT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeXChainRFQTWithPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateLimitOrderGuardian", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updatePoolAuthorization", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateXChainCallerAuthorization", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateXChainMessengerAuthorization", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateXChainMessengerCallerAuthorization", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateXChainPoolAuthorization", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawFunds", data: BytesLike): Result; } export declare namespace UpdateLimitOrderGuardianEvent { type InputTuple = [guardian: AddressLike]; type OutputTuple = [guardian: string]; interface OutputObject { guardian: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace UpdatePoolAuthorizatonEvent { type InputTuple = [pool: AddressLike, authorized: boolean]; type OutputTuple = [pool: string, authorized: boolean]; interface OutputObject { pool: string; authorized: boolean; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace UpdateXChainCallerAuthorizationEvent { type InputTuple = [ pool: AddressLike, otherHashflowChainId: BigNumberish, caller: BytesLike, authorized: boolean ]; type OutputTuple = [ pool: string, otherHashflowChainId: bigint, caller: string, authorized: boolean ]; interface OutputObject { pool: string; otherHashflowChainId: bigint; caller: string; authorized: boolean; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace UpdateXChainMessengerAuthorizationEvent { type InputTuple = [ pool: AddressLike, xChainMessenger: AddressLike, authorized: boolean ]; type OutputTuple = [ pool: string, xChainMessenger: string, authorized: boolean ]; interface OutputObject { pool: string; xChainMessenger: string; authorized: boolean; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace UpdateXChainMessengerCallerAuthorizationEvent { type InputTuple = [ callee: AddressLike, xChainMessenger: AddressLike, authorized: boolean ]; type OutputTuple = [ callee: string, xChainMessenger: string, authorized: boolean ]; interface OutputObject { callee: string; xChainMessenger: string; authorized: boolean; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace UpdateXChainPoolAuthorizationEvent { type InputTuple = [ pool: AddressLike, otherHashflowChainId: BigNumberish, otherChainPool: BytesLike, authorized: boolean ]; type OutputTuple = [ pool: string, otherHashflowChainId: bigint, otherChainPool: string, authorized: boolean ]; interface OutputObject { pool: string; otherHashflowChainId: bigint; otherChainPool: string; authorized: boolean; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export interface IHashflowRouter extends BaseContract { connect(runner?: ContractRunner | null): IHashflowRouter; waitForDeployment(): Promise<this>; interface: IHashflowRouterInterface; queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>; queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>; on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>; on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>; listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>; listeners(eventName?: string): Promise<Array<Listener>>; removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>; authorizedPools: TypedContractMethod<[pool: AddressLike], [boolean], "view">; authorizedXChainCallers: TypedContractMethod<[ dstContract: AddressLike, srcHashflowChainId: BigNumberish, caller: BytesLike ], [ boolean ], "view">; authorizedXChainMessengersByCallee: TypedContractMethod<[ callee: AddressLike, messenger: AddressLike ], [ boolean ], "view">; authorizedXChainMessengersByPool: TypedContractMethod<[ pool: AddressLike, messenger: AddressLike ], [ boolean ], "view">; authorizedXChainPools: TypedContractMethod<[ dstPool: BytesLike, srcHChainId: BigNumberish, srcPool: BytesLike ], [ boolean ], "view">; factory: TypedContractMethod<[], [string], "view">; fillXChain: TypedContractMethod<[ fillMessage: IHashflowRouter.XChainFillMessageStruct ], [ void ], "nonpayable">; forceUnauthorizePool: TypedContractMethod<[ pool: AddressLike ], [ void ], "nonpayable">; initialize: TypedContractMethod<[factory: AddressLike], [void], "nonpayable">; killswitchPool: TypedContractMethod<[ pool: AddressLike, enabled: boolean ], [ void ], "nonpayable">; tradeRFQM: TypedContractMethod<[ quote: IQuote.RFQMQuoteStruct ], [ void ], "nonpayable">; tradeRFQMLimitOrder: TypedContractMethod<[ quote: IQuote.RFQMQuoteStruct, guardianSignature: BytesLike ], [ void ], "nonpayable">; tradeRFQMLimitOrderWithPermit: TypedContractMethod<[ quote: IQuote.RFQMQuoteStruct, guardianSignature: BytesLike, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "nonpayable">; tradeRFQMWithPermit: TypedContractMethod<[ quote: IQuote.RFQMQuoteStruct, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "nonpayable">; tradeRFQT: TypedContractMethod<[ quote: IQuote.RFQTQuoteStruct ], [ void ], "payable">; tradeRFQTWithPermit: TypedContractMethod<[ quote: IQuote.RFQTQuoteStruct, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "nonpayable">; tradeXChainRFQM: TypedContractMethod<[ quote: IQuote.XChainRFQMQuoteStruct, dstContract: BytesLike, dstCalldata: BytesLike ], [ void ], "payable">; tradeXChainRFQMWithPermit: TypedContractMethod<[ quote: IQuote.XChainRFQMQuoteStruct, dstContract: BytesLike, dstCalldata: BytesLike, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "payable">; tradeXChainRFQT: TypedContractMethod<[ quote: IQuote.XChainRFQTQuoteStruct, dstContract: BytesLike, dstCalldata: BytesLike ], [ void ], "payable">; tradeXChainRFQTWithPermit: TypedContractMethod<[ quote: IQuote.XChainRFQTQuoteStruct, dstContract: BytesLike, dstCalldata: BytesLike, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "payable">; updateLimitOrderGuardian: TypedContractMethod<[ guardian: AddressLike ], [ void ], "nonpayable">; updatePoolAuthorization: TypedContractMethod<[ pool: AddressLike, authorized: boolean ], [ void ], "nonpayable">; updateXChainCallerAuthorization: TypedContractMethod<[ otherHashflowChainId: BigNumberish, caller: BytesLike, authorized: boolean ], [ void ], "nonpayable">; updateXChainMessengerAuthorization: TypedContractMethod<[ xChainMessenger: AddressLike, authorized: boolean ], [ void ], "nonpayable">; updateXChainMessengerCallerAuthorization: TypedContractMethod<[ xChainMessenger: AddressLike, authorized: boolean ], [ void ], "nonpayable">; updateXChainPoolAuthorization: TypedContractMethod<[ otherHashflowChainId: BigNumberish, otherPool: BytesLike, authorized: boolean ], [ void ], "nonpayable">; withdrawFunds: TypedContractMethod<[ token: AddressLike ], [ void ], "nonpayable">; getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T; getFunction(nameOrSignature: "authorizedPools"): TypedContractMethod<[pool: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "authorizedXChainCallers"): TypedContractMethod<[ dstContract: AddressLike, srcHashflowChainId: BigNumberish, caller: BytesLike ], [ boolean ], "view">; getFunction(nameOrSignature: "authorizedXChainMessengersByCallee"): TypedContractMethod<[ callee: AddressLike, messenger: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "authorizedXChainMessengersByPool"): TypedContractMethod<[ pool: AddressLike, messenger: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "authorizedXChainPools"): TypedContractMethod<[ dstPool: BytesLike, srcHChainId: BigNumberish, srcPool: BytesLike ], [ boolean ], "view">; getFunction(nameOrSignature: "factory"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "fillXChain"): TypedContractMethod<[ fillMessage: IHashflowRouter.XChainFillMessageStruct ], [ void ], "nonpayable">; getFunction(nameOrSignature: "forceUnauthorizePool"): TypedContractMethod<[pool: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "initialize"): TypedContractMethod<[factory: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "killswitchPool"): TypedContractMethod<[ pool: AddressLike, enabled: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "tradeRFQM"): TypedContractMethod<[quote: IQuote.RFQMQuoteStruct], [void], "nonpayable">; getFunction(nameOrSignature: "tradeRFQMLimitOrder"): TypedContractMethod<[ quote: IQuote.RFQMQuoteStruct, guardianSignature: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "tradeRFQMLimitOrderWithPermit"): TypedContractMethod<[ quote: IQuote.RFQMQuoteStruct, guardianSignature: BytesLike, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "tradeRFQMWithPermit"): TypedContractMethod<[ quote: IQuote.RFQMQuoteStruct, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "tradeRFQT"): TypedContractMethod<[quote: IQuote.RFQTQuoteStruct], [void], "payable">; getFunction(nameOrSignature: "tradeRFQTWithPermit"): TypedContractMethod<[ quote: IQuote.RFQTQuoteStruct, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "tradeXChainRFQM"): TypedContractMethod<[ quote: IQuote.XChainRFQMQuoteStruct, dstContract: BytesLike, dstCalldata: BytesLike ], [ void ], "payable">; getFunction(nameOrSignature: "tradeXChainRFQMWithPermit"): TypedContractMethod<[ quote: IQuote.XChainRFQMQuoteStruct, dstContract: BytesLike, dstCalldata: BytesLike, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "payable">; getFunction(nameOrSignature: "tradeXChainRFQT"): TypedContractMethod<[ quote: IQuote.XChainRFQTQuoteStruct, dstContract: BytesLike, dstCalldata: BytesLike ], [ void ], "payable">; getFunction(nameOrSignature: "tradeXChainRFQTWithPermit"): TypedContractMethod<[ quote: IQuote.XChainRFQTQuoteStruct, dstContract: BytesLike, dstCalldata: BytesLike, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "payable">; getFunction(nameOrSignature: "updateLimitOrderGuardian"): TypedContractMethod<[guardian: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "updatePoolAuthorization"): TypedContractMethod<[ pool: AddressLike, authorized: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateXChainCallerAuthorization"): TypedContractMethod<[ otherHashflowChainId: BigNumberish, caller: BytesLike, authorized: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateXChainMessengerAuthorization"): TypedContractMethod<[ xChainMessenger: AddressLike, authorized: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateXChainMessengerCallerAuthorization"): TypedContractMethod<[ xChainMessenger: AddressLike, authorized: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateXChainPoolAuthorization"): TypedContractMethod<[ otherHashflowChainId: BigNumberish, otherPool: BytesLike, authorized: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "withdrawFunds"): TypedContractMethod<[token: AddressLike], [void], "nonpayable">; getEvent(key: "UpdateLimitOrderGuardian"): TypedContractEvent<UpdateLimitOrderGuardianEvent.InputTuple, UpdateLimitOrderGuardianEvent.OutputTuple, UpdateLimitOrderGuardianEvent.OutputObject>; getEvent(key: "UpdatePoolAuthorizaton"): TypedContractEvent<UpdatePoolAuthorizatonEvent.InputTuple, UpdatePoolAuthorizatonEvent.OutputTuple, UpdatePoolAuthorizatonEvent.OutputObject>; getEvent(key: "UpdateXChainCallerAuthorization"): TypedContractEvent<UpdateXChainCallerAuthorizationEvent.InputTuple, UpdateXChainCallerAuthorizationEvent.OutputTuple, UpdateXChainCallerAuthorizationEvent.OutputObject>; getEvent(key: "UpdateXChainMessengerAuthorization"): TypedContractEvent<UpdateXChainMessengerAuthorizationEvent.InputTuple, UpdateXChainMessengerAuthorizationEvent.OutputTuple, UpdateXChainMessengerAuthorizationEvent.OutputObject>; getEvent(key: "UpdateXChainMessengerCallerAuthorization"): TypedContractEvent<UpdateXChainMessengerCallerAuthorizationEvent.InputTuple, UpdateXChainMessengerCallerAuthorizationEvent.OutputTuple, UpdateXChainMessengerCallerAuthorizationEvent.OutputObject>; getEvent(key: "UpdateXChainPoolAuthorization"): TypedContractEvent<UpdateXChainPoolAuthorizationEvent.InputTuple, UpdateXChainPoolAuthorizationEvent.OutputTuple, UpdateXChainPoolAuthorizationEvent.OutputObject>; filters: { "UpdateLimitOrderGuardian(address)": TypedContractEvent<UpdateLimitOrderGuardianEvent.InputTuple, UpdateLimitOrderGuardianEvent.OutputTuple, UpdateLimitOrderGuardianEvent.OutputObject>; UpdateLimitOrderGuardian: TypedContractEvent<UpdateLimitOrderGuardianEvent.InputTuple, UpdateLimitOrderGuardianEvent.OutputTuple, UpdateLimitOrderGuardianEvent.OutputObject>; "UpdatePoolAuthorizaton(address,bool)": TypedContractEvent<UpdatePoolAuthorizatonEvent.InputTuple, UpdatePoolAuthorizatonEvent.OutputTuple, UpdatePoolAuthorizatonEvent.OutputObject>; UpdatePoolAuthorizaton: TypedContractEvent<UpdatePoolAuthorizatonEvent.InputTuple, UpdatePoolAuthorizatonEvent.OutputTuple, UpdatePoolAuthorizatonEvent.OutputObject>; "UpdateXChainCallerAuthorization(address,uint16,bytes32,bool)": TypedContractEvent<UpdateXChainCallerAuthorizationEvent.InputTuple, UpdateXChainCallerAuthorizationEvent.OutputTuple, UpdateXChainCallerAuthorizationEvent.OutputObject>; UpdateXChainCallerAuthorization: TypedContractEvent<UpdateXChainCallerAuthorizationEvent.InputTuple, UpdateXChainCallerAuthorizationEvent.OutputTuple, UpdateXChainCallerAuthorizationEvent.OutputObject>; "UpdateXChainMessengerAuthorization(address,address,bool)": TypedContractEvent<UpdateXChainMessengerAuthorizationEvent.InputTuple, UpdateXChainMessengerAuthorizationEvent.OutputTuple, UpdateXChainMessengerAuthorizationEvent.OutputObject>; UpdateXChainMessengerAuthorization: TypedContractEvent<UpdateXChainMessengerAuthorizationEvent.InputTuple, UpdateXChainMessengerAuthorizationEvent.OutputTuple, UpdateXChainMessengerAuthorizationEvent.OutputObject>; "UpdateXChainMessengerCallerAuthorization(address,address,bool)": TypedContractEvent<UpdateXChainMessengerCallerAuthorizationEvent.InputTuple, UpdateXChainMessengerCallerAuthorizationEvent.OutputTuple, UpdateXChainMessengerCallerAuthorizationEvent.OutputObject>; UpdateXChainMessengerCallerAuthorization: TypedContractEvent<UpdateXChainMessengerCallerAuthorizationEvent.InputTuple, UpdateXChainMessengerCallerAuthorizationEvent.OutputTuple, UpdateXChainMessengerCallerAuthorizationEvent.OutputObject>; "UpdateXChainPoolAuthorization(address,uint16,bytes32,bool)": TypedContractEvent<UpdateXChainPoolAuthorizationEvent.InputTuple, UpdateXChainPoolAuthorizationEvent.OutputTuple, UpdateXChainPoolAuthorizationEvent.OutputObject>; UpdateXChainPoolAuthorization: TypedContractEvent<UpdateXChainPoolAuthorizationEvent.InputTuple, UpdateXChainPoolAuthorizationEvent.OutputTuple, UpdateXChainPoolAuthorizationEvent.OutputObject>; }; }