import { FixedX18 } from '@pendle/boros-offchain-math'; import { MarketAcc, Side, TimeInForce } from '../types'; import { iExplorerAbi } from './abis/viemAbis'; import { BaseContractHelper } from './base-contract-helper'; import { MulticallOptions } from '../multicall/multicall'; import { ContractUserInfo } from '../common/types'; export declare class Explorer extends BaseContractHelper { abi(): readonly [{ readonly inputs: readonly []; readonly name: "MARKET_HUB"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "ROUTER"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "MarketId"; readonly name: "marketId"; readonly type: "uint24"; }]; readonly name: "getMarketInfo"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "symbol"; readonly type: "string"; }, { readonly internalType: "bool"; readonly name: "isIsolatedOnly"; readonly type: "bool"; }, { readonly internalType: "TokenId"; readonly name: "tokenId"; readonly type: "uint16"; }, { readonly internalType: "MarketId"; readonly name: "marketId"; readonly type: "uint24"; }, { readonly internalType: "uint32"; readonly name: "maturity"; readonly type: "uint32"; }, { readonly internalType: "uint8"; readonly name: "tickStep"; readonly type: "uint8"; }, { readonly internalType: "uint16"; readonly name: "iTickThresh"; readonly type: "uint16"; }, { readonly internalType: "bool"; readonly name: "isMatured"; readonly type: "bool"; }, { readonly internalType: "int256"; readonly name: "impliedApr"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "markApr"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "underlyingApr"; readonly type: "int256"; }, { readonly internalType: "uint32"; readonly name: "nextSettleTime"; readonly type: "uint32"; }]; readonly internalType: "struct IExplorer.MarketInfo"; readonly name: "info"; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "MarketId"; readonly name: "marketId"; readonly type: "uint24"; }, { readonly internalType: "enum Side"; readonly name: "side"; readonly type: "uint8"; }, { readonly internalType: "int16"; readonly name: "from"; readonly type: "int16"; }, { readonly internalType: "int16"; readonly name: "to"; readonly type: "int16"; }]; readonly name: "getMarketOrderBook"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "size"; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "MarketAcc"; readonly name: "user"; readonly type: "bytes26"; }]; readonly name: "getUserInfo"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int256"; readonly name: "totalCash"; readonly type: "int256"; }, { readonly components: readonly [{ readonly internalType: "MarketId"; readonly name: "marketId"; readonly type: "uint24"; }, { readonly internalType: "int256"; readonly name: "signedSize"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "positionValue"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "liquidationApr"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "initialMargin"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maintMargin"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "enum OrderStatus"; readonly name: "status"; readonly type: "uint8"; }, { readonly internalType: "OrderId"; readonly name: "id"; readonly type: "uint64"; }, { readonly internalType: "MarketAcc"; readonly name: "maker"; readonly type: "bytes26"; }, { readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "rate"; readonly type: "int256"; }]; readonly internalType: "struct IMarketAllTypes.Order[]"; readonly name: "orders"; readonly type: "tuple[]"; }]; readonly internalType: "struct IExplorer.PositionInfo[]"; readonly name: "positions"; readonly type: "tuple[]"; }, { readonly internalType: "int256"; readonly name: "availableInitialMargin"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "availableMaintMargin"; readonly type: "int256"; }]; readonly internalType: "struct IExplorer.UserInfo"; readonly name: "userInfo"; readonly type: "tuple"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "MarketAcc"; readonly name: "user"; readonly type: "bytes26"; }, { readonly internalType: "MarketId"; readonly name: "marketId"; readonly type: "uint24"; }, { readonly internalType: "bool"; readonly name: "cancelAll"; readonly type: "bool"; }, { readonly internalType: "OrderId[]"; readonly name: "orderIds"; readonly type: "uint64[]"; }]; readonly name: "getUserInfoAfterBulkCancels"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int256"; readonly name: "totalCash"; readonly type: "int256"; }, { readonly components: readonly [{ readonly internalType: "MarketId"; readonly name: "marketId"; readonly type: "uint24"; }, { readonly internalType: "int256"; readonly name: "signedSize"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "positionValue"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "liquidationApr"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "initialMargin"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maintMargin"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "enum OrderStatus"; readonly name: "status"; readonly type: "uint8"; }, { readonly internalType: "OrderId"; readonly name: "id"; readonly type: "uint64"; }, { readonly internalType: "MarketAcc"; readonly name: "maker"; readonly type: "bytes26"; }, { readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "rate"; readonly type: "int256"; }]; readonly internalType: "struct IMarketAllTypes.Order[]"; readonly name: "orders"; readonly type: "tuple[]"; }]; readonly internalType: "struct IExplorer.PositionInfo[]"; readonly name: "positions"; readonly type: "tuple[]"; }, { readonly internalType: "int256"; readonly name: "availableInitialMargin"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "availableMaintMargin"; readonly type: "int256"; }]; readonly internalType: "struct IExplorer.UserInfo"; readonly name: "preUserInfo"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int256"; readonly name: "totalCash"; readonly type: "int256"; }, { readonly components: readonly [{ readonly internalType: "MarketId"; readonly name: "marketId"; readonly type: "uint24"; }, { readonly internalType: "int256"; readonly name: "signedSize"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "positionValue"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "liquidationApr"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "initialMargin"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maintMargin"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "enum OrderStatus"; readonly name: "status"; readonly type: "uint8"; }, { readonly internalType: "OrderId"; readonly name: "id"; readonly type: "uint64"; }, { readonly internalType: "MarketAcc"; readonly name: "maker"; readonly type: "bytes26"; }, { readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "rate"; readonly type: "int256"; }]; readonly internalType: "struct IMarketAllTypes.Order[]"; readonly name: "orders"; readonly type: "tuple[]"; }]; readonly internalType: "struct IExplorer.PositionInfo[]"; readonly name: "positions"; readonly type: "tuple[]"; }, { readonly internalType: "int256"; readonly name: "availableInitialMargin"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "availableMaintMargin"; readonly type: "int256"; }]; readonly internalType: "struct IExplorer.UserInfo"; readonly name: "postUserInfo"; readonly type: "tuple"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "MarketAcc"; readonly name: "user"; readonly type: "bytes26"; }, { readonly internalType: "MarketId"; readonly name: "marketId"; readonly type: "uint24"; }, { readonly internalType: "AMMId"; readonly name: "ammId"; readonly type: "uint24"; }, { readonly internalType: "enum Side"; readonly name: "side"; readonly type: "uint8"; }, { readonly internalType: "enum TimeInForce"; readonly name: "tif"; readonly type: "uint8"; }, { readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly internalType: "int16"; readonly name: "tick"; readonly type: "int16"; }, { readonly internalType: "int128"; readonly name: "desiredMatchRate"; readonly type: "int128"; }]; readonly name: "getUserInfoAfterPlaceOrder"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int256"; readonly name: "totalCash"; readonly type: "int256"; }, { readonly components: readonly [{ readonly internalType: "MarketId"; readonly name: "marketId"; readonly type: "uint24"; }, { readonly internalType: "int256"; readonly name: "signedSize"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "positionValue"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "liquidationApr"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "initialMargin"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maintMargin"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "enum OrderStatus"; readonly name: "status"; readonly type: "uint8"; }, { readonly internalType: "OrderId"; readonly name: "id"; readonly type: "uint64"; }, { readonly internalType: "MarketAcc"; readonly name: "maker"; readonly type: "bytes26"; }, { readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "rate"; readonly type: "int256"; }]; readonly internalType: "struct IMarketAllTypes.Order[]"; readonly name: "orders"; readonly type: "tuple[]"; }]; readonly internalType: "struct IExplorer.PositionInfo[]"; readonly name: "positions"; readonly type: "tuple[]"; }, { readonly internalType: "int256"; readonly name: "availableInitialMargin"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "availableMaintMargin"; readonly type: "int256"; }]; readonly internalType: "struct IExplorer.UserInfo"; readonly name: "preUserInfo"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int256"; readonly name: "totalCash"; readonly type: "int256"; }, { readonly components: readonly [{ readonly internalType: "MarketId"; readonly name: "marketId"; readonly type: "uint24"; }, { readonly internalType: "int256"; readonly name: "signedSize"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "positionValue"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "liquidationApr"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "initialMargin"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maintMargin"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "enum OrderStatus"; readonly name: "status"; readonly type: "uint8"; }, { readonly internalType: "OrderId"; readonly name: "id"; readonly type: "uint64"; }, { readonly internalType: "MarketAcc"; readonly name: "maker"; readonly type: "bytes26"; }, { readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "rate"; readonly type: "int256"; }]; readonly internalType: "struct IMarketAllTypes.Order[]"; readonly name: "orders"; readonly type: "tuple[]"; }]; readonly internalType: "struct IExplorer.PositionInfo[]"; readonly name: "positions"; readonly type: "tuple[]"; }, { readonly internalType: "int256"; readonly name: "availableInitialMargin"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "availableMaintMargin"; readonly type: "int256"; }]; readonly internalType: "struct IExplorer.UserInfo"; readonly name: "postUserInfo"; readonly type: "tuple"; }, { readonly internalType: "Trade"; readonly name: "matched"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "marginRequired"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; getUserInfo(marketAcc: MarketAcc, multicallOptions?: MulticallOptions): Promise; getMarketInfo(marketId: number, multicallOptions?: MulticallOptions): Promise<{ impliedApr: bigint; underlyingApr: bigint; nextSettlementTime: number; name: string; symbol: string; isIsolatedOnly: boolean; tokenId: number; marketId: number; maturity: number; tickStep: number; iTickThresh: number; isMatured: boolean; markApr: bigint; }>; getMarketOrderBook(marketId: number, Side: Side, fromTick: number, toTick: number, multicallOptions?: MulticallOptions): Promise; getUserInfoAfterPlaceOrder(marketAcc: MarketAcc, marketId: number, ammId: number, side: number, timeInForce: TimeInForce, size: bigint, limitTick: number, desiredMatchRate: FixedX18, multicallOptions?: MulticallOptions): Promise<{ preUserInfo: ContractUserInfo; postUserInfo: ContractUserInfo; matched: bigint; marginRequired: bigint; }>; getUserInfoAfterBulkCancels(marketAcc: MarketAcc, marketId: number, cancelAll: boolean, orderIds: bigint[], multicallOptions?: MulticallOptions): Promise<{ preUserInfo: ContractUserInfo; postUserInfo: ContractUserInfo; }>; }