@drift-labs/vaults-sdk 0.1.532 → 0.1.533

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.
@@ -2,6 +2,7 @@ import { PublicKey } from '@solana/web3.js';
2
2
  export declare function getVaultAddressSync(programId: PublicKey, encodedName: number[]): PublicKey;
3
3
  export declare function getVaultDepositorAddressSync(programId: PublicKey, vault: PublicKey, authority: PublicKey): PublicKey;
4
4
  export declare function getTokenVaultAddressSync(programId: PublicKey, vault: PublicKey): PublicKey;
5
+ export declare function getInsuranceFundTokenVaultAddressSync(programId: PublicKey, vault: PublicKey, marketIndex: number): PublicKey;
5
6
  export declare function getVaultProtocolAddressSync(programId: PublicKey, vault: PublicKey): PublicKey;
6
7
  export declare function getTokenizedVaultAddressSync(programId: PublicKey, vault: PublicKey, sharesBase: number): PublicKey;
7
8
  export declare function getTokenizedVaultMintAddressSync(programId: PublicKey, vault: PublicKey, sharesBase: number): PublicKey;
package/lib/addresses.js CHANGED
@@ -26,6 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.getVaultAddressSync = getVaultAddressSync;
27
27
  exports.getVaultDepositorAddressSync = getVaultDepositorAddressSync;
28
28
  exports.getTokenVaultAddressSync = getTokenVaultAddressSync;
29
+ exports.getInsuranceFundTokenVaultAddressSync = getInsuranceFundTokenVaultAddressSync;
29
30
  exports.getVaultProtocolAddressSync = getVaultProtocolAddressSync;
30
31
  exports.getTokenizedVaultAddressSync = getTokenizedVaultAddressSync;
31
32
  exports.getTokenizedVaultMintAddressSync = getTokenizedVaultMintAddressSync;
@@ -50,6 +51,13 @@ function getTokenVaultAddressSync(programId, vault) {
50
51
  vault.toBuffer(),
51
52
  ], programId)[0];
52
53
  }
