@d8x/perpetuals-sdk
Version:
Node TypeScript SDK for D8X Perpetual Futures
1,839 lines • 156 kB
JavaScript
"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });
exports.IPerpetualManager__factory = void 0;
const ethers_1 = require("ethers");
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: "v