@d8x/perpetuals-sdk
Version:
Node TypeScript SDK for D8X Perpetual Futures
1,430 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";
readon