UNPKG

@d8x/perpetuals-sdk

Version:

Node TypeScript SDK for D8X Perpetual Futures

1,822 lines (1,798 loc) 146 kB
/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener, } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod, } from "./common"; export declare namespace IPerpetualOrder { export type OrderStruct = { leverageTDR: BigNumberish; brokerFeeTbps: BigNumberish; iPerpetualId: BigNumberish; traderAddr: AddressLike; executionTimestamp: BigNumberish; brokerAddr: AddressLike; submittedTimestamp: BigNumberish; flags: BigNumberish; iDeadline: BigNumberish; executorAddr: AddressLike; fAmount: BigNumberish; fLimitPrice: BigNumberish; fTriggerPrice: BigNumberish; brokerSignature: BytesLike; }; export type OrderStructOutput = [ leverageTDR: bigint, brokerFeeTbps: bigint, iPerpetualId: bigint, traderAddr: string, executionTimestamp: bigint, brokerAddr: string, submittedTimestamp: bigint, flags: bigint, iDeadline: bigint, executorAddr: string, fAmount: bigint, fLimitPrice: bigint, fTriggerPrice: bigint, brokerSignature: string ] & { leverageTDR: bigint; brokerFeeTbps: bigint; iPerpetualId: bigint; traderAddr: string; executionTimestamp: bigint; brokerAddr: string; submittedTimestamp: bigint; flags: bigint; iDeadline: bigint; executorAddr: string; fAmount: bigint; fLimitPrice: bigint; fTriggerPrice: bigint; brokerSignature: string; }; } export declare namespace AMMPerpLogic { export type AMMVariablesStruct = { fLockedValue1: BigNumberish; fPoolM1: BigNumberish; fPoolM2: BigNumberish; fPoolM3: BigNumberish; fAMM_K2: BigNumberish; fCurrentTraderExposureEMA: BigNumberish; }; export type AMMVariablesStructOutput = [ fLockedValue1: bigint, fPoolM1: bigint, fPoolM2: bigint, fPoolM3: bigint, fAMM_K2: bigint, fCurrentTraderExposureEMA: bigint ] & { fLockedValue1: bigint; fPoolM1: bigint; fPoolM2: bigint; fPoolM3: bigint; fAMM_K2: bigint; fCurrentTraderExposureEMA: bigint; }; export type MarketVariablesStruct = { fIndexPriceS2: BigNumberish; fIndexPriceS3: BigNumberish; fSigma2: BigNumberish; fSigma3: BigNumberish; fRho23: BigNumberish; }; export type MarketVariablesStructOutput = [ fIndexPriceS2: bigint, fIndexPriceS3: bigint, fSigma2: bigint, fSigma3: bigint, fRho23: bigint ] & { fIndexPriceS2: bigint; fIndexPriceS3: bigint; fSigma2: bigint; fSigma3: bigint; fRho23: bigint; }; } export declare namespace PerpStorage { export type LiquidityPoolDataStruct = { isRunning: boolean; iPerpetualCount: BigNumberish; id: BigNumberish; fCeilPnLShare: BigNumberish; marginTokenDecimals: BigNumberish; iTargetPoolSizeUpdateTime: BigNumberish; marginTokenAddress: AddressLike; prevAnchor: BigNumberish; fRedemptionRate: BigNumberish; shareTokenAddress: AddressLike; fPnLparticipantsCashCC: BigNumberish; fTargetAMMFundSize: BigNumberish; fDefaultFundCashCC: BigNumberish; fTargetDFSize: BigNumberish; fBrokerCollateralLotSize: BigNumberish; prevTokenAmount: BigNumberish; nextTokenAmount: BigNumberish; totalSupplyShareToken: BigNumberish; fBrokerFundCashCC: BigNumberish; }; export type LiquidityPoolDataStructOutput = [ isRunning: boolean, iPerpetualCount: bigint, id: bigint, fCeilPnLShare: bigint, marginTokenDecimals: bigint, iTargetPoolSizeUpdateTime: bigint, marginTokenAddress: string, prevAnchor: bigint, fRedemptionRate: bigint, shareTokenAddress: string, fPnLparticipantsCashCC: bigint, fTargetAMMFundSize: bigint, fDefaultFundCashCC: bigint, fTargetDFSize: bigint, fBrokerCollateralLotSize: bigint, prevTokenAmount: bigint, nextTokenAmount: bigint, totalSupplyShareToken: bigint, fBrokerFundCashCC: bigint ] & { isRunning: boolean; iPerpetualCount: bigint; id: bigint; fCeilPnLShare: bigint; marginTokenDecimals: bigint; iTargetPoolSizeUpdateTime: bigint; marginTokenAddress: string; prevAnchor: bigint; fRedemptionRate: bigint; shareTokenAddress: string; fPnLparticipantsCashCC: bigint; fTargetAMMFundSize: bigint; fDefaultFundCashCC: bigint; fTargetDFSize: bigint; fBrokerCollateralLotSize: bigint; prevTokenAmount: bigint; nextTokenAmount: bigint; totalSupplyShareToken: bigint; fBrokerFundCashCC: bigint; }; export type MarginAccountStruct = { fLockedInValueQC: BigNumberish; fCashCC: BigNumberish; fPositionBC: BigNumberish; fUnitAccumulatedFundingStart: BigNumberish; }; export type MarginAccountStructOutput = [ fLockedInValueQC: bigint, fCashCC: bigint, fPositionBC: bigint, fUnitAccumulatedFundingStart: bigint ] & { fLockedInValueQC: bigint; fCashCC: bigint; fPositionBC: bigint; fUnitAccumulatedFundingStart: bigint; }; export type PriceTimeDataStruct = { fPrice: BigNumberish; time: BigNumberish; }; export type PriceTimeDataStructOutput = [fPrice: bigint, time: bigint] & { fPrice: bigint; time: bigint; }; export type PerpetualDataStruct = { poolId: BigNumberish; id: BigNumberish; fInitialMarginRate: BigNumberish; fSigma2: BigNumberish; iLastFundingTime: BigNumberish; fDFCoverNRate: BigNumberish; fMaintenanceMarginRate: BigNumberish; state: BigNumberish; eCollateralCurrency: BigNumberish; S2BaseCCY: BytesLike; S2QuoteCCY: BytesLike; incentiveSpreadTbps: BigNumberish; minimalSpreadBps: BigNumberish; S3BaseCCY: BytesLike; S3QuoteCCY: BytesLike; fSigma3: BigNumberish; fRho23: BigNumberish; liquidationPenaltyRateTbps: BigNumberish; currentMarkPremiumRate: PerpStorage.PriceTimeDataStruct; premiumRatesEMA: BigNumberish; fUnitAccumulatedFunding: BigNumberish; fOpenInterest: BigNumberish; fTargetAMMFundSize: BigNumberish; fCurrentTraderExposureEMA: BigNumberish; fCurrentFundingRate: BigNumberish; fLotSizeBC: BigNumberish; fReferralRebateCC: BigNumberish; fTargetDFSize: BigNumberish; fkStar: BigNumberish; fAMMTargetDD: BigNumberish; perpFlags: BigNumberish; fMinimalTraderExposureEMA: BigNumberish; fMinimalAMMExposureEMA: BigNumberish; fSettlementS3PriceData: BigNumberish; fSettlementS2PriceData: BigNumberish; fParams: BigNumberish; fMarkPriceEMALambda: BigNumberish; fFundingRateClamp: BigNumberish; fMaximalTradeSizeBumpUp: BigNumberish; iLastTargetPoolSizeTime: BigNumberish; fStressReturnS3: [BigNumberish, BigNumberish]; fDFLambda: [BigNumberish, BigNumberish]; fCurrentAMMExposureEMA: [BigNumberish, BigNumberish]; fStressReturnS2: [BigNumberish, BigNumberish]; }; export type PerpetualDataStructOutput = [ poolId: bigint, id: bigint, fInitialMarginRate: bigint, fSigma2: bigint, iLastFundingTime: bigint, fDFCoverNRate: bigint, fMaintenanceMarginRate: bigint, state: bigint, eCollateralCurrency: bigint, S2BaseCCY: string, S2QuoteCCY: string, incentiveSpreadTbps: bigint, minimalSpreadBps: bigint, S3BaseCCY: string, S3QuoteCCY: string, fSigma3: bigint, fRho23: bigint, liquidationPenaltyRateTbps: bigint, currentMarkPremiumRate: PerpStorage.PriceTimeDataStructOutput, premiumRatesEMA: bigint, fUnitAccumulatedFunding: bigint, fOpenInterest: bigint, fTargetAMMFundSize: bigint, fCurrentTraderExposureEMA: bigint, fCurrentFundingRate: bigint, fLotSizeBC: bigint, fReferralRebateCC: bigint, fTargetDFSize: bigint, fkStar: bigint, fAMMTargetDD: bigint, perpFlags: bigint, fMinimalTraderExposureEMA: bigint, fMinimalAMMExposureEMA: bigint, fSettlementS3PriceData: bigint, fSettlementS2PriceData: bigint, fParams: bigint, fMarkPriceEMALambda: bigint, fFundingRateClamp: bigint, fMaximalTradeSizeBumpUp: bigint, iLastTargetPoolSizeTime: bigint, fStressReturnS3: [bigint, bigint], fDFLambda: [bigint, bigint], fCurrentAMMExposureEMA: [bigint, bigint], fStressReturnS2: [bigint, bigint] ] & { poolId: bigint; id: bigint; fInitialMarginRate: bigint; fSigma2: bigint; iLastFundingTime: bigint; fDFCoverNRate: bigint; fMaintenanceMarginRate: bigint; state: bigint; eCollateralCurrency: bigint; S2BaseCCY: string; S2QuoteCCY: string; incentiveSpreadTbps: bigint; minimalSpreadBps: bigint; S3BaseCCY: string; S3QuoteCCY: string; fSigma3: bigint; fRho23: bigint; liquidationPenaltyRateTbps: bigint; currentMarkPremiumRate: PerpStorage.PriceTimeDataStructOutput; premiumRatesEMA: bigint; fUnitAccumulatedFunding: bigint; fOpenInterest: bigint; fTargetAMMFundSize: bigint; fCurrentTraderExposureEMA: bigint; fCurrentFundingRate: bigint; fLotSizeBC: bigint; fReferralRebateCC: bigint; fTargetDFSize: bigint; fkStar: bigint; fAMMTargetDD: bigint; perpFlags: bigint; fMinimalTraderExposureEMA: bigint; fMinimalAMMExposureEMA: bigint; fSettlementS3PriceData: bigint; fSettlementS2PriceData: bigint; fParams: bigint; fMarkPriceEMALambda: bigint; fFundingRateClamp: bigint; fMaximalTradeSizeBumpUp: bigint; iLastTargetPoolSizeTime: bigint; fStressReturnS3: [bigint, bigint]; fDFLambda: [bigint, bigint]; fCurrentAMMExposureEMA: [bigint, bigint]; fStressReturnS2: [bigint, bigint]; }; export type WithdrawRequestStruct = { lp: AddressLike; shareTokens: BigNumberish; withdrawTimestamp: BigNumberish; }; export type WithdrawRequestStructOutput = [ lp: string, shareTokens: bigint, withdrawTimestamp: bigint ] & { lp: string; shareTokens: bigint; withdrawTimestamp: bigint }; } export declare namespace IPerpetualInfo { export type PerpetualStaticInfoStruct = { id: BigNumberish; limitOrderBookAddr: AddressLike; fInitialMarginRate: BigNumberish; fMaintenanceMarginRate: BigNumberish; perpetualState: BigNumberish; collCurrencyType: BigNumberish; S2BaseCCY: BytesLike; S2QuoteCCY: BytesLike; S3BaseCCY: BytesLike; S3QuoteCCY: BytesLike; fLotSizeBC: BigNumberish; fReferralRebateCC: BigNumberish; priceIds: BytesLike[]; isPyth: boolean[]; perpFlags: BigNumberish; fAMMTargetDD: BigNumberish; }; export type PerpetualStaticInfoStructOutput = [ id: bigint, limitOrderBookAddr: string, fInitialMarginRate: bigint, fMaintenanceMarginRate: bigint, perpetualState: bigint, collCurrencyType: bigint, S2BaseCCY: string, S2QuoteCCY: string, S3BaseCCY: string, S3QuoteCCY: string, fLotSizeBC: bigint, fReferralRebateCC: bigint, priceIds: string[], isPyth: boolean[], perpFlags: bigint, fAMMTargetDD: bigint ] & { id: bigint; limitOrderBookAddr: string; fInitialMarginRate: bigint; fMaintenanceMarginRate: bigint; perpetualState: bigint; collCurrencyType: bigint; S2BaseCCY: string; S2QuoteCCY: string; S3BaseCCY: string; S3QuoteCCY: string; fLotSizeBC: bigint; fReferralRebateCC: bigint; priceIds: string[]; isPyth: boolean[]; perpFlags: bigint; fAMMTargetDD: bigint; }; } export interface IPerpetualManagerInterface extends Interface { getFunction( nameOrSignature: | "activatePerpetual" | "addLiquidity" | "adjustSettlementPrice" | "calculateDefaultFundSize" | "calculatePerpetualPrice" | "calculateRiskNeutralPD" | "clearTradersInPool" | "countActivePerpAccounts" | "createLiquidityPool" | "createPerpetual" | "deactivatePerp" | "decodeUint16Float" | "decreasePoolCash" | "deposit" | "depositBrokerLots" | "depositMarginForOpeningTrade" | "depositToDefaultFund" | "determineExchangeFee" | "distributeFees" | "distributeFeesLiquidation" | "entropy" | "executeCancelOrder" | "executeLiquidityWithdrawal" | "executeTrade" | "getAMMPerpLogic" | "getAMMState" | "getActivePerpAccounts" | "getActivePerpAccountsByChunks" | "getBrokerDesignation" | "getBrokerInducedFee" | "getCollateralTokenAmountForPricing" | "getCurrentBrokerVolume" | "getCurrentTraderVolume" | "getDepositAmountForLvgPosition" | "getExchangeFeePrdMkts" | "getFeeForBrokerDesignation" | "getFeeForBrokerStake" | "getFeeForBrokerVolume" | "getFeeForTraderStake" | "getFeeForTraderVolume" | "getLastPerpetualBaseToUSDConversion" | "getLiquidatableAccounts" | "getLiquidityPool" | "getLiquidityPools" | "getMarginAccount" | "getMarginAccounts" | "getMaxSignedOpenTradeSizeForPos" | "getNextLiquidatableTrader" | "getOracleFactory" | "getOraclePrice" | "getOracleUpdateTime" | "getOrderBookAddress" | "getOrderBookFactoryAddress" | "getPerpetual" | "getPerpetualCountInPool" | "getPerpetualId" | "getPerpetualStaticInfo" | "getPerpetuals" | "getPoolCount" | "getPoolIdByPerpetualId" | "getPoolStaticInfo" | "getPriceInfo" | "getSettleableAccounts" | "getShareTokenFactory" | "getShareTokenPriceD18" | "getTargetCollateralM1" | "getTargetCollateralM2" | "getTargetCollateralM3" | "getTokenAmountToReturn" | "getTraderState" | "getTreasuryAddress" | "getWithdrawRequests" | "increasePoolCash" | "isActiveAccount" | "isDelegate" | "isMarketClosed" | "isOrderCanceled" | "isOrderExecuted" | "isPerpMarketClosed" | "liquidateByAMM" | "pauseLiquidityProvision" | "prdMktsLvgFee" | "preTrade" | "priceImpact" | "queryExchangeFee" | "queryMidPrices" | "queryPerpetualPrice" | "rebalance" | "reduceMarginCollateral" | "resetMarkPremium" | "runLiquidityPool" | "setAMMPerpLogic" | "setBlockDelay" | "setBrokerTiers" | "setBrokerVolumeTiers" | "setDelegate" | "setEmergencyState" | "setFeesForDesignation" | "setInitialVolumeForFee" | "setNormalState" | "setOracleFactory" | "setOracleFactoryForPerpetual" | "setOrderBookFactory" | "setPerpetualBaseParams" | "setPerpetualOracles" | "setPerpetualParam" | "setPerpetualParamPair" | "setPerpetualPoolFactory" | "setPerpetualRiskParams" | "setPoolParam" | "setTraderTiers" | "setTraderVolumeTiers" | "setTreasury" | "setUtilityTokenAddr" | "settle" | "settleNextTraderInPool" | "settleTraders" | "splitProtocolFee" | "sponsor" | "testTradeEvent" | "togglePerpEmergencyState" | "tradeViaOrderBook" | "transferBrokerLots" | "transferBrokerOwnership" | "transferEarningsToTreasury" | "transferValueToTreasury" | "updateAMMTargetFundSize" | "updateDefaultFundTargetSize" | "updateFundingAndPricesAfter" | "updateFundingAndPricesBefore" | "updatePriceFeeds" | "updateVolumeEMAOnNewTrade" | "validateStopPrice" | "withdraw" | "withdrawAll" | "withdrawDepositFromMarginAccount" | "withdrawFromDefaultFund" | "withdrawLiquidity" ): FunctionFragment; getEvent( nameOrSignatureOrTopic: | "BrokerLotsTransferred" | "BrokerVolumeTransferred" | "Clear" | "DistributeFees" | "Liquidate" | "LiquidityAdded" | "LiquidityPoolCreated" | "LiquidityProvisionPaused" | "LiquidityRemoved" | "LiquidityWithdrawalInitiated" | "PerpetualCreated" | "PerpetualLimitOrderCancelled" | "RunLiquidityPool" | "SetBlockDelay" | "SetBrokerDesignations" | "SetBrokerTiers" | "SetBrokerVolumeTiers" | "SetClearedState" | "SetDelegate" | "SetEmergencyState" | "SetNormalState" | "SetOracles" | "SetParameter" | "SetParameterPair" | "SetPerpetualBaseParameters" | "SetPerpetualRiskParameters" | "SetPoolParameter" | "SetTraderTiers" | "SetTraderVolumeTiers" | "SetUtilityToken" | "Settle" | "SettleState" | "SettlementComplete" | "TokensDeposited" | "TokensWithdrawn" | "Trade" | "TransferAddressTo" | "UpdateBrokerAddedCash" | "UpdateFundingRate" | "UpdateMarginAccount" | "UpdateMarkPrice" ): EventFragment; encodeFunctionData( functionFragment: "activatePerpetual", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "addLiquidity", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "adjustSettlementPrice", values: [BigNumberish, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "calculateDefaultFundSize", values: [ [BigNumberish, BigNumberish], BigNumberish, BigNumberish, [BigNumberish, BigNumberish], [BigNumberish, BigNumberish], [BigNumberish, BigNumberish], BigNumberish ] ): string; encodeFunctionData( functionFragment: "calculatePerpetualPrice", values: [ AMMPerpLogic.AMMVariablesStruct, AMMPerpLogic.MarketVariablesStruct, BigNumberish, BigNumberish, BigNumberish ] ): string; encodeFunctionData( functionFragment: "calculateRiskNeutralPD", values: [ AMMPerpLogic.AMMVariablesStruct, AMMPerpLogic.MarketVariablesStruct, BigNumberish, boolean ] ): string; encodeFunctionData( functionFragment: "clearTradersInPool", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "countActivePerpAccounts", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "createLiquidityPool", values: [AddressLike, BigNumberish, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "createPerpetual", values: [ BigNumberish, [BytesLike, BytesLike], [BytesLike, BytesLike], BigNumberish[], [BigNumberish, BigNumberish, BigNumberish, BigNumberish, BigNumberish], BigNumberish[], BigNumberish ] ): string; encodeFunctionData( functionFragment: "deactivatePerp", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "decodeUint16Float", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "decreasePoolCash", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "deposit", values: [ BigNumberish, AddressLike, BigNumberish, BytesLike[], BigNumberish[] ] ): string; encodeFunctionData( functionFragment: "depositBrokerLots", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "depositMarginForOpeningTrade", values: [BigNumberish, BigNumberish, IPerpetualOrder.OrderStruct] ): string; encodeFunctionData( functionFragment: "depositToDefaultFund", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "determineExchangeFee", values: [IPerpetualOrder.OrderStruct] ): string; encodeFunctionData( functionFragment: "distributeFees", values: [IPerpetualOrder.OrderStruct, BigNumberish, BigNumberish, boolean] ): string; encodeFunctionData( functionFragment: "distributeFeesLiquidation", values: [BigNumberish, AddressLike, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "entropy", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "executeCancelOrder", values: [BigNumberish, BytesLike] ): string; encodeFunctionData( functionFragment: "executeLiquidityWithdrawal", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "executeTrade", values: [ BigNumberish, AddressLike, BigNumberish, BigNumberish, BigNumberish, boolean ] ): string; encodeFunctionData( functionFragment: "getAMMPerpLogic", values?: undefined ): string; encodeFunctionData( functionFragment: "getAMMState", values: [BigNumberish, [BigNumberish, BigNumberish]] ): string; encodeFunctionData( functionFragment: "getActivePerpAccounts", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getActivePerpAccountsByChunks", values: [BigNumberish, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "getBrokerDesignation", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "getBrokerInducedFee", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "getCollateralTokenAmountForPricing", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getCurrentBrokerVolume", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "getCurrentTraderVolume", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "getDepositAmountForLvgPosition", values: [ BigNumberish, BigNumberish, BigNumberish, BigNumberish, BigNumberish, BigNumberish, BigNumberish, BigNumberish ] ): string; encodeFunctionData( functionFragment: "getExchangeFeePrdMkts", values: [BigNumberish, BigNumberish, BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "getFeeForBrokerDesignation", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getFeeForBrokerStake", values: [AddressLike] ): string; encodeFunctionData( functionFragment: "getFeeForBrokerVolume", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "getFeeForTraderStake", values: [AddressLike] ): string; encodeFunctionData( functionFragment: "getFeeForTraderVolume", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "getLastPerpetualBaseToUSDConversion", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getLiquidatableAccounts", values: [BigNumberish, [BigNumberish, BigNumberish]] ): string; encodeFunctionData( functionFragment: "getLiquidityPool", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getLiquidityPools", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "getMarginAccount", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "getMarginAccounts", values: [BigNumberish[], AddressLike] ): string; encodeFunctionData( functionFragment: "getMaxSignedOpenTradeSizeForPos", values: [BigNumberish, BigNumberish, boolean] ): string; encodeFunctionData( functionFragment: "getNextLiquidatableTrader", values: [BigNumberish, [BigNumberish, BigNumberish]] ): string; encodeFunctionData( functionFragment: "getOracleFactory", values?: undefined ): string; encodeFunctionData( functionFragment: "getOraclePrice", values: [[BytesLike, BytesLike]] ): string; encodeFunctionData( functionFragment: "getOracleUpdateTime", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getOrderBookAddress", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getOrderBookFactoryAddress", values?: undefined ): string; encodeFunctionData( functionFragment: "getPerpetual", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getPerpetualCountInPool", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getPerpetualId", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "getPerpetualStaticInfo", values: [BigNumberish[]] ): string; encodeFunctionData( functionFragment: "getPerpetuals", values: [BigNumberish[]] ): string; encodeFunctionData( functionFragment: "getPoolCount", values?: undefined ): string; encodeFunctionData( functionFragment: "getPoolIdByPerpetualId", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getPoolStaticInfo", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "getPriceInfo", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getSettleableAccounts", values: [BigNumberish, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "getShareTokenFactory", values?: undefined ): string; encodeFunctionData( functionFragment: "getShareTokenPriceD18", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getTargetCollateralM1", values: [ BigNumberish, BigNumberish, AMMPerpLogic.MarketVariablesStruct, BigNumberish ] ): string; encodeFunctionData( functionFragment: "getTargetCollateralM2", values: [ BigNumberish, BigNumberish, AMMPerpLogic.MarketVariablesStruct, BigNumberish ] ): string; encodeFunctionData( functionFragment: "getTargetCollateralM3", values: [ BigNumberish, BigNumberish, AMMPerpLogic.MarketVariablesStruct, BigNumberish ] ): string; encodeFunctionData( functionFragment: "getTokenAmountToReturn", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "getTraderState", values: [BigNumberish, AddressLike, [BigNumberish, BigNumberish]] ): string; encodeFunctionData( functionFragment: "getTreasuryAddress", values?: undefined ): string; encodeFunctionData( functionFragment: "getWithdrawRequests", values: [BigNumberish, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "increasePoolCash", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "isActiveAccount", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "isDelegate", values: [AddressLike, AddressLike] ): string; encodeFunctionData( functionFragment: "isMarketClosed", values: [BytesLike, BytesLike] ): string; encodeFunctionData( functionFragment: "isOrderCanceled", values: [BytesLike] ): string; encodeFunctionData( functionFragment: "isOrderExecuted", values: [BytesLike] ): string; encodeFunctionData( functionFragment: "isPerpMarketClosed", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "liquidateByAMM", values: [ BigNumberish, AddressLike, AddressLike, BytesLike[], BigNumberish[] ] ): string; encodeFunctionData( functionFragment: "pauseLiquidityProvision", values: [BigNumberish, boolean] ): string; encodeFunctionData( functionFragment: "prdMktsLvgFee", values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "preTrade", values: [IPerpetualOrder.OrderStruct] ): string; encodeFunctionData( functionFragment: "priceImpact", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "queryExchangeFee", values: [BigNumberish, AddressLike, AddressLike] ): string; encodeFunctionData( functionFragment: "queryMidPrices", values: [BigNumberish[], BigNumberish[]] ): string; encodeFunctionData( functionFragment: "queryPerpetualPrice", values: [ BigNumberish, BigNumberish, [BigNumberish, BigNumberish], BigNumberish, BigNumberish ] ): string; encodeFunctionData( functionFragment: "rebalance", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "reduceMarginCollateral", values: [BigNumberish, AddressLike, BigNumberish] ): string; encodeFunctionData( functionFragment: "resetMarkPremium", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "runLiquidityPool", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "setAMMPerpLogic", values: [AddressLike] ): string; encodeFunctionData( functionFragment: "setBlockDelay", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "setBrokerTiers", values: [BigNumberish[], BigNumberish[]] ): string; encodeFunctionData( functionFragment: "setBrokerVolumeTiers", values: [BigNumberish[], BigNumberish[]] ): string; encodeFunctionData( functionFragment: "setDelegate", values: [AddressLike, BigNumberish] ): string; encodeFunctionData( functionFragment: "setEmergencyState", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "setFeesForDesignation", values: [BigNumberish[], BigNumberish[]] ): string; encodeFunctionData( functionFragment: "setInitialVolumeForFee", values: [BigNumberish, AddressLike, BigNumberish] ): string; encodeFunctionData( functionFragment: "setNormalState", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "setOracleFactory", values: [AddressLike] ): string; encodeFunctionData( functionFragment: "setOracleFactoryForPerpetual", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "setOrderBookFactory", values: [AddressLike] ): string; encodeFunctionData( functionFragment: "setPerpetualBaseParams", values: [BigNumberish, BigNumberish[]] ): string; encodeFunctionData( functionFragment: "setPerpetualOracles", values: [BigNumberish, [BytesLike, BytesLike], [BytesLike, BytesLike]] ): string; encodeFunctionData( functionFragment: "setPerpetualParam", values: [BigNumberish, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "setPerpetualParamPair", values: [BigNumberish, string, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "setPerpetualPoolFactory", values: [AddressLike] ): string; encodeFunctionData( functionFragment: "setPerpetualRiskParams", values: [ BigNumberish, [BigNumberish, BigNumberish, BigNumberish, BigNumberish, BigNumberish], BigNumberish[] ] ): string; encodeFunctionData( functionFragment: "setPoolParam", values: [BigNumberish, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "setTraderTiers", values: [BigNumberish[], BigNumberish[]] ): string; encodeFunctionData( functionFragment: "setTraderVolumeTiers", values: [BigNumberish[], BigNumberish[]] ): string; encodeFunctionData( functionFragment: "setTreasury", values: [AddressLike] ): string; encodeFunctionData( functionFragment: "setUtilityTokenAddr", values: [AddressLike] ): string; encodeFunctionData( functionFragment: "settle", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "settleNextTraderInPool", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "settleTraders", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "splitProtocolFee", values: [BigNumberish] ): string; encodeFunctionData(functionFragment: "sponsor", values?: undefined): string; encodeFunctionData( functionFragment: "testTradeEvent", values: [IPerpetualOrder.OrderStruct] ): string; encodeFunctionData( functionFragment: "togglePerpEmergencyState", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "tradeViaOrderBook", values: [IPerpetualOrder.OrderStruct, AddressLike] ): string; encodeFunctionData( functionFragment: "transferBrokerLots", values: [BigNumberish, AddressLike, BigNumberish] ): string; encodeFunctionData( functionFragment: "transferBrokerOwnership", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "transferEarningsToTreasury", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "transferValueToTreasury", values?: undefined ): string; encodeFunctionData( functionFragment: "updateAMMTargetFundSize", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "updateDefaultFundTargetSize", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "updateFundingAndPricesAfter", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "updateFundingAndPricesBefore", values: [BigNumberish, boolean] ): string; encodeFunctionData( functionFragment: "updatePriceFeeds", values: [BigNumberish, BytesLike[], BigNumberish[], BigNumberish] ): string; encodeFunctionData( functionFragment: "updateVolumeEMAOnNewTrade", values: [BigNumberish, AddressLike, AddressLike, BigNumberish] ): string; encodeFunctionData( functionFragment: "validateStopPrice", values: [boolean, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "withdraw", values: [ BigNumberish, AddressLike, BigNumberish, BytesLike[], BigNumberish[] ] ): string; encodeFunctionData( functionFragment: "withdrawAll", values: [BigNumberish, AddressLike, BytesLike[], BigNumberish[]] ): string; encodeFunctionData( functionFragment: "withdrawDepositFromMarginAccount", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "withdrawFromDefaultFund", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "withdrawLiquidity", values: [BigNumberish, BigNumberish] ): string; decodeFunctionResult( functionFragment: "activatePerpetual", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "addLiquidity", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "adjustSettlementPrice", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculateDefaultFundSize", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculatePerpetualPrice", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculateRiskNeutralPD", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "clearTradersInPool", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "countActivePerpAccounts", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "createLiquidityPool", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "createPerpetual", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "deactivatePerp", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "decodeUint16Float", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "decreasePoolCash", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult( functionFragment: "depositBrokerLots", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "depositMarginForOpeningTrade", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "depositToDefaultFund", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "determineExchangeFee", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "distributeFees", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "distributeFeesLiquidation", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "entropy", data: BytesLike): Result; decodeFunctionResult( functionFragment: "executeCancelOrder", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "executeLiquidityWithdrawal", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "executeTrade", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getAMMPerpLogic", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getAMMState", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getActivePerpAccounts", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getActivePerpAccountsByChunks", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getBrokerDesignation", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getBrokerInducedFee", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getCollateralTokenAmountForPricing", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getCurrentBrokerVolume", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getCurrentTraderVolume", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getDepositAmountForLvgPosition", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getExchangeFeePrdMkts", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getFeeForBrokerDesignation", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getFeeForBrokerStake", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getFeeForBrokerVolume", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getFeeForTraderStake", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getFeeForTraderVolume", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getLastPerpetualBaseToUSDConversion", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getLiquidatableAccounts", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getLiquidityPool", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getLiquidityPools", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getMarginAccount", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getMarginAccounts", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getMaxSignedOpenTradeSizeForPos", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getNextLiquidatableTrader", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getOracleFactory", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getOraclePrice", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getOracleUpdateTime", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getOrderBookAddress", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getOrderBookFactoryAddress", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getPerpetual", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getPerpetualCountInPool", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getPerpetualId", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getPerpetualStaticInfo", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getPerpetuals", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getPoolCount", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getPoolIdByPerpetualId", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getPoolStaticInfo", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getPriceInfo", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getSettleableAccounts", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getShareTokenFactory", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getShareTokenPriceD18", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getTargetCollateralM1", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getTargetCollateralM2", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getTargetCollateralM3", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getTokenAmountToReturn", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getTraderState", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getTreasuryAddress", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getWithdrawRequests", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "increasePoolCash", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "isActiveAccount", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "isDelegate", data: BytesLike): Result; decodeFunctionResult( functionFragment: "isMarketClosed", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "isOrderCanceled", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "isOrderExecuted", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "isPerpMarketClosed", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "liquidateByAMM", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "pauseLiquidityProvision", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "prdMktsLvgFee", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "preTrade", data: BytesLike): Result; decodeFunctionResult( functionFragment: "priceImpact", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "queryExchangeFee", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "queryMidPrices", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "queryPerpetualPrice", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "rebalance", data: BytesLike): Result; decodeFunctionResult( functionFragment: "reduceMarginCollateral", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "resetMarkPremium", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "runLiquidityPool", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setAMMPerpLogic", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setBlockDelay", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setBrokerTiers", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setBrokerVolumeTiers", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setDelegate", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setEmergencyState", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setFeesForDesignation", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setInitialVolumeForFee", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setNormalState", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setOracleFactory", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setOracleFactoryForPerpetual", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setOrderBookFactory", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setPerpetualBaseParams", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setPerpetualOracles", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setPerpetualParam", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setPerpetualParamPair", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setPerpetualPoolFactory", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setPerpetualRiskParams", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setPoolParam", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setTraderTiers", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setTraderVolumeTiers", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setTreasury", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setUtilityTokenAddr", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "settle", data: BytesLike): Result; decodeFunctionResult( functionFragment: "settleNextTraderInPool", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "settleTraders", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "splitProtocolFee", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "sponsor", data: BytesLike): Result; decodeFunctionResult( functionFragment: "testTradeEvent", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "togglePerpEmergencyState", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "tradeViaOrderBook", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "transferBrokerLots", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "transferBrokerOwnership", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "transferEarningsToTreasury", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "transferValueToTreasury", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "updateAMMTargetFundSize", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "updateDefaultFundTargetSize", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "updateFundingAndPricesAfter", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "updateFundingAndPricesBefore", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "updatePriceFeeds", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "updateVolumeEMAOnNewTrade", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "validateStopPrice", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; decodeFunctionResult( functionFragment: "withdrawAll", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "withdrawDepositFromMarginAccount", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "withdrawFromDefaultFund", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "withdrawLiquidity", data: BytesLike ): Result; } export namespace BrokerLotsTransferredEvent { export type InputTuple = [ poolId: BigNumberish, oldOwner: AddressLike, newOwner: AddressLike, numLots: BigNumberish ]; export type OutputTuple = [ poolId: bigint, oldOwner: string, newOwner: string, numLots: bigint ]; export interface OutputObject { poolId: bigint; oldOwner: string; newOwner: string; numLots: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace BrokerVolumeTransferredEvent { export type InputTuple = [ poolId: BigNumberish, oldOwner: AddressLike, newOwner: AddressLike, fVolume: BigNumberish ]; export type OutputTuple = [ poolId: bigint, oldOwner: string, newOwner: string, fVolume: bigint ]; export interface OutputObject { poolId: bigi