@hashflow/contracts-evm
Version:
EVM Smart Contracts for Solidity
944 lines (943 loc) • 41.5 kB
TypeScript
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 HashflowRouterInterface extends Interface {
getFunction(nameOrSignature: "_WETH" | "acceptOwnership" | "authorizedPools" | "authorizedXChainCallers" | "authorizedXChainMessengersByCallee" | "authorizedXChainMessengersByPool" | "authorizedXChainPools" | "eip712Domain" | "factory" | "fillXChain" | "forceUnauthorizePool" | "initialize" | "killswitchPool" | "limitOrderGuardian" | "owner" | "pendingOwner" | "renounceOwnership" | "tradeRFQM" | "tradeRFQMLimitOrder" | "tradeRFQMLimitOrderWithPermit" | "tradeRFQMWithPermit" | "tradeRFQT" | "tradeRFQTWithPermit" | "tradeXChainRFQM" | "tradeXChainRFQMWithPermit" | "tradeXChainRFQT" | "tradeXChainRFQTWithPermit" | "transferOwnership" | "updateLimitOrderGuardian" | "updatePoolAuthorization" | "updateXChainCallerAuthorization" | "updateXChainMessengerAuthorization" | "updateXChainMessengerCallerAuthorization" | "updateXChainPoolAuthorization" | "withdrawFunds"): FunctionFragment;
getEvent(nameOrSignatureOrTopic: "EIP712DomainChanged" | "Initialized" | "OwnershipTransferStarted" | "OwnershipTransferred" | "UpdateLimitOrderGuardian" | "UpdatePoolAuthorizaton" | "UpdateXChainCallerAuthorization" | "UpdateXChainMessengerAuthorization" | "UpdateXChainMessengerCallerAuthorization" | "UpdateXChainPoolAuthorization"): EventFragment;
encodeFunctionData(functionFragment: "_WETH", values?: undefined): string;
encodeFunctionData(functionFragment: "acceptOwnership", values?: undefined): string;
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: "eip712Domain", values?: undefined): 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: "limitOrderGuardian", values?: undefined): string;
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
encodeFunctionData(functionFragment: "pendingOwner", values?: undefined): string;
encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): 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: "transferOwnership", values: [AddressLike]): 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: "_WETH", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "acceptOwnership", data: BytesLike): Result;
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: "eip712Domain", 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: "limitOrderGuardian", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "pendingOwner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "renounceOwnership", 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: "transferOwnership", 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 EIP712DomainChangedEvent {
type InputTuple = [];
type OutputTuple = [];
interface OutputObject {
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace InitializedEvent {
type InputTuple = [version: BigNumberish];
type OutputTuple = [version: bigint];
interface OutputObject {
version: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace OwnershipTransferStartedEvent {
type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
type OutputTuple = [previousOwner: string, newOwner: string];
interface OutputObject {
previousOwner: string;
newOwner: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace OwnershipTransferredEvent {
type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
type OutputTuple = [previousOwner: string, newOwner: string];
interface OutputObject {
previousOwner: string;
newOwner: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
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 HashflowRouter extends BaseContract {
connect(runner?: ContractRunner | null): HashflowRouter;
waitForDeployment(): Promise<this>;
interface: HashflowRouterInterface;
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>;
_WETH: TypedContractMethod<[], [string], "view">;
acceptOwnership: TypedContractMethod<[], [void], "nonpayable">;
authorizedPools: TypedContractMethod<[arg0: AddressLike], [boolean], "view">;
authorizedXChainCallers: TypedContractMethod<[
arg0: AddressLike,
arg1: BigNumberish,
arg2: BytesLike
], [
boolean
], "view">;
authorizedXChainMessengersByCallee: TypedContractMethod<[
arg0: AddressLike,
arg1: AddressLike
], [
boolean
], "view">;
authorizedXChainMessengersByPool: TypedContractMethod<[
arg0: AddressLike,
arg1: AddressLike
], [
boolean
], "view">;
authorizedXChainPools: TypedContractMethod<[
arg0: BytesLike,
arg1: BigNumberish,
arg2: BytesLike
], [
boolean
], "view">;
eip712Domain: TypedContractMethod<[
], [
[
string,
string,
string,
bigint,
string,
string,
bigint[]
] & {
fields: string;
name: string;
version: string;
chainId: bigint;
verifyingContract: string;
salt: string;
extensions: bigint[];
}
], "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">;
limitOrderGuardian: TypedContractMethod<[], [string], "view">;
owner: TypedContractMethod<[], [string], "view">;
pendingOwner: TypedContractMethod<[], [string], "view">;
renounceOwnership: TypedContractMethod<[], [void], "view">;
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">;
transferOwnership: TypedContractMethod<[
newOwner: AddressLike
], [
void
], "nonpayable">;
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: "_WETH"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "acceptOwnership"): TypedContractMethod<[], [void], "nonpayable">;
getFunction(nameOrSignature: "authorizedPools"): TypedContractMethod<[arg0: AddressLike], [boolean], "view">;
getFunction(nameOrSignature: "authorizedXChainCallers"): TypedContractMethod<[
arg0: AddressLike,
arg1: BigNumberish,
arg2: BytesLike
], [
boolean
], "view">;
getFunction(nameOrSignature: "authorizedXChainMessengersByCallee"): TypedContractMethod<[
arg0: AddressLike,
arg1: AddressLike
], [
boolean
], "view">;
getFunction(nameOrSignature: "authorizedXChainMessengersByPool"): TypedContractMethod<[
arg0: AddressLike,
arg1: AddressLike
], [
boolean
], "view">;
getFunction(nameOrSignature: "authorizedXChainPools"): TypedContractMethod<[
arg0: BytesLike,
arg1: BigNumberish,
arg2: BytesLike
], [
boolean
], "view">;
getFunction(nameOrSignature: "eip712Domain"): TypedContractMethod<[
], [
[
string,
string,
string,
bigint,
string,
string,
bigint[]
] & {
fields: string;
name: string;
version: string;
chainId: bigint;
verifyingContract: string;
salt: string;
extensions: bigint[];
}
], "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: "limitOrderGuardian"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "pendingOwner"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "view">;
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: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">;
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: "EIP712DomainChanged"): TypedContractEvent<EIP712DomainChangedEvent.InputTuple, EIP712DomainChangedEvent.OutputTuple, EIP712DomainChangedEvent.OutputObject>;
getEvent(key: "Initialized"): TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
getEvent(key: "OwnershipTransferStarted"): TypedContractEvent<OwnershipTransferStartedEvent.InputTuple, OwnershipTransferStartedEvent.OutputTuple, OwnershipTransferStartedEvent.OutputObject>;
getEvent(key: "OwnershipTransferred"): TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
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: {
"EIP712DomainChanged()": TypedContractEvent<EIP712DomainChangedEvent.InputTuple, EIP712DomainChangedEvent.OutputTuple, EIP712DomainChangedEvent.OutputObject>;
EIP712DomainChanged: TypedContractEvent<EIP712DomainChangedEvent.InputTuple, EIP712DomainChangedEvent.OutputTuple, EIP712DomainChangedEvent.OutputObject>;
"Initialized(uint8)": TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
Initialized: TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
"OwnershipTransferStarted(address,address)": TypedContractEvent<OwnershipTransferStartedEvent.InputTuple, OwnershipTransferStartedEvent.OutputTuple, OwnershipTransferStartedEvent.OutputObject>;
OwnershipTransferStarted: TypedContractEvent<OwnershipTransferStartedEvent.InputTuple, OwnershipTransferStartedEvent.OutputTuple, OwnershipTransferStartedEvent.OutputObject>;
"OwnershipTransferred(address,address)": TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
OwnershipTransferred: TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
"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>;
};
}