@drift-labs/vaults-sdk 0.1.398 → 0.1.400
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.js +19 -13
- package/package.json +2 -2
- package/src/vaultClient.ts +19 -13
package/lib/vaultClient.js
CHANGED
|
@@ -106,21 +106,27 @@ class VaultClient {
|
|
|
106
106
|
* @returns vault equity, in USDC
|
|
107
107
|
*/
|
|
108
108
|
async calculateVaultEquity(params) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
109
|
+
try {
|
|
110
|
+
let vaultAccount;
|
|
111
|
+
if (params.address !== undefined) {
|
|
112
|
+
// @ts-ignore
|
|
113
|
+
vaultAccount = await this.program.account.vault.fetch(params.address);
|
|
114
|
+
}
|
|
115
|
+
else if (params.vault !== undefined) {
|
|
116
|
+
vaultAccount = params.vault;
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
throw new Error('Must supply address or vault');
|
|
120
|
+
}
|
|
121
|
+
const user = await this.getSubscribedVaultUser(vaultAccount.user);
|
|
122
|
+
const netSpotValue = user.getNetSpotMarketValue();
|
|
123
|
+
const unrealizedPnl = user.getUnrealizedPNL(true, undefined, undefined);
|
|
124
|
+
return netSpotValue.add(unrealizedPnl);
|
|
116
125
|
}
|
|
117
|
-
|
|
118
|
-
|
|
126
|
+
catch (err) {
|
|
127
|
+
console.error('VaultClient ~ err:', err);
|
|
128
|
+
return sdk_1.ZERO;
|
|
119
129
|
}
|
|
120
|
-
const user = await this.getSubscribedVaultUser(vaultAccount.user);
|
|
121
|
-
const netSpotValue = user.getNetSpotMarketValue();
|
|
122
|
-
const unrealizedPnl = user.getUnrealizedPNL(true, undefined, undefined);
|
|
123
|
-
return netSpotValue.add(unrealizedPnl);
|
|
124
130
|
}
|
|
125
131
|
/**
|
|
126
132
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@drift-labs/vaults-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.400",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"types": "lib/index.d.ts",
|
|
6
6
|
"directories": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@coral-xyz/anchor": "0.28.0",
|
|
11
11
|
"@drift-labs/competitions-sdk": "0.2.386",
|
|
12
|
-
"@drift-labs/sdk": "2.91.0-beta.
|
|
12
|
+
"@drift-labs/sdk": "2.91.0-beta.2",
|
|
13
13
|
"@solana/web3.js": "1.92.3",
|
|
14
14
|
"commander": "^11.0.0",
|
|
15
15
|
"dotenv": "^16.3.1",
|
package/src/vaultClient.ts
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
getUserStatsAccountPublicKey,
|
|
9
9
|
TEN,
|
|
10
10
|
UserMap,
|
|
11
|
+
ZERO,
|
|
11
12
|
} from '@drift-labs/sdk';
|
|
12
13
|
import { BorshAccountsCoder, Program, ProgramAccount } from '@coral-xyz/anchor';
|
|
13
14
|
import { DriftVaults } from './types/drift_vaults';
|
|
@@ -194,22 +195,27 @@ export class VaultClient {
|
|
|
194
195
|
address?: PublicKey;
|
|
195
196
|
vault?: Vault;
|
|
196
197
|
}): Promise<BN> {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
198
|
+
try {
|
|
199
|
+
let vaultAccount: Vault;
|
|
200
|
+
if (params.address !== undefined) {
|
|
201
|
+
// @ts-ignore
|
|
202
|
+
vaultAccount = await this.program.account.vault.fetch(params.address);
|
|
203
|
+
} else if (params.vault !== undefined) {
|
|
204
|
+
vaultAccount = params.vault;
|
|
205
|
+
} else {
|
|
206
|
+
throw new Error('Must supply address or vault');
|
|
207
|
+
}
|
|
206
208
|
|
|
207
|
-
|
|
209
|
+
const user = await this.getSubscribedVaultUser(vaultAccount.user);
|
|
208
210
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
+
const netSpotValue = user.getNetSpotMarketValue();
|
|
212
|
+
const unrealizedPnl = user.getUnrealizedPNL(true, undefined, undefined);
|
|
211
213
|
|
|
212
|
-
|
|
214
|
+
return netSpotValue.add(unrealizedPnl);
|
|
215
|
+
} catch (err) {
|
|
216
|
+
console.error('VaultClient ~ err:', err);
|
|
217
|
+
return ZERO;
|
|
218
|
+
}
|
|
213
219
|
}
|
|
214
220
|
|
|
215
221
|
/**
|