// This file was autogenerated by hardhat-viem, do not edit it. // prettier-ignore // tslint:disable // eslint-disable import type { Address } from "viem"; import type { GetContractReturnType } from "@nomicfoundation/hardhat-viem/types"; import "@nomicfoundation/hardhat-viem/types"; export interface IMarketHub$Type { "_format": "hh-sol-artifact-1", "contractName": "IMarketHub", "sourceName": "contracts/interfaces/IMarketHub.sol", "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "MarketAcc", "name": "from", "type": "bytes26" }, { "indexed": false, "internalType": "MarketAcc", "name": "to", "type": "bytes26" }, { "indexed": false, "internalType": "int256", "name": "amount", "type": "int256" } ], "name": "CashTransfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "TokenId", "name": "tokenId", "type": "uint16" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "CollectFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "int256", "name": "newCritHR", "type": "int256" } ], "name": "CritHRUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "MarketAcc", "name": "user", "type": "bytes26" }, { "indexed": false, "internalType": "MarketId", "name": "marketId", "type": "uint24" }, { "indexed": false, "internalType": "uint256", "name": "entranceFee", "type": "uint256" } ], "name": "EnterMarket", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "MarketAcc", "name": "user", "type": "bytes26" }, { "indexed": false, "internalType": "MarketId", "name": "marketId", "type": "uint24" } ], "name": "ExitMarket", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint32", "name": "newCooldown", "type": "uint32" } ], "name": "GlobalCooldownSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "MarketId", "name": "marketId", "type": "uint24" }, { "indexed": true, "internalType": "address", "name": "marketAddress", "type": "address" } ], "name": "MarketAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "TokenId[]", "name": "tokenIds", "type": "uint16[]" }, { "indexed": false, "internalType": "uint128[]", "name": "entranceFees", "type": "uint128[]" } ], "name": "MarketEntranceFeesUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "TokenId[]", "name": "tokenIds", "type": "uint16[]" }, { "indexed": false, "internalType": "uint128[]", "name": "newMinCash", "type": "uint128[]" } ], "name": "MinCashCrossAccountsUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "TokenId[]", "name": "tokenIds", "type": "uint16[]" }, { "indexed": false, "internalType": "uint128[]", "name": "newMinCash", "type": "uint128[]" } ], "name": "MinCashIsolatedAccountsUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "MarketAcc", "name": "user", "type": "bytes26" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "PayTreasury", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "root", "type": "address" }, { "indexed": false, "internalType": "uint32", "name": "cooldown", "type": "uint32" } ], "name": "PersonalCooldownSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "int256", "name": "newRiskyThresHR", "type": "int256" } ], "name": "RiskyThresHRUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "MarketId", "name": "marketId", "type": "uint24" }, { "indexed": false, "internalType": "bool", "name": "isEnabled", "type": "bool" } ], "name": "StrictHealthCheckUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "TokenId", "name": "tokenId", "type": "uint16" }, { "indexed": true, "internalType": "address", "name": "tokenAddress", "type": "address" } ], "name": "TokenAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "MarketAcc", "name": "acc", "type": "bytes26" }, { "indexed": false, "internalType": "uint256", "name": "unscaledAmount", "type": "uint256" } ], "name": "VaultDeposit", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "root", "type": "address" }, { "indexed": false, "internalType": "TokenId", "name": "tokenId", "type": "uint16" }, { "indexed": false, "internalType": "uint256", "name": "totalUnscaledAmount", "type": "uint256" } ], "name": "VaultWithdrawalCanceled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "root", "type": "address" }, { "indexed": false, "internalType": "TokenId", "name": "tokenId", "type": "uint16" }, { "indexed": false, "internalType": "uint256", "name": "totalUnscaledAmount", "type": "uint256" } ], "name": "VaultWithdrawalFinalized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "root", "type": "address" }, { "indexed": false, "internalType": "TokenId", "name": "tokenId", "type": "uint16" }, { "indexed": false, "internalType": "uint32", "name": "start", "type": "uint32" }, { "indexed": false, "internalType": "uint256", "name": "totalUnscaledAmount", "type": "uint256" } ], "name": "VaultWithdrawalRequested", "type": "event" }, { "inputs": [], "name": "MARKET_FACTORY", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_ENTERED_MARKETS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ROUTER", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TREASURY", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "MarketAcc", "name": "user", "type": "bytes26" } ], "name": "accCash", "outputs": [ { "internalType": "int256", "name": "", "type": "int256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "MarketAcc", "name": "user", "type": "bytes26" }, { "components": [ { "internalType": "MarketId", "name": "marketId", "type": "uint24" }, { "components": [ { "internalType": "enum TimeInForce", "name": "tif", "type": "uint8" }, { "internalType": "enum Side", "name": "side", "type": "uint8" }, { "internalType": "uint256[]", "name": "sizes", "type": "uint256[]" }, { "internalType": "int16[]", "name": "limitTicks", "type": "int16[]" } ], "internalType": "struct LongShort", "name": "orders", "type": "tuple" }, { "components": [ { "internalType": "OrderId[]", "name": "ids", "type": "uint64[]" }, { "internalType": "bool", "name": "isAll", "type": "bool" }, { "internalType": "bool", "name": "isStrict", "type": "bool" } ], "internalType": "struct CancelData", "name": "cancelData", "type": "tuple" } ], "internalType": "struct BulkOrder[]", "name": "bulks", "type": "tuple[]" } ], "name": "bulkOrders", "outputs": [ { "components": [ { "internalType": "Trade", "name": "matched", "type": "uint256" }, { "internalType": "uint256", "name": "takerFee", "type": "uint256" } ], "internalType": "struct BulkOrderResult[]", "name": "results", "type": "tuple[]" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "MarketId", "name": "marketId", "type": "uint24" }, { "internalType": "MarketAcc", "name": "user", "type": "bytes26" }, { "components": [ { "internalType": "OrderId[]", "name": "ids", "type": "uint64[]" }, { "internalType": "bool", "name": "isAll", "type": "bool" }, { "internalType": "bool", "name": "isStrict", "type": "bool" } ], "internalType": "struct CancelData", "name": "cancelData", "type": "tuple" } ], "name": "cancel", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "root", "type": "address" }, { "internalType": "TokenId", "name": "tokenId", "type": "uint16" } ], "name": "cancelVaultWithdrawal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "MarketAcc", "name": "from", "type": "bytes26" }, { "internalType": "MarketAcc", "name": "to", "type": "bytes26" }, { "internalType": "int256", "name": "amount", "type": "int256" } ], "name": "cashTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "MarketAcc", "name": "from", "type": "bytes26" }, { "internalType": "MarketAcc", "name": "to", "type": "bytes26" } ], "name": "cashTransferAll", "outputs": [ { "internalType": "int256", "name": "amountOut", "type": "int256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "critHR", "outputs": [ { "internalType": "int128", "name": "", "type": "int128" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "MarketId", "name": "marketId", "type": "uint24" } ], "name": "disableStrictHealthCheck", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "MarketId", "name": "marketId", "type": "uint24" } ], "name": "enableStrictHealthCheck", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "MarketAcc", "name": "user", "type": "bytes26" }, { "internalType": "MarketId", "name": "marketId", "type": "uint24" } ], "name": "enterMarket", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "MarketAcc", "name": "user", "type": "bytes26" }, { "internalType": "MarketId", "name": "marketId", "type": "uint24" } ], "name": "exitMarket", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "root", "type": "address" }, { "internalType": "TokenId", "name": "tokenId", "type": "uint16" } ], "name": "finalizeVaultWithdrawal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "MarketId", "name": "marketId", "type": "uint24" }, { "internalType": "MarketAcc", "name": "user", "type": "bytes26" }, { "components": [ { "internalType": "OrderId[]", "name": "ids", "type": "uint64[]" }, { "internalType": "bool", "name": "isAll", "type": "bool" }, { "internalType": "bool", "name": "isStrict", "type": "bool" } ], "internalType": "struct CancelData", "name": "cancelData", "type": "tuple" } ], "name": "forceCancel", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "MarketAcc", "name": "riskyUser", "type": "bytes26" }, { "internalType": "MarketId[]", "name": "marketIds", "type": "uint24[]" } ], "name": "forceCancelAllRiskyUser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "MarketId", "name": "marketId", "type": "uint24" }, { "internalType": "MarketAcc", "name": "win", "type": "bytes26" }, { "internalType": "MarketAcc", "name": "lose", "type": "bytes26" }, { "internalType": "int256", "name": "sizeToWin", "type": "int256" }, { "internalType": "uint256", "name": "alpha", "type": "uint256" } ], "name": "forceDeleverage", "outputs": [ { "internalType": "Trade", "name": "delevTrade", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "MarketId[]", "name": "marketIds", "type": "uint24[]" }, { "internalType": "uint256", "name": "maxNTicksPurgeOneSide", "type": "uint256" } ], "name": "forcePurgeOobOrders", "outputs": [ { "internalType": "uint256", "name": "totalTicksPurgedLong", "type": "uint256" }, { "internalType": "uint256", "name": "totalTicksPurgedShort", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "TokenId", "name": "tokenId", "type": "uint16" } ], "name": "getCashFeeData", "outputs": [ { "components": [ { "internalType": "uint128", "name": "treasuryCash", "type": "uint128" }, { "internalType": "uint128", "name": "marketEntranceFee", "type": "uint128" }, { "internalType": "uint128", "name": "minCashCross", "type": "uint128" }, { "internalType": "uint128", "name": "minCashIsolated", "type": "uint128" } ], "internalType": "struct IMarketHubAllEventsAndTypes.CashFeeData", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "MarketAcc", "name": "user", "type": "bytes26" } ], "name": "getEnteredMarkets", "outputs": [ { "internalType": "MarketId[]", "name": "", "type": "uint24[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "userAddr", "type": "address" } ], "name": "getPersonalCooldown", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getStrictMarkets", "outputs": [ { "internalType": "MarketId[]", "name": "", "type": "uint24[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "userAddr", "type": "address" }, { "internalType": "TokenId", "name": "tokenId", "type": "uint16" } ], "name": "getUserWithdrawalStatus", "outputs": [ { "components": [ { "internalType": "uint32", "name": "start", "type": "uint32" }, { "internalType": "uint224", "name": "unscaled", "type": "uint224" } ], "internalType": "struct IMarketHubAllEventsAndTypes.Withdrawal", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "globalCooldown", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "MarketAcc", "name": "user", "type": "bytes26" }, { "internalType": "MarketId", "name": "marketId", "type": "uint24" } ], "name": "hasEnteredMarketBefore", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "globalCooldown", "type": "uint32" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "MarketId", "name": "marketId", "type": "uint24" }, { "internalType": "MarketAcc", "name": "liq", "type": "bytes26" }, { "internalType": "MarketAcc", "name": "vio", "type": "bytes26" }, { "internalType": "int256", "name": "sizeToLiq", "type": "int256" } ], "name": "liquidate", "outputs": [ { "internalType": "Trade", "name": "liqTrade", "type": "uint256" }, { "internalType": "uint256", "name": "liqFee", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "MarketId", "name": "marketId", "type": "uint24" } ], "name": "marketIdToAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "MarketId", "name": "marketId", "type": "uint24" }, { "internalType": "MarketAcc", "name": "user", "type": "bytes26" }, { "components": [ { "internalType": "enum TimeInForce", "name": "tif", "type": "uint8" }, { "internalType": "enum Side", "name": "side", "type": "uint8" }, { "internalType": "uint256[]", "name": "sizes", "type": "uint256[]" }, { "internalType": "int16[]", "name": "limitTicks", "type": "int16[]" } ], "internalType": "struct LongShort", "name": "orders", "type": "tuple" }, { "components": [ { "internalType": "OrderId[]", "name": "ids", "type": "uint64[]" }, { "internalType": "bool", "name": "isAll", "type": "bool" }, { "internalType": "bool", "name": "isStrict", "type": "bool" } ], "internalType": "struct CancelData", "name": "cancelData", "type": "tuple" }, { "components": [ { "internalType": "MarketAcc", "name": "counter", "type": "bytes26" }, { "internalType": "Trade", "name": "trade", "type": "uint256" }, { "internalType": "int256", "name": "cashToCounter", "type": "int256" } ], "internalType": "struct OTCTrade[]", "name": "OTCs", "type": "tuple[]" } ], "name": "orderAndOtc", "outputs": [ { "internalType": "Trade", "name": "bookMatched", "type": "uint256" }, { "internalType": "uint256", "name": "totalTakerOtcFee", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "MarketAcc", "name": "user", "type": "bytes26" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "payTreasury", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "markets", "type": "address[]" } ], "name": "registerMarket", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "registerToken", "outputs": [ { "internalType": "TokenId", "name": "newTokenId", "type": "uint16" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "root", "type": "address" }, { "internalType": "TokenId", "name": "tokenId", "type": "uint16" }, { "internalType": "uint256", "name": "unscaledAmount", "type": "uint256" } ], "name": "requestVaultWithdrawal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "riskyThresHR", "outputs": [ { "internalType": "int256", "name": "", "type": "int256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "int128", "name": "newCritHR", "type": "int128" } ], "name": "setCritHR", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "newCooldown", "type": "uint32" } ], "name": "setGlobalCooldown", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "TokenId[]", "name": "tokenIds", "type": "uint16[]" }, { "internalType": "uint128[]", "name": "entranceFees", "type": "uint128[]" } ], "name": "setMarketEntranceFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "isCross", "type": "bool" }, { "internalType": "TokenId[]", "name": "tokenIds", "type": "uint16[]" }, { "internalType": "uint128[]", "name": "newMinCash", "type": "uint128[]" } ], "name": "setMinCashForAccounts", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "root", "type": "address" }, { "internalType": "uint32", "name": "cooldown", "type": "uint32" } ], "name": "setPersonalCooldown", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "int256", "name": "newRiskyThresHR", "type": "int256" } ], "name": "setRiskyThresHR", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "MarketAcc", "name": "user", "type": "bytes26" }, { "internalType": "enum GetRequest", "name": "req", "type": "uint8" }, { "internalType": "MarketId", "name": "marketId", "type": "uint24" } ], "name": "settleAllAndGet", "outputs": [ { "internalType": "int256", "name": "cash", "type": "int256" }, { "internalType": "VMResult", "name": "totalVM", "type": "uint256" }, { "internalType": "int256", "name": "signedSize", "type": "int256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "MarketAcc", "name": "acc", "type": "bytes26" }, { "internalType": "int256", "name": "amount", "type": "int256" } ], "name": "simulateTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "TokenId", "name": "tokenId", "type": "uint16" } ], "name": "tokenData", "outputs": [ { "components": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint96", "name": "scalingFactor", "type": "uint96" } ], "internalType": "struct IMarketHubAllEventsAndTypes.TokenData", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "TokenId", "name": "tokenId", "type": "uint16" } ], "name": "tokenIdToAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "MarketAcc", "name": "acc", "type": "bytes26" }, { "internalType": "uint256", "name": "unscaledAmount", "type": "uint256" } ], "name": "vaultDeposit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "root", "type": "address" }, { "internalType": "TokenId", "name": "tokenId", "type": "uint16" }, { "internalType": "uint256", "name": "unscaled", "type": "uint256" } ], "name": "vaultPayTreasury", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "TokenId[]", "name": "tokenIds", "type": "uint16[]" } ], "name": "withdrawTreasury", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x", "deployedBytecode": "0x", "linkReferences": {}, "deployedLinkReferences": {} } declare module "@nomicfoundation/hardhat-viem/types" { export function deployContract( contractName: "IMarketHub", constructorArgs?: [], config?: DeployContractConfig ): Promise>; export function deployContract( contractName: "contracts/interfaces/IMarketHub.sol:IMarketHub", constructorArgs?: [], config?: DeployContractConfig ): Promise>; export function sendDeploymentTransaction( contractName: "IMarketHub", constructorArgs?: [], config?: SendDeploymentTransactionConfig ): Promise<{ contract: GetContractReturnType; deploymentTransaction: GetTransactionReturnType; }>; export function sendDeploymentTransaction( contractName: "contracts/interfaces/IMarketHub.sol:IMarketHub", constructorArgs?: [], config?: SendDeploymentTransactionConfig ): Promise<{ contract: GetContractReturnType; deploymentTransaction: GetTransactionReturnType; }>; export function getContractAt( contractName: "IMarketHub", address: Address, config?: GetContractAtConfig ): Promise>; export function getContractAt( contractName: "contracts/interfaces/IMarketHub.sol:IMarketHub", address: Address, config?: GetContractAtConfig ): Promise>; }