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 DepositStruct = { pool: AddressLike; token: AddressLike; amount: BigNumberish; nonce: BigNumberish; signedDeposit: BytesLike; }; type DepositStructOutput = [ pool: string, token: string, amount: bigint, nonce: bigint, signedDeposit: string ] & { pool: string; token: string; amount: bigint; nonce: bigint; signedDeposit: string; }; type QuoteStruct = { rfqType: BigNumberish; pool: AddressLike; eoa: AddressLike; trader: AddressLike; effectiveTrader: AddressLike; baseToken: AddressLike; quoteToken: AddressLike; effectiveBaseTokenAmount: BigNumberish; maxBaseTokenAmount: BigNumberish; maxQuoteTokenAmount: BigNumberish; fees: BigNumberish; quoteExpiry: BigNumberish; nonce: BigNumberish; txid: BytesLike; signedQuote: BytesLike; }; type QuoteStructOutput = [ rfqType: bigint, pool: string, eoa: string, trader: string, effectiveTrader: string, baseToken: string, quoteToken: string, effectiveBaseTokenAmount: bigint, maxBaseTokenAmount: bigint, maxQuoteTokenAmount: bigint, fees: bigint, quoteExpiry: bigint, nonce: bigint, txid: string, signedQuote: string ] & { rfqType: bigint; pool: string; eoa: string; trader: string; effectiveTrader: string; baseToken: string; quoteToken: string; effectiveBaseTokenAmount: bigint; maxBaseTokenAmount: bigint; maxQuoteTokenAmount: bigint; fees: bigint; quoteExpiry: bigint; nonce: bigint; txid: string; signedQuote: string; }; type LzQuoteStruct = { rfqType: BigNumberish; srcChainId: BigNumberish; dstChainId: BigNumberish; srcPool: AddressLike; dstPool: AddressLike; trader: AddressLike; baseToken: AddressLike; quoteToken: AddressLike; baseTokenAmount: BigNumberish; quoteTokenAmount: BigNumberish; fees: BigNumberish; quoteExpiry: BigNumberish; txid: BytesLike; signedQuote: BytesLike; }; type LzQuoteStructOutput = [ rfqType: bigint, srcChainId: bigint, dstChainId: bigint, srcPool: string, dstPool: string, trader: string, baseToken: string, quoteToken: string, baseTokenAmount: bigint, quoteTokenAmount: bigint, fees: bigint, quoteExpiry: bigint, txid: string, signedQuote: string ] & { rfqType: bigint; srcChainId: bigint; dstChainId: bigint; srcPool: string; dstPool: string; trader: string; baseToken: string; quoteToken: string; baseTokenAmount: bigint; quoteTokenAmount: bigint; fees: bigint; quoteExpiry: bigint; txid: string; signedQuote: string; }; } export interface IHashflowSpotPubPoolInterface extends Interface { getFunction(nameOrSignature: "addLiquidity" | "assetListed" | "authorizeLzPool" | "fillXChain" | "getCap" | "getGovernance" | "getHToken" | "getHTokenXChain" | "getMigrationMode" | "getMigrationPool" | "getNetPayout" | "getNonce" | "getOperations" | "getPoolName" | "getReserves" | "getRouterPermissions" | "getSigner" | "getTracker" | "getWithdrawalLimit" | "getWithdrawalTimestamp" | "initialize" | "listAsset" | "listMigratedAsset" | "migrateAsset" | "removeLiquidity" | "trade" | "tradeLz" | "transferAssets" | "updateCap" | "updateHedgingAccount" | "updateMigrateMode" | "updateMigrationPool" | "updatePoolHTokenAuthorizationStatus" | "updateRouterPermissions" | "updateSigner"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AddLiquidityPublicPool" | "ListAsset" | "LzTrade" | "MigrateAsset" | "RemoveLiquidityPublicPool" | "Trade" | "UpdateCap" | "UpdateHedgingAccount" | "UpdateMigrateMode" | "UpdateMigrationPool" | "UpdateRouterPermissions" | "UpdateSigner"): EventFragment; encodeFunctionData(functionFragment: "addLiquidity", values: [AddressLike, IQuote.DepositStruct]): string; encodeFunctionData(functionFragment: "assetListed", values: [AddressLike]): string; encodeFunctionData(functionFragment: "authorizeLzPool", values: [BigNumberish, AddressLike, boolean]): string; encodeFunctionData(functionFragment: "fillXChain", values: [AddressLike, AddressLike, BigNumberish, AddressLike, boolean]): string; encodeFunctionData(functionFragment: "getCap", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getGovernance", values?: undefined): string; encodeFunctionData(functionFragment: "getHToken", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getHTokenXChain", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getMigrationMode", values?: undefined): string; encodeFunctionData(functionFragment: "getMigrationPool", values?: undefined): string; encodeFunctionData(functionFragment: "getNetPayout", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getNonce", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getOperations", values?: undefined): string; encodeFunctionData(functionFragment: "getPoolName", values?: undefined): string; encodeFunctionData(functionFragment: "getReserves", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getRouterPermissions", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getSigner", values?: undefined): string; encodeFunctionData(functionFragment: "getTracker", values?: undefined): string; encodeFunctionData(functionFragment: "getWithdrawalLimit", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getWithdrawalTimestamp", values: [AddressLike]): string; encodeFunctionData(functionFragment: "initialize", values: [string, string, AddressLike, AddressLike, AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "listAsset", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "listMigratedAsset", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "migrateAsset", values: [AddressLike]): string; encodeFunctionData(functionFragment: "removeLiquidity", values: [AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "trade", values: [IQuote.QuoteStruct, AddressLike]): string; encodeFunctionData(functionFragment: "tradeLz", values: [IQuote.LzQuoteStruct, AddressLike]): string; encodeFunctionData(functionFragment: "transferAssets", values: [AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "updateCap", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "updateHedgingAccount", values: [AddressLike[], boolean]): string; encodeFunctionData(functionFragment: "updateMigrateMode", values: [boolean]): string; encodeFunctionData(functionFragment: "updateMigrationPool", values: [AddressLike]): string; encodeFunctionData(functionFragment: "updatePoolHTokenAuthorizationStatus", values: [AddressLike, AddressLike, boolean]): string; encodeFunctionData(functionFragment: "updateRouterPermissions", values: [AddressLike, boolean]): string; encodeFunctionData(functionFragment: "updateSigner", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "addLiquidity", data: BytesLike): Result; decodeFunctionResult(functionFragment: "assetListed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "authorizeLzPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "fillXChain", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getCap", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGovernance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getHToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getHTokenXChain", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMigrationMode", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMigrationPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getNetPayout", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getNonce", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getOperations", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPoolName", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReserves", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRouterPermissions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSigner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTracker", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getWithdrawalLimit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getWithdrawalTimestamp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "listAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "listMigratedAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "migrateAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeLiquidity", data: BytesLike): Result; decodeFunctionResult(functionFragment: "trade", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeLz", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferAssets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateCap", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateHedgingAccount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateMigrateMode", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateMigrationPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updatePoolHTokenAuthorizationStatus", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateRouterPermissions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateSigner", data: BytesLike): Result; } export declare namespace AddLiquidityPublicPoolEvent { type InputTuple = [ pool: AddressLike, token: AddressLike, liquidityProvider: AddressLike, depositAmount: BigNumberish, hTokenAmount: BigNumberish ]; type OutputTuple = [ pool: string, token: string, liquidityProvider: string, depositAmount: bigint, hTokenAmount: bigint ]; interface OutputObject { pool: string; 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 = [ pool: AddressLike, token: AddressLike, cap: BigNumberish, hTokenLp: AddressLike, hTokenXChain: AddressLike ]; type OutputTuple = [ pool: string, token: string, cap: bigint, hTokenLp: string, hTokenXChain: string ]; interface OutputObject { pool: string; token: string; cap: bigint; hTokenLp: string; hTokenXChain: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace LzTradeEvent { type InputTuple = [ srcChainId: BigNumberish, dstChainId: BigNumberish, srcPool: AddressLike, dstPool: AddressLike, trader: AddressLike, txid: BytesLike, baseToken: AddressLike, quoteToken: AddressLike, baseTokenAmount: BigNumberish, quoteTokenAmount: BigNumberish, fees: BigNumberish ]; type OutputTuple = [ srcChainId: bigint, dstChainId: bigint, srcPool: string, dstPool: string, trader: string, txid: string, baseToken: string, quoteToken: string, baseTokenAmount: bigint, quoteTokenAmount: bigint, fees: bigint ]; interface OutputObject { srcChainId: bigint; dstChainId: bigint; srcPool: string; dstPool: string; trader: string; txid: string; baseToken: string; quoteToken: string; baseTokenAmount: bigint; quoteTokenAmount: bigint; fees: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace MigrateAssetEvent { type InputTuple = [ pool: AddressLike, token: AddressLike, migrationPool: AddressLike ]; type OutputTuple = [ pool: string, token: string, migrationPool: string ]; interface OutputObject { pool: string; token: string; migrationPool: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RemoveLiquidityPublicPoolEvent { type InputTuple = [ pool: AddressLike, token: AddressLike, liquidityProvider: AddressLike, withdrawAmount: BigNumberish, burnAmount: BigNumberish ]; type OutputTuple = [ pool: string, token: string, liquidityProvider: string, withdrawAmount: bigint, burnAmount: bigint ]; interface OutputObject { pool: string; 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 = [ pool: AddressLike, trader: AddressLike, txid: BytesLike, baseToken: AddressLike, quoteToken: AddressLike, baseTokenAmount: BigNumberish, quoteTokenAmount: BigNumberish, fees: BigNumberish ]; type OutputTuple = [ pool: string, trader: string, txid: string, baseToken: string, quoteToken: string, baseTokenAmount: bigint, quoteTokenAmount: bigint, fees: bigint ]; interface OutputObject { pool: string; trader: string; txid: string; baseToken: string; quoteToken: string; baseTokenAmount: bigint; quoteTokenAmount: bigint; fees: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdateCapEvent { type InputTuple = [ pool: AddressLike, token: AddressLike, cap: BigNumberish ]; type OutputTuple = [pool: string, token: string, cap: bigint]; interface OutputObject { pool: string; token: string; cap: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdateHedgingAccountEvent { type InputTuple = [ pool: AddressLike, recipient: AddressLike[], status: boolean ]; type OutputTuple = [ pool: string, recipient: string[], status: boolean ]; interface OutputObject { pool: string; recipient: string[]; status: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdateMigrateModeEvent { type InputTuple = [pool: AddressLike, migrationMode: boolean]; type OutputTuple = [pool: string, migrationMode: boolean]; interface OutputObject { pool: string; migrationMode: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdateMigrationPoolEvent { type InputTuple = [pool: AddressLike, migrationPool: AddressLike]; type OutputTuple = [pool: string, migrationPool: string]; interface OutputObject { pool: string; migrationPool: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdateRouterPermissionsEvent { type InputTuple = [ pool: AddressLike, router: AddressLike, permissions: boolean ]; type OutputTuple = [ pool: string, router: string, permissions: boolean ]; interface OutputObject { pool: string; router: string; permissions: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdateSignerEvent { type InputTuple = [pool: AddressLike, signer: AddressLike]; type OutputTuple = [pool: string, signer: string]; interface OutputObject { pool: string; signer: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IHashflowSpotPubPool extends BaseContract { connect(runner?: ContractRunner | null): IHashflowSpotPubPool; waitForDeployment(): Promise; interface: IHashflowSpotPubPoolInterface; 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<[ liquidityProvider: AddressLike, deposit: IQuote.DepositStruct ], [ void ], "nonpayable">; assetListed: TypedContractMethod<[token: AddressLike], [boolean], "view">; authorizeLzPool: TypedContractMethod<[ chainId: BigNumberish, pool: AddressLike, status: boolean ], [ void ], "nonpayable">; fillXChain: TypedContractMethod<[ trader: AddressLike, quoteToken: AddressLike, quoteTokenAmount: BigNumberish, hToken: AddressLike, hTokenBurn: boolean ], [ void ], "nonpayable">; getCap: TypedContractMethod<[token: AddressLike], [bigint], "view">; getGovernance: TypedContractMethod<[], [string], "view">; getHToken: TypedContractMethod<[token: AddressLike], [string], "view">; getHTokenXChain: TypedContractMethod<[token: AddressLike], [string], "view">; getMigrationMode: TypedContractMethod<[], [boolean], "view">; getMigrationPool: TypedContractMethod<[], [string], "view">; getNetPayout: TypedContractMethod<[token: AddressLike], [bigint], "view">; getNonce: TypedContractMethod<[sender: AddressLike], [bigint], "view">; getOperations: TypedContractMethod<[], [string], "view">; getPoolName: TypedContractMethod<[], [string], "view">; getReserves: TypedContractMethod<[token: AddressLike], [bigint], "view">; getRouterPermissions: TypedContractMethod<[ router: AddressLike ], [ boolean ], "view">; getSigner: TypedContractMethod<[], [string], "view">; getTracker: TypedContractMethod<[], [string], "view">; getWithdrawalLimit: TypedContractMethod<[ token: AddressLike ], [ bigint ], "view">; getWithdrawalTimestamp: TypedContractMethod<[ token: AddressLike ], [ bigint ], "view">; initialize: TypedContractMethod<[ name: string, symbol: string, signer: AddressLike, operations: AddressLike, governance: AddressLike, router: AddressLike ], [ void ], "nonpayable">; listAsset: TypedContractMethod<[ token: AddressLike, cap: BigNumberish ], [ void ], "nonpayable">; listMigratedAsset: TypedContractMethod<[ token: AddressLike, fromPool: AddressLike ], [ void ], "nonpayable">; migrateAsset: TypedContractMethod<[token: AddressLike], [void], "nonpayable">; removeLiquidity: TypedContractMethod<[ token: AddressLike, liquidityProvider: AddressLike, burnAmount: BigNumberish ], [ void ], "nonpayable">; trade: TypedContractMethod<[ quote: IQuote.QuoteStruct, relayer: AddressLike ], [ boolean ], "payable">; tradeLz: TypedContractMethod<[ quote: IQuote.LzQuoteStruct, relayer: AddressLike ], [ boolean ], "payable">; transferAssets: TypedContractMethod<[ token: AddressLike, recipient: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; updateCap: TypedContractMethod<[ token: AddressLike, cap: BigNumberish ], [ void ], "nonpayable">; updateHedgingAccount: TypedContractMethod<[ hedgingAccount: AddressLike[], status: boolean ], [ void ], "nonpayable">; updateMigrateMode: TypedContractMethod<[ migrateMode: boolean ], [ void ], "nonpayable">; updateMigrationPool: TypedContractMethod<[ migrationPool: AddressLike ], [ void ], "nonpayable">; updatePoolHTokenAuthorizationStatus: TypedContractMethod<[ pool: AddressLike, hToken: AddressLike, status: boolean ], [ void ], "nonpayable">; updateRouterPermissions: TypedContractMethod<[ router: AddressLike, permissions: boolean ], [ void ], "nonpayable">; updateSigner: TypedContractMethod<[ signer: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "addLiquidity"): TypedContractMethod<[ liquidityProvider: AddressLike, deposit: IQuote.DepositStruct ], [ void ], "nonpayable">; getFunction(nameOrSignature: "assetListed"): TypedContractMethod<[token: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "authorizeLzPool"): TypedContractMethod<[ chainId: BigNumberish, pool: AddressLike, status: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "fillXChain"): TypedContractMethod<[ trader: AddressLike, quoteToken: AddressLike, quoteTokenAmount: BigNumberish, hToken: AddressLike, hTokenBurn: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "getCap"): TypedContractMethod<[token: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "getGovernance"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getHToken"): TypedContractMethod<[token: AddressLike], [string], "view">; getFunction(nameOrSignature: "getHTokenXChain"): TypedContractMethod<[token: AddressLike], [string], "view">; getFunction(nameOrSignature: "getMigrationMode"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "getMigrationPool"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getNetPayout"): TypedContractMethod<[token: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "getNonce"): TypedContractMethod<[sender: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "getOperations"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getPoolName"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getReserves"): TypedContractMethod<[token: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "getRouterPermissions"): TypedContractMethod<[router: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "getSigner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getTracker"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getWithdrawalLimit"): TypedContractMethod<[token: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "getWithdrawalTimestamp"): TypedContractMethod<[token: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "initialize"): TypedContractMethod<[ name: string, symbol: string, signer: AddressLike, operations: AddressLike, governance: AddressLike, router: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "listAsset"): TypedContractMethod<[ token: AddressLike, cap: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "listMigratedAsset"): TypedContractMethod<[ token: AddressLike, fromPool: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "migrateAsset"): TypedContractMethod<[token: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "removeLiquidity"): TypedContractMethod<[ token: AddressLike, liquidityProvider: AddressLike, burnAmount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "trade"): TypedContractMethod<[ quote: IQuote.QuoteStruct, relayer: AddressLike ], [ boolean ], "payable">; getFunction(nameOrSignature: "tradeLz"): TypedContractMethod<[ quote: IQuote.LzQuoteStruct, relayer: AddressLike ], [ boolean ], "payable">; getFunction(nameOrSignature: "transferAssets"): TypedContractMethod<[ token: AddressLike, recipient: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateCap"): TypedContractMethod<[ token: AddressLike, cap: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateHedgingAccount"): TypedContractMethod<[ hedgingAccount: AddressLike[], status: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateMigrateMode"): TypedContractMethod<[migrateMode: boolean], [void], "nonpayable">; getFunction(nameOrSignature: "updateMigrationPool"): TypedContractMethod<[migrationPool: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "updatePoolHTokenAuthorizationStatus"): TypedContractMethod<[ pool: AddressLike, hToken: AddressLike, status: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateRouterPermissions"): TypedContractMethod<[ router: AddressLike, permissions: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateSigner"): TypedContractMethod<[signer: AddressLike], [void], "nonpayable">; getEvent(key: "AddLiquidityPublicPool"): TypedContractEvent; getEvent(key: "ListAsset"): TypedContractEvent; getEvent(key: "LzTrade"): TypedContractEvent; getEvent(key: "MigrateAsset"): TypedContractEvent; getEvent(key: "RemoveLiquidityPublicPool"): TypedContractEvent; getEvent(key: "Trade"): TypedContractEvent; getEvent(key: "UpdateCap"): TypedContractEvent; getEvent(key: "UpdateHedgingAccount"): TypedContractEvent; getEvent(key: "UpdateMigrateMode"): TypedContractEvent; getEvent(key: "UpdateMigrationPool"): TypedContractEvent; getEvent(key: "UpdateRouterPermissions"): TypedContractEvent; getEvent(key: "UpdateSigner"): TypedContractEvent; filters: { "AddLiquidityPublicPool(address,address,address,uint256,uint256)": TypedContractEvent; AddLiquidityPublicPool: TypedContractEvent; "ListAsset(address,address,uint256,address,address)": TypedContractEvent; ListAsset: TypedContractEvent; "LzTrade(uint16,uint16,address,address,address,bytes32,address,address,uint256,uint256,uint256)": TypedContractEvent; LzTrade: TypedContractEvent; "MigrateAsset(address,address,address)": TypedContractEvent; MigrateAsset: TypedContractEvent; "RemoveLiquidityPublicPool(address,address,address,uint256,uint256)": TypedContractEvent; RemoveLiquidityPublicPool: TypedContractEvent; "Trade(address,address,bytes32,address,address,uint256,uint256,uint256)": TypedContractEvent; Trade: TypedContractEvent; "UpdateCap(address,address,uint256)": TypedContractEvent; UpdateCap: TypedContractEvent; "UpdateHedgingAccount(address,address[],bool)": TypedContractEvent; UpdateHedgingAccount: TypedContractEvent; "UpdateMigrateMode(address,bool)": TypedContractEvent; UpdateMigrateMode: TypedContractEvent; "UpdateMigrationPool(address,address)": TypedContractEvent; UpdateMigrationPool: TypedContractEvent; "UpdateRouterPermissions(address,address,bool)": TypedContractEvent; UpdateRouterPermissions: TypedContractEvent; "UpdateSigner(address,address)": TypedContractEvent; UpdateSigner: TypedContractEvent; }; }