@drift-labs/vaults-sdk 0.2.38 → 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.
- package/lib/vaultClient.d.ts +4 -0
- package/lib/vaultClient.js +22 -0
- package/package.json +1 -1
- package/src/vaultClient.ts +25 -0
package/lib/vaultClient.d.ts
CHANGED
package/lib/vaultClient.js
CHANGED
|
@@ -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
package/src/vaultClient.ts
CHANGED
|
@@ -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
|