UNPKG

@d8x/perpetuals-sdk

Version:

Node TypeScript SDK for D8X Perpetual Futures

2,524 lines (2,522 loc) 115 kB
/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Contract, Interface, type ContractRunner } from "ethers"; import type { IPerpetualManager, IPerpetualManagerInterface, } from "../IPerpetualManager"; const _abi = [ { anonymous: false, inputs: [ { indexed: true, internalType: "uint8", name: "poolId", type: "uint8", }, { indexed: false, internalType: "address", name: "oldOwner", type: "address", }, { indexed: false, internalType: "address", name: "newOwner", type: "address", }, { indexed: false, internalType: "uint32", name: "numLots", type: "uint32", }, ], name: "BrokerLotsTransferred", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint8", name: "poolId", type: "uint8", }, { indexed: false, internalType: "address", name: "oldOwner", type: "address", }, { indexed: false, internalType: "address", name: "newOwner", type: "address", }, { indexed: false, internalType: "int128", name: "fVolume", type: "int128", }, ], name: "BrokerVolumeTransferred", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: true, internalType: "address", name: "trader", type: "address", }, ], name: "Clear", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint8", name: "poolId", type: "uint8", }, { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: true, internalType: "address", name: "trader", type: "address", }, { indexed: false, internalType: "int128", name: "protocolFeeCC", type: "int128", }, { indexed: false, internalType: "int128", name: "participationFundFeeCC", type: "int128", }, ], name: "DistributeFees", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: true, internalType: "address", name: "liquidator", type: "address", }, { indexed: true, internalType: "address", name: "trader", type: "address", }, { indexed: false, internalType: "int128", name: "amountLiquidatedBC", type: "int128", }, { indexed: false, internalType: "int128", name: "liquidationPrice", type: "int128", }, { indexed: false, internalType: "int128", name: "newPositionSizeBC", type: "int128", }, { indexed: false, internalType: "int128", name: "fFeeCC", type: "int128", }, { indexed: false, internalType: "int128", name: "fPnlCC", type: "int128", }, ], name: "Liquidate", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint8", name: "poolId", type: "uint8", }, { indexed: true, internalType: "address", name: "user", type: "address", }, { indexed: false, internalType: "uint256", name: "tokenAmount", type: "uint256", }, { indexed: false, internalType: "uint256", name: "shareAmount", type: "uint256", }, ], name: "LiquidityAdded", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint8", name: "id", type: "uint8", }, { indexed: false, internalType: "address", name: "marginTokenAddress", type: "address", }, { indexed: false, internalType: "address", name: "shareTokenAddress", type: "address", }, { indexed: false, internalType: "uint16", name: "iTargetPoolSizeUpdateTime", type: "uint16", }, { indexed: false, internalType: "int128", name: "fBrokerCollateralLotSize", type: "int128", }, ], name: "LiquidityPoolCreated", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "bool", name: "pauseOn", type: "bool", }, { indexed: false, internalType: "uint8", name: "poolId", type: "uint8", }, ], name: "LiquidityProvisionPaused", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint8", name: "poolId", type: "uint8", }, { indexed: true, internalType: "address", name: "user", type: "address", }, { indexed: false, internalType: "uint256", name: "tokenAmount", type: "uint256", }, { indexed: false, internalType: "uint256", name: "shareAmount", type: "uint256", }, ], name: "LiquidityRemoved", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint8", name: "poolId", type: "uint8", }, { indexed: true, internalType: "address", name: "user", type: "address", }, { indexed: false, internalType: "uint256", name: "shareAmount", type: "uint256", }, ], name: "LiquidityWithdrawalInitiated", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint8", name: "poolId", type: "uint8", }, { indexed: false, internalType: "uint24", name: "id", type: "uint24", }, { indexed: false, internalType: "int128[7]", name: "baseParams", type: "int128[7]", }, { indexed: false, internalType: "int128[5]", name: "underlyingRiskParams", type: "int128[5]", }, { indexed: false, internalType: "int128[12]", name: "defaultFundRiskParams", type: "int128[12]", }, { indexed: false, internalType: "uint256", name: "eCollateralCurrency", type: "uint256", }, ], name: "PerpetualCreated", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: true, internalType: "bytes32", name: "orderHash", type: "bytes32", }, ], name: "PerpetualLimitOrderCancelled", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint8", name: "_liqPoolID", type: "uint8", }, ], name: "RunLiquidityPool", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint8", name: "delay", type: "uint8", }, ], name: "SetBlockDelay", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint32[]", name: "designations", type: "uint32[]", }, { indexed: false, internalType: "uint16[]", name: "fees", type: "uint16[]", }, ], name: "SetBrokerDesignations", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint256[]", name: "tiers", type: "uint256[]", }, { indexed: false, internalType: "uint16[]", name: "feesTbps", type: "uint16[]", }, ], name: "SetBrokerTiers", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint256[]", name: "tiers", type: "uint256[]", }, { indexed: false, internalType: "uint16[]", name: "feesTbps", type: "uint16[]", }, ], name: "SetBrokerVolumeTiers", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, ], name: "SetClearedState", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "trader", type: "address", }, { indexed: true, internalType: "address", name: "delegate", type: "address", }, { indexed: false, internalType: "uint256", name: "index", type: "uint256", }, ], name: "SetDelegate", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: false, internalType: "int128", name: "fSettlementMarkPremiumRate", type: "int128", }, { indexed: false, internalType: "int128", name: "fSettlementS2Price", type: "int128", }, { indexed: false, internalType: "int128", name: "fSettlementS3Price", type: "int128", }, ], name: "SetEmergencyState", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, ], name: "SetNormalState", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: false, internalType: "bytes4[2]", name: "baseQuoteS2", type: "bytes4[2]", }, { indexed: false, internalType: "bytes4[2]", name: "baseQuoteS3", type: "bytes4[2]", }, ], name: "SetOracles", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: false, internalType: "string", name: "name", type: "string", }, { indexed: false, internalType: "int128", name: "value", type: "int128", }, ], name: "SetParameter", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: false, internalType: "string", name: "name", type: "string", }, { indexed: false, internalType: "int128", name: "value1", type: "int128", }, { indexed: false, internalType: "int128", name: "value2", type: "int128", }, ], name: "SetParameterPair", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: false, internalType: "int128[7]", name: "baseParams", type: "int128[7]", }, ], name: "SetPerpetualBaseParameters", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: false, internalType: "int128[5]", name: "underlyingRiskParams", type: "int128[5]", }, { indexed: false, internalType: "int128[12]", name: "defaultFundRiskParams", type: "int128[12]", }, ], name: "SetPerpetualRiskParameters", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint8", name: "poolId", type: "uint8", }, { indexed: false, internalType: "string", name: "name", type: "string", }, { indexed: false, internalType: "int128", name: "value", type: "int128", }, ], name: "SetPoolParameter", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint256[]", name: "tiers", type: "uint256[]", }, { indexed: false, internalType: "uint16[]", name: "feesTbps", type: "uint16[]", }, ], name: "SetTraderTiers", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint256[]", name: "tiers", type: "uint256[]", }, { indexed: false, internalType: "uint16[]", name: "feesTbps", type: "uint16[]", }, ], name: "SetTraderVolumeTiers", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "tokenAddr", type: "address", }, ], name: "SetUtilityToken", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: true, internalType: "address", name: "trader", type: "address", }, { indexed: false, internalType: "int256", name: "amount", type: "int256", }, ], name: "Settle", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, ], name: "SettleState", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, ], name: "SettlementComplete", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: true, internalType: "address", name: "trader", type: "address", }, { indexed: false, internalType: "int128", name: "amount", type: "int128", }, ], name: "TokensDeposited", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: true, internalType: "address", name: "trader", type: "address", }, { indexed: false, internalType: "int128", name: "amount", type: "int128", }, ], name: "TokensWithdrawn", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: true, internalType: "address", name: "trader", type: "address", }, { components: [ { internalType: "uint16", name: "leverageTDR", type: "uint16", }, { internalType: "uint16", name: "brokerFeeTbps", type: "uint16", }, { internalType: "uint24", name: "iPerpetualId", type: "uint24", }, { internalType: "address", name: "traderAddr", type: "address", }, { internalType: "uint32", name: "executionTimestamp", type: "uint32", }, { internalType: "address", name: "brokerAddr", type: "address", }, { internalType: "uint32", name: "submittedTimestamp", type: "uint32", }, { internalType: "uint32", name: "flags", type: "uint32", }, { internalType: "uint32", name: "iDeadline", type: "uint32", }, { internalType: "address", name: "executorAddr", type: "address", }, { internalType: "int128", name: "fAmount", type: "int128", }, { internalType: "int128", name: "fLimitPrice", type: "int128", }, { internalType: "int128", name: "fTriggerPrice", type: "int128", }, { internalType: "bytes", name: "brokerSignature", type: "bytes", }, ], indexed: false, internalType: "struct IPerpetualOrder.Order", name: "order", type: "tuple", }, { indexed: false, internalType: "bytes32", name: "orderDigest", type: "bytes32", }, { indexed: false, internalType: "int128", name: "newPositionSizeBC", type: "int128", }, { indexed: false, internalType: "int128", name: "price", type: "int128", }, { indexed: false, internalType: "int128", name: "fFeeCC", type: "int128", }, { indexed: false, internalType: "int128", name: "fPnlCC", type: "int128", }, { indexed: false, internalType: "int128", name: "fB2C", type: "int128", }, ], name: "Trade", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "string", name: "name", type: "string", }, { indexed: false, internalType: "address", name: "oldOBFactory", type: "address", }, { indexed: false, internalType: "address", name: "newOBFactory", type: "address", }, ], name: "TransferAddressTo", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint8", name: "poolId", type: "uint8", }, { indexed: false, internalType: "uint32", name: "iLots", type: "uint32", }, { indexed: false, internalType: "uint32", name: "iNewBrokerLots", type: "uint32", }, ], name: "UpdateBrokerAddedCash", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: false, internalType: "int128", name: "fFundingRate", type: "int128", }, ], name: "UpdateFundingRate", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: true, internalType: "address", name: "trader", type: "address", }, { indexed: false, internalType: "int128", name: "fFundingPaymentCC", type: "int128", }, ], name: "UpdateMarginAccount", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint24", name: "perpetualId", type: "uint24", }, { indexed: false, internalType: "int128", name: "fMidPricePremium", type: "int128", }, { indexed: false, internalType: "int128", name: "fMarkPricePremium", type: "int128", }, { indexed: false, internalType: "int128", name: "fMarkIndexPrice", type: "int128", }, ], name: "UpdateMarkPrice", type: "event", }, { inputs: [ { internalType: "uint24", name: "_perpetualId", type: "uint24", }, ], name: "activatePerpetual", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint8", name: "_iPoolIndex", type: "uint8", }, { internalType: "uint256", name: "_tokenAmount", type: "uint256", }, ], name: "addLiquidity", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint24", name: "_perpetualId", type: "uint24", }, { internalType: "int128", name: "_fSettlementS2", type: "int128", }, { internalType: "int128", name: "_fSettlementS3", type: "int128", }, ], name: "adjustSettlementPrice", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "int128[2]", name: "_fK2AMM", type: "int128[2]", }, { internalType: "int128", name: "_fk2Trader", type: "int128", }, { internalType: "int128", name: "_fCoverN", type: "int128", }, { internalType: "int128[2]", name: "fStressRet2", type: "int128[2]", }, { internalType: "int128[2]", name: "fStressRet3", type: "int128[2]", }, { internalType: "int128[2]", name: "fIndexPrices", type: "int128[2]", }, { internalType: "enum AMMPerpLogic.CollateralCurrency", name: "_eCCY", type: "uint8", }, ], name: "calculateDefaultFundSize", outputs: [ { internalType: "int128", name: "", type: "int128", }, ], stateMutability: "pure", type: "function", }, { inputs: [ { components: [ { internalType: "int128", name: "fLockedValue1", type: "int128", }, { internalType: "int128", name: "fPoolM1", type: "int128", }, { internalType: "int128", name: "fPoolM2", type: "int128", }, { internalType: "int128", name: "fPoolM3", type: "int128", }, { internalType: "int128", name: "fAMM_K2", type: "int128", }, { internalType: "int128", name: "fCurrentTraderExposureEMA", type: "int128", }, ], internalType: "struct AMMPerpLogic.AMMVariables", name: "_ammVars", type: "tuple", }, { components: [ { internalType: "int128", name: "fIndexPriceS2", type: "int128", }, { internalType: "int128", name: "fIndexPriceS3", type: "int128", }, { internalType: "int128", name: "fSigma2", type: "int128", }, { internalType: "int128", name: "fSigma3", type: "int128", }, { internalType: "int128", name: "fRho23", type: "int128", }, ], internalType: "struct AMMPerpLogic.MarketVariables", name: "_mktVars", type: "tuple", }, { internalType: "int128", name: "_fTradeAmount", type: "int128", }, { internalType: "int128", name: "_fBidAskSpread", type: "int128", }, { internalType: "int128", name: "_fIncentiveSpread", type: "int128", }, ], name: "calculatePerpetualPrice", outputs: [ { internalType: "int128", name: "", type: "int128", }, ], stateMutability: "view", type: "function", }, { inputs: [ { components: [ { internalType: "int128", name: "fLockedValue1", type: "int128", }, { internalType: "int128", name: "fPoolM1", type: "int128", }, { internalType: "int128", name: "fPoolM2", type: "int128", }, { internalType: "int128", name: "fPoolM3", type: "int128", }, { internalType: "int128", name: "fAMM_K2", type: "int128", }, { internalType: "int128", name: "fCurrentTraderExposureEMA", type: "int128", }, ], internalType: "struct AMMPerpLogic.AMMVariables", name: "_ammVars", type: "tuple", }, { components: [ { internalType: "int128", name: "fIndexPriceS2", type: "int128", }, { internalType: "int128", name: "fIndexPriceS3", type: "int128", }, { internalType: "int128", name: "fSigma2", type: "int128", }, { internalType: "int128", name: "fSigma3", type: "int128", }, { internalType: "int128", name: "fRho23", type: "int128", }, ], internalType: "struct AMMPerpLogic.MarketVariables", name: "_mktVars", type: "tuple", }, { internalType: "int128", name: "_fTradeAmount", type: "int128", }, { internalType: "bool", name: "_withCDF", type: "bool", }, ], name: "calculateRiskNeutralPD", outputs: [ { internalType: "int128", name: "", type: "int128", }, { internalType: "int128", name: "", type: "int128", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint8", name: "_id", type: "uint8", }, { internalType: "uint256", name: "_bulkSize", type: "uint256", }, ], name: "clearTradersInPool", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint24", name: "_perpetualId", type: "uint24", }, ], name: "countActivePerpAccounts", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_marginTokenAddress", type: "address", }, { internalType: "uint16", name: "_iTargetPoolSizeUpdateTime", type: "uint16", }, { internalType: "int128", name: "_fBrokerCollateralLotSize", type: "int128", }, { internalType: "int128", name: "_fCeilPnLShare", type: "int128", }, ], name: "createLiquidityPool", outputs: [ { internalType: "uint8", name: "", type: "uint8", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint8", name: "_iPoolId", type: "uint8", }, { internalType: "bytes4[2]", name: "_baseQuoteS2", type: "bytes4[2]", }, { internalType: "bytes4[2]", name: "_baseQuoteS3", type: "bytes4[2]", }, { internalType: "int128[7]", name: "_baseParams", type: "int128[7]", }, { internalType: "int128[5]", name: "_underlyingRiskParams", type: "int128[5]", }, { internalType: "int128[12]", name: "_defaultFundRiskParams", type: "int128[12]", }, { internalType: "uint256", name: "_eCollateralCurrency", type: "uint256", }, ], name: "createPerpetual", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint24", name: "_perpetualId", type: "uint24", }, ], name: "deactivatePerp", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint16", name: "num", type: "uint16", }, ], name: "decodeUint16Float", outputs: [ { internalType: "int128", name: "", type: "int128", }, ], stateMutability: "pure", type: "function", }, { inputs: [ { internalType: "uint8", name: "_iPoolIdx", type: "uint8", }, { internalType: "int128", name: "_fAmount", type: "int128", }, ], name: "decreasePoolCash", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint24", name: "_iPerpetualId", type: "uint24", }, { internalType: "address", name: "_traderAddr", type: "address", }, { internalType: "int128", name: "_fAmount", type: "int128", }, { internalType: "bytes[]", name: "_updateData", type: "bytes[]", }, { internalType: "uint64[]", name: "_publishTimes", type: "uint64[]", }, ], name: "deposit", outputs: [], stateMutability: "payable", type: "function", }, { inputs: [ { internalType: "uint8", name: "_poolId", type: "uint8", }, { internalType: "uint32", name: "_iLots", type: "uint32", }, ], name: "depositBrokerLots", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint24", name: "_iPerpetualId", type: "uint24", }, { internalType: "int128", name: "_fDepositRequired", type: "int128", }, { components: [ { internalType: "uint16", name: "leverageTDR", type: "uint16", }, { internalType: "uint16", name: "brokerFeeTbps", type: "uint16", }, { internalType: "uint24", name: "iPerpetualId", type: "uint24", }, { internalType: "address", name: "traderAddr", type: "address", }, { internalType: "uint32", name: "executionTimestamp", type: "uint32", }, { internalType: "address", name: "brokerAddr", type: "address", }, { internalType: "uint32", name: "submittedTimestamp", type: "uint32", }, { internalType: "uint32", name: "flags", type: "uint32", }, { internalType: "uint32", name: "iDeadline", type: "uint32", }, { internalType: "address", name: "executorAddr", type: "address", }, { internalType: "int128", name: "fAmount", type: "int128", }, { internalType: "int128", name: "fLimitPrice", type: "int128", }, { internalType: "int128", name: "fTriggerPrice", type: "int128", }, { internalType: "bytes", name: "brokerSignature", type: "bytes", }, ], internalType: "struct IPerpetualOrder.Order", name: "_order", type: "tuple", }, ], name: "depositMarginForOpeningTrade", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint8", name: "_poolId", type: "uint8", }, { internalType: "int128", name: "_fAmount", type: "int128", }, ], name: "depositToDefaultFund", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { components: [ { internalType: "uint16", name: "leverageTDR", type: "uint16", }, { internalType: "uint16", name: "brokerFeeTbps", type: "uint16", }, { internalType: "uint24", name: "iPerpetualId", type: "uint24", }, { internalType: "address", name: "traderAddr", type: "address", }, { internalType: "uint32", name: "executionTimestamp", type: "uint32", }, { internalType: "address", name: "brokerAddr", type: "address", }, { internalType: "uint32", name: "submittedTimestamp", type: "uint32", }, { internalType: "uint32", name: "flags", type: "uint32", }, { internalType: "uint32", name: "iDeadline", type: "uint32", }, { internalType: "address", name: "executorAddr", type: "address", }, { internalType: "int128", name: "fAmount", type: "int128", }, { internalType: "int128", name: "fLimitPrice", type: "int128", }, { internalType: "int128", name: "fTriggerPrice", type: "int128", }, { internalType: "bytes", name: "brokerSignature", type: "bytes", }, ], internalType: "struct IPerpetualOrder.Order", name: "_order", type: "tuple", }, ], name: "determineExchangeFee", outputs: [ { internalType: "uint16", name: "", type: "uint16", }, ], stateMutability: "view", type: "function", }, { inputs: [ { components: [ { internalType: "uint16", name: "leverageTDR", type: "uint16", }, { internalType: "uint16", name: "brokerFeeTbps", type: "uint16", }, { internalType: "uint24", name: "iPerpetualId", type: "uint24", }, { internalType: "address", name: "traderAddr", type: "address", }, { internalType: "uint32", name: "executionTimestamp", type: "uint32", }, { internalType: "address", name: "brokerAddr", type: "address", }, { internalType: "uint32", name: "submittedTimestamp", type: "uint32", }, { internalType: "uint32", name: "flags", type: "uint32", }, { internalType: "uint32", name: "iDeadline", type: "uint32", }, { internalType: "address", name: "executorAddr", type: "address", }, { internalType: "int128", name: "fAmount", type: "int128", }, { internalType: "int128", name: "fLimitPrice", type: "int128", }, { internalType: "int128", name: "fTriggerPrice", type: "int128", }, { internalType: "bytes", name: "brokerSignature", type: "bytes", }, ], internalType: "struct IPerpetualOrder.Order", name: "_order", type: "tuple", }, { internalType: "uint16", name: "_brkrFeeTbps", type: "uint16", }, { internalType: "uint16", name: "_protocolFeeTbps", type: "uint16", }, { internalType: "bool", name: "_hasOpened", type: "bool", }, ], name: "distributeFees", outputs: [ { internalType: "int128", name: "", type: "int128", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint24", name: "_iPerpetualId", type: "uint24", }, { internalType: "address", name: "_traderAddr", type: "address", }, { internalType: "int128", name: "_fDeltaPositionBC", type: "int128", }, { internalType: "uint16", name: "_protocolFeeTbps", type: "uint16", }, ], name: "distributeFeesLiquidation", outputs: [ { internalType: "int128", name: "", type: "int128", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "int128", name: "_p", type: "int128", }, ], name: "entropy", outputs: [ { internalType: "int128", name: "", type: "int128", }, ], stateMutability: "pure", type: "function", }, { inputs: [ { internalType: "uint24", name: "_perpetualId", type: "uint24", }, { internalType: "bytes32", name: "_digest", type: "bytes32", }, ], name: "executeCancelOrder", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint8", name: "_poolId", type: "uint8", }, { internalType: "address", name: "_lpAddr", type: "address", }, ], name: "executeLiquidityWithdrawal", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint24", name: "_iPerpetualId", type: "uint24", }, { internalType: "address", name: "_traderAddr", type: "address", }, { internalType: "int128", name: "_fTraderPos", type: "int128", }, { internalType: "int128", name: "_fTradeAmount", type: "int128", }, { internalType: "int128", name: "_fPrice", type: "int128", }, { internalType: "bool", name: "_isClose", type: "bool", }, ], name: "executeTrade", outputs: [ { internalType: "int128", name: "", type: "int128", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "getAMMPerpLogic", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint24", name: "_perpetualId", type: "uint24", }, { internalType: "int128[2]", name: "_fIndexPrice", type: "int128[2]", }, ], name: "getAMMState", outputs: [ { internalType: "int128[15]", name: "", type: "int128[15]", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint24", name: "_perpetualId", type: "uint24", }, ], name: "getActivePerpAccounts", outputs: [ { internalType: "address[]", name: "", type: "address[]", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint24", name: "_perpetualId", type: "uint24", }, { internalType: "uint256", name: "_from", type: "uint256", }, { internalType: "uint256", name: "_to", type: "uint256", }, ], name: "getActivePerpAccountsByChunks", outputs: [ { internalType: "address[]", name: "", type: "address[]", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint8", name: "_poolId", type: "uint8", }, { internalType: "address", name: "_brokerAddr", type: "address", }, ], name: "getBrokerDesignation", outputs: [ { internalType: "uint32", name: "", type: "uint32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint8", name: "_poolId", type: "uint8", }, { internalType: "address", name: "_brokerAddr", type: "address", }, ], name: "getBrokerInducedFee", outputs: [ { internalType: "uint16", name: "", type: "uint16", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint8", name: "_poolId", type: "uint8", }, ], name: "getCollateralTokenAmountForPricing", outputs: [ { internalType: "int128", name: "", type: "int128", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint8", name: "_poolId", type: "uint8", }, { internalType: "address", name: "_brokerAddr", type: "address", }, ], name: "getCurrentBrokerVolume", outputs: [ { internalType: "int128", name: "", type: "int128", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint8", name: "_poolId", type: "uint8", }, { internalType: "address", name: "_traderAddr", type: "address", }, ], name: "getCurrentTraderVolume", outputs: [ { internalType: "int128", name: "", type: "int128", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "int128", name: "_fPosition0", type: "int128", }, { internalType: "int128", name: "_fBalance0", type: "int128", }, { internalType: "int128", name: "_fTradeAmount", type: "int128", }, { internalType: "int128", name: "_fTargetLeverage", type: "int128", }, { internalType: "int128", name: "_fPrice", type: "int128", }, { internalType: "int128", name: "_fS2Mark", type: "int128", }, { internalType: "int128", name: "_fS3", type: "int128", }, { internalType: "int128", name: "_fS2", type: "int128", }, ], name: "getDepositAmountForLvgPosition", outputs: [ { internalType: "int128", name: "", type: "int128", }, ], stateMutability: "pure", type: "function", }, { inputs: [ { internalType: "uint24", name: "_perpetualId", type: "uint24", }, { internalType: "int128", name: "_fAmount", type: "int128", }, { internalType: "uint16", name: "_leverageTDR", type: "uint16", }, { internalType: "address", name: "_traderAddr", type: "address", }, ], name: "getExchangeFeePrdMkts", outputs: [ { internalType: "uint16", name: "", type: "uint16", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint32", name: "_brokerDesignation", type: "uint32", }, ], name: "getFeeForBrokerDesignation", outputs: [ { internalType: "uint16", name: "", type: "uint16", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "brokerAddr", type: "address", }, ], name: "getFeeForBrokerStake", outputs: [ { internalType: "uint16", name: "", type: "uint16", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint8", name: "_poolId", type: "uint8", }, { internalType: "address", name: "_brokerAddr", type: "address", }, ], name: "getFeeForBrokerVolume", outputs: [ { internalType: "uint16", name: "", type: "uint16", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "traderAddr", type: "address", }, ], name: "getFeeForTraderStake", outputs: [ { internalType: "uint16", name: "", type: "uint16", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint8", name: "_poolId", type: "uint8", }, { internalType: "address", name: "_traderAddr", type: "address", }, ], name: "getFeeForTraderVolume", outputs: [ { internalType: "uint16", name: "", type: "uint16", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint24", name: "_iPerpetualId", type: "uint24", }, ], name: "getLastPerpetualBaseToUSDConversion", outputs: [ { internalType: "int128", name: "", type: "int128", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint24", name: "_perpetualId", type: "uint24", }, { internalType: "int128[2]", name: "_fIndexPrice", type: "int128[2]", }, ], name: "getLiquidatableAccounts", outputs: [ { internalType: "address[]", name: "unsafeAccounts", type: "address[]", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint8", nam