@hashflow/contracts-evm
Version:
EVM Smart Contracts for Solidity
619 lines (618 loc) • 26.4 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 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 declare namespace IHashflowPool {
type AuthorizedXChainPoolStruct = {
chainId: BigNumberish;
pool: BytesLike;
};
type AuthorizedXChainPoolStructOutput = [
chainId: bigint,
pool: string
] & {
chainId: bigint;
pool: string;
};
}
export interface IHashflowPoolInterface extends Interface {
getFunction(nameOrSignature: "approveToken" | "decreaseTokenAllowance" | "fillXChain" | "getReserves" | "increaseTokenAllowance" | "initialize" | "isValidSignature" | "killswitchOperations" | "name" | "nonces" | "operations" | "removeLiquidity" | "router" | "signerConfiguration" | "tradeRFQM" | "tradeRFQT" | "tradeXChainRFQM" | "tradeXChainRFQT" | "updateSigner" | "updateWithdrawalAccount" | "updateXChainMessengerAuthorization" | "updateXChainPoolAuthorization"): FunctionFragment;
getEvent(nameOrSignatureOrTopic: "RemoveLiquidity" | "Trade" | "UpdateSigner" | "UpdateWithdrawalAccount" | "XChainTrade" | "XChainTradeFill"): EventFragment;
encodeFunctionData(functionFragment: "approveToken", values: [AddressLike, AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "decreaseTokenAllowance", values: [AddressLike, AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "fillXChain", values: [AddressLike, BytesLike, AddressLike, AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "getReserves", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "increaseTokenAllowance", values: [AddressLike, AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "initialize", values: [string, AddressLike, AddressLike, AddressLike]): string;
encodeFunctionData(functionFragment: "isValidSignature", values: [BytesLike, BytesLike]): string;
encodeFunctionData(functionFragment: "killswitchOperations", values: [boolean]): string;
encodeFunctionData(functionFragment: "name", values?: undefined): string;
encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "operations", values?: undefined): string;
encodeFunctionData(functionFragment: "removeLiquidity", values: [AddressLike, AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "router", values?: undefined): string;
encodeFunctionData(functionFragment: "signerConfiguration", values?: undefined): string;
encodeFunctionData(functionFragment: "tradeRFQM", values: [IQuote.RFQMQuoteStruct]): string;
encodeFunctionData(functionFragment: "tradeRFQT", values: [IQuote.RFQTQuoteStruct]): string;
encodeFunctionData(functionFragment: "tradeXChainRFQM", values: [IQuote.XChainRFQMQuoteStruct]): string;
encodeFunctionData(functionFragment: "tradeXChainRFQT", values: [IQuote.XChainRFQTQuoteStruct, AddressLike]): string;
encodeFunctionData(functionFragment: "updateSigner", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "updateWithdrawalAccount", values: [AddressLike[], boolean]): string;
encodeFunctionData(functionFragment: "updateXChainMessengerAuthorization", values: [AddressLike, boolean]): string;
encodeFunctionData(functionFragment: "updateXChainPoolAuthorization", values: [IHashflowPool.AuthorizedXChainPoolStruct[], boolean]): string;
decodeFunctionResult(functionFragment: "approveToken", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "decreaseTokenAllowance", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "fillXChain", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getReserves", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "increaseTokenAllowance", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "isValidSignature", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "killswitchOperations", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "operations", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "removeLiquidity", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "router", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "signerConfiguration", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "tradeRFQM", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "tradeRFQT", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "tradeXChainRFQM", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "tradeXChainRFQT", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "updateSigner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "updateWithdrawalAccount", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "updateXChainMessengerAuthorization", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "updateXChainPoolAuthorization", data: BytesLike): Result;
}
export declare namespace RemoveLiquidityEvent {
type InputTuple = [
token: AddressLike,
recipient: AddressLike,
withdrawAmount: BigNumberish
];
type OutputTuple = [
token: string,
recipient: string,
withdrawAmount: bigint
];
interface OutputObject {
token: string;
recipient: string;
withdrawAmount: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace TradeEvent {
type InputTuple = [
trader: AddressLike,
effectiveTrader: AddressLike,
txid: BytesLike,
baseToken: AddressLike,
quoteToken: AddressLike,
baseTokenAmount: BigNumberish,
quoteTokenAmount: BigNumberish
];
type OutputTuple = [
trader: string,
effectiveTrader: string,
txid: string,
baseToken: string,
quoteToken: string,
baseTokenAmount: bigint,
quoteTokenAmount: bigint
];
interface OutputObject {
trader: string;
effectiveTrader: string;
txid: string;
baseToken: string;
quoteToken: string;
baseTokenAmount: bigint;
quoteTokenAmount: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace UpdateSignerEvent {
type InputTuple = [signer: AddressLike, prevSigner: AddressLike];
type OutputTuple = [signer: string, prevSigner: string];
interface OutputObject {
signer: string;
prevSigner: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace UpdateWithdrawalAccountEvent {
type InputTuple = [account: AddressLike, authorized: boolean];
type OutputTuple = [account: string, authorized: boolean];
interface OutputObject {
account: string;
authorized: boolean;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace XChainTradeEvent {
type InputTuple = [
dstChainId: BigNumberish,
dstPool: BytesLike,
trader: AddressLike,
dstTrader: BytesLike,
txid: BytesLike,
baseToken: AddressLike,
quoteToken: BytesLike,
baseTokenAmount: BigNumberish,
quoteTokenAmount: BigNumberish
];
type OutputTuple = [
dstChainId: bigint,
dstPool: string,
trader: string,
dstTrader: string,
txid: string,
baseToken: string,
quoteToken: string,
baseTokenAmount: bigint,
quoteTokenAmount: bigint
];
interface OutputObject {
dstChainId: bigint;
dstPool: string;
trader: string;
dstTrader: string;
txid: string;
baseToken: string;
quoteToken: string;
baseTokenAmount: bigint;
quoteTokenAmount: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace XChainTradeFillEvent {
type InputTuple = [txid: BytesLike];
type OutputTuple = [txid: string];
interface OutputObject {
txid: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export interface IHashflowPool extends BaseContract {
connect(runner?: ContractRunner | null): IHashflowPool;
waitForDeployment(): Promise<this>;
interface: IHashflowPoolInterface;
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>;
approveToken: TypedContractMethod<[
token: AddressLike,
spender: AddressLike,
amount: BigNumberish
], [
void
], "nonpayable">;
decreaseTokenAllowance: TypedContractMethod<[
token: AddressLike,
spender: AddressLike,
amount: BigNumberish
], [
void
], "nonpayable">;
fillXChain: TypedContractMethod<[
externalAccount: AddressLike,
txid: BytesLike,
trader: AddressLike,
quoteToken: AddressLike,
quoteTokenAmount: BigNumberish
], [
void
], "nonpayable">;
getReserves: TypedContractMethod<[token: AddressLike], [bigint], "view">;
increaseTokenAllowance: TypedContractMethod<[
token: AddressLike,
spender: AddressLike,
amount: BigNumberish
], [
void
], "nonpayable">;
initialize: TypedContractMethod<[
name: string,
signer: AddressLike,
operations: AddressLike,
router: AddressLike
], [
void
], "nonpayable">;
isValidSignature: TypedContractMethod<[
hash: BytesLike,
signature: BytesLike
], [
string
], "view">;
killswitchOperations: TypedContractMethod<[
enabled: boolean
], [
void
], "nonpayable">;
name: TypedContractMethod<[], [string], "view">;
nonces: TypedContractMethod<[trader: AddressLike], [bigint], "view">;
operations: TypedContractMethod<[], [string], "view">;
removeLiquidity: TypedContractMethod<[
token: AddressLike,
recipient: AddressLike,
amount: BigNumberish
], [
void
], "nonpayable">;
router: TypedContractMethod<[], [string], "view">;
signerConfiguration: TypedContractMethod<[], [[string, boolean]], "view">;
tradeRFQM: TypedContractMethod<[
quote: IQuote.RFQMQuoteStruct
], [
void
], "nonpayable">;
tradeRFQT: TypedContractMethod<[
quote: IQuote.RFQTQuoteStruct
], [
void
], "payable">;
tradeXChainRFQM: TypedContractMethod<[
quote: IQuote.XChainRFQMQuoteStruct
], [
void
], "nonpayable">;
tradeXChainRFQT: TypedContractMethod<[
quote: IQuote.XChainRFQTQuoteStruct,
trader: AddressLike
], [
void
], "payable">;
updateSigner: TypedContractMethod<[
signer: AddressLike
], [
void
], "nonpayable">;
updateWithdrawalAccount: TypedContractMethod<[
withdrawalAccounts: AddressLike[],
authorized: boolean
], [
void
], "nonpayable">;
updateXChainMessengerAuthorization: TypedContractMethod<[
xChainMessenger: AddressLike,
authorized: boolean
], [
void
], "nonpayable">;
updateXChainPoolAuthorization: TypedContractMethod<[
pools: IHashflowPool.AuthorizedXChainPoolStruct[],
authorized: boolean
], [
void
], "nonpayable">;
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
getFunction(nameOrSignature: "approveToken"): TypedContractMethod<[
token: AddressLike,
spender: AddressLike,
amount: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "decreaseTokenAllowance"): TypedContractMethod<[
token: AddressLike,
spender: AddressLike,
amount: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "fillXChain"): TypedContractMethod<[
externalAccount: AddressLike,
txid: BytesLike,
trader: AddressLike,
quoteToken: AddressLike,
quoteTokenAmount: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "getReserves"): TypedContractMethod<[token: AddressLike], [bigint], "view">;
getFunction(nameOrSignature: "increaseTokenAllowance"): TypedContractMethod<[
token: AddressLike,
spender: AddressLike,
amount: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "initialize"): TypedContractMethod<[
name: string,
signer: AddressLike,
operations: AddressLike,
router: AddressLike
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "isValidSignature"): TypedContractMethod<[
hash: BytesLike,
signature: BytesLike
], [
string
], "view">;
getFunction(nameOrSignature: "killswitchOperations"): TypedContractMethod<[enabled: boolean], [void], "nonpayable">;
getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "nonces"): TypedContractMethod<[trader: AddressLike], [bigint], "view">;
getFunction(nameOrSignature: "operations"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "removeLiquidity"): TypedContractMethod<[
token: AddressLike,
recipient: AddressLike,
amount: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "router"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "signerConfiguration"): TypedContractMethod<[], [[string, boolean]], "view">;
getFunction(nameOrSignature: "tradeRFQM"): TypedContractMethod<[quote: IQuote.RFQMQuoteStruct], [void], "nonpayable">;
getFunction(nameOrSignature: "tradeRFQT"): TypedContractMethod<[quote: IQuote.RFQTQuoteStruct], [void], "payable">;
getFunction(nameOrSignature: "tradeXChainRFQM"): TypedContractMethod<[
quote: IQuote.XChainRFQMQuoteStruct
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "tradeXChainRFQT"): TypedContractMethod<[
quote: IQuote.XChainRFQTQuoteStruct,
trader: AddressLike
], [
void
], "payable">;
getFunction(nameOrSignature: "updateSigner"): TypedContractMethod<[signer: AddressLike], [void], "nonpayable">;
getFunction(nameOrSignature: "updateWithdrawalAccount"): TypedContractMethod<[
withdrawalAccounts: AddressLike[],
authorized: boolean
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "updateXChainMessengerAuthorization"): TypedContractMethod<[
xChainMessenger: AddressLike,
authorized: boolean
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "updateXChainPoolAuthorization"): TypedContractMethod<[
pools: IHashflowPool.AuthorizedXChainPoolStruct[],
authorized: boolean
], [
void
], "nonpayable">;
getEvent(key: "RemoveLiquidity"): TypedContractEvent<RemoveLiquidityEvent.InputTuple, RemoveLiquidityEvent.OutputTuple, RemoveLiquidityEvent.OutputObject>;
getEvent(key: "Trade"): TypedContractEvent<TradeEvent.InputTuple, TradeEvent.OutputTuple, TradeEvent.OutputObject>;
getEvent(key: "UpdateSigner"): TypedContractEvent<UpdateSignerEvent.InputTuple, UpdateSignerEvent.OutputTuple, UpdateSignerEvent.OutputObject>;
getEvent(key: "UpdateWithdrawalAccount"): TypedContractEvent<UpdateWithdrawalAccountEvent.InputTuple, UpdateWithdrawalAccountEvent.OutputTuple, UpdateWithdrawalAccountEvent.OutputObject>;
getEvent(key: "XChainTrade"): TypedContractEvent<XChainTradeEvent.InputTuple, XChainTradeEvent.OutputTuple, XChainTradeEvent.OutputObject>;
getEvent(key: "XChainTradeFill"): TypedContractEvent<XChainTradeFillEvent.InputTuple, XChainTradeFillEvent.OutputTuple, XChainTradeFillEvent.OutputObject>;
filters: {
"RemoveLiquidity(address,address,uint256)": TypedContractEvent<RemoveLiquidityEvent.InputTuple, RemoveLiquidityEvent.OutputTuple, RemoveLiquidityEvent.OutputObject>;
RemoveLiquidity: TypedContractEvent<RemoveLiquidityEvent.InputTuple, RemoveLiquidityEvent.OutputTuple, RemoveLiquidityEvent.OutputObject>;
"Trade(address,address,bytes32,address,address,uint256,uint256)": TypedContractEvent<TradeEvent.InputTuple, TradeEvent.OutputTuple, TradeEvent.OutputObject>;
Trade: TypedContractEvent<TradeEvent.InputTuple, TradeEvent.OutputTuple, TradeEvent.OutputObject>;
"UpdateSigner(address,address)": TypedContractEvent<UpdateSignerEvent.InputTuple, UpdateSignerEvent.OutputTuple, UpdateSignerEvent.OutputObject>;
UpdateSigner: TypedContractEvent<UpdateSignerEvent.InputTuple, UpdateSignerEvent.OutputTuple, UpdateSignerEvent.OutputObject>;
"UpdateWithdrawalAccount(address,bool)": TypedContractEvent<UpdateWithdrawalAccountEvent.InputTuple, UpdateWithdrawalAccountEvent.OutputTuple, UpdateWithdrawalAccountEvent.OutputObject>;
UpdateWithdrawalAccount: TypedContractEvent<UpdateWithdrawalAccountEvent.InputTuple, UpdateWithdrawalAccountEvent.OutputTuple, UpdateWithdrawalAccountEvent.OutputObject>;
"XChainTrade(uint16,bytes32,address,bytes32,bytes32,address,bytes32,uint256,uint256)": TypedContractEvent<XChainTradeEvent.InputTuple, XChainTradeEvent.OutputTuple, XChainTradeEvent.OutputObject>;
XChainTrade: TypedContractEvent<XChainTradeEvent.InputTuple, XChainTradeEvent.OutputTuple, XChainTradeEvent.OutputObject>;
"XChainTradeFill(bytes32)": TypedContractEvent<XChainTradeFillEvent.InputTuple, XChainTradeFillEvent.OutputTuple, XChainTradeFillEvent.OutputObject>;
XChainTradeFill: TypedContractEvent<XChainTradeFillEvent.InputTuple, XChainTradeFillEvent.OutputTuple, XChainTradeFillEvent.OutputObject>;
};
}