flash-sdk 12.0.0 → 12.0.1

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