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 RFQTQuoteStruct = { pool: AddressLike; externalAccount: AddressLike; trader: AddressLike; effectiveTrader: AddressLike; baseToken: AddressLike; quoteToken: AddressLike; effectiveBaseTokenAmount: BigNumberish; maxBaseTokenAmount: BigNumberish; maxQuoteTokenAmount: 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, maxBaseTokenAmount: bigint, maxQuoteTokenAmount: bigint, quoteExpiry: bigint, nonce: bigint, txid: string, signature: string ] & { pool: string; externalAccount: string; trader: string; effectiveTrader: string; baseToken: string; quoteToken: string; effectiveBaseTokenAmount: bigint; maxBaseTokenAmount: bigint; maxQuoteTokenAmount: bigint; quoteExpiry: bigint; nonce: bigint; txid: string; signature: string; }; 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 XChainRFQTQuoteStruct = { srcChainId: BigNumberish; dstChainId: BigNumberish; srcPool: AddressLike; dstPool: BytesLike; srcExternalAccount: AddressLike; dstExternalAccount: BytesLike; trader: AddressLike; baseToken: AddressLike; quoteToken: AddressLike; baseTokenAmount: BigNumberish; quoteTokenAmount: BigNumberish; quoteExpiry: BigNumberish; nonce: BigNumberish; txid: BytesLike; signature: BytesLike; }; type XChainRFQTQuoteStructOutput = [ srcChainId: bigint, dstChainId: bigint, srcPool: string, dstPool: string, srcExternalAccount: string, dstExternalAccount: string, trader: string, baseToken: string, quoteToken: string, baseTokenAmount: bigint, quoteTokenAmount: bigint, quoteExpiry: bigint, nonce: bigint, txid: string, signature: string ] & { srcChainId: bigint; dstChainId: bigint; srcPool: string; dstPool: string; srcExternalAccount: string; dstExternalAccount: string; trader: string; baseToken: string; quoteToken: string; 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; baseToken: AddressLike; quoteToken: AddressLike; baseTokenAmount: BigNumberish; quoteTokenAmount: BigNumberish; quoteExpiry: BigNumberish; txid: BytesLike; takerSignature: BytesLike; makerSignature: BytesLike; }; type XChainRFQMQuoteStructOutput = [ srcChainId: bigint, dstChainId: bigint, srcPool: string, dstPool: string, srcExternalAccount: string, dstExternalAccount: string, trader: string, baseToken: string, quoteToken: string, baseTokenAmount: bigint, quoteTokenAmount: bigint, quoteExpiry: bigint, txid: string, takerSignature: string, makerSignature: string ] & { srcChainId: bigint; dstChainId: bigint; srcPool: string; dstPool: string; srcExternalAccount: string; dstExternalAccount: string; trader: string; baseToken: string; quoteToken: string; baseTokenAmount: bigint; quoteTokenAmount: bigint; quoteExpiry: bigint; txid: string; takerSignature: string; makerSignature: string; }; } export declare namespace IHashflowPool { type AuthorizedXChainPoolStruct = { chainId: BigNumberish; pool: BytesLike; }; type AuthorizedXChainPoolStructOutput = [ chainId: bigint, pool: string ] & { chainId: bigint; pool: string; }; } export interface IHashflowPrivatePoolInterface extends Interface { getFunction(nameOrSignature: "addLiquidity" | "authorizedRouters" | "fillXChain" | "getReserves" | "governance" | "hTokens" | "initialize" | "killswitchOperations" | "listAsset" | "migrateRouterAuthorization" | "name" | "nonces" | "operations" | "redeemXChainTokens" | "removeLiquidity" | "signerConfiguration" | "symbol" | "trade" | "tradeRFQm" | "tradeXChain" | "tradeXChainRFQm" | "updateRouterPermissions" | "updateSigner" | "updateWithdrawalAccount" | "updateXChainPoolAuthorization" | "updateXChainUa"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AddLiquidity" | "ListAsset" | "RemoveLiquidity" | "Trade" | "UpdateRouterPermissions" | "UpdateSigner" | "UpdateWithdrawalAccount" | "UpdateXChainUA" | "XChainTrade"): EventFragment; encodeFunctionData(functionFragment: "addLiquidity", values: [AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "authorizedRouters", values: [AddressLike]): string; encodeFunctionData(functionFragment: "fillXChain", values: [ AddressLike, BytesLike, AddressLike, AddressLike, BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "getReserves", values: [AddressLike]): string; encodeFunctionData(functionFragment: "governance", values?: undefined): string; encodeFunctionData(functionFragment: "hTokens", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "initialize", values: [ string, string, AddressLike, AddressLike, AddressLike, AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "killswitchOperations", values: [boolean]): string; encodeFunctionData(functionFragment: "listAsset", values: [AddressLike]): string; encodeFunctionData(functionFragment: "migrateRouterAuthorization", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; encodeFunctionData(functionFragment: "operations", values?: undefined): string; encodeFunctionData(functionFragment: "redeemXChainTokens", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "removeLiquidity", values: [AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "signerConfiguration", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "trade", values: [IQuote.RFQTQuoteStruct]): string; encodeFunctionData(functionFragment: "tradeRFQm", values: [IQuote.RFQMQuoteStruct]): string; encodeFunctionData(functionFragment: "tradeXChain", values: [IQuote.XChainRFQTQuoteStruct]): string; encodeFunctionData(functionFragment: "tradeXChainRFQm", values: [IQuote.XChainRFQMQuoteStruct]): string; encodeFunctionData(functionFragment: "updateRouterPermissions", values: [AddressLike, boolean]): string; encodeFunctionData(functionFragment: "updateSigner", values: [AddressLike]): string; encodeFunctionData(functionFragment: "updateWithdrawalAccount", values: [AddressLike[], boolean]): string; encodeFunctionData(functionFragment: "updateXChainPoolAuthorization", values: [ IHashflowPool.AuthorizedXChainPoolStruct[], BigNumberish[], boolean ]): string; encodeFunctionData(functionFragment: "updateXChainUa", values?: undefined): string; decodeFunctionResult(functionFragment: "addLiquidity", data: BytesLike): Result; decodeFunctionResult(functionFragment: "authorizedRouters", data: BytesLike): Result; decodeFunctionResult(functionFragment: "fillXChain", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReserves", data: BytesLike): Result; decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "killswitchOperations", data: BytesLike): Result; decodeFunctionResult(functionFragment: "listAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "migrateRouterAuthorization", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "operations", data: BytesLike): Result; decodeFunctionResult(functionFragment: "redeemXChainTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeLiquidity", data: BytesLike): Result; decodeFunctionResult(functionFragment: "signerConfiguration", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "trade", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeRFQm", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeXChain", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeXChainRFQm", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateRouterPermissions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateSigner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateWithdrawalAccount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateXChainPoolAuthorization", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateXChainUa", data: BytesLike): Result; } export declare namespace AddLiquidityEvent { type InputTuple = [ token: AddressLike, liquidityProvider: AddressLike, depositAmount: BigNumberish, hTokenAmount: BigNumberish ]; type OutputTuple = [ token: string, liquidityProvider: string, depositAmount: bigint, hTokenAmount: bigint ]; interface OutputObject { token: string; liquidityProvider: string; depositAmount: bigint; hTokenAmount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ListAssetEvent { type InputTuple = [ token: AddressLike, hTokenXChain: AddressLike, hTokenLp: AddressLike ]; type OutputTuple = [ token: string, hTokenXChain: string, hTokenLp: string ]; interface OutputObject { token: string; hTokenXChain: string; hTokenLp: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RemoveLiquidityEvent { type InputTuple = [ token: AddressLike, liquidityProvider: AddressLike, withdrawAmount: BigNumberish, burnAmount: BigNumberish ]; type OutputTuple = [ token: string, liquidityProvider: string, withdrawAmount: bigint, burnAmount: bigint ]; interface OutputObject { token: string; liquidityProvider: string; withdrawAmount: bigint; burnAmount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace TradeEvent { type InputTuple = [ trader: AddressLike, txid: BytesLike, baseToken: AddressLike, quoteToken: AddressLike, baseTokenAmount: BigNumberish, quoteTokenAmount: BigNumberish ]; type OutputTuple = [ trader: string, txid: string, baseToken: string, quoteToken: string, baseTokenAmount: bigint, quoteTokenAmount: bigint ]; interface OutputObject { trader: string; txid: string; baseToken: string; quoteToken: string; baseTokenAmount: bigint; quoteTokenAmount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdateRouterPermissionsEvent { type InputTuple = [router: AddressLike, authorized: boolean]; type OutputTuple = [router: string, authorized: boolean]; interface OutputObject { router: string; authorized: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdateXChainUAEvent { type InputTuple = [xChainUa: AddressLike, prevXChainUa: AddressLike]; type OutputTuple = [xChainUa: string, prevXChainUa: string]; interface OutputObject { xChainUa: string; prevXChainUa: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace XChainTradeEvent { type InputTuple = [ dstChainId: BigNumberish, dstPool: BytesLike, trader: AddressLike, txid: BytesLike, baseToken: AddressLike, quoteToken: AddressLike, baseTokenAmount: BigNumberish, quoteTokenAmount: BigNumberish ]; type OutputTuple = [ dstChainId: bigint, dstPool: string, trader: string, txid: string, baseToken: string, quoteToken: string, baseTokenAmount: bigint, quoteTokenAmount: bigint ]; interface OutputObject { dstChainId: bigint; dstPool: string; trader: string; txid: string; baseToken: string; quoteToken: string; baseTokenAmount: bigint; quoteTokenAmount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IHashflowPrivatePool extends BaseContract { connect(runner?: ContractRunner | null): IHashflowPrivatePool; waitForDeployment(): Promise; interface: IHashflowPrivatePoolInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; addLiquidity: TypedContractMethod<[ token: AddressLike, liquidityProvider: AddressLike, depositAmount: BigNumberish ], [ void ], "nonpayable">; authorizedRouters: TypedContractMethod<[ router: AddressLike ], [ boolean ], "view">; fillXChain: TypedContractMethod<[ externalAccount: AddressLike, txid: BytesLike, trader: AddressLike, quoteToken: AddressLike, quoteTokenAmount: BigNumberish, protocol: BigNumberish ], [ [string, bigint] ], "nonpayable">; getReserves: TypedContractMethod<[token: AddressLike], [bigint], "view">; governance: TypedContractMethod<[], [string], "view">; hTokens: TypedContractMethod<[ hTokenType: BigNumberish, token: AddressLike ], [ string ], "view">; initialize: TypedContractMethod<[ name: string, symbol: string, signer: AddressLike, operations: AddressLike, hTokenImpl: AddressLike, governance: AddressLike, router: AddressLike ], [ void ], "nonpayable">; killswitchOperations: TypedContractMethod<[ enabled: boolean ], [ void ], "nonpayable">; listAsset: TypedContractMethod<[token: AddressLike], [void], "nonpayable">; migrateRouterAuthorization: TypedContractMethod<[ newRouter: AddressLike, oldRouter: AddressLike ], [ void ], "nonpayable">; name: TypedContractMethod<[], [string], "view">; nonces: TypedContractMethod<[trader: AddressLike], [bigint], "view">; operations: TypedContractMethod<[], [string], "view">; redeemXChainTokens: TypedContractMethod<[ token: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; removeLiquidity: TypedContractMethod<[ token: AddressLike, recipient: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; signerConfiguration: TypedContractMethod<[], [[string, boolean]], "view">; symbol: TypedContractMethod<[], [string], "view">; trade: TypedContractMethod<[ quote: IQuote.RFQTQuoteStruct ], [ boolean ], "payable">; tradeRFQm: TypedContractMethod<[ quote: IQuote.RFQMQuoteStruct ], [ boolean ], "nonpayable">; tradeXChain: TypedContractMethod<[ quote: IQuote.XChainRFQTQuoteStruct ], [ boolean ], "payable">; tradeXChainRFQm: TypedContractMethod<[ quote: IQuote.XChainRFQMQuoteStruct ], [ boolean ], "nonpayable">; updateRouterPermissions: TypedContractMethod<[ router: AddressLike, authorized: boolean ], [ void ], "nonpayable">; updateSigner: TypedContractMethod<[ signer: AddressLike ], [ void ], "nonpayable">; updateWithdrawalAccount: TypedContractMethod<[ withdrawalAccounts: AddressLike[], authorized: boolean ], [ void ], "nonpayable">; updateXChainPoolAuthorization: TypedContractMethod<[ pools: IHashflowPool.AuthorizedXChainPoolStruct[], protocols: BigNumberish[], authorized: boolean ], [ void ], "nonpayable">; updateXChainUa: TypedContractMethod<[], [void], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "addLiquidity"): TypedContractMethod<[ token: AddressLike, liquidityProvider: AddressLike, depositAmount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "authorizedRouters"): TypedContractMethod<[router: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "fillXChain"): TypedContractMethod<[ externalAccount: AddressLike, txid: BytesLike, trader: AddressLike, quoteToken: AddressLike, quoteTokenAmount: BigNumberish, protocol: BigNumberish ], [ [string, bigint] ], "nonpayable">; getFunction(nameOrSignature: "getReserves"): TypedContractMethod<[token: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "governance"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "hTokens"): TypedContractMethod<[ hTokenType: BigNumberish, token: AddressLike ], [ string ], "view">; getFunction(nameOrSignature: "initialize"): TypedContractMethod<[ name: string, symbol: string, signer: AddressLike, operations: AddressLike, hTokenImpl: AddressLike, governance: AddressLike, router: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "killswitchOperations"): TypedContractMethod<[enabled: boolean], [void], "nonpayable">; getFunction(nameOrSignature: "listAsset"): TypedContractMethod<[token: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "migrateRouterAuthorization"): TypedContractMethod<[ newRouter: AddressLike, oldRouter: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "nonces"): TypedContractMethod<[trader: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "operations"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "redeemXChainTokens"): TypedContractMethod<[ token: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "removeLiquidity"): TypedContractMethod<[ token: AddressLike, recipient: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "signerConfiguration"): TypedContractMethod<[], [[string, boolean]], "view">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "trade"): TypedContractMethod<[quote: IQuote.RFQTQuoteStruct], [boolean], "payable">; getFunction(nameOrSignature: "tradeRFQm"): TypedContractMethod<[ quote: IQuote.RFQMQuoteStruct ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "tradeXChain"): TypedContractMethod<[ quote: IQuote.XChainRFQTQuoteStruct ], [ boolean ], "payable">; getFunction(nameOrSignature: "tradeXChainRFQm"): TypedContractMethod<[ quote: IQuote.XChainRFQMQuoteStruct ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "updateRouterPermissions"): TypedContractMethod<[ router: AddressLike, authorized: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateSigner"): TypedContractMethod<[signer: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "updateWithdrawalAccount"): TypedContractMethod<[ withdrawalAccounts: AddressLike[], authorized: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateXChainPoolAuthorization"): TypedContractMethod<[ pools: IHashflowPool.AuthorizedXChainPoolStruct[], protocols: BigNumberish[], authorized: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateXChainUa"): TypedContractMethod<[], [void], "nonpayable">; getEvent(key: "AddLiquidity"): TypedContractEvent; getEvent(key: "ListAsset"): TypedContractEvent; getEvent(key: "RemoveLiquidity"): TypedContractEvent; getEvent(key: "Trade"): TypedContractEvent; getEvent(key: "UpdateRouterPermissions"): TypedContractEvent; getEvent(key: "UpdateSigner"): TypedContractEvent; getEvent(key: "UpdateWithdrawalAccount"): TypedContractEvent; getEvent(key: "UpdateXChainUA"): TypedContractEvent; getEvent(key: "XChainTrade"): TypedContractEvent; filters: { "AddLiquidity(address,address,uint256,uint256)": TypedContractEvent; AddLiquidity: TypedContractEvent; "ListAsset(address,address,address)": TypedContractEvent; ListAsset: TypedContractEvent; "RemoveLiquidity(address,address,uint256,uint256)": TypedContractEvent; RemoveLiquidity: TypedContractEvent; "Trade(address,bytes32,address,address,uint256,uint256)": TypedContractEvent; Trade: TypedContractEvent; "UpdateRouterPermissions(address,bool)": TypedContractEvent; UpdateRouterPermissions: TypedContractEvent; "UpdateSigner(address,address)": TypedContractEvent; UpdateSigner: TypedContractEvent; "UpdateWithdrawalAccount(address,bool)": TypedContractEvent; UpdateWithdrawalAccount: TypedContractEvent; "UpdateXChainUA(address,address)": TypedContractEvent; UpdateXChainUA: TypedContractEvent; "XChainTrade(uint16,bytes32,address,bytes32,address,address,uint256,uint256)": TypedContractEvent; XChainTrade: TypedContractEvent; }; }