import { type ContractRunner } from "ethers";
import type { IPerpetualManager, IPerpetualManagerInterface } from "../IPerpetualManager";
export declare class IPerpetualManager__factory {
    static readonly abi: readonly [{
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint8";
            readonly name: "poolId";
            readonly type: "uint8";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "oldOwner";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "newOwner";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint32";
            readonly name: "numLots";
            readonly type: "uint32";
        }];
        readonly name: "BrokerLotsTransferred";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint8";
            readonly name: "poolId";
            readonly type: "uint8";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "oldOwner";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "newOwner";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "fVolume";
            readonly type: "int128";
        }];
        readonly name: "BrokerVolumeTransferred";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "trader";
            readonly type: "address";
        }];
        readonly name: "Clear";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint8";
            readonly name: "poolId";
            readonly type: "uint8";
        }, {
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "trader";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "protocolFeeCC";
            readonly type: "int128";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "participationFundFeeCC";
            readonly type: "int128";
        }];
        readonly name: "DistributeFees";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "liquidator";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "trader";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "amountLiquidatedBC";
            readonly type: "int128";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "liquidationPrice";
            readonly type: "int128";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "newPositionSizeBC";
            readonly type: "int128";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "fFeeCC";
            readonly type: "int128";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "fPnlCC";
            readonly type: "int128";
        }];
        readonly name: "Liquidate";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint8";
            readonly name: "poolId";
            readonly type: "uint8";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "user";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "tokenAmount";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "shareAmount";
            readonly type: "uint256";
        }];
        readonly name: "LiquidityAdded";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint8";
            readonly name: "id";
            readonly type: "uint8";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "marginTokenAddress";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "shareTokenAddress";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint16";
            readonly name: "iTargetPoolSizeUpdateTime";
            readonly type: "uint16";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "fBrokerCollateralLotSize";
            readonly type: "int128";
        }];
        readonly name: "LiquidityPoolCreated";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "bool";
            readonly name: "pauseOn";
            readonly type: "bool";
        }, {
            readonly indexed: false;
            readonly internalType: "uint8";
            readonly name: "poolId";
            readonly type: "uint8";
        }];
        readonly name: "LiquidityProvisionPaused";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint8";
            readonly name: "poolId";
            readonly type: "uint8";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "user";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "tokenAmount";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "shareAmount";
            readonly type: "uint256";
        }];
        readonly name: "LiquidityRemoved";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint8";
            readonly name: "poolId";
            readonly type: "uint8";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "user";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "shareAmount";
            readonly type: "uint256";
        }];
        readonly name: "LiquidityWithdrawalInitiated";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint8";
            readonly name: "poolId";
            readonly type: "uint8";
        }, {
            readonly indexed: false;
            readonly internalType: "uint24";
            readonly name: "id";
            readonly type: "uint24";
        }, {
            readonly indexed: false;
            readonly internalType: "int128[7]";
            readonly name: "baseParams";
            readonly type: "int128[7]";
        }, {
            readonly indexed: false;
            readonly internalType: "int128[5]";
            readonly name: "underlyingRiskParams";
            readonly type: "int128[5]";
        }, {
            readonly indexed: false;
            readonly internalType: "int128[12]";
            readonly name: "defaultFundRiskParams";
            readonly type: "int128[12]";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "eCollateralCurrency";
            readonly type: "uint256";
        }];
        readonly name: "PerpetualCreated";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: true;
            readonly internalType: "bytes32";
            readonly name: "orderHash";
            readonly type: "bytes32";
        }];
        readonly name: "PerpetualLimitOrderCancelled";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint8";
            readonly name: "_liqPoolID";
            readonly type: "uint8";
        }];
        readonly name: "RunLiquidityPool";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint8";
            readonly name: "delay";
            readonly type: "uint8";
        }];
        readonly name: "SetBlockDelay";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint32[]";
            readonly name: "designations";
            readonly type: "uint32[]";
        }, {
            readonly indexed: false;
            readonly internalType: "uint16[]";
            readonly name: "fees";
            readonly type: "uint16[]";
        }];
        readonly name: "SetBrokerDesignations";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256[]";
            readonly name: "tiers";
            readonly type: "uint256[]";
        }, {
            readonly indexed: false;
            readonly internalType: "uint16[]";
            readonly name: "feesTbps";
            readonly type: "uint16[]";
        }];
        readonly name: "SetBrokerTiers";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256[]";
            readonly name: "tiers";
            readonly type: "uint256[]";
        }, {
            readonly indexed: false;
            readonly internalType: "uint16[]";
            readonly name: "feesTbps";
            readonly type: "uint16[]";
        }];
        readonly name: "SetBrokerVolumeTiers";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }];
        readonly name: "SetClearedState";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "trader";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "delegate";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "index";
            readonly type: "uint256";
        }];
        readonly name: "SetDelegate";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "fSettlementMarkPremiumRate";
            readonly type: "int128";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "fSettlementS2Price";
            readonly type: "int128";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "fSettlementS3Price";
            readonly type: "int128";
        }];
        readonly name: "SetEmergencyState";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }];
        readonly name: "SetNormalState";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: false;
            readonly internalType: "bytes4[2]";
            readonly name: "baseQuoteS2";
            readonly type: "bytes4[2]";
        }, {
            readonly indexed: false;
            readonly internalType: "bytes4[2]";
            readonly name: "baseQuoteS3";
            readonly type: "bytes4[2]";
        }];
        readonly name: "SetOracles";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: false;
            readonly internalType: "string";
            readonly name: "name";
            readonly type: "string";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "value";
            readonly type: "int128";
        }];
        readonly name: "SetParameter";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: false;
            readonly internalType: "string";
            readonly name: "name";
            readonly type: "string";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "value1";
            readonly type: "int128";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "value2";
            readonly type: "int128";
        }];
        readonly name: "SetParameterPair";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: false;
            readonly internalType: "int128[7]";
            readonly name: "baseParams";
            readonly type: "int128[7]";
        }];
        readonly name: "SetPerpetualBaseParameters";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: false;
            readonly internalType: "int128[5]";
            readonly name: "underlyingRiskParams";
            readonly type: "int128[5]";
        }, {
            readonly indexed: false;
            readonly internalType: "int128[12]";
            readonly name: "defaultFundRiskParams";
            readonly type: "int128[12]";
        }];
        readonly name: "SetPerpetualRiskParameters";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint8";
            readonly name: "poolId";
            readonly type: "uint8";
        }, {
            readonly indexed: false;
            readonly internalType: "string";
            readonly name: "name";
            readonly type: "string";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "value";
            readonly type: "int128";
        }];
        readonly name: "SetPoolParameter";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256[]";
            readonly name: "tiers";
            readonly type: "uint256[]";
        }, {
            readonly indexed: false;
            readonly internalType: "uint16[]";
            readonly name: "feesTbps";
            readonly type: "uint16[]";
        }];
        readonly name: "SetTraderTiers";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256[]";
            readonly name: "tiers";
            readonly type: "uint256[]";
        }, {
            readonly indexed: false;
            readonly internalType: "uint16[]";
            readonly name: "feesTbps";
            readonly type: "uint16[]";
        }];
        readonly name: "SetTraderVolumeTiers";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "tokenAddr";
            readonly type: "address";
        }];
        readonly name: "SetUtilityToken";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "trader";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "int256";
            readonly name: "amount";
            readonly type: "int256";
        }];
        readonly name: "Settle";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }];
        readonly name: "SettleState";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }];
        readonly name: "SettlementComplete";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "trader";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "amount";
            readonly type: "int128";
        }];
        readonly name: "TokensDeposited";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "trader";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "amount";
            readonly type: "int128";
        }];
        readonly name: "TokensWithdrawn";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "trader";
            readonly type: "address";
        }, {
            readonly components: readonly [{
                readonly internalType: "uint16";
                readonly name: "leverageTDR";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "brokerFeeTbps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint24";
                readonly name: "iPerpetualId";
                readonly type: "uint24";
            }, {
                readonly internalType: "address";
                readonly name: "traderAddr";
                readonly type: "address";
            }, {
                readonly internalType: "uint32";
                readonly name: "executionTimestamp";
                readonly type: "uint32";
            }, {
                readonly internalType: "address";
                readonly name: "brokerAddr";
                readonly type: "address";
            }, {
                readonly internalType: "uint32";
                readonly name: "submittedTimestamp";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "flags";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "iDeadline";
                readonly type: "uint32";
            }, {
                readonly internalType: "address";
                readonly name: "executorAddr";
                readonly type: "address";
            }, {
                readonly internalType: "int128";
                readonly name: "fAmount";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fLimitPrice";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fTriggerPrice";
                readonly type: "int128";
            }, {
                readonly internalType: "bytes";
                readonly name: "brokerSignature";
                readonly type: "bytes";
            }];
            readonly indexed: false;
            readonly internalType: "struct IPerpetualOrder.Order";
            readonly name: "order";
            readonly type: "tuple";
        }, {
            readonly indexed: false;
            readonly internalType: "bytes32";
            readonly name: "orderDigest";
            readonly type: "bytes32";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "newPositionSizeBC";
            readonly type: "int128";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "price";
            readonly type: "int128";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "fFeeCC";
            readonly type: "int128";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "fPnlCC";
            readonly type: "int128";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "fB2C";
            readonly type: "int128";
        }];
        readonly name: "Trade";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "string";
            readonly name: "name";
            readonly type: "string";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "oldOBFactory";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "newOBFactory";
            readonly type: "address";
        }];
        readonly name: "TransferAddressTo";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint8";
            readonly name: "poolId";
            readonly type: "uint8";
        }, {
            readonly indexed: false;
            readonly internalType: "uint32";
            readonly name: "iLots";
            readonly type: "uint32";
        }, {
            readonly indexed: false;
            readonly internalType: "uint32";
            readonly name: "iNewBrokerLots";
            readonly type: "uint32";
        }];
        readonly name: "UpdateBrokerAddedCash";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "fFundingRate";
            readonly type: "int128";
        }];
        readonly name: "UpdateFundingRate";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "trader";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "fFundingPaymentCC";
            readonly type: "int128";
        }];
        readonly name: "UpdateMarginAccount";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint24";
            readonly name: "perpetualId";
            readonly type: "uint24";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "fMidPricePremium";
            readonly type: "int128";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "fMarkPricePremium";
            readonly type: "int128";
        }, {
            readonly indexed: false;
            readonly internalType: "int128";
            readonly name: "fMarkIndexPrice";
            readonly type: "int128";
        }];
        readonly name: "UpdateMarkPrice";
        readonly type: "event";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }];
        readonly name: "activatePerpetual";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_iPoolIndex";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "_tokenAmount";
            readonly type: "uint256";
        }];
        readonly name: "addLiquidity";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "int128";
            readonly name: "_fSettlementS2";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fSettlementS3";
            readonly type: "int128";
        }];
        readonly name: "adjustSettlementPrice";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "int128[2]";
            readonly name: "_fK2AMM";
            readonly type: "int128[2]";
        }, {
            readonly internalType: "int128";
            readonly name: "_fk2Trader";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fCoverN";
            readonly type: "int128";
        }, {
            readonly internalType: "int128[2]";
            readonly name: "fStressRet2";
            readonly type: "int128[2]";
        }, {
            readonly internalType: "int128[2]";
            readonly name: "fStressRet3";
            readonly type: "int128[2]";
        }, {
            readonly internalType: "int128[2]";
            readonly name: "fIndexPrices";
            readonly type: "int128[2]";
        }, {
            readonly internalType: "enum AMMPerpLogic.CollateralCurrency";
            readonly name: "_eCCY";
            readonly type: "uint8";
        }];
        readonly name: "calculateDefaultFundSize";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "int128";
                readonly name: "fLockedValue1";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fPoolM1";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fPoolM2";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fPoolM3";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fAMM_K2";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fCurrentTraderExposureEMA";
                readonly type: "int128";
            }];
            readonly internalType: "struct AMMPerpLogic.AMMVariables";
            readonly name: "_ammVars";
            readonly type: "tuple";
        }, {
            readonly components: readonly [{
                readonly internalType: "int128";
                readonly name: "fIndexPriceS2";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fIndexPriceS3";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fSigma2";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fSigma3";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fRho23";
                readonly type: "int128";
            }];
            readonly internalType: "struct AMMPerpLogic.MarketVariables";
            readonly name: "_mktVars";
            readonly type: "tuple";
        }, {
            readonly internalType: "int128";
            readonly name: "_fTradeAmount";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fBidAskSpread";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fIncentiveSpread";
            readonly type: "int128";
        }];
        readonly name: "calculatePerpetualPrice";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "int128";
                readonly name: "fLockedValue1";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fPoolM1";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fPoolM2";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fPoolM3";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fAMM_K2";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fCurrentTraderExposureEMA";
                readonly type: "int128";
            }];
            readonly internalType: "struct AMMPerpLogic.AMMVariables";
            readonly name: "_ammVars";
            readonly type: "tuple";
        }, {
            readonly components: readonly [{
                readonly internalType: "int128";
                readonly name: "fIndexPriceS2";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fIndexPriceS3";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fSigma2";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fSigma3";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fRho23";
                readonly type: "int128";
            }];
            readonly internalType: "struct AMMPerpLogic.MarketVariables";
            readonly name: "_mktVars";
            readonly type: "tuple";
        }, {
            readonly internalType: "int128";
            readonly name: "_fTradeAmount";
            readonly type: "int128";
        }, {
            readonly internalType: "bool";
            readonly name: "_withCDF";
            readonly type: "bool";
        }];
        readonly name: "calculateRiskNeutralPD";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_id";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "_bulkSize";
            readonly type: "uint256";
        }];
        readonly name: "clearTradersInPool";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }];
        readonly name: "countActivePerpAccounts";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_marginTokenAddress";
            readonly type: "address";
        }, {
            readonly internalType: "uint16";
            readonly name: "_iTargetPoolSizeUpdateTime";
            readonly type: "uint16";
        }, {
            readonly internalType: "int128";
            readonly name: "_fBrokerCollateralLotSize";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fCeilPnLShare";
            readonly type: "int128";
        }];
        readonly name: "createLiquidityPool";
        readonly outputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_iPoolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "bytes4[2]";
            readonly name: "_baseQuoteS2";
            readonly type: "bytes4[2]";
        }, {
            readonly internalType: "bytes4[2]";
            readonly name: "_baseQuoteS3";
            readonly type: "bytes4[2]";
        }, {
            readonly internalType: "int128[7]";
            readonly name: "_baseParams";
            readonly type: "int128[7]";
        }, {
            readonly internalType: "int128[5]";
            readonly name: "_underlyingRiskParams";
            readonly type: "int128[5]";
        }, {
            readonly internalType: "int128[12]";
            readonly name: "_defaultFundRiskParams";
            readonly type: "int128[12]";
        }, {
            readonly internalType: "uint256";
            readonly name: "_eCollateralCurrency";
            readonly type: "uint256";
        }];
        readonly name: "createPerpetual";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }];
        readonly name: "deactivatePerp";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint16";
            readonly name: "num";
            readonly type: "uint16";
        }];
        readonly name: "decodeUint16Float";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_iPoolIdx";
            readonly type: "uint8";
        }, {
            readonly internalType: "int128";
            readonly name: "_fAmount";
            readonly type: "int128";
        }];
        readonly name: "decreasePoolCash";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddr";
            readonly type: "address";
        }, {
            readonly internalType: "int128";
            readonly name: "_fAmount";
            readonly type: "int128";
        }, {
            readonly internalType: "bytes[]";
            readonly name: "_updateData";
            readonly type: "bytes[]";
        }, {
            readonly internalType: "uint64[]";
            readonly name: "_publishTimes";
            readonly type: "uint64[]";
        }];
        readonly name: "deposit";
        readonly outputs: readonly [];
        readonly stateMutability: "payable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint32";
            readonly name: "_iLots";
            readonly type: "uint32";
        }];
        readonly name: "depositBrokerLots";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "int128";
            readonly name: "_fDepositRequired";
            readonly type: "int128";
        }, {
            readonly components: readonly [{
                readonly internalType: "uint16";
                readonly name: "leverageTDR";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "brokerFeeTbps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint24";
                readonly name: "iPerpetualId";
                readonly type: "uint24";
            }, {
                readonly internalType: "address";
                readonly name: "traderAddr";
                readonly type: "address";
            }, {
                readonly internalType: "uint32";
                readonly name: "executionTimestamp";
                readonly type: "uint32";
            }, {
                readonly internalType: "address";
                readonly name: "brokerAddr";
                readonly type: "address";
            }, {
                readonly internalType: "uint32";
                readonly name: "submittedTimestamp";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "flags";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "iDeadline";
                readonly type: "uint32";
            }, {
                readonly internalType: "address";
                readonly name: "executorAddr";
                readonly type: "address";
            }, {
                readonly internalType: "int128";
                readonly name: "fAmount";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fLimitPrice";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fTriggerPrice";
                readonly type: "int128";
            }, {
                readonly internalType: "bytes";
                readonly name: "brokerSignature";
                readonly type: "bytes";
            }];
            readonly internalType: "struct IPerpetualOrder.Order";
            readonly name: "_order";
            readonly type: "tuple";
        }];
        readonly name: "depositMarginForOpeningTrade";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "int128";
            readonly name: "_fAmount";
            readonly type: "int128";
        }];
        readonly name: "depositToDefaultFund";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint16";
                readonly name: "leverageTDR";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "brokerFeeTbps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint24";
                readonly name: "iPerpetualId";
                readonly type: "uint24";
            }, {
                readonly internalType: "address";
                readonly name: "traderAddr";
                readonly type: "address";
            }, {
                readonly internalType: "uint32";
                readonly name: "executionTimestamp";
                readonly type: "uint32";
            }, {
                readonly internalType: "address";
                readonly name: "brokerAddr";
                readonly type: "address";
            }, {
                readonly internalType: "uint32";
                readonly name: "submittedTimestamp";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "flags";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "iDeadline";
                readonly type: "uint32";
            }, {
                readonly internalType: "address";
                readonly name: "executorAddr";
                readonly type: "address";
            }, {
                readonly internalType: "int128";
                readonly name: "fAmount";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fLimitPrice";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fTriggerPrice";
                readonly type: "int128";
            }, {
                readonly internalType: "bytes";
                readonly name: "brokerSignature";
                readonly type: "bytes";
            }];
            readonly internalType: "struct IPerpetualOrder.Order";
            readonly name: "_order";
            readonly type: "tuple";
        }];
        readonly name: "determineExchangeFee";
        readonly outputs: readonly [{
            readonly internalType: "uint16";
            readonly name: "";
            readonly type: "uint16";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint16";
                readonly name: "leverageTDR";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "brokerFeeTbps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint24";
                readonly name: "iPerpetualId";
                readonly type: "uint24";
            }, {
                readonly internalType: "address";
                readonly name: "traderAddr";
                readonly type: "address";
            }, {
                readonly internalType: "uint32";
                readonly name: "executionTimestamp";
                readonly type: "uint32";
            }, {
                readonly internalType: "address";
                readonly name: "brokerAddr";
                readonly type: "address";
            }, {
                readonly internalType: "uint32";
                readonly name: "submittedTimestamp";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "flags";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "iDeadline";
                readonly type: "uint32";
            }, {
                readonly internalType: "address";
                readonly name: "executorAddr";
                readonly type: "address";
            }, {
                readonly internalType: "int128";
                readonly name: "fAmount";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fLimitPrice";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fTriggerPrice";
                readonly type: "int128";
            }, {
                readonly internalType: "bytes";
                readonly name: "brokerSignature";
                readonly type: "bytes";
            }];
            readonly internalType: "struct IPerpetualOrder.Order";
            readonly name: "_order";
            readonly type: "tuple";
        }, {
            readonly internalType: "uint16";
            readonly name: "_brkrFeeTbps";
            readonly type: "uint16";
        }, {
            readonly internalType: "uint16";
            readonly name: "_protocolFeeTbps";
            readonly type: "uint16";
        }, {
            readonly internalType: "bool";
            readonly name: "_hasOpened";
            readonly type: "bool";
        }];
        readonly name: "distributeFees";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddr";
            readonly type: "address";
        }, {
            readonly internalType: "int128";
            readonly name: "_fDeltaPositionBC";
            readonly type: "int128";
        }, {
            readonly internalType: "uint16";
            readonly name: "_protocolFeeTbps";
            readonly type: "uint16";
        }];
        readonly name: "distributeFeesLiquidation";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "int128";
            readonly name: "_p";
            readonly type: "int128";
        }];
        readonly name: "entropy";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "bytes32";
            readonly name: "_digest";
            readonly type: "bytes32";
        }];
        readonly name: "executeCancelOrder";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "address";
            readonly name: "_lpAddr";
            readonly type: "address";
        }];
        readonly name: "executeLiquidityWithdrawal";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddr";
            readonly type: "address";
        }, {
            readonly internalType: "int128";
            readonly name: "_fTraderPos";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fTradeAmount";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fPrice";
            readonly type: "int128";
        }, {
            readonly internalType: "bool";
            readonly name: "_isClose";
            readonly type: "bool";
        }];
        readonly name: "executeTrade";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getAMMPerpLogic";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "int128[2]";
            readonly name: "_fIndexPrice";
            readonly type: "int128[2]";
        }];
        readonly name: "getAMMState";
        readonly outputs: readonly [{
            readonly internalType: "int128[15]";
            readonly name: "";
            readonly type: "int128[15]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }];
        readonly name: "getActivePerpAccounts";
        readonly outputs: readonly [{
            readonly internalType: "address[]";
            readonly name: "";
            readonly type: "address[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "uint256";
            readonly name: "_from";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_to";
            readonly type: "uint256";
        }];
        readonly name: "getActivePerpAccountsByChunks";
        readonly outputs: readonly [{
            readonly internalType: "address[]";
            readonly name: "";
            readonly type: "address[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "address";
            readonly name: "_brokerAddr";
            readonly type: "address";
        }];
        readonly name: "getBrokerDesignation";
        readonly outputs: readonly [{
            readonly internalType: "uint32";
            readonly name: "";
            readonly type: "uint32";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "address";
            readonly name: "_brokerAddr";
            readonly type: "address";
        }];
        readonly name: "getBrokerInducedFee";
        readonly outputs: readonly [{
            readonly internalType: "uint16";
            readonly name: "";
            readonly type: "uint16";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }];
        readonly name: "getCollateralTokenAmountForPricing";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "address";
            readonly name: "_brokerAddr";
            readonly type: "address";
        }];
        readonly name: "getCurrentBrokerVolume";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddr";
            readonly type: "address";
        }];
        readonly name: "getCurrentTraderVolume";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "int128";
            readonly name: "_fPosition0";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fBalance0";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fTradeAmount";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fTargetLeverage";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fPrice";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fS2Mark";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fS3";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fS2";
            readonly type: "int128";
        }];
        readonly name: "getDepositAmountForLvgPosition";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "int128";
            readonly name: "_fAmount";
            readonly type: "int128";
        }, {
            readonly internalType: "uint16";
            readonly name: "_leverageTDR";
            readonly type: "uint16";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddr";
            readonly type: "address";
        }];
        readonly name: "getExchangeFeePrdMkts";
        readonly outputs: readonly [{
            readonly internalType: "uint16";
            readonly name: "";
            readonly type: "uint16";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint32";
            readonly name: "_brokerDesignation";
            readonly type: "uint32";
        }];
        readonly name: "getFeeForBrokerDesignation";
        readonly outputs: readonly [{
            readonly internalType: "uint16";
            readonly name: "";
            readonly type: "uint16";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "brokerAddr";
            readonly type: "address";
        }];
        readonly name: "getFeeForBrokerStake";
        readonly outputs: readonly [{
            readonly internalType: "uint16";
            readonly name: "";
            readonly type: "uint16";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "address";
            readonly name: "_brokerAddr";
            readonly type: "address";
        }];
        readonly name: "getFeeForBrokerVolume";
        readonly outputs: readonly [{
            readonly internalType: "uint16";
            readonly name: "";
            readonly type: "uint16";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "traderAddr";
            readonly type: "address";
        }];
        readonly name: "getFeeForTraderStake";
        readonly outputs: readonly [{
            readonly internalType: "uint16";
            readonly name: "";
            readonly type: "uint16";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddr";
            readonly type: "address";
        }];
        readonly name: "getFeeForTraderVolume";
        readonly outputs: readonly [{
            readonly internalType: "uint16";
            readonly name: "";
            readonly type: "uint16";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }];
        readonly name: "getLastPerpetualBaseToUSDConversion";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "int128[2]";
            readonly name: "_fIndexPrice";
            readonly type: "int128[2]";
        }];
        readonly name: "getLiquidatableAccounts";
        readonly outputs: readonly [{
            readonly internalType: "address[]";
            readonly name: "unsafeAccounts";
            readonly type: "address[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }];
        readonly name: "getLiquidityPool";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "bool";
                readonly name: "isRunning";
                readonly type: "bool";
            }, {
                readonly internalType: "uint8";
                readonly name: "iPerpetualCount";
                readonly type: "uint8";
            }, {
                readonly internalType: "uint8";
                readonly name: "id";
                readonly type: "uint8";
            }, {
                readonly internalType: "int32";
                readonly name: "fCeilPnLShare";
                readonly type: "int32";
            }, {
                readonly internalType: "uint8";
                readonly name: "marginTokenDecimals";
                readonly type: "uint8";
            }, {
                readonly internalType: "uint16";
                readonly name: "iTargetPoolSizeUpdateTime";
                readonly type: "uint16";
            }, {
                readonly internalType: "address";
                readonly name: "marginTokenAddress";
                readonly type: "address";
            }, {
                readonly internalType: "uint64";
                readonly name: "prevAnchor";
                readonly type: "uint64";
            }, {
                readonly internalType: "int128";
                readonly name: "fRedemptionRate";
                readonly type: "int128";
            }, {
                readonly internalType: "address";
                readonly name: "shareTokenAddress";
                readonly type: "address";
            }, {
                readonly internalType: "int128";
                readonly name: "fPnLparticipantsCashCC";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fTargetAMMFundSize";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fDefaultFundCashCC";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fTargetDFSize";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fBrokerCollateralLotSize";
                readonly type: "int128";
            }, {
                readonly internalType: "uint128";
                readonly name: "prevTokenAmount";
                readonly type: "uint128";
            }, {
                readonly internalType: "uint128";
                readonly name: "nextTokenAmount";
                readonly type: "uint128";
            }, {
                readonly internalType: "uint128";
                readonly name: "totalSupplyShareToken";
                readonly type: "uint128";
            }, {
                readonly internalType: "int128";
                readonly name: "fBrokerFundCashCC";
                readonly type: "int128";
            }];
            readonly internalType: "struct PerpStorage.LiquidityPoolData";
            readonly name: "";
            readonly type: "tuple";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolIdFrom";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint8";
            readonly name: "_poolIdTo";
            readonly type: "uint8";
        }];
        readonly name: "getLiquidityPools";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "bool";
                readonly name: "isRunning";
                readonly type: "bool";
            }, {
                readonly internalType: "uint8";
                readonly name: "iPerpetualCount";
                readonly type: "uint8";
            }, {
                readonly internalType: "uint8";
                readonly name: "id";
                readonly type: "uint8";
            }, {
                readonly internalType: "int32";
                readonly name: "fCeilPnLShare";
                readonly type: "int32";
            }, {
                readonly internalType: "uint8";
                readonly name: "marginTokenDecimals";
                readonly type: "uint8";
            }, {
                readonly internalType: "uint16";
                readonly name: "iTargetPoolSizeUpdateTime";
                readonly type: "uint16";
            }, {
                readonly internalType: "address";
                readonly name: "marginTokenAddress";
                readonly type: "address";
            }, {
                readonly internalType: "uint64";
                readonly name: "prevAnchor";
                readonly type: "uint64";
            }, {
                readonly internalType: "int128";
                readonly name: "fRedemptionRate";
                readonly type: "int128";
            }, {
                readonly internalType: "address";
                readonly name: "shareTokenAddress";
                readonly type: "address";
            }, {
                readonly internalType: "int128";
                readonly name: "fPnLparticipantsCashCC";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fTargetAMMFundSize";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fDefaultFundCashCC";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fTargetDFSize";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fBrokerCollateralLotSize";
                readonly type: "int128";
            }, {
                readonly internalType: "uint128";
                readonly name: "prevTokenAmount";
                readonly type: "uint128";
            }, {
                readonly internalType: "uint128";
                readonly name: "nextTokenAmount";
                readonly type: "uint128";
            }, {
                readonly internalType: "uint128";
                readonly name: "totalSupplyShareToken";
                readonly type: "uint128";
            }, {
                readonly internalType: "int128";
                readonly name: "fBrokerFundCashCC";
                readonly type: "int128";
            }];
            readonly internalType: "struct PerpStorage.LiquidityPoolData[]";
            readonly name: "";
            readonly type: "tuple[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddress";
            readonly type: "address";
        }];
        readonly name: "getMarginAccount";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "int128";
                readonly name: "fLockedInValueQC";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fCashCC";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fPositionBC";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fUnitAccumulatedFundingStart";
                readonly type: "int128";
            }];
            readonly internalType: "struct PerpStorage.MarginAccount";
            readonly name: "";
            readonly type: "tuple";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24[]";
            readonly name: "_perpetualIds";
            readonly type: "uint24[]";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddress";
            readonly type: "address";
        }];
        readonly name: "getMarginAccounts";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "int128";
                readonly name: "fLockedInValueQC";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fCashCC";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fPositionBC";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fUnitAccumulatedFundingStart";
                readonly type: "int128";
            }];
            readonly internalType: "struct PerpStorage.MarginAccount[]";
            readonly name: "";
            readonly type: "tuple[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "int128";
            readonly name: "_fCurrentTraderPos";
            readonly type: "int128";
        }, {
            readonly internalType: "bool";
            readonly name: "_isBuy";
            readonly type: "bool";
        }];
        readonly name: "getMaxSignedOpenTradeSizeForPos";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "int128[2]";
            readonly name: "_fIndexPrice";
            readonly type: "int128[2]";
        }];
        readonly name: "getNextLiquidatableTrader";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "traderAddr";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getOracleFactory";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes4[2]";
            readonly name: "_baseQuote";
            readonly type: "bytes4[2]";
        }];
        readonly name: "getOraclePrice";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }, {
            readonly internalType: "uint64";
            readonly name: "";
            readonly type: "uint64";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }];
        readonly name: "getOracleUpdateTime";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }];
        readonly name: "getOrderBookAddress";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getOrderBookFactoryAddress";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }];
        readonly name: "getPerpetual";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint8";
                readonly name: "poolId";
                readonly type: "uint8";
            }, {
                readonly internalType: "uint24";
                readonly name: "id";
                readonly type: "uint24";
            }, {
                readonly internalType: "int32";
                readonly name: "fInitialMarginRate";
                readonly type: "int32";
            }, {
                readonly internalType: "int32";
                readonly name: "fSigma2";
                readonly type: "int32";
            }, {
                readonly internalType: "uint32";
                readonly name: "iLastFundingTime";
                readonly type: "uint32";
            }, {
                readonly internalType: "int32";
                readonly name: "fDFCoverNRate";
                readonly type: "int32";
            }, {
                readonly internalType: "int32";
                readonly name: "fMaintenanceMarginRate";
                readonly type: "int32";
            }, {
                readonly internalType: "enum PerpStorage.PerpetualState";
                readonly name: "state";
                readonly type: "uint8";
            }, {
                readonly internalType: "enum AMMPerpLogic.CollateralCurrency";
                readonly name: "eCollateralCurrency";
                readonly type: "uint8";
            }, {
                readonly internalType: "bytes4";
                readonly name: "S2BaseCCY";
                readonly type: "bytes4";
            }, {
                readonly internalType: "bytes4";
                readonly name: "S2QuoteCCY";
                readonly type: "bytes4";
            }, {
                readonly internalType: "uint16";
                readonly name: "incentiveSpreadTbps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "minimalSpreadBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "bytes4";
                readonly name: "S3BaseCCY";
                readonly type: "bytes4";
            }, {
                readonly internalType: "bytes4";
                readonly name: "S3QuoteCCY";
                readonly type: "bytes4";
            }, {
                readonly internalType: "int32";
                readonly name: "fSigma3";
                readonly type: "int32";
            }, {
                readonly internalType: "int32";
                readonly name: "fRho23";
                readonly type: "int32";
            }, {
                readonly internalType: "uint16";
                readonly name: "liquidationPenaltyRateTbps";
                readonly type: "uint16";
            }, {
                readonly components: readonly [{
                    readonly internalType: "int128";
                    readonly name: "fPrice";
                    readonly type: "int128";
                }, {
                    readonly internalType: "uint64";
                    readonly name: "time";
                    readonly type: "uint64";
                }];
                readonly internalType: "struct PerpStorage.PriceTimeData";
                readonly name: "currentMarkPremiumRate";
                readonly type: "tuple";
            }, {
                readonly internalType: "int128";
                readonly name: "premiumRatesEMA";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fUnitAccumulatedFunding";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fOpenInterest";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fTargetAMMFundSize";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fCurrentTraderExposureEMA";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fCurrentFundingRate";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fLotSizeBC";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fReferralRebateCC";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fTargetDFSize";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fkStar";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fAMMTargetDD";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "perpFlags";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fMinimalTraderExposureEMA";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fMinimalAMMExposureEMA";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fSettlementS3PriceData";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fSettlementS2PriceData";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fParams";
                readonly type: "int128";
            }, {
                readonly internalType: "int32";
                readonly name: "fMarkPriceEMALambda";
                readonly type: "int32";
            }, {
                readonly internalType: "int32";
                readonly name: "fFundingRateClamp";
                readonly type: "int32";
            }, {
                readonly internalType: "int32";
                readonly name: "fMaximalTradeSizeBumpUp";
                readonly type: "int32";
            }, {
                readonly internalType: "uint32";
                readonly name: "iLastTargetPoolSizeTime";
                readonly type: "uint32";
            }, {
                readonly internalType: "int128[2]";
                readonly name: "fStressReturnS3";
                readonly type: "int128[2]";
            }, {
                readonly internalType: "int128[2]";
                readonly name: "fDFLambda";
                readonly type: "int128[2]";
            }, {
                readonly internalType: "int128[2]";
                readonly name: "fCurrentAMMExposureEMA";
                readonly type: "int128[2]";
            }, {
                readonly internalType: "int128[2]";
                readonly name: "fStressReturnS2";
                readonly type: "int128[2]";
            }];
            readonly internalType: "struct PerpStorage.PerpetualData";
            readonly name: "";
            readonly type: "tuple";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }];
        readonly name: "getPerpetualCountInPool";
        readonly outputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint8";
            readonly name: "_perpetualIndex";
            readonly type: "uint8";
        }];
        readonly name: "getPerpetualId";
        readonly outputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "";
            readonly type: "uint24";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24[]";
            readonly name: "perpetualIds";
            readonly type: "uint24[]";
        }];
        readonly name: "getPerpetualStaticInfo";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint24";
                readonly name: "id";
                readonly type: "uint24";
            }, {
                readonly internalType: "address";
                readonly name: "limitOrderBookAddr";
                readonly type: "address";
            }, {
                readonly internalType: "int32";
                readonly name: "fInitialMarginRate";
                readonly type: "int32";
            }, {
                readonly internalType: "int32";
                readonly name: "fMaintenanceMarginRate";
                readonly type: "int32";
            }, {
                readonly internalType: "uint8";
                readonly name: "perpetualState";
                readonly type: "uint8";
            }, {
                readonly internalType: "enum AMMPerpLogic.CollateralCurrency";
                readonly name: "collCurrencyType";
                readonly type: "uint8";
            }, {
                readonly internalType: "bytes4";
                readonly name: "S2BaseCCY";
                readonly type: "bytes4";
            }, {
                readonly internalType: "bytes4";
                readonly name: "S2QuoteCCY";
                readonly type: "bytes4";
            }, {
                readonly internalType: "bytes4";
                readonly name: "S3BaseCCY";
                readonly type: "bytes4";
            }, {
                readonly internalType: "bytes4";
                readonly name: "S3QuoteCCY";
                readonly type: "bytes4";
            }, {
                readonly internalType: "int128";
                readonly name: "fLotSizeBC";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fReferralRebateCC";
                readonly type: "int128";
            }, {
                readonly internalType: "bytes32[]";
                readonly name: "priceIds";
                readonly type: "bytes32[]";
            }, {
                readonly internalType: "bool[]";
                readonly name: "isPyth";
                readonly type: "bool[]";
            }, {
                readonly internalType: "int128";
                readonly name: "perpFlags";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fAMMTargetDD";
                readonly type: "int128";
            }];
            readonly internalType: "struct IPerpetualInfo.PerpetualStaticInfo[]";
            readonly name: "";
            readonly type: "tuple[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24[]";
            readonly name: "perpetualIds";
            readonly type: "uint24[]";
        }];
        readonly name: "getPerpetuals";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint8";
                readonly name: "poolId";
                readonly type: "uint8";
            }, {
                readonly internalType: "uint24";
                readonly name: "id";
                readonly type: "uint24";
            }, {
                readonly internalType: "int32";
                readonly name: "fInitialMarginRate";
                readonly type: "int32";
            }, {
                readonly internalType: "int32";
                readonly name: "fSigma2";
                readonly type: "int32";
            }, {
                readonly internalType: "uint32";
                readonly name: "iLastFundingTime";
                readonly type: "uint32";
            }, {
                readonly internalType: "int32";
                readonly name: "fDFCoverNRate";
                readonly type: "int32";
            }, {
                readonly internalType: "int32";
                readonly name: "fMaintenanceMarginRate";
                readonly type: "int32";
            }, {
                readonly internalType: "enum PerpStorage.PerpetualState";
                readonly name: "state";
                readonly type: "uint8";
            }, {
                readonly internalType: "enum AMMPerpLogic.CollateralCurrency";
                readonly name: "eCollateralCurrency";
                readonly type: "uint8";
            }, {
                readonly internalType: "bytes4";
                readonly name: "S2BaseCCY";
                readonly type: "bytes4";
            }, {
                readonly internalType: "bytes4";
                readonly name: "S2QuoteCCY";
                readonly type: "bytes4";
            }, {
                readonly internalType: "uint16";
                readonly name: "incentiveSpreadTbps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "minimalSpreadBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "bytes4";
                readonly name: "S3BaseCCY";
                readonly type: "bytes4";
            }, {
                readonly internalType: "bytes4";
                readonly name: "S3QuoteCCY";
                readonly type: "bytes4";
            }, {
                readonly internalType: "int32";
                readonly name: "fSigma3";
                readonly type: "int32";
            }, {
                readonly internalType: "int32";
                readonly name: "fRho23";
                readonly type: "int32";
            }, {
                readonly internalType: "uint16";
                readonly name: "liquidationPenaltyRateTbps";
                readonly type: "uint16";
            }, {
                readonly components: readonly [{
                    readonly internalType: "int128";
                    readonly name: "fPrice";
                    readonly type: "int128";
                }, {
                    readonly internalType: "uint64";
                    readonly name: "time";
                    readonly type: "uint64";
                }];
                readonly internalType: "struct PerpStorage.PriceTimeData";
                readonly name: "currentMarkPremiumRate";
                readonly type: "tuple";
            }, {
                readonly internalType: "int128";
                readonly name: "premiumRatesEMA";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fUnitAccumulatedFunding";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fOpenInterest";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fTargetAMMFundSize";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fCurrentTraderExposureEMA";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fCurrentFundingRate";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fLotSizeBC";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fReferralRebateCC";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fTargetDFSize";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fkStar";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fAMMTargetDD";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "perpFlags";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fMinimalTraderExposureEMA";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fMinimalAMMExposureEMA";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fSettlementS3PriceData";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fSettlementS2PriceData";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fParams";
                readonly type: "int128";
            }, {
                readonly internalType: "int32";
                readonly name: "fMarkPriceEMALambda";
                readonly type: "int32";
            }, {
                readonly internalType: "int32";
                readonly name: "fFundingRateClamp";
                readonly type: "int32";
            }, {
                readonly internalType: "int32";
                readonly name: "fMaximalTradeSizeBumpUp";
                readonly type: "int32";
            }, {
                readonly internalType: "uint32";
                readonly name: "iLastTargetPoolSizeTime";
                readonly type: "uint32";
            }, {
                readonly internalType: "int128[2]";
                readonly name: "fStressReturnS3";
                readonly type: "int128[2]";
            }, {
                readonly internalType: "int128[2]";
                readonly name: "fDFLambda";
                readonly type: "int128[2]";
            }, {
                readonly internalType: "int128[2]";
                readonly name: "fCurrentAMMExposureEMA";
                readonly type: "int128[2]";
            }, {
                readonly internalType: "int128[2]";
                readonly name: "fStressReturnS2";
                readonly type: "int128[2]";
            }];
            readonly internalType: "struct PerpStorage.PerpetualData[]";
            readonly name: "";
            readonly type: "tuple[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getPoolCount";
        readonly outputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }];
        readonly name: "getPoolIdByPerpetualId";
        readonly outputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolFromIdx";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint8";
            readonly name: "_poolToIdx";
            readonly type: "uint8";
        }];
        readonly name: "getPoolStaticInfo";
        readonly outputs: readonly [{
            readonly internalType: "uint24[][]";
            readonly name: "";
            readonly type: "uint24[][]";
        }, {
            readonly internalType: "address[]";
            readonly name: "";
            readonly type: "address[]";
        }, {
            readonly internalType: "address[]";
            readonly name: "";
            readonly type: "address[]";
        }, {
            readonly internalType: "address";
            readonly name: "_oracleFactoryAddress";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }];
        readonly name: "getPriceInfo";
        readonly outputs: readonly [{
            readonly internalType: "bytes32[]";
            readonly name: "";
            readonly type: "bytes32[]";
        }, {
            readonly internalType: "bool[]";
            readonly name: "";
            readonly type: "bool[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "uint256";
            readonly name: "start";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "count";
            readonly type: "uint256";
        }];
        readonly name: "getSettleableAccounts";
        readonly outputs: readonly [{
            readonly internalType: "address[]";
            readonly name: "";
            readonly type: "address[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getShareTokenFactory";
        readonly outputs: readonly [{
            readonly internalType: "contract IShareTokenFactory";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }];
        readonly name: "getShareTokenPriceD18";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "price";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "int128";
            readonly name: "_fK2";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fL1";
            readonly type: "int128";
        }, {
            readonly components: readonly [{
                readonly internalType: "int128";
                readonly name: "fIndexPriceS2";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fIndexPriceS3";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fSigma2";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fSigma3";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fRho23";
                readonly type: "int128";
            }];
            readonly internalType: "struct AMMPerpLogic.MarketVariables";
            readonly name: "_mktVars";
            readonly type: "tuple";
        }, {
            readonly internalType: "int128";
            readonly name: "_fTargetDD";
            readonly type: "int128";
        }];
        readonly name: "getTargetCollateralM1";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "int128";
            readonly name: "_fK2";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fL1";
            readonly type: "int128";
        }, {
            readonly components: readonly [{
                readonly internalType: "int128";
                readonly name: "fIndexPriceS2";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fIndexPriceS3";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fSigma2";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fSigma3";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fRho23";
                readonly type: "int128";
            }];
            readonly internalType: "struct AMMPerpLogic.MarketVariables";
            readonly name: "_mktVars";
            readonly type: "tuple";
        }, {
            readonly internalType: "int128";
            readonly name: "_fTargetDD";
            readonly type: "int128";
        }];
        readonly name: "getTargetCollateralM2";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "int128";
            readonly name: "_fK2";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fL1";
            readonly type: "int128";
        }, {
            readonly components: readonly [{
                readonly internalType: "int128";
                readonly name: "fIndexPriceS2";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fIndexPriceS3";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fSigma2";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fSigma3";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fRho23";
                readonly type: "int128";
            }];
            readonly internalType: "struct AMMPerpLogic.MarketVariables";
            readonly name: "_mktVars";
            readonly type: "tuple";
        }, {
            readonly internalType: "int128";
            readonly name: "_fTargetDD";
            readonly type: "int128";
        }];
        readonly name: "getTargetCollateralM3";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "_shareAmount";
            readonly type: "uint256";
        }];
        readonly name: "getTokenAmountToReturn";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddress";
            readonly type: "address";
        }, {
            readonly internalType: "int128[2]";
            readonly name: "_fIndexPrice";
            readonly type: "int128[2]";
        }];
        readonly name: "getTraderState";
        readonly outputs: readonly [{
            readonly internalType: "int128[11]";
            readonly name: "";
            readonly type: "int128[11]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getTreasuryAddress";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "_fromIdx";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "numRequests";
            readonly type: "uint256";
        }];
        readonly name: "getWithdrawRequests";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "lp";
                readonly type: "address";
            }, {
                readonly internalType: "uint256";
                readonly name: "shareTokens";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint64";
                readonly name: "withdrawTimestamp";
                readonly type: "uint64";
            }];
            readonly internalType: "struct PerpStorage.WithdrawRequest[]";
            readonly name: "";
            readonly type: "tuple[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_iPoolIdx";
            readonly type: "uint8";
        }, {
            readonly internalType: "int128";
            readonly name: "_fAmount";
            readonly type: "int128";
        }];
        readonly name: "increasePoolCash";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddress";
            readonly type: "address";
        }];
        readonly name: "isActiveAccount";
        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: "_trader";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "_delegate";
            readonly type: "address";
        }];
        readonly name: "isDelegate";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes4";
            readonly name: "_baseCurrency";
            readonly type: "bytes4";
        }, {
            readonly internalType: "bytes4";
            readonly name: "_quoteCurrency";
            readonly type: "bytes4";
        }];
        readonly name: "isMarketClosed";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "digest";
            readonly type: "bytes32";
        }];
        readonly name: "isOrderCanceled";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "digest";
            readonly type: "bytes32";
        }];
        readonly name: "isOrderExecuted";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }];
        readonly name: "isPerpMarketClosed";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "isClosed";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualIndex";
            readonly type: "uint24";
        }, {
            readonly internalType: "address";
            readonly name: "_liquidatorAddr";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddr";
            readonly type: "address";
        }, {
            readonly internalType: "bytes[]";
            readonly name: "_updateData";
            readonly type: "bytes[]";
        }, {
            readonly internalType: "uint64[]";
            readonly name: "_publishTimes";
            readonly type: "uint64[]";
        }];
        readonly name: "liquidateByAMM";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "liquidatedAmount";
            readonly type: "int128";
        }];
        readonly stateMutability: "payable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "bool";
            readonly name: "_pauseOn";
            readonly type: "bool";
        }];
        readonly name: "pauseLiquidityProvision";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "int128";
            readonly name: "_fPx";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fm";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fTradeAmt";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fMgnRate";
            readonly type: "int128";
        }];
        readonly name: "prdMktsLvgFee";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint16";
                readonly name: "leverageTDR";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "brokerFeeTbps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint24";
                readonly name: "iPerpetualId";
                readonly type: "uint24";
            }, {
                readonly internalType: "address";
                readonly name: "traderAddr";
                readonly type: "address";
            }, {
                readonly internalType: "uint32";
                readonly name: "executionTimestamp";
                readonly type: "uint32";
            }, {
                readonly internalType: "address";
                readonly name: "brokerAddr";
                readonly type: "address";
            }, {
                readonly internalType: "uint32";
                readonly name: "submittedTimestamp";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "flags";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "iDeadline";
                readonly type: "uint32";
            }, {
                readonly internalType: "address";
                readonly name: "executorAddr";
                readonly type: "address";
            }, {
                readonly internalType: "int128";
                readonly name: "fAmount";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fLimitPrice";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fTriggerPrice";
                readonly type: "int128";
            }, {
                readonly internalType: "bytes";
                readonly name: "brokerSignature";
                readonly type: "bytes";
            }];
            readonly internalType: "struct IPerpetualOrder.Order";
            readonly name: "_order";
            readonly type: "tuple";
        }];
        readonly name: "preTrade";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "int128";
            readonly name: "_amount";
            readonly type: "int128";
        }, {
            readonly internalType: "uint64";
            readonly name: "_params";
            readonly type: "uint64";
        }];
        readonly name: "priceImpact";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddr";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "_brokerAddr";
            readonly type: "address";
        }];
        readonly name: "queryExchangeFee";
        readonly outputs: readonly [{
            readonly internalType: "uint16";
            readonly name: "";
            readonly type: "uint16";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24[]";
            readonly name: "_perpetualIds";
            readonly type: "uint24[]";
        }, {
            readonly internalType: "int128[]";
            readonly name: "_idxPriceDataPairs";
            readonly type: "int128[]";
        }];
        readonly name: "queryMidPrices";
        readonly outputs: readonly [{
            readonly internalType: "int128[]";
            readonly name: "";
            readonly type: "int128[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "int128";
            readonly name: "_fTradeAmountBC";
            readonly type: "int128";
        }, {
            readonly internalType: "int128[2]";
            readonly name: "_fIndexPrice";
            readonly type: "int128[2]";
        }, {
            readonly internalType: "uint16";
            readonly name: "_confTbps";
            readonly type: "uint16";
        }, {
            readonly internalType: "uint64";
            readonly name: "_params";
            readonly type: "uint64";
        }];
        readonly name: "queryPerpetualPrice";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }];
        readonly name: "rebalance";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddr";
            readonly type: "address";
        }, {
            readonly internalType: "int128";
            readonly name: "_fAmountToWithdraw";
            readonly type: "int128";
        }];
        readonly name: "reduceMarginCollateral";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }];
        readonly name: "resetMarkPremium";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_liqPoolID";
            readonly type: "uint8";
        }];
        readonly name: "runLiquidityPool";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_AMMPerpLogic";
            readonly type: "address";
        }];
        readonly name: "setAMMPerpLogic";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_delay";
            readonly type: "uint8";
        }];
        readonly name: "setBlockDelay";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "_tiers";
            readonly type: "uint256[]";
        }, {
            readonly internalType: "uint16[]";
            readonly name: "_feesTbps";
            readonly type: "uint16[]";
        }];
        readonly name: "setBrokerTiers";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "_tiers";
            readonly type: "uint256[]";
        }, {
            readonly internalType: "uint16[]";
            readonly name: "_feesTbps";
            readonly type: "uint16[]";
        }];
        readonly name: "setBrokerVolumeTiers";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "delegate";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "index";
            readonly type: "uint256";
        }];
        readonly name: "setDelegate";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }];
        readonly name: "setEmergencyState";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint32[]";
            readonly name: "_designations";
            readonly type: "uint32[]";
        }, {
            readonly internalType: "uint16[]";
            readonly name: "_fees";
            readonly type: "uint16[]";
        }];
        readonly name: "setFeesForDesignation";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "address";
            readonly name: "_brokerAddr";
            readonly type: "address";
        }, {
            readonly internalType: "uint16";
            readonly name: "_feeTbps";
            readonly type: "uint16";
        }];
        readonly name: "setInitialVolumeForFee";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }];
        readonly name: "setNormalState";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_oracleFactory";
            readonly type: "address";
        }];
        readonly name: "setOracleFactory";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "address";
            readonly name: "_oracleAddr";
            readonly type: "address";
        }];
        readonly name: "setOracleFactoryForPerpetual";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_orderBookFactory";
            readonly type: "address";
        }];
        readonly name: "setOrderBookFactory";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "int128[7]";
            readonly name: "_baseParams";
            readonly type: "int128[7]";
        }];
        readonly name: "setPerpetualBaseParams";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "bytes4[2]";
            readonly name: "_baseQuoteS2";
            readonly type: "bytes4[2]";
        }, {
            readonly internalType: "bytes4[2]";
            readonly name: "_baseQuoteS3";
            readonly type: "bytes4[2]";
        }];
        readonly name: "setPerpetualOracles";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "string";
            readonly name: "_varName";
            readonly type: "string";
        }, {
            readonly internalType: "int128";
            readonly name: "_value";
            readonly type: "int128";
        }];
        readonly name: "setPerpetualParam";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "string";
            readonly name: "_name";
            readonly type: "string";
        }, {
            readonly internalType: "int128";
            readonly name: "_value1";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_value2";
            readonly type: "int128";
        }];
        readonly name: "setPerpetualParamPair";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_shareTokenFactory";
            readonly type: "address";
        }];
        readonly name: "setPerpetualPoolFactory";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "int128[5]";
            readonly name: "_underlyingRiskParams";
            readonly type: "int128[5]";
        }, {
            readonly internalType: "int128[12]";
            readonly name: "_defaultFundRiskParams";
            readonly type: "int128[12]";
        }];
        readonly name: "setPerpetualRiskParams";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "string";
            readonly name: "_name";
            readonly type: "string";
        }, {
            readonly internalType: "int128";
            readonly name: "_value";
            readonly type: "int128";
        }];
        readonly name: "setPoolParam";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "_tiers";
            readonly type: "uint256[]";
        }, {
            readonly internalType: "uint16[]";
            readonly name: "_feesTbps";
            readonly type: "uint16[]";
        }];
        readonly name: "setTraderTiers";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "_tiers";
            readonly type: "uint256[]";
        }, {
            readonly internalType: "uint16[]";
            readonly name: "_feesTbps";
            readonly type: "uint16[]";
        }];
        readonly name: "setTraderVolumeTiers";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_treasury";
            readonly type: "address";
        }];
        readonly name: "setTreasury";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "tokenAddr";
            readonly type: "address";
        }];
        readonly name: "setUtilityTokenAddr";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualID";
            readonly type: "uint24";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddr";
            readonly type: "address";
        }];
        readonly name: "settle";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_id";
            readonly type: "uint8";
        }];
        readonly name: "settleNextTraderInPool";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualID";
            readonly type: "uint24";
        }, {
            readonly internalType: "uint256";
            readonly name: "_bulkSize";
            readonly type: "uint256";
        }];
        readonly name: "settleTraders";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "_settled";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint16";
            readonly name: "fee";
            readonly type: "uint16";
        }];
        readonly name: "splitProtocolFee";
        readonly outputs: readonly [{
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "";
            readonly type: "int128";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint16";
                readonly name: "leverageTDR";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "brokerFeeTbps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint24";
                readonly name: "iPerpetualId";
                readonly type: "uint24";
            }, {
                readonly internalType: "address";
                readonly name: "traderAddr";
                readonly type: "address";
            }, {
                readonly internalType: "uint32";
                readonly name: "executionTimestamp";
                readonly type: "uint32";
            }, {
                readonly internalType: "address";
                readonly name: "brokerAddr";
                readonly type: "address";
            }, {
                readonly internalType: "uint32";
                readonly name: "submittedTimestamp";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "flags";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "iDeadline";
                readonly type: "uint32";
            }, {
                readonly internalType: "address";
                readonly name: "executorAddr";
                readonly type: "address";
            }, {
                readonly internalType: "int128";
                readonly name: "fAmount";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fLimitPrice";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fTriggerPrice";
                readonly type: "int128";
            }, {
                readonly internalType: "bytes";
                readonly name: "brokerSignature";
                readonly type: "bytes";
            }];
            readonly internalType: "struct IPerpetualOrder.Order";
            readonly name: "_order";
            readonly type: "tuple";
        }];
        readonly name: "testTradeEvent";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }];
        readonly name: "togglePerpEmergencyState";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint16";
                readonly name: "leverageTDR";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "brokerFeeTbps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint24";
                readonly name: "iPerpetualId";
                readonly type: "uint24";
            }, {
                readonly internalType: "address";
                readonly name: "traderAddr";
                readonly type: "address";
            }, {
                readonly internalType: "uint32";
                readonly name: "executionTimestamp";
                readonly type: "uint32";
            }, {
                readonly internalType: "address";
                readonly name: "brokerAddr";
                readonly type: "address";
            }, {
                readonly internalType: "uint32";
                readonly name: "submittedTimestamp";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "flags";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "iDeadline";
                readonly type: "uint32";
            }, {
                readonly internalType: "address";
                readonly name: "executorAddr";
                readonly type: "address";
            }, {
                readonly internalType: "int128";
                readonly name: "fAmount";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fLimitPrice";
                readonly type: "int128";
            }, {
                readonly internalType: "int128";
                readonly name: "fTriggerPrice";
                readonly type: "int128";
            }, {
                readonly internalType: "bytes";
                readonly name: "brokerSignature";
                readonly type: "bytes";
            }];
            readonly internalType: "struct IPerpetualOrder.Order";
            readonly name: "_order";
            readonly type: "tuple";
        }, {
            readonly internalType: "address";
            readonly name: "_executor";
            readonly type: "address";
        }];
        readonly name: "tradeViaOrderBook";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "address";
            readonly name: "_transferToAddr";
            readonly type: "address";
        }, {
            readonly internalType: "uint32";
            readonly name: "_lots";
            readonly type: "uint32";
        }];
        readonly name: "transferBrokerLots";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "address";
            readonly name: "_transferToAddr";
            readonly type: "address";
        }];
        readonly name: "transferBrokerOwnership";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "int128";
            readonly name: "_fAmount";
            readonly type: "int128";
        }];
        readonly name: "transferEarningsToTreasury";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "transferValueToTreasury";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "success";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }];
        readonly name: "updateAMMTargetFundSize";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }];
        readonly name: "updateDefaultFundTargetSize";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }];
        readonly name: "updateFundingAndPricesAfter";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "bool";
            readonly name: "_revertIfClosed";
            readonly type: "bool";
        }];
        readonly name: "updateFundingAndPricesBefore";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_perpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "bytes[]";
            readonly name: "_updateData";
            readonly type: "bytes[]";
        }, {
            readonly internalType: "uint64[]";
            readonly name: "_publishTimes";
            readonly type: "uint64[]";
        }, {
            readonly internalType: "uint256";
            readonly name: "_maxAcceptableFeedAge";
            readonly type: "uint256";
        }];
        readonly name: "updatePriceFeeds";
        readonly outputs: readonly [];
        readonly stateMutability: "payable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddr";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "_brokerAddr";
            readonly type: "address";
        }, {
            readonly internalType: "int128";
            readonly name: "_tradeAmountBC";
            readonly type: "int128";
        }];
        readonly name: "updateVolumeEMAOnNewTrade";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bool";
            readonly name: "_isLong";
            readonly type: "bool";
        }, {
            readonly internalType: "int128";
            readonly name: "_fMarkPrice";
            readonly type: "int128";
        }, {
            readonly internalType: "int128";
            readonly name: "_fTriggerPrice";
            readonly type: "int128";
        }];
        readonly name: "validateStopPrice";
        readonly outputs: readonly [];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddr";
            readonly type: "address";
        }, {
            readonly internalType: "int128";
            readonly name: "_fAmount";
            readonly type: "int128";
        }, {
            readonly internalType: "bytes[]";
            readonly name: "_updateData";
            readonly type: "bytes[]";
        }, {
            readonly internalType: "uint64[]";
            readonly name: "_publishTimes";
            readonly type: "uint64[]";
        }];
        readonly name: "withdraw";
        readonly outputs: readonly [];
        readonly stateMutability: "payable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddr";
            readonly type: "address";
        }, {
            readonly internalType: "bytes[]";
            readonly name: "_updateData";
            readonly type: "bytes[]";
        }, {
            readonly internalType: "uint64[]";
            readonly name: "_publishTimes";
            readonly type: "uint64[]";
        }];
        readonly name: "withdrawAll";
        readonly outputs: readonly [];
        readonly stateMutability: "payable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint24";
            readonly name: "_iPerpetualId";
            readonly type: "uint24";
        }, {
            readonly internalType: "address";
            readonly name: "_traderAddr";
            readonly type: "address";
        }];
        readonly name: "withdrawDepositFromMarginAccount";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_poolId";
            readonly type: "uint8";
        }, {
            readonly internalType: "int128";
            readonly name: "_fAmount";
            readonly type: "int128";
        }];
        readonly name: "withdrawFromDefaultFund";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "_iPoolIndex";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "_shareAmount";
            readonly type: "uint256";
        }];
        readonly name: "withdrawLiquidity";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }];
    static createInterface(): IPerpetualManagerInterface;
    static connect(address: string, runner?: ContractRunner | null): IPerpetualManager;
}
