@drift-labs/sdk-browser
Version:
SDK for Drift Protocol
246 lines (245 loc) • 31 kB
TypeScript
/// <reference types="bn.js" />
import { PublicKey, TransactionInstruction, TransactionSignature } from '@solana/web3.js';
import { FeeStructure, OracleGuardRails, OracleSource, ExchangeStatus, MarketStatus, ContractTier, AssetTier, SpotFulfillmentConfigStatus, IfRebalanceConfigParams, TxParams } from './types';
import { BN } from '@coral-xyz/anchor';
import { DriftClient } from './driftClient';
export declare class AdminClient extends DriftClient {
initialize(usdcMint: PublicKey, _adminControlsPrices: boolean): Promise<[TransactionSignature]>;
initializeSpotMarket(mint: PublicKey, optimalUtilization: number, optimalRate: number, maxRate: number, oracle: PublicKey, oracleSource: OracleSource, initialAssetWeight: number, maintenanceAssetWeight: number, initialLiabilityWeight: number, maintenanceLiabilityWeight: number, imfFactor?: number, liquidatorFee?: number, ifLiquidationFee?: number, activeStatus?: boolean, assetTier?: {
collateral: {};
}, scaleInitialAssetWeightStart?: BN, withdrawGuardThreshold?: BN, orderTickSize?: BN, orderStepSize?: BN, ifTotalFactor?: number, name?: string, marketIndex?: number): Promise<TransactionSignature>;
getInitializeSpotMarketIx(mint: PublicKey, optimalUtilization: number, optimalRate: number, maxRate: number, oracle: PublicKey, oracleSource: OracleSource, initialAssetWeight: number, maintenanceAssetWeight: number, initialLiabilityWeight: number, maintenanceLiabilityWeight: number, imfFactor?: number, liquidatorFee?: number, ifLiquidationFee?: number, activeStatus?: boolean, assetTier?: {
collateral: {};
}, scaleInitialAssetWeightStart?: BN, withdrawGuardThreshold?: BN, orderTickSize?: BN, orderStepSize?: BN, ifTotalFactor?: number, name?: string, marketIndex?: number): Promise<TransactionInstruction>;
deleteInitializedSpotMarket(marketIndex: number): Promise<TransactionSignature>;
getDeleteInitializedSpotMarketIx(marketIndex: number): Promise<TransactionInstruction>;
initializeSerumFulfillmentConfig(marketIndex: number, serumMarket: PublicKey, serumProgram: PublicKey): Promise<TransactionSignature>;
getInitializeSerumFulfillmentConfigIx(marketIndex: number, serumMarket: PublicKey, serumProgram: PublicKey): Promise<TransactionInstruction>;
initializePhoenixFulfillmentConfig(marketIndex: number, phoenixMarket: PublicKey): Promise<TransactionSignature>;
getInitializePhoenixFulfillmentConfigIx(marketIndex: number, phoenixMarket: PublicKey): Promise<TransactionInstruction>;
initializeOpenbookV2FulfillmentConfig(marketIndex: number, openbookMarket: PublicKey): Promise<TransactionSignature>;
getInitializeOpenbookV2FulfillmentConfigIx(marketIndex: number, openbookMarket: PublicKey): Promise<TransactionInstruction>;
initializePerpMarket(marketIndex: number, priceOracle: PublicKey, baseAssetReserve: BN, quoteAssetReserve: BN, periodicity: BN, pegMultiplier?: BN, oracleSource?: OracleSource, contractTier?: ContractTier, marginRatioInitial?: number, marginRatioMaintenance?: number, liquidatorFee?: number, ifLiquidatorFee?: number, imfFactor?: number, activeStatus?: boolean, baseSpread?: number, maxSpread?: number, maxOpenInterest?: BN, maxRevenueWithdrawPerPeriod?: BN, quoteMaxInsurance?: BN, orderStepSize?: BN, orderTickSize?: BN, minOrderSize?: BN, concentrationCoefScale?: BN, curveUpdateIntensity?: number, ammJitIntensity?: number, name?: string): Promise<TransactionSignature>;
getInitializePerpMarketIx(marketIndex: number, priceOracle: PublicKey, baseAssetReserve: BN, quoteAssetReserve: BN, periodicity: BN, pegMultiplier?: BN, oracleSource?: OracleSource, contractTier?: ContractTier, marginRatioInitial?: number, marginRatioMaintenance?: number, liquidatorFee?: number, ifLiquidatorFee?: number, imfFactor?: number, activeStatus?: boolean, baseSpread?: number, maxSpread?: number, maxOpenInterest?: BN, maxRevenueWithdrawPerPeriod?: BN, quoteMaxInsurance?: BN, orderStepSize?: BN, orderTickSize?: BN, minOrderSize?: BN, concentrationCoefScale?: BN, curveUpdateIntensity?: number, ammJitIntensity?: number, name?: string): Promise<TransactionInstruction>;
initializePredictionMarket(perpMarketIndex: number): Promise<TransactionSignature>;
getInitializePredictionMarketIx(perpMarketIndex: number): Promise<TransactionInstruction>;
deleteInitializedPerpMarket(marketIndex: number): Promise<TransactionSignature>;
getDeleteInitializedPerpMarketIx(marketIndex: number): Promise<TransactionInstruction>;
moveAmmPrice(perpMarketIndex: number, baseAssetReserve: BN, quoteAssetReserve: BN, sqrtK?: BN): Promise<TransactionSignature>;
getMoveAmmPriceIx(perpMarketIndex: number, baseAssetReserve: BN, quoteAssetReserve: BN, sqrtK?: BN): Promise<TransactionInstruction>;
updateK(perpMarketIndex: number, sqrtK: BN): Promise<TransactionSignature>;
getUpdateKIx(perpMarketIndex: number, sqrtK: BN): Promise<TransactionInstruction>;
recenterPerpMarketAmm(perpMarketIndex: number, pegMultiplier: BN, sqrtK: BN): Promise<TransactionSignature>;
getRecenterPerpMarketAmmIx(perpMarketIndex: number, pegMultiplier: BN, sqrtK: BN): Promise<TransactionInstruction>;
recenterPerpMarketAmmCrank(perpMarketIndex: number, depth?: BN): Promise<TransactionSignature>;
getRecenterPerpMarketAmmCrankIx(perpMarketIndex: number, depth: BN): Promise<TransactionInstruction>;
updatePerpMarketConcentrationScale(perpMarketIndex: number, concentrationScale: BN): Promise<TransactionSignature>;
getUpdatePerpMarketConcentrationScaleIx(perpMarketIndex: number, concentrationScale: BN): Promise<TransactionInstruction>;
moveAmmToPrice(perpMarketIndex: number, targetPrice: BN): Promise<TransactionSignature>;
getMoveAmmToPriceIx(perpMarketIndex: number, targetPrice: BN): Promise<TransactionInstruction>;
repegAmmCurve(newPeg: BN, perpMarketIndex: number): Promise<TransactionSignature>;
getRepegAmmCurveIx(newPeg: BN, perpMarketIndex: number): Promise<TransactionInstruction>;
updatePerpMarketAmmOracleTwap(perpMarketIndex: number): Promise<TransactionSignature>;
getUpdatePerpMarketAmmOracleTwapIx(perpMarketIndex: number): Promise<TransactionInstruction>;
resetPerpMarketAmmOracleTwap(perpMarketIndex: number): Promise<TransactionSignature>;
getResetPerpMarketAmmOracleTwapIx(perpMarketIndex: number): Promise<TransactionInstruction>;
depositIntoPerpMarketFeePool(perpMarketIndex: number, amount: BN, sourceVault: PublicKey): Promise<TransactionSignature>;
getDepositIntoPerpMarketFeePoolIx(perpMarketIndex: number, amount: BN, sourceVault: PublicKey): Promise<TransactionInstruction>;
updatePerpMarketPnlPool(perpMarketIndex: number, amount: BN): Promise<TransactionSignature>;
getUpdatePerpMarketPnlPoolIx(perpMarketIndex: number, amount: BN): Promise<TransactionInstruction>;
depositIntoSpotMarketVault(spotMarketIndex: number, amount: BN, sourceVault: PublicKey): Promise<TransactionSignature>;
getDepositIntoSpotMarketVaultIx(spotMarketIndex: number, amount: BN, sourceVault: PublicKey): Promise<TransactionInstruction>;
updateAdmin(admin: PublicKey): Promise<TransactionSignature>;
getUpdateAdminIx(admin: PublicKey): Promise<TransactionInstruction>;
updatePerpMarketCurveUpdateIntensity(perpMarketIndex: number, curveUpdateIntensity: number): Promise<TransactionSignature>;
getUpdatePerpMarketCurveUpdateIntensityIx(perpMarketIndex: number, curveUpdateIntensity: number): Promise<TransactionInstruction>;
updatePerpMarketTargetBaseAssetAmountPerLp(perpMarketIndex: number, targetBaseAssetAmountPerLP: number): Promise<TransactionSignature>;
updatePerpMarketAmmSummaryStats(perpMarketIndex: number, updateAmmSummaryStats?: boolean, quoteAssetAmountWithUnsettledLp?: BN, netUnsettledFundingPnl?: BN, excludeTotalLiqFee?: boolean): Promise<TransactionSignature>;
getUpdatePerpMarketAmmSummaryStatsIx(perpMarketIndex: number, updateAmmSummaryStats?: boolean, quoteAssetAmountWithUnsettledLp?: BN, netUnsettledFundingPnl?: BN, excludeTotalLiqFee?: boolean): Promise<TransactionInstruction>;
getUpdatePerpMarketTargetBaseAssetAmountPerLpIx(perpMarketIndex: number, targetBaseAssetAmountPerLP: number): Promise<TransactionInstruction>;
updatePerpMarketMarginRatio(perpMarketIndex: number, marginRatioInitial: number, marginRatioMaintenance: number): Promise<TransactionSignature>;
getUpdatePerpMarketMarginRatioIx(perpMarketIndex: number, marginRatioInitial: number, marginRatioMaintenance: number): Promise<TransactionInstruction>;
updatePerpMarketHighLeverageMarginRatio(perpMarketIndex: number, marginRatioInitial: number, marginRatioMaintenance: number): Promise<TransactionSignature>;
getUpdatePerpMarketHighLeverageMarginRatioIx(perpMarketIndex: number, marginRatioInitial: number, marginRatioMaintenance: number): Promise<TransactionInstruction>;
updatePerpMarketImfFactor(perpMarketIndex: number, imfFactor: number, unrealizedPnlImfFactor: number): Promise<TransactionSignature>;
getUpdatePerpMarketImfFactorIx(perpMarketIndex: number, imfFactor: number, unrealizedPnlImfFactor: number): Promise<TransactionInstruction>;
updatePerpMarketBaseSpread(perpMarketIndex: number, baseSpread: number): Promise<TransactionSignature>;
getUpdatePerpMarketBaseSpreadIx(perpMarketIndex: number, baseSpread: number): Promise<TransactionInstruction>;
updateAmmJitIntensity(perpMarketIndex: number, ammJitIntensity: number): Promise<TransactionSignature>;
getUpdateAmmJitIntensityIx(perpMarketIndex: number, ammJitIntensity: number): Promise<TransactionInstruction>;
updatePerpMarketName(perpMarketIndex: number, name: string): Promise<TransactionSignature>;
getUpdatePerpMarketNameIx(perpMarketIndex: number, name: string): Promise<TransactionInstruction>;
updateSpotMarketName(spotMarketIndex: number, name: string): Promise<TransactionSignature>;
getUpdateSpotMarketNameIx(spotMarketIndex: number, name: string): Promise<TransactionInstruction>;
updateSpotMarketPoolId(spotMarketIndex: number, poolId: number): Promise<TransactionSignature>;
getUpdateSpotMarketPoolIdIx(spotMarketIndex: number, poolId: number): Promise<TransactionInstruction>;
updatePerpMarketPerLpBase(perpMarketIndex: number, perLpBase: number): Promise<TransactionSignature>;
getUpdatePerpMarketPerLpBaseIx(perpMarketIndex: number, perLpBase: number): Promise<TransactionInstruction>;
updatePerpMarketMaxSpread(perpMarketIndex: number, maxSpread: number): Promise<TransactionSignature>;
getUpdatePerpMarketMaxSpreadIx(perpMarketIndex: number, maxSpread: number): Promise<TransactionInstruction>;
updatePerpFeeStructure(feeStructure: FeeStructure): Promise<TransactionSignature>;
getUpdatePerpFeeStructureIx(feeStructure: FeeStructure): Promise<TransactionInstruction>;
updateSpotFeeStructure(feeStructure: FeeStructure): Promise<TransactionSignature>;
getUpdateSpotFeeStructureIx(feeStructure: FeeStructure): Promise<TransactionInstruction>;
updateInitialPctToLiquidate(initialPctToLiquidate: number): Promise<TransactionSignature>;
getUpdateInitialPctToLiquidateIx(initialPctToLiquidate: number): Promise<TransactionInstruction>;
updateLiquidationDuration(liquidationDuration: number): Promise<TransactionSignature>;
getUpdateLiquidationDurationIx(liquidationDuration: number): Promise<TransactionInstruction>;
updateLiquidationMarginBufferRatio(updateLiquidationMarginBufferRatio: number): Promise<TransactionSignature>;
getUpdateLiquidationMarginBufferRatioIx(updateLiquidationMarginBufferRatio: number): Promise<TransactionInstruction>;
updateOracleGuardRails(oracleGuardRails: OracleGuardRails): Promise<TransactionSignature>;
getUpdateOracleGuardRailsIx(oracleGuardRails: OracleGuardRails): Promise<TransactionInstruction>;
updateStateSettlementDuration(settlementDuration: number): Promise<TransactionSignature>;
getUpdateStateSettlementDurationIx(settlementDuration: number): Promise<TransactionInstruction>;
updateStateMaxNumberOfSubAccounts(maxNumberOfSubAccounts: number): Promise<TransactionSignature>;
getUpdateStateMaxNumberOfSubAccountsIx(maxNumberOfSubAccounts: number): Promise<TransactionInstruction>;
updateStateMaxInitializeUserFee(maxInitializeUserFee: number): Promise<TransactionSignature>;
getUpdateStateMaxInitializeUserFeeIx(maxInitializeUserFee: number): Promise<TransactionInstruction>;
updateWithdrawGuardThreshold(spotMarketIndex: number, withdrawGuardThreshold: BN): Promise<TransactionSignature>;
getUpdateWithdrawGuardThresholdIx(spotMarketIndex: number, withdrawGuardThreshold: BN): Promise<TransactionInstruction>;
updateSpotMarketIfFactor(spotMarketIndex: number, userIfFactor: BN, totalIfFactor: BN): Promise<TransactionSignature>;
getUpdateSpotMarketIfFactorIx(spotMarketIndex: number, userIfFactor: BN, totalIfFactor: BN): Promise<TransactionInstruction>;
updateSpotMarketRevenueSettlePeriod(spotMarketIndex: number, revenueSettlePeriod: BN): Promise<TransactionSignature>;
getUpdateSpotMarketRevenueSettlePeriodIx(spotMarketIndex: number, revenueSettlePeriod: BN): Promise<TransactionInstruction>;
updateSpotMarketMaxTokenDeposits(spotMarketIndex: number, maxTokenDeposits: BN): Promise<TransactionSignature>;
getUpdateSpotMarketMaxTokenDepositsIx(spotMarketIndex: number, maxTokenDeposits: BN): Promise<TransactionInstruction>;
updateSpotMarketMaxTokenBorrows(spotMarketIndex: number, maxTokenBorrowsFraction: number): Promise<TransactionSignature>;
getUpdateSpotMarketMaxTokenBorrowsIx(spotMarketIndex: number, maxTokenBorrowsFraction: number): Promise<TransactionInstruction>;
updateSpotMarketScaleInitialAssetWeightStart(spotMarketIndex: number, scaleInitialAssetWeightStart: BN): Promise<TransactionSignature>;
getUpdateSpotMarketScaleInitialAssetWeightStartIx(spotMarketIndex: number, scaleInitialAssetWeightStart: BN): Promise<TransactionInstruction>;
updateInsuranceFundUnstakingPeriod(spotMarketIndex: number, insuranceWithdrawEscrowPeriod: BN): Promise<TransactionSignature>;
getUpdateInsuranceFundUnstakingPeriodIx(spotMarketIndex: number, insuranceWithdrawEscrowPeriod: BN): Promise<TransactionInstruction>;
updateLpCooldownTime(cooldownTime: BN): Promise<TransactionSignature>;
getUpdateLpCooldownTimeIx(cooldownTime: BN): Promise<TransactionInstruction>;
updatePerpMarketOracle(perpMarketIndex: number, oracle: PublicKey, oracleSource: OracleSource, skipInvaraintCheck?: boolean): Promise<TransactionSignature>;
getUpdatePerpMarketOracleIx(perpMarketIndex: number, oracle: PublicKey, oracleSource: OracleSource, skipInvaraintCheck?: boolean): Promise<TransactionInstruction>;
updatePerpMarketStepSizeAndTickSize(perpMarketIndex: number, stepSize: BN, tickSize: BN): Promise<TransactionSignature>;
getUpdatePerpMarketStepSizeAndTickSizeIx(perpMarketIndex: number, stepSize: BN, tickSize: BN): Promise<TransactionInstruction>;
updatePerpMarketMinOrderSize(perpMarketIndex: number, orderSize: BN): Promise<TransactionSignature>;
getUpdatePerpMarketMinOrderSizeIx(perpMarketIndex: number, orderSize: BN): Promise<TransactionInstruction>;
updateSpotMarketStepSizeAndTickSize(spotMarketIndex: number, stepSize: BN, tickSize: BN): Promise<TransactionSignature>;
getUpdateSpotMarketStepSizeAndTickSizeIx(spotMarketIndex: number, stepSize: BN, tickSize: BN): Promise<TransactionInstruction>;
updateSpotMarketMinOrderSize(spotMarketIndex: number, orderSize: BN): Promise<TransactionSignature>;
getUpdateSpotMarketMinOrderSizeIx(spotMarketIndex: number, orderSize: BN): Promise<TransactionInstruction>;
updatePerpMarketExpiry(perpMarketIndex: number, expiryTs: BN): Promise<TransactionSignature>;
getUpdatePerpMarketExpiryIx(perpMarketIndex: number, expiryTs: BN): Promise<TransactionInstruction>;
updateSpotMarketOracle(spotMarketIndex: number, oracle: PublicKey, oracleSource: OracleSource, skipInvaraintCheck?: boolean): Promise<TransactionSignature>;
getUpdateSpotMarketOracleIx(spotMarketIndex: number, oracle: PublicKey, oracleSource: OracleSource, skipInvaraintCheck?: boolean): Promise<TransactionInstruction>;
updateSpotMarketOrdersEnabled(spotMarketIndex: number, ordersEnabled: boolean): Promise<TransactionSignature>;
getUpdateSpotMarketOrdersEnabledIx(spotMarketIndex: number, ordersEnabled: boolean): Promise<TransactionInstruction>;
updateSpotMarketIfPausedOperations(spotMarketIndex: number, pausedOperations: number): Promise<TransactionSignature>;
getUpdateSpotMarketIfPausedOperationsIx(spotMarketIndex: number, pausedOperations: number): Promise<TransactionInstruction>;
updateSerumFulfillmentConfigStatus(serumFulfillmentConfig: PublicKey, status: SpotFulfillmentConfigStatus): Promise<TransactionSignature>;
getUpdateSerumFulfillmentConfigStatusIx(serumFulfillmentConfig: PublicKey, status: SpotFulfillmentConfigStatus): Promise<TransactionInstruction>;
updatePhoenixFulfillmentConfigStatus(phoenixFulfillmentConfig: PublicKey, status: SpotFulfillmentConfigStatus): Promise<TransactionSignature>;
getUpdatePhoenixFulfillmentConfigStatusIx(phoenixFulfillmentConfig: PublicKey, status: SpotFulfillmentConfigStatus): Promise<TransactionInstruction>;
updateSpotMarketExpiry(spotMarketIndex: number, expiryTs: BN): Promise<TransactionSignature>;
getUpdateSpotMarketExpiryIx(spotMarketIndex: number, expiryTs: BN): Promise<TransactionInstruction>;
updateWhitelistMint(whitelistMint?: PublicKey): Promise<TransactionSignature>;
getUpdateWhitelistMintIx(whitelistMint?: PublicKey): Promise<TransactionInstruction>;
updateDiscountMint(discountMint: PublicKey): Promise<TransactionSignature>;
getUpdateDiscountMintIx(discountMint: PublicKey): Promise<TransactionInstruction>;
updateSpotMarketMarginWeights(spotMarketIndex: number, initialAssetWeight: number, maintenanceAssetWeight: number, initialLiabilityWeight: number, maintenanceLiabilityWeight: number, imfFactor?: number): Promise<TransactionSignature>;
getUpdateSpotMarketMarginWeightsIx(spotMarketIndex: number, initialAssetWeight: number, maintenanceAssetWeight: number, initialLiabilityWeight: number, maintenanceLiabilityWeight: number, imfFactor?: number): Promise<TransactionInstruction>;
updateSpotMarketBorrowRate(spotMarketIndex: number, optimalUtilization: number, optimalBorrowRate: number, optimalMaxRate: number, minBorrowRate?: number | undefined): Promise<TransactionSignature>;
getUpdateSpotMarketBorrowRateIx(spotMarketIndex: number, optimalUtilization: number, optimalBorrowRate: number, optimalMaxRate: number, minBorrowRate?: number | undefined): Promise<TransactionInstruction>;
updateSpotMarketAssetTier(spotMarketIndex: number, assetTier: AssetTier): Promise<TransactionSignature>;
getUpdateSpotMarketAssetTierIx(spotMarketIndex: number, assetTier: AssetTier): Promise<TransactionInstruction>;
updateSpotMarketStatus(spotMarketIndex: number, marketStatus: MarketStatus): Promise<TransactionSignature>;
getUpdateSpotMarketStatusIx(spotMarketIndex: number, marketStatus: MarketStatus): Promise<TransactionInstruction>;
updateSpotMarketPausedOperations(spotMarketIndex: number, pausedOperations: number): Promise<TransactionSignature>;
getUpdateSpotMarketPausedOperationsIx(spotMarketIndex: number, pausedOperations: number): Promise<TransactionInstruction>;
updatePerpMarketStatus(perpMarketIndex: number, marketStatus: MarketStatus): Promise<TransactionSignature>;
getUpdatePerpMarketStatusIx(perpMarketIndex: number, marketStatus: MarketStatus): Promise<TransactionInstruction>;
updatePerpMarketPausedOperations(perpMarketIndex: number, pausedOperations: number): Promise<TransactionSignature>;
getUpdatePerpMarketPausedOperationsIx(perpMarketIndex: number, pausedOperations: number): Promise<TransactionInstruction>;
updatePerpMarketContractTier(perpMarketIndex: number, contractTier: ContractTier): Promise<TransactionSignature>;
getUpdatePerpMarketContractTierIx(perpMarketIndex: number, contractTier: ContractTier): Promise<TransactionInstruction>;
updateExchangeStatus(exchangeStatus: ExchangeStatus): Promise<TransactionSignature>;
getUpdateExchangeStatusIx(exchangeStatus: ExchangeStatus): Promise<TransactionInstruction>;
updatePerpAuctionDuration(minDuration: BN | number): Promise<TransactionSignature>;
getUpdatePerpAuctionDurationIx(minDuration: BN | number): Promise<TransactionInstruction>;
updateSpotAuctionDuration(defaultAuctionDuration: number): Promise<TransactionSignature>;
getUpdateSpotAuctionDurationIx(defaultAuctionDuration: number): Promise<TransactionInstruction>;
updatePerpMarketMaxFillReserveFraction(perpMarketIndex: number, maxBaseAssetAmountRatio: number): Promise<TransactionSignature>;
getUpdatePerpMarketMaxFillReserveFractionIx(perpMarketIndex: number, maxBaseAssetAmountRatio: number): Promise<TransactionInstruction>;
updateMaxSlippageRatio(perpMarketIndex: number, maxSlippageRatio: number): Promise<TransactionSignature>;
getUpdateMaxSlippageRatioIx(perpMarketIndex: number, maxSlippageRatio: number): Promise<TransactionInstruction>;
updatePerpMarketUnrealizedAssetWeight(perpMarketIndex: number, unrealizedInitialAssetWeight: number, unrealizedMaintenanceAssetWeight: number): Promise<TransactionSignature>;
getUpdatePerpMarketUnrealizedAssetWeightIx(perpMarketIndex: number, unrealizedInitialAssetWeight: number, unrealizedMaintenanceAssetWeight: number): Promise<TransactionInstruction>;
updatePerpMarketMaxImbalances(perpMarketIndex: number, unrealizedMaxImbalance: BN, maxRevenueWithdrawPerPeriod: BN, quoteMaxInsurance: BN): Promise<TransactionSignature>;
getUpdatePerpMarketMaxImbalancesIx(perpMarketIndex: number, unrealizedMaxImbalance: BN, maxRevenueWithdrawPerPeriod: BN, quoteMaxInsurance: BN): Promise<TransactionInstruction>;
updatePerpMarketMaxOpenInterest(perpMarketIndex: number, maxOpenInterest: BN): Promise<TransactionSignature>;
getUpdatePerpMarketMaxOpenInterestIx(perpMarketIndex: number, maxOpenInterest: BN): Promise<TransactionInstruction>;
updatePerpMarketNumberOfUser(perpMarketIndex: number, numberOfUsers?: number, numberOfUsersWithBase?: number): Promise<TransactionSignature>;
getUpdatePerpMarketNumberOfUsersIx(perpMarketIndex: number, numberOfUsers?: number, numberOfUsersWithBase?: number): Promise<TransactionInstruction>;
updatePerpMarketFeeAdjustment(perpMarketIndex: number, feeAdjustment: number): Promise<TransactionSignature>;
getUpdatePerpMarketFeeAdjustmentIx(perpMarketIndex: number, feeAdjustment: number): Promise<TransactionInstruction>;
updateSpotMarketFeeAdjustment(perpMarketIndex: number, feeAdjustment: number): Promise<TransactionSignature>;
getUpdateSpotMarketFeeAdjustmentIx(spotMarketIndex: number, feeAdjustment: number): Promise<TransactionInstruction>;
updateSerumVault(srmVault: PublicKey): Promise<TransactionSignature>;
getUpdateSerumVaultIx(srmVault: PublicKey): Promise<TransactionInstruction>;
updatePerpMarketLiquidationFee(perpMarketIndex: number, liquidatorFee: number, ifLiquidationFee: number): Promise<TransactionSignature>;
getUpdatePerpMarketLiquidationFeeIx(perpMarketIndex: number, liquidatorFee: number, ifLiquidationFee: number): Promise<TransactionInstruction>;
updateSpotMarketLiquidationFee(spotMarketIndex: number, liquidatorFee: number, ifLiquidationFee: number): Promise<TransactionSignature>;
getUpdateSpotMarketLiquidationFeeIx(spotMarketIndex: number, liquidatorFee: number, ifLiquidationFee: number): Promise<TransactionInstruction>;
initializeProtocolIfSharesTransferConfig(): Promise<TransactionSignature>;
getInitializeProtocolIfSharesTransferConfigIx(): Promise<TransactionInstruction>;
updateProtocolIfSharesTransferConfig(whitelistedSigners?: PublicKey[], maxTransferPerEpoch?: BN): Promise<TransactionSignature>;
getUpdateProtocolIfSharesTransferConfigIx(whitelistedSigners?: PublicKey[], maxTransferPerEpoch?: BN): Promise<TransactionInstruction>;
transferProtocolIfSharesToRevenuePool(outMarketIndex: number, inMarketIndex: number, amount: BN): Promise<TransactionSignature>;
getTransferProtocolIfSharesToRevenuePoolIx(outMarketIndex: number, inMarketIndex: number, amount: BN): Promise<TransactionInstruction>;
initializePrelaunchOracle(perpMarketIndex: number, price?: BN, maxPrice?: BN): Promise<TransactionSignature>;
getInitializePrelaunchOracleIx(perpMarketIndex: number, price?: BN, maxPrice?: BN): Promise<TransactionInstruction>;
updatePrelaunchOracleParams(perpMarketIndex: number, price?: BN, maxPrice?: BN): Promise<TransactionSignature>;
getUpdatePrelaunchOracleParamsIx(perpMarketIndex: number, price?: BN, maxPrice?: BN): Promise<TransactionInstruction>;
deletePrelaunchOracle(perpMarketIndex: number): Promise<TransactionSignature>;
getDeletePrelaunchOracleIx(perpMarketIndex: number, price?: BN, maxPrice?: BN): Promise<TransactionInstruction>;
updateSpotMarketFuel(spotMarketIndex: number, fuelBoostDeposits?: number, fuelBoostBorrows?: number, fuelBoostTaker?: number, fuelBoostMaker?: number, fuelBoostInsurance?: number): Promise<TransactionSignature>;
getUpdateSpotMarketFuelIx(spotMarketIndex: number, fuelBoostDeposits?: number, fuelBoostBorrows?: number, fuelBoostTaker?: number, fuelBoostMaker?: number, fuelBoostInsurance?: number): Promise<TransactionInstruction>;
updatePerpMarketFuel(perpMarketIndex: number, fuelBoostTaker?: number, fuelBoostMaker?: number, fuelBoostPosition?: number): Promise<TransactionSignature>;
getUpdatePerpMarketFuelIx(perpMarketIndex: number, fuelBoostTaker?: number, fuelBoostMaker?: number, fuelBoostPosition?: number): Promise<TransactionInstruction>;
updatePerpMarketTakerSpeedBumpOverride(perpMarketIndex: number, takerSpeedBumpOverride: number): Promise<TransactionSignature>;
getUpdatePerpMarketTakerSpeedBumpOverrideIx(perpMarketIndex: number, takerSpeedBumpOverride: number): Promise<TransactionInstruction>;
updatePerpMarketOracleSlotDelayOverride(perpMarketIndex: number, oracleSlotDelay: number): Promise<TransactionSignature>;
getUpdatePerpMarketOracleSlotDelayOverrideIx(perpMarketIndex: number, oracleSlotDelay: number): Promise<TransactionInstruction>;
updatePerpMarketAmmSpreadAdjustment(perpMarketIndex: number, ammSpreadAdjustment: number, ammInventorySpreadAdjustment: number, referencePriceOffset: number): Promise<TransactionSignature>;
getUpdatePerpMarketAmmSpreadAdjustmentIx(perpMarketIndex: number, ammSpreadAdjustment: number, ammInventorySpreadAdjustment: number, referencePriceOffset: number): Promise<TransactionInstruction>;
updatePerpMarketProtectedMakerParams(perpMarketIndex: number, protectedMakerLimitPriceDivisor?: number, protectedMakerDynamicDivisor?: number): Promise<TransactionSignature>;
getUpdatePerpMarketProtectedMakerParamsIx(perpMarketIndex: number, protectedMakerLimitPriceDivisor?: number, protectedMakerDynamicDivisor?: number): Promise<TransactionInstruction>;
initializeIfRebalanceConfig(params: IfRebalanceConfigParams): Promise<TransactionSignature>;
getInitializeIfRebalanceConfigIx(params: IfRebalanceConfigParams): Promise<TransactionInstruction>;
initUserFuel(user: PublicKey, authority: PublicKey, fuelBonusDeposits?: number, fuelBonusBorrows?: number, fuelBonusTaker?: number, fuelBonusMaker?: number, fuelBonusInsurance?: number): Promise<TransactionSignature>;
getInitUserFuelIx(user: PublicKey, authority: PublicKey, fuelBonusDeposits?: number, fuelBonusBorrows?: number, fuelBonusTaker?: number, fuelBonusMaker?: number, fuelBonusInsurance?: number): Promise<TransactionInstruction>;
/**
* @param fuelSweepExists - whether the fuel sweep account exists, must provide this if the user has a FuelSweep account in order to properly reset the fuel season
* @param authority - the authority to reset fuel for
* @returns the transaction signature
*/
resetFuelSeason(fuelSweepExists: boolean, authority?: PublicKey): Promise<TransactionSignature>;
getResetFuelSeasonIx(fuelSweepExists: boolean, authority?: PublicKey): Promise<TransactionInstruction>;
initializePythPullOracle(feedId: string): Promise<TransactionSignature>;
getInitializePythPullOracleIx(feedId: string): Promise<TransactionInstruction>;
initializePythLazerOracle(feedId: number): Promise<TransactionSignature>;
getInitializePythLazerOracleIx(feedId: number): Promise<TransactionInstruction>;
initializeHighLeverageModeConfig(maxUsers: number): Promise<TransactionSignature>;
getInitializeHighLeverageModeConfigIx(maxUsers: number): Promise<TransactionInstruction>;
updateUpdateHighLeverageModeConfig(maxUsers: number, reduceOnly: boolean, currentUsers?: number): Promise<TransactionSignature>;
getUpdateHighLeverageModeConfigIx(maxUsers: number, reduceOnly: boolean, currentUsers?: number): Promise<TransactionInstruction>;
initializeProtectedMakerModeConfig(maxUsers: number, stateAdmin?: boolean): Promise<TransactionSignature>;
getInitializeProtectedMakerModeConfigIx(maxUsers: number, stateAdmin?: boolean): Promise<TransactionInstruction>;
updateProtectedMakerModeConfig(maxUsers: number, reduceOnly: boolean, currentUsers: undefined): Promise<TransactionSignature>;
getUpdateProtectedMakerModeConfigIx(maxUsers: number, reduceOnly: boolean, currentUsers: undefined): Promise<TransactionInstruction>;
adminDeposit(marketIndex: number, amount: BN, depositUserAccount: PublicKey, adminTokenAccount?: PublicKey): Promise<TransactionSignature>;
getAdminDepositIx(marketIndex: number, amount: BN, depositUserAccount: PublicKey, adminTokenAccount?: PublicKey): Promise<TransactionInstruction>;
zeroMMOracleFields(marketIndex: number): Promise<TransactionSignature>;
getZeroMMOracleFieldsIx(marketIndex: number): Promise<TransactionInstruction>;
updateFeatureBitFlagsMMOracle(enable: boolean): Promise<TransactionSignature>;
getUpdateFeatureBitFlagsMMOracleIx(enable: boolean): Promise<TransactionInstruction>;
updateFeatureBitFlagsMedianTriggerPrice(enable: boolean): Promise<TransactionSignature>;
getUpdateFeatureBitFlagsMedianTriggerPriceIx(enable: boolean): Promise<TransactionInstruction>;
updateDelegateUserGovTokenInsuranceStake(authority: PublicKey, delegate: PublicKey): Promise<TransactionSignature>;
getUpdateDelegateUserGovTokenInsuranceStakeIx(authority: PublicKey, delegate: PublicKey): Promise<TransactionInstruction>;
depositIntoInsuranceFundStake(marketIndex: number, amount: BN, userStatsPublicKey: PublicKey, insuranceFundStakePublicKey: PublicKey, userTokenAccountPublicKey: PublicKey, txParams?: TxParams): Promise<TransactionSignature>;
getDepositIntoInsuranceFundStakeIx(marketIndex: number, amount: BN, userStatsPublicKey: PublicKey, insuranceFundStakePublicKey: PublicKey, userTokenAccountPublicKey: PublicKey): Promise<TransactionInstruction>;
}