@drift-labs/vaults-sdk 0.2.37 → 0.2.39

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.
@@ -65,6 +65,10 @@ export declare class VaultClient {
65
65
  vault?: Vault;
66
66
  factorUnrealizedPNL?: boolean;
67
67
  }): Promise<BN>;
68
+ calculateVaultAllTimeNotionalPnl(params: {
69
+ address?: PublicKey;
70
+ vault?: Vault;
71
+ }): Promise<BN>;
68
72
  /**
69
73
  *
70
74
  * @param vault pubkey
@@ -159,6 +159,28 @@ class VaultClient {
159
159
  return sdk_1.ZERO;
160
160
  }
161
161
  }
162
+ async calculateVaultAllTimeNotionalPnl(params) {
163
+ try {
164
+ let vaultAccount;
165
+ if (params.address !== undefined) {
166
+ // @ts-ignore
167
+ vaultAccount = await this.program.account.vault.fetch(params.address);
168
+ }
169
+ else if (params.vault !== undefined) {
170
+ vaultAccount = params.vault;
171
+ }
172
+ else {
173
+ throw new Error('Must supply address or vault');
174
+ }
175
+ const user = await this.getSubscribedVaultUser(vaultAccount.user);
176
+ const allTimeTotalPnl = user.getTotalAllTimePnl();
177
+ return allTimeTotalPnl;
178
+ }
179
+ catch (err) {
180
+ console.error('VaultClient ~ err:', err);
181
+ return sdk_1.ZERO;
182
+ }
183
+ }
162
184
  /**
163
185
  *
164
186
  * @param vault pubkey
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drift-labs/vaults-sdk",
3
- "version": "0.2.37",
3
+ "version": "0.2.39",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "directories": {
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "@coral-xyz/anchor": "0.28.0",
11
- "@drift-labs/sdk": "2.106.0-beta.2",
11
+ "@drift-labs/sdk": "2.106.0-beta.3",
12
12
  "@ledgerhq/hw-app-solana": "7.2.4",
13
13
  "@ledgerhq/hw-transport": "6.31.4",
14
14
  "@ledgerhq/hw-transport-node-hid": "6.29.5",
@@ -275,6 +275,31 @@ export class VaultClient {
275
275
  }
276
276
  }
277
277
 
278
+ public async calculateVaultAllTimeNotionalPnl(params: {
279
+ address?: PublicKey;
280
+ vault?: Vault;
281
+ }): Promise<BN> {
282
+ try {
283
+ let vaultAccount: Vault;
284
+ if (params.address !== undefined) {
285
+ // @ts-ignore
286
+ vaultAccount = await this.program.account.vault.fetch(params.address);
287
+ } else if (params.vault !== undefined) {
288
+ vaultAccount = params.vault;
289
+ } else {
290
+ throw new Error('Must supply address or vault');
291
+ }
292
+
293
+ const user = await this.getSubscribedVaultUser(vaultAccount.user);
294
+ const allTimeTotalPnl = user.getTotalAllTimePnl();
295
+
296
+ return allTimeTotalPnl;
297
+ } catch (err) {
298
+ console.error('VaultClient ~ err:', err);
299
+ return ZERO;
300
+ }
301
+ }
302
+
278
303
  /**
279
304
  *
280
305
  * @param vault pubkey