@drift-labs/vaults-sdk 0.1.531 → 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.
@@ -312,6 +312,177 @@ export type DriftVaults = {
312
312
  ];
313
313
  args: [];
314
314
  },
315
+ {
316
+ name: 'initializeTokenizedVaultDepositor';
317
+ accounts: [
318
+ {
319
+ name: 'vault';
320
+ isMut: false;
321
+ isSigner: false;
322
+ },
323
+ {
324
+ name: 'vaultDepositor';
325
+ isMut: true;
326
+ isSigner: false;
327
+ },
328
+ {
329
+ name: 'mintAccount';
330
+ isMut: true;
331
+ isSigner: false;
332
+ },
333
+ {
334
+ name: 'metadataAccount';
335
+ isMut: true;
336
+ isSigner: false;
337
+ },
338
+ {
339
+ name: 'payer';
340
+ isMut: true;
341
+ isSigner: true;
342
+ },
343
+ {
344
+ name: 'tokenProgram';
345
+ isMut: false;
346
+ isSigner: false;
347
+ },
348
+ {
349
+ name: 'tokenMetadataProgram';
350
+ isMut: false;
351
+ isSigner: false;
352
+ },
353
+ {
354
+ name: 'rent';
355
+ isMut: false;
356
+ isSigner: false;
357
+ },
358
+ {
359
+ name: 'systemProgram';
360
+ isMut: false;
361
+ isSigner: false;
362
+ }
363
+ ];
364
+ args: [
365
+ {
366
+ name: 'params';
367
+ type: {
368
+ defined: 'InitializeTokenizedVaultDepositorParams';
369
+ };
370
+ }
371
+ ];
372
+ },
373
+ {
374
+ name: 'tokenizeShares';
375
+ accounts: [
376
+ {
377
+ name: 'vault';
378
+ isMut: true;
379
+ isSigner: false;
380
+ },
381
+ {
382
+ name: 'vaultDepositor';
383
+ isMut: true;
384
+ isSigner: false;
385
+ },
386
+ {
387
+ name: 'authority';
388
+ isMut: false;
389
+ isSigner: true;
390
+ },
391
+ {
392
+ name: 'tokenizedVaultDepositor';
393
+ isMut: true;
394
+ isSigner: false;
395
+ },
396
+ {
397
+ name: 'mint';
398
+ isMut: true;
399
+ isSigner: false;
400
+ },
401
+ {
402
+ name: 'userTokenAccount';
403
+ isMut: false;
404
+ isSigner: false;
405
+ },
406
+ {
407
+ name: 'driftUser';
408
+ isMut: true;
409
+ isSigner: false;
410
+ },
411
+ {
412
+ name: 'tokenProgram';
413
+ isMut: false;
414
+ isSigner: false;
415
+ }
416
+ ];
417
+ args: [
418
+ {
419
+ name: 'amount';
420
+ type: 'u64';
421
+ },
422
+ {
423
+ name: 'unit';
424
+ type: {
425
+ defined: 'WithdrawUnit';
426
+ };
427
+ }
428
+ ];
429
+ },
430
+ {
431
+ name: 'redeemTokens';
432
+ accounts: [
433
+ {
434
+ name: 'vault';
435
+ isMut: true;
436
+ isSigner: false;
437
+ },
438
+ {
439
+ name: 'vaultDepositor';
440
+ isMut: true;
441
+ isSigner: false;
442
+ },
443
+ {
444
+ name: 'authority';
445
+ isMut: false;
446
+ isSigner: true;
447
+ },
448
+ {
449
+ name: 'tokenizedVaultDepositor';
450
+ isMut: true;
451
+ isSigner: false;
452
+ },
453
+ {
454
+ name: 'mint';
455
+ isMut: true;
456
+ isSigner: false;
457
+ },
458
+ {
459
+ name: 'userTokenAccount';
460
+ isMut: true;
461
+ isSigner: false;
462
+ },
463
+ {
464
+ name: 'vaultTokenAccount';
465
+ isMut: true;
466
+ isSigner: false;
467
+ },
468
+ {
469
+ name: 'driftUser';
470
+ isMut: true;
471
+ isSigner: false;
472
+ },
473
+ {
474
+ name: 'tokenProgram';
475
+ isMut: false;
476
+ isSigner: false;
477
+ }
478
+ ];
479
+ args: [
480
+ {
481
+ name: 'tokensToBurn';
482
+ type: 'u64';
483
+ }
484
+ ];
485
+ },
315
486
  {
316
487
  name: 'deposit';
317
488
  accounts: [
@@ -835,6 +1006,48 @@ export type DriftVaults = {
835
1006
  ];
836
1007
  args: [];
837
1008
  },
1009
+ {
1010
+ name: 'applyRebase';
1011
+ accounts: [
1012
+ {
1013
+ name: 'vault';
1014
+ isMut: true;
1015
+ isSigner: false;
1016
+ },
1017
+ {
1018
+ name: 'vaultDepositor';
1019
+ isMut: true;
1020
+ isSigner: false;
1021
+ },
1022
+ {
1023
+ name: 'driftUser';
1024
+ isMut: true;
1025
+ isSigner: false;
1026
+ }
1027
+ ];
1028
+ args: [];
1029
+ },
1030
+ {
1031
+ name: 'applyRebaseTokenizedDepositor';
1032
+ accounts: [
1033
+ {
1034
+ name: 'vault';
1035
+ isMut: true;
1036
+ isSigner: false;
1037
+ },
1038
+ {
1039
+ name: 'tokenizedVaultDepositor';
1040
+ isMut: true;
1041
+ isSigner: false;
1042
+ },
1043
+ {
1044
+ name: 'driftUser';
1045
+ isMut: true;
1046
+ isSigner: false;
1047
+ }
1048
+ ];
1049
+ args: [];
1050
+ },
838
1051
  {
839
1052
  name: 'forceWithdraw';
840
1053
  accounts: [
@@ -925,15 +1138,20 @@ export type DriftVaults = {
925
1138
  isSigner: false;
926
1139
  },
927
1140
  {
928
- name: 'systemProgram';
929
- isMut: false;
1141
+ name: 'driftSpotMarket';
1142
+ isMut: true;
930
1143
  isSigner: false;
931
1144
  },
932
1145
  {
933
- name: 'driftSpotMarket';
1146
+ name: 'driftSpotMarketMint';
934
1147
  isMut: false;
935
1148
  isSigner: false;
936
1149
  },
1150
+ {
1151
+ name: 'vaultTokenAccount';
1152
+ isMut: true;
1153
+ isSigner: false;
1154
+ },
937
1155
  {
938
1156
  name: 'insuranceFundStake';
939
1157
  isMut: true;
@@ -953,6 +1171,16 @@ export type DriftVaults = {
953
1171
  name: 'driftProgram';
954
1172
  isMut: false;
955
1173
  isSigner: false;
1174
+ },
1175
+ {
1176
+ name: 'tokenProgram';
1177
+ isMut: false;
1178
+ isSigner: false;
1179
+ },
1180
+ {
1181
+ name: 'systemProgram';
1182
+ isMut: false;
1183
+ isSigner: false;
956
1184
  }
957
1185
  ];
958
1186
  args: [
@@ -963,7 +1191,7 @@ export type DriftVaults = {
963
1191
  ];
964
1192
  },
965
1193
  {
966
- name: 'initializeCompetitor';
1194
+ name: 'addInsuranceFundStake';
967
1195
  accounts: [
968
1196
  {
969
1197
  name: 'vault';
@@ -972,77 +1200,273 @@ export type DriftVaults = {
972
1200
  },
973
1201
  {
974
1202
  name: 'manager';
975
- isMut: false;
976
- isSigner: true;
977
- },
978
- {
979
- name: 'payer';
980
1203
  isMut: true;
981
1204
  isSigner: true;
982
1205
  },
983
1206
  {
984
- name: 'rent';
985
- isMut: false;
1207
+ name: 'driftSpotMarket';
1208
+ isMut: true;
986
1209
  isSigner: false;
987
1210
  },
988
1211
  {
989
- name: 'systemProgram';
990
- isMut: false;
1212
+ name: 'driftSpotMarketVault';
1213
+ isMut: true;
991
1214
  isSigner: false;
992
1215
  },
993
1216
  {
994
- name: 'competitor';
1217
+ name: 'insuranceFundStake';
995
1218
  isMut: true;
996
1219
  isSigner: false;
997
1220
  },
998
1221
  {
999
- name: 'driftCompetitions';
1222
+ name: 'insuranceFundVault';
1000
1223
  isMut: true;
1001
1224
  isSigner: false;
1002
1225
  },
1003
1226
  {
1004
- name: 'driftUserStats';
1227
+ name: 'managerTokenAccount';
1005
1228
  isMut: true;
1006
1229
  isSigner: false;
1007
1230
  },
1008
1231
  {
1009
- name: 'driftCompetitionsProgram';
1010
- isMut: false;
1011
- isSigner: false;
1012
- }
1013
- ];
1014
- args: [];
1015
- },
1016
- {
1017
- name: 'protocolRequestWithdraw';
1018
- accounts: [
1019
- {
1020
- name: 'vault';
1232
+ name: 'vaultIfTokenAccount';
1021
1233
  isMut: true;
1022
1234
  isSigner: false;
1023
1235
  },
1024
1236
  {
1025
- name: 'vaultProtocol';
1237
+ name: 'driftUserStats';
1026
1238
  isMut: true;
1027
1239
  isSigner: false;
1028
1240
  },
1029
1241
  {
1030
- name: 'protocol';
1242
+ name: 'driftState';
1031
1243
  isMut: false;
1032
- isSigner: true;
1244
+ isSigner: false;
1033
1245
  },
1034
1246
  {
1035
- name: 'driftUserStats';
1247
+ name: 'driftSigner';
1036
1248
  isMut: false;
1037
1249
  isSigner: false;
1038
1250
  },
1039
1251
  {
1040
- name: 'driftUser';
1252
+ name: 'driftProgram';
1041
1253
  isMut: false;
1042
1254
  isSigner: false;
1043
1255
  },
1044
1256
  {
1045
- name: 'driftState';
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;
1285
+ },
1286
+ {
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';
1308
+ isMut: false;
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;
1340
+ },
1341
+ {
1342
+ name: 'insuranceFundStake';
1343
+ isMut: true;
1344
+ isSigner: false;
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
+ },
1361
+ {
1362
+ name: 'driftUserStats';
1363
+ isMut: true;
1364
+ isSigner: false;
1365
+ },
1366
+ {
1367
+ name: 'driftState';
1368
+ isMut: false;
1369
+ isSigner: false;
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
+ },
1427
+ {
1428
+ name: 'driftProgram';
1429
+ isMut: false;
1430
+ isSigner: false;
1431
+ }
1432
+ ];
1433
+ args: [
1434
+ {
1435
+ name: 'marketIndex';
1436
+ type: 'u16';
1437
+ }
1438
+ ];
1439
+ },
1440
+ {
1441
+ name: 'protocolRequestWithdraw';
1442
+ accounts: [
1443
+ {
1444
+ name: 'vault';
1445
+ isMut: true;
1446
+ isSigner: false;
1447
+ },
1448
+ {
1449
+ name: 'vaultProtocol';
1450
+ isMut: true;
1451
+ isSigner: false;
1452
+ },
1453
+ {
1454
+ name: 'protocol';
1455
+ isMut: false;
1456
+ isSigner: true;
1457
+ },
1458
+ {
1459
+ name: 'driftUserStats';
1460
+ isMut: false;
1461
+ isSigner: false;
1462
+ },
1463
+ {
1464
+ name: 'driftUser';
1465
+ isMut: false;
1466
+ isSigner: false;
1467
+ },
1468
+ {
1469
+ name: 'driftState';
1046
1470
  isMut: false;
1047
1471
  isSigner: false;
1048
1472
  }
@@ -1164,6 +1588,105 @@ export type DriftVaults = {
1164
1588
  }
1165
1589
  ];
1166
1590
  accounts: [
1591
+ {
1592
+ name: 'tokenizedVaultDepositor';
1593
+ type: {
1594
+ kind: 'struct';
1595
+ fields: [
1596
+ {
1597
+ name: 'vault';
1598
+ docs: ['The vault deposited into'];
1599
+ type: 'publicKey';
1600
+ },
1601
+ {
1602
+ name: 'pubkey';
1603
+ docs: [
1604
+ "The vault depositor account's pubkey. It is a pda of vault"
1605
+ ];
1606
+ type: 'publicKey';
1607
+ },
1608
+ {
1609
+ name: 'mint';
1610
+ docs: [
1611
+ 'The token mint for tokenized shares owned by this VaultDepositor'
1612
+ ];
1613
+ type: 'publicKey';
1614
+ },
1615
+ {
1616
+ name: 'vaultShares';
1617
+ docs: [
1618
+ "share of vault owned by this depositor. vault_shares / vault.total_shares is depositor's ownership of vault_equity"
1619
+ ];
1620
+ type: 'u128';
1621
+ },
1622
+ {
1623
+ name: 'lastVaultShares';
1624
+ docs: [
1625
+ 'stores the vault_shares from the most recent liquidity event (redeem or issuance) before a spl token',
1626
+ 'CPI is done, used to track invariants'
1627
+ ];
1628
+ type: 'u128';
1629
+ },
1630
+ {
1631
+ name: 'lastValidTs';
1632
+ docs: ['creation ts of vault depositor'];
1633
+ type: 'i64';
1634
+ },
1635
+ {
1636
+ name: 'netDeposits';
1637
+ docs: ['lifetime net deposits of vault depositor for the vault'];
1638
+ type: 'i64';
1639
+ },
1640
+ {
1641
+ name: 'totalDeposits';
1642
+ docs: ['lifetime total deposits'];
1643
+ type: 'u64';
1644
+ },
1645
+ {
1646
+ name: 'totalWithdraws';
1647
+ docs: ['lifetime total withdraws'];
1648
+ type: 'u64';
1649
+ },
1650
+ {
1651
+ name: 'cumulativeProfitShareAmount';
1652
+ docs: [
1653
+ 'the token amount of gains the vault depositor has paid performance fees on'
1654
+ ];
1655
+ type: 'i64';
1656
+ },
1657
+ {
1658
+ name: 'profitShareFeePaid';
1659
+ type: 'u64';
1660
+ },
1661
+ {
1662
+ name: 'vaultSharesBase';
1663
+ docs: [
1664
+ 'The exponent for vault_shares decimal places at the time the tokenized vault depositor was initialized.',
1665
+ 'If the vault undergoes a rebase, this TokenizedVaultDepositor can no longer issue new tokens, only redeem',
1666
+ 'is possible.'
1667
+ ];
1668
+ type: 'u32';
1669
+ },
1670
+ {
1671
+ name: 'bump';
1672
+ docs: ['The bump for the vault pda'];
1673
+ type: 'u8';
1674
+ },
1675
+ {
1676
+ name: 'padding1';
1677
+ type: {
1678
+ array: ['u8', 3];
1679
+ };
1680
+ },
1681
+ {
1682
+ name: 'padding';
1683
+ type: {
1684
+ array: ['u64', 10];
1685
+ };
1686
+ }
1687
+ ];
1688
+ };
1689
+ },
1167
1690
  {
1168
1691
  name: 'vaultDepositor';
1169
1692
  type: {
@@ -1554,6 +2077,30 @@ export type DriftVaults = {
1554
2077
  }
1555
2078
  ];
1556
2079
  types: [
2080
+ {
2081
+ name: 'InitializeTokenizedVaultDepositorParams';
2082
+ type: {
2083
+ kind: 'struct';
2084
+ fields: [
2085
+ {
2086
+ name: 'tokenName';
2087
+ type: 'string';
2088
+ },
2089
+ {
2090
+ name: 'tokenSymbol';
2091
+ type: 'string';
2092
+ },
2093
+ {
2094
+ name: 'tokenUri';
2095
+ type: 'string';
2096
+ },
2097
+ {
2098
+ name: 'decimals';
2099
+ type: 'u8';
2100
+ }
2101
+ ];
2102
+ };
2103
+ },
1557
2104
  {
1558
2105
  name: 'VaultWithProtocolParams';
1559
2106
  type: {
@@ -1786,6 +2333,12 @@ export type DriftVaults = {
1786
2333
  },
1787
2334
  {
1788
2335
  name: 'FeePayment';
2336
+ },
2337
+ {
2338
+ name: 'TokenizeShares';
2339
+ },
2340
+ {
2341
+ name: 'RedeemTokens';
1789
2342
  }
1790
2343
  ];
1791
2344
  };
@@ -2027,6 +2580,61 @@ export type DriftVaults = {
2027
2580
  index: false;
2028
2581
  }
2029
2582
  ];
2583
+ },
2584
+ {
2585
+ name: 'ShareTransferRecord';
2586
+ fields: [
2587
+ {
2588
+ name: 'ts';
2589
+ type: 'i64';
2590
+ index: false;
2591
+ },
2592
+ {
2593
+ name: 'vault';
2594
+ type: 'publicKey';
2595
+ index: false;
2596
+ },
2597
+ {
2598
+ name: 'fromVaultDepositor';
2599
+ type: 'publicKey';
2600
+ index: false;
2601
+ },
2602
+ {
2603
+ name: 'toVaultDepositor';
2604
+ type: 'publicKey';
2605
+ index: false;
2606
+ },
2607
+ {
2608
+ name: 'shares';
2609
+ type: 'u128';
2610
+ index: false;
2611
+ },
2612
+ {
2613
+ name: 'value';
2614
+ type: 'u64';
2615
+ index: false;
2616
+ },
2617
+ {
2618
+ name: 'fromDepositorSharesBefore';
2619
+ type: 'u128';
2620
+ index: false;
2621
+ },
2622
+ {
2623
+ name: 'fromDepositorSharesAfter';
2624
+ type: 'u128';
2625
+ index: false;
2626
+ },
2627
+ {
2628
+ name: 'toDepositorSharesBefore';
2629
+ type: 'u128';
2630
+ index: false;
2631
+ },
2632
+ {
2633
+ name: 'toDepositorSharesAfter';
2634
+ type: 'u128';
2635
+ index: false;
2636
+ }
2637
+ ];
2030
2638
  }
2031
2639
  ];
2032
2640
  errors: [
@@ -2144,6 +2752,11 @@ export type DriftVaults = {
2144
2752
  code: 6022;
2145
2753
  name: 'VaultProtocolMissing';
2146
2754
  msg: 'VaultProtocolMissing';
2755
+ },
2756
+ {
2757
+ code: 6023;
2758
+ name: 'InvalidTokenization';
2759
+ msg: 'InvalidTokenization';
2147
2760
  }
2148
2761
  ];
2149
2762
  };
@@ -2445,22 +3058,193 @@ export const IDL: DriftVaults = {
2445
3058
  isSigner: false,
2446
3059
  },
2447
3060
  {
2448
- name: 'payer',
3061
+ name: 'payer',
3062
+ isMut: true,
3063
+ isSigner: true,
3064
+ },
3065
+ {
3066
+ name: 'rent',
3067
+ isMut: false,
3068
+ isSigner: false,
3069
+ },
3070
+ {
3071
+ name: 'systemProgram',
3072
+ isMut: false,
3073
+ isSigner: false,
3074
+ },
3075
+ ],
3076
+ args: [],
3077
+ },
3078
+ {
3079
+ name: 'initializeTokenizedVaultDepositor',
3080
+ accounts: [
3081
+ {
3082
+ name: 'vault',
3083
+ isMut: false,
3084
+ isSigner: false,
3085
+ },
3086
+ {
3087
+ name: 'vaultDepositor',
3088
+ isMut: true,
3089
+ isSigner: false,
3090
+ },
3091
+ {
3092
+ name: 'mintAccount',
3093
+ isMut: true,
3094
+ isSigner: false,
3095
+ },
3096
+ {
3097
+ name: 'metadataAccount',
3098
+ isMut: true,
3099
+ isSigner: false,
3100
+ },
3101
+ {
3102
+ name: 'payer',
3103
+ isMut: true,
3104
+ isSigner: true,
3105
+ },
3106
+ {
3107
+ name: 'tokenProgram',
3108
+ isMut: false,
3109
+ isSigner: false,
3110
+ },
3111
+ {
3112
+ name: 'tokenMetadataProgram',
3113
+ isMut: false,
3114
+ isSigner: false,
3115
+ },
3116
+ {
3117
+ name: 'rent',
3118
+ isMut: false,
3119
+ isSigner: false,
3120
+ },
3121
+ {
3122
+ name: 'systemProgram',
3123
+ isMut: false,
3124
+ isSigner: false,
3125
+ },
3126
+ ],
3127
+ args: [
3128
+ {
3129
+ name: 'params',
3130
+ type: {
3131
+ defined: 'InitializeTokenizedVaultDepositorParams',
3132
+ },
3133
+ },
3134
+ ],
3135
+ },
3136
+ {
3137
+ name: 'tokenizeShares',
3138
+ accounts: [
3139
+ {
3140
+ name: 'vault',
3141
+ isMut: true,
3142
+ isSigner: false,
3143
+ },
3144
+ {
3145
+ name: 'vaultDepositor',
3146
+ isMut: true,
3147
+ isSigner: false,
3148
+ },
3149
+ {
3150
+ name: 'authority',
3151
+ isMut: false,
3152
+ isSigner: true,
3153
+ },
3154
+ {
3155
+ name: 'tokenizedVaultDepositor',
3156
+ isMut: true,
3157
+ isSigner: false,
3158
+ },
3159
+ {
3160
+ name: 'mint',
3161
+ isMut: true,
3162
+ isSigner: false,
3163
+ },
3164
+ {
3165
+ name: 'userTokenAccount',
3166
+ isMut: false,
3167
+ isSigner: false,
3168
+ },
3169
+ {
3170
+ name: 'driftUser',
3171
+ isMut: true,
3172
+ isSigner: false,
3173
+ },
3174
+ {
3175
+ name: 'tokenProgram',
3176
+ isMut: false,
3177
+ isSigner: false,
3178
+ },
3179
+ ],
3180
+ args: [
3181
+ {
3182
+ name: 'amount',
3183
+ type: 'u64',
3184
+ },
3185
+ {
3186
+ name: 'unit',
3187
+ type: {
3188
+ defined: 'WithdrawUnit',
3189
+ },
3190
+ },
3191
+ ],
3192
+ },
3193
+ {
3194
+ name: 'redeemTokens',
3195
+ accounts: [
3196
+ {
3197
+ name: 'vault',
3198
+ isMut: true,
3199
+ isSigner: false,
3200
+ },
3201
+ {
3202
+ name: 'vaultDepositor',
3203
+ isMut: true,
3204
+ isSigner: false,
3205
+ },
3206
+ {
3207
+ name: 'authority',
3208
+ isMut: false,
3209
+ isSigner: true,
3210
+ },
3211
+ {
3212
+ name: 'tokenizedVaultDepositor',
3213
+ isMut: true,
3214
+ isSigner: false,
3215
+ },
3216
+ {
3217
+ name: 'mint',
3218
+ isMut: true,
3219
+ isSigner: false,
3220
+ },
3221
+ {
3222
+ name: 'userTokenAccount',
3223
+ isMut: true,
3224
+ isSigner: false,
3225
+ },
3226
+ {
3227
+ name: 'vaultTokenAccount',
3228
+ isMut: true,
3229
+ isSigner: false,
3230
+ },
3231
+ {
3232
+ name: 'driftUser',
2449
3233
  isMut: true,
2450
- isSigner: true,
3234
+ isSigner: false,
2451
3235
  },
2452
3236
  {
2453
- name: 'rent',
3237
+ name: 'tokenProgram',
2454
3238
  isMut: false,
2455
3239
  isSigner: false,
2456
3240
  },
3241
+ ],
3242
+ args: [
2457
3243
  {
2458
- name: 'systemProgram',
2459
- isMut: false,
2460
- isSigner: false,
3244
+ name: 'tokensToBurn',
3245
+ type: 'u64',
2461
3246
  },
2462
3247
  ],
2463
- args: [],
2464
3248
  },
2465
3249
  {
2466
3250
  name: 'deposit',
@@ -2983,10 +3767,274 @@ export const IDL: DriftVaults = {
2983
3767
  isSigner: false,
2984
3768
  },
2985
3769
  ],
2986
- args: [],
3770
+ args: [],
3771
+ },
3772
+ {
3773
+ name: 'applyRebase',
3774
+ accounts: [
3775
+ {
3776
+ name: 'vault',
3777
+ isMut: true,
3778
+ isSigner: false,
3779
+ },
3780
+ {
3781
+ name: 'vaultDepositor',
3782
+ isMut: true,
3783
+ isSigner: false,
3784
+ },
3785
+ {
3786
+ name: 'driftUser',
3787
+ isMut: true,
3788
+ isSigner: false,
3789
+ },
3790
+ ],
3791
+ args: [],
3792
+ },
3793
+ {
3794
+ name: 'applyRebaseTokenizedDepositor',
3795
+ accounts: [
3796
+ {
3797
+ name: 'vault',
3798
+ isMut: true,
3799
+ isSigner: false,
3800
+ },
3801
+ {
3802
+ name: 'tokenizedVaultDepositor',
3803
+ isMut: true,
3804
+ isSigner: false,
3805
+ },
3806
+ {
3807
+ name: 'driftUser',
3808
+ isMut: true,
3809
+ isSigner: false,
3810
+ },
3811
+ ],
3812
+ args: [],
3813
+ },
3814
+ {
3815
+ name: 'forceWithdraw',
3816
+ accounts: [
3817
+ {
3818
+ name: 'vault',
3819
+ isMut: true,
3820
+ isSigner: false,
3821
+ },
3822
+ {
3823
+ name: 'manager',
3824
+ isMut: false,
3825
+ isSigner: true,
3826
+ },
3827
+ {
3828
+ name: 'vaultDepositor',
3829
+ isMut: true,
3830
+ isSigner: false,
3831
+ },
3832
+ {
3833
+ name: 'vaultTokenAccount',
3834
+ isMut: true,
3835
+ isSigner: false,
3836
+ },
3837
+ {
3838
+ name: 'driftUserStats',
3839
+ isMut: true,
3840
+ isSigner: false,
3841
+ },
3842
+ {
3843
+ name: 'driftUser',
3844
+ isMut: true,
3845
+ isSigner: false,
3846
+ },
3847
+ {
3848
+ name: 'driftState',
3849
+ isMut: false,
3850
+ isSigner: false,
3851
+ },
3852
+ {
3853
+ name: 'driftSpotMarketVault',
3854
+ isMut: true,
3855
+ isSigner: false,
3856
+ },
3857
+ {
3858
+ name: 'driftSigner',
3859
+ isMut: false,
3860
+ isSigner: false,
3861
+ },
3862
+ {
3863
+ name: 'userTokenAccount',
3864
+ isMut: true,
3865
+ isSigner: false,
3866
+ },
3867
+ {
3868
+ name: 'driftProgram',
3869
+ isMut: false,
3870
+ isSigner: false,
3871
+ },
3872
+ {
3873
+ name: 'tokenProgram',
3874
+ isMut: false,
3875
+ isSigner: false,
3876
+ },
3877
+ ],
3878
+ args: [],
3879
+ },
3880
+ {
3881
+ name: 'initializeInsuranceFundStake',
3882
+ accounts: [
3883
+ {
3884
+ name: 'vault',
3885
+ isMut: true,
3886
+ isSigner: false,
3887
+ },
3888
+ {
3889
+ name: 'manager',
3890
+ isMut: false,
3891
+ isSigner: true,
3892
+ },
3893
+ {
3894
+ name: 'payer',
3895
+ isMut: true,
3896
+ isSigner: true,
3897
+ },
3898
+ {
3899
+ name: 'rent',
3900
+ isMut: false,
3901
+ isSigner: false,
3902
+ },
3903
+ {
3904
+ name: 'driftSpotMarket',
3905
+ isMut: true,
3906
+ isSigner: false,
3907
+ },
3908
+ {
3909
+ name: 'driftSpotMarketMint',
3910
+ isMut: false,
3911
+ isSigner: false,
3912
+ },
3913
+ {
3914
+ name: 'vaultTokenAccount',
3915
+ isMut: true,
3916
+ isSigner: false,
3917
+ },
3918
+ {
3919
+ name: 'insuranceFundStake',
3920
+ isMut: true,
3921
+ isSigner: false,
3922
+ },
3923
+ {
3924
+ name: 'driftUserStats',
3925
+ isMut: true,
3926
+ isSigner: false,
3927
+ },
3928
+ {
3929
+ name: 'driftState',
3930
+ isMut: false,
3931
+ isSigner: false,
3932
+ },
3933
+ {
3934
+ name: 'driftProgram',
3935
+ isMut: false,
3936
+ isSigner: false,
3937
+ },
3938
+ {
3939
+ name: 'tokenProgram',
3940
+ isMut: false,
3941
+ isSigner: false,
3942
+ },
3943
+ {
3944
+ name: 'systemProgram',
3945
+ isMut: false,
3946
+ isSigner: false,
3947
+ },
3948
+ ],
3949
+ args: [
3950
+ {
3951
+ name: 'marketIndex',
3952
+ type: 'u16',
3953
+ },
3954
+ ],
3955
+ },
3956
+ {
3957
+ name: 'addInsuranceFundStake',
3958
+ accounts: [
3959
+ {
3960
+ name: 'vault',
3961
+ isMut: true,
3962
+ isSigner: false,
3963
+ },
3964
+ {
3965
+ name: 'manager',
3966
+ isMut: true,
3967
+ isSigner: true,
3968
+ },
3969
+ {
3970
+ name: 'driftSpotMarket',
3971
+ isMut: true,
3972
+ isSigner: false,
3973
+ },
3974
+ {
3975
+ name: 'driftSpotMarketVault',
3976
+ isMut: true,
3977
+ isSigner: false,
3978
+ },
3979
+ {
3980
+ name: 'insuranceFundStake',
3981
+ isMut: true,
3982
+ isSigner: false,
3983
+ },
3984
+ {
3985
+ name: 'insuranceFundVault',
3986
+ isMut: true,
3987
+ isSigner: false,
3988
+ },
3989
+ {
3990
+ name: 'managerTokenAccount',
3991
+ isMut: true,
3992
+ isSigner: false,
3993
+ },
3994
+ {
3995
+ name: 'vaultIfTokenAccount',
3996
+ isMut: true,
3997
+ isSigner: false,
3998
+ },
3999
+ {
4000
+ name: 'driftUserStats',
4001
+ isMut: true,
4002
+ isSigner: false,
4003
+ },
4004
+ {
4005
+ name: 'driftState',
4006
+ isMut: false,
4007
+ isSigner: false,
4008
+ },
4009
+ {
4010
+ name: 'driftSigner',
4011
+ isMut: false,
4012
+ isSigner: false,
4013
+ },
4014
+ {
4015
+ name: 'driftProgram',
4016
+ isMut: false,
4017
+ isSigner: false,
4018
+ },
4019
+ {
4020
+ name: 'tokenProgram',
4021
+ isMut: false,
4022
+ isSigner: false,
4023
+ },
4024
+ ],
4025
+ args: [
4026
+ {
4027
+ name: 'marketIndex',
4028
+ type: 'u16',
4029
+ },
4030
+ {
4031
+ name: 'amount',
4032
+ type: 'u64',
4033
+ },
4034
+ ],
2987
4035
  },
2988
4036
  {
2989
- name: 'forceWithdraw',
4037
+ name: 'requestRemoveInsuranceFundStake',
2990
4038
  accounts: [
2991
4039
  {
2992
4040
  name: 'vault',
@@ -2999,60 +4047,44 @@ export const IDL: DriftVaults = {
2999
4047
  isSigner: true,
3000
4048
  },
3001
4049
  {
3002
- name: 'vaultDepositor',
3003
- isMut: true,
3004
- isSigner: false,
3005
- },
3006
- {
3007
- name: 'vaultTokenAccount',
4050
+ name: 'driftSpotMarket',
3008
4051
  isMut: true,
3009
4052
  isSigner: false,
3010
4053
  },
3011
4054
  {
3012
- name: 'driftUserStats',
4055
+ name: 'insuranceFundStake',
3013
4056
  isMut: true,
3014
4057
  isSigner: false,
3015
4058
  },
3016
4059
  {
3017
- name: 'driftUser',
4060
+ name: 'insuranceFundVault',
3018
4061
  isMut: true,
3019
4062
  isSigner: false,
3020
4063
  },
3021
4064
  {
3022
- name: 'driftState',
3023
- isMut: false,
3024
- isSigner: false,
3025
- },
3026
- {
3027
- name: 'driftSpotMarketVault',
4065
+ name: 'driftUserStats',
3028
4066
  isMut: true,
3029
4067
  isSigner: false,
3030
4068
  },
3031
4069
  {
3032
- name: 'driftSigner',
4070
+ name: 'driftProgram',
3033
4071
  isMut: false,
3034
4072
  isSigner: false,
3035
4073
  },
4074
+ ],
4075
+ args: [
3036
4076
  {
3037
- name: 'userTokenAccount',
3038
- isMut: true,
3039
- isSigner: false,
3040
- },
3041
- {
3042
- name: 'driftProgram',
3043
- isMut: false,
3044
- isSigner: false,
4077
+ name: 'marketIndex',
4078
+ type: 'u16',
3045
4079
  },
3046
4080
  {
3047
- name: 'tokenProgram',
3048
- isMut: false,
3049
- isSigner: false,
4081
+ name: 'amount',
4082
+ type: 'u64',
3050
4083
  },
3051
4084
  ],
3052
- args: [],
3053
4085
  },
3054
4086
  {
3055
- name: 'initializeInsuranceFundStake',
4087
+ name: 'removeInsuranceFundStake',
3056
4088
  accounts: [
3057
4089
  {
3058
4090
  name: 'vault',
@@ -3065,27 +4097,27 @@ export const IDL: DriftVaults = {
3065
4097
  isSigner: true,
3066
4098
  },
3067
4099
  {
3068
- name: 'payer',
4100
+ name: 'driftSpotMarket',
3069
4101
  isMut: true,
3070
- isSigner: true,
4102
+ isSigner: false,
3071
4103
  },
3072
4104
  {
3073
- name: 'rent',
3074
- isMut: false,
4105
+ name: 'insuranceFundStake',
4106
+ isMut: true,
3075
4107
  isSigner: false,
3076
4108
  },
3077
4109
  {
3078
- name: 'systemProgram',
3079
- isMut: false,
4110
+ name: 'insuranceFundVault',
4111
+ isMut: true,
3080
4112
  isSigner: false,
3081
4113
  },
3082
4114
  {
3083
- name: 'driftSpotMarket',
3084
- isMut: false,
4115
+ name: 'managerTokenAccount',
4116
+ isMut: true,
3085
4117
  isSigner: false,
3086
4118
  },
3087
4119
  {
3088
- name: 'insuranceFundStake',
4120
+ name: 'vaultIfTokenAccount',
3089
4121
  isMut: true,
3090
4122
  isSigner: false,
3091
4123
  },
@@ -3099,11 +4131,21 @@ export const IDL: DriftVaults = {
3099
4131
  isMut: false,
3100
4132
  isSigner: false,
3101
4133
  },
4134
+ {
4135
+ name: 'driftSigner',
4136
+ isMut: false,
4137
+ isSigner: false,
4138
+ },
3102
4139
  {
3103
4140
  name: 'driftProgram',
3104
4141
  isMut: false,
3105
4142
  isSigner: false,
3106
4143
  },
4144
+ {
4145
+ name: 'tokenProgram',
4146
+ isMut: false,
4147
+ isSigner: false,
4148
+ },
3107
4149
  ],
3108
4150
  args: [
3109
4151
  {
@@ -3113,7 +4155,7 @@ export const IDL: DriftVaults = {
3113
4155
  ],
3114
4156
  },
3115
4157
  {
3116
- name: 'initializeCompetitor',
4158
+ name: 'cancelRequestRemoveInsuranceFundStake',
3117
4159
  accounts: [
3118
4160
  {
3119
4161
  name: 'vault',
@@ -3126,27 +4168,17 @@ export const IDL: DriftVaults = {
3126
4168
  isSigner: true,
3127
4169
  },
3128
4170
  {
3129
- name: 'payer',
4171
+ name: 'driftSpotMarket',
3130
4172
  isMut: true,
3131
- isSigner: true,
3132
- },
3133
- {
3134
- name: 'rent',
3135
- isMut: false,
3136
- isSigner: false,
3137
- },
3138
- {
3139
- name: 'systemProgram',
3140
- isMut: false,
3141
4173
  isSigner: false,
3142
4174
  },
3143
4175
  {
3144
- name: 'competitor',
4176
+ name: 'insuranceFundStake',
3145
4177
  isMut: true,
3146
4178
  isSigner: false,
3147
4179
  },
3148
4180
  {
3149
- name: 'driftCompetitions',
4181
+ name: 'insuranceFundVault',
3150
4182
  isMut: true,
3151
4183
  isSigner: false,
3152
4184
  },
@@ -3156,12 +4188,17 @@ export const IDL: DriftVaults = {
3156
4188
  isSigner: false,
3157
4189
  },
3158
4190
  {
3159
- name: 'driftCompetitionsProgram',
4191
+ name: 'driftProgram',
3160
4192
  isMut: false,
3161
4193
  isSigner: false,
3162
4194
  },
3163
4195
  ],
3164
- args: [],
4196
+ args: [
4197
+ {
4198
+ name: 'marketIndex',
4199
+ type: 'u16',
4200
+ },
4201
+ ],
3165
4202
  },
3166
4203
  {
3167
4204
  name: 'protocolRequestWithdraw',
@@ -3314,6 +4351,105 @@ export const IDL: DriftVaults = {
3314
4351
  },
3315
4352
  ],
3316
4353
  accounts: [
4354
+ {
4355
+ name: 'tokenizedVaultDepositor',
4356
+ type: {
4357
+ kind: 'struct',
4358
+ fields: [
4359
+ {
4360
+ name: 'vault',
4361
+ docs: ['The vault deposited into'],
4362
+ type: 'publicKey',
4363
+ },
4364
+ {
4365
+ name: 'pubkey',
4366
+ docs: [
4367
+ "The vault depositor account's pubkey. It is a pda of vault",
4368
+ ],
4369
+ type: 'publicKey',
4370
+ },
4371
+ {
4372
+ name: 'mint',
4373
+ docs: [
4374
+ 'The token mint for tokenized shares owned by this VaultDepositor',
4375
+ ],
4376
+ type: 'publicKey',
4377
+ },
4378
+ {
4379
+ name: 'vaultShares',
4380
+ docs: [
4381
+ "share of vault owned by this depositor. vault_shares / vault.total_shares is depositor's ownership of vault_equity",
4382
+ ],
4383
+ type: 'u128',
4384
+ },
4385
+ {
4386
+ name: 'lastVaultShares',
4387
+ docs: [
4388
+ 'stores the vault_shares from the most recent liquidity event (redeem or issuance) before a spl token',
4389
+ 'CPI is done, used to track invariants',
4390
+ ],
4391
+ type: 'u128',
4392
+ },
4393
+ {
4394
+ name: 'lastValidTs',
4395
+ docs: ['creation ts of vault depositor'],
4396
+ type: 'i64',
4397
+ },
4398
+ {
4399
+ name: 'netDeposits',
4400
+ docs: ['lifetime net deposits of vault depositor for the vault'],
4401
+ type: 'i64',
4402
+ },
4403
+ {
4404
+ name: 'totalDeposits',
4405
+ docs: ['lifetime total deposits'],
4406
+ type: 'u64',
4407
+ },
4408
+ {
4409
+ name: 'totalWithdraws',
4410
+ docs: ['lifetime total withdraws'],
4411
+ type: 'u64',
4412
+ },
4413
+ {
4414
+ name: 'cumulativeProfitShareAmount',
4415
+ docs: [
4416
+ 'the token amount of gains the vault depositor has paid performance fees on',
4417
+ ],
4418
+ type: 'i64',
4419
+ },
4420
+ {
4421
+ name: 'profitShareFeePaid',
4422
+ type: 'u64',
4423
+ },
4424
+ {
4425
+ name: 'vaultSharesBase',
4426
+ docs: [
4427
+ 'The exponent for vault_shares decimal places at the time the tokenized vault depositor was initialized.',
4428
+ 'If the vault undergoes a rebase, this TokenizedVaultDepositor can no longer issue new tokens, only redeem',
4429
+ 'is possible.',
4430
+ ],
4431
+ type: 'u32',
4432
+ },
4433
+ {
4434
+ name: 'bump',
4435
+ docs: ['The bump for the vault pda'],
4436
+ type: 'u8',
4437
+ },
4438
+ {
4439
+ name: 'padding1',
4440
+ type: {
4441
+ array: ['u8', 3],
4442
+ },
4443
+ },
4444
+ {
4445
+ name: 'padding',
4446
+ type: {
4447
+ array: ['u64', 10],
4448
+ },
4449
+ },
4450
+ ],
4451
+ },
4452
+ },
3317
4453
  {
3318
4454
  name: 'vaultDepositor',
3319
4455
  type: {
@@ -3704,6 +4840,30 @@ export const IDL: DriftVaults = {
3704
4840
  },
3705
4841
  ],
3706
4842
  types: [
4843
+ {
4844
+ name: 'InitializeTokenizedVaultDepositorParams',
4845
+ type: {
4846
+ kind: 'struct',
4847
+ fields: [
4848
+ {
4849
+ name: 'tokenName',
4850
+ type: 'string',
4851
+ },
4852
+ {
4853
+ name: 'tokenSymbol',
4854
+ type: 'string',
4855
+ },
4856
+ {
4857
+ name: 'tokenUri',
4858
+ type: 'string',
4859
+ },
4860
+ {
4861
+ name: 'decimals',
4862
+ type: 'u8',
4863
+ },
4864
+ ],
4865
+ },
4866
+ },
3707
4867
  {
3708
4868
  name: 'VaultWithProtocolParams',
3709
4869
  type: {
@@ -3937,6 +5097,12 @@ export const IDL: DriftVaults = {
3937
5097
  {
3938
5098
  name: 'FeePayment',
3939
5099
  },
5100
+ {
5101
+ name: 'TokenizeShares',
5102
+ },
5103
+ {
5104
+ name: 'RedeemTokens',
5105
+ },
3940
5106
  ],
3941
5107
  },
3942
5108
  },
@@ -4178,6 +5344,61 @@ export const IDL: DriftVaults = {
4178
5344
  },
4179
5345
  ],
4180
5346
  },
5347
+ {
5348
+ name: 'ShareTransferRecord',
5349
+ fields: [
5350
+ {
5351
+ name: 'ts',
5352
+ type: 'i64',
5353
+ index: false,
5354
+ },
5355
+ {
5356
+ name: 'vault',
5357
+ type: 'publicKey',
5358
+ index: false,
5359
+ },
5360
+ {
5361
+ name: 'fromVaultDepositor',
5362
+ type: 'publicKey',
5363
+ index: false,
5364
+ },
5365
+ {
5366
+ name: 'toVaultDepositor',
5367
+ type: 'publicKey',
5368
+ index: false,
5369
+ },
5370
+ {
5371
+ name: 'shares',
5372
+ type: 'u128',
5373
+ index: false,
5374
+ },
5375
+ {
5376
+ name: 'value',
5377
+ type: 'u64',
5378
+ index: false,
5379
+ },
5380
+ {
5381
+ name: 'fromDepositorSharesBefore',
5382
+ type: 'u128',
5383
+ index: false,
5384
+ },
5385
+ {
5386
+ name: 'fromDepositorSharesAfter',
5387
+ type: 'u128',
5388
+ index: false,
5389
+ },
5390
+ {
5391
+ name: 'toDepositorSharesBefore',
5392
+ type: 'u128',
5393
+ index: false,
5394
+ },
5395
+ {
5396
+ name: 'toDepositorSharesAfter',
5397
+ type: 'u128',
5398
+ index: false,
5399
+ },
5400
+ ],
5401
+ },
4181
5402
  ],
4182
5403
  errors: [
4183
5404
  {
@@ -4295,5 +5516,10 @@ export const IDL: DriftVaults = {
4295
5516
  name: 'VaultProtocolMissing',
4296
5517
  msg: 'VaultProtocolMissing',
4297
5518
  },
5519
+ {
5520
+ code: 6023,
5521
+ name: 'InvalidTokenization',
5522
+ msg: 'InvalidTokenization',
5523
+ },
4298
5524
  ],
4299
5525
  };