import { type ContractRunner } from "ethers"; import type { IHashflowPublicPool, IHashflowPublicPoolInterface } from "../IHashflowPublicPool"; export declare class IHashflowPublicPool__factory { static readonly abi: readonly [{ readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "liquidityProvider"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "depositAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "hTokenAmount"; readonly type: "uint256"; }]; readonly name: "AddLiquidity"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DepositYield"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "hTokenXChain"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "hTokenLp"; readonly type: "address"; }]; readonly name: "ListAsset"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "liquidityProvider"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "withdrawAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "burnAmount"; readonly type: "uint256"; }]; readonly name: "RemoveLiquidity"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "txid"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "quoteToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "baseTokenAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "quoteTokenAmount"; readonly type: "uint256"; }]; readonly name: "Trade"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "cap"; readonly type: "uint256"; }]; readonly name: "UpdateCap"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bool"; readonly name: "migrationMode"; readonly type: "bool"; }]; readonly name: "UpdateMigrateMode"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "router"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "authorized"; readonly type: "bool"; }]; readonly name: "UpdateRouterPermissions"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "prevSigner"; readonly type: "address"; }]; readonly name: "UpdateSigner"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "authorized"; readonly type: "bool"; }]; readonly name: "UpdateWithdrawalAccount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "xChainUa"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "prevXChainUa"; readonly type: "address"; }]; readonly name: "UpdateXChainUA"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint16"; readonly name: "dstChainId"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "dstPool"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "txid"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "quoteToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "baseTokenAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "quoteTokenAmount"; readonly type: "uint256"; }]; readonly name: "XChainTrade"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "liquidityProvider"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly internalType: "struct IQuote.Deposit"; readonly name: "deposit"; readonly type: "tuple"; }]; readonly name: "addLiquidity"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "assetDetails"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: ""; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: ""; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: ""; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: ""; readonly type: "uint128"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "router"; readonly type: "address"; }]; readonly name: "authorizedRouters"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "depositYield"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "externalAccount"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "txid"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "quoteToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "quoteTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "enum IHashflowXChainUA.XChainMessageProtocol"; readonly name: "protocol"; readonly type: "uint8"; }]; readonly name: "fillXChain"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "getReserves"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "governance"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "enum IHashflowPool.HTokenType"; readonly name: "hTokenType"; readonly type: "uint8"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "hTokens"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "symbol"; readonly type: "string"; }, { readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "operations"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "hTokenImpl"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "governance"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "router"; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "enabled"; readonly type: "bool"; }]; readonly name: "killswitchOperations"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "cap"; readonly type: "uint256"; }]; readonly name: "listAsset"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "migrateMode"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "newRouter"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "oldRouter"; readonly type: "address"; }]; readonly name: "migrateRouterAuthorization"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }]; readonly name: "nonces"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "operations"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "redeemXChainTokens"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "liquidityProvider"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "burnAmount"; readonly type: "uint256"; }]; readonly name: "removeLiquidity"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "signerConfiguration"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "symbol"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "externalAccount"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "effectiveTrader"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "quoteToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "effectiveBaseTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxBaseTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxQuoteTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "quoteExpiry"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "txid"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly internalType: "struct IQuote.RFQTQuote"; readonly name: "quote"; readonly type: "tuple"; }]; readonly name: "trade"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "externalAccount"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "quoteToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "baseTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "quoteTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "quoteExpiry"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "txid"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "takerSignature"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "makerSignature"; readonly type: "bytes"; }]; readonly internalType: "struct IQuote.RFQMQuote"; readonly name: "quote"; readonly type: "tuple"; }]; readonly name: "tradeRFQm"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint16"; readonly name: "srcChainId"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "dstChainId"; readonly type: "uint16"; }, { readonly internalType: "address"; readonly name: "srcPool"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "dstPool"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "srcExternalAccount"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "dstExternalAccount"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "quoteToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "baseTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "quoteTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "quoteExpiry"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "txid"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly internalType: "struct IQuote.XChainRFQTQuote"; readonly name: "quote"; readonly type: "tuple"; }]; readonly name: "tradeXChain"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint16"; readonly name: "srcChainId"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "dstChainId"; readonly type: "uint16"; }, { readonly internalType: "address"; readonly name: "srcPool"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "dstPool"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "srcExternalAccount"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "dstExternalAccount"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "quoteToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "baseTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "quoteTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "quoteExpiry"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "txid"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "takerSignature"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "makerSignature"; readonly type: "bytes"; }]; readonly internalType: "struct IQuote.XChainRFQMQuote"; readonly name: "quote"; readonly type: "tuple"; }]; readonly name: "tradeXChainRFQm"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "transferAssets"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "cap"; readonly type: "uint256"; }]; readonly name: "updateCap"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "migrationMode"; readonly type: "bool"; }]; readonly name: "updateMigrateMode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "router"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "authorized"; readonly type: "bool"; }]; readonly name: "updateRouterPermissions"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }]; readonly name: "updateSigner"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "withdrawalAccounts"; readonly type: "address[]"; }, { readonly internalType: "bool"; readonly name: "authorized"; readonly type: "bool"; }]; readonly name: "updateWithdrawalAccount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint16"; readonly name: "chainId"; readonly type: "uint16"; }, { readonly internalType: "bytes32"; readonly name: "pool"; readonly type: "bytes32"; }]; readonly internalType: "struct IHashflowPool.AuthorizedXChainPool[]"; readonly name: "pools"; readonly type: "tuple[]"; }, { readonly internalType: "enum IHashflowXChainUA.XChainMessageProtocol[]"; readonly name: "protocols"; readonly type: "uint8[]"; }, { readonly internalType: "bool"; readonly name: "authorized"; readonly type: "bool"; }]; readonly name: "updateXChainPoolAuthorization"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "updateXChainUa"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; static createInterface(): IHashflowPublicPoolInterface; static connect(address: string, runner?: ContractRunner | null): IHashflowPublicPool; }