@drift-labs/vaults-sdk 0.1.530 → 0.1.532
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/cli/cli.ts +6 -0
- package/cli/commands/applyProfitShare.ts +14 -16
- package/cli/commands/forceWithdrawAll.ts +101 -0
- package/cli/commands/index.ts +1 -0
- package/cli/utils.ts +2 -0
- package/lib/addresses.d.ts +2 -0
- package/lib/addresses.js +16 -0
- package/lib/types/drift_vaults.d.ts +402 -51
- package/lib/types/drift_vaults.js +402 -51
- package/lib/utils.d.ts +2 -1
- package/lib/utils.js +20 -1
- package/lib/vaultClient.d.ts +31 -11
- package/lib/vaultClient.js +244 -55
- package/package.json +3 -3
- package/src/addresses.ts +30 -0
- package/src/idl/drift_vaults.json +1265 -207
- package/src/types/drift_vaults.ts +811 -109
- package/src/utils.ts +37 -1
- package/src/vaultClient.ts +456 -79
|
@@ -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: [
|
|
@@ -962,57 +1175,6 @@ export type DriftVaults = {
|
|
|
962
1175
|
}
|
|
963
1176
|
];
|
|
964
1177
|
},
|
|
965
|
-
{
|
|
966
|
-
name: 'initializeCompetitor';
|
|
967
|
-
accounts: [
|
|
968
|
-
{
|
|
969
|
-
name: 'vault';
|
|
970
|
-
isMut: true;
|
|
971
|
-
isSigner: false;
|
|
972
|
-
},
|
|
973
|
-
{
|
|
974
|
-
name: 'manager';
|
|
975
|
-
isMut: false;
|
|
976
|
-
isSigner: true;
|
|
977
|
-
},
|
|
978
|
-
{
|
|
979
|
-
name: 'payer';
|
|
980
|
-
isMut: true;
|
|
981
|
-
isSigner: true;
|
|
982
|
-
},
|
|
983
|
-
{
|
|
984
|
-
name: 'rent';
|
|
985
|
-
isMut: false;
|
|
986
|
-
isSigner: false;
|
|
987
|
-
},
|
|
988
|
-
{
|
|
989
|
-
name: 'systemProgram';
|
|
990
|
-
isMut: false;
|
|
991
|
-
isSigner: false;
|
|
992
|
-
},
|
|
993
|
-
{
|
|
994
|
-
name: 'competitor';
|
|
995
|
-
isMut: true;
|
|
996
|
-
isSigner: false;
|
|
997
|
-
},
|
|
998
|
-
{
|
|
999
|
-
name: 'driftCompetitions';
|
|
1000
|
-
isMut: true;
|
|
1001
|
-
isSigner: false;
|
|
1002
|
-
},
|
|
1003
|
-
{
|
|
1004
|
-
name: 'driftUserStats';
|
|
1005
|
-
isMut: true;
|
|
1006
|
-
isSigner: false;
|
|
1007
|
-
},
|
|
1008
|
-
{
|
|
1009
|
-
name: 'driftCompetitionsProgram';
|
|
1010
|
-
isMut: false;
|
|
1011
|
-
isSigner: false;
|
|
1012
|
-
}
|
|
1013
|
-
];
|
|
1014
|
-
args: [];
|
|
1015
|
-
},
|
|
1016
1178
|
{
|
|
1017
1179
|
name: 'protocolRequestWithdraw';
|
|
1018
1180
|
accounts: [
|
|
@@ -1164,6 +1326,105 @@ export type DriftVaults = {
|
|
|
1164
1326
|
}
|
|
1165
1327
|
];
|
|
1166
1328
|
accounts: [
|
|
1329
|
+
{
|
|
1330
|
+
name: 'tokenizedVaultDepositor';
|
|
1331
|
+
type: {
|
|
1332
|
+
kind: 'struct';
|
|
1333
|
+
fields: [
|
|
1334
|
+
{
|
|
1335
|
+
name: 'vault';
|
|
1336
|
+
docs: ['The vault deposited into'];
|
|
1337
|
+
type: 'publicKey';
|
|
1338
|
+
},
|
|
1339
|
+
{
|
|
1340
|
+
name: 'pubkey';
|
|
1341
|
+
docs: [
|
|
1342
|
+
"The vault depositor account's pubkey. It is a pda of vault"
|
|
1343
|
+
];
|
|
1344
|
+
type: 'publicKey';
|
|
1345
|
+
},
|
|
1346
|
+
{
|
|
1347
|
+
name: 'mint';
|
|
1348
|
+
docs: [
|
|
1349
|
+
'The token mint for tokenized shares owned by this VaultDepositor'
|
|
1350
|
+
];
|
|
1351
|
+
type: 'publicKey';
|
|
1352
|
+
},
|
|
1353
|
+
{
|
|
1354
|
+
name: 'vaultShares';
|
|
1355
|
+
docs: [
|
|
1356
|
+
"share of vault owned by this depositor. vault_shares / vault.total_shares is depositor's ownership of vault_equity"
|
|
1357
|
+
];
|
|
1358
|
+
type: 'u128';
|
|
1359
|
+
},
|
|
1360
|
+
{
|
|
1361
|
+
name: 'lastVaultShares';
|
|
1362
|
+
docs: [
|
|
1363
|
+
'stores the vault_shares from the most recent liquidity event (redeem or issuance) before a spl token',
|
|
1364
|
+
'CPI is done, used to track invariants'
|
|
1365
|
+
];
|
|
1366
|
+
type: 'u128';
|
|
1367
|
+
},
|
|
1368
|
+
{
|
|
1369
|
+
name: 'lastValidTs';
|
|
1370
|
+
docs: ['creation ts of vault depositor'];
|
|
1371
|
+
type: 'i64';
|
|
1372
|
+
},
|
|
1373
|
+
{
|
|
1374
|
+
name: 'netDeposits';
|
|
1375
|
+
docs: ['lifetime net deposits of vault depositor for the vault'];
|
|
1376
|
+
type: 'i64';
|
|
1377
|
+
},
|
|
1378
|
+
{
|
|
1379
|
+
name: 'totalDeposits';
|
|
1380
|
+
docs: ['lifetime total deposits'];
|
|
1381
|
+
type: 'u64';
|
|
1382
|
+
},
|
|
1383
|
+
{
|
|
1384
|
+
name: 'totalWithdraws';
|
|
1385
|
+
docs: ['lifetime total withdraws'];
|
|
1386
|
+
type: 'u64';
|
|
1387
|
+
},
|
|
1388
|
+
{
|
|
1389
|
+
name: 'cumulativeProfitShareAmount';
|
|
1390
|
+
docs: [
|
|
1391
|
+
'the token amount of gains the vault depositor has paid performance fees on'
|
|
1392
|
+
];
|
|
1393
|
+
type: 'i64';
|
|
1394
|
+
},
|
|
1395
|
+
{
|
|
1396
|
+
name: 'profitShareFeePaid';
|
|
1397
|
+
type: 'u64';
|
|
1398
|
+
},
|
|
1399
|
+
{
|
|
1400
|
+
name: 'vaultSharesBase';
|
|
1401
|
+
docs: [
|
|
1402
|
+
'The exponent for vault_shares decimal places at the time the tokenized vault depositor was initialized.',
|
|
1403
|
+
'If the vault undergoes a rebase, this TokenizedVaultDepositor can no longer issue new tokens, only redeem',
|
|
1404
|
+
'is possible.'
|
|
1405
|
+
];
|
|
1406
|
+
type: 'u32';
|
|
1407
|
+
},
|
|
1408
|
+
{
|
|
1409
|
+
name: 'bump';
|
|
1410
|
+
docs: ['The bump for the vault pda'];
|
|
1411
|
+
type: 'u8';
|
|
1412
|
+
},
|
|
1413
|
+
{
|
|
1414
|
+
name: 'padding1';
|
|
1415
|
+
type: {
|
|
1416
|
+
array: ['u8', 3];
|
|
1417
|
+
};
|
|
1418
|
+
},
|
|
1419
|
+
{
|
|
1420
|
+
name: 'padding';
|
|
1421
|
+
type: {
|
|
1422
|
+
array: ['u64', 10];
|
|
1423
|
+
};
|
|
1424
|
+
}
|
|
1425
|
+
];
|
|
1426
|
+
};
|
|
1427
|
+
},
|
|
1167
1428
|
{
|
|
1168
1429
|
name: 'vaultDepositor';
|
|
1169
1430
|
type: {
|
|
@@ -1554,6 +1815,30 @@ export type DriftVaults = {
|
|
|
1554
1815
|
}
|
|
1555
1816
|
];
|
|
1556
1817
|
types: [
|
|
1818
|
+
{
|
|
1819
|
+
name: 'InitializeTokenizedVaultDepositorParams';
|
|
1820
|
+
type: {
|
|
1821
|
+
kind: 'struct';
|
|
1822
|
+
fields: [
|
|
1823
|
+
{
|
|
1824
|
+
name: 'tokenName';
|
|
1825
|
+
type: 'string';
|
|
1826
|
+
},
|
|
1827
|
+
{
|
|
1828
|
+
name: 'tokenSymbol';
|
|
1829
|
+
type: 'string';
|
|
1830
|
+
},
|
|
1831
|
+
{
|
|
1832
|
+
name: 'tokenUri';
|
|
1833
|
+
type: 'string';
|
|
1834
|
+
},
|
|
1835
|
+
{
|
|
1836
|
+
name: 'decimals';
|
|
1837
|
+
type: 'u8';
|
|
1838
|
+
}
|
|
1839
|
+
];
|
|
1840
|
+
};
|
|
1841
|
+
},
|
|
1557
1842
|
{
|
|
1558
1843
|
name: 'VaultWithProtocolParams';
|
|
1559
1844
|
type: {
|
|
@@ -1786,6 +2071,12 @@ export type DriftVaults = {
|
|
|
1786
2071
|
},
|
|
1787
2072
|
{
|
|
1788
2073
|
name: 'FeePayment';
|
|
2074
|
+
},
|
|
2075
|
+
{
|
|
2076
|
+
name: 'TokenizeShares';
|
|
2077
|
+
},
|
|
2078
|
+
{
|
|
2079
|
+
name: 'RedeemTokens';
|
|
1789
2080
|
}
|
|
1790
2081
|
];
|
|
1791
2082
|
};
|
|
@@ -2027,6 +2318,61 @@ export type DriftVaults = {
|
|
|
2027
2318
|
index: false;
|
|
2028
2319
|
}
|
|
2029
2320
|
];
|
|
2321
|
+
},
|
|
2322
|
+
{
|
|
2323
|
+
name: 'ShareTransferRecord';
|
|
2324
|
+
fields: [
|
|
2325
|
+
{
|
|
2326
|
+
name: 'ts';
|
|
2327
|
+
type: 'i64';
|
|
2328
|
+
index: false;
|
|
2329
|
+
},
|
|
2330
|
+
{
|
|
2331
|
+
name: 'vault';
|
|
2332
|
+
type: 'publicKey';
|
|
2333
|
+
index: false;
|
|
2334
|
+
},
|
|
2335
|
+
{
|
|
2336
|
+
name: 'fromVaultDepositor';
|
|
2337
|
+
type: 'publicKey';
|
|
2338
|
+
index: false;
|
|
2339
|
+
},
|
|
2340
|
+
{
|
|
2341
|
+
name: 'toVaultDepositor';
|
|
2342
|
+
type: 'publicKey';
|
|
2343
|
+
index: false;
|
|
2344
|
+
},
|
|
2345
|
+
{
|
|
2346
|
+
name: 'shares';
|
|
2347
|
+
type: 'u128';
|
|
2348
|
+
index: false;
|
|
2349
|
+
},
|
|
2350
|
+
{
|
|
2351
|
+
name: 'value';
|
|
2352
|
+
type: 'u64';
|
|
2353
|
+
index: false;
|
|
2354
|
+
},
|
|
2355
|
+
{
|
|
2356
|
+
name: 'fromDepositorSharesBefore';
|
|
2357
|
+
type: 'u128';
|
|
2358
|
+
index: false;
|
|
2359
|
+
},
|
|
2360
|
+
{
|
|
2361
|
+
name: 'fromDepositorSharesAfter';
|
|
2362
|
+
type: 'u128';
|
|
2363
|
+
index: false;
|
|
2364
|
+
},
|
|
2365
|
+
{
|
|
2366
|
+
name: 'toDepositorSharesBefore';
|
|
2367
|
+
type: 'u128';
|
|
2368
|
+
index: false;
|
|
2369
|
+
},
|
|
2370
|
+
{
|
|
2371
|
+
name: 'toDepositorSharesAfter';
|
|
2372
|
+
type: 'u128';
|
|
2373
|
+
index: false;
|
|
2374
|
+
}
|
|
2375
|
+
];
|
|
2030
2376
|
}
|
|
2031
2377
|
];
|
|
2032
2378
|
errors: [
|
|
@@ -2144,6 +2490,11 @@ export type DriftVaults = {
|
|
|
2144
2490
|
code: 6022;
|
|
2145
2491
|
name: 'VaultProtocolMissing';
|
|
2146
2492
|
msg: 'VaultProtocolMissing';
|
|
2493
|
+
},
|
|
2494
|
+
{
|
|
2495
|
+
code: 6023;
|
|
2496
|
+
name: 'InvalidTokenization';
|
|
2497
|
+
msg: 'InvalidTokenization';
|
|
2147
2498
|
}
|
|
2148
2499
|
];
|
|
2149
2500
|
};
|
|
@@ -2445,22 +2796,193 @@ export const IDL: DriftVaults = {
|
|
|
2445
2796
|
isSigner: false,
|
|
2446
2797
|
},
|
|
2447
2798
|
{
|
|
2448
|
-
name: 'payer',
|
|
2799
|
+
name: 'payer',
|
|
2800
|
+
isMut: true,
|
|
2801
|
+
isSigner: true,
|
|
2802
|
+
},
|
|
2803
|
+
{
|
|
2804
|
+
name: 'rent',
|
|
2805
|
+
isMut: false,
|
|
2806
|
+
isSigner: false,
|
|
2807
|
+
},
|
|
2808
|
+
{
|
|
2809
|
+
name: 'systemProgram',
|
|
2810
|
+
isMut: false,
|
|
2811
|
+
isSigner: false,
|
|
2812
|
+
},
|
|
2813
|
+
],
|
|
2814
|
+
args: [],
|
|
2815
|
+
},
|
|
2816
|
+
{
|
|
2817
|
+
name: 'initializeTokenizedVaultDepositor',
|
|
2818
|
+
accounts: [
|
|
2819
|
+
{
|
|
2820
|
+
name: 'vault',
|
|
2821
|
+
isMut: false,
|
|
2822
|
+
isSigner: false,
|
|
2823
|
+
},
|
|
2824
|
+
{
|
|
2825
|
+
name: 'vaultDepositor',
|
|
2826
|
+
isMut: true,
|
|
2827
|
+
isSigner: false,
|
|
2828
|
+
},
|
|
2829
|
+
{
|
|
2830
|
+
name: 'mintAccount',
|
|
2831
|
+
isMut: true,
|
|
2832
|
+
isSigner: false,
|
|
2833
|
+
},
|
|
2834
|
+
{
|
|
2835
|
+
name: 'metadataAccount',
|
|
2836
|
+
isMut: true,
|
|
2837
|
+
isSigner: false,
|
|
2838
|
+
},
|
|
2839
|
+
{
|
|
2840
|
+
name: 'payer',
|
|
2841
|
+
isMut: true,
|
|
2842
|
+
isSigner: true,
|
|
2843
|
+
},
|
|
2844
|
+
{
|
|
2845
|
+
name: 'tokenProgram',
|
|
2846
|
+
isMut: false,
|
|
2847
|
+
isSigner: false,
|
|
2848
|
+
},
|
|
2849
|
+
{
|
|
2850
|
+
name: 'tokenMetadataProgram',
|
|
2851
|
+
isMut: false,
|
|
2852
|
+
isSigner: false,
|
|
2853
|
+
},
|
|
2854
|
+
{
|
|
2855
|
+
name: 'rent',
|
|
2856
|
+
isMut: false,
|
|
2857
|
+
isSigner: false,
|
|
2858
|
+
},
|
|
2859
|
+
{
|
|
2860
|
+
name: 'systemProgram',
|
|
2861
|
+
isMut: false,
|
|
2862
|
+
isSigner: false,
|
|
2863
|
+
},
|
|
2864
|
+
],
|
|
2865
|
+
args: [
|
|
2866
|
+
{
|
|
2867
|
+
name: 'params',
|
|
2868
|
+
type: {
|
|
2869
|
+
defined: 'InitializeTokenizedVaultDepositorParams',
|
|
2870
|
+
},
|
|
2871
|
+
},
|
|
2872
|
+
],
|
|
2873
|
+
},
|
|
2874
|
+
{
|
|
2875
|
+
name: 'tokenizeShares',
|
|
2876
|
+
accounts: [
|
|
2877
|
+
{
|
|
2878
|
+
name: 'vault',
|
|
2879
|
+
isMut: true,
|
|
2880
|
+
isSigner: false,
|
|
2881
|
+
},
|
|
2882
|
+
{
|
|
2883
|
+
name: 'vaultDepositor',
|
|
2884
|
+
isMut: true,
|
|
2885
|
+
isSigner: false,
|
|
2886
|
+
},
|
|
2887
|
+
{
|
|
2888
|
+
name: 'authority',
|
|
2889
|
+
isMut: false,
|
|
2890
|
+
isSigner: true,
|
|
2891
|
+
},
|
|
2892
|
+
{
|
|
2893
|
+
name: 'tokenizedVaultDepositor',
|
|
2894
|
+
isMut: true,
|
|
2895
|
+
isSigner: false,
|
|
2896
|
+
},
|
|
2897
|
+
{
|
|
2898
|
+
name: 'mint',
|
|
2899
|
+
isMut: true,
|
|
2900
|
+
isSigner: false,
|
|
2901
|
+
},
|
|
2902
|
+
{
|
|
2903
|
+
name: 'userTokenAccount',
|
|
2904
|
+
isMut: false,
|
|
2905
|
+
isSigner: false,
|
|
2906
|
+
},
|
|
2907
|
+
{
|
|
2908
|
+
name: 'driftUser',
|
|
2909
|
+
isMut: true,
|
|
2910
|
+
isSigner: false,
|
|
2911
|
+
},
|
|
2912
|
+
{
|
|
2913
|
+
name: 'tokenProgram',
|
|
2914
|
+
isMut: false,
|
|
2915
|
+
isSigner: false,
|
|
2916
|
+
},
|
|
2917
|
+
],
|
|
2918
|
+
args: [
|
|
2919
|
+
{
|
|
2920
|
+
name: 'amount',
|
|
2921
|
+
type: 'u64',
|
|
2922
|
+
},
|
|
2923
|
+
{
|
|
2924
|
+
name: 'unit',
|
|
2925
|
+
type: {
|
|
2926
|
+
defined: 'WithdrawUnit',
|
|
2927
|
+
},
|
|
2928
|
+
},
|
|
2929
|
+
],
|
|
2930
|
+
},
|
|
2931
|
+
{
|
|
2932
|
+
name: 'redeemTokens',
|
|
2933
|
+
accounts: [
|
|
2934
|
+
{
|
|
2935
|
+
name: 'vault',
|
|
2936
|
+
isMut: true,
|
|
2937
|
+
isSigner: false,
|
|
2938
|
+
},
|
|
2939
|
+
{
|
|
2940
|
+
name: 'vaultDepositor',
|
|
2941
|
+
isMut: true,
|
|
2942
|
+
isSigner: false,
|
|
2943
|
+
},
|
|
2944
|
+
{
|
|
2945
|
+
name: 'authority',
|
|
2946
|
+
isMut: false,
|
|
2947
|
+
isSigner: true,
|
|
2948
|
+
},
|
|
2949
|
+
{
|
|
2950
|
+
name: 'tokenizedVaultDepositor',
|
|
2951
|
+
isMut: true,
|
|
2952
|
+
isSigner: false,
|
|
2953
|
+
},
|
|
2954
|
+
{
|
|
2955
|
+
name: 'mint',
|
|
2956
|
+
isMut: true,
|
|
2957
|
+
isSigner: false,
|
|
2958
|
+
},
|
|
2959
|
+
{
|
|
2960
|
+
name: 'userTokenAccount',
|
|
2961
|
+
isMut: true,
|
|
2962
|
+
isSigner: false,
|
|
2963
|
+
},
|
|
2964
|
+
{
|
|
2965
|
+
name: 'vaultTokenAccount',
|
|
2966
|
+
isMut: true,
|
|
2967
|
+
isSigner: false,
|
|
2968
|
+
},
|
|
2969
|
+
{
|
|
2970
|
+
name: 'driftUser',
|
|
2449
2971
|
isMut: true,
|
|
2450
|
-
isSigner:
|
|
2972
|
+
isSigner: false,
|
|
2451
2973
|
},
|
|
2452
2974
|
{
|
|
2453
|
-
name: '
|
|
2975
|
+
name: 'tokenProgram',
|
|
2454
2976
|
isMut: false,
|
|
2455
2977
|
isSigner: false,
|
|
2456
2978
|
},
|
|
2979
|
+
],
|
|
2980
|
+
args: [
|
|
2457
2981
|
{
|
|
2458
|
-
name: '
|
|
2459
|
-
|
|
2460
|
-
isSigner: false,
|
|
2982
|
+
name: 'tokensToBurn',
|
|
2983
|
+
type: 'u64',
|
|
2461
2984
|
},
|
|
2462
2985
|
],
|
|
2463
|
-
args: [],
|
|
2464
2986
|
},
|
|
2465
2987
|
{
|
|
2466
2988
|
name: 'deposit',
|
|
@@ -2985,6 +3507,48 @@ export const IDL: DriftVaults = {
|
|
|
2985
3507
|
],
|
|
2986
3508
|
args: [],
|
|
2987
3509
|
},
|
|
3510
|
+
{
|
|
3511
|
+
name: 'applyRebase',
|
|
3512
|
+
accounts: [
|
|
3513
|
+
{
|
|
3514
|
+
name: 'vault',
|
|
3515
|
+
isMut: true,
|
|
3516
|
+
isSigner: false,
|
|
3517
|
+
},
|
|
3518
|
+
{
|
|
3519
|
+
name: 'vaultDepositor',
|
|
3520
|
+
isMut: true,
|
|
3521
|
+
isSigner: false,
|
|
3522
|
+
},
|
|
3523
|
+
{
|
|
3524
|
+
name: 'driftUser',
|
|
3525
|
+
isMut: true,
|
|
3526
|
+
isSigner: false,
|
|
3527
|
+
},
|
|
3528
|
+
],
|
|
3529
|
+
args: [],
|
|
3530
|
+
},
|
|
3531
|
+
{
|
|
3532
|
+
name: 'applyRebaseTokenizedDepositor',
|
|
3533
|
+
accounts: [
|
|
3534
|
+
{
|
|
3535
|
+
name: 'vault',
|
|
3536
|
+
isMut: true,
|
|
3537
|
+
isSigner: false,
|
|
3538
|
+
},
|
|
3539
|
+
{
|
|
3540
|
+
name: 'tokenizedVaultDepositor',
|
|
3541
|
+
isMut: true,
|
|
3542
|
+
isSigner: false,
|
|
3543
|
+
},
|
|
3544
|
+
{
|
|
3545
|
+
name: 'driftUser',
|
|
3546
|
+
isMut: true,
|
|
3547
|
+
isSigner: false,
|
|
3548
|
+
},
|
|
3549
|
+
],
|
|
3550
|
+
args: [],
|
|
3551
|
+
},
|
|
2988
3552
|
{
|
|
2989
3553
|
name: 'forceWithdraw',
|
|
2990
3554
|
accounts: [
|
|
@@ -3112,57 +3676,6 @@ export const IDL: DriftVaults = {
|
|
|
3112
3676
|
},
|
|
3113
3677
|
],
|
|
3114
3678
|
},
|
|
3115
|
-
{
|
|
3116
|
-
name: 'initializeCompetitor',
|
|
3117
|
-
accounts: [
|
|
3118
|
-
{
|
|
3119
|
-
name: 'vault',
|
|
3120
|
-
isMut: true,
|
|
3121
|
-
isSigner: false,
|
|
3122
|
-
},
|
|
3123
|
-
{
|
|
3124
|
-
name: 'manager',
|
|
3125
|
-
isMut: false,
|
|
3126
|
-
isSigner: true,
|
|
3127
|
-
},
|
|
3128
|
-
{
|
|
3129
|
-
name: 'payer',
|
|
3130
|
-
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
|
-
isSigner: false,
|
|
3142
|
-
},
|
|
3143
|
-
{
|
|
3144
|
-
name: 'competitor',
|
|
3145
|
-
isMut: true,
|
|
3146
|
-
isSigner: false,
|
|
3147
|
-
},
|
|
3148
|
-
{
|
|
3149
|
-
name: 'driftCompetitions',
|
|
3150
|
-
isMut: true,
|
|
3151
|
-
isSigner: false,
|
|
3152
|
-
},
|
|
3153
|
-
{
|
|
3154
|
-
name: 'driftUserStats',
|
|
3155
|
-
isMut: true,
|
|
3156
|
-
isSigner: false,
|
|
3157
|
-
},
|
|
3158
|
-
{
|
|
3159
|
-
name: 'driftCompetitionsProgram',
|
|
3160
|
-
isMut: false,
|
|
3161
|
-
isSigner: false,
|
|
3162
|
-
},
|
|
3163
|
-
],
|
|
3164
|
-
args: [],
|
|
3165
|
-
},
|
|
3166
3679
|
{
|
|
3167
3680
|
name: 'protocolRequestWithdraw',
|
|
3168
3681
|
accounts: [
|
|
@@ -3314,6 +3827,105 @@ export const IDL: DriftVaults = {
|
|
|
3314
3827
|
},
|
|
3315
3828
|
],
|
|
3316
3829
|
accounts: [
|
|
3830
|
+
{
|
|
3831
|
+
name: 'tokenizedVaultDepositor',
|
|
3832
|
+
type: {
|
|
3833
|
+
kind: 'struct',
|
|
3834
|
+
fields: [
|
|
3835
|
+
{
|
|
3836
|
+
name: 'vault',
|
|
3837
|
+
docs: ['The vault deposited into'],
|
|
3838
|
+
type: 'publicKey',
|
|
3839
|
+
},
|
|
3840
|
+
{
|
|
3841
|
+
name: 'pubkey',
|
|
3842
|
+
docs: [
|
|
3843
|
+
"The vault depositor account's pubkey. It is a pda of vault",
|
|
3844
|
+
],
|
|
3845
|
+
type: 'publicKey',
|
|
3846
|
+
},
|
|
3847
|
+
{
|
|
3848
|
+
name: 'mint',
|
|
3849
|
+
docs: [
|
|
3850
|
+
'The token mint for tokenized shares owned by this VaultDepositor',
|
|
3851
|
+
],
|
|
3852
|
+
type: 'publicKey',
|
|
3853
|
+
},
|
|
3854
|
+
{
|
|
3855
|
+
name: 'vaultShares',
|
|
3856
|
+
docs: [
|
|
3857
|
+
"share of vault owned by this depositor. vault_shares / vault.total_shares is depositor's ownership of vault_equity",
|
|
3858
|
+
],
|
|
3859
|
+
type: 'u128',
|
|
3860
|
+
},
|
|
3861
|
+
{
|
|
3862
|
+
name: 'lastVaultShares',
|
|
3863
|
+
docs: [
|
|
3864
|
+
'stores the vault_shares from the most recent liquidity event (redeem or issuance) before a spl token',
|
|
3865
|
+
'CPI is done, used to track invariants',
|
|
3866
|
+
],
|
|
3867
|
+
type: 'u128',
|
|
3868
|
+
},
|
|
3869
|
+
{
|
|
3870
|
+
name: 'lastValidTs',
|
|
3871
|
+
docs: ['creation ts of vault depositor'],
|
|
3872
|
+
type: 'i64',
|
|
3873
|
+
},
|
|
3874
|
+
{
|
|
3875
|
+
name: 'netDeposits',
|
|
3876
|
+
docs: ['lifetime net deposits of vault depositor for the vault'],
|
|
3877
|
+
type: 'i64',
|
|
3878
|
+
},
|
|
3879
|
+
{
|
|
3880
|
+
name: 'totalDeposits',
|
|
3881
|
+
docs: ['lifetime total deposits'],
|
|
3882
|
+
type: 'u64',
|
|
3883
|
+
},
|
|
3884
|
+
{
|
|
3885
|
+
name: 'totalWithdraws',
|
|
3886
|
+
docs: ['lifetime total withdraws'],
|
|
3887
|
+
type: 'u64',
|
|
3888
|
+
},
|
|
3889
|
+
{
|
|
3890
|
+
name: 'cumulativeProfitShareAmount',
|
|
3891
|
+
docs: [
|
|
3892
|
+
'the token amount of gains the vault depositor has paid performance fees on',
|
|
3893
|
+
],
|
|
3894
|
+
type: 'i64',
|
|
3895
|
+
},
|
|
3896
|
+
{
|
|
3897
|
+
name: 'profitShareFeePaid',
|
|
3898
|
+
type: 'u64',
|
|
3899
|
+
},
|
|
3900
|
+
{
|
|
3901
|
+
name: 'vaultSharesBase',
|
|
3902
|
+
docs: [
|
|
3903
|
+
'The exponent for vault_shares decimal places at the time the tokenized vault depositor was initialized.',
|
|
3904
|
+
'If the vault undergoes a rebase, this TokenizedVaultDepositor can no longer issue new tokens, only redeem',
|
|
3905
|
+
'is possible.',
|
|
3906
|
+
],
|
|
3907
|
+
type: 'u32',
|
|
3908
|
+
},
|
|
3909
|
+
{
|
|
3910
|
+
name: 'bump',
|
|
3911
|
+
docs: ['The bump for the vault pda'],
|
|
3912
|
+
type: 'u8',
|
|
3913
|
+
},
|
|
3914
|
+
{
|
|
3915
|
+
name: 'padding1',
|
|
3916
|
+
type: {
|
|
3917
|
+
array: ['u8', 3],
|
|
3918
|
+
},
|
|
3919
|
+
},
|
|
3920
|
+
{
|
|
3921
|
+
name: 'padding',
|
|
3922
|
+
type: {
|
|
3923
|
+
array: ['u64', 10],
|
|
3924
|
+
},
|
|
3925
|
+
},
|
|
3926
|
+
],
|
|
3927
|
+
},
|
|
3928
|
+
},
|
|
3317
3929
|
{
|
|
3318
3930
|
name: 'vaultDepositor',
|
|
3319
3931
|
type: {
|
|
@@ -3704,6 +4316,30 @@ export const IDL: DriftVaults = {
|
|
|
3704
4316
|
},
|
|
3705
4317
|
],
|
|
3706
4318
|
types: [
|
|
4319
|
+
{
|
|
4320
|
+
name: 'InitializeTokenizedVaultDepositorParams',
|
|
4321
|
+
type: {
|
|
4322
|
+
kind: 'struct',
|
|
4323
|
+
fields: [
|
|
4324
|
+
{
|
|
4325
|
+
name: 'tokenName',
|
|
4326
|
+
type: 'string',
|
|
4327
|
+
},
|
|
4328
|
+
{
|
|
4329
|
+
name: 'tokenSymbol',
|
|
4330
|
+
type: 'string',
|
|
4331
|
+
},
|
|
4332
|
+
{
|
|
4333
|
+
name: 'tokenUri',
|
|
4334
|
+
type: 'string',
|
|
4335
|
+
},
|
|
4336
|
+
{
|
|
4337
|
+
name: 'decimals',
|
|
4338
|
+
type: 'u8',
|
|
4339
|
+
},
|
|
4340
|
+
],
|
|
4341
|
+
},
|
|
4342
|
+
},
|
|
3707
4343
|
{
|
|
3708
4344
|
name: 'VaultWithProtocolParams',
|
|
3709
4345
|
type: {
|
|
@@ -3937,6 +4573,12 @@ export const IDL: DriftVaults = {
|
|
|
3937
4573
|
{
|
|
3938
4574
|
name: 'FeePayment',
|
|
3939
4575
|
},
|
|
4576
|
+
{
|
|
4577
|
+
name: 'TokenizeShares',
|
|
4578
|
+
},
|
|
4579
|
+
{
|
|
4580
|
+
name: 'RedeemTokens',
|
|
4581
|
+
},
|
|
3940
4582
|
],
|
|
3941
4583
|
},
|
|
3942
4584
|
},
|
|
@@ -4178,6 +4820,61 @@ export const IDL: DriftVaults = {
|
|
|
4178
4820
|
},
|
|
4179
4821
|
],
|
|
4180
4822
|
},
|
|
4823
|
+
{
|
|
4824
|
+
name: 'ShareTransferRecord',
|
|
4825
|
+
fields: [
|
|
4826
|
+
{
|
|
4827
|
+
name: 'ts',
|
|
4828
|
+
type: 'i64',
|
|
4829
|
+
index: false,
|
|
4830
|
+
},
|
|
4831
|
+
{
|
|
4832
|
+
name: 'vault',
|
|
4833
|
+
type: 'publicKey',
|
|
4834
|
+
index: false,
|
|
4835
|
+
},
|
|
4836
|
+
{
|
|
4837
|
+
name: 'fromVaultDepositor',
|
|
4838
|
+
type: 'publicKey',
|
|
4839
|
+
index: false,
|
|
4840
|
+
},
|
|
4841
|
+
{
|
|
4842
|
+
name: 'toVaultDepositor',
|
|
4843
|
+
type: 'publicKey',
|
|
4844
|
+
index: false,
|
|
4845
|
+
},
|
|
4846
|
+
{
|
|
4847
|
+
name: 'shares',
|
|
4848
|
+
type: 'u128',
|
|
4849
|
+
index: false,
|
|
4850
|
+
},
|
|
4851
|
+
{
|
|
4852
|
+
name: 'value',
|
|
4853
|
+
type: 'u64',
|
|
4854
|
+
index: false,
|
|
4855
|
+
},
|
|
4856
|
+
{
|
|
4857
|
+
name: 'fromDepositorSharesBefore',
|
|
4858
|
+
type: 'u128',
|
|
4859
|
+
index: false,
|
|
4860
|
+
},
|
|
4861
|
+
{
|
|
4862
|
+
name: 'fromDepositorSharesAfter',
|
|
4863
|
+
type: 'u128',
|
|
4864
|
+
index: false,
|
|
4865
|
+
},
|
|
4866
|
+
{
|
|
4867
|
+
name: 'toDepositorSharesBefore',
|
|
4868
|
+
type: 'u128',
|
|
4869
|
+
index: false,
|
|
4870
|
+
},
|
|
4871
|
+
{
|
|
4872
|
+
name: 'toDepositorSharesAfter',
|
|
4873
|
+
type: 'u128',
|
|
4874
|
+
index: false,
|
|
4875
|
+
},
|
|
4876
|
+
],
|
|
4877
|
+
},
|
|
4181
4878
|
],
|
|
4182
4879
|
errors: [
|
|
4183
4880
|
{
|
|
@@ -4295,5 +4992,10 @@ export const IDL: DriftVaults = {
|
|
|
4295
4992
|
name: 'VaultProtocolMissing',
|
|
4296
4993
|
msg: 'VaultProtocolMissing',
|
|
4297
4994
|
},
|
|
4995
|
+
{
|
|
4996
|
+
code: 6023,
|
|
4997
|
+
name: 'InvalidTokenization',
|
|
4998
|
+
msg: 'InvalidTokenization',
|
|
4999
|
+
},
|
|
4298
5000
|
],
|
|
4299
5001
|
};
|