@drift-labs/sdk 2.145.0-beta.2 → 2.145.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/VERSION +1 -1
  2. package/lib/browser/accounts/types.d.ts +13 -1
  3. package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.d.ts +53 -0
  4. package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.js +453 -0
  5. package/lib/browser/addresses/pda.d.ts +9 -0
  6. package/lib/browser/addresses/pda.js +60 -1
  7. package/lib/browser/adminClient.d.ts +160 -8
  8. package/lib/browser/adminClient.js +754 -18
  9. package/lib/browser/constituentMap/constituentMap.d.ts +64 -0
  10. package/lib/browser/constituentMap/constituentMap.js +170 -0
  11. package/lib/browser/constituentMap/pollingConstituentAccountSubscriber.d.ts +24 -0
  12. package/lib/browser/constituentMap/pollingConstituentAccountSubscriber.js +60 -0
  13. package/lib/browser/constituentMap/webSocketConstituentAccountSubscriber.d.ts +24 -0
  14. package/lib/browser/constituentMap/webSocketConstituentAccountSubscriber.js +58 -0
  15. package/lib/browser/driftClient.d.ts +89 -2
  16. package/lib/browser/driftClient.js +486 -27
  17. package/lib/browser/driftClientConfig.d.ts +2 -7
  18. package/lib/browser/idl/drift.json +4303 -1379
  19. package/lib/browser/index.d.ts +1 -4
  20. package/lib/browser/index.js +2 -9
  21. package/lib/browser/memcmp.d.ts +3 -1
  22. package/lib/browser/memcmp.js +19 -1
  23. package/lib/browser/types.d.ts +147 -0
  24. package/lib/browser/types.js +13 -1
  25. package/lib/node/accounts/types.d.ts +13 -1
  26. package/lib/node/accounts/types.d.ts.map +1 -1
  27. package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts +54 -0
  28. package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts.map +1 -0
  29. package/lib/node/accounts/webSocketProgramAccountSubscriberV2.js +453 -0
  30. package/lib/node/addresses/pda.d.ts +9 -0
  31. package/lib/node/addresses/pda.d.ts.map +1 -1
  32. package/lib/node/addresses/pda.js +60 -1
  33. package/lib/node/adminClient.d.ts +160 -8
  34. package/lib/node/adminClient.d.ts.map +1 -1
  35. package/lib/node/adminClient.js +754 -18
  36. package/lib/node/constituentMap/constituentMap.d.ts +65 -0
  37. package/lib/node/constituentMap/constituentMap.d.ts.map +1 -0
  38. package/lib/node/constituentMap/constituentMap.js +170 -0
  39. package/lib/node/constituentMap/pollingConstituentAccountSubscriber.d.ts +25 -0
  40. package/lib/node/constituentMap/pollingConstituentAccountSubscriber.d.ts.map +1 -0
  41. package/lib/node/constituentMap/pollingConstituentAccountSubscriber.js +60 -0
  42. package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.d.ts +25 -0
  43. package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.d.ts.map +1 -0
  44. package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.js +58 -0
  45. package/lib/node/driftClient.d.ts +89 -2
  46. package/lib/node/driftClient.d.ts.map +1 -1
  47. package/lib/node/driftClient.js +486 -27
  48. package/lib/node/driftClientConfig.d.ts +2 -7
  49. package/lib/node/driftClientConfig.d.ts.map +1 -1
  50. package/lib/node/idl/drift.json +4303 -1379
  51. package/lib/node/index.d.ts +1 -4
  52. package/lib/node/index.d.ts.map +1 -1
  53. package/lib/node/index.js +2 -9
  54. package/lib/node/memcmp.d.ts +3 -1
  55. package/lib/node/memcmp.d.ts.map +1 -1
  56. package/lib/node/memcmp.js +19 -1
  57. package/lib/node/types.d.ts +147 -0
  58. package/lib/node/types.d.ts.map +1 -1
  59. package/lib/node/types.js +13 -1
  60. package/package.json +1 -1
  61. package/src/accounts/types.ts +20 -0
  62. package/src/accounts/webSocketProgramAccountSubscriberV2.ts +596 -0
  63. package/src/addresses/pda.ts +115 -1
  64. package/src/adminClient.ts +1612 -41
  65. package/src/constituentMap/constituentMap.ts +285 -0
  66. package/src/constituentMap/pollingConstituentAccountSubscriber.ts +97 -0
  67. package/src/constituentMap/webSocketConstituentAccountSubscriber.ts +112 -0
  68. package/src/driftClient.ts +1097 -17
  69. package/src/driftClientConfig.ts +8 -15
  70. package/src/idl/drift.json +4303 -1379
  71. package/src/index.ts +1 -4
  72. package/src/memcmp.ts +23 -1
  73. package/src/types.ts +160 -0
