@d8x/perpetuals-sdk
Version:
Node TypeScript SDK for D8X Perpetual Futures
4,365 lines • 155 kB
TypeScript
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 name: "sponsor";
readonly outputs: readonly [];
readonly stateMutability: "payable";
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;
}