@drift-labs/vaults-sdk 0.4.31 → 0.4.33

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.
@@ -95,7 +95,17 @@ export type Vault = {
95
95
  permissioned: boolean;
96
96
  lastManagerWithdrawRequest: WithdrawRequest;
97
97
  vaultProtocol: boolean;
98
+ fuelDistributionMode: FuelDistributionMode;
99
+ padding1: number[];
100
+ lastCumulativeFuelPerShareTs: number;
101
+ cumulativeFuelPerShare: BN;
102
+ cumulativeFuel: BN;
103
+ padding: BN[];
98
104
  };
105
+ export declare enum FuelDistributionMode {
106
+ UsersOnly = 0,
107
+ UsersAndManager = 1
108
+ }
99
109
  export type VaultDepositor = {
100
110
  vault: PublicKey;
101
111
  pubkey: PublicKey;
@@ -109,8 +119,10 @@ export type VaultDepositor = {
109
119
  cumulativeProfitShareAmount: BN;
110
120
  vaultSharesBase: number;
111
121
  profitShareFeePaid: BN;
112
- padding1: number | number[];
113
- padding: number[] | BN[];
122
+ lastFuelUpdateTs: number;
123
+ cumulativeFuelPerShareAmount: BN;
124
+ fuelAmount: BN;
125
+ padding: BN | BN[];
114
126
  };
115
127
  export type VaultProtocol = {
116
128
  protocol: PublicKey;
@@ -201,9 +213,21 @@ export type VaultDepositorV1Record = {
201
213
  managementFee: BN;
202
214
  managementFeeShares: BN;
203
215
  };
216
+ export type FuelSeasonRecord = {
217
+ ts: BN;
218
+ authority: PublicKey;
219
+ fuelInsurance: BN;
220
+ fuelDeposits: BN;
221
+ fuelBorrows: BN;
222
+ fuelPositions: BN;
223
+ fuelTaker: BN;
224
+ fuelMaker: BN;
225
+ fuelTotal: BN;
226
+ };
204
227
  export type VaultsEventMap = {
205
228
  VaultDepositorRecord: Event<VaultDepositorRecord>;
206
229
  VaultDepositorV1Record: Event<VaultDepositorV1Record>;
230
+ FuelSeasonRecord: Event<FuelSeasonRecord>;
207
231
  };
208
232
  export type EventType = keyof VaultsEventMap;
209
233
  export type WrappedEvent<Type extends EventType> = VaultsEventMap[Type] & {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VaultDepositorAction = exports.WithdrawUnit = exports.VAULT_PROGRAM_ID = void 0;
3
+ exports.VaultDepositorAction = exports.FuelDistributionMode = exports.WithdrawUnit = exports.VAULT_PROGRAM_ID = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  exports.VAULT_PROGRAM_ID = new web3_js_1.PublicKey('vAuLTsyrvSfZRuRB3XgvkPwNGgYSs9YRYymVebLKoxR');
6
6
  class WithdrawUnit {
@@ -9,6 +9,11 @@ exports.WithdrawUnit = WithdrawUnit;
9
9
  WithdrawUnit.SHARES = { shares: {} };
10
10
  WithdrawUnit.TOKEN = { token: {} };
11
11
  WithdrawUnit.SHARES_PERCENT = { sharesPercent: {} };
12
+ var FuelDistributionMode;
13
+ (function (FuelDistributionMode) {
14
+ FuelDistributionMode[FuelDistributionMode["UsersOnly"] = 0] = "UsersOnly";
15
+ FuelDistributionMode[FuelDistributionMode["UsersAndManager"] = 1] = "UsersAndManager";
16
+ })(FuelDistributionMode || (exports.FuelDistributionMode = FuelDistributionMode = {}));
12
17
  // Logs/Records
13
18
  class VaultDepositorAction {
14
19
  }
@@ -2,7 +2,7 @@ import { BN, DriftClient, UserMap, OracleSource } from '@drift-labs/sdk';
2
2
  import { Program, ProgramAccount } from '@coral-xyz/anchor';
3
3
  import { DriftVaults } from './types/drift_vaults';
4
4
  import { AccountMeta, AddressLookupTableAccount, PublicKey, TransactionInstruction, TransactionSignature, VersionedTransaction } from '@solana/web3.js';
5
- import { Vault, VaultDepositor, VaultProtocol, VaultProtocolParams, WithdrawUnit } from './types/types';
5
+ import { FuelDistributionMode, Vault, VaultDepositor, VaultProtocol, VaultProtocolParams, WithdrawUnit } from './types/types';
6
6
  import { UserMapConfig } from '@drift-labs/sdk';
7
7
  import { Metaplex } from '@metaplex-foundation/js';
8
8
  export type TxParams = {
@@ -14,6 +14,7 @@ export type TxParams = {
14
14
  feed: PublicKey;
15
15
  oracleSource: OracleSource;
16
16
  }[];
17
+ noLut?: boolean;
17
18
  };
18
19
  export declare class VaultClient {
19
20
  driftClient: DriftClient;
@@ -31,6 +32,7 @@ export declare class VaultClient {
31
32
  cliMode?: boolean;
32
33
  userMapConfig?: UserMapConfig;
33
34
  });
35
+ private getRemainingAccountsForUser;
34
36
  /**
35
37
  * Unsubscribes from the vault users map. Call this to clean up any dangling promises.
36
38
  */
@@ -52,8 +54,9 @@ export declare class VaultClient {
52
54
  slot: number;
53
55
  }>;
54
56
  getAllVaultDepositorsWithNoWithdrawRequest(vault: PublicKey): Promise<ProgramAccount<VaultDepositor>[]>;
55
- getAllVaultDepositors(vault: PublicKey): Promise<ProgramAccount<VaultDepositor>[]>;
57
+ getAllVaultDepositors(vault?: PublicKey): Promise<ProgramAccount<VaultDepositor>[]>;
56
58
  getSubscribedVaultUser(vaultDriftUserAccountPubKey: PublicKey): Promise<import("@drift-labs/sdk").User>;
59
+ syncVaultUsers(): Promise<void>;
57
60
  /**
58
61
  *
59
62
  * @param vault pubkey
@@ -166,7 +169,7 @@ export declare class VaultClient {
166
169
  tokenUri: string;
167
170
  decimals?: number;
168
171
  sharesBase?: number;
169
- }): Promise<TransactionSignature>;
172
+ }, uiTxParams?: TxParams): Promise<TransactionSignature>;
170
173
  createTokenizeSharesIx(vaultDepositor: PublicKey, amount: BN, unit: WithdrawUnit, mint?: PublicKey): Promise<TransactionInstruction[]>;
171
174
  tokenizeShares(vaultDepositor: PublicKey, amount: BN, unit: WithdrawUnit, mint?: PublicKey, txParams?: TxParams): Promise<TransactionSignature>;
172
175
  createRedeemTokensIx(vaultDepositor: PublicKey, tokensToBurn: BN, sharesBase?: number): Promise<TransactionInstruction>;
@@ -222,7 +225,11 @@ export declare class VaultClient {
222
225
  bump: number;
223
226
  permissioned: boolean;
224
227
  vaultProtocol: boolean;
228
+ fuelDistributionMode: number;
225
229
  padding1: number[];
230
+ lastCumulativeFuelPerShareTs: number;
231
+ cumulativeFuelPerShare: BN;
232
+ cumulativeFuel: BN;
226
233
  padding: BN[];
227
234
  };
228
235
  accounts: {
@@ -253,7 +260,7 @@ export declare class VaultClient {
253
260
  createDepositTx(vaultDepositor: PublicKey, amount: BN, initVaultDepositor?: {
254
261
  authority: PublicKey;
255
262
  vault: PublicKey;
256
- }, txParams?: TxParams): Promise<VersionedTransaction>;
263
+ }, txParams?: TxParams, userTokenAccount?: PublicKey): Promise<VersionedTransaction>;
257
264
  /**
258
265
  * Depositor funds into the specified vault.
259
266
  * @param vaultDepositor
@@ -279,6 +286,7 @@ export declare class VaultClient {
279
286
  */
280
287
  liquidate(vaultDepositor: PublicKey, txParams?: TxParams): Promise<TransactionSignature>;
281
288
  createTxn(vaultIxs: TransactionInstruction[], txParams?: TxParams): Promise<VersionedTransaction>;
289
+ createTxnNoLut(vaultIxs: TransactionInstruction[], txParams?: TxParams): Promise<VersionedTransaction>;
282
290
  sendTxn(transaction: VersionedTransaction, simulateTransaction?: boolean): Promise<TransactionSignature>;
283
291
  /**
284
292
  * Used for UI wallet adapters compatibility
@@ -306,4 +314,16 @@ export declare class VaultClient {
306
314
  protocolCancelWithdrawRequest(vault: PublicKey): Promise<TransactionSignature>;
307
315
  protocolWithdraw(vault: PublicKey): Promise<TransactionSignature>;
308
316
  private getOracleFeedsToCrank;
317
+ updateVaultProtocol(vault: PublicKey, params: {
318
+ protocolFee: BN | null;
319
+ protocolProfitShare: number | null;
320
+ }, txParams?: TxParams): Promise<TransactionSignature>;
321
+ updateCumulativeFuelAmount(vaultDepositor: PublicKey, txParams?: TxParams): Promise<TransactionSignature>;
322
+ getUpdateCumulativeFuelAmountIx(vaultDepositor: PublicKey): Promise<TransactionInstruction>;
323
+ resetFuelSeason(vaultDepositor: PublicKey, txParams?: TxParams): Promise<TransactionSignature>;
324
+ getResetFuelSeasonIx(vaultDepositor: PublicKey): Promise<TransactionInstruction>;
325
+ resetVaultFuelSeason(vault: PublicKey, txParams?: TxParams): Promise<TransactionSignature>;
326
+ getResetVaultFuelSeasonIx(vault: PublicKey): Promise<TransactionInstruction>;
327
+ managerUpdateFuelDistributionMode(vault: PublicKey, fuelDistributionMode: FuelDistributionMode, txParams?: TxParams): Promise<TransactionSignature>;
328
+ getManagerUpdateFuelDistributionModeIx(vault: PublicKey, fuelDistributionMode: FuelDistributionMode): Promise<TransactionInstruction>;
309
329
  }