flash-sdk 11.11.5-alpha.0 → 11.11.6

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.
@@ -1,3 +1,5 @@
1
+ /// <reference types="bn.js" />
2
+ /// <reference types="node" />
1
3
  import { Program, AnchorProvider, BN } from "@coral-xyz/anchor";
2
4
  import { PublicKey, TransactionInstruction, Commitment, Signer, AddressLookupTableAccount, VersionedTransaction } from "@solana/web3.js";
3
5
  import { PoolAccount } from "./PoolAccount";
@@ -5,7 +7,7 @@ import { PositionAccount } from "./PositionAccount";
5
7
  import { AddLiquidityAmountAndFee, InternalPrice, BorrowRateParams, ExitPriceAndFee, Fees, OracleParams, Permissions, PricingParams, RemoveCollateralData, RemoveLiquidityAmountAndFee, Side, TokenRatios, MinAndMaxPrice, FeesAction, ContractOraclePrice, Privilege, PerpetualsAccount, EntryPriceAndFeeV2, TokenPermissions, TokenStake, InternalEmaPrice, Whitelist } from "./types";
6
8
  import { OraclePrice } from "./OraclePrice";
7
9
  import { CustodyAccount } from "./CustodyAccount";
8
- import type { Perpetuals } from './idl/perpetuals';
10
+ import { Perpetuals } from "./idl/perpetuals";
9
11
  import { SendTransactionOpts } from "./utils/rpc";
10
12
  import { MarketConfig, PoolConfig, Token } from "./PoolConfig";
11
13
  import { MarketAccount } from "./MarketAccount";
@@ -76,8 +78,52 @@ export declare class PerpetualsClient {
76
78
  publicKey: PublicKey;
77
79
  bump: number;
78
80
  };
