@hashflow/contracts-evm
Version:
EVM Smart Contracts for Solidity
809 lines (808 loc) • 34 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 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>;
};
}