@@ -1,8 +1,10 @@
1
1
  /// <reference types="bn.js" />
2
- import { PublicKey, TransactionInstruction, TransactionSignature } from '@solana/web3.js';
3
- import { FeeStructure, OracleGuardRails, OracleSource, ExchangeStatus, MarketStatus, ContractTier, AssetTier, SpotFulfillmentConfigStatus, IfRebalanceConfigParams, TxParams } from './types';
2
+ import { AddressLookupTableAccount, Keypair, PublicKey, TransactionInstruction, TransactionSignature } from '@solana/web3.js';
3
+ import { FeeStructure, OracleGuardRails, OracleSource, ExchangeStatus, MarketStatus, ContractTier, AssetTier, SpotFulfillmentConfigStatus, IfRebalanceConfigParams, TxParams, AddAmmConstituentMappingDatum, SwapReduceOnly, InitializeConstituentParams, ConstituentStatus, LPPoolAccount } from './types';
4
4
  import { BN } from '@coral-xyz/anchor';
5
5
  import { DriftClient } from './driftClient';
6
+ import { JupiterClient, QuoteResponse } from './jupiter/jupiterClient';
7
+ import { SwapMode } from './swap/UnifiedSwapClient';
6
8
  export declare class AdminClient extends DriftClient {
7
9
  initialize(usdcMint: PublicKey, _adminControlsPrices: boolean): Promise<[TransactionSignature]>;
8
10
  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?: {
@@ -19,8 +21,30 @@ export declare class AdminClient extends DriftClient {
19
21
  getInitializePhoenixFulfillmentConfigIx(marketIndex: number, phoenixMarket: PublicKey): Promise<TransactionInstruction>;
20
22
  initializeOpenbookV2FulfillmentConfig(marketIndex: number, openbookMarket: PublicKey): Promise<TransactionSignature>;
21
23
  getInitializeOpenbookV2FulfillmentConfigIx(marketIndex: number, openbookMarket: PublicKey): Promise<TransactionInstruction>;
22
- 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>;
23
- 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>;
24
+ 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, lpPoolId?: number): Promise<TransactionSignature>;
25
+ 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, includeInitAmmCacheIx?: boolean, lpPoolId?: number): Promise<TransactionInstruction[]>;
26
+ initializeAmmCache(txParams?: TxParams): Promise<TransactionSignature>;
27
+ getInitializeAmmCacheIx(): Promise<TransactionInstruction>;
28
+ updateInitialAmmCacheInfo(perpMarketIndexes: number[], txParams?: TxParams): Promise<TransactionSignature>;
29
+ getUpdateInitialAmmCacheInfoIx(perpMarketIndexes: number[]): Promise<TransactionInstruction>;
30
+ overrideAmmCacheInfo(perpMarketIndex: number, params: {
31
+ quoteOwedFromLpPool?: BN;
32
+ lastSettleTs?: BN;
33
+ lastFeePoolTokenAmount?: BN;
34
+ lastNetPnlPoolTokenAmount?: BN;
35
+ ammPositionScalar?: number;
36
+ ammInventoryLimit?: BN;
37
+ }, txParams?: TxParams): Promise<TransactionSignature>;
38
+ getOverrideAmmCacheInfoIx(perpMarketIndex: number, params: {
39
+ quoteOwedFromLpPool?: BN;
40
+ lastSettleSlot?: BN;
41
+ lastFeePoolTokenAmount?: BN;
42
+ lastNetPnlPoolTokenAmount?: BN;
43
+ ammPositionScalar?: number;
44
+ ammInventoryLimit?: BN;
45
+ }): Promise<TransactionInstruction>;
46
+ resetAmmCache(txParams?: TxParams): Promise<TransactionSignature>;
47
+ getResetAmmCacheIx(): Promise<TransactionInstruction>;
24
48
  initializePredictionMarket(perpMarketIndex: number): Promise<TransactionSignature>;
25
49
  getInitializePredictionMarketIx(perpMarketIndex: number): Promise<TransactionInstruction>;
26
50
  deleteInitializedPerpMarket(marketIndex: number): Promise<TransactionSignature>;
@@ -35,6 +59,10 @@ export declare class AdminClient extends DriftClient {
35
59
  getRecenterPerpMarketAmmCrankIx(perpMarketIndex: number, depth: BN): Promise<TransactionInstruction>;
36
60
  updatePerpMarketConcentrationScale(perpMarketIndex: number, concentrationScale: BN): Promise<TransactionSignature>;
37
61
  getUpdatePerpMarketConcentrationScaleIx(perpMarketIndex: number, concentrationScale: BN): Promise<TransactionInstruction>;
62
+ updatePerpMarketLpPoolId(perpMarketIndex: number, lpPoolId: number): Promise<string>;
63
+ getUpdatePerpMarketLpPoolIdIx(perpMarketIndex: number, lpPoolId: number): Promise<TransactionInstruction>;
64
+ updatePerpMarketLpPoolStatus(perpMarketIndex: number, lpStatus: number): Promise<string>;
65
+ getUpdatePerpMarketLpPoolStatusIx(perpMarketIndex: number, lpStatus: number): Promise<TransactionInstruction>;
38
66
  moveAmmToPrice(perpMarketIndex: number, targetPrice: BN): Promise<TransactionSignature>;
39
67
  getMoveAmmToPriceIx(perpMarketIndex: number, targetPrice: BN): Promise<TransactionInstruction>;
40
68
  repegAmmCurve(newPeg: BN, perpMarketIndex: number): Promise<TransactionSignature>;
@@ -238,16 +266,140 @@ export declare class AdminClient extends DriftClient {
238
266
  getZeroMMOracleFieldsIx(marketIndex: number): Promise<TransactionInstruction>;
239
267
  updateFeatureBitFlagsMMOracle(enable: boolean): Promise<TransactionSignature>;
240
268
  getUpdateFeatureBitFlagsMMOracleIx(enable: boolean): Promise<TransactionInstruction>;
269
+ updateFeatureBitFlagsBuilderCodes(enable: boolean): Promise<TransactionSignature>;
270
+ getUpdateFeatureBitFlagsBuilderCodesIx(enable: boolean): Promise<TransactionInstruction>;
271
+ updateFeatureBitFlagsBuilderReferral(enable: boolean): Promise<TransactionSignature>;
272
+ getUpdateFeatureBitFlagsBuilderReferralIx(enable: boolean): Promise<TransactionInstruction>;
241
273
  updateFeatureBitFlagsMedianTriggerPrice(enable: boolean): Promise<TransactionSignature>;
242
274
  getUpdateFeatureBitFlagsMedianTriggerPriceIx(enable: boolean): Promise<TransactionInstruction>;
243
275
  updateDelegateUserGovTokenInsuranceStake(authority: PublicKey, delegate: PublicKey): Promise<TransactionSignature>;
244
276
  getUpdateDelegateUserGovTokenInsuranceStakeIx(authority: PublicKey, delegate: PublicKey): Promise<TransactionInstruction>;
245
277
  depositIntoInsuranceFundStake(marketIndex: number, amount: BN, userStatsPublicKey: PublicKey, insuranceFundStakePublicKey: PublicKey, userTokenAccountPublicKey: PublicKey, txParams?: TxParams): Promise<TransactionSignature>;
246
278
  getDepositIntoInsuranceFundStakeIx(marketIndex: number, amount: BN, userStatsPublicKey: PublicKey, insuranceFundStakePublicKey: PublicKey, userTokenAccountPublicKey: PublicKey): Promise<TransactionInstruction>;
247
- updateFeatureBitFlagsBuilderCodes(enable: boolean): Promise<TransactionSignature>;
248
- getUpdateFeatureBitFlagsBuilderCodesIx(enable: boolean): Promise<TransactionInstruction>;
249
- updateFeatureBitFlagsBuilderReferral(enable: boolean): Promise<TransactionSignature>;
250
- getUpdateFeatureBitFlagsBuilderReferralIx(enable: boolean): Promise<TransactionInstruction>;
279
+ updateFeatureBitFlagsSettleLpPool(enable: boolean): Promise<TransactionSignature>;
280
+ getUpdateFeatureBitFlagsSettleLpPoolIx(enable: boolean): Promise<TransactionInstruction>;
281
+ updateFeatureBitFlagsSwapLpPool(enable: boolean): Promise<TransactionSignature>;
282
+ getUpdateFeatureBitFlagsSwapLpPoolIx(enable: boolean): Promise<TransactionInstruction>;
283
+ updateFeatureBitFlagsMintRedeemLpPool(enable: boolean): Promise<TransactionSignature>;
284
+ getUpdateFeatureBitFlagsMintRedeemLpPoolIx(enable: boolean): Promise<TransactionInstruction>;
251
285
  adminDisableUpdatePerpBidAskTwap(authority: PublicKey, disable: boolean): Promise<TransactionSignature>;
252
286
  getAdminDisableUpdatePerpBidAskTwapIx(authority: PublicKey, disable: boolean): Promise<TransactionInstruction>;
287
+ initializeLpPool(lpPoolId: number, minMintFee: BN, maxAum: BN, maxSettleQuoteAmountPerMarket: BN, mint: Keypair, whitelistMint?: PublicKey): Promise<TransactionSignature>;
288
+ getInitializeLpPoolIx(lpPoolId: number, minMintFee: BN, maxAum: BN, maxSettleQuoteAmountPerMarket: BN, mint: Keypair, whitelistMint?: PublicKey): Promise<TransactionInstruction[]>;
289
+ initializeConstituent(lpPoolId: number, initializeConstituentParams: InitializeConstituentParams): Promise<TransactionSignature>;
290
+ getInitializeConstituentIx(lpPoolId: number, initializeConstituentParams: InitializeConstituentParams): Promise<TransactionInstruction[]>;
291
+ updateConstituentStatus(constituent: PublicKey, constituentStatus: ConstituentStatus): Promise<TransactionSignature>;
292
+ getUpdateConstituentStatusIx(constituent: PublicKey, constituentStatus: ConstituentStatus): Promise<TransactionInstruction>;
293
+ updateConstituentPausedOperations(constituent: PublicKey, pausedOperations: number): Promise<TransactionSignature>;
294
+ getUpdateConstituentPausedOperationsIx(constituent: PublicKey, pausedOperations: number): Promise<TransactionInstruction>;
295
+ updateConstituentParams(lpPoolId: number, constituentPublicKey: PublicKey, updateConstituentParams: {
296
+ maxWeightDeviation?: BN;
297
+ swapFeeMin?: BN;
298
+ swapFeeMax?: BN;
299
+ maxBorrowTokenAmount?: BN;
300
+ oracleStalenessThreshold?: BN;
301
+ costToTradeBps?: number;
302
+ derivativeWeight?: BN;
303
+ constituentDerivativeIndex?: number;
304
+ volatility?: BN;
305
+ gammaExecution?: number;
306
+ gammaInventory?: number;
307
+ xi?: number;
308
+ }): Promise<TransactionSignature>;
309
+ getUpdateConstituentParamsIx(lpPoolId: number, constituentPublicKey: PublicKey, updateConstituentParams: {
310
+ maxWeightDeviation?: BN;
311
+ swapFeeMin?: BN;
312
+ swapFeeMax?: BN;
313
+ maxBorrowTokenAmount?: BN;
314
+ oracleStalenessThreshold?: BN;
315
+ derivativeWeight?: BN;
316
+ constituentDerivativeIndex?: number;
317
+ volatility?: BN;
318
+ gammaExecution?: number;
319
+ gammaInventory?: number;
320
+ xi?: number;
321
+ }): Promise<TransactionInstruction[]>;
322
+ updateLpPoolParams(lpPoolId: number, updateLpPoolParams: {
323
+ maxSettleQuoteAmount?: BN;
324
+ volatility?: BN;
325
+ gammaExecution?: number;
326
+ xi?: number;
327
+ whitelistMint?: PublicKey;
328
+ maxAum?: BN;
329
+ }): Promise<TransactionSignature>;
330
+ getUpdateLpPoolParamsIx(lpPoolId: number, updateLpPoolParams: {
331
+ maxSettleQuoteAmount?: BN;
332
+ volatility?: BN;
333
+ gammaExecution?: number;
334
+ xi?: number;
335
+ whitelistMint?: PublicKey;
336
+ maxAum?: BN;
337
+ }): Promise<TransactionInstruction[]>;
338
+ addAmmConstituentMappingData(lpPoolId: number, addAmmConstituentMappingData: AddAmmConstituentMappingDatum[]): Promise<TransactionSignature>;
339
+ getAddAmmConstituentMappingDataIx(lpPoolId: number, addAmmConstituentMappingData: AddAmmConstituentMappingDatum[]): Promise<TransactionInstruction[]>;
340
+ updateAmmConstituentMappingData(lpPoolId: number, addAmmConstituentMappingData: AddAmmConstituentMappingDatum[]): Promise<TransactionSignature>;
341
+ getUpdateAmmConstituentMappingDataIx(lpPoolId: number, addAmmConstituentMappingData: AddAmmConstituentMappingDatum[]): Promise<TransactionInstruction[]>;
342
+ removeAmmConstituentMappingData(lpPoolId: number, perpMarketIndex: number, constituentIndex: number): Promise<TransactionSignature>;
343
+ getRemoveAmmConstituentMappingDataIx(lpPoolId: number, perpMarketIndex: number, constituentIndex: number): Promise<TransactionInstruction[]>;
344
+ updateConstituentCorrelationData(lpPoolId: number, index1: number, index2: number, correlation: BN): Promise<TransactionSignature>;
345
+ getUpdateConstituentCorrelationDataIx(lpPoolId: number, index1: number, index2: number, correlation: BN): Promise<TransactionInstruction[]>;
346
+ /**
347
+ * Get the drift begin_swap and end_swap instructions
348
+ *
349
+ * @param outMarketIndex the market index of the token you're buying
350
+ * @param inMarketIndex the market index of the token you're selling
351
+ * @param amountIn the amount of the token to sell
352
+ * @param inTokenAccount the token account to move the tokens being sold (admin signer ata for lp swap)
353
+ * @param outTokenAccount the token account to receive the tokens being bought (admin signer ata for lp swap)
354
+ * @param limitPrice the limit price of the swap
355
+ * @param reduceOnly
356
+ * @param userAccountPublicKey optional, specify a custom userAccountPublicKey to use instead of getting the current user account; can be helpful if the account is being created within the current tx
357
+ */
358
+ getSwapIx({ lpPoolId, outMarketIndex, inMarketIndex, amountIn, inTokenAccount, outTokenAccount, limitPrice, reduceOnly, userAccountPublicKey, }: {
359
+ lpPoolId: number;
360
+ outMarketIndex: number;
361
+ inMarketIndex: number;
362
+ amountIn: BN;
363
+ inTokenAccount: PublicKey;
364
+ outTokenAccount: PublicKey;
365
+ limitPrice?: BN;
366
+ reduceOnly?: SwapReduceOnly;
367
+ userAccountPublicKey?: PublicKey;
368
+ }, lpSwap?: boolean): Promise<{
369
+ beginSwapIx: TransactionInstruction;
370
+ endSwapIx: TransactionInstruction;
371
+ }>;
372
+ getLpJupiterSwapIxV6({ jupiterClient, outMarketIndex, inMarketIndex, amount, slippageBps, swapMode, onlyDirectRoutes, quote, lpPoolId, }: {
373
+ jupiterClient: JupiterClient;
374
+ outMarketIndex: number;
375
+ inMarketIndex: number;
376
+ outAssociatedTokenAccount?: PublicKey;
377
+ inAssociatedTokenAccount?: PublicKey;
378
+ amount: BN;
379
+ slippageBps?: number;
380
+ swapMode?: SwapMode;
381
+ onlyDirectRoutes?: boolean;
382
+ quote?: QuoteResponse;
383
+ lpPoolId: number;
384
+ }): Promise<{
385
+ ixs: TransactionInstruction[];
386
+ lookupTables: AddressLookupTableAccount[];
387
+ }>;
388
+ getDevnetLpSwapIxs(amountIn: BN, amountOut: BN, externalUserAuthority: PublicKey, externalUserInTokenAccount: PublicKey, externalUserOutTokenAccount: PublicKey, inSpotMarketIndex: number, outSpotMarketIndex: number): Promise<TransactionInstruction[]>;
389
+ getAllDevnetLpSwapIxs(lpPoolId: number, inMarketIndex: number, outMarketIndex: number, inAmount: BN, minOutAmount: BN, externalUserAuthority: PublicKey): Promise<TransactionInstruction[]>;
390
+ depositWithdrawToProgramVault(lpPoolId: number, depositMarketIndex: number, borrowMarketIndex: number, amountToDeposit: BN, amountToBorrow: BN): Promise<TransactionSignature>;
391
+ getDepositWithdrawToProgramVaultIxs(lpPoolId: number, depositMarketIndex: number, borrowMarketIndex: number, amountToDeposit: BN, amountToBorrow: BN): Promise<{
392
+ depositIx: TransactionInstruction;
393
+ withdrawIx: TransactionInstruction;
394
+ }>;
395
+ depositToProgramVault(lpPoolId: number, depositMarketIndex: number, amountToDeposit: BN): Promise<TransactionSignature>;
396
+ withdrawFromProgramVault(lpPoolId: number, borrowMarketIndex: number, amountToWithdraw: BN): Promise<TransactionSignature>;
397
+ getDepositToProgramVaultIx(lpPoolId: number, depositMarketIndex: number, amountToDeposit: BN): Promise<TransactionInstruction>;
398
+ getWithdrawFromProgramVaultIx(lpPoolId: number, borrowMarketIndex: number, amountToWithdraw: BN): Promise<TransactionInstruction>;
399
+ updatePerpMarketLpPoolFeeTransferScalar(marketIndex: number, lpFeeTransferScalar?: number, lpExchangeFeeExcluscionScalar?: number): Promise<string>;
400
+ getUpdatePerpMarketLpPoolFeeTransferScalarIx(marketIndex: number, lpFeeTransferScalar?: number, lpExchangeFeeExcluscionScalar?: number): Promise<TransactionInstruction>;
401
+ updatePerpMarketLpPoolPausedOperations(marketIndex: number, pausedOperations: number): Promise<string>;
402
+ getUpdatePerpMarketLpPoolPausedOperationsIx(marketIndex: number, pausedOperations: number): Promise<TransactionInstruction>;
403
+ mintLpWhitelistToken(lpPool: LPPoolAccount, authority: PublicKey): Promise<TransactionSignature>;
404
+ getMintLpWhitelistTokenIx(lpPool: LPPoolAccount, authority: PublicKey): Promise<TransactionInstruction[]>;
253
405
  }