79
- adjustTokenRatios: (ratios: TokenRatios[]) => TokenRatios[];
81
+ adjustTokenRatios: (ratios: TokenRatios[]) => {
82
+ target: BN;
83
+ min: BN;
84
+ max: BN;
85
+ }[];
80
86
  getPerpetuals: () => Promise<{
87
+ pool: PublicKey;
88
+ mint: PublicKey;
89
+ tokenAccount: PublicKey;
90
+ decimals: number;
91
+ isStable: boolean;
92
+ depegAdjustment: boolean;
93
+ isVirtual: boolean;
94
+ inversePrice: boolean;
95
+ oracle: {
96
+ intOracleAccount: PublicKey;
97
+ extOracleAccount: PublicKey;
98
+ oracleType: {
99
+ none?: Record<string, never>;
100
+ custom?: Record<string, never>;
101
+ pyth?: Record<string, never>;
102
+ };
103
+ maxDivergenceBps: BN;
104
+ maxConfBps: BN;
105
+ maxPriceAgeSec: number;
106
+ maxBackupAgeSec: number;
107
+ };
108
+ pricing: {
109
+ tradeSpreadMin: BN;
110
+ tradeSpreadMax: BN;
111
+ swapSpread: BN;
112
+ minInitLeverage: number;
113
+ minInitDegenLeverage: number;
114
+ maxInitLeverage: number;
115
+ maxInitDegenLeverage: number;
116
+ maxLeverage: number;
117
+ maxDegenLeverage: number;
118
+ minCollateralUsd: number;
119
+ minDegenCollateralUsd: number;
120
+ delaySeconds: BN;
121
+ maxUtilization: number;
122
+ degenPositionFactor: number;
123
+ degenExposureFactor: number;
124
+ maxPositionSizeUsd: BN;
125
+ maxExposureUsd: BN;
126
+ };
81
127
  permissions: {
82
128
  allowSwap: boolean;
83
129
  allowAddLiquidity: boolean;
@@ -92,7 +138,153 @@ export declare class PerpetualsClient {
92
138
  allowUngatedTrading: boolean;
93
139
  allowFeeDiscounts: boolean;
94
140
  allowReferralRebates: boolean;
141
+ } | {
142
+ allowOpenPosition: boolean;
143
+ allowClosePosition: boolean;
144
+ allowCollateralWithdrawal: boolean;
145
+ allowSizeChange: boolean;
146
+ };
147
+ fees: {
148
+ mode: {
149
+ fixed?: Record<string, never>;
150
+ linear?: Record<string, never>;
151
+ };
152
+ swapIn: {
153
+ minFee: BN;
154
+ targetFee: BN;
155
+ maxFee: BN;
156
+ };
157
+ swapOut: {
158
+ minFee: BN;
159
+ targetFee: BN;
160
+ maxFee: BN;
161
+ };
162
+ stableSwapIn: {
163
+ minFee: BN;
164
+ targetFee: BN;
165
+ maxFee: BN;
166
+ };
167
+ stableSwapOut: {
168
+ minFee: BN;
169
+ targetFee: BN;
170
+ maxFee: BN;
171
+ };
172
+ addLiquidity: {
173
+ minFee: BN;
174
+ targetFee: BN;
175
+ maxFee: BN;
176
+ };
177
+ removeLiquidity: {
178
+ minFee: BN;
179
+ targetFee: BN;
180
+ maxFee: BN;
181
+ };
182
+ openPosition: BN;
183
+ closePosition: BN;
184
+ volatility: BN;
185
+ };
186
+ borrowRate: {
187
+ baseRate: BN;
188
+ slope1: BN;
189
+ slope2: BN;
190
+ optimalUtilization: BN;
191
+ };
192
+ rewardThreshold: BN;
193
+ assets: {
194
+ collateral: BN;
195
+ owned: BN;
196
+ locked: BN;
197
+ };
198
+ feesStats: {
199
+ accrued: BN;
200
+ distributed: BN;
201
+ paid: BN;
202
+ rewardPerLpStaked: BN;
203
+ protocolFee: BN;
204
+ };
205
+ borrowRateState: {
206
+ currentRate: BN;
207
+ cumulativeLockFee: BN;
208
+ lastUpdate: BN;
209
+ };
210
+ bump: number;
211
+ tokenAccountBump: number;
212
+ token22: boolean;
213
+ uid: number;
214
+ reservedAmount: BN;
215
+ minReserveUsd: BN;
216
+ limitPriceBufferBps: BN;
217
+ padding: number[] | number[] | number[] | BN[] | number[] | number[] | BN[] | BN[] | BN[] | number[];
218
+ owner: PublicKey;
219
+ stakeStats: {
220
+ pendingActivation: BN;
221
+ activeAmount: BN;
222
+ pendingDeactivation: BN;
223
+ deactivatedAmount: BN;
224
+ };
225
+ rewardSnapshot: BN;
226
+ unclaimedRewards: BN;
227
+ feeShareBps: BN;
228
+ isInitialized: number | boolean;
229
+ targetCustody: PublicKey;
230
+ collateralCustody: PublicKey;
231
+ side: {
232
+ none?: Record<string, never>;
233
+ long?: Record<string, never>;
234
+ short?: Record<string, never>;
235
+ };
236
+ correlation: boolean;
237
+ maxPayoffBps: BN;
238
+ degenExposureUsd: BN;
239
+ collectivePosition: {
240
+ openPositions: BN;
241
+ updateTime: BN;
242
+ averageEntryPrice: {
243
+ price: BN;
244
+ exponent: number;
245
+ };
246
+ sizeAmount: BN;
247
+ sizeUsd: BN;
248
+ lockedAmount: BN;
249
+ lockedUsd: BN;
250
+ collateralAmount: BN;
251
+ collateralLiabilityUsd: BN;
252
+ unsettledFeeUsd: BN;
253
+ cumulativeLockFeeSnapshot: BN;
254
+ sizeDecimals: number;
255
+ lockedDecimals: number;
256
+ collateralDecimals: number;
95
257
  };
258
+ targetCustodyUid: number;
259
+ collateralCustodyUid: number;
260
+ padding2: number[] | BN[];
261
+ numSigners: number;
262
+ numSigned: number;
263
+ minSignatures: number;
264
+ instructionAccountsLen: number;
265
+ instructionDataLen: number;
266
+ instructionHash: BN;
267
+ signers: PublicKey[];
268
+ signed: number[];
269
+ price: BN;
270
+ expo: number;
271
+ conf: BN;
272
+ ema: BN;
273
+ publishTime: BN;
274
+ extOracleAccount: PublicKey;
275
+ market: PublicKey;
276
+ limitOrders: unknown;
277
+ takeProfitOrders: unknown;
278
+ stopLossOrders: unknown;
279
+ isInitialised: boolean;
280
+ openOrders: number;
281
+ openSl: number;
282
+ openTp: number;
283
+ inactiveSl: number;
284
+ inactiveTp: number;
285
+ activeOrders: number;
286
+ referenceTimestamp: BN;
287
+ executionCount: BN;
96
288
  pools: PublicKey[];
97
289
  collections: PublicKey[];
98
290
  voltageMultiplier: {
@@ -109,26 +301,7 @@ export declare class PerpetualsClient {
109
301
  tradeLimit: number;
110
302
  triggerOrderLimit: number;
111
303
  rebateLimitUsd: number;
112
- }>;
113
- getPoolKey: (name: string) => PublicKey;
114
- getPool: (name: string) => Promise<{
115
304
  name: string;
116
- permissions: {
117
- allowSwap: boolean;
118
- allowAddLiquidity: boolean;
119
- allowRemoveLiquidity: boolean;
120
- allowOpenPosition: boolean;
121
- allowClosePosition: boolean;
122
- allowCollateralWithdrawal: boolean;
123
- allowSizeChange: boolean;
124
- allowLiquidation: boolean;
125
- allowLpStaking: boolean;
126
- allowFeeDistribution: boolean;
127
- allowUngatedTrading: boolean;
128
- allowFeeDiscounts: boolean;
129
- allowReferralRebates: boolean;
130
- };
131
- inceptionTime: BN;
132
305
  lpMint: PublicKey;
133
306
  oracleAuthority: PublicKey;
134
307
  stakedLpVault: PublicKey;
@@ -141,7 +314,7 @@ export declare class PerpetualsClient {
141
314
  }[];
142
315
  markets: PublicKey[];
143
316
  maxAumUsd: BN;
144
- buffer: BN;
317
+ buffer: BN | number[] | number[];
145
318
  rawAumUsd: BN;
146
319
  equityUsd: BN;
147
320
  totalStaked: {
@@ -151,12 +324,10 @@ export declare class PerpetualsClient {
151
324
  deactivatedAmount: BN;
152
325
  };
153
326
  stakingFeeShareBps: BN;
154
- bump: number;
155
327
  lpMintBump: number;
156
328
  stakedLpVaultBump: number;
157
329
  vpVolumeFactor: number;
158
330
  uniqueCustodyCount: number;
159
- padding: number[];
160
331
  stakingFeeBoostBps: BN[];
161
332
  compoundingMint: PublicKey;
162
333
  compoundingLpVault: PublicKey;
@@ -177,9 +348,139 @@ export declare class PerpetualsClient {
177
348
  feesObligationUsd: BN;
178
349
  rebateObligationUsd: BN;
179
350
  thresholdUsd: BN;
351
+ delegate: PublicKey;
352
+ openTime: BN;
353
+ updateTime: BN;
354
+ entryPrice: {
355
+ price: BN;
356
+ exponent: number;
357
+ };
358
+ sizeAmount: BN;
359
+ sizeUsd: BN;
360
+ lockedAmount: BN;
361
+ lockedUsd: BN;
362
+ priceImpactUsd: BN;
363
+ collateralUsd: BN;
364
+ unsettledValueUsd: BN;
365
+ unsettledFeesUsd: BN;
366
+ cumulativeLockFeeSnapshot: BN;
367
+ degenSizeUsd: BN;
368
+ referencePrice: {
369
+ price: BN;
370
+ exponent: number;
371
+ };
372
+ priceImpactSet: number;
373
+ sizeDecimals: number;
374
+ lockedDecimals: number;
375
+ collateralDecimals: number;
376
+ key: PublicKey;
377
+ feeAmount: BN;
378
+ allowPayout: boolean;
379
+ availableUsd: BN;
380
+ availableAmount: BN;
381
+ refererTokenStakeAccount: PublicKey;
382
+ refererBoosterAccount: PublicKey;
383
+ level: number;
384
+ withdrawRequestCount: number;
385
+ withdrawRequest: unknown;
386
+ activeStakeAmount: BN;
387
+ updateTimestamp: BN;
388
+ tradeTimestamp: BN;
389
+ tradeCounter: number;
390
+ lastRewardEpochCount: number;
391
+ rewardTokens: BN;
392
+ unclaimedRevenueAmount: BN;
393
+ revenueSnapshot: BN;
394
+ claimableRebateUsd: BN;
395
+ tokenMint: PublicKey;
396
+ tokenVaultTokenAccount: PublicKey;
397
+ tokenPermissions: {
398
+ allowDeposits: boolean;
399
+ allowWithdrawal: boolean;
400
+ allowRewardWithdrawal: boolean;
401
+ };
402
+ withdrawTimeLimit: BN;
403
+ withdrawInstantFee: BN;
404
+ withdrawInstantFeeEarned: BN;
405
+ stakeLevel: BN[];
406
+ tokensStaked: {
407
+ pendingActivation: BN;
408
+ activeAmount: BN;
409
+ pendingDeactivation: BN;
410
+ deactivatedAmount: BN;
411
+ };
412
+ rewardTokensToDistribute: BN;
413
+ rewardTokensPaid: BN;
414
+ tokensToDistribute: BN;
415
+ tokensDistributed: BN;
416
+ rewardTokensDistributed: BN;
417
+ revenueTokenAccountBump: number;
418
+ revenuePerFafStaked: BN;
419
+ revenueAccrued: BN;
420
+ revenueDistributed: BN;
421
+ revenuePaid: BN;
422
+ nftMint: PublicKey;
423
+ voltagePoints: BN;
424
+ stats: {
425
+ volumeUsd: BN;
426
+ lpRewardsUsd: BN;
427
+ referralRebateUsd: BN;
428
+ };
429
+ snapshot: {
430
+ volumeUsd: BN;
431
+ lpRewardsUsd: BN;
432
+ referralRebateUsd: BN;
433
+ };
434
+ timestamp: BN;
435
+ counter: BN;
436
+ tokenStakeAccount: PublicKey;
437
+ burnt: boolean;
438
+ isSwapFeeExempt: boolean;
439
+ isDepositFeeExempt: boolean;
440
+ isWithdrawalFeeExempt: boolean;
180
441
  }>;
181
- getPools: () => Promise<{
182
- name: string;
442
+ getPoolKey: (name: string) => PublicKey;
443
+ getPool: (name: string) => Promise<{
444
+ pool: PublicKey;
445
+ mint: PublicKey;
446
+ tokenAccount: PublicKey;
447
+ decimals: number;
448
+ isStable: boolean;
449
+ depegAdjustment: boolean;
450
+ isVirtual: boolean;
451
+ inversePrice: boolean;
452
+ oracle: {
453
+ intOracleAccount: PublicKey;
454
+ extOracleAccount: PublicKey;
455
+ oracleType: {
456
+ none?: Record<string, never>;
457
+ custom?: Record<string, never>;
458
+ pyth?: Record<string, never>;
459
+ };
460
+ maxDivergenceBps: BN;
461
+ maxConfBps: BN;
462
+ maxPriceAgeSec: number;
463
+ maxBackupAgeSec: number;
464
+ };
465
+ pricing: {
466
+ tradeSpreadMin: BN;
467
+ tradeSpreadMax: BN;
468
+ swapSpread: BN;
469
+ minInitLeverage: number;
470
+ minInitDegenLeverage: number;
471
+ maxInitLeverage: number;
472
+ maxInitDegenLeverage: number;
473
+ maxLeverage: number;
474
+ maxDegenLeverage: number;
475
+ minCollateralUsd: number;
476
+ minDegenCollateralUsd: number;
477
+ delaySeconds: BN;
478
+ maxUtilization: number;
479
+ degenPositionFactor: number;
480
+ degenExposureFactor: number;
481
+ maxPositionSizeUsd: BN;
482
+ maxExposureUsd: BN;
483
+ };
183
484
  permissions: {
184
485
  allowSwap: boolean;
185
486
  allowAddLiquidity: boolean;
@@ -194,8 +495,170 @@ export declare class PerpetualsClient {
194
495
  allowUngatedTrading: boolean;
195
496
  allowFeeDiscounts: boolean;
196
497
  allowReferralRebates: boolean;
498
+ } | {
499
+ allowOpenPosition: boolean;
500
+ allowClosePosition: boolean;
501
+ allowCollateralWithdrawal: boolean;
502
+ allowSizeChange: boolean;
503
+ };
504
+ fees: {
505
+ mode: {
506
+ fixed?: Record<string, never>;
507
+ linear?: Record<string, never>;
508
+ };
509
+ swapIn: {
510
+ minFee: BN;
511
+ targetFee: BN;
512
+ maxFee: BN;
513
+ };
514
+ swapOut: {
515
+ minFee: BN;
516
+ targetFee: BN;
517
+ maxFee: BN;
518
+ };
519
+ stableSwapIn: {
520
+ minFee: BN;
521
+ targetFee: BN;
522
+ maxFee: BN;
523
+ };
524
+ stableSwapOut: {
525
+ minFee: BN;
526
+ targetFee: BN;
527
+ maxFee: BN;
528
+ };
529
+ addLiquidity: {
530
+ minFee: BN;
531
+ targetFee: BN;
532
+ maxFee: BN;
533
+ };
534
+ removeLiquidity: {
535
+ minFee: BN;
536
+ targetFee: BN;
537
+ maxFee: BN;
538
+ };
539
+ openPosition: BN;
540
+ closePosition: BN;
541
+ volatility: BN;
542
+ };
543
+ borrowRate: {
544
+ baseRate: BN;
545
+ slope1: BN;
546
+ slope2: BN;
547
+ optimalUtilization: BN;
548
+ };
549
+ rewardThreshold: BN;
550
+ assets: {
551
+ collateral: BN;
552
+ owned: BN;
553
+ locked: BN;
554
+ };
555
+ feesStats: {
556
+ accrued: BN;
557
+ distributed: BN;
558
+ paid: BN;
559
+ rewardPerLpStaked: BN;
560
+ protocolFee: BN;
561
+ };
562
+ borrowRateState: {
563
+ currentRate: BN;
564
+ cumulativeLockFee: BN;
565
+ lastUpdate: BN;
566
+ };
567
+ bump: number;
568
+ tokenAccountBump: number;
569
+ token22: boolean;
570
+ uid: number;
571
+ reservedAmount: BN;
572
+ minReserveUsd: BN;
573
+ limitPriceBufferBps: BN;
574
+ padding: number[] | number[] | number[] | BN[] | number[] | number[] | BN[] | BN[] | BN[] | number[];
575
+ owner: PublicKey;
576
+ stakeStats: {
577
+ pendingActivation: BN;
578
+ activeAmount: BN;
579
+ pendingDeactivation: BN;
580
+ deactivatedAmount: BN;
581
+ };
582
+ rewardSnapshot: BN;
583
+ unclaimedRewards: BN;
584
+ feeShareBps: BN;
585
+ isInitialized: number | boolean;
586
+ targetCustody: PublicKey;
587
+ collateralCustody: PublicKey;
588
+ side: {
589
+ none?: Record<string, never>;
590
+ long?: Record<string, never>;
591
+ short?: Record<string, never>;
197
592
  };
593
+ correlation: boolean;
594
+ maxPayoffBps: BN;
595
+ degenExposureUsd: BN;
596
+ collectivePosition: {
597
+ openPositions: BN;
598
+ updateTime: BN;
599
+ averageEntryPrice: {
600
+ price: BN;
601
+ exponent: number;
602
+ };
603
+ sizeAmount: BN;
604
+ sizeUsd: BN;
605
+ lockedAmount: BN;
606
+ lockedUsd: BN;
607
+ collateralAmount: BN;
608
+ collateralLiabilityUsd: BN;
609
+ unsettledFeeUsd: BN;
610
+ cumulativeLockFeeSnapshot: BN;
611
+ sizeDecimals: number;
612
+ lockedDecimals: number;
613
+ collateralDecimals: number;
614
+ };
615
+ targetCustodyUid: number;
616
+ collateralCustodyUid: number;
617
+ padding2: number[] | BN[];
618
+ numSigners: number;
619
+ numSigned: number;
620
+ minSignatures: number;
621
+ instructionAccountsLen: number;
622
+ instructionDataLen: number;
623
+ instructionHash: BN;
624
+ signers: PublicKey[];
625
+ signed: number[];
626
+ price: BN;
627
+ expo: number;
628
+ conf: BN;
629
+ ema: BN;
630
+ publishTime: BN;
631
+ extOracleAccount: PublicKey;
632
+ market: PublicKey;
633
+ limitOrders: unknown;
634
+ takeProfitOrders: unknown;
635
+ stopLossOrders: unknown;
636
+ isInitialised: boolean;
637
+ openOrders: number;
638
+ openSl: number;
639
+ openTp: number;
640
+ inactiveSl: number;
641
+ inactiveTp: number;
642
+ activeOrders: number;
643
+ referenceTimestamp: BN;
644
+ executionCount: BN;
645
+ pools: PublicKey[];
646
+ collections: PublicKey[];
647
+ voltageMultiplier: {
648
+ volume: BN;
649
+ rewards: BN;
650
+ rebates: BN;
651
+ };
652
+ tradingDiscount: BN[];
653
+ referralRebate: BN[];
654
+ defaultRebate: BN;
198
655
  inceptionTime: BN;
656
+ transferAuthorityBump: number;
657
+ perpetualsBump: number;
658
+ tradeLimit: number;
659
+ triggerOrderLimit: number;
660
+ rebateLimitUsd: number;
661
+ name: string;
199
662
  lpMint: PublicKey;
200
663
  oracleAuthority: PublicKey;
201
664
  stakedLpVault: PublicKey;
@@ -208,7 +671,7 @@ export declare class PerpetualsClient {
208
671
  }[];
209
672
  markets: PublicKey[];
210
673
  maxAumUsd: BN;
211
- buffer: BN;
674
+ buffer: BN | number[] | number[];
212
675
  rawAumUsd: BN;
213
676
  equityUsd: BN;
214
677
  totalStaked: {
@@ -218,12 +681,10 @@ export declare class PerpetualsClient {
218
681
  deactivatedAmount: BN;
219
682
  };
220
683
  stakingFeeShareBps: BN;
221
- bump: number;
222
684
  lpMintBump: number;
223
685
  stakedLpVaultBump: number;
224
686
  vpVolumeFactor: number;
225
687
  uniqueCustodyCount: number;
226
- padding: number[];
227
688
  stakingFeeBoostBps: BN[];
228
689
  compoundingMint: PublicKey;
229
690
  compoundingLpVault: PublicKey;
@@ -244,17 +705,6 @@ export declare class PerpetualsClient {
244
705
  feesObligationUsd: BN;
245
706
  rebateObligationUsd: BN;
246
707
  thresholdUsd: BN;
247
- }[]>;
248
- getPoolLpTokenKey: (name: string) => PublicKey;
249
- getPoolCompoundingTokenKey: (name: string) => PublicKey;
250
- getCustodyKey: (poolName: string, tokenMint: PublicKey) => PublicKey;
251
- getCustodyTokenAccountKey: (poolName: string, tokenMint: PublicKey) => PublicKey;
252
- getMarketPk(targetCustody: PublicKey, collateralCustody: PublicKey, side: Side): PublicKey;
253
- getPositionKey(owner: PublicKey, targetCustody: PublicKey, collateralCustody: PublicKey, side: Side): PublicKey;
254
- getOrderAccountKey(owner: PublicKey, targetCustody: PublicKey, collateralCustody: PublicKey, side: Side): PublicKey;
255
- getPosition: (postionKey: PublicKey) => Promise<{
256
- owner: PublicKey;
257
- market: PublicKey;
258
708
  delegate: PublicKey;
259
709
  openTime: BN;
260
710
  updateTime: BN;
@@ -276,52 +726,269 @@ export declare class PerpetualsClient {
276
726
  price: BN;
277
727
  exponent: number;
278
728
  };
279
- buffer: number[];
280
729
  priceImpactSet: number;
281
730
  sizeDecimals: number;
282
731
  lockedDecimals: number;
283
732
  collateralDecimals: number;
284
- bump: number;
285
- padding: number[];
733
+ key: PublicKey;
734
+ feeAmount: BN;
735
+ allowPayout: boolean;
736
+ availableUsd: BN;
737
+ availableAmount: BN;
738
+ refererTokenStakeAccount: PublicKey;
739
+ refererBoosterAccount: PublicKey;
740
+ level: number;
741
+ withdrawRequestCount: number;
742
+ withdrawRequest: unknown;
743
+ activeStakeAmount: BN;
744
+ updateTimestamp: BN;
745
+ tradeTimestamp: BN;
746
+ tradeCounter: number;
747
+ lastRewardEpochCount: number;
748
+ rewardTokens: BN;
749
+ unclaimedRevenueAmount: BN;
750
+ revenueSnapshot: BN;
751
+ claimableRebateUsd: BN;
752
+ tokenMint: PublicKey;
753
+ tokenVaultTokenAccount: PublicKey;
754
+ tokenPermissions: {
755
+ allowDeposits: boolean;
756
+ allowWithdrawal: boolean;
757
+ allowRewardWithdrawal: boolean;
758
+ };
759
+ withdrawTimeLimit: BN;
760
+ withdrawInstantFee: BN;
761
+ withdrawInstantFeeEarned: BN;
762
+ stakeLevel: BN[];
763
+ tokensStaked: {
764
+ pendingActivation: BN;
765
+ activeAmount: BN;
766
+ pendingDeactivation: BN;
767
+ deactivatedAmount: BN;
768
+ };
769
+ rewardTokensToDistribute: BN;
770
+ rewardTokensPaid: BN;
771
+ tokensToDistribute: BN;
772
+ tokensDistributed: BN;
773
+ rewardTokensDistributed: BN;
774
+ revenueTokenAccountBump: number;
775
+ revenuePerFafStaked: BN;
776
+ revenueAccrued: BN;
777
+ revenueDistributed: BN;
778
+ revenuePaid: BN;
779
+ nftMint: PublicKey;
780
+ voltagePoints: BN;
781
+ stats: {
782
+ volumeUsd: BN;
783
+ lpRewardsUsd: BN;
784
+ referralRebateUsd: BN;
785
+ };
786
+ snapshot: {
787
+ volumeUsd: BN;
788
+ lpRewardsUsd: BN;
789
+ referralRebateUsd: BN;
790
+ };
791
+ timestamp: BN;
792
+ counter: BN;
793
+ tokenStakeAccount: PublicKey;
794
+ burnt: boolean;
795
+ isSwapFeeExempt: boolean;
796
+ isDepositFeeExempt: boolean;
797
+ isWithdrawalFeeExempt: boolean;
286
798
  }>;
287
- getPositionData: (position: PositionAccount, poolConfig: PoolConfig) => Promise<any>;
288
- getOrderAccount: (orderAccountKey: PublicKey) => Promise<{
289
- owner: PublicKey;
290
- market: PublicKey;
291
- limitOrders: {
292
- limitPrice: {
293
- price: BN;
294
- exponent: number;
799
+ getPools: () => Promise<{
800
+ pool: PublicKey;
801
+ mint: PublicKey;
802
+ tokenAccount: PublicKey;
803
+ decimals: number;
804
+ isStable: boolean;
805
+ depegAdjustment: boolean;
806
+ isVirtual: boolean;
807
+ inversePrice: boolean;
808
+ oracle: {
809
+ intOracleAccount: PublicKey;
810
+ extOracleAccount: PublicKey;
811
+ oracleType: {
812
+ none?: Record<string, never>;
813
+ custom?: Record<string, never>;
814
+ pyth?: Record<string, never>;
295
815
  };
296
- reserveAmount: BN;
297
- reserveCustodyUid: number;
298
- receiveCustodyUid: number;
299
- sizeAmount: BN;
300
- stopLossPrice: {
301
- price: BN;
302
- exponent: number;
816
+ maxDivergenceBps: BN;
817
+ maxConfBps: BN;
818
+ maxPriceAgeSec: number;
819
+ maxBackupAgeSec: number;
820
+ };
821
+ pricing: {
822
+ tradeSpreadMin: BN;
823
+ tradeSpreadMax: BN;
824
+ swapSpread: BN;
825
+ minInitLeverage: number;
826
+ minInitDegenLeverage: number;
827
+ maxInitLeverage: number;
828
+ maxInitDegenLeverage: number;
829
+ maxLeverage: number;
830
+ maxDegenLeverage: number;
831
+ minCollateralUsd: number;
832
+ minDegenCollateralUsd: number;
833
+ delaySeconds: BN;
834
+ maxUtilization: number;
835
+ degenPositionFactor: number;
836
+ degenExposureFactor: number;
837
+ maxPositionSizeUsd: BN;
838
+ maxExposureUsd: BN;
839
+ };
840
+ permissions: {
841
+ allowSwap: boolean;
842
+ allowAddLiquidity: boolean;
843
+ allowRemoveLiquidity: boolean;
844
+ allowOpenPosition: boolean;
845
+ allowClosePosition: boolean;
846
+ allowCollateralWithdrawal: boolean;
847
+ allowSizeChange: boolean;
848
+ allowLiquidation: boolean;
849
+ allowLpStaking: boolean;
850
+ allowFeeDistribution: boolean;
851
+ allowUngatedTrading: boolean;
852
+ allowFeeDiscounts: boolean;
853
+ allowReferralRebates: boolean;
854
+ } | {
855
+ allowOpenPosition: boolean;
856
+ allowClosePosition: boolean;
857
+ allowCollateralWithdrawal: boolean;
858
+ allowSizeChange: boolean;
859
+ };
860
+ fees: {
861
+ mode: {
862
+ fixed?: Record<string, never>;
863
+ linear?: Record<string, never>;
303
864
  };
304
- takeProfitPrice: {
305
- price: BN;
306
- exponent: number;
865
+ swapIn: {
866
+ minFee: BN;
867
+ targetFee: BN;
868
+ maxFee: BN;
307
869
  };
308
- }[];
309
- takeProfitOrders: {
310
- triggerPrice: {
311
- price: BN;
312
- exponent: number;
870
+ swapOut: {
871
+ minFee: BN;
872
+ targetFee: BN;
873
+ maxFee: BN;
313
874
  };
314
- triggerSize: BN;
315
- receiveCustodyUid: number;
316
- }[];
317
- stopLossOrders: {
318
- triggerPrice: {
875
+ stableSwapIn: {
876
+ minFee: BN;
877
+ targetFee: BN;
878
+ maxFee: BN;
879
+ };
880
+ stableSwapOut: {
881
+ minFee: BN;
882
+ targetFee: BN;
883
+ maxFee: BN;
884
+ };
885
+ addLiquidity: {
886
+ minFee: BN;
887
+ targetFee: BN;
888
+ maxFee: BN;
889
+ };
890
+ removeLiquidity: {
891
+ minFee: BN;
892
+ targetFee: BN;
893
+ maxFee: BN;
894
+ };
895
+ openPosition: BN;
896
+ closePosition: BN;
897
+ volatility: BN;
898
+ };
899
+ borrowRate: {
900
+ baseRate: BN;
901
+ slope1: BN;
902
+ slope2: BN;
903
+ optimalUtilization: BN;
904
+ };
905
+ rewardThreshold: BN;
906
+ assets: {
907
+ collateral: BN;
908
+ owned: BN;
909
+ locked: BN;
910
+ };
911
+ feesStats: {
912
+ accrued: BN;
913
+ distributed: BN;
914
+ paid: BN;
915
+ rewardPerLpStaked: BN;
916
+ protocolFee: BN;
917
+ };
918
+ borrowRateState: {
919
+ currentRate: BN;
920
+ cumulativeLockFee: BN;
921
+ lastUpdate: BN;
922
+ };
923
+ bump: number;
924
+ tokenAccountBump: number;
925
+ token22: boolean;
926
+ uid: number;
927
+ reservedAmount: BN;
928
+ minReserveUsd: BN;
929
+ limitPriceBufferBps: BN;
930
+ padding: number[] | number[] | number[] | BN[] | number[] | number[] | BN[] | BN[] | BN[] | number[];
931
+ owner: PublicKey;
932
+ stakeStats: {
933
+ pendingActivation: BN;
934
+ activeAmount: BN;
935
+ pendingDeactivation: BN;
936
+ deactivatedAmount: BN;
937
+ };
938
+ rewardSnapshot: BN;
939
+ unclaimedRewards: BN;
940
+ feeShareBps: BN;
941
+ isInitialized: number | boolean;
942
+ targetCustody: PublicKey;
943
+ collateralCustody: PublicKey;
944
+ side: {
945
+ none?: Record<string, never>;
946
+ long?: Record<string, never>;
947
+ short?: Record<string, never>;
948
+ };
949
+ correlation: boolean;
950
+ maxPayoffBps: BN;
951
+ degenExposureUsd: BN;
952
+ collectivePosition: {
953
+ openPositions: BN;
954
+ updateTime: BN;
955
+ averageEntryPrice: {
319
956
  price: BN;
320
957
  exponent: number;
321
958
  };
322
- triggerSize: BN;
323
- receiveCustodyUid: number;
324
- }[];
959
+ sizeAmount: BN;
960
+ sizeUsd: BN;
961
+ lockedAmount: BN;
962
+ lockedUsd: BN;
963
+ collateralAmount: BN;
964
+ collateralLiabilityUsd: BN;
965
+ unsettledFeeUsd: BN;
966
+ cumulativeLockFeeSnapshot: BN;
967
+ sizeDecimals: number;
968
+ lockedDecimals: number;
969
+ collateralDecimals: number;
970
+ };
971
+ targetCustodyUid: number;
972
+ collateralCustodyUid: number;
973
+ padding2: number[] | BN[];
974
+ numSigners: number;
975
+ numSigned: number;
976
+ minSignatures: number;
977
+ instructionAccountsLen: number;
978
+ instructionDataLen: number;
979
+ instructionHash: BN;
980
+ signers: PublicKey[];
981
+ signed: number[];
982
+ price: BN;
983
+ expo: number;
984
+ conf: BN;
985
+ ema: BN;
986
+ publishTime: BN;
987
+ extOracleAccount: PublicKey;
988
+ market: PublicKey;
989
+ limitOrders: unknown;
990
+ takeProfitOrders: unknown;
991
+ stopLossOrders: unknown;
325
992
  isInitialised: boolean;
326
993
  openOrders: number;
327
994
  openSl: number;
@@ -329,46 +996,71 @@ export declare class PerpetualsClient {
329
996
  inactiveSl: number;
330
997
  inactiveTp: number;
331
998
  activeOrders: number;
332
- bump: number;
333
999
  referenceTimestamp: BN;
334
1000
  executionCount: BN;
335
- padding: BN[];
336
- }>;
337
- getUserPosition: (owner: PublicKey, targetCustody: PublicKey, collateralCustody: PublicKey, side: Side) => Promise<{
338
- owner: PublicKey;
339
- market: PublicKey;
340
- delegate: PublicKey;
341
- openTime: BN;
342
- updateTime: BN;
343
- entryPrice: {
344
- price: BN;
345
- exponent: number;
346
- };
347
- sizeAmount: BN;
348
- sizeUsd: BN;
349
- lockedAmount: BN;
350
- lockedUsd: BN;
351
- priceImpactUsd: BN;
352
- collateralUsd: BN;
353
- unsettledValueUsd: BN;
354
- unsettledFeesUsd: BN;
355
- cumulativeLockFeeSnapshot: BN;
356
- degenSizeUsd: BN;
357
- referencePrice: {
358
- price: BN;
359
- exponent: number;
1001
+ pools: PublicKey[];
1002
+ collections: PublicKey[];
1003
+ voltageMultiplier: {
1004
+ volume: BN;
1005
+ rewards: BN;
1006
+ rebates: BN;
360
1007
  };
361
- buffer: number[];
362
- priceImpactSet: number;
363
- sizeDecimals: number;
364
- lockedDecimals: number;
365
- collateralDecimals: number;
366
- bump: number;
367
- padding: number[];
368
- }>;
369
- getUserOrderAccount: (owner: PublicKey, targetCustody: PublicKey, collateralCustody: PublicKey, side: Side) => Promise<{
370
- owner: PublicKey;
371
- market: PublicKey;
1008
+ tradingDiscount: BN[];
1009
+ referralRebate: BN[];
1010
+ defaultRebate: BN;
1011
+ inceptionTime: BN;
1012
+ transferAuthorityBump: number;
1013
+ perpetualsBump: number;
1014
+ tradeLimit: number;
1015
+ triggerOrderLimit: number;
1016
+ rebateLimitUsd: number;
1017
+ name: string;
1018
+ lpMint: PublicKey;
1019
+ oracleAuthority: PublicKey;
1020
+ stakedLpVault: PublicKey;
1021
+ rewardCustody: PublicKey;
1022
+ custodies: PublicKey[];
1023
+ ratios: {
1024
+ target: BN;
1025
+ min: BN;
1026
+ max: BN;
1027
+ }[];
1028
+ markets: PublicKey[];
1029
+ maxAumUsd: BN;
1030
+ buffer: BN | number[] | number[];
1031
+ rawAumUsd: BN;
1032
+ equityUsd: BN;
1033
+ totalStaked: {
1034
+ pendingActivation: BN;
1035
+ activeAmount: BN;
1036
+ pendingDeactivation: BN;
1037
+ deactivatedAmount: BN;
1038
+ };
1039
+ stakingFeeShareBps: BN;
1040
+ lpMintBump: number;
1041
+ stakedLpVaultBump: number;
1042
+ vpVolumeFactor: number;
1043
+ uniqueCustodyCount: number;
1044
+ stakingFeeBoostBps: BN[];
1045
+ compoundingMint: PublicKey;
1046
+ compoundingLpVault: PublicKey;
1047
+ compoundingStats: {
1048
+ activeAmount: BN;
1049
+ totalSupply: BN;
1050
+ rewardSnapshot: BN;
1051
+ feeShareBps: BN;
1052
+ lastCompoundTime: BN;
1053
+ };
1054
+ compoundingMintBump: number;
1055
+ compoundingLpVaultBump: number;
1056
+ minLpPriceUsd: BN;
1057
+ maxLpPriceUsd: BN;
1058
+ lpPrice: BN;
1059
+ compoundingLpPrice: BN;
1060
+ lastUpdatedTimestamp: BN;
1061
+ feesObligationUsd: BN;
1062
+ rebateObligationUsd: BN;
1063
+ thresholdUsd: BN;
372
1064
  delegate: PublicKey;
373
1065
  openTime: BN;
374
1066
  updateTime: BN;
@@ -390,47 +1082,273 @@ export declare class PerpetualsClient {
390
1082
  price: BN;
391
1083
  exponent: number;
392
1084
  };
393
- buffer: number[];
394
- priceImpactSet: number;
395
- sizeDecimals: number;
396
- lockedDecimals: number;
397
- collateralDecimals: number;
398
- bump: number;
399
- padding: number[];
400
- }>;
401
- getUserPositions: (wallet: PublicKey, poolConfig: PoolConfig) => Promise<{
402
- owner: PublicKey;
403
- market: PublicKey;
404
- delegate: PublicKey;
405
- openTime: BN;
406
- updateTime: BN;
407
- entryPrice: ContractOraclePrice;
408
- sizeAmount: BN;
409
- sizeUsd: BN;
410
- lockedAmount: BN;
411
- lockedUsd: BN;
412
- priceImpactUsd: BN;
413
- collateralUsd: BN;
414
- unsettledValueUsd: BN;
415
- unsettledFeesUsd: BN;
416
- cumulativeLockFeeSnapshot: BN;
417
- degenSizeUsd: BN;
418
- referencePrice: ContractOraclePrice;
419
- buffer: number[];
420
1085
  priceImpactSet: number;
421
1086
  sizeDecimals: number;
422
1087
  lockedDecimals: number;
423
1088
  collateralDecimals: number;
424
- bump: number;
425
- padding: number[];
426
- pubkey: PublicKey;
1089
+ key: PublicKey;
1090
+ feeAmount: BN;
1091
+ allowPayout: boolean;
1092
+ availableUsd: BN;
1093
+ availableAmount: BN;
1094
+ refererTokenStakeAccount: PublicKey;
1095
+ refererBoosterAccount: PublicKey;
1096
+ level: number;
1097
+ withdrawRequestCount: number;
1098
+ withdrawRequest: unknown;
1099
+ activeStakeAmount: BN;
1100
+ updateTimestamp: BN;
1101
+ tradeTimestamp: BN;
1102
+ tradeCounter: number;
1103
+ lastRewardEpochCount: number;
1104
+ rewardTokens: BN;
1105
+ unclaimedRevenueAmount: BN;
1106
+ revenueSnapshot: BN;
1107
+ claimableRebateUsd: BN;
1108
+ tokenMint: PublicKey;
1109
+ tokenVaultTokenAccount: PublicKey;
1110
+ tokenPermissions: {
1111
+ allowDeposits: boolean;
1112
+ allowWithdrawal: boolean;
1113
+ allowRewardWithdrawal: boolean;
1114
+ };
1115
+ withdrawTimeLimit: BN;
1116
+ withdrawInstantFee: BN;
1117
+ withdrawInstantFeeEarned: BN;
1118
+ stakeLevel: BN[];
1119
+ tokensStaked: {
1120
+ pendingActivation: BN;
1121
+ activeAmount: BN;
1122
+ pendingDeactivation: BN;
1123
+ deactivatedAmount: BN;
1124
+ };
1125
+ rewardTokensToDistribute: BN;
1126
+ rewardTokensPaid: BN;
1127
+ tokensToDistribute: BN;
1128
+ tokensDistributed: BN;
1129
+ rewardTokensDistributed: BN;
1130
+ revenueTokenAccountBump: number;
1131
+ revenuePerFafStaked: BN;
1132
+ revenueAccrued: BN;
1133
+ revenueDistributed: BN;
1134
+ revenuePaid: BN;
1135
+ nftMint: PublicKey;
1136
+ voltagePoints: BN;
1137
+ stats: {
1138
+ volumeUsd: BN;
1139
+ lpRewardsUsd: BN;
1140
+ referralRebateUsd: BN;
1141
+ };
1142
+ snapshot: {
1143
+ volumeUsd: BN;
1144
+ lpRewardsUsd: BN;
1145
+ referralRebateUsd: BN;
1146
+ };
1147
+ timestamp: BN;
1148
+ counter: BN;
1149
+ tokenStakeAccount: PublicKey;
1150
+ burnt: boolean;
1151
+ isSwapFeeExempt: boolean;
1152
+ isDepositFeeExempt: boolean;
1153
+ isWithdrawalFeeExempt: boolean;
427
1154
  }[]>;
428
- getUserOrderAccounts: (wallet: PublicKey, poolConfig: PoolConfig) => Promise<{
1155
+ getPoolLpTokenKey: (name: string) => PublicKey;
1156
+ getPoolCompoundingTokenKey: (name: string) => PublicKey;
1157
+ getCustodyKey: (poolName: string, tokenMint: PublicKey) => PublicKey;
1158
+ getCustodyTokenAccountKey: (poolName: string, tokenMint: PublicKey) => PublicKey;
1159
+ getTradingAccount: (tradingAccount: PublicKey) => Promise<{
1160
+ pool: PublicKey;
1161
+ mint: PublicKey;
1162
+ tokenAccount: PublicKey;
1163
+ decimals: number;
1164
+ isStable: boolean;
1165
+ depegAdjustment: boolean;
1166
+ isVirtual: boolean;
1167
+ inversePrice: boolean;
1168
+ oracle: {
1169
+ intOracleAccount: PublicKey;
1170
+ extOracleAccount: PublicKey;
1171
+ oracleType: {
1172
+ none?: Record<string, never>;
1173
+ custom?: Record<string, never>;
1174
+ pyth?: Record<string, never>;
1175
+ };
1176
+ maxDivergenceBps: BN;
1177
+ maxConfBps: BN;
1178
+ maxPriceAgeSec: number;
1179
+ maxBackupAgeSec: number;
1180
+ };
1181
+ pricing: {
1182
+ tradeSpreadMin: BN;
1183
+ tradeSpreadMax: BN;
1184
+ swapSpread: BN;
1185
+ minInitLeverage: number;
1186
+ minInitDegenLeverage: number;
1187
+ maxInitLeverage: number;
1188
+ maxInitDegenLeverage: number;
1189
+ maxLeverage: number;
1190
+ maxDegenLeverage: number;
1191
+ minCollateralUsd: number;
1192
+ minDegenCollateralUsd: number;
1193
+ delaySeconds: BN;
1194
+ maxUtilization: number;
1195
+ degenPositionFactor: number;
1196
+ degenExposureFactor: number;
1197
+ maxPositionSizeUsd: BN;
1198
+ maxExposureUsd: BN;
1199
+ };
1200
+ permissions: {
1201
+ allowSwap: boolean;
1202
+ allowAddLiquidity: boolean;
1203
+ allowRemoveLiquidity: boolean;
1204
+ allowOpenPosition: boolean;
1205
+ allowClosePosition: boolean;
1206
+ allowCollateralWithdrawal: boolean;
1207
+ allowSizeChange: boolean;
1208
+ allowLiquidation: boolean;
1209
+ allowLpStaking: boolean;
1210
+ allowFeeDistribution: boolean;
1211
+ allowUngatedTrading: boolean;
1212
+ allowFeeDiscounts: boolean;
1213
+ allowReferralRebates: boolean;
1214
+ } | {
1215
+ allowOpenPosition: boolean;
1216
+ allowClosePosition: boolean;
1217
+ allowCollateralWithdrawal: boolean;
1218
+ allowSizeChange: boolean;
1219
+ };
1220
+ fees: {
1221
+ mode: {
1222
+ fixed?: Record<string, never>;
1223
+ linear?: Record<string, never>;
1224
+ };
1225
+ swapIn: {
1226
+ minFee: BN;
1227
+ targetFee: BN;
1228
+ maxFee: BN;
1229
+ };
1230
+ swapOut: {
1231
+ minFee: BN;
1232
+ targetFee: BN;
1233
+ maxFee: BN;
1234
+ };
1235
+ stableSwapIn: {
1236
+ minFee: BN;
1237
+ targetFee: BN;
1238
+ maxFee: BN;
1239
+ };
1240
+ stableSwapOut: {
1241
+ minFee: BN;
1242
+ targetFee: BN;
1243
+ maxFee: BN;
1244
+ };
1245
+ addLiquidity: {
1246
+ minFee: BN;
1247
+ targetFee: BN;
1248
+ maxFee: BN;
1249
+ };
1250
+ removeLiquidity: {
1251
+ minFee: BN;
1252
+ targetFee: BN;
1253
+ maxFee: BN;
1254
+ };
1255
+ openPosition: BN;
1256
+ closePosition: BN;
1257
+ volatility: BN;
1258
+ };
1259
+ borrowRate: {
1260
+ baseRate: BN;
1261
+ slope1: BN;
1262
+ slope2: BN;
1263
+ optimalUtilization: BN;
1264
+ };
1265
+ rewardThreshold: BN;
1266
+ assets: {
1267
+ collateral: BN;
1268
+ owned: BN;
1269
+ locked: BN;
1270
+ };
1271
+ feesStats: {
1272
+ accrued: BN;
1273
+ distributed: BN;
1274
+ paid: BN;
1275
+ rewardPerLpStaked: BN;
1276
+ protocolFee: BN;
1277
+ };
1278
+ borrowRateState: {
1279
+ currentRate: BN;
1280
+ cumulativeLockFee: BN;
1281
+ lastUpdate: BN;
1282
+ };
1283
+ bump: number;
1284
+ tokenAccountBump: number;
1285
+ token22: boolean;
1286
+ uid: number;
1287
+ reservedAmount: BN;
1288
+ minReserveUsd: BN;
1289
+ limitPriceBufferBps: BN;
1290
+ padding: number[] | number[] | number[] | BN[] | number[] | number[] | BN[] | BN[] | BN[] | number[];
429
1291
  owner: PublicKey;
1292
+ stakeStats: {
1293
+ pendingActivation: BN;
1294
+ activeAmount: BN;
1295
+ pendingDeactivation: BN;
1296
+ deactivatedAmount: BN;
1297
+ };
1298
+ rewardSnapshot: BN;
1299
+ unclaimedRewards: BN;
1300
+ feeShareBps: BN;
1301
+ isInitialized: number | boolean;
1302
+ targetCustody: PublicKey;
1303
+ collateralCustody: PublicKey;
1304
+ side: {
1305
+ none?: Record<string, never>;
1306
+ long?: Record<string, never>;
1307
+ short?: Record<string, never>;
1308
+ };
1309
+ correlation: boolean;
1310
+ maxPayoffBps: BN;
1311
+ degenExposureUsd: BN;
1312
+ collectivePosition: {
1313
+ openPositions: BN;
1314
+ updateTime: BN;
1315
+ averageEntryPrice: {
1316
+ price: BN;
1317
+ exponent: number;
1318
+ };
1319
+ sizeAmount: BN;
1320
+ sizeUsd: BN;
1321
+ lockedAmount: BN;
1322
+ lockedUsd: BN;
1323
+ collateralAmount: BN;
1324
+ collateralLiabilityUsd: BN;
1325
+ unsettledFeeUsd: BN;
1326
+ cumulativeLockFeeSnapshot: BN;
1327
+ sizeDecimals: number;
1328
+ lockedDecimals: number;
1329
+ collateralDecimals: number;
1330
+ };
1331
+ targetCustodyUid: number;
1332
+ collateralCustodyUid: number;
1333
+ padding2: number[] | BN[];
1334
+ numSigners: number;
1335
+ numSigned: number;
1336
+ minSignatures: number;
1337
+ instructionAccountsLen: number;
1338
+ instructionDataLen: number;
1339
+ instructionHash: BN;
1340
+ signers: PublicKey[];
1341
+ signed: number[];
1342
+ price: BN;
1343
+ expo: number;
1344
+ conf: BN;
1345
+ ema: BN;
1346
+ publishTime: BN;
1347
+ extOracleAccount: PublicKey;
430
1348
  market: PublicKey;
431
- limitOrders: import("./types").LimitOrder[];
432
- takeProfitOrders: import("./types").TriggerOrder[];
433
- stopLossOrders: import("./types").TriggerOrder[];
1349
+ limitOrders: unknown;
1350
+ takeProfitOrders: unknown;
1351
+ stopLossOrders: unknown;
434
1352
  isInitialised: boolean;
435
1353
  openOrders: number;
436
1354
  openSl: number;
@@ -438,15 +1356,71 @@ export declare class PerpetualsClient {
438
1356
  inactiveSl: number;
439
1357
  inactiveTp: number;
440
1358
  activeOrders: number;
441
- bump: number;
442
1359
  referenceTimestamp: BN;
443
1360
  executionCount: BN;
444
- padding: BN[];
445
- pubkey: PublicKey;
446
- }[]>;
447
- getAllPositions: () => Promise<import("@coral-xyz/anchor").ProgramAccount<{
448
- owner: PublicKey;
449
- market: PublicKey;
1361
+ pools: PublicKey[];
1362
+ collections: PublicKey[];
1363
+ voltageMultiplier: {
1364
+ volume: BN;
1365
+ rewards: BN;
1366
+ rebates: BN;
1367
+ };
1368
+ tradingDiscount: BN[];
1369
+ referralRebate: BN[];
1370
+ defaultRebate: BN;
1371
+ inceptionTime: BN;
1372
+ transferAuthorityBump: number;
1373
+ perpetualsBump: number;
1374
+ tradeLimit: number;
1375
+ triggerOrderLimit: number;
1376
+ rebateLimitUsd: number;
1377
+ name: string;
1378
+ lpMint: PublicKey;
1379
+ oracleAuthority: PublicKey;
1380
+ stakedLpVault: PublicKey;
1381
+ rewardCustody: PublicKey;
1382
+ custodies: PublicKey[];
1383
+ ratios: {
1384
+ target: BN;
1385
+ min: BN;
1386
+ max: BN;
1387
+ }[];
1388
+ markets: PublicKey[];
1389
+ maxAumUsd: BN;
1390
+ buffer: BN | number[] | number[];
1391
+ rawAumUsd: BN;
1392
+ equityUsd: BN;
1393
+ totalStaked: {
1394
+ pendingActivation: BN;
1395
+ activeAmount: BN;
1396
+ pendingDeactivation: BN;
1397
+ deactivatedAmount: BN;
1398
+ };
1399
+ stakingFeeShareBps: BN;
1400
+ lpMintBump: number;
1401
+ stakedLpVaultBump: number;
1402
+ vpVolumeFactor: number;
1403
+ uniqueCustodyCount: number;
1404
+ stakingFeeBoostBps: BN[];
1405
+ compoundingMint: PublicKey;
1406
+ compoundingLpVault: PublicKey;
1407
+ compoundingStats: {
1408
+ activeAmount: BN;
1409
+ totalSupply: BN;
1410
+ rewardSnapshot: BN;
1411
+ feeShareBps: BN;
1412
+ lastCompoundTime: BN;
1413
+ };
1414
+ compoundingMintBump: number;
1415
+ compoundingLpVaultBump: number;
1416
+ minLpPriceUsd: BN;
1417
+ maxLpPriceUsd: BN;
1418
+ lpPrice: BN;
1419
+ compoundingLpPrice: BN;
1420
+ lastUpdatedTimestamp: BN;
1421
+ feesObligationUsd: BN;
1422
+ rebateObligationUsd: BN;
1423
+ thresholdUsd: BN;
450
1424
  delegate: PublicKey;
451
1425
  openTime: BN;
452
1426
  updateTime: BN;
@@ -468,25 +1442,2185 @@ export declare class PerpetualsClient {
468
1442
  price: BN;
469
1443
  exponent: number;
470
1444
  };
471
- buffer: number[];
472
1445
  priceImpactSet: number;
473
1446
  sizeDecimals: number;
474
1447
  lockedDecimals: number;
475
1448
  collateralDecimals: number;
476
- bump: number;
477
- padding: number[];
478
- }>[]>;
479
- getAllActivePositions: () => Promise<import("@coral-xyz/anchor").ProgramAccount<{
480
- owner: PublicKey;
481
- market: PublicKey;
482
- delegate: PublicKey;
483
- openTime: BN;
484
- updateTime: BN;
485
- entryPrice: {
486
- price: BN;
487
- exponent: number;
1449
+ key: PublicKey;
1450
+ feeAmount: BN;
1451
+ allowPayout: boolean;
1452
+ availableUsd: BN;
1453
+ availableAmount: BN;
1454
+ refererTokenStakeAccount: PublicKey;
1455
+ refererBoosterAccount: PublicKey;
1456
+ level: number;
1457
+ withdrawRequestCount: number;
1458
+ withdrawRequest: unknown;
1459
+ activeStakeAmount: BN;
1460
+ updateTimestamp: BN;
1461
+ tradeTimestamp: BN;
1462
+ tradeCounter: number;
1463
+ lastRewardEpochCount: number;
1464
+ rewardTokens: BN;
1465
+ unclaimedRevenueAmount: BN;
1466
+ revenueSnapshot: BN;
1467
+ claimableRebateUsd: BN;
1468
+ tokenMint: PublicKey;
1469
+ tokenVaultTokenAccount: PublicKey;
1470
+ tokenPermissions: {
1471
+ allowDeposits: boolean;
1472
+ allowWithdrawal: boolean;
1473
+ allowRewardWithdrawal: boolean;
488
1474
  };
489
- sizeAmount: BN;
1475
+ withdrawTimeLimit: BN;
1476
+ withdrawInstantFee: BN;
1477
+ withdrawInstantFeeEarned: BN;
1478
+ stakeLevel: BN[];
1479
+ tokensStaked: {
1480
+ pendingActivation: BN;
1481
+ activeAmount: BN;
1482
+ pendingDeactivation: BN;
1483
+ deactivatedAmount: BN;
1484
+ };
1485
+ rewardTokensToDistribute: BN;
1486
+ rewardTokensPaid: BN;
1487
+ tokensToDistribute: BN;
1488
+ tokensDistributed: BN;
1489
+ rewardTokensDistributed: BN;
1490
+ revenueTokenAccountBump: number;
1491
+ revenuePerFafStaked: BN;
1492
+ revenueAccrued: BN;
1493
+ revenueDistributed: BN;
1494
+ revenuePaid: BN;
1495
+ nftMint: PublicKey;
1496
+ voltagePoints: BN;
1497
+ stats: {
1498
+ volumeUsd: BN;
1499
+ lpRewardsUsd: BN;
1500
+ referralRebateUsd: BN;
1501
+ };
1502
+ snapshot: {
1503
+ volumeUsd: BN;
1504
+ lpRewardsUsd: BN;
1505
+ referralRebateUsd: BN;
1506
+ };
1507
+ timestamp: BN;
1508
+ counter: BN;
1509
+ tokenStakeAccount: PublicKey;
1510
+ burnt: boolean;
1511
+ isSwapFeeExempt: boolean;
1512
+ isDepositFeeExempt: boolean;
1513
+ isWithdrawalFeeExempt: boolean;
1514
+ }>;
1515
+ getMarketPk(targetCustody: PublicKey, collateralCustody: PublicKey, side: Side): PublicKey;
1516
+ getPositionKey(owner: PublicKey, targetCustody: PublicKey, collateralCustody: PublicKey, side: Side): PublicKey;
1517
+ getOrderAccountKey(owner: PublicKey, targetCustody: PublicKey, collateralCustody: PublicKey, side: Side): PublicKey;
1518
+ getPosition: (postionKey: PublicKey) => Promise<{
1519
+ pool: PublicKey;
1520
+ mint: PublicKey;
1521
+ tokenAccount: PublicKey;
1522
+ decimals: number;
1523
+ isStable: boolean;
1524
+ depegAdjustment: boolean;
1525
+ isVirtual: boolean;
1526
+ inversePrice: boolean;
1527
+ oracle: {
1528
+ intOracleAccount: PublicKey;
1529
+ extOracleAccount: PublicKey;
1530
+ oracleType: {
1531
+ none?: Record<string, never>;
1532
+ custom?: Record<string, never>;
1533
+ pyth?: Record<string, never>;
1534
+ };
1535
+ maxDivergenceBps: BN;
1536
+ maxConfBps: BN;
1537
+ maxPriceAgeSec: number;
1538
+ maxBackupAgeSec: number;
1539
+ };
1540
+ pricing: {
1541
+ tradeSpreadMin: BN;
1542
+ tradeSpreadMax: BN;
1543
+ swapSpread: BN;
1544
+ minInitLeverage: number;
1545
+ minInitDegenLeverage: number;
1546
+ maxInitLeverage: number;
1547
+ maxInitDegenLeverage: number;
1548
+ maxLeverage: number;
1549
+ maxDegenLeverage: number;
1550
+ minCollateralUsd: number;
1551
+ minDegenCollateralUsd: number;
1552
+ delaySeconds: BN;
1553
+ maxUtilization: number;
1554
+ degenPositionFactor: number;
1555
+ degenExposureFactor: number;
1556
+ maxPositionSizeUsd: BN;
1557
+ maxExposureUsd: BN;
1558
+ };
1559
+ permissions: {
1560
+ allowSwap: boolean;
1561
+ allowAddLiquidity: boolean;
1562
+ allowRemoveLiquidity: boolean;
1563
+ allowOpenPosition: boolean;
1564
+ allowClosePosition: boolean;
1565
+ allowCollateralWithdrawal: boolean;
1566
+ allowSizeChange: boolean;
1567
+ allowLiquidation: boolean;
1568
+ allowLpStaking: boolean;
1569
+ allowFeeDistribution: boolean;
1570
+ allowUngatedTrading: boolean;
1571
+ allowFeeDiscounts: boolean;
1572
+ allowReferralRebates: boolean;
1573
+ } | {
1574
+ allowOpenPosition: boolean;
1575
+ allowClosePosition: boolean;
1576
+ allowCollateralWithdrawal: boolean;
1577
+ allowSizeChange: boolean;
1578
+ };
1579
+ fees: {
1580
+ mode: {
1581
+ fixed?: Record<string, never>;
1582
+ linear?: Record<string, never>;
1583
+ };
1584
+ swapIn: {
1585
+ minFee: BN;
1586
+ targetFee: BN;
1587
+ maxFee: BN;
1588
+ };
1589
+ swapOut: {
1590
+ minFee: BN;
1591
+ targetFee: BN;
1592
+ maxFee: BN;
1593
+ };
1594
+ stableSwapIn: {
1595
+ minFee: BN;
1596
+ targetFee: BN;
1597
+ maxFee: BN;
1598
+ };
1599
+ stableSwapOut: {
1600
+ minFee: BN;
1601
+ targetFee: BN;
1602
+ maxFee: BN;
1603
+ };
1604
+ addLiquidity: {
1605
+ minFee: BN;
1606
+ targetFee: BN;
1607
+ maxFee: BN;
1608
+ };
1609
+ removeLiquidity: {
1610
+ minFee: BN;
1611
+ targetFee: BN;
1612
+ maxFee: BN;
1613
+ };
1614
+ openPosition: BN;
1615
+ closePosition: BN;
1616
+ volatility: BN;
1617
+ };
1618
+ borrowRate: {
1619
+ baseRate: BN;
1620
+ slope1: BN;
1621
+ slope2: BN;
1622
+ optimalUtilization: BN;
1623
+ };
1624
+ rewardThreshold: BN;
1625
+ assets: {
1626
+ collateral: BN;
1627
+ owned: BN;
1628
+ locked: BN;
1629
+ };
1630
+ feesStats: {
1631
+ accrued: BN;
1632
+ distributed: BN;
1633
+ paid: BN;
1634
+ rewardPerLpStaked: BN;
1635
+ protocolFee: BN;
1636
+ };
1637
+ borrowRateState: {
1638
+ currentRate: BN;
1639
+ cumulativeLockFee: BN;
1640
+ lastUpdate: BN;
1641
+ };
1642
+ bump: number;
1643
+ tokenAccountBump: number;
1644
+ token22: boolean;
1645
+ uid: number;
1646
+ reservedAmount: BN;
1647
+ minReserveUsd: BN;
1648
+ limitPriceBufferBps: BN;
1649
+ padding: number[] | number[] | number[] | BN[] | number[] | number[] | BN[] | BN[] | BN[] | number[];
1650
+ owner: PublicKey;
1651
+ stakeStats: {
1652
+ pendingActivation: BN;
1653
+ activeAmount: BN;
1654
+ pendingDeactivation: BN;
1655
+ deactivatedAmount: BN;
1656
+ };
1657
+ rewardSnapshot: BN;
1658
+ unclaimedRewards: BN;
1659
+ feeShareBps: BN;
1660
+ isInitialized: number | boolean;
1661
+ targetCustody: PublicKey;
1662
+ collateralCustody: PublicKey;
1663
+ side: {
1664
+ none?: Record<string, never>;
1665
+ long?: Record<string, never>;
1666
+ short?: Record<string, never>;
1667
+ };
1668
+ correlation: boolean;
1669
+ maxPayoffBps: BN;
1670
+ degenExposureUsd: BN;
1671
+ collectivePosition: {
1672
+ openPositions: BN;
1673
+ updateTime: BN;
1674
+ averageEntryPrice: {
1675
+ price: BN;
1676
+ exponent: number;
1677
+ };
1678
+ sizeAmount: BN;
1679
+ sizeUsd: BN;
1680
+ lockedAmount: BN;
1681
+ lockedUsd: BN;
1682
+ collateralAmount: BN;
1683
+ collateralLiabilityUsd: BN;
1684
+ unsettledFeeUsd: BN;
1685
+ cumulativeLockFeeSnapshot: BN;
1686
+ sizeDecimals: number;
1687
+ lockedDecimals: number;
1688
+ collateralDecimals: number;
1689
+ };
1690
+ targetCustodyUid: number;
1691
+ collateralCustodyUid: number;
1692
+ padding2: number[] | BN[];
1693
+ numSigners: number;
1694
+ numSigned: number;
1695
+ minSignatures: number;
1696
+ instructionAccountsLen: number;
1697
+ instructionDataLen: number;
1698
+ instructionHash: BN;
1699
+ signers: PublicKey[];
1700
+ signed: number[];
1701
+ price: BN;
1702
+ expo: number;
1703
+ conf: BN;
1704
+ ema: BN;
1705
+ publishTime: BN;
1706
+ extOracleAccount: PublicKey;
1707
+ market: PublicKey;
1708
+ limitOrders: unknown;
1709
+ takeProfitOrders: unknown;
1710
+ stopLossOrders: unknown;
1711
+ isInitialised: boolean;
1712
+ openOrders: number;
1713
+ openSl: number;
1714
+ openTp: number;
1715
+ inactiveSl: number;
1716
+ inactiveTp: number;
1717
+ activeOrders: number;
1718
+ referenceTimestamp: BN;
1719
+ executionCount: BN;
1720
+ pools: PublicKey[];
1721
+ collections: PublicKey[];
1722
+ voltageMultiplier: {
1723
+ volume: BN;
1724
+ rewards: BN;
1725
+ rebates: BN;
1726
+ };
1727
+ tradingDiscount: BN[];
1728
+ referralRebate: BN[];
1729
+ defaultRebate: BN;
1730
+ inceptionTime: BN;
1731
+ transferAuthorityBump: number;
1732
+ perpetualsBump: number;
1733
+ tradeLimit: number;
1734
+ triggerOrderLimit: number;
1735
+ rebateLimitUsd: number;
1736
+ name: string;
1737
+ lpMint: PublicKey;
1738
+ oracleAuthority: PublicKey;
1739
+ stakedLpVault: PublicKey;
1740
+ rewardCustody: PublicKey;
1741
+ custodies: PublicKey[];
1742
+ ratios: {
1743
+ target: BN;
1744
+ min: BN;
1745
+ max: BN;
1746
+ }[];
1747
+ markets: PublicKey[];
1748
+ maxAumUsd: BN;
1749
+ buffer: BN | number[] | number[];
1750
+ rawAumUsd: BN;
1751
+ equityUsd: BN;
1752
+ totalStaked: {
1753
+ pendingActivation: BN;
1754
+ activeAmount: BN;
1755
+ pendingDeactivation: BN;
1756
+ deactivatedAmount: BN;
1757
+ };
1758
+ stakingFeeShareBps: BN;
1759
+ lpMintBump: number;
1760
+ stakedLpVaultBump: number;
1761
+ vpVolumeFactor: number;
1762
+ uniqueCustodyCount: number;
1763
+ stakingFeeBoostBps: BN[];
1764
+ compoundingMint: PublicKey;
1765
+ compoundingLpVault: PublicKey;
1766
+ compoundingStats: {
1767
+ activeAmount: BN;
1768
+ totalSupply: BN;
1769
+ rewardSnapshot: BN;
1770
+ feeShareBps: BN;
1771
+ lastCompoundTime: BN;
1772
+ };
1773
+ compoundingMintBump: number;
1774
+ compoundingLpVaultBump: number;
1775
+ minLpPriceUsd: BN;
1776
+ maxLpPriceUsd: BN;
1777
+ lpPrice: BN;
1778
+ compoundingLpPrice: BN;
1779
+ lastUpdatedTimestamp: BN;
1780
+ feesObligationUsd: BN;
1781
+ rebateObligationUsd: BN;
1782
+ thresholdUsd: BN;
1783
+ delegate: PublicKey;
1784
+ openTime: BN;
1785
+ updateTime: BN;
1786
+ entryPrice: {
1787
+ price: BN;
1788
+ exponent: number;
1789
+ };
1790
+ sizeAmount: BN;
1791
+ sizeUsd: BN;
1792
+ lockedAmount: BN;
1793
+ lockedUsd: BN;
1794
+ priceImpactUsd: BN;
1795
+ collateralUsd: BN;
1796
+ unsettledValueUsd: BN;
1797
+ unsettledFeesUsd: BN;
1798
+ cumulativeLockFeeSnapshot: BN;
1799
+ degenSizeUsd: BN;
1800
+ referencePrice: {
1801
+ price: BN;
1802
+ exponent: number;
1803
+ };
1804
+ priceImpactSet: number;
1805
+ sizeDecimals: number;
1806
+ lockedDecimals: number;
1807
+ collateralDecimals: number;
1808
+ key: PublicKey;
1809
+ feeAmount: BN;
1810
+ allowPayout: boolean;
1811
+ availableUsd: BN;
1812
+ availableAmount: BN;
1813
+ refererTokenStakeAccount: PublicKey;
1814
+ refererBoosterAccount: PublicKey;
1815
+ level: number;
1816
+ withdrawRequestCount: number;
1817
+ withdrawRequest: unknown;
1818
+ activeStakeAmount: BN;
1819
+ updateTimestamp: BN;
1820
+ tradeTimestamp: BN;
1821
+ tradeCounter: number;
1822
+ lastRewardEpochCount: number;
1823
+ rewardTokens: BN;
1824
+ unclaimedRevenueAmount: BN;
1825
+ revenueSnapshot: BN;
1826
+ claimableRebateUsd: BN;
1827
+ tokenMint: PublicKey;
1828
+ tokenVaultTokenAccount: PublicKey;
1829
+ tokenPermissions: {
1830
+ allowDeposits: boolean;
1831
+ allowWithdrawal: boolean;
1832
+ allowRewardWithdrawal: boolean;
1833
+ };
1834
+ withdrawTimeLimit: BN;
1835
+ withdrawInstantFee: BN;
1836
+ withdrawInstantFeeEarned: BN;
1837
+ stakeLevel: BN[];
1838
+ tokensStaked: {
1839
+ pendingActivation: BN;
1840
+ activeAmount: BN;
1841
+ pendingDeactivation: BN;
1842
+ deactivatedAmount: BN;
1843
+ };
1844
+ rewardTokensToDistribute: BN;
1845
+ rewardTokensPaid: BN;
1846
+ tokensToDistribute: BN;
1847
+ tokensDistributed: BN;
1848
+ rewardTokensDistributed: BN;
1849
+ revenueTokenAccountBump: number;
1850
+ revenuePerFafStaked: BN;
1851
+ revenueAccrued: BN;
1852
+ revenueDistributed: BN;
1853
+ revenuePaid: BN;
1854
+ nftMint: PublicKey;
1855
+ voltagePoints: BN;
1856
+ stats: {
1857
+ volumeUsd: BN;
1858
+ lpRewardsUsd: BN;
1859
+ referralRebateUsd: BN;
1860
+ };
1861
+ snapshot: {
1862
+ volumeUsd: BN;
1863
+ lpRewardsUsd: BN;
1864
+ referralRebateUsd: BN;
1865
+ };
1866
+ timestamp: BN;
1867
+ counter: BN;
1868
+ tokenStakeAccount: PublicKey;
1869
+ burnt: boolean;
1870
+ isSwapFeeExempt: boolean;
1871
+ isDepositFeeExempt: boolean;
1872
+ isWithdrawalFeeExempt: boolean;
1873
+ }>;
1874
+ getPositionData: (position: PositionAccount, poolConfig: PoolConfig) => Promise<any>;
1875
+ getOrderAccount: (orderAccountKey: PublicKey) => Promise<{
1876
+ pool: PublicKey;
1877
+ mint: PublicKey;
1878
+ tokenAccount: PublicKey;
1879
+ decimals: number;
1880
+ isStable: boolean;
1881
+ depegAdjustment: boolean;
1882
+ isVirtual: boolean;
1883
+ inversePrice: boolean;
1884
+ oracle: {
1885
+ intOracleAccount: PublicKey;
1886
+ extOracleAccount: PublicKey;
1887
+ oracleType: {
1888
+ none?: Record<string, never>;
1889
+ custom?: Record<string, never>;
1890
+ pyth?: Record<string, never>;
1891
+ };
1892
+ maxDivergenceBps: BN;
1893
+ maxConfBps: BN;
1894
+ maxPriceAgeSec: number;
1895
+ maxBackupAgeSec: number;
1896
+ };
1897
+ pricing: {
1898
+ tradeSpreadMin: BN;
1899
+ tradeSpreadMax: BN;
1900
+ swapSpread: BN;
1901
+ minInitLeverage: number;
1902
+ minInitDegenLeverage: number;
1903
+ maxInitLeverage: number;
1904
+ maxInitDegenLeverage: number;
1905
+ maxLeverage: number;
1906
+ maxDegenLeverage: number;
1907
+ minCollateralUsd: number;
1908
+ minDegenCollateralUsd: number;
1909
+ delaySeconds: BN;
1910
+ maxUtilization: number;
1911
+ degenPositionFactor: number;
1912
+ degenExposureFactor: number;
1913
+ maxPositionSizeUsd: BN;
1914
+ maxExposureUsd: BN;
1915
+ };
1916
+ permissions: {
1917
+ allowSwap: boolean;
1918
+ allowAddLiquidity: boolean;
1919
+ allowRemoveLiquidity: boolean;
1920
+ allowOpenPosition: boolean;
1921
+ allowClosePosition: boolean;
1922
+ allowCollateralWithdrawal: boolean;
1923
+ allowSizeChange: boolean;
1924
+ allowLiquidation: boolean;
1925
+ allowLpStaking: boolean;
1926
+ allowFeeDistribution: boolean;
1927
+ allowUngatedTrading: boolean;
1928
+ allowFeeDiscounts: boolean;
1929
+ allowReferralRebates: boolean;
1930
+ } | {
1931
+ allowOpenPosition: boolean;
1932
+ allowClosePosition: boolean;
1933
+ allowCollateralWithdrawal: boolean;
1934
+ allowSizeChange: boolean;
1935
+ };
1936
+ fees: {
1937
+ mode: {
1938
+ fixed?: Record<string, never>;
1939
+ linear?: Record<string, never>;
1940
+ };
1941
+ swapIn: {
1942
+ minFee: BN;
1943
+ targetFee: BN;
1944
+ maxFee: BN;
1945
+ };
1946
+ swapOut: {
1947
+ minFee: BN;
1948
+ targetFee: BN;
1949
+ maxFee: BN;
1950
+ };
1951
+ stableSwapIn: {
1952
+ minFee: BN;
1953
+ targetFee: BN;
1954
+ maxFee: BN;
1955
+ };
1956
+ stableSwapOut: {
1957
+ minFee: BN;
1958
+ targetFee: BN;
1959
+ maxFee: BN;
1960
+ };
1961
+ addLiquidity: {
1962
+ minFee: BN;
1963
+ targetFee: BN;
1964
+ maxFee: BN;
1965
+ };
1966
+ removeLiquidity: {
1967
+ minFee: BN;
1968
+ targetFee: BN;
1969
+ maxFee: BN;
1970
+ };
1971
+ openPosition: BN;
1972
+ closePosition: BN;
1973
+ volatility: BN;
1974
+ };
1975
+ borrowRate: {
1976
+ baseRate: BN;
1977
+ slope1: BN;
1978
+ slope2: BN;
1979
+ optimalUtilization: BN;
1980
+ };
1981
+ rewardThreshold: BN;
1982
+ assets: {
1983
+ collateral: BN;
1984
+ owned: BN;
1985
+ locked: BN;
1986
+ };
1987
+ feesStats: {
1988
+ accrued: BN;
1989
+ distributed: BN;
1990
+ paid: BN;
1991
+ rewardPerLpStaked: BN;
1992
+ protocolFee: BN;
1993
+ };
1994
+ borrowRateState: {
1995
+ currentRate: BN;
1996
+ cumulativeLockFee: BN;
1997
+ lastUpdate: BN;
1998
+ };
1999
+ bump: number;
2000
+ tokenAccountBump: number;
2001
+ token22: boolean;
2002
+ uid: number;
2003
+ reservedAmount: BN;
2004
+ minReserveUsd: BN;
2005
+ limitPriceBufferBps: BN;
2006
+ padding: number[] | number[] | number[] | BN[] | number[] | number[] | BN[] | BN[] | BN[] | number[];
2007
+ owner: PublicKey;
2008
+ stakeStats: {
2009
+ pendingActivation: BN;
2010
+ activeAmount: BN;
2011
+ pendingDeactivation: BN;
2012
+ deactivatedAmount: BN;
2013
+ };
2014
+ rewardSnapshot: BN;
2015
+ unclaimedRewards: BN;
2016
+ feeShareBps: BN;
2017
+ isInitialized: number | boolean;
2018
+ targetCustody: PublicKey;
2019
+ collateralCustody: PublicKey;
2020
+ side: {
2021
+ none?: Record<string, never>;
2022
+ long?: Record<string, never>;
2023
+ short?: Record<string, never>;
2024
+ };
2025
+ correlation: boolean;
2026
+ maxPayoffBps: BN;
2027
+ degenExposureUsd: BN;
2028
+ collectivePosition: {
2029
+ openPositions: BN;
2030
+ updateTime: BN;
2031
+ averageEntryPrice: {
2032
+ price: BN;
2033
+ exponent: number;
2034
+ };
2035
+ sizeAmount: BN;
2036
+ sizeUsd: BN;
2037
+ lockedAmount: BN;
2038
+ lockedUsd: BN;
2039
+ collateralAmount: BN;
2040
+ collateralLiabilityUsd: BN;
2041
+ unsettledFeeUsd: BN;
2042
+ cumulativeLockFeeSnapshot: BN;
2043
+ sizeDecimals: number;
2044
+ lockedDecimals: number;
2045
+ collateralDecimals: number;
2046
+ };
2047
+ targetCustodyUid: number;
2048
+ collateralCustodyUid: number;
2049
+ padding2: number[] | BN[];
2050
+ numSigners: number;
2051
+ numSigned: number;
2052
+ minSignatures: number;
2053
+ instructionAccountsLen: number;
2054
+ instructionDataLen: number;
2055
+ instructionHash: BN;
2056
+ signers: PublicKey[];
2057
+ signed: number[];
2058
+ price: BN;
2059
+ expo: number;
2060
+ conf: BN;
2061
+ ema: BN;
2062
+ publishTime: BN;
2063
+ extOracleAccount: PublicKey;
2064
+ market: PublicKey;
2065
+ limitOrders: unknown;
2066
+ takeProfitOrders: unknown;
2067
+ stopLossOrders: unknown;
2068
+ isInitialised: boolean;
2069
+ openOrders: number;
2070
+ openSl: number;
2071
+ openTp: number;
2072
+ inactiveSl: number;
2073
+ inactiveTp: number;
2074
+ activeOrders: number;
2075
+ referenceTimestamp: BN;
2076
+ executionCount: BN;
2077
+ pools: PublicKey[];
2078
+ collections: PublicKey[];
2079
+ voltageMultiplier: {
2080
+ volume: BN;
2081
+ rewards: BN;
2082
+ rebates: BN;
2083
+ };
2084
+ tradingDiscount: BN[];
2085
+ referralRebate: BN[];
2086
+ defaultRebate: BN;
2087
+ inceptionTime: BN;
2088
+ transferAuthorityBump: number;
2089
+ perpetualsBump: number;
2090
+ tradeLimit: number;
2091
+ triggerOrderLimit: number;
2092
+ rebateLimitUsd: number;
2093
+ name: string;
2094
+ lpMint: PublicKey;
2095
+ oracleAuthority: PublicKey;
2096
+ stakedLpVault: PublicKey;
2097
+ rewardCustody: PublicKey;
2098
+ custodies: PublicKey[];
2099
+ ratios: {
2100
+ target: BN;
2101
+ min: BN;
2102
+ max: BN;
2103
+ }[];
2104
+ markets: PublicKey[];
2105
+ maxAumUsd: BN;
2106
+ buffer: BN | number[] | number[];
2107
+ rawAumUsd: BN;
2108
+ equityUsd: BN;
2109
+ totalStaked: {
2110
+ pendingActivation: BN;
2111
+ activeAmount: BN;
2112
+ pendingDeactivation: BN;
2113
+ deactivatedAmount: BN;
2114
+ };
2115
+ stakingFeeShareBps: BN;
2116
+ lpMintBump: number;
2117
+ stakedLpVaultBump: number;
2118
+ vpVolumeFactor: number;
2119
+ uniqueCustodyCount: number;
2120
+ stakingFeeBoostBps: BN[];
2121
+ compoundingMint: PublicKey;
2122
+ compoundingLpVault: PublicKey;
2123
+ compoundingStats: {
2124
+ activeAmount: BN;
2125
+ totalSupply: BN;
2126
+ rewardSnapshot: BN;
2127
+ feeShareBps: BN;
2128
+ lastCompoundTime: BN;
2129
+ };
2130
+ compoundingMintBump: number;
2131
+ compoundingLpVaultBump: number;
2132
+ minLpPriceUsd: BN;
2133
+ maxLpPriceUsd: BN;
2134
+ lpPrice: BN;
2135
+ compoundingLpPrice: BN;
2136
+ lastUpdatedTimestamp: BN;
2137
+ feesObligationUsd: BN;
2138
+ rebateObligationUsd: BN;
2139
+ thresholdUsd: BN;
2140
+ delegate: PublicKey;
2141
+ openTime: BN;
2142
+ updateTime: BN;
2143
+ entryPrice: {
2144
+ price: BN;
2145
+ exponent: number;
2146
+ };
2147
+ sizeAmount: BN;
2148
+ sizeUsd: BN;
2149
+ lockedAmount: BN;
2150
+ lockedUsd: BN;
2151
+ priceImpactUsd: BN;
2152
+ collateralUsd: BN;
2153
+ unsettledValueUsd: BN;
2154
+ unsettledFeesUsd: BN;
2155
+ cumulativeLockFeeSnapshot: BN;
2156
+ degenSizeUsd: BN;
2157
+ referencePrice: {
2158
+ price: BN;
2159
+ exponent: number;
2160
+ };
2161
+ priceImpactSet: number;
2162
+ sizeDecimals: number;
2163
+ lockedDecimals: number;
2164
+ collateralDecimals: number;
2165
+ key: PublicKey;
2166
+ feeAmount: BN;
2167
+ allowPayout: boolean;
2168
+ availableUsd: BN;
2169
+ availableAmount: BN;
2170
+ refererTokenStakeAccount: PublicKey;
2171
+ refererBoosterAccount: PublicKey;
2172
+ level: number;
2173
+ withdrawRequestCount: number;
2174
+ withdrawRequest: unknown;
2175
+ activeStakeAmount: BN;
2176
+ updateTimestamp: BN;
2177
+ tradeTimestamp: BN;
2178
+ tradeCounter: number;
2179
+ lastRewardEpochCount: number;
2180
+ rewardTokens: BN;
2181
+ unclaimedRevenueAmount: BN;
2182
+ revenueSnapshot: BN;
2183
+ claimableRebateUsd: BN;
2184
+ tokenMint: PublicKey;
2185
+ tokenVaultTokenAccount: PublicKey;
2186
+ tokenPermissions: {
2187
+ allowDeposits: boolean;
2188
+ allowWithdrawal: boolean;
2189
+ allowRewardWithdrawal: boolean;
2190
+ };
2191
+ withdrawTimeLimit: BN;
2192
+ withdrawInstantFee: BN;
2193
+ withdrawInstantFeeEarned: BN;
2194
+ stakeLevel: BN[];
2195
+ tokensStaked: {
2196
+ pendingActivation: BN;
2197
+ activeAmount: BN;
2198
+ pendingDeactivation: BN;
2199
+ deactivatedAmount: BN;
2200
+ };
2201
+ rewardTokensToDistribute: BN;
2202
+ rewardTokensPaid: BN;
2203
+ tokensToDistribute: BN;
2204
+ tokensDistributed: BN;
2205
+ rewardTokensDistributed: BN;
2206
+ revenueTokenAccountBump: number;
2207
+ revenuePerFafStaked: BN;
2208
+ revenueAccrued: BN;
2209
+ revenueDistributed: BN;
2210
+ revenuePaid: BN;
2211
+ nftMint: PublicKey;
2212
+ voltagePoints: BN;
2213
+ stats: {
2214
+ volumeUsd: BN;
2215
+ lpRewardsUsd: BN;
2216
+ referralRebateUsd: BN;
2217
+ };
2218
+ snapshot: {
2219
+ volumeUsd: BN;
2220
+ lpRewardsUsd: BN;
2221
+ referralRebateUsd: BN;
2222
+ };
2223
+ timestamp: BN;
2224
+ counter: BN;
2225
+ tokenStakeAccount: PublicKey;
2226
+ burnt: boolean;
2227
+ isSwapFeeExempt: boolean;
2228
+ isDepositFeeExempt: boolean;
2229
+ isWithdrawalFeeExempt: boolean;
2230
+ }>;
2231
+ getUserPosition: (owner: PublicKey, targetCustody: PublicKey, collateralCustody: PublicKey, side: Side) => Promise<{
2232
+ pool: PublicKey;
2233
+ mint: PublicKey;
2234
+ tokenAccount: PublicKey;
2235
+ decimals: number;
2236
+ isStable: boolean;
2237
+ depegAdjustment: boolean;
2238
+ isVirtual: boolean;
2239
+ inversePrice: boolean;
2240
+ oracle: {
2241
+ intOracleAccount: PublicKey;
2242
+ extOracleAccount: PublicKey;
2243
+ oracleType: {
2244
+ none?: Record<string, never>;
2245
+ custom?: Record<string, never>;
2246
+ pyth?: Record<string, never>;
2247
+ };
2248
+ maxDivergenceBps: BN;
2249
+ maxConfBps: BN;
2250
+ maxPriceAgeSec: number;
2251
+ maxBackupAgeSec: number;
2252
+ };
2253
+ pricing: {
2254
+ tradeSpreadMin: BN;
2255
+ tradeSpreadMax: BN;
2256
+ swapSpread: BN;
2257
+ minInitLeverage: number;
2258
+ minInitDegenLeverage: number;
2259
+ maxInitLeverage: number;
2260
+ maxInitDegenLeverage: number;
2261
+ maxLeverage: number;
2262
+ maxDegenLeverage: number;
2263
+ minCollateralUsd: number;
2264
+ minDegenCollateralUsd: number;
2265
+ delaySeconds: BN;
2266
+ maxUtilization: number;
2267
+ degenPositionFactor: number;
2268
+ degenExposureFactor: number;
2269
+ maxPositionSizeUsd: BN;
2270
+ maxExposureUsd: BN;
2271
+ };
2272
+ permissions: {
2273
+ allowSwap: boolean;
2274
+ allowAddLiquidity: boolean;
2275
+ allowRemoveLiquidity: boolean;
2276
+ allowOpenPosition: boolean;
2277
+ allowClosePosition: boolean;
2278
+ allowCollateralWithdrawal: boolean;
2279
+ allowSizeChange: boolean;
2280
+ allowLiquidation: boolean;
2281
+ allowLpStaking: boolean;
2282
+ allowFeeDistribution: boolean;
2283
+ allowUngatedTrading: boolean;
2284
+ allowFeeDiscounts: boolean;
2285
+ allowReferralRebates: boolean;
2286
+ } | {
2287
+ allowOpenPosition: boolean;
2288
+ allowClosePosition: boolean;
2289
+ allowCollateralWithdrawal: boolean;
2290
+ allowSizeChange: boolean;
2291
+ };
2292
+ fees: {
2293
+ mode: {
2294
+ fixed?: Record<string, never>;
2295
+ linear?: Record<string, never>;
2296
+ };
2297
+ swapIn: {
2298
+ minFee: BN;
2299
+ targetFee: BN;
2300
+ maxFee: BN;
2301
+ };
2302
+ swapOut: {
2303
+ minFee: BN;
2304
+ targetFee: BN;
2305
+ maxFee: BN;
2306
+ };
2307
+ stableSwapIn: {
2308
+ minFee: BN;
2309
+ targetFee: BN;
2310
+ maxFee: BN;
2311
+ };
2312
+ stableSwapOut: {
2313
+ minFee: BN;
2314
+ targetFee: BN;
2315
+ maxFee: BN;
2316
+ };
2317
+ addLiquidity: {
2318
+ minFee: BN;
2319
+ targetFee: BN;
2320
+ maxFee: BN;
2321
+ };
2322
+ removeLiquidity: {
2323
+ minFee: BN;
2324
+ targetFee: BN;
2325
+ maxFee: BN;
2326
+ };
2327
+ openPosition: BN;
2328
+ closePosition: BN;
2329
+ volatility: BN;
2330
+ };
2331
+ borrowRate: {
2332
+ baseRate: BN;
2333
+ slope1: BN;
2334
+ slope2: BN;
2335
+ optimalUtilization: BN;
2336
+ };
2337
+ rewardThreshold: BN;
2338
+ assets: {
2339
+ collateral: BN;
2340
+ owned: BN;
2341
+ locked: BN;
2342
+ };
2343
+ feesStats: {
2344
+ accrued: BN;
2345
+ distributed: BN;
2346
+ paid: BN;
2347
+ rewardPerLpStaked: BN;
2348
+ protocolFee: BN;
2349
+ };
2350
+ borrowRateState: {
2351
+ currentRate: BN;
2352
+ cumulativeLockFee: BN;
2353
+ lastUpdate: BN;
2354
+ };
2355
+ bump: number;
2356
+ tokenAccountBump: number;
2357
+ token22: boolean;
2358
+ uid: number;
2359
+ reservedAmount: BN;
2360
+ minReserveUsd: BN;
2361
+ limitPriceBufferBps: BN;
2362
+ padding: number[] | number[] | number[] | BN[] | number[] | number[] | BN[] | BN[] | BN[] | number[];
2363
+ owner: PublicKey;
2364
+ stakeStats: {
2365
+ pendingActivation: BN;
2366
+ activeAmount: BN;
2367
+ pendingDeactivation: BN;
2368
+ deactivatedAmount: BN;
2369
+ };
2370
+ rewardSnapshot: BN;
2371
+ unclaimedRewards: BN;
2372
+ feeShareBps: BN;
2373
+ isInitialized: number | boolean;
2374
+ targetCustody: PublicKey;
2375
+ collateralCustody: PublicKey;
2376
+ side: {
2377
+ none?: Record<string, never>;
2378
+ long?: Record<string, never>;
2379
+ short?: Record<string, never>;
2380
+ };
2381
+ correlation: boolean;
2382
+ maxPayoffBps: BN;
2383
+ degenExposureUsd: BN;
2384
+ collectivePosition: {
2385
+ openPositions: BN;
2386
+ updateTime: BN;
2387
+ averageEntryPrice: {
2388
+ price: BN;
2389
+ exponent: number;
2390
+ };
2391
+ sizeAmount: BN;
2392
+ sizeUsd: BN;
2393
+ lockedAmount: BN;
2394
+ lockedUsd: BN;
2395
+ collateralAmount: BN;
2396
+ collateralLiabilityUsd: BN;
2397
+ unsettledFeeUsd: BN;
2398
+ cumulativeLockFeeSnapshot: BN;
2399
+ sizeDecimals: number;
2400
+ lockedDecimals: number;
2401
+ collateralDecimals: number;
2402
+ };
2403
+ targetCustodyUid: number;
2404
+ collateralCustodyUid: number;
2405
+ padding2: number[] | BN[];
2406
+ numSigners: number;
2407
+ numSigned: number;
2408
+ minSignatures: number;
2409
+ instructionAccountsLen: number;
2410
+ instructionDataLen: number;
2411
+ instructionHash: BN;
2412
+ signers: PublicKey[];
2413
+ signed: number[];
2414
+ price: BN;
2415
+ expo: number;
2416
+ conf: BN;
2417
+ ema: BN;
2418
+ publishTime: BN;
2419
+ extOracleAccount: PublicKey;
2420
+ market: PublicKey;
2421
+ limitOrders: unknown;
2422
+ takeProfitOrders: unknown;
2423
+ stopLossOrders: unknown;
2424
+ isInitialised: boolean;
2425
+ openOrders: number;
2426
+ openSl: number;
2427
+ openTp: number;
2428
+ inactiveSl: number;
2429
+ inactiveTp: number;
2430
+ activeOrders: number;
2431
+ referenceTimestamp: BN;
2432
+ executionCount: BN;
2433
+ pools: PublicKey[];
2434
+ collections: PublicKey[];
2435
+ voltageMultiplier: {
2436
+ volume: BN;
2437
+ rewards: BN;
2438
+ rebates: BN;
2439
+ };
2440
+ tradingDiscount: BN[];
2441
+ referralRebate: BN[];
2442
+ defaultRebate: BN;
2443
+ inceptionTime: BN;
2444
+ transferAuthorityBump: number;
2445
+ perpetualsBump: number;
2446
+ tradeLimit: number;
2447
+ triggerOrderLimit: number;
2448
+ rebateLimitUsd: number;
2449
+ name: string;
2450
+ lpMint: PublicKey;
2451
+ oracleAuthority: PublicKey;
2452
+ stakedLpVault: PublicKey;
2453
+ rewardCustody: PublicKey;
2454
+ custodies: PublicKey[];
2455
+ ratios: {
2456
+ target: BN;
2457
+ min: BN;
2458
+ max: BN;
2459
+ }[];
2460
+ markets: PublicKey[];
2461
+ maxAumUsd: BN;
2462
+ buffer: BN | number[] | number[];
2463
+ rawAumUsd: BN;
2464
+ equityUsd: BN;
2465
+ totalStaked: {
2466
+ pendingActivation: BN;
2467
+ activeAmount: BN;
2468
+ pendingDeactivation: BN;
2469
+ deactivatedAmount: BN;
2470
+ };
2471
+ stakingFeeShareBps: BN;
2472
+ lpMintBump: number;
2473
+ stakedLpVaultBump: number;
2474
+ vpVolumeFactor: number;
2475
+ uniqueCustodyCount: number;
2476
+ stakingFeeBoostBps: BN[];
2477
+ compoundingMint: PublicKey;
2478
+ compoundingLpVault: PublicKey;
2479
+ compoundingStats: {
2480
+ activeAmount: BN;
2481
+ totalSupply: BN;
2482
+ rewardSnapshot: BN;
2483
+ feeShareBps: BN;
2484
+ lastCompoundTime: BN;
2485
+ };
2486
+ compoundingMintBump: number;
2487
+ compoundingLpVaultBump: number;
2488
+ minLpPriceUsd: BN;
2489
+ maxLpPriceUsd: BN;
2490
+ lpPrice: BN;
2491
+ compoundingLpPrice: BN;
2492
+ lastUpdatedTimestamp: BN;
2493
+ feesObligationUsd: BN;
2494
+ rebateObligationUsd: BN;
2495
+ thresholdUsd: BN;
2496
+ delegate: PublicKey;
2497
+ openTime: BN;
2498
+ updateTime: BN;
2499
+ entryPrice: {
2500
+ price: BN;
2501
+ exponent: number;
2502
+ };
2503
+ sizeAmount: BN;
2504
+ sizeUsd: BN;
2505
+ lockedAmount: BN;
2506
+ lockedUsd: BN;
2507
+ priceImpactUsd: BN;
2508
+ collateralUsd: BN;
2509
+ unsettledValueUsd: BN;
2510
+ unsettledFeesUsd: BN;
2511
+ cumulativeLockFeeSnapshot: BN;
2512
+ degenSizeUsd: BN;
2513
+ referencePrice: {
2514
+ price: BN;
2515
+ exponent: number;
2516
+ };
2517
+ priceImpactSet: number;
2518
+ sizeDecimals: number;
2519
+ lockedDecimals: number;
2520
+ collateralDecimals: number;
2521
+ key: PublicKey;
2522
+ feeAmount: BN;
2523
+ allowPayout: boolean;
2524
+ availableUsd: BN;
2525
+ availableAmount: BN;
2526
+ refererTokenStakeAccount: PublicKey;
2527
+ refererBoosterAccount: PublicKey;
2528
+ level: number;
2529
+ withdrawRequestCount: number;
2530
+ withdrawRequest: unknown;
2531
+ activeStakeAmount: BN;
2532
+ updateTimestamp: BN;
2533
+ tradeTimestamp: BN;
2534
+ tradeCounter: number;
2535
+ lastRewardEpochCount: number;
2536
+ rewardTokens: BN;
2537
+ unclaimedRevenueAmount: BN;
2538
+ revenueSnapshot: BN;
2539
+ claimableRebateUsd: BN;
2540
+ tokenMint: PublicKey;
2541
+ tokenVaultTokenAccount: PublicKey;
2542
+ tokenPermissions: {
2543
+ allowDeposits: boolean;
2544
+ allowWithdrawal: boolean;
2545
+ allowRewardWithdrawal: boolean;
2546
+ };
2547
+ withdrawTimeLimit: BN;
2548
+ withdrawInstantFee: BN;
2549
+ withdrawInstantFeeEarned: BN;
2550
+ stakeLevel: BN[];
2551
+ tokensStaked: {
2552
+ pendingActivation: BN;
2553
+ activeAmount: BN;
2554
+ pendingDeactivation: BN;
2555
+ deactivatedAmount: BN;
2556
+ };
2557
+ rewardTokensToDistribute: BN;
2558
+ rewardTokensPaid: BN;
2559
+ tokensToDistribute: BN;
2560
+ tokensDistributed: BN;
2561
+ rewardTokensDistributed: BN;
2562
+ revenueTokenAccountBump: number;
2563
+ revenuePerFafStaked: BN;
2564
+ revenueAccrued: BN;
2565
+ revenueDistributed: BN;
2566
+ revenuePaid: BN;
2567
+ nftMint: PublicKey;
2568
+ voltagePoints: BN;
2569
+ stats: {
2570
+ volumeUsd: BN;
2571
+ lpRewardsUsd: BN;
2572
+ referralRebateUsd: BN;
2573
+ };
2574
+ snapshot: {
2575
+ volumeUsd: BN;
2576
+ lpRewardsUsd: BN;
2577
+ referralRebateUsd: BN;
2578
+ };
2579
+ timestamp: BN;
2580
+ counter: BN;
2581
+ tokenStakeAccount: PublicKey;
2582
+ burnt: boolean;
2583
+ isSwapFeeExempt: boolean;
2584
+ isDepositFeeExempt: boolean;
2585
+ isWithdrawalFeeExempt: boolean;
2586
+ }>;
2587
+ getUserOrderAccount: (owner: PublicKey, targetCustody: PublicKey, collateralCustody: PublicKey, side: Side) => Promise<{
2588
+ pool: PublicKey;
2589
+ mint: PublicKey;
2590
+ tokenAccount: PublicKey;
2591
+ decimals: number;
2592
+ isStable: boolean;
2593
+ depegAdjustment: boolean;
2594
+ isVirtual: boolean;
2595
+ inversePrice: boolean;
2596
+ oracle: {
2597
+ intOracleAccount: PublicKey;
2598
+ extOracleAccount: PublicKey;
2599
+ oracleType: {
2600
+ none?: Record<string, never>;
2601
+ custom?: Record<string, never>;
2602
+ pyth?: Record<string, never>;
2603
+ };
2604
+ maxDivergenceBps: BN;
2605
+ maxConfBps: BN;
2606
+ maxPriceAgeSec: number;
2607
+ maxBackupAgeSec: number;
2608
+ };
2609
+ pricing: {
2610
+ tradeSpreadMin: BN;
2611
+ tradeSpreadMax: BN;
2612
+ swapSpread: BN;
2613
+ minInitLeverage: number;
2614
+ minInitDegenLeverage: number;
2615
+ maxInitLeverage: number;
2616
+ maxInitDegenLeverage: number;
2617
+ maxLeverage: number;
2618
+ maxDegenLeverage: number;
2619
+ minCollateralUsd: number;
2620
+ minDegenCollateralUsd: number;
2621
+ delaySeconds: BN;
2622
+ maxUtilization: number;
2623
+ degenPositionFactor: number;
2624
+ degenExposureFactor: number;
2625
+ maxPositionSizeUsd: BN;
2626
+ maxExposureUsd: BN;
2627
+ };
2628
+ permissions: {
2629
+ allowSwap: boolean;
2630
+ allowAddLiquidity: boolean;
2631
+ allowRemoveLiquidity: boolean;
2632
+ allowOpenPosition: boolean;
2633
+ allowClosePosition: boolean;
2634
+ allowCollateralWithdrawal: boolean;
2635
+ allowSizeChange: boolean;
2636
+ allowLiquidation: boolean;
2637
+ allowLpStaking: boolean;
2638
+ allowFeeDistribution: boolean;
2639
+ allowUngatedTrading: boolean;
2640
+ allowFeeDiscounts: boolean;
2641
+ allowReferralRebates: boolean;
2642
+ } | {
2643
+ allowOpenPosition: boolean;
2644
+ allowClosePosition: boolean;
2645
+ allowCollateralWithdrawal: boolean;
2646
+ allowSizeChange: boolean;
2647
+ };
2648
+ fees: {
2649
+ mode: {
2650
+ fixed?: Record<string, never>;
2651
+ linear?: Record<string, never>;
2652
+ };
2653
+ swapIn: {
2654
+ minFee: BN;
2655
+ targetFee: BN;
2656
+ maxFee: BN;
2657
+ };
2658
+ swapOut: {
2659
+ minFee: BN;
2660
+ targetFee: BN;
2661
+ maxFee: BN;
2662
+ };
2663
+ stableSwapIn: {
2664
+ minFee: BN;
2665
+ targetFee: BN;
2666
+ maxFee: BN;
2667
+ };
2668
+ stableSwapOut: {
2669
+ minFee: BN;
2670
+ targetFee: BN;
2671
+ maxFee: BN;
2672
+ };
2673
+ addLiquidity: {
2674
+ minFee: BN;
2675
+ targetFee: BN;
2676
+ maxFee: BN;
2677
+ };
2678
+ removeLiquidity: {
2679
+ minFee: BN;
2680
+ targetFee: BN;
2681
+ maxFee: BN;
2682
+ };
2683
+ openPosition: BN;
2684
+ closePosition: BN;
2685
+ volatility: BN;
2686
+ };
2687
+ borrowRate: {
2688
+ baseRate: BN;
2689
+ slope1: BN;
2690
+ slope2: BN;
2691
+ optimalUtilization: BN;
2692
+ };
2693
+ rewardThreshold: BN;
2694
+ assets: {
2695
+ collateral: BN;
2696
+ owned: BN;
2697
+ locked: BN;
2698
+ };
2699
+ feesStats: {
2700
+ accrued: BN;
2701
+ distributed: BN;
2702
+ paid: BN;
2703
+ rewardPerLpStaked: BN;
2704
+ protocolFee: BN;
2705
+ };
2706
+ borrowRateState: {
2707
+ currentRate: BN;
2708
+ cumulativeLockFee: BN;
2709
+ lastUpdate: BN;
2710
+ };
2711
+ bump: number;
2712
+ tokenAccountBump: number;
2713
+ token22: boolean;
2714
+ uid: number;
2715
+ reservedAmount: BN;
2716
+ minReserveUsd: BN;
2717
+ limitPriceBufferBps: BN;
2718
+ padding: number[] | number[] | number[] | BN[] | number[] | number[] | BN[] | BN[] | BN[] | number[];
2719
+ owner: PublicKey;
2720
+ stakeStats: {
2721
+ pendingActivation: BN;
2722
+ activeAmount: BN;
2723
+ pendingDeactivation: BN;
2724
+ deactivatedAmount: BN;
2725
+ };
2726
+ rewardSnapshot: BN;
2727
+ unclaimedRewards: BN;
2728
+ feeShareBps: BN;
2729
+ isInitialized: number | boolean;
2730
+ targetCustody: PublicKey;
2731
+ collateralCustody: PublicKey;
2732
+ side: {
2733
+ none?: Record<string, never>;
2734
+ long?: Record<string, never>;
2735
+ short?: Record<string, never>;
2736
+ };
2737
+ correlation: boolean;
2738
+ maxPayoffBps: BN;
2739
+ degenExposureUsd: BN;
2740
+ collectivePosition: {
2741
+ openPositions: BN;
2742
+ updateTime: BN;
2743
+ averageEntryPrice: {
2744
+ price: BN;
2745
+ exponent: number;
2746
+ };
2747
+ sizeAmount: BN;
2748
+ sizeUsd: BN;
2749
+ lockedAmount: BN;
2750
+ lockedUsd: BN;
2751
+ collateralAmount: BN;
2752
+ collateralLiabilityUsd: BN;
2753
+ unsettledFeeUsd: BN;
2754
+ cumulativeLockFeeSnapshot: BN;
2755
+ sizeDecimals: number;
2756
+ lockedDecimals: number;
2757
+ collateralDecimals: number;
2758
+ };
2759
+ targetCustodyUid: number;
2760
+ collateralCustodyUid: number;
2761
+ padding2: number[] | BN[];
2762
+ numSigners: number;
2763
+ numSigned: number;
2764
+ minSignatures: number;
2765
+ instructionAccountsLen: number;
2766
+ instructionDataLen: number;
2767
+ instructionHash: BN;
2768
+ signers: PublicKey[];
2769
+ signed: number[];
2770
+ price: BN;
2771
+ expo: number;
2772
+ conf: BN;
2773
+ ema: BN;
2774
+ publishTime: BN;
2775
+ extOracleAccount: PublicKey;
2776
+ market: PublicKey;
2777
+ limitOrders: unknown;
2778
+ takeProfitOrders: unknown;
2779
+ stopLossOrders: unknown;
2780
+ isInitialised: boolean;
2781
+ openOrders: number;
2782
+ openSl: number;
2783
+ openTp: number;
2784
+ inactiveSl: number;
2785
+ inactiveTp: number;
2786
+ activeOrders: number;
2787
+ referenceTimestamp: BN;
2788
+ executionCount: BN;
2789
+ pools: PublicKey[];
2790
+ collections: PublicKey[];
2791
+ voltageMultiplier: {
2792
+ volume: BN;
2793
+ rewards: BN;
2794
+ rebates: BN;
2795
+ };
2796
+ tradingDiscount: BN[];
2797
+ referralRebate: BN[];
2798
+ defaultRebate: BN;
2799
+ inceptionTime: BN;
2800
+ transferAuthorityBump: number;
2801
+ perpetualsBump: number;
2802
+ tradeLimit: number;
2803
+ triggerOrderLimit: number;
2804
+ rebateLimitUsd: number;
2805
+ name: string;
2806
+ lpMint: PublicKey;
2807
+ oracleAuthority: PublicKey;
2808
+ stakedLpVault: PublicKey;
2809
+ rewardCustody: PublicKey;
2810
+ custodies: PublicKey[];
2811
+ ratios: {
2812
+ target: BN;
2813
+ min: BN;
2814
+ max: BN;
2815
+ }[];
2816
+ markets: PublicKey[];
2817
+ maxAumUsd: BN;
2818
+ buffer: BN | number[] | number[];
2819
+ rawAumUsd: BN;
2820
+ equityUsd: BN;
2821
+ totalStaked: {
2822
+ pendingActivation: BN;
2823
+ activeAmount: BN;
2824
+ pendingDeactivation: BN;
2825
+ deactivatedAmount: BN;
2826
+ };
2827
+ stakingFeeShareBps: BN;
2828
+ lpMintBump: number;
2829
+ stakedLpVaultBump: number;
2830
+ vpVolumeFactor: number;
2831
+ uniqueCustodyCount: number;
2832
+ stakingFeeBoostBps: BN[];
2833
+ compoundingMint: PublicKey;
2834
+ compoundingLpVault: PublicKey;
2835
+ compoundingStats: {
2836
+ activeAmount: BN;
2837
+ totalSupply: BN;
2838
+ rewardSnapshot: BN;
2839
+ feeShareBps: BN;
2840
+ lastCompoundTime: BN;
2841
+ };
2842
+ compoundingMintBump: number;
2843
+ compoundingLpVaultBump: number;
2844
+ minLpPriceUsd: BN;
2845
+ maxLpPriceUsd: BN;
2846
+ lpPrice: BN;
2847
+ compoundingLpPrice: BN;
2848
+ lastUpdatedTimestamp: BN;
2849
+ feesObligationUsd: BN;
2850
+ rebateObligationUsd: BN;
2851
+ thresholdUsd: BN;
2852
+ delegate: PublicKey;
2853
+ openTime: BN;
2854
+ updateTime: BN;
2855
+ entryPrice: {
2856
+ price: BN;
2857
+ exponent: number;
2858
+ };
2859
+ sizeAmount: BN;
2860
+ sizeUsd: BN;
2861
+ lockedAmount: BN;
2862
+ lockedUsd: BN;
2863
+ priceImpactUsd: BN;
2864
+ collateralUsd: BN;
2865
+ unsettledValueUsd: BN;
2866
+ unsettledFeesUsd: BN;
2867
+ cumulativeLockFeeSnapshot: BN;
2868
+ degenSizeUsd: BN;
2869
+ referencePrice: {
2870
+ price: BN;
2871
+ exponent: number;
2872
+ };
2873
+ priceImpactSet: number;
2874
+ sizeDecimals: number;
2875
+ lockedDecimals: number;
2876
+ collateralDecimals: number;
2877
+ key: PublicKey;
2878
+ feeAmount: BN;
2879
+ allowPayout: boolean;
2880
+ availableUsd: BN;
2881
+ availableAmount: BN;
2882
+ refererTokenStakeAccount: PublicKey;
2883
+ refererBoosterAccount: PublicKey;
2884
+ level: number;
2885
+ withdrawRequestCount: number;
2886
+ withdrawRequest: unknown;
2887
+ activeStakeAmount: BN;
2888
+ updateTimestamp: BN;
2889
+ tradeTimestamp: BN;
2890
+ tradeCounter: number;
2891
+ lastRewardEpochCount: number;
2892
+ rewardTokens: BN;
2893
+ unclaimedRevenueAmount: BN;
2894
+ revenueSnapshot: BN;
2895
+ claimableRebateUsd: BN;
2896
+ tokenMint: PublicKey;
2897
+ tokenVaultTokenAccount: PublicKey;
2898
+ tokenPermissions: {
2899
+ allowDeposits: boolean;
2900
+ allowWithdrawal: boolean;
2901
+ allowRewardWithdrawal: boolean;
2902
+ };
2903
+ withdrawTimeLimit: BN;
2904
+ withdrawInstantFee: BN;
2905
+ withdrawInstantFeeEarned: BN;
2906
+ stakeLevel: BN[];
2907
+ tokensStaked: {
2908
+ pendingActivation: BN;
2909
+ activeAmount: BN;
2910
+ pendingDeactivation: BN;
2911
+ deactivatedAmount: BN;
2912
+ };
2913
+ rewardTokensToDistribute: BN;
2914
+ rewardTokensPaid: BN;
2915
+ tokensToDistribute: BN;
2916
+ tokensDistributed: BN;
2917
+ rewardTokensDistributed: BN;
2918
+ revenueTokenAccountBump: number;
2919
+ revenuePerFafStaked: BN;
2920
+ revenueAccrued: BN;
2921
+ revenueDistributed: BN;
2922
+ revenuePaid: BN;
2923
+ nftMint: PublicKey;
2924
+ voltagePoints: BN;
2925
+ stats: {
2926
+ volumeUsd: BN;
2927
+ lpRewardsUsd: BN;
2928
+ referralRebateUsd: BN;
2929
+ };
2930
+ snapshot: {
2931
+ volumeUsd: BN;
2932
+ lpRewardsUsd: BN;
2933
+ referralRebateUsd: BN;
2934
+ };
2935
+ timestamp: BN;
2936
+ counter: BN;
2937
+ tokenStakeAccount: PublicKey;
2938
+ burnt: boolean;
2939
+ isSwapFeeExempt: boolean;
2940
+ isDepositFeeExempt: boolean;
2941
+ isWithdrawalFeeExempt: boolean;
2942
+ }>;
2943
+ getUserPositions: (wallet: PublicKey, poolConfig: PoolConfig) => Promise<{
2944
+ owner: PublicKey;
2945
+ market: PublicKey;
2946
+ delegate: PublicKey;
2947
+ openTime: BN;
2948
+ updateTime: BN;
2949
+ entryPrice: {
2950
+ price: BN;
2951
+ exponent: number;
2952
+ };
2953
+ sizeAmount: BN;
2954
+ sizeUsd: BN;
2955
+ lockedAmount: BN;
2956
+ lockedUsd: BN;
2957
+ priceImpactUsd: BN;
2958
+ collateralUsd: BN;
2959
+ unsettledValueUsd: BN;
2960
+ unsettledFeesUsd: BN;
2961
+ cumulativeLockFeeSnapshot: BN;
2962
+ degenSizeUsd: BN;
2963
+ referencePrice: {
2964
+ price: BN;
2965
+ exponent: number;
2966
+ };
2967
+ buffer: number[];
2968
+ priceImpactSet: number;
2969
+ sizeDecimals: number;
2970
+ lockedDecimals: number;
2971
+ collateralDecimals: number;
2972
+ bump: number;
2973
+ padding: number[];
2974
+ pubkey: PublicKey;
2975
+ }[]>;
2976
+ getUserOrderAccounts: (wallet: PublicKey, poolConfig: PoolConfig) => Promise<{
2977
+ owner: PublicKey;
2978
+ market: PublicKey;
2979
+ limitOrders: unknown;
2980
+ takeProfitOrders: unknown;
2981
+ stopLossOrders: unknown;
2982
+ isInitialised: boolean;
2983
+ openOrders: number;
2984
+ openSl: number;
2985
+ openTp: number;
2986
+ inactiveSl: number;
2987
+ inactiveTp: number;
2988
+ activeOrders: number;
2989
+ bump: number;
2990
+ referenceTimestamp: BN;
2991
+ executionCount: BN;
2992
+ padding: BN[];
2993
+ pubkey: PublicKey;
2994
+ }[]>;
2995
+ getAllPositions: () => Promise<import("@coral-xyz/anchor").ProgramAccount<{
2996
+ pool: PublicKey;
2997
+ mint: PublicKey;
2998
+ tokenAccount: PublicKey;
2999
+ decimals: number;
3000
+ isStable: boolean;
3001
+ depegAdjustment: boolean;
3002
+ isVirtual: boolean;
3003
+ inversePrice: boolean;
3004
+ oracle: {
3005
+ intOracleAccount: PublicKey;
3006
+ extOracleAccount: PublicKey;
3007
+ oracleType: {
3008
+ none?: Record<string, never>;
3009
+ custom?: Record<string, never>;
3010
+ pyth?: Record<string, never>;
3011
+ };
3012
+ maxDivergenceBps: BN;
3013
+ maxConfBps: BN;
3014
+ maxPriceAgeSec: number;
3015
+ maxBackupAgeSec: number;
3016
+ };
3017
+ pricing: {
3018
+ tradeSpreadMin: BN;
3019
+ tradeSpreadMax: BN;
3020
+ swapSpread: BN;
3021
+ minInitLeverage: number;
3022
+ minInitDegenLeverage: number;
3023
+ maxInitLeverage: number;
3024
+ maxInitDegenLeverage: number;
3025
+ maxLeverage: number;
3026
+ maxDegenLeverage: number;
3027
+ minCollateralUsd: number;
3028
+ minDegenCollateralUsd: number;
3029
+ delaySeconds: BN;
3030
+ maxUtilization: number;
3031
+ degenPositionFactor: number;
3032
+ degenExposureFactor: number;
3033
+ maxPositionSizeUsd: BN;
3034
+ maxExposureUsd: BN;
3035
+ };
3036
+ permissions: {
3037
+ allowSwap: boolean;
3038
+ allowAddLiquidity: boolean;
3039
+ allowRemoveLiquidity: boolean;
3040
+ allowOpenPosition: boolean;
3041
+ allowClosePosition: boolean;
3042
+ allowCollateralWithdrawal: boolean;
3043
+ allowSizeChange: boolean;
3044
+ allowLiquidation: boolean;
3045
+ allowLpStaking: boolean;
3046
+ allowFeeDistribution: boolean;
3047
+ allowUngatedTrading: boolean;
3048
+ allowFeeDiscounts: boolean;
3049
+ allowReferralRebates: boolean;
3050
+ } | {
3051
+ allowOpenPosition: boolean;
3052
+ allowClosePosition: boolean;
3053
+ allowCollateralWithdrawal: boolean;
3054
+ allowSizeChange: boolean;
3055
+ };
3056
+ fees: {
3057
+ mode: {
3058
+ fixed?: Record<string, never>;
3059
+ linear?: Record<string, never>;
3060
+ };
3061
+ swapIn: {
3062
+ minFee: BN;
3063
+ targetFee: BN;
3064
+ maxFee: BN;
3065
+ };
3066
+ swapOut: {
3067
+ minFee: BN;
3068
+ targetFee: BN;
3069
+ maxFee: BN;
3070
+ };
3071
+ stableSwapIn: {
3072
+ minFee: BN;
3073
+ targetFee: BN;
3074
+ maxFee: BN;
3075
+ };
3076
+ stableSwapOut: {
3077
+ minFee: BN;
3078
+ targetFee: BN;
3079
+ maxFee: BN;
3080
+ };
3081
+ addLiquidity: {
3082
+ minFee: BN;
3083
+ targetFee: BN;
3084
+ maxFee: BN;
3085
+ };
3086
+ removeLiquidity: {
3087
+ minFee: BN;
3088
+ targetFee: BN;
3089
+ maxFee: BN;
3090
+ };
3091
+ openPosition: BN;
3092
+ closePosition: BN;
3093
+ volatility: BN;
3094
+ };
3095
+ borrowRate: {
3096
+ baseRate: BN;
3097
+ slope1: BN;
3098
+ slope2: BN;
3099
+ optimalUtilization: BN;
3100
+ };
3101
+ rewardThreshold: BN;
3102
+ assets: {
3103
+ collateral: BN;
3104
+ owned: BN;
3105
+ locked: BN;
3106
+ };
3107
+ feesStats: {
3108
+ accrued: BN;
3109
+ distributed: BN;
3110
+ paid: BN;
3111
+ rewardPerLpStaked: BN;
3112
+ protocolFee: BN;
3113
+ };
3114
+ borrowRateState: {
3115
+ currentRate: BN;
3116
+ cumulativeLockFee: BN;
3117
+ lastUpdate: BN;
3118
+ };
3119
+ bump: number;
3120
+ tokenAccountBump: number;
3121
+ token22: boolean;
3122
+ uid: number;
3123
+ reservedAmount: BN;
3124
+ minReserveUsd: BN;
3125
+ limitPriceBufferBps: BN;
3126
+ padding: number[] | number[] | number[] | BN[] | number[] | number[] | BN[] | BN[] | BN[] | number[];
3127
+ owner: PublicKey;
3128
+ stakeStats: {
3129
+ pendingActivation: BN;
3130
+ activeAmount: BN;
3131
+ pendingDeactivation: BN;
3132
+ deactivatedAmount: BN;
3133
+ };
3134
+ rewardSnapshot: BN;
3135
+ unclaimedRewards: BN;
3136
+ feeShareBps: BN;
3137
+ isInitialized: number | boolean;
3138
+ targetCustody: PublicKey;
3139
+ collateralCustody: PublicKey;
3140
+ side: {
3141
+ none?: Record<string, never>;
3142
+ long?: Record<string, never>;
3143
+ short?: Record<string, never>;
3144
+ };
3145
+ correlation: boolean;
3146
+ maxPayoffBps: BN;
3147
+ degenExposureUsd: BN;
3148
+ collectivePosition: {
3149
+ openPositions: BN;
3150
+ updateTime: BN;
3151
+ averageEntryPrice: {
3152
+ price: BN;
3153
+ exponent: number;
3154
+ };
3155
+ sizeAmount: BN;
3156
+ sizeUsd: BN;
3157
+ lockedAmount: BN;
3158
+ lockedUsd: BN;
3159
+ collateralAmount: BN;
3160
+ collateralLiabilityUsd: BN;
3161
+ unsettledFeeUsd: BN;
3162
+ cumulativeLockFeeSnapshot: BN;
3163
+ sizeDecimals: number;
3164
+ lockedDecimals: number;
3165
+ collateralDecimals: number;
3166
+ };
3167
+ targetCustodyUid: number;
3168
+ collateralCustodyUid: number;
3169
+ padding2: number[] | BN[];
3170
+ numSigners: number;
3171
+ numSigned: number;
3172
+ minSignatures: number;
3173
+ instructionAccountsLen: number;
3174
+ instructionDataLen: number;
3175
+ instructionHash: BN;
3176
+ signers: PublicKey[];
3177
+ signed: number[];
3178
+ price: BN;
3179
+ expo: number;
3180
+ conf: BN;
3181
+ ema: BN;
3182
+ publishTime: BN;
3183
+ extOracleAccount: PublicKey;
3184
+ market: PublicKey;
3185
+ limitOrders: unknown;
3186
+ takeProfitOrders: unknown;
3187
+ stopLossOrders: unknown;
3188
+ isInitialised: boolean;
3189
+ openOrders: number;
3190
+ openSl: number;
3191
+ openTp: number;
3192
+ inactiveSl: number;
3193
+ inactiveTp: number;
3194
+ activeOrders: number;
3195
+ referenceTimestamp: BN;
3196
+ executionCount: BN;
3197
+ pools: PublicKey[];
3198
+ collections: PublicKey[];
3199
+ voltageMultiplier: {
3200
+ volume: BN;
3201
+ rewards: BN;
3202
+ rebates: BN;
3203
+ };
3204
+ tradingDiscount: BN[];
3205
+ referralRebate: BN[];
3206
+ defaultRebate: BN;
3207
+ inceptionTime: BN;
3208
+ transferAuthorityBump: number;
3209
+ perpetualsBump: number;
3210
+ tradeLimit: number;
3211
+ triggerOrderLimit: number;
3212
+ rebateLimitUsd: number;
3213
+ name: string;
3214
+ lpMint: PublicKey;
3215
+ oracleAuthority: PublicKey;
3216
+ stakedLpVault: PublicKey;
3217
+ rewardCustody: PublicKey;
3218
+ custodies: PublicKey[];
3219
+ ratios: {
3220
+ target: BN;
3221
+ min: BN;
3222
+ max: BN;
3223
+ }[];
3224
+ markets: PublicKey[];
3225
+ maxAumUsd: BN;
3226
+ buffer: BN | number[] | number[];
3227
+ rawAumUsd: BN;
3228
+ equityUsd: BN;
3229
+ totalStaked: {
3230
+ pendingActivation: BN;
3231
+ activeAmount: BN;
3232
+ pendingDeactivation: BN;
3233
+ deactivatedAmount: BN;
3234
+ };
3235
+ stakingFeeShareBps: BN;
3236
+ lpMintBump: number;
3237
+ stakedLpVaultBump: number;
3238
+ vpVolumeFactor: number;
3239
+ uniqueCustodyCount: number;
3240
+ stakingFeeBoostBps: BN[];
3241
+ compoundingMint: PublicKey;
3242
+ compoundingLpVault: PublicKey;
3243
+ compoundingStats: {
3244
+ activeAmount: BN;
3245
+ totalSupply: BN;
3246
+ rewardSnapshot: BN;
3247
+ feeShareBps: BN;
3248
+ lastCompoundTime: BN;
3249
+ };
3250
+ compoundingMintBump: number;
3251
+ compoundingLpVaultBump: number;
3252
+ minLpPriceUsd: BN;
3253
+ maxLpPriceUsd: BN;
3254
+ lpPrice: BN;
3255
+ compoundingLpPrice: BN;
3256
+ lastUpdatedTimestamp: BN;
3257
+ feesObligationUsd: BN;
3258
+ rebateObligationUsd: BN;
3259
+ thresholdUsd: BN;
3260
+ delegate: PublicKey;
3261
+ openTime: BN;
3262
+ updateTime: BN;
3263
+ entryPrice: {
3264
+ price: BN;
3265
+ exponent: number;
3266
+ };
3267
+ sizeAmount: BN;
3268
+ sizeUsd: BN;
3269
+ lockedAmount: BN;
3270
+ lockedUsd: BN;
3271
+ priceImpactUsd: BN;
3272
+ collateralUsd: BN;
3273
+ unsettledValueUsd: BN;
3274
+ unsettledFeesUsd: BN;
3275
+ cumulativeLockFeeSnapshot: BN;
3276
+ degenSizeUsd: BN;
3277
+ referencePrice: {
3278
+ price: BN;
3279
+ exponent: number;
3280
+ };
3281
+ priceImpactSet: number;
3282
+ sizeDecimals: number;
3283
+ lockedDecimals: number;
3284
+ collateralDecimals: number;
3285
+ key: PublicKey;
3286
+ feeAmount: BN;
3287
+ allowPayout: boolean;
3288
+ availableUsd: BN;
3289
+ availableAmount: BN;
3290
+ refererTokenStakeAccount: PublicKey;
3291
+ refererBoosterAccount: PublicKey;
3292
+ level: number;
3293
+ withdrawRequestCount: number;
3294
+ withdrawRequest: unknown;
3295
+ activeStakeAmount: BN;
3296
+ updateTimestamp: BN;
3297
+ tradeTimestamp: BN;
3298
+ tradeCounter: number;
3299
+ lastRewardEpochCount: number;
3300
+ rewardTokens: BN;
3301
+ unclaimedRevenueAmount: BN;
3302
+ revenueSnapshot: BN;
3303
+ claimableRebateUsd: BN;
3304
+ tokenMint: PublicKey;
3305
+ tokenVaultTokenAccount: PublicKey;
3306
+ tokenPermissions: {
3307
+ allowDeposits: boolean;
3308
+ allowWithdrawal: boolean;
3309
+ allowRewardWithdrawal: boolean;
3310
+ };
3311
+ withdrawTimeLimit: BN;
3312
+ withdrawInstantFee: BN;
3313
+ withdrawInstantFeeEarned: BN;
3314
+ stakeLevel: BN[];
3315
+ tokensStaked: {
3316
+ pendingActivation: BN;
3317
+ activeAmount: BN;
3318
+ pendingDeactivation: BN;
3319
+ deactivatedAmount: BN;
3320
+ };
3321
+ rewardTokensToDistribute: BN;
3322
+ rewardTokensPaid: BN;
3323
+ tokensToDistribute: BN;
3324
+ tokensDistributed: BN;
3325
+ rewardTokensDistributed: BN;
3326
+ revenueTokenAccountBump: number;
3327
+ revenuePerFafStaked: BN;
3328
+ revenueAccrued: BN;
3329
+ revenueDistributed: BN;
3330
+ revenuePaid: BN;
3331
+ nftMint: PublicKey;
3332
+ voltagePoints: BN;
3333
+ stats: {
3334
+ volumeUsd: BN;
3335
+ lpRewardsUsd: BN;
3336
+ referralRebateUsd: BN;
3337
+ };
3338
+ snapshot: {
3339
+ volumeUsd: BN;
3340
+ lpRewardsUsd: BN;
3341
+ referralRebateUsd: BN;
3342
+ };
3343
+ timestamp: BN;
3344
+ counter: BN;
3345
+ tokenStakeAccount: PublicKey;
3346
+ burnt: boolean;
3347
+ isSwapFeeExempt: boolean;
3348
+ isDepositFeeExempt: boolean;
3349
+ isWithdrawalFeeExempt: boolean;
3350
+ }>[]>;
3351
+ getAllActivePositions: () => Promise<import("@coral-xyz/anchor").ProgramAccount<{
3352
+ pool: PublicKey;
3353
+ mint: PublicKey;
3354
+ tokenAccount: PublicKey;
3355
+ decimals: number;
3356
+ isStable: boolean;
3357
+ depegAdjustment: boolean;
3358
+ isVirtual: boolean;
3359
+ inversePrice: boolean;
3360
+ oracle: {
3361
+ intOracleAccount: PublicKey;
3362
+ extOracleAccount: PublicKey;
3363
+ oracleType: {
3364
+ none?: Record<string, never>;
3365
+ custom?: Record<string, never>;
3366
+ pyth?: Record<string, never>;
3367
+ };
3368
+ maxDivergenceBps: BN;
3369
+ maxConfBps: BN;
3370
+ maxPriceAgeSec: number;
3371
+ maxBackupAgeSec: number;
3372
+ };
3373
+ pricing: {
3374
+ tradeSpreadMin: BN;
3375
+ tradeSpreadMax: BN;
3376
+ swapSpread: BN;
3377
+ minInitLeverage: number;
3378
+ minInitDegenLeverage: number;
3379
+ maxInitLeverage: number;
3380
+ maxInitDegenLeverage: number;
3381
+ maxLeverage: number;
3382
+ maxDegenLeverage: number;
3383
+ minCollateralUsd: number;
3384
+ minDegenCollateralUsd: number;
3385
+ delaySeconds: BN;
3386
+ maxUtilization: number;
3387
+ degenPositionFactor: number;
3388
+ degenExposureFactor: number;
3389
+ maxPositionSizeUsd: BN;
3390
+ maxExposureUsd: BN;
3391
+ };
3392
+ permissions: {
3393
+ allowSwap: boolean;
3394
+ allowAddLiquidity: boolean;
3395
+ allowRemoveLiquidity: boolean;
3396
+ allowOpenPosition: boolean;
3397
+ allowClosePosition: boolean;
3398
+ allowCollateralWithdrawal: boolean;
3399
+ allowSizeChange: boolean;
3400
+ allowLiquidation: boolean;
3401
+ allowLpStaking: boolean;
3402
+ allowFeeDistribution: boolean;
3403
+ allowUngatedTrading: boolean;
3404
+ allowFeeDiscounts: boolean;
3405
+ allowReferralRebates: boolean;
3406
+ } | {
3407
+ allowOpenPosition: boolean;
3408
+ allowClosePosition: boolean;
3409
+ allowCollateralWithdrawal: boolean;
3410
+ allowSizeChange: boolean;
3411
+ };
3412
+ fees: {
3413
+ mode: {
3414
+ fixed?: Record<string, never>;
3415
+ linear?: Record<string, never>;
3416
+ };
3417
+ swapIn: {
3418
+ minFee: BN;
3419
+ targetFee: BN;
3420
+ maxFee: BN;
3421
+ };
3422
+ swapOut: {
3423
+ minFee: BN;
3424
+ targetFee: BN;
3425
+ maxFee: BN;
3426
+ };
3427
+ stableSwapIn: {
3428
+ minFee: BN;
3429
+ targetFee: BN;
3430
+ maxFee: BN;
3431
+ };
3432
+ stableSwapOut: {
3433
+ minFee: BN;
3434
+ targetFee: BN;
3435
+ maxFee: BN;
3436
+ };
3437
+ addLiquidity: {
3438
+ minFee: BN;
3439
+ targetFee: BN;
3440
+ maxFee: BN;
3441
+ };
3442
+ removeLiquidity: {
3443
+ minFee: BN;
3444
+ targetFee: BN;
3445
+ maxFee: BN;
3446
+ };
3447
+ openPosition: BN;
3448
+ closePosition: BN;
3449
+ volatility: BN;
3450
+ };
3451
+ borrowRate: {
3452
+ baseRate: BN;
3453
+ slope1: BN;
3454
+ slope2: BN;
3455
+ optimalUtilization: BN;
3456
+ };
3457
+ rewardThreshold: BN;
3458
+ assets: {
3459
+ collateral: BN;
3460
+ owned: BN;
3461
+ locked: BN;
3462
+ };
3463
+ feesStats: {
3464
+ accrued: BN;
3465
+ distributed: BN;
3466
+ paid: BN;
3467
+ rewardPerLpStaked: BN;
3468
+ protocolFee: BN;
3469
+ };
3470
+ borrowRateState: {
3471
+ currentRate: BN;
3472
+ cumulativeLockFee: BN;
3473
+ lastUpdate: BN;
3474
+ };
3475
+ bump: number;
3476
+ tokenAccountBump: number;
3477
+ token22: boolean;
3478
+ uid: number;
3479
+ reservedAmount: BN;
3480
+ minReserveUsd: BN;
3481
+ limitPriceBufferBps: BN;
3482
+ padding: number[] | number[] | number[] | BN[] | number[] | number[] | BN[] | BN[] | BN[] | number[];
3483
+ owner: PublicKey;
3484
+ stakeStats: {
3485
+ pendingActivation: BN;
3486
+ activeAmount: BN;
3487
+ pendingDeactivation: BN;
3488
+ deactivatedAmount: BN;
3489
+ };
3490
+ rewardSnapshot: BN;
3491
+ unclaimedRewards: BN;
3492
+ feeShareBps: BN;
3493
+ isInitialized: number | boolean;
3494
+ targetCustody: PublicKey;
3495
+ collateralCustody: PublicKey;
3496
+ side: {
3497
+ none?: Record<string, never>;
3498
+ long?: Record<string, never>;
3499
+ short?: Record<string, never>;
3500
+ };
3501
+ correlation: boolean;
3502
+ maxPayoffBps: BN;
3503
+ degenExposureUsd: BN;
3504
+ collectivePosition: {
3505
+ openPositions: BN;
3506
+ updateTime: BN;
3507
+ averageEntryPrice: {
3508
+ price: BN;
3509
+ exponent: number;
3510
+ };
3511
+ sizeAmount: BN;
3512
+ sizeUsd: BN;
3513
+ lockedAmount: BN;
3514
+ lockedUsd: BN;
3515
+ collateralAmount: BN;
3516
+ collateralLiabilityUsd: BN;
3517
+ unsettledFeeUsd: BN;
3518
+ cumulativeLockFeeSnapshot: BN;
3519
+ sizeDecimals: number;
3520
+ lockedDecimals: number;
3521
+ collateralDecimals: number;
3522
+ };
3523
+ targetCustodyUid: number;
3524
+ collateralCustodyUid: number;
3525
+ padding2: number[] | BN[];
3526
+ numSigners: number;
3527
+ numSigned: number;
3528
+ minSignatures: number;
3529
+ instructionAccountsLen: number;
3530
+ instructionDataLen: number;
3531
+ instructionHash: BN;
3532
+ signers: PublicKey[];
3533
+ signed: number[];
3534
+ price: BN;
3535
+ expo: number;
3536
+ conf: BN;
3537
+ ema: BN;
3538
+ publishTime: BN;
3539
+ extOracleAccount: PublicKey;
3540
+ market: PublicKey;
3541
+ limitOrders: unknown;
3542
+ takeProfitOrders: unknown;
3543
+ stopLossOrders: unknown;
3544
+ isInitialised: boolean;
3545
+ openOrders: number;
3546
+ openSl: number;
3547
+ openTp: number;
3548
+ inactiveSl: number;
3549
+ inactiveTp: number;
3550
+ activeOrders: number;
3551
+ referenceTimestamp: BN;
3552
+ executionCount: BN;
3553
+ pools: PublicKey[];
3554
+ collections: PublicKey[];
3555
+ voltageMultiplier: {
3556
+ volume: BN;
3557
+ rewards: BN;
3558
+ rebates: BN;
3559
+ };
3560
+ tradingDiscount: BN[];
3561
+ referralRebate: BN[];
3562
+ defaultRebate: BN;
3563
+ inceptionTime: BN;
3564
+ transferAuthorityBump: number;
3565
+ perpetualsBump: number;
3566
+ tradeLimit: number;
3567
+ triggerOrderLimit: number;
3568
+ rebateLimitUsd: number;
3569
+ name: string;
3570
+ lpMint: PublicKey;
3571
+ oracleAuthority: PublicKey;
3572
+ stakedLpVault: PublicKey;
3573
+ rewardCustody: PublicKey;
3574
+ custodies: PublicKey[];
3575
+ ratios: {
3576
+ target: BN;
3577
+ min: BN;
3578
+ max: BN;
3579
+ }[];
3580
+ markets: PublicKey[];
3581
+ maxAumUsd: BN;
3582
+ buffer: BN | number[] | number[];
3583
+ rawAumUsd: BN;
3584
+ equityUsd: BN;
3585
+ totalStaked: {
3586
+ pendingActivation: BN;
3587
+ activeAmount: BN;
3588
+ pendingDeactivation: BN;
3589
+ deactivatedAmount: BN;
3590
+ };
3591
+ stakingFeeShareBps: BN;
3592
+ lpMintBump: number;
3593
+ stakedLpVaultBump: number;
3594
+ vpVolumeFactor: number;
3595
+ uniqueCustodyCount: number;
3596
+ stakingFeeBoostBps: BN[];
3597
+ compoundingMint: PublicKey;
3598
+ compoundingLpVault: PublicKey;
3599
+ compoundingStats: {
3600
+ activeAmount: BN;
3601
+ totalSupply: BN;
3602
+ rewardSnapshot: BN;
3603
+ feeShareBps: BN;
3604
+ lastCompoundTime: BN;
3605
+ };
3606
+ compoundingMintBump: number;
3607
+ compoundingLpVaultBump: number;
3608
+ minLpPriceUsd: BN;
3609
+ maxLpPriceUsd: BN;
3610
+ lpPrice: BN;
3611
+ compoundingLpPrice: BN;
3612
+ lastUpdatedTimestamp: BN;
3613
+ feesObligationUsd: BN;
3614
+ rebateObligationUsd: BN;
3615
+ thresholdUsd: BN;
3616
+ delegate: PublicKey;
3617
+ openTime: BN;
3618
+ updateTime: BN;
3619
+ entryPrice: {
3620
+ price: BN;
3621
+ exponent: number;
3622
+ };
3623
+ sizeAmount: BN;
490
3624
  sizeUsd: BN;
491
3625
  lockedAmount: BN;
492
3626
  lockedUsd: BN;
@@ -500,17 +3634,697 @@ export declare class PerpetualsClient {
500
3634
  price: BN;
501
3635
  exponent: number;
502
3636
  };
503
- buffer: number[];
504
3637
  priceImpactSet: number;
505
3638
  sizeDecimals: number;
506
3639
  lockedDecimals: number;
507
3640
  collateralDecimals: number;
508
- bump: number;
509
- padding: number[];
3641
+ key: PublicKey;
3642
+ feeAmount: BN;
3643
+ allowPayout: boolean;
3644
+ availableUsd: BN;
3645
+ availableAmount: BN;
3646
+ refererTokenStakeAccount: PublicKey;
3647
+ refererBoosterAccount: PublicKey;
3648
+ level: number;
3649
+ withdrawRequestCount: number;
3650
+ withdrawRequest: unknown;
3651
+ activeStakeAmount: BN;
3652
+ updateTimestamp: BN;
3653
+ tradeTimestamp: BN;
3654
+ tradeCounter: number;
3655
+ lastRewardEpochCount: number;
3656
+ rewardTokens: BN;
3657
+ unclaimedRevenueAmount: BN;
3658
+ revenueSnapshot: BN;
3659
+ claimableRebateUsd: BN;
3660
+ tokenMint: PublicKey;
3661
+ tokenVaultTokenAccount: PublicKey;
3662
+ tokenPermissions: {
3663
+ allowDeposits: boolean;
3664
+ allowWithdrawal: boolean;
3665
+ allowRewardWithdrawal: boolean;
3666
+ };
3667
+ withdrawTimeLimit: BN;
3668
+ withdrawInstantFee: BN;
3669
+ withdrawInstantFeeEarned: BN;
3670
+ stakeLevel: BN[];
3671
+ tokensStaked: {
3672
+ pendingActivation: BN;
3673
+ activeAmount: BN;
3674
+ pendingDeactivation: BN;
3675
+ deactivatedAmount: BN;
3676
+ };
3677
+ rewardTokensToDistribute: BN;
3678
+ rewardTokensPaid: BN;
3679
+ tokensToDistribute: BN;
3680
+ tokensDistributed: BN;
3681
+ rewardTokensDistributed: BN;
3682
+ revenueTokenAccountBump: number;
3683
+ revenuePerFafStaked: BN;
3684
+ revenueAccrued: BN;
3685
+ revenueDistributed: BN;
3686
+ revenuePaid: BN;
3687
+ nftMint: PublicKey;
3688
+ voltagePoints: BN;
3689
+ stats: {
3690
+ volumeUsd: BN;
3691
+ lpRewardsUsd: BN;
3692
+ referralRebateUsd: BN;
3693
+ };
3694
+ snapshot: {
3695
+ volumeUsd: BN;
3696
+ lpRewardsUsd: BN;
3697
+ referralRebateUsd: BN;
3698
+ };
3699
+ timestamp: BN;
3700
+ counter: BN;
3701
+ tokenStakeAccount: PublicKey;
3702
+ burnt: boolean;
3703
+ isSwapFeeExempt: boolean;
3704
+ isDepositFeeExempt: boolean;
3705
+ isWithdrawalFeeExempt: boolean;
510
3706
  }>[]>;
511
3707
  getAllPositionsByMarket: (marketKey: PublicKey) => Promise<import("@coral-xyz/anchor").ProgramAccount<{
3708
+ pool: PublicKey;
3709
+ mint: PublicKey;
3710
+ tokenAccount: PublicKey;
3711
+ decimals: number;
3712
+ isStable: boolean;
3713
+ depegAdjustment: boolean;
3714
+ isVirtual: boolean;
3715
+ inversePrice: boolean;
3716
+ oracle: {
3717
+ intOracleAccount: PublicKey;
3718
+ extOracleAccount: PublicKey;
3719
+ oracleType: {
3720
+ none?: Record<string, never>;
3721
+ custom?: Record<string, never>;
3722
+ pyth?: Record<string, never>;
3723
+ };
3724
+ maxDivergenceBps: BN;
3725
+ maxConfBps: BN;
3726
+ maxPriceAgeSec: number;
3727
+ maxBackupAgeSec: number;
3728
+ };
3729
+ pricing: {
3730
+ tradeSpreadMin: BN;
3731
+ tradeSpreadMax: BN;
3732
+ swapSpread: BN;
3733
+ minInitLeverage: number;
3734
+ minInitDegenLeverage: number;
3735
+ maxInitLeverage: number;
3736
+ maxInitDegenLeverage: number;
3737
+ maxLeverage: number;
3738
+ maxDegenLeverage: number;
3739
+ minCollateralUsd: number;
3740
+ minDegenCollateralUsd: number;
3741
+ delaySeconds: BN;
3742
+ maxUtilization: number;
3743
+ degenPositionFactor: number;
3744
+ degenExposureFactor: number;
3745
+ maxPositionSizeUsd: BN;
3746
+ maxExposureUsd: BN;
3747
+ };
3748
+ permissions: {
3749
+ allowSwap: boolean;
3750
+ allowAddLiquidity: boolean;
3751
+ allowRemoveLiquidity: boolean;
3752
+ allowOpenPosition: boolean;
3753
+ allowClosePosition: boolean;
3754
+ allowCollateralWithdrawal: boolean;
3755
+ allowSizeChange: boolean;
3756
+ allowLiquidation: boolean;
3757
+ allowLpStaking: boolean;
3758
+ allowFeeDistribution: boolean;
3759
+ allowUngatedTrading: boolean;
3760
+ allowFeeDiscounts: boolean;
3761
+ allowReferralRebates: boolean;
3762
+ } | {
3763
+ allowOpenPosition: boolean;
3764
+ allowClosePosition: boolean;
3765
+ allowCollateralWithdrawal: boolean;
3766
+ allowSizeChange: boolean;
3767
+ };
3768
+ fees: {
3769
+ mode: {
3770
+ fixed?: Record<string, never>;
3771
+ linear?: Record<string, never>;
3772
+ };
3773
+ swapIn: {
3774
+ minFee: BN;
3775
+ targetFee: BN;
3776
+ maxFee: BN;
3777
+ };
3778
+ swapOut: {
3779
+ minFee: BN;
3780
+ targetFee: BN;
3781
+ maxFee: BN;
3782
+ };
3783
+ stableSwapIn: {
3784
+ minFee: BN;
3785
+ targetFee: BN;
3786
+ maxFee: BN;
3787
+ };
3788
+ stableSwapOut: {
3789
+ minFee: BN;
3790
+ targetFee: BN;
3791
+ maxFee: BN;
3792
+ };
3793
+ addLiquidity: {
3794
+ minFee: BN;
3795
+ targetFee: BN;
3796
+ maxFee: BN;
3797
+ };
3798
+ removeLiquidity: {
3799
+ minFee: BN;
3800
+ targetFee: BN;
3801
+ maxFee: BN;
3802
+ };
3803
+ openPosition: BN;
3804
+ closePosition: BN;
3805
+ volatility: BN;
3806
+ };
3807
+ borrowRate: {
3808
+ baseRate: BN;
3809
+ slope1: BN;
3810
+ slope2: BN;
3811
+ optimalUtilization: BN;
3812
+ };
3813
+ rewardThreshold: BN;
3814
+ assets: {
3815
+ collateral: BN;
3816
+ owned: BN;
3817
+ locked: BN;
3818
+ };
3819
+ feesStats: {
3820
+ accrued: BN;
3821
+ distributed: BN;
3822
+ paid: BN;
3823
+ rewardPerLpStaked: BN;
3824
+ protocolFee: BN;
3825
+ };
3826
+ borrowRateState: {
3827
+ currentRate: BN;
3828
+ cumulativeLockFee: BN;
3829
+ lastUpdate: BN;
3830
+ };
3831
+ bump: number;
3832
+ tokenAccountBump: number;
3833
+ token22: boolean;
3834
+ uid: number;
3835
+ reservedAmount: BN;
3836
+ minReserveUsd: BN;
3837
+ limitPriceBufferBps: BN;
3838
+ padding: number[] | number[] | number[] | BN[] | number[] | number[] | BN[] | BN[] | BN[] | number[];
3839
+ owner: PublicKey;
3840
+ stakeStats: {
3841
+ pendingActivation: BN;
3842
+ activeAmount: BN;
3843
+ pendingDeactivation: BN;
3844
+ deactivatedAmount: BN;
3845
+ };
3846
+ rewardSnapshot: BN;
3847
+ unclaimedRewards: BN;
3848
+ feeShareBps: BN;
3849
+ isInitialized: number | boolean;
3850
+ targetCustody: PublicKey;
3851
+ collateralCustody: PublicKey;
3852
+ side: {
3853
+ none?: Record<string, never>;
3854
+ long?: Record<string, never>;
3855
+ short?: Record<string, never>;
3856
+ };
3857
+ correlation: boolean;
3858
+ maxPayoffBps: BN;
3859
+ degenExposureUsd: BN;
3860
+ collectivePosition: {
3861
+ openPositions: BN;
3862
+ updateTime: BN;
3863
+ averageEntryPrice: {
3864
+ price: BN;
3865
+ exponent: number;
3866
+ };
3867
+ sizeAmount: BN;
3868
+ sizeUsd: BN;
3869
+ lockedAmount: BN;
3870
+ lockedUsd: BN;
3871
+ collateralAmount: BN;
3872
+ collateralLiabilityUsd: BN;
3873
+ unsettledFeeUsd: BN;
3874
+ cumulativeLockFeeSnapshot: BN;
3875
+ sizeDecimals: number;
3876
+ lockedDecimals: number;
3877
+ collateralDecimals: number;
3878
+ };
3879
+ targetCustodyUid: number;
3880
+ collateralCustodyUid: number;
3881
+ padding2: number[] | BN[];
3882
+ numSigners: number;
3883
+ numSigned: number;
3884
+ minSignatures: number;
3885
+ instructionAccountsLen: number;
3886
+ instructionDataLen: number;
3887
+ instructionHash: BN;
3888
+ signers: PublicKey[];
3889
+ signed: number[];
3890
+ price: BN;
3891
+ expo: number;
3892
+ conf: BN;
3893
+ ema: BN;
3894
+ publishTime: BN;
3895
+ extOracleAccount: PublicKey;
3896
+ market: PublicKey;
3897
+ limitOrders: unknown;
3898
+ takeProfitOrders: unknown;
3899
+ stopLossOrders: unknown;
3900
+ isInitialised: boolean;
3901
+ openOrders: number;
3902
+ openSl: number;
3903
+ openTp: number;
3904
+ inactiveSl: number;
3905
+ inactiveTp: number;
3906
+ activeOrders: number;
3907
+ referenceTimestamp: BN;
3908
+ executionCount: BN;
3909
+ pools: PublicKey[];
3910
+ collections: PublicKey[];
3911
+ voltageMultiplier: {
3912
+ volume: BN;
3913
+ rewards: BN;
3914
+ rebates: BN;
3915
+ };
3916
+ tradingDiscount: BN[];
3917
+ referralRebate: BN[];
3918
+ defaultRebate: BN;
3919
+ inceptionTime: BN;
3920
+ transferAuthorityBump: number;
3921
+ perpetualsBump: number;
3922
+ tradeLimit: number;
3923
+ triggerOrderLimit: number;
3924
+ rebateLimitUsd: number;
3925
+ name: string;
3926
+ lpMint: PublicKey;
3927
+ oracleAuthority: PublicKey;
3928
+ stakedLpVault: PublicKey;
3929
+ rewardCustody: PublicKey;
3930
+ custodies: PublicKey[];
3931
+ ratios: {
3932
+ target: BN;
3933
+ min: BN;
3934
+ max: BN;
3935
+ }[];
3936
+ markets: PublicKey[];
3937
+ maxAumUsd: BN;
3938
+ buffer: BN | number[] | number[];
3939
+ rawAumUsd: BN;
3940
+ equityUsd: BN;
3941
+ totalStaked: {
3942
+ pendingActivation: BN;
3943
+ activeAmount: BN;
3944
+ pendingDeactivation: BN;
3945
+ deactivatedAmount: BN;
3946
+ };
3947
+ stakingFeeShareBps: BN;
3948
+ lpMintBump: number;
3949
+ stakedLpVaultBump: number;
3950
+ vpVolumeFactor: number;
3951
+ uniqueCustodyCount: number;
3952
+ stakingFeeBoostBps: BN[];
3953
+ compoundingMint: PublicKey;
3954
+ compoundingLpVault: PublicKey;
3955
+ compoundingStats: {
3956
+ activeAmount: BN;
3957
+ totalSupply: BN;
3958
+ rewardSnapshot: BN;
3959
+ feeShareBps: BN;
3960
+ lastCompoundTime: BN;
3961
+ };
3962
+ compoundingMintBump: number;
3963
+ compoundingLpVaultBump: number;
3964
+ minLpPriceUsd: BN;
3965
+ maxLpPriceUsd: BN;
3966
+ lpPrice: BN;
3967
+ compoundingLpPrice: BN;
3968
+ lastUpdatedTimestamp: BN;
3969
+ feesObligationUsd: BN;
3970
+ rebateObligationUsd: BN;
3971
+ thresholdUsd: BN;
3972
+ delegate: PublicKey;
3973
+ openTime: BN;
3974
+ updateTime: BN;
3975
+ entryPrice: {
3976
+ price: BN;
3977
+ exponent: number;
3978
+ };
3979
+ sizeAmount: BN;
3980
+ sizeUsd: BN;
3981
+ lockedAmount: BN;
3982
+ lockedUsd: BN;
3983
+ priceImpactUsd: BN;
3984
+ collateralUsd: BN;
3985
+ unsettledValueUsd: BN;
3986
+ unsettledFeesUsd: BN;
3987
+ cumulativeLockFeeSnapshot: BN;
3988
+ degenSizeUsd: BN;
3989
+ referencePrice: {
3990
+ price: BN;
3991
+ exponent: number;
3992
+ };
3993
+ priceImpactSet: number;
3994
+ sizeDecimals: number;
3995
+ lockedDecimals: number;
3996
+ collateralDecimals: number;
3997
+ key: PublicKey;
3998
+ feeAmount: BN;
3999
+ allowPayout: boolean;
4000
+ availableUsd: BN;
4001
+ availableAmount: BN;
4002
+ refererTokenStakeAccount: PublicKey;
4003
+ refererBoosterAccount: PublicKey;
4004
+ level: number;
4005
+ withdrawRequestCount: number;
4006
+ withdrawRequest: unknown;
4007
+ activeStakeAmount: BN;
4008
+ updateTimestamp: BN;
4009
+ tradeTimestamp: BN;
4010
+ tradeCounter: number;
4011
+ lastRewardEpochCount: number;
4012
+ rewardTokens: BN;
4013
+ unclaimedRevenueAmount: BN;
4014
+ revenueSnapshot: BN;
4015
+ claimableRebateUsd: BN;
4016
+ tokenMint: PublicKey;
4017
+ tokenVaultTokenAccount: PublicKey;
4018
+ tokenPermissions: {
4019
+ allowDeposits: boolean;
4020
+ allowWithdrawal: boolean;
4021
+ allowRewardWithdrawal: boolean;
4022
+ };
4023
+ withdrawTimeLimit: BN;
4024
+ withdrawInstantFee: BN;
4025
+ withdrawInstantFeeEarned: BN;
4026
+ stakeLevel: BN[];
4027
+ tokensStaked: {
4028
+ pendingActivation: BN;
4029
+ activeAmount: BN;
4030
+ pendingDeactivation: BN;
4031
+ deactivatedAmount: BN;
4032
+ };
4033
+ rewardTokensToDistribute: BN;
4034
+ rewardTokensPaid: BN;
4035
+ tokensToDistribute: BN;
4036
+ tokensDistributed: BN;
4037
+ rewardTokensDistributed: BN;
4038
+ revenueTokenAccountBump: number;
4039
+ revenuePerFafStaked: BN;
4040
+ revenueAccrued: BN;
4041
+ revenueDistributed: BN;
4042
+ revenuePaid: BN;
4043
+ nftMint: PublicKey;
4044
+ voltagePoints: BN;
4045
+ stats: {
4046
+ volumeUsd: BN;
4047
+ lpRewardsUsd: BN;
4048
+ referralRebateUsd: BN;
4049
+ };
4050
+ snapshot: {
4051
+ volumeUsd: BN;
4052
+ lpRewardsUsd: BN;
4053
+ referralRebateUsd: BN;
4054
+ };
4055
+ timestamp: BN;
4056
+ counter: BN;
4057
+ tokenStakeAccount: PublicKey;
4058
+ burnt: boolean;
4059
+ isSwapFeeExempt: boolean;
4060
+ isDepositFeeExempt: boolean;
4061
+ isWithdrawalFeeExempt: boolean;
4062
+ }>[]>;
4063
+ getAllActivePositionsByMarket: (marketKey: PublicKey) => Promise<import("@coral-xyz/anchor").ProgramAccount<{
4064
+ pool: PublicKey;
4065
+ mint: PublicKey;
4066
+ tokenAccount: PublicKey;
4067
+ decimals: number;
4068
+ isStable: boolean;
4069
+ depegAdjustment: boolean;
4070
+ isVirtual: boolean;
4071
+ inversePrice: boolean;
4072
+ oracle: {
4073
+ intOracleAccount: PublicKey;
4074
+ extOracleAccount: PublicKey;
4075
+ oracleType: {
4076
+ none?: Record<string, never>;
4077
+ custom?: Record<string, never>;
4078
+ pyth?: Record<string, never>;
4079
+ };
4080
+ maxDivergenceBps: BN;
4081
+ maxConfBps: BN;
4082
+ maxPriceAgeSec: number;
4083
+ maxBackupAgeSec: number;
4084
+ };
4085
+ pricing: {
4086
+ tradeSpreadMin: BN;
4087
+ tradeSpreadMax: BN;
4088
+ swapSpread: BN;
4089
+ minInitLeverage: number;
4090
+ minInitDegenLeverage: number;
4091
+ maxInitLeverage: number;
4092
+ maxInitDegenLeverage: number;
4093
+ maxLeverage: number;
4094
+ maxDegenLeverage: number;
4095
+ minCollateralUsd: number;
4096
+ minDegenCollateralUsd: number;
4097
+ delaySeconds: BN;
4098
+ maxUtilization: number;
4099
+ degenPositionFactor: number;
4100
+ degenExposureFactor: number;
4101
+ maxPositionSizeUsd: BN;
4102
+ maxExposureUsd: BN;
4103
+ };
4104
+ permissions: {
4105
+ allowSwap: boolean;
4106
+ allowAddLiquidity: boolean;
4107
+ allowRemoveLiquidity: boolean;
4108
+ allowOpenPosition: boolean;
4109
+ allowClosePosition: boolean;
4110
+ allowCollateralWithdrawal: boolean;
4111
+ allowSizeChange: boolean;
4112
+ allowLiquidation: boolean;
4113
+ allowLpStaking: boolean;
4114
+ allowFeeDistribution: boolean;
4115
+ allowUngatedTrading: boolean;
4116
+ allowFeeDiscounts: boolean;
4117
+ allowReferralRebates: boolean;
4118
+ } | {
4119
+ allowOpenPosition: boolean;
4120
+ allowClosePosition: boolean;
4121
+ allowCollateralWithdrawal: boolean;
4122
+ allowSizeChange: boolean;
4123
+ };
4124
+ fees: {
4125
+ mode: {
4126
+ fixed?: Record<string, never>;
4127
+ linear?: Record<string, never>;
4128
+ };
4129
+ swapIn: {
4130
+ minFee: BN;
4131
+ targetFee: BN;
4132
+ maxFee: BN;
4133
+ };
4134
+ swapOut: {
4135
+ minFee: BN;
4136
+ targetFee: BN;
4137
+ maxFee: BN;
4138
+ };
4139
+ stableSwapIn: {
4140
+ minFee: BN;
4141
+ targetFee: BN;
4142
+ maxFee: BN;
4143
+ };
4144
+ stableSwapOut: {
4145
+ minFee: BN;
4146
+ targetFee: BN;
4147
+ maxFee: BN;
4148
+ };
4149
+ addLiquidity: {
4150
+ minFee: BN;
4151
+ targetFee: BN;
4152
+ maxFee: BN;
4153
+ };
4154
+ removeLiquidity: {
4155
+ minFee: BN;
4156
+ targetFee: BN;
4157
+ maxFee: BN;
4158
+ };
4159
+ openPosition: BN;
4160
+ closePosition: BN;
4161
+ volatility: BN;
4162
+ };
4163
+ borrowRate: {
4164
+ baseRate: BN;
4165
+ slope1: BN;
4166
+ slope2: BN;
4167
+ optimalUtilization: BN;
4168
+ };
4169
+ rewardThreshold: BN;
4170
+ assets: {
4171
+ collateral: BN;
4172
+ owned: BN;
4173
+ locked: BN;
4174
+ };
4175
+ feesStats: {
4176
+ accrued: BN;
4177
+ distributed: BN;
4178
+ paid: BN;
4179
+ rewardPerLpStaked: BN;
4180
+ protocolFee: BN;
4181
+ };
4182
+ borrowRateState: {
4183
+ currentRate: BN;
4184
+ cumulativeLockFee: BN;
4185
+ lastUpdate: BN;
4186
+ };
4187
+ bump: number;
4188
+ tokenAccountBump: number;
4189
+ token22: boolean;
4190
+ uid: number;
4191
+ reservedAmount: BN;
4192
+ minReserveUsd: BN;
4193
+ limitPriceBufferBps: BN;
4194
+ padding: number[] | number[] | number[] | BN[] | number[] | number[] | BN[] | BN[] | BN[] | number[];
512
4195
  owner: PublicKey;
4196
+ stakeStats: {
4197
+ pendingActivation: BN;
4198
+ activeAmount: BN;
4199
+ pendingDeactivation: BN;
4200
+ deactivatedAmount: BN;
4201
+ };
4202
+ rewardSnapshot: BN;
4203
+ unclaimedRewards: BN;
4204
+ feeShareBps: BN;
4205
+ isInitialized: number | boolean;
4206
+ targetCustody: PublicKey;
4207
+ collateralCustody: PublicKey;
4208
+ side: {
4209
+ none?: Record<string, never>;
4210
+ long?: Record<string, never>;
4211
+ short?: Record<string, never>;
4212
+ };
4213
+ correlation: boolean;
4214
+ maxPayoffBps: BN;
4215
+ degenExposureUsd: BN;
4216
+ collectivePosition: {
4217
+ openPositions: BN;
4218
+ updateTime: BN;
4219
+ averageEntryPrice: {
4220
+ price: BN;
4221
+ exponent: number;
4222
+ };
4223
+ sizeAmount: BN;
4224
+ sizeUsd: BN;
4225
+ lockedAmount: BN;
4226
+ lockedUsd: BN;
4227
+ collateralAmount: BN;
4228
+ collateralLiabilityUsd: BN;
4229
+ unsettledFeeUsd: BN;
4230
+ cumulativeLockFeeSnapshot: BN;
4231
+ sizeDecimals: number;
4232
+ lockedDecimals: number;
4233
+ collateralDecimals: number;
4234
+ };
4235
+ targetCustodyUid: number;
4236
+ collateralCustodyUid: number;
4237
+ padding2: number[] | BN[];
4238
+ numSigners: number;
4239
+ numSigned: number;
4240
+ minSignatures: number;
4241
+ instructionAccountsLen: number;
4242
+ instructionDataLen: number;
4243
+ instructionHash: BN;
4244
+ signers: PublicKey[];
4245
+ signed: number[];
4246
+ price: BN;
4247
+ expo: number;
4248
+ conf: BN;
4249
+ ema: BN;
4250
+ publishTime: BN;
4251
+ extOracleAccount: PublicKey;
513
4252
  market: PublicKey;
4253
+ limitOrders: unknown;
4254
+ takeProfitOrders: unknown;
4255
+ stopLossOrders: unknown;
4256
+ isInitialised: boolean;
4257
+ openOrders: number;
4258
+ openSl: number;
4259
+ openTp: number;
4260
+ inactiveSl: number;
4261
+ inactiveTp: number;
4262
+ activeOrders: number;
4263
+ referenceTimestamp: BN;
4264
+ executionCount: BN;
4265
+ pools: PublicKey[];
4266
+ collections: PublicKey[];
4267
+ voltageMultiplier: {
4268
+ volume: BN;
4269
+ rewards: BN;
4270
+ rebates: BN;
4271
+ };
4272
+ tradingDiscount: BN[];
4273
+ referralRebate: BN[];
4274
+ defaultRebate: BN;
4275
+ inceptionTime: BN;
4276
+ transferAuthorityBump: number;
4277
+ perpetualsBump: number;
4278
+ tradeLimit: number;
4279
+ triggerOrderLimit: number;
4280
+ rebateLimitUsd: number;
4281
+ name: string;
4282
+ lpMint: PublicKey;
4283
+ oracleAuthority: PublicKey;
4284
+ stakedLpVault: PublicKey;
4285
+ rewardCustody: PublicKey;
4286
+ custodies: PublicKey[];
4287
+ ratios: {
4288
+ target: BN;
4289
+ min: BN;
4290
+ max: BN;
4291
+ }[];
4292
+ markets: PublicKey[];
4293
+ maxAumUsd: BN;
4294
+ buffer: BN | number[] | number[];
4295
+ rawAumUsd: BN;
4296
+ equityUsd: BN;
4297
+ totalStaked: {
4298
+ pendingActivation: BN;
4299
+ activeAmount: BN;
4300
+ pendingDeactivation: BN;
4301
+ deactivatedAmount: BN;
4302
+ };
4303
+ stakingFeeShareBps: BN;
4304
+ lpMintBump: number;
4305
+ stakedLpVaultBump: number;
4306
+ vpVolumeFactor: number;
4307
+ uniqueCustodyCount: number;
4308
+ stakingFeeBoostBps: BN[];
4309
+ compoundingMint: PublicKey;
4310
+ compoundingLpVault: PublicKey;
4311
+ compoundingStats: {
4312
+ activeAmount: BN;
4313
+ totalSupply: BN;
4314
+ rewardSnapshot: BN;
4315
+ feeShareBps: BN;
4316
+ lastCompoundTime: BN;
4317
+ };
4318
+ compoundingMintBump: number;
4319
+ compoundingLpVaultBump: number;
4320
+ minLpPriceUsd: BN;
4321
+ maxLpPriceUsd: BN;
4322
+ lpPrice: BN;
4323
+ compoundingLpPrice: BN;
4324
+ lastUpdatedTimestamp: BN;
4325
+ feesObligationUsd: BN;
4326
+ rebateObligationUsd: BN;
4327
+ thresholdUsd: BN;
514
4328
  delegate: PublicKey;
515
4329
  openTime: BN;
516
4330
  updateTime: BN;
@@ -532,17 +4346,341 @@ export declare class PerpetualsClient {
532
4346
  price: BN;
533
4347
  exponent: number;
534
4348
  };
535
- buffer: number[];
536
4349
  priceImpactSet: number;
537
4350
  sizeDecimals: number;
538
4351
  lockedDecimals: number;
539
4352
  collateralDecimals: number;
540
- bump: number;
541
- padding: number[];
4353
+ key: PublicKey;
4354
+ feeAmount: BN;
4355
+ allowPayout: boolean;
4356
+ availableUsd: BN;
4357
+ availableAmount: BN;
4358
+ refererTokenStakeAccount: PublicKey;
4359
+ refererBoosterAccount: PublicKey;
4360
+ level: number;
4361
+ withdrawRequestCount: number;
4362
+ withdrawRequest: unknown;
4363
+ activeStakeAmount: BN;
4364
+ updateTimestamp: BN;
4365
+ tradeTimestamp: BN;
4366
+ tradeCounter: number;
4367
+ lastRewardEpochCount: number;
4368
+ rewardTokens: BN;
4369
+ unclaimedRevenueAmount: BN;
4370
+ revenueSnapshot: BN;
4371
+ claimableRebateUsd: BN;
4372
+ tokenMint: PublicKey;
4373
+ tokenVaultTokenAccount: PublicKey;
4374
+ tokenPermissions: {
4375
+ allowDeposits: boolean;
4376
+ allowWithdrawal: boolean;
4377
+ allowRewardWithdrawal: boolean;
4378
+ };
4379
+ withdrawTimeLimit: BN;
4380
+ withdrawInstantFee: BN;
4381
+ withdrawInstantFeeEarned: BN;
4382
+ stakeLevel: BN[];
4383
+ tokensStaked: {
4384
+ pendingActivation: BN;
4385
+ activeAmount: BN;
4386
+ pendingDeactivation: BN;
4387
+ deactivatedAmount: BN;
4388
+ };
4389
+ rewardTokensToDistribute: BN;
4390
+ rewardTokensPaid: BN;
4391
+ tokensToDistribute: BN;
4392
+ tokensDistributed: BN;
4393
+ rewardTokensDistributed: BN;
4394
+ revenueTokenAccountBump: number;
4395
+ revenuePerFafStaked: BN;
4396
+ revenueAccrued: BN;
4397
+ revenueDistributed: BN;
4398
+ revenuePaid: BN;
4399
+ nftMint: PublicKey;
4400
+ voltagePoints: BN;
4401
+ stats: {
4402
+ volumeUsd: BN;
4403
+ lpRewardsUsd: BN;
4404
+ referralRebateUsd: BN;
4405
+ };
4406
+ snapshot: {
4407
+ volumeUsd: BN;
4408
+ lpRewardsUsd: BN;
4409
+ referralRebateUsd: BN;
4410
+ };
4411
+ timestamp: BN;
4412
+ counter: BN;
4413
+ tokenStakeAccount: PublicKey;
4414
+ burnt: boolean;
4415
+ isSwapFeeExempt: boolean;
4416
+ isDepositFeeExempt: boolean;
4417
+ isWithdrawalFeeExempt: boolean;
542
4418
  }>[]>;
543
- getAllActivePositionsByMarket: (marketKey: PublicKey) => Promise<import("@coral-xyz/anchor").ProgramAccount<{
4419
+ getAllOrderAccounts: () => Promise<import("@coral-xyz/anchor").ProgramAccount<{
4420
+ pool: PublicKey;
4421
+ mint: PublicKey;
4422
+ tokenAccount: PublicKey;
4423
+ decimals: number;
4424
+ isStable: boolean;
4425
+ depegAdjustment: boolean;
4426
+ isVirtual: boolean;
4427
+ inversePrice: boolean;
4428
+ oracle: {
4429
+ intOracleAccount: PublicKey;
4430
+ extOracleAccount: PublicKey;
4431
+ oracleType: {
4432
+ none?: Record<string, never>;
4433
+ custom?: Record<string, never>;
4434
+ pyth?: Record<string, never>;
4435
+ };
4436
+ maxDivergenceBps: BN;
4437
+ maxConfBps: BN;
4438
+ maxPriceAgeSec: number;
4439
+ maxBackupAgeSec: number;
4440
+ };
4441
+ pricing: {
4442
+ tradeSpreadMin: BN;
4443
+ tradeSpreadMax: BN;
4444
+ swapSpread: BN;
4445
+ minInitLeverage: number;
4446
+ minInitDegenLeverage: number;
4447
+ maxInitLeverage: number;
4448
+ maxInitDegenLeverage: number;
4449
+ maxLeverage: number;
4450
+ maxDegenLeverage: number;
4451
+ minCollateralUsd: number;
4452
+ minDegenCollateralUsd: number;
4453
+ delaySeconds: BN;
4454
+ maxUtilization: number;
4455
+ degenPositionFactor: number;
4456
+ degenExposureFactor: number;
4457
+ maxPositionSizeUsd: BN;
4458
+ maxExposureUsd: BN;
4459
+ };
4460
+ permissions: {
4461
+ allowSwap: boolean;
4462
+ allowAddLiquidity: boolean;
4463
+ allowRemoveLiquidity: boolean;
4464
+ allowOpenPosition: boolean;
4465
+ allowClosePosition: boolean;
4466
+ allowCollateralWithdrawal: boolean;
4467
+ allowSizeChange: boolean;
4468
+ allowLiquidation: boolean;
4469
+ allowLpStaking: boolean;
4470
+ allowFeeDistribution: boolean;
4471
+ allowUngatedTrading: boolean;
4472
+ allowFeeDiscounts: boolean;
4473
+ allowReferralRebates: boolean;
4474
+ } | {
4475
+ allowOpenPosition: boolean;
4476
+ allowClosePosition: boolean;
4477
+ allowCollateralWithdrawal: boolean;
4478
+ allowSizeChange: boolean;
4479
+ };
4480
+ fees: {
4481
+ mode: {
4482
+ fixed?: Record<string, never>;
4483
+ linear?: Record<string, never>;
4484
+ };
4485
+ swapIn: {
4486
+ minFee: BN;
4487
+ targetFee: BN;
4488
+ maxFee: BN;
4489
+ };
4490
+ swapOut: {
4491
+ minFee: BN;
4492
+ targetFee: BN;
4493
+ maxFee: BN;
4494
+ };
4495
+ stableSwapIn: {
4496
+ minFee: BN;
4497
+ targetFee: BN;
4498
+ maxFee: BN;
4499
+ };
4500
+ stableSwapOut: {
4501
+ minFee: BN;
4502
+ targetFee: BN;
4503
+ maxFee: BN;
4504
+ };
4505
+ addLiquidity: {
4506
+ minFee: BN;
4507
+ targetFee: BN;
4508
+ maxFee: BN;
4509
+ };
4510
+ removeLiquidity: {
4511
+ minFee: BN;
4512
+ targetFee: BN;
4513
+ maxFee: BN;
4514
+ };
4515
+ openPosition: BN;
4516
+ closePosition: BN;
4517
+ volatility: BN;
4518
+ };
4519
+ borrowRate: {
4520
+ baseRate: BN;
4521
+ slope1: BN;
4522
+ slope2: BN;
4523
+ optimalUtilization: BN;
4524
+ };
4525
+ rewardThreshold: BN;
4526
+ assets: {
4527
+ collateral: BN;
4528
+ owned: BN;
4529
+ locked: BN;
4530
+ };
4531
+ feesStats: {
4532
+ accrued: BN;
4533
+ distributed: BN;
4534
+ paid: BN;
4535
+ rewardPerLpStaked: BN;
4536
+ protocolFee: BN;
4537
+ };
4538
+ borrowRateState: {
4539
+ currentRate: BN;
4540
+ cumulativeLockFee: BN;
4541
+ lastUpdate: BN;
4542
+ };
4543
+ bump: number;
4544
+ tokenAccountBump: number;
4545
+ token22: boolean;
4546
+ uid: number;
4547
+ reservedAmount: BN;
4548
+ minReserveUsd: BN;
4549
+ limitPriceBufferBps: BN;
4550
+ padding: number[] | number[] | number[] | BN[] | number[] | number[] | BN[] | BN[] | BN[] | number[];
544
4551
  owner: PublicKey;
4552
+ stakeStats: {
4553
+ pendingActivation: BN;
4554
+ activeAmount: BN;
4555
+ pendingDeactivation: BN;
4556
+ deactivatedAmount: BN;
4557
+ };
4558
+ rewardSnapshot: BN;
4559
+ unclaimedRewards: BN;
4560
+ feeShareBps: BN;
4561
+ isInitialized: number | boolean;
4562
+ targetCustody: PublicKey;
4563
+ collateralCustody: PublicKey;
4564
+ side: {
4565
+ none?: Record<string, never>;
4566
+ long?: Record<string, never>;
4567
+ short?: Record<string, never>;
4568
+ };
4569
+ correlation: boolean;
4570
+ maxPayoffBps: BN;
4571
+ degenExposureUsd: BN;
4572
+ collectivePosition: {
4573
+ openPositions: BN;
4574
+ updateTime: BN;
4575
+ averageEntryPrice: {
4576
+ price: BN;
4577
+ exponent: number;
4578
+ };
4579
+ sizeAmount: BN;
4580
+ sizeUsd: BN;
4581
+ lockedAmount: BN;
4582
+ lockedUsd: BN;
4583
+ collateralAmount: BN;
4584
+ collateralLiabilityUsd: BN;
4585
+ unsettledFeeUsd: BN;
4586
+ cumulativeLockFeeSnapshot: BN;
4587
+ sizeDecimals: number;
4588
+ lockedDecimals: number;
4589
+ collateralDecimals: number;
4590
+ };
4591
+ targetCustodyUid: number;
4592
+ collateralCustodyUid: number;
4593
+ padding2: number[] | BN[];
4594
+ numSigners: number;
4595
+ numSigned: number;
4596
+ minSignatures: number;
4597
+ instructionAccountsLen: number;
4598
+ instructionDataLen: number;
4599
+ instructionHash: BN;
4600
+ signers: PublicKey[];
4601
+ signed: number[];
4602
+ price: BN;
4603
+ expo: number;
4604
+ conf: BN;
4605
+ ema: BN;
4606
+ publishTime: BN;
4607
+ extOracleAccount: PublicKey;
545
4608
  market: PublicKey;
4609
+ limitOrders: unknown;
4610
+ takeProfitOrders: unknown;
4611
+ stopLossOrders: unknown;
4612
+ isInitialised: boolean;
4613
+ openOrders: number;
4614
+ openSl: number;
4615
+ openTp: number;
4616
+ inactiveSl: number;
4617
+ inactiveTp: number;
4618
+ activeOrders: number;
4619
+ referenceTimestamp: BN;
4620
+ executionCount: BN;
4621
+ pools: PublicKey[];
4622
+ collections: PublicKey[];
4623
+ voltageMultiplier: {
4624
+ volume: BN;
4625
+ rewards: BN;
4626
+ rebates: BN;
4627
+ };
4628
+ tradingDiscount: BN[];
4629
+ referralRebate: BN[];
4630
+ defaultRebate: BN;
4631
+ inceptionTime: BN;
4632
+ transferAuthorityBump: number;
4633
+ perpetualsBump: number;
4634
+ tradeLimit: number;
4635
+ triggerOrderLimit: number;
4636
+ rebateLimitUsd: number;
4637
+ name: string;
4638
+ lpMint: PublicKey;
4639
+ oracleAuthority: PublicKey;
4640
+ stakedLpVault: PublicKey;
4641
+ rewardCustody: PublicKey;
4642
+ custodies: PublicKey[];
4643
+ ratios: {
4644
+ target: BN;
4645
+ min: BN;
4646
+ max: BN;
4647
+ }[];
4648
+ markets: PublicKey[];
4649
+ maxAumUsd: BN;
4650
+ buffer: BN | number[] | number[];
4651
+ rawAumUsd: BN;
4652
+ equityUsd: BN;
4653
+ totalStaked: {
4654
+ pendingActivation: BN;
4655
+ activeAmount: BN;
4656
+ pendingDeactivation: BN;
4657
+ deactivatedAmount: BN;
4658
+ };
4659
+ stakingFeeShareBps: BN;
4660
+ lpMintBump: number;
4661
+ stakedLpVaultBump: number;
4662
+ vpVolumeFactor: number;
4663
+ uniqueCustodyCount: number;
4664
+ stakingFeeBoostBps: BN[];
4665
+ compoundingMint: PublicKey;
4666
+ compoundingLpVault: PublicKey;
4667
+ compoundingStats: {
4668
+ activeAmount: BN;
4669
+ totalSupply: BN;
4670
+ rewardSnapshot: BN;
4671
+ feeShareBps: BN;
4672
+ lastCompoundTime: BN;
4673
+ };
4674
+ compoundingMintBump: number;
4675
+ compoundingLpVaultBump: number;
4676
+ minLpPriceUsd: BN;
4677
+ maxLpPriceUsd: BN;
4678
+ lpPrice: BN;
4679
+ compoundingLpPrice: BN;
4680
+ lastUpdatedTimestamp: BN;
4681
+ feesObligationUsd: BN;
4682
+ rebateObligationUsd: BN;
4683
+ thresholdUsd: BN;
546
4684
  delegate: PublicKey;
547
4685
  openTime: BN;
548
4686
  updateTime: BN;
@@ -564,64 +4702,77 @@ export declare class PerpetualsClient {
564
4702
  price: BN;
565
4703
  exponent: number;
566
4704
  };
567
- buffer: number[];
568
4705
  priceImpactSet: number;
569
4706
  sizeDecimals: number;
570
4707
  lockedDecimals: number;
571
4708
  collateralDecimals: number;
572
- bump: number;
573
- padding: number[];
574
- }>[]>;
575
- getAllOrderAccounts: () => Promise<import("@coral-xyz/anchor").ProgramAccount<{
576
- owner: PublicKey;
577
- market: PublicKey;
578
- limitOrders: {
579
- limitPrice: {
580
- price: BN;
581
- exponent: number;
582
- };
583
- reserveAmount: BN;
584
- reserveCustodyUid: number;
585
- receiveCustodyUid: number;
586
- sizeAmount: BN;
587
- stopLossPrice: {
588
- price: BN;
589
- exponent: number;
590
- };
591
- takeProfitPrice: {
592
- price: BN;
593
- exponent: number;
594
- };
595
- }[];
596
- takeProfitOrders: {
597
- triggerPrice: {
598
- price: BN;
599
- exponent: number;
600
- };
601
- triggerSize: BN;
602
- receiveCustodyUid: number;
603
- }[];
604
- stopLossOrders: {
605
- triggerPrice: {
606
- price: BN;
607
- exponent: number;
608
- };
609
- triggerSize: BN;
610
- receiveCustodyUid: number;
611
- }[];
612
- isInitialised: boolean;
613
- openOrders: number;
614
- openSl: number;
615
- openTp: number;
616
- inactiveSl: number;
617
- inactiveTp: number;
618
- activeOrders: number;
619
- bump: number;
620
- referenceTimestamp: BN;
621
- executionCount: BN;
622
- padding: BN[];
4709
+ key: PublicKey;
4710
+ feeAmount: BN;
4711
+ allowPayout: boolean;
4712
+ availableUsd: BN;
4713
+ availableAmount: BN;
4714
+ refererTokenStakeAccount: PublicKey;
4715
+ refererBoosterAccount: PublicKey;
4716
+ level: number;
4717
+ withdrawRequestCount: number;
4718
+ withdrawRequest: unknown;
4719
+ activeStakeAmount: BN;
4720
+ updateTimestamp: BN;
4721
+ tradeTimestamp: BN;
4722
+ tradeCounter: number;
4723
+ lastRewardEpochCount: number;
4724
+ rewardTokens: BN;
4725
+ unclaimedRevenueAmount: BN;
4726
+ revenueSnapshot: BN;
4727
+ claimableRebateUsd: BN;
4728
+ tokenMint: PublicKey;
4729
+ tokenVaultTokenAccount: PublicKey;
4730
+ tokenPermissions: {
4731
+ allowDeposits: boolean;
4732
+ allowWithdrawal: boolean;
4733
+ allowRewardWithdrawal: boolean;
4734
+ };
4735
+ withdrawTimeLimit: BN;
4736
+ withdrawInstantFee: BN;
4737
+ withdrawInstantFeeEarned: BN;
4738
+ stakeLevel: BN[];
4739
+ tokensStaked: {
4740
+ pendingActivation: BN;
4741
+ activeAmount: BN;
4742
+ pendingDeactivation: BN;
4743
+ deactivatedAmount: BN;
4744
+ };
4745
+ rewardTokensToDistribute: BN;
4746
+ rewardTokensPaid: BN;
4747
+ tokensToDistribute: BN;
4748
+ tokensDistributed: BN;
4749
+ rewardTokensDistributed: BN;
4750
+ revenueTokenAccountBump: number;
4751
+ revenuePerFafStaked: BN;
4752
+ revenueAccrued: BN;
4753
+ revenueDistributed: BN;
4754
+ revenuePaid: BN;
4755
+ nftMint: PublicKey;
4756
+ voltagePoints: BN;
4757
+ stats: {
4758
+ volumeUsd: BN;
4759
+ lpRewardsUsd: BN;
4760
+ referralRebateUsd: BN;
4761
+ };
4762
+ snapshot: {
4763
+ volumeUsd: BN;
4764
+ lpRewardsUsd: BN;
4765
+ referralRebateUsd: BN;
4766
+ };
4767
+ timestamp: BN;
4768
+ counter: BN;
4769
+ tokenStakeAccount: PublicKey;
4770
+ burnt: boolean;
4771
+ isSwapFeeExempt: boolean;
4772
+ isDepositFeeExempt: boolean;
4773
+ isWithdrawalFeeExempt: boolean;
623
4774
  }>[]>;
624
- getAccountDiscriminator: (name: string) => Buffer<ArrayBuffer>;
4775
+ getAccountDiscriminator: (name: string) => Buffer;
625
4776
  log: (...message: string[]) => void;
626
4777
  prettyPrint: (object: object) => void;
627
4778
  liquidate: (positionAccount: PublicKey, poolConfig: PoolConfig, tokenMint: PublicKey, collateralMint: PublicKey, marketPk: PublicKey) => Promise<TransactionInstruction>;
@@ -732,7 +4883,9 @@ export declare class PerpetualsClient {
732
4883
  };
733
4884
  getIndexPriceAtParticularTime: (poolConfig: PoolConfig, targetPricesAtT1Ui: Number[], targetPricesAtT2Ui: Number[], tokenRatiosAtT2BN: BN[]) => string;
734
4885
  getUserClaimableRevenueAmount: (POOL_CONFIG: PoolConfig, userPublicKey: PublicKey, enableDebuglogs?: boolean) => Promise<BN>;
735
- getStakedLpTokenPrice: (poolKey: PublicKey, POOL_CONFIG: PoolConfig) => Promise<string>;
4886
+ getLpTokenPriceView: (poolConfig: PoolConfig, includeRemainingAccounts?: boolean) => Promise<any>;
4887
+ getStakedLpTokenPrice: (poolKey: PublicKey, POOL_CONFIG: PoolConfig, includeRemainingAccounts?: boolean) => Promise<string>;
4888
+ getCompoundingLPTokenPrice: (poolKey: PublicKey, POOL_CONFIG: PoolConfig, includeRemainingAccounts?: boolean) => Promise<string>;
736
4889
  getAssetsUnderManagement: (poolKey: PublicKey, POOL_CONFIG: PoolConfig) => Promise<string>;
737
4890
  getAddLiquidityAmountAndFeeView: (amount: BN, poolKey: PublicKey, depositCustodyKey: PublicKey, POOL_CONFIG: PoolConfig, userPublicKey?: PublicKey | undefined, enableBackupOracle?: boolean, whitelist?: PublicKey | undefined) => Promise<{
738
4891
  amount: BN | undefined;
@@ -744,7 +4897,6 @@ export declare class PerpetualsClient {
744
4897
  fee: BN;
745
4898
  error?: string;
746
4899
  }>;
747
- getCompoundingLPTokenPrice: (poolKey: PublicKey, POOL_CONFIG: PoolConfig) => Promise<string>;
748
4900
  getAddCompoundingLiquidityAmountAndFeeView: (amount: BN, poolKey: PublicKey, depositCustodyKey: PublicKey, POOL_CONFIG: PoolConfig, userPublicKey?: PublicKey | undefined, enableBackupOracle?: boolean, whitelist?: PublicKey) => Promise<{
749
4901
  amount: BN;
750
4902
  fee: BN;
@@ -756,7 +4908,6 @@ export declare class PerpetualsClient {
756
4908
  getLiquidationPriceView: (positionAccountKey: PublicKey, poolConfig: PoolConfig) => Promise<any>;
757
4909
  getLiquidationStateView: (positionAccount: PublicKey, poolName: string, tokenMint: PublicKey, collateralMint: PublicKey, poolConfig: PoolConfig) => Promise<any>;
758
4910
  getCompoundingTokenDataView: (poolConfig: PoolConfig) => Promise<any>;
759
- getLpTokenPriceView: (poolConfig: PoolConfig) => Promise<any>;
760
4911
  openPosition: (targetSymbol: string, collateralSymbol: string, priceWithSlippage: ContractOraclePrice, collateralWithfee: BN, size: BN, side: Side, poolConfig: PoolConfig, privilege: Privilege, tokenStakeAccount?: PublicKey, userReferralAccount?: PublicKey, skipBalanceChecks?: boolean, ephemeralSignerPubkey?: any) => Promise<{
761
4912
  instructions: TransactionInstruction[];
762
4913
  additionalSigners: Signer[];
@@ -797,15 +4948,15 @@ export declare class PerpetualsClient {
797
4948
  instructions: TransactionInstruction[];
798
4949
  additionalSigners: Signer[];
799
4950
  }>;
800
- addLiquidity: (payTokenSymbol: string, tokenAmountIn: BN, minLpAmountOut: BN, poolConfig: PoolConfig, skipBalanceChecks?: boolean, ephemeralSignerPubkey?: any, isWhitelistedUser?: boolean) => Promise<{
4951
+ addLiquidity: (payTokenSymbol: string, tokenAmountIn: BN, minLpAmountOut: BN, poolConfig: PoolConfig, skipBalanceChecks?: boolean, ephemeralSignerPubkey?: any, isWhitelistedUser?: boolean, includeRemainingAccounts?: boolean) => Promise<{
801
4952
  instructions: TransactionInstruction[];
802
4953
  additionalSigners: Signer[];
803
4954
  }>;
804
- addLiquidityAndStake: (inputSymbol: string, amountIn: BN, minLpAmountOut: BN, poolConfig: PoolConfig, skipBalanceChecks?: boolean, ephemeralSignerPubkey?: any, userPublicKey?: PublicKey | undefined, isWhitelistedUser?: boolean) => Promise<{
4955
+ addLiquidityAndStake: (inputSymbol: string, amountIn: BN, minLpAmountOut: BN, poolConfig: PoolConfig, skipBalanceChecks?: boolean, ephemeralSignerPubkey?: any, userPublicKey?: PublicKey | undefined, isWhitelistedUser?: boolean, includeRemainingAccounts?: boolean) => Promise<{
805
4956
  instructions: TransactionInstruction[];
806
4957
  additionalSigners: Signer[];
807
4958
  }>;
808
- removeLiquidity: (recieveTokenSymbol: string, liquidityAmountIn: BN, minTokenAmountOut: BN, poolConfig: PoolConfig, closeLpATA?: boolean, createUserATA?: boolean, closeUsersWSOLATA?: boolean, ephemeralSignerPubkey?: any, userPublicKey?: PublicKey | undefined, isWhitelistedUser?: boolean) => Promise<{
4959
+ removeLiquidity: (recieveTokenSymbol: string, liquidityAmountIn: BN, minTokenAmountOut: BN, poolConfig: PoolConfig, closeLpATA?: boolean, createUserATA?: boolean, closeUsersWSOLATA?: boolean, ephemeralSignerPubkey?: any, userPublicKey?: PublicKey | undefined, isWhitelistedUser?: boolean, includeRemainingAccounts?: boolean) => Promise<{
809
4960
  instructions: TransactionInstruction[];
810
4961
  additionalSigners: Signer[];
811
4962
  }>;
@@ -836,11 +4987,11 @@ export declare class PerpetualsClient {
836
4987
  instructions: TransactionInstruction[];
837
4988
  additionalSigners: Signer[];
838
4989
  }>;
839
- addCompoundingLiquidity: (amountIn: BN, minCompoundingAmountOut: BN, inTokenSymbol: string, rewardTokenMint: PublicKey, poolConfig: PoolConfig, skipBalanceChecks?: boolean, ephemeralSignerPubkey?: any, userPublicKey?: PublicKey | undefined, enableHeapSizeIx?: boolean, isWhitelistedUser?: boolean) => Promise<{
4990
+ addCompoundingLiquidity: (amountIn: BN, minCompoundingAmountOut: BN, inTokenSymbol: string, rewardTokenMint: PublicKey, poolConfig: PoolConfig, skipBalanceChecks?: boolean, ephemeralSignerPubkey?: any, userPublicKey?: PublicKey | undefined, enableHeapSizeIx?: boolean, isWhitelistedUser?: boolean, includeRemainingAccounts?: boolean) => Promise<{
840
4991
  instructions: TransactionInstruction[];
841
4992
  additionalSigners: Signer[];
842
4993
  }>;
843
- removeCompoundingLiquidity: (compoundingAmountIn: BN, minAmountOut: BN, outTokenSymbol: string, rewardTokenMint: PublicKey, poolConfig: PoolConfig, createUserATA?: boolean, ephemeralSignerPubkey?: any, userPublicKey?: PublicKey | undefined, enableHeapSizeIx?: boolean, isWhitelistedUser?: boolean) => Promise<{
4994
+ removeCompoundingLiquidity: (compoundingAmountIn: BN, minAmountOut: BN, outTokenSymbol: string, rewardTokenMint: PublicKey, poolConfig: PoolConfig, createUserATA?: boolean, ephemeralSignerPubkey?: any, userPublicKey?: PublicKey | undefined, enableHeapSizeIx?: boolean, isWhitelistedUser?: boolean, includeRemainingAccounts?: boolean) => Promise<{
844
4995
  instructions: TransactionInstruction[];
845
4996
  additionalSigners: Signer[];
846
4997
  }>;
@@ -953,7 +5104,7 @@ export declare class PerpetualsClient {
953
5104
  setAdminSigners: (admins: PublicKey[], minSignatures: number) => Promise<void>;
954
5105
  addPool: (name: string, maxAumUsd: BN, permissions: Permissions, metadataSymbol: string, metadataTitle: string, metadataUri: string, stakingFeeShareBps: BN, vpVolumeFactor: number, stakingFeeBoostBps: BN[], minLpPriceUsd: BN, maxLpPriceUsd: BN, thresholdUsd: BN) => Promise<void>;
955
5106
  removePool: (name: string) => Promise<void>;
956
- addCustody: (poolName: string, tokenMint: PublicKey, isToken222: boolean, isStable: boolean, isVirtual: boolean, oracle: OracleParams, pricing: PricingParams, permissions: Permissions, fees: Fees, borrowRate: BorrowRateParams, ratios: TokenRatios[], depegAdjustment: boolean, rewardThreshold: BN, minReserveUsd: BN, limitPriceBufferBps: BN) => Promise<void>;
5107
+ addCustody: (poolName: string, tokenMint: PublicKey, isToken222: boolean, isStable: boolean, isVirtual: boolean, oracle: OracleParams, pricing: PricingParams, permissions: Permissions, fees: Fees, borrowRate: BorrowRateParams, ratios: TokenRatios[], depegAdjustment: boolean, rewardThreshold: BN, minReserveUsd: BN, limitPriceBufferBps: BN, inversePrice: boolean) => Promise<void>;
957
5108
  editCustody: (poolName: string, tokenMint: PublicKey, isStable: boolean, oracle: OracleParams, pricing: PricingParams, permissions: Permissions, fees: Fees, borrowRate: BorrowRateParams, ratios: TokenRatios[]) => Promise<void>;
958
5109
  removeCustody: (poolName: string, tokenMint: PublicKey, ratios: TokenRatios[], poolConfig: PoolConfig) => Promise<void>;
959
5110
  protocolWithdrawFees: (rewardSymbol: string, poolConfig: PoolConfig) => Promise<{
@@ -1029,7 +5180,7 @@ export declare class PerpetualsClient {
1029
5180
  instructions: TransactionInstruction[];
1030
5181
  additionalSigners: Signer[];
1031
5182
  }>;
1032
- setTokenStakeLevel: (owner: PublicKey, stakeLevel: number) => Promise<{
5183
+ setTokenStakeLevel: (owner: PublicKey, stakeLevel: number, isInitialized: boolean) => Promise<{
1033
5184
  instructions: TransactionInstruction[];
1034
5185
  additionalSigners: Signer[];
1035
5186
  }>;