54
+ function getInsuranceFundTokenVaultAddressSync(programId, vault, marketIndex) {
55
+ return web3_js_1.PublicKey.findProgramAddressSync([
56
+ Buffer.from(anchor.utils.bytes.utf8.encode('vault_token_account')),
57
+ vault.toBuffer(),
58
+ new anchor.BN(marketIndex).toArrayLike(Buffer, 'le', 2),
59
+ ], programId)[0];
60
+ }
53
61
  function getVaultProtocolAddressSync(programId, vault) {
54
62
  return web3_js_1.PublicKey.findProgramAddressSync([
55
63
  Buffer.from(anchor.utils.bytes.utf8.encode('vault_protocol')),
@@ -1137,21 +1137,227 @@ export type DriftVaults = {
1137
1137
  isMut: false;
1138
1138
  isSigner: false;
1139
1139
  },
1140
+ {
1141
+ name: 'driftSpotMarket';
1142
+ isMut: true;
1143
+ isSigner: false;
1144
+ },
1145
+ {
1146
+ name: 'driftSpotMarketMint';
1147
+ isMut: false;
1148
+ isSigner: false;
1149
+ },
1150
+ {
1151
+ name: 'vaultTokenAccount';
1152
+ isMut: true;
1153
+ isSigner: false;
1154
+ },
1155
+ {
1156
+ name: 'insuranceFundStake';
1157
+ isMut: true;
1158
+ isSigner: false;
1159
+ },
1160
+ {
1161
+ name: 'driftUserStats';
1162
+ isMut: true;
1163
+ isSigner: false;
1164
+ },
1165
+ {
1166
+ name: 'driftState';
1167
+ isMut: false;
1168
+ isSigner: false;
1169
+ },
1170
+ {
1171
+ name: 'driftProgram';
1172
+ isMut: false;
1173
+ isSigner: false;
1174
+ },
1175
+ {
1176
+ name: 'tokenProgram';
1177
+ isMut: false;
1178
+ isSigner: false;
1179
+ },
1140
1180
  {
1141
1181
  name: 'systemProgram';
1142
1182
  isMut: false;
1143
1183
  isSigner: false;
1184
+ }
1185
+ ];
1186
+ args: [
1187
+ {
1188
+ name: 'marketIndex';
1189
+ type: 'u16';
1190
+ }
1191
+ ];
1192
+ },
1193
+ {
1194
+ name: 'addInsuranceFundStake';
1195
+ accounts: [
1196
+ {
1197
+ name: 'vault';
1198
+ isMut: true;
1199
+ isSigner: false;
1200
+ },
1201
+ {
1202
+ name: 'manager';
1203
+ isMut: true;
1204
+ isSigner: true;
1205
+ },
1206
+ {
1207
+ name: 'driftSpotMarket';
1208
+ isMut: true;
1209
+ isSigner: false;
1210
+ },
1211
+ {
1212
+ name: 'driftSpotMarketVault';
1213
+ isMut: true;
1214
+ isSigner: false;
1215
+ },
1216
+ {
1217
+ name: 'insuranceFundStake';
1218
+ isMut: true;
1219
+ isSigner: false;
1220
+ },
1221
+ {
1222
+ name: 'insuranceFundVault';
1223
+ isMut: true;
1224
+ isSigner: false;
1225
+ },
1226
+ {
1227
+ name: 'managerTokenAccount';
1228
+ isMut: true;
1229
+ isSigner: false;
1230
+ },
1231
+ {
1232
+ name: 'vaultIfTokenAccount';
1233
+ isMut: true;
1234
+ isSigner: false;
1235
+ },
1236
+ {
1237
+ name: 'driftUserStats';
1238
+ isMut: true;
1239
+ isSigner: false;
1240
+ },
1241
+ {
1242
+ name: 'driftState';
1243
+ isMut: false;
1244
+ isSigner: false;
1245
+ },
1246
+ {
1247
+ name: 'driftSigner';
1248
+ isMut: false;
1249
+ isSigner: false;
1250
+ },
1251
+ {
1252
+ name: 'driftProgram';
1253
+ isMut: false;
1254
+ isSigner: false;
1255
+ },
1256
+ {
1257
+ name: 'tokenProgram';
1258
+ isMut: false;
1259
+ isSigner: false;
1260
+ }
1261
+ ];
1262
+ args: [
1263
+ {
1264
+ name: 'marketIndex';
1265
+ type: 'u16';
1266
+ },
1267
+ {
1268
+ name: 'amount';
1269
+ type: 'u64';
1270
+ }
1271
+ ];
1272
+ },
1273
+ {
1274
+ name: 'requestRemoveInsuranceFundStake';
1275
+ accounts: [
1276
+ {
1277
+ name: 'vault';
1278
+ isMut: true;
1279
+ isSigner: false;
1280
+ },
1281
+ {
1282
+ name: 'manager';
1283
+ isMut: false;
1284
+ isSigner: true;
1144
1285
  },
1145
1286
  {
1146
1287
  name: 'driftSpotMarket';
1288
+ isMut: true;
1289
+ isSigner: false;
1290
+ },
1291
+ {
1292
+ name: 'insuranceFundStake';
1293
+ isMut: true;
1294
+ isSigner: false;
1295
+ },
1296
+ {
1297
+ name: 'insuranceFundVault';
1298
+ isMut: true;
1299
+ isSigner: false;
1300
+ },
1301
+ {
1302
+ name: 'driftUserStats';
1303
+ isMut: true;
1304
+ isSigner: false;
1305
+ },
1306
+ {
1307
+ name: 'driftProgram';
1147
1308
  isMut: false;
1148
1309
  isSigner: false;
1310
+ }
1311
+ ];
1312
+ args: [
1313
+ {
1314
+ name: 'marketIndex';
1315
+ type: 'u16';
1316
+ },
1317
+ {
1318
+ name: 'amount';
1319
+ type: 'u64';
1320
+ }
1321
+ ];
1322
+ },
1323
+ {
1324
+ name: 'removeInsuranceFundStake';
1325
+ accounts: [
1326
+ {
1327
+ name: 'vault';
1328
+ isMut: true;
1329
+ isSigner: false;
1330
+ },
1331
+ {
1332
+ name: 'manager';
1333
+ isMut: false;
1334
+ isSigner: true;
1335
+ },
1336
+ {
1337
+ name: 'driftSpotMarket';
1338
+ isMut: true;
1339
+ isSigner: false;
1149
1340
  },
1150
1341
  {
1151
1342
  name: 'insuranceFundStake';
1152
1343
  isMut: true;
1153
1344
  isSigner: false;
1154
1345
  },
1346
+ {
1347
+ name: 'insuranceFundVault';
1348
+ isMut: true;
1349
+ isSigner: false;
1350
+ },
1351
+ {
1352
+ name: 'managerTokenAccount';
1353
+ isMut: true;
1354
+ isSigner: false;
1355
+ },
1356
+ {
1357
+ name: 'vaultIfTokenAccount';
1358
+ isMut: true;
1359
+ isSigner: false;
1360
+ },
1155
1361
  {
1156
1362
  name: 'driftUserStats';
1157
1363
  isMut: true;
@@ -1162,6 +1368,62 @@ export type DriftVaults = {
1162
1368
  isMut: false;
1163
1369
  isSigner: false;
1164
1370
  },
1371
+ {
1372
+ name: 'driftSigner';
1373
+ isMut: false;
1374
+ isSigner: false;
1375
+ },
1376
+ {
1377
+ name: 'driftProgram';
1378
+ isMut: false;
1379
+ isSigner: false;
1380
+ },
1381
+ {
1382
+ name: 'tokenProgram';
1383
+ isMut: false;
1384
+ isSigner: false;
1385
+ }
1386
+ ];
1387
+ args: [
1388
+ {
1389
+ name: 'marketIndex';
1390
+ type: 'u16';
1391
+ }
1392
+ ];
1393
+ },
1394
+ {
1395
+ name: 'cancelRequestRemoveInsuranceFundStake';
1396
+ accounts: [
1397
+ {
1398
+ name: 'vault';
1399
+ isMut: true;
1400
+ isSigner: false;
1401
+ },
1402
+ {
1403
+ name: 'manager';
1404
+ isMut: false;
1405
+ isSigner: true;
1406
+ },
1407
+ {
1408
+ name: 'driftSpotMarket';
1409
+ isMut: true;
1410
+ isSigner: false;
1411
+ },
1412
+ {
1413
+ name: 'insuranceFundStake';
1414
+ isMut: true;
1415
+ isSigner: false;
1416
+ },
1417
+ {
1418
+ name: 'insuranceFundVault';
1419
+ isMut: true;
1420
+ isSigner: false;
1421
+ },
1422
+ {
1423
+ name: 'driftUserStats';
1424
+ isMut: true;
1425
+ isSigner: false;
1426
+ },
1165
1427
  {
1166
1428
  name: 'driftProgram';
1167
1429
  isMut: false;
@@ -1140,21 +1140,227 @@ exports.IDL = {
1140
1140
  isMut: false,
1141
1141
  isSigner: false,
1142
1142
  },
1143
+ {
1144
+ name: 'driftSpotMarket',
1145
+ isMut: true,
1146
+ isSigner: false,
1147
+ },
1148
+ {
1149
+ name: 'driftSpotMarketMint',
1150
+ isMut: false,
1151
+ isSigner: false,
1152
+ },
1153
+ {
1154
+ name: 'vaultTokenAccount',
1155
+ isMut: true,
1156
+ isSigner: false,
1157
+ },
1158
+ {
1159
+ name: 'insuranceFundStake',
1160
+ isMut: true,
1161
+ isSigner: false,
1162
+ },
1163
+ {
1164
+ name: 'driftUserStats',
1165
+ isMut: true,
1166
+ isSigner: false,
1167
+ },
1168
+ {
1169
+ name: 'driftState',
1170
+ isMut: false,
1171
+ isSigner: false,
1172
+ },
1173
+ {
1174
+ name: 'driftProgram',
1175
+ isMut: false,
1176
+ isSigner: false,
1177
+ },
1178
+ {
1179
+ name: 'tokenProgram',
1180
+ isMut: false,
1181
+ isSigner: false,
1182
+ },
1143
1183
  {
1144
1184
  name: 'systemProgram',
1145
1185
  isMut: false,
1146
1186
  isSigner: false,
1147
1187
  },
1188
+ ],
1189
+ args: [
1190
+ {
1191
+ name: 'marketIndex',
1192
+ type: 'u16',
1193
+ },
1194
+ ],
1195
+ },
1196
+ {
1197
+ name: 'addInsuranceFundStake',
1198
+ accounts: [
1199
+ {
1200
+ name: 'vault',
1201
+ isMut: true,
1202
+ isSigner: false,
1203
+ },
1204
+ {
1205
+ name: 'manager',
1206
+ isMut: true,
1207
+ isSigner: true,
1208
+ },
1209
+ {
1210
+ name: 'driftSpotMarket',
1211
+ isMut: true,
1212
+ isSigner: false,
1213
+ },
1214
+ {
1215
+ name: 'driftSpotMarketVault',
1216
+ isMut: true,
1217
+ isSigner: false,
1218
+ },
1219
+ {
1220
+ name: 'insuranceFundStake',
1221
+ isMut: true,
1222
+ isSigner: false,
1223
+ },
1224
+ {
1225
+ name: 'insuranceFundVault',
1226
+ isMut: true,
1227
+ isSigner: false,
1228
+ },
1229
+ {
1230
+ name: 'managerTokenAccount',
1231
+ isMut: true,
1232
+ isSigner: false,
1233
+ },
1234
+ {
1235
+ name: 'vaultIfTokenAccount',
1236
+ isMut: true,
1237
+ isSigner: false,
1238
+ },
1239
+ {
1240
+ name: 'driftUserStats',
1241
+ isMut: true,
1242
+ isSigner: false,
1243
+ },
1244
+ {
1245
+ name: 'driftState',
1246
+ isMut: false,
1247
+ isSigner: false,
1248
+ },
1249
+ {
1250
+ name: 'driftSigner',
1251
+ isMut: false,
1252
+ isSigner: false,
1253
+ },
1254
+ {
1255
+ name: 'driftProgram',
1256
+ isMut: false,
1257
+ isSigner: false,
1258
+ },
1259
+ {
1260
+ name: 'tokenProgram',
1261
+ isMut: false,
1262
+ isSigner: false,
1263
+ },
1264
+ ],
1265
+ args: [
1266
+ {
1267
+ name: 'marketIndex',
1268
+ type: 'u16',
1269
+ },
1270
+ {
1271
+ name: 'amount',
1272
+ type: 'u64',
1273
+ },
1274
+ ],
1275
+ },
1276
+ {
1277
+ name: 'requestRemoveInsuranceFundStake',
1278
+ accounts: [
1279
+ {
1280
+ name: 'vault',
1281
+ isMut: true,
1282
+ isSigner: false,
1283
+ },
1284
+ {
1285
+ name: 'manager',
1286
+ isMut: false,
1287
+ isSigner: true,
1288
+ },
1148
1289
  {
1149
1290
  name: 'driftSpotMarket',
1291
+ isMut: true,
1292
+ isSigner: false,
1293
+ },
1294
+ {
1295
+ name: 'insuranceFundStake',
1296
+ isMut: true,
1297
+ isSigner: false,
1298
+ },
1299
+ {
1300
+ name: 'insuranceFundVault',
1301
+ isMut: true,
1302
+ isSigner: false,
1303
+ },
1304
+ {
1305
+ name: 'driftUserStats',
1306
+ isMut: true,
1307
+ isSigner: false,
1308
+ },
1309
+ {
1310
+ name: 'driftProgram',
1150
1311
  isMut: false,
1151
1312
  isSigner: false,
1152
1313
  },
1314
+ ],
1315
+ args: [
1316
+ {
1317
+ name: 'marketIndex',
1318
+ type: 'u16',
1319
+ },
1320
+ {
1321
+ name: 'amount',
1322
+ type: 'u64',
1323
+ },
1324
+ ],
1325
+ },
1326
+ {
1327
+ name: 'removeInsuranceFundStake',
1328
+ accounts: [
1329
+ {
1330
+ name: 'vault',
1331
+ isMut: true,
1332
+ isSigner: false,
1333
+ },
1334
+ {
1335
+ name: 'manager',
1336
+ isMut: false,
1337
+ isSigner: true,
1338
+ },
1339
+ {
1340
+ name: 'driftSpotMarket',
1341
+ isMut: true,
1342
+ isSigner: false,
1343
+ },
1153
1344
  {
1154
1345
  name: 'insuranceFundStake',
1155
1346
  isMut: true,
1156
1347
  isSigner: false,
1157
1348
  },
1349
+ {
1350
+ name: 'insuranceFundVault',
1351
+ isMut: true,
1352
+ isSigner: false,
1353
+ },
1354
+ {
1355
+ name: 'managerTokenAccount',
1356
+ isMut: true,
1357
+ isSigner: false,
1358
+ },
1359
+ {
1360
+ name: 'vaultIfTokenAccount',
1361
+ isMut: true,
1362
+ isSigner: false,
1363
+ },
1158
1364
  {
1159
1365
  name: 'driftUserStats',
1160
1366
  isMut: true,
@@ -1165,6 +1371,62 @@ exports.IDL = {
1165
1371
  isMut: false,
1166
1372
  isSigner: false,
1167
1373
  },
1374
+ {
1375
+ name: 'driftSigner',
1376
+ isMut: false,
1377
+ isSigner: false,
1378
+ },
1379
+ {
1380
+ name: 'driftProgram',
1381
+ isMut: false,
1382
+ isSigner: false,
1383
+ },
1384
+ {
1385
+ name: 'tokenProgram',
1386
+ isMut: false,
1387
+ isSigner: false,
1388
+ },
1389
+ ],
1390
+ args: [
1391
+ {
1392
+ name: 'marketIndex',
1393
+ type: 'u16',
1394
+ },
1395
+ ],
1396
+ },
1397
+ {
1398
+ name: 'cancelRequestRemoveInsuranceFundStake',
1399
+ accounts: [
1400
+ {
1401
+ name: 'vault',
1402
+ isMut: true,
1403
+ isSigner: false,
1404
+ },
1405
+ {
1406
+ name: 'manager',
1407
+ isMut: false,
1408
+ isSigner: true,
1409
+ },
1410
+ {
1411
+ name: 'driftSpotMarket',
1412
+ isMut: true,
1413
+ isSigner: false,
1414
+ },
1415
+ {
1416
+ name: 'insuranceFundStake',
1417
+ isMut: true,
1418
+ isSigner: false,
1419
+ },
1420
+ {
1421
+ name: 'insuranceFundVault',
1422
+ isMut: true,
1423
+ isSigner: false,
1424
+ },
1425
+ {
1426
+ name: 'driftUserStats',
1427
+ isMut: true,
1428
+ isSigner: false,
1429
+ },
1168
1430
  {
1169
1431
  name: 'driftProgram',
1170
1432
  isMut: false,
@@ -280,6 +280,17 @@ export declare class VaultClient {
280
280
  * @returns
281
281
  */
282
282
  initializeInsuranceFundStake(vault: PublicKey, spotMarketIndex: number): Promise<TransactionSignature>;
283
+ /**
284
+ * Adds an amount to an insurance fund stake for the vault.
285
+ * @param vault vault address to update
286
+ * @param spotMarketIndex spot market index of the insurance fund stake
287
+ * @param amount amount to add to the insurance fund stake, in spotMarketIndex precision
288
+ * @returns
289
+ */
290
+ addToInsuranceFundStake(vault: PublicKey, spotMarketIndex: number, amount: BN, managerTokenAccount?: PublicKey): Promise<TransactionSignature>;
291
+ requestRemoveInsuranceFundStake(vault: PublicKey, spotMarketIndex: number, amount: BN): Promise<TransactionSignature>;
292
+ cancelRequestRemoveInsuranceFundStake(vault: PublicKey, spotMarketIndex: number): Promise<TransactionSignature>;
293
+ removeInsuranceFundStake(vault: PublicKey, spotMarketIndex: number, managerTokenAccount?: PublicKey): Promise<TransactionSignature>;
283
294
  protocolRequestWithdraw(vault: PublicKey, amount: BN, withdrawUnit: WithdrawUnit): Promise<TransactionSignature>;
284
295
  protocolCancelWithdrawRequest(vault: PublicKey): Promise<TransactionSignature>;
285
296
  protocolWithdraw(vault: PublicKey): Promise<TransactionSignature>;