hedge-web3 0.1.26 → 0.1.29

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. package/declarations/Constants.d.ts +1 -1
  2. package/declarations/idl/vault.d.ts +1056 -768
  3. package/declarations/index.d.ts +2 -0
  4. package/declarations/instructions/depositVault.d.ts +1 -1
  5. package/declarations/instructions/liquidateVault.d.ts +1 -1
  6. package/declarations/instructions/loanVault.d.ts +1 -1
  7. package/declarations/instructions/redeemVault.d.ts +1 -1
  8. package/declarations/instructions/repayVault.d.ts +1 -1
  9. package/declarations/instructions/setVaultTypeStatus.d.ts +4 -0
  10. package/declarations/instructions/withdrawVault.d.ts +1 -1
  11. package/declarations/state/VaultAccount.d.ts +8 -0
  12. package/declarations/utils/getLinkedListAccounts.d.ts +3 -0
  13. package/lib/Constants.js +3 -3
  14. package/lib/idl/vault.js +1054 -766
  15. package/lib/index.js +2 -0
  16. package/lib/instructions/createStakingPool.js +2 -2
  17. package/lib/instructions/depositVault.js +14 -7
  18. package/lib/instructions/liquidateVault.js +9 -4
  19. package/lib/instructions/loanVault.js +9 -4
  20. package/lib/instructions/redeemVault.js +7 -2
  21. package/lib/instructions/repayVault.js +9 -4
  22. package/lib/instructions/setVaultTypeStatus.js +38 -0
  23. package/lib/instructions/withdrawVault.js +12 -7
  24. package/lib/state/VaultAccount.js +54 -1
  25. package/lib/utils/Errors.js +2 -2
  26. package/lib/utils/getLinkedListAccounts.js +131 -0
  27. package/package.json +3 -1
  28. package/src/Constants.ts +73 -31
  29. package/src/idl/vault.ts +2075 -1499
  30. package/src/index.ts +3 -0
  31. package/src/instructions/createStakingPool.ts +1 -2
  32. package/src/instructions/depositVault.ts +97 -22
  33. package/src/instructions/liquidateVault.ts +118 -21
  34. package/src/instructions/loanVault.ts +91 -19
  35. package/src/instructions/redeemVault.ts +23 -0
  36. package/src/instructions/repayVault.ts +84 -19
  37. package/src/instructions/setVaultTypeStatus.ts +50 -0
  38. package/src/instructions/withdrawVault.ts +99 -21
  39. package/src/state/StakingPool.ts +0 -4
  40. package/src/state/VaultAccount.ts +86 -10
  41. package/src/utils/Errors.ts +2 -2
  42. package/src/utils/getLinkedListAccounts.ts +156 -0
  43. package/declarations/idl/idl.d.ts +0 -2
  44. package/lib/idl/idl.js +0 -1475
  45. package/src/idl/idl.ts +0 -1474
package/lib/idl/vault.js CHANGED
@@ -6,55 +6,45 @@ exports.IDL = {
6
6
  "name": "vault",
7
7
  "instructions": [
8
8
  {
9
- "name": "initHedgeFoundation",
9
+ "name": "addCollateralType",
10
10
  "accounts": [
11
11
  {
12
- "name": "vaultSystemState",
13
- "isMut": true,
14
- "isSigner": false
15
- },
16
- {
17
- "name": "poolState",
18
- "isMut": true,
19
- "isSigner": false
20
- },
21
- {
22
- "name": "poolEra",
12
+ "name": "payer",
23
13
  "isMut": true,
24
14
  "isSigner": true
25
15
  },
26
16
  {
27
- "name": "poolUshAccount",
17
+ "name": "vaultSystemState",
28
18
  "isMut": true,
29
19
  "isSigner": false
30
20
  },
31
21
  {
32
- "name": "founder",
22
+ "name": "oracleInfoAccount",
33
23
  "isMut": true,
34
- "isSigner": true
24
+ "isSigner": false
35
25
  },
36
26
  {
37
- "name": "ushMint",
27
+ "name": "vaultTypeAccount",
38
28
  "isMut": true,
39
29
  "isSigner": false
40
30
  },
41
31
  {
42
- "name": "hedgeMint",
43
- "isMut": true,
32
+ "name": "collateralMint",
33
+ "isMut": false,
44
34
  "isSigner": false
45
35
  },
46
36
  {
47
- "name": "founderAssociatedHedgeTokenAccount",
48
- "isMut": true,
37
+ "name": "oracleChainlink",
38
+ "isMut": false,
49
39
  "isSigner": false
50
40
  },
51
41
  {
52
- "name": "communityAssociatedHedgeTokenAccount",
53
- "isMut": true,
42
+ "name": "oraclePyth",
43
+ "isMut": false,
54
44
  "isSigner": false
55
45
  },
56
46
  {
57
- "name": "associatedTokenProgram",
47
+ "name": "oracleSwitchboard",
58
48
  "isMut": false,
59
49
  "isSigner": false
60
50
  },
@@ -62,41 +52,84 @@ exports.IDL = {
62
52
  "name": "systemProgram",
63
53
  "isMut": false,
64
54
  "isSigner": false
55
+ }
56
+ ],
57
+ "args": [
58
+ {
59
+ "name": "collateralType",
60
+ "type": "string"
65
61
  },
66
62
  {
67
- "name": "tokenProgram",
68
- "isMut": false,
69
- "isSigner": false
63
+ "name": "loanInitFee",
64
+ "type": "u64"
70
65
  },
71
66
  {
72
- "name": "rent",
73
- "isMut": false,
74
- "isSigner": false
67
+ "name": "minCollateralRatio",
68
+ "type": "u64"
69
+ },
70
+ {
71
+ "name": "interestRatePerSecond",
72
+ "type": "u128"
73
+ },
74
+ {
75
+ "name": "minDebtPerVault",
76
+ "type": "u64"
77
+ },
78
+ {
79
+ "name": "maxDebtExtended",
80
+ "type": "u64"
81
+ },
82
+ {
83
+ "name": "canBeRedeemed",
84
+ "type": "bool"
85
+ },
86
+ {
87
+ "name": "overrideCurrentTime",
88
+ "type": "i64"
75
89
  }
76
- ],
77
- "args": []
90
+ ]
78
91
  },
79
92
  {
80
- "name": "setHedgeTokenMetadata",
93
+ "name": "claimLiquidationPoolPosition",
81
94
  "accounts": [
82
95
  {
83
- "name": "metadataAccount",
96
+ "name": "vaultSystemState",
84
97
  "isMut": true,
85
98
  "isSigner": false
86
99
  },
87
100
  {
88
- "name": "mint",
101
+ "name": "poolState",
89
102
  "isMut": true,
90
103
  "isSigner": false
91
104
  },
92
105
  {
93
- "name": "payer",
106
+ "name": "poolAssociatedTokenAccount",
107
+ "isMut": true,
108
+ "isSigner": false
109
+ },
110
+ {
111
+ "name": "vaultTypeAccount",
112
+ "isMut": true,
113
+ "isSigner": false
114
+ },
115
+ {
116
+ "name": "collateralMint",
94
117
  "isMut": false,
118
+ "isSigner": false
119
+ },
120
+ {
121
+ "name": "poolPosition",
122
+ "isMut": true,
123
+ "isSigner": false
124
+ },
125
+ {
126
+ "name": "payer",
127
+ "isMut": true,
95
128
  "isSigner": true
96
129
  },
97
130
  {
98
- "name": "tokenMetadataProgram",
99
- "isMut": false,
131
+ "name": "payerAssociatedTokenAccount",
132
+ "isMut": true,
100
133
  "isSigner": false
101
134
  },
102
135
  {
@@ -123,28 +156,53 @@ exports.IDL = {
123
156
  "args": []
124
157
  },
125
158
  {
126
- "name": "updateHedgeTokenMetadata",
159
+ "name": "claimStakingPoolPosition",
127
160
  "accounts": [
128
161
  {
129
- "name": "metadataAccount",
162
+ "name": "payer",
163
+ "isMut": true,
164
+ "isSigner": true
165
+ },
166
+ {
167
+ "name": "vaultSystemState",
130
168
  "isMut": true,
131
169
  "isSigner": false
132
170
  },
133
171
  {
134
- "name": "mint",
172
+ "name": "feePool",
135
173
  "isMut": true,
136
174
  "isSigner": false
137
175
  },
138
176
  {
139
- "name": "payer",
140
- "isMut": false,
141
- "isSigner": true
177
+ "name": "stakedTokenMint",
178
+ "isMut": true,
179
+ "isSigner": false
142
180
  },
143
181
  {
144
- "name": "tokenMetadataProgram",
182
+ "name": "feePoolAssociatedTokenAccount",
183
+ "isMut": true,
184
+ "isSigner": false
185
+ },
186
+ {
187
+ "name": "vaultTypeAccount",
188
+ "isMut": true,
189
+ "isSigner": false
190
+ },
191
+ {
192
+ "name": "collateralMint",
145
193
  "isMut": false,
146
194
  "isSigner": false
147
195
  },
196
+ {
197
+ "name": "poolPosition",
198
+ "isMut": true,
199
+ "isSigner": false
200
+ },
201
+ {
202
+ "name": "payerAssociatedTokenAccount",
203
+ "isMut": true,
204
+ "isSigner": false
205
+ },
148
206
  {
149
207
  "name": "associatedTokenProgram",
150
208
  "isMut": false,
@@ -169,72 +227,61 @@ exports.IDL = {
169
227
  "args": []
170
228
  },
171
229
  {
172
- "name": "setUshTokenMetadata",
230
+ "name": "closeLiquidationPoolPosition",
173
231
  "accounts": [
174
232
  {
175
- "name": "metadataAccount",
233
+ "name": "vaultSystemState",
176
234
  "isMut": true,
177
235
  "isSigner": false
178
236
  },
179
237
  {
180
- "name": "mint",
238
+ "name": "poolState",
181
239
  "isMut": true,
182
240
  "isSigner": false
183
241
  },
184
242
  {
185
- "name": "payer",
186
- "isMut": false,
187
- "isSigner": true
188
- },
189
- {
190
- "name": "tokenMetadataProgram",
191
- "isMut": false,
243
+ "name": "poolEra",
244
+ "isMut": true,
192
245
  "isSigner": false
193
246
  },
194
247
  {
195
- "name": "associatedTokenProgram",
196
- "isMut": false,
248
+ "name": "poolPosition",
249
+ "isMut": true,
197
250
  "isSigner": false
198
251
  },
199
252
  {
200
- "name": "systemProgram",
201
- "isMut": false,
253
+ "name": "poolUshAccount",
254
+ "isMut": true,
202
255
  "isSigner": false
203
256
  },
204
257
  {
205
- "name": "tokenProgram",
206
- "isMut": false,
207
- "isSigner": false
258
+ "name": "payer",
259
+ "isMut": true,
260
+ "isSigner": true
208
261
  },
209
262
  {
210
- "name": "rent",
211
- "isMut": false,
263
+ "name": "ownerUshAccount",
264
+ "isMut": true,
212
265
  "isSigner": false
213
- }
214
- ],
215
- "args": []
216
- },
217
- {
218
- "name": "updateUshTokenMetadata",
219
- "accounts": [
266
+ },
220
267
  {
221
- "name": "metadataAccount",
268
+ "name": "hedgeMint",
222
269
  "isMut": true,
223
270
  "isSigner": false
224
271
  },
225
272
  {
226
- "name": "mint",
273
+ "name": "ushMint",
227
274
  "isMut": true,
228
275
  "isSigner": false
229
276
  },
230
277
  {
231
- "name": "payer",
232
- "isMut": false,
233
- "isSigner": true
278
+ "name": "payerAssociatedHedgeAccount",
279
+ "isMut": true,
280
+ "isSigner": false
234
281
  },
235
282
  {
236
- "name": "tokenMetadataProgram",
237
- "isMut": false,
283
+ "name": "communityAssociatedHedgeTokenAccount",
284
+ "isMut": true,
238
285
  "isSigner": false
239
286
  },
240
287
  {
@@ -258,7 +305,12 @@ exports.IDL = {
258
305
  "isSigner": false
259
306
  }
260
307
  ],
261
- "args": []
308
+ "args": [
309
+ {
310
+ "name": "overrideCurrentTime",
311
+ "type": "i64"
312
+ }
313
+ ]
262
314
  },
263
315
  {
264
316
  "name": "createStakingPool",
@@ -324,10 +376,6 @@ exports.IDL = {
324
376
  "name": "bump1",
325
377
  "type": "u8"
326
378
  },
327
- {
328
- "name": "poolSeedPhraseInput",
329
- "type": "string"
330
- },
331
379
  {
332
380
  "name": "totalRewards",
333
381
  "type": "u64"
@@ -339,120 +387,139 @@ exports.IDL = {
339
387
  ]
340
388
  },
341
389
  {
342
- "name": "depositStakingPool",
390
+ "name": "createVault",
343
391
  "accounts": [
344
392
  {
345
- "name": "payer",
393
+ "name": "vaultSystemState",
346
394
  "isMut": true,
347
- "isSigner": true
395
+ "isSigner": false
348
396
  },
349
397
  {
350
- "name": "pool",
398
+ "name": "vaultTypeAccount",
351
399
  "isMut": true,
352
400
  "isSigner": false
353
401
  },
354
402
  {
355
- "name": "poolPosition",
403
+ "name": "vault",
356
404
  "isMut": true,
357
- "isSigner": true
405
+ "isSigner": false
358
406
  },
359
407
  {
360
- "name": "payerAssociatedStakedTokenAccount",
408
+ "name": "vaultAssociatedTokenAccount",
361
409
  "isMut": true,
362
410
  "isSigner": false
363
411
  },
364
412
  {
365
- "name": "poolAssociatedStakedTokenAccount",
413
+ "name": "feePool",
366
414
  "isMut": true,
367
415
  "isSigner": false
368
416
  },
369
417
  {
370
- "name": "systemProgram",
371
- "isMut": false,
418
+ "name": "feePoolAssociatedUshTokenAccount",
419
+ "isMut": true,
372
420
  "isSigner": false
373
421
  },
374
422
  {
375
- "name": "tokenProgram",
376
- "isMut": false,
423
+ "name": "ushMint",
424
+ "isMut": true,
377
425
  "isSigner": false
378
- }
379
- ],
380
- "args": [
381
- {
382
- "name": "stakeAmount",
383
- "type": "u64"
384
426
  },
385
427
  {
386
- "name": "overrideCurrentTime",
387
- "type": "i64"
388
- }
389
- ]
390
- },
391
- {
392
- "name": "withdrawStakingPool",
393
- "accounts": [
394
- {
395
- "name": "payer",
428
+ "name": "history",
396
429
  "isMut": true,
397
430
  "isSigner": true
398
431
  },
399
432
  {
400
- "name": "vaultSystemState",
433
+ "name": "payer",
401
434
  "isMut": true,
402
- "isSigner": false
435
+ "isSigner": true
403
436
  },
404
437
  {
405
- "name": "pool",
438
+ "name": "payerTokenAccount",
406
439
  "isMut": true,
407
440
  "isSigner": false
408
441
  },
409
442
  {
410
- "name": "poolPosition",
443
+ "name": "collateralMint",
411
444
  "isMut": true,
412
445
  "isSigner": false
413
446
  },
414
447
  {
415
- "name": "hedgeMint",
416
- "isMut": true,
448
+ "name": "associatedTokenProgram",
449
+ "isMut": false,
417
450
  "isSigner": false
418
451
  },
419
452
  {
420
- "name": "stakedTokenMint",
421
- "isMut": true,
453
+ "name": "systemProgram",
454
+ "isMut": false,
422
455
  "isSigner": false
423
456
  },
424
457
  {
425
- "name": "ushMint",
458
+ "name": "tokenProgram",
426
459
  "isMut": false,
427
460
  "isSigner": false
428
461
  },
429
462
  {
430
- "name": "payerAssociatedStakedTokenAccount",
463
+ "name": "rent",
464
+ "isMut": false,
465
+ "isSigner": false
466
+ }
467
+ ],
468
+ "args": [
469
+ {
470
+ "name": "pdaSalt",
471
+ "type": "string"
472
+ },
473
+ {
474
+ "name": "depositAmount",
475
+ "type": "u64"
476
+ },
477
+ {
478
+ "name": "overrideCurrentTime",
479
+ "type": "i64"
480
+ }
481
+ ]
482
+ },
483
+ {
484
+ "name": "depositLiquidationPool",
485
+ "accounts": [
486
+ {
487
+ "name": "vaultSystemState",
431
488
  "isMut": true,
432
489
  "isSigner": false
433
490
  },
434
491
  {
435
- "name": "payerAssociatedHedgeAccount",
492
+ "name": "poolState",
436
493
  "isMut": true,
437
494
  "isSigner": false
438
495
  },
439
496
  {
440
- "name": "payerAssociatedUshAccount",
497
+ "name": "poolUshAccount",
441
498
  "isMut": true,
442
499
  "isSigner": false
443
500
  },
444
501
  {
445
- "name": "poolAssociatedStakedTokenAccount",
502
+ "name": "poolEra",
446
503
  "isMut": true,
447
504
  "isSigner": false
448
505
  },
449
506
  {
450
- "name": "poolAssociatedUshTokenAccount",
507
+ "name": "poolPosition",
508
+ "isMut": true,
509
+ "isSigner": true
510
+ },
511
+ {
512
+ "name": "ushMint",
451
513
  "isMut": true,
452
514
  "isSigner": false
453
515
  },
454
516
  {
455
- "name": "communityAssociatedHedgeTokenAccount",
517
+ "name": "payer",
518
+ "isMut": true,
519
+ "isSigner": true
520
+ },
521
+ {
522
+ "name": "ownerUshAccount",
456
523
  "isMut": true,
457
524
  "isSigner": false
458
525
  },
@@ -468,6 +535,10 @@ exports.IDL = {
468
535
  }
469
536
  ],
470
537
  "args": [
538
+ {
539
+ "name": "depositAmount",
540
+ "type": "u64"
541
+ },
471
542
  {
472
543
  "name": "overrideCurrentTime",
473
544
  "type": "i64"
@@ -475,68 +546,43 @@ exports.IDL = {
475
546
  ]
476
547
  },
477
548
  {
478
- "name": "createVault",
549
+ "name": "depositStakingPool",
479
550
  "accounts": [
480
551
  {
481
- "name": "vaultSystemState",
482
- "isMut": true,
483
- "isSigner": false
484
- },
485
- {
486
- "name": "vaultTypeAccount",
487
- "isMut": true,
488
- "isSigner": false
489
- },
490
- {
491
- "name": "vault",
492
- "isMut": true,
493
- "isSigner": false
494
- },
495
- {
496
- "name": "vaultAssociatedTokenAccount",
552
+ "name": "payer",
497
553
  "isMut": true,
498
- "isSigner": false
554
+ "isSigner": true
499
555
  },
500
556
  {
501
- "name": "feePool",
557
+ "name": "vaultSystemState",
502
558
  "isMut": true,
503
559
  "isSigner": false
504
560
  },
505
561
  {
506
- "name": "feePoolAssociatedUshTokenAccount",
562
+ "name": "pool",
507
563
  "isMut": true,
508
564
  "isSigner": false
509
565
  },
510
566
  {
511
- "name": "ushMint",
512
- "isMut": true,
567
+ "name": "stakedTokenMintInfo",
568
+ "isMut": false,
513
569
  "isSigner": false
514
570
  },
515
571
  {
516
- "name": "history",
517
- "isMut": true,
518
- "isSigner": true
519
- },
520
- {
521
- "name": "payer",
572
+ "name": "poolPosition",
522
573
  "isMut": true,
523
574
  "isSigner": true
524
575
  },
525
576
  {
526
- "name": "payerTokenAccount",
577
+ "name": "payerAssociatedStakedTokenAccount",
527
578
  "isMut": true,
528
579
  "isSigner": false
529
580
  },
530
581
  {
531
- "name": "collateralMint",
582
+ "name": "poolAssociatedStakedTokenAccount",
532
583
  "isMut": true,
533
584
  "isSigner": false
534
585
  },
535
- {
536
- "name": "associatedTokenProgram",
537
- "isMut": false,
538
- "isSigner": false
539
- },
540
586
  {
541
587
  "name": "systemProgram",
542
588
  "isMut": false,
@@ -546,20 +592,11 @@ exports.IDL = {
546
592
  "name": "tokenProgram",
547
593
  "isMut": false,
548
594
  "isSigner": false
549
- },
550
- {
551
- "name": "rent",
552
- "isMut": false,
553
- "isSigner": false
554
595
  }
555
596
  ],
556
597
  "args": [
557
598
  {
558
- "name": "pdaSalt",
559
- "type": "string"
560
- },
561
- {
562
- "name": "depositAmount",
599
+ "name": "stakeAmount",
563
600
  "type": "u64"
564
601
  },
565
602
  {
@@ -586,11 +623,6 @@ exports.IDL = {
586
623
  "isMut": true,
587
624
  "isSigner": false
588
625
  },
589
- {
590
- "name": "vault",
591
- "isMut": true,
592
- "isSigner": false
593
- },
594
626
  {
595
627
  "name": "vaultAssociatedTokenAccount",
596
628
  "isMut": true,
@@ -631,6 +663,26 @@ exports.IDL = {
631
663
  "isMut": true,
632
664
  "isSigner": false
633
665
  },
666
+ {
667
+ "name": "oldSmallerVaultInfo",
668
+ "isMut": true,
669
+ "isSigner": false
670
+ },
671
+ {
672
+ "name": "newSmallerVaultInfo",
673
+ "isMut": true,
674
+ "isSigner": false
675
+ },
676
+ {
677
+ "name": "newLargerVaultInfo",
678
+ "isMut": false,
679
+ "isSigner": false
680
+ },
681
+ {
682
+ "name": "vault",
683
+ "isMut": true,
684
+ "isSigner": false
685
+ },
634
686
  {
635
687
  "name": "tokenProgram",
636
688
  "isMut": false,
@@ -654,7 +706,7 @@ exports.IDL = {
654
706
  ]
655
707
  },
656
708
  {
657
- "name": "withdrawVault",
709
+ "name": "initHedgeFoundation",
658
710
  "accounts": [
659
711
  {
660
712
  "name": "vaultSystemState",
@@ -662,55 +714,91 @@ exports.IDL = {
662
714
  "isSigner": false
663
715
  },
664
716
  {
665
- "name": "vaultTypeAccount",
717
+ "name": "poolState",
666
718
  "isMut": true,
667
719
  "isSigner": false
668
720
  },
669
721
  {
670
- "name": "vaultTypeAssociatedTokenAccount",
722
+ "name": "poolEra",
671
723
  "isMut": true,
672
- "isSigner": false
724
+ "isSigner": true
673
725
  },
674
726
  {
675
- "name": "vault",
727
+ "name": "poolUshAccount",
676
728
  "isMut": true,
677
729
  "isSigner": false
678
730
  },
679
731
  {
680
- "name": "vaultAssociatedTokenAccount",
732
+ "name": "founder",
681
733
  "isMut": true,
682
- "isSigner": false
734
+ "isSigner": true
683
735
  },
684
736
  {
685
- "name": "feePool",
737
+ "name": "ushMint",
686
738
  "isMut": true,
687
739
  "isSigner": false
688
740
  },
689
741
  {
690
- "name": "feePoolAssociatedUshTokenAccount",
742
+ "name": "hedgeMint",
691
743
  "isMut": true,
692
744
  "isSigner": false
693
745
  },
694
746
  {
695
- "name": "history",
747
+ "name": "associatedTokenProgram",
748
+ "isMut": false,
749
+ "isSigner": false
750
+ },
751
+ {
752
+ "name": "systemProgram",
753
+ "isMut": false,
754
+ "isSigner": false
755
+ },
756
+ {
757
+ "name": "tokenProgram",
758
+ "isMut": false,
759
+ "isSigner": false
760
+ },
761
+ {
762
+ "name": "rent",
763
+ "isMut": false,
764
+ "isSigner": false
765
+ }
766
+ ],
767
+ "args": []
768
+ },
769
+ {
770
+ "name": "initHedgeFoundationTokens",
771
+ "accounts": [
772
+ {
773
+ "name": "vaultSystemState",
774
+ "isMut": false,
775
+ "isSigner": false
776
+ },
777
+ {
778
+ "name": "founder",
696
779
  "isMut": true,
697
780
  "isSigner": true
698
781
  },
699
782
  {
700
- "name": "vaultOwner",
783
+ "name": "hedgeMint",
701
784
  "isMut": true,
702
- "isSigner": true
785
+ "isSigner": false
703
786
  },
704
787
  {
705
- "name": "destinationTokenAccount",
788
+ "name": "founderAssociatedHedgeTokenAccount",
706
789
  "isMut": true,
707
790
  "isSigner": false
708
791
  },
709
792
  {
710
- "name": "ushMint",
793
+ "name": "communityAssociatedHedgeTokenAccount",
711
794
  "isMut": true,
712
795
  "isSigner": false
713
796
  },
797
+ {
798
+ "name": "associatedTokenProgram",
799
+ "isMut": false,
800
+ "isSigner": false
801
+ },
714
802
  {
715
803
  "name": "systemProgram",
716
804
  "isMut": false,
@@ -720,18 +808,14 @@ exports.IDL = {
720
808
  "name": "tokenProgram",
721
809
  "isMut": false,
722
810
  "isSigner": false
723
- }
724
- ],
725
- "args": [
726
- {
727
- "name": "withdrawAmount",
728
- "type": "u64"
729
811
  },
730
812
  {
731
- "name": "overrideCurrentTime",
732
- "type": "i64"
813
+ "name": "rent",
814
+ "isMut": false,
815
+ "isSigner": false
733
816
  }
734
- ]
817
+ ],
818
+ "args": []
735
819
  },
736
820
  {
737
821
  "name": "loanVault",
@@ -751,11 +835,6 @@ exports.IDL = {
751
835
  "isMut": true,
752
836
  "isSigner": false
753
837
  },
754
- {
755
- "name": "vaultAccount",
756
- "isMut": true,
757
- "isSigner": false
758
- },
759
838
  {
760
839
  "name": "vaultAssociatedTokenAccount",
761
840
  "isMut": true,
@@ -791,6 +870,26 @@ exports.IDL = {
791
870
  "isMut": true,
792
871
  "isSigner": false
793
872
  },
873
+ {
874
+ "name": "oldSmallerVaultInfo",
875
+ "isMut": true,
876
+ "isSigner": false
877
+ },
878
+ {
879
+ "name": "newSmallerVaultInfo",
880
+ "isMut": true,
881
+ "isSigner": false
882
+ },
883
+ {
884
+ "name": "newLargerVaultInfo",
885
+ "isMut": false,
886
+ "isSigner": false
887
+ },
888
+ {
889
+ "name": "vaultAccount",
890
+ "isMut": true,
891
+ "isSigner": false
892
+ },
794
893
  {
795
894
  "name": "systemProgram",
796
895
  "isMut": false,
@@ -814,7 +913,7 @@ exports.IDL = {
814
913
  ]
815
914
  },
816
915
  {
817
- "name": "repayVault",
916
+ "name": "redeemVault",
818
917
  "accounts": [
819
918
  {
820
919
  "name": "vaultSystemState",
@@ -832,12 +931,17 @@ exports.IDL = {
832
931
  "isSigner": false
833
932
  },
834
933
  {
835
- "name": "vaultAccount",
934
+ "name": "vaultAssociatedTokenAccount",
836
935
  "isMut": true,
837
936
  "isSigner": false
838
937
  },
839
938
  {
840
- "name": "vaultAssociatedTokenAccount",
939
+ "name": "history",
940
+ "isMut": true,
941
+ "isSigner": true
942
+ },
943
+ {
944
+ "name": "ushMint",
841
945
  "isMut": true,
842
946
  "isSigner": false
843
947
  },
@@ -852,28 +956,43 @@ exports.IDL = {
852
956
  "isSigner": false
853
957
  },
854
958
  {
855
- "name": "history",
959
+ "name": "payer",
856
960
  "isMut": true,
857
961
  "isSigner": true
858
962
  },
859
963
  {
860
- "name": "ushMint",
964
+ "name": "payerUshAccount",
861
965
  "isMut": true,
862
966
  "isSigner": false
863
967
  },
864
968
  {
865
- "name": "vaultOwner",
969
+ "name": "destinationTokenAccount",
866
970
  "isMut": true,
867
- "isSigner": true
971
+ "isSigner": false
868
972
  },
869
973
  {
870
- "name": "ownerUshAccount",
974
+ "name": "oldSmallerVaultInfo",
871
975
  "isMut": true,
872
976
  "isSigner": false
873
977
  },
874
978
  {
875
- "name": "systemProgram",
876
- "isMut": false,
979
+ "name": "newSmallerVaultInfo",
980
+ "isMut": true,
981
+ "isSigner": false
982
+ },
983
+ {
984
+ "name": "newLargerVaultInfo",
985
+ "isMut": false,
986
+ "isSigner": false
987
+ },
988
+ {
989
+ "name": "vault",
990
+ "isMut": true,
991
+ "isSigner": false
992
+ },
993
+ {
994
+ "name": "systemProgram",
995
+ "isMut": false,
877
996
  "isSigner": false
878
997
  },
879
998
  {
@@ -884,7 +1003,7 @@ exports.IDL = {
884
1003
  ],
885
1004
  "args": [
886
1005
  {
887
- "name": "repayAmount",
1006
+ "name": "redeemPayUsh",
888
1007
  "type": "u64"
889
1008
  },
890
1009
  {
@@ -894,7 +1013,7 @@ exports.IDL = {
894
1013
  ]
895
1014
  },
896
1015
  {
897
- "name": "redeemVault",
1016
+ "name": "liquidateVault",
898
1017
  "accounts": [
899
1018
  {
900
1019
  "name": "vaultSystemState",
@@ -912,7 +1031,7 @@ exports.IDL = {
912
1031
  "isSigner": false
913
1032
  },
914
1033
  {
915
- "name": "vault",
1034
+ "name": "collateralMint",
916
1035
  "isMut": true,
917
1036
  "isSigner": false
918
1037
  },
@@ -922,12 +1041,12 @@ exports.IDL = {
922
1041
  "isSigner": false
923
1042
  },
924
1043
  {
925
- "name": "history",
1044
+ "name": "poolState",
926
1045
  "isMut": true,
927
- "isSigner": true
1046
+ "isSigner": false
928
1047
  },
929
1048
  {
930
- "name": "ushMint",
1049
+ "name": "poolAssociatedTokenAccount",
931
1050
  "isMut": true,
932
1051
  "isSigner": false
933
1052
  },
@@ -936,26 +1055,76 @@ exports.IDL = {
936
1055
  "isMut": true,
937
1056
  "isSigner": false
938
1057
  },
1058
+ {
1059
+ "name": "feePoolAssociatedTokenAccount",
1060
+ "isMut": true,
1061
+ "isSigner": false
1062
+ },
939
1063
  {
940
1064
  "name": "feePoolAssociatedUshTokenAccount",
941
1065
  "isMut": true,
942
1066
  "isSigner": false
943
1067
  },
1068
+ {
1069
+ "name": "liquidationPoolUshAccount",
1070
+ "isMut": true,
1071
+ "isSigner": false
1072
+ },
1073
+ {
1074
+ "name": "ushMint",
1075
+ "isMut": true,
1076
+ "isSigner": false
1077
+ },
1078
+ {
1079
+ "name": "poolEra",
1080
+ "isMut": true,
1081
+ "isSigner": false
1082
+ },
1083
+ {
1084
+ "name": "newEra",
1085
+ "isMut": true,
1086
+ "isSigner": true
1087
+ },
1088
+ {
1089
+ "name": "history",
1090
+ "isMut": true,
1091
+ "isSigner": true
1092
+ },
944
1093
  {
945
1094
  "name": "payer",
946
1095
  "isMut": true,
947
1096
  "isSigner": true
948
1097
  },
949
1098
  {
950
- "name": "payerUshAccount",
1099
+ "name": "payerAssociatedTokenAccount",
951
1100
  "isMut": true,
952
1101
  "isSigner": false
953
1102
  },
954
1103
  {
955
- "name": "destinationTokenAccount",
1104
+ "name": "oldSmallerVaultInfo",
1105
+ "isMut": true,
1106
+ "isSigner": false
1107
+ },
1108
+ {
1109
+ "name": "newSmallerVaultInfo",
1110
+ "isMut": true,
1111
+ "isSigner": false
1112
+ },
1113
+ {
1114
+ "name": "newLargerVaultInfo",
1115
+ "isMut": false,
1116
+ "isSigner": false
1117
+ },
1118
+ {
1119
+ "name": "vaultAccount",
956
1120
  "isMut": true,
957
1121
  "isSigner": false
958
1122
  },
1123
+ {
1124
+ "name": "associatedTokenProgram",
1125
+ "isMut": false,
1126
+ "isSigner": false
1127
+ },
959
1128
  {
960
1129
  "name": "systemProgram",
961
1130
  "isMut": false,
@@ -965,13 +1134,14 @@ exports.IDL = {
965
1134
  "name": "tokenProgram",
966
1135
  "isMut": false,
967
1136
  "isSigner": false
1137
+ },
1138
+ {
1139
+ "name": "rent",
1140
+ "isMut": false,
1141
+ "isSigner": false
968
1142
  }
969
1143
  ],
970
1144
  "args": [
971
- {
972
- "name": "redeemPayUsh",
973
- "type": "u64"
974
- },
975
1145
  {
976
1146
  "name": "overrideCurrentTime",
977
1147
  "type": "i64"
@@ -979,57 +1149,42 @@ exports.IDL = {
979
1149
  ]
980
1150
  },
981
1151
  {
982
- "name": "depositLiquidationPool",
1152
+ "name": "refreshOraclePrice",
983
1153
  "accounts": [
984
1154
  {
985
- "name": "poolState",
986
- "isMut": true,
987
- "isSigner": false
988
- },
989
- {
990
- "name": "poolUshAccount",
1155
+ "name": "oracleInfoAccount",
991
1156
  "isMut": true,
992
1157
  "isSigner": false
993
1158
  },
994
1159
  {
995
- "name": "poolEra",
1160
+ "name": "vaultTypeAccount",
996
1161
  "isMut": true,
997
1162
  "isSigner": false
998
1163
  },
999
1164
  {
1000
- "name": "poolPosition",
1001
- "isMut": true,
1002
- "isSigner": true
1003
- },
1004
- {
1005
- "name": "ushMint",
1006
- "isMut": true,
1165
+ "name": "oracleChainlink",
1166
+ "isMut": false,
1007
1167
  "isSigner": false
1008
1168
  },
1009
1169
  {
1010
- "name": "payer",
1011
- "isMut": true,
1012
- "isSigner": true
1013
- },
1014
- {
1015
- "name": "ownerUshAccount",
1016
- "isMut": true,
1170
+ "name": "oraclePyth",
1171
+ "isMut": false,
1017
1172
  "isSigner": false
1018
1173
  },
1019
1174
  {
1020
- "name": "systemProgram",
1175
+ "name": "oracleSwitchboard",
1021
1176
  "isMut": false,
1022
1177
  "isSigner": false
1023
1178
  },
1024
1179
  {
1025
- "name": "tokenProgram",
1180
+ "name": "systemProgram",
1026
1181
  "isMut": false,
1027
1182
  "isSigner": false
1028
1183
  }
1029
1184
  ],
1030
1185
  "args": [
1031
1186
  {
1032
- "name": "depositAmount",
1187
+ "name": "overrideResult",
1033
1188
  "type": "u64"
1034
1189
  },
1035
1190
  {
@@ -1039,7 +1194,7 @@ exports.IDL = {
1039
1194
  ]
1040
1195
  },
1041
1196
  {
1042
- "name": "liquidateVaultPrepAccounts",
1197
+ "name": "repayVault",
1043
1198
  "accounts": [
1044
1199
  {
1045
1200
  "name": "vaultSystemState",
@@ -1057,69 +1212,94 @@ exports.IDL = {
1057
1212
  "isSigner": false
1058
1213
  },
1059
1214
  {
1060
- "name": "collateralMint",
1215
+ "name": "vaultAssociatedTokenAccount",
1061
1216
  "isMut": true,
1062
1217
  "isSigner": false
1063
1218
  },
1064
1219
  {
1065
- "name": "vaultAccount",
1220
+ "name": "feePool",
1066
1221
  "isMut": true,
1067
1222
  "isSigner": false
1068
1223
  },
1069
1224
  {
1070
- "name": "vaultAssociatedTokenAccount",
1225
+ "name": "feePoolAssociatedUshTokenAccount",
1071
1226
  "isMut": true,
1072
1227
  "isSigner": false
1073
1228
  },
1074
1229
  {
1075
- "name": "poolState",
1230
+ "name": "history",
1076
1231
  "isMut": true,
1077
- "isSigner": false
1232
+ "isSigner": true
1078
1233
  },
1079
1234
  {
1080
- "name": "poolAssociatedTokenAccount",
1235
+ "name": "ushMint",
1081
1236
  "isMut": true,
1082
1237
  "isSigner": false
1083
1238
  },
1084
1239
  {
1085
- "name": "feePool",
1240
+ "name": "vaultOwner",
1086
1241
  "isMut": true,
1087
- "isSigner": false
1242
+ "isSigner": true
1088
1243
  },
1089
1244
  {
1090
- "name": "feePoolAssociatedTokenAccount",
1245
+ "name": "ownerUshAccount",
1091
1246
  "isMut": true,
1092
1247
  "isSigner": false
1093
1248
  },
1094
1249
  {
1095
- "name": "feePoolAssociatedUshTokenAccount",
1250
+ "name": "oldSmallerVaultInfo",
1096
1251
  "isMut": true,
1097
1252
  "isSigner": false
1098
1253
  },
1099
1254
  {
1100
- "name": "liquidationPoolUshAccount",
1255
+ "name": "newSmallerVaultInfo",
1101
1256
  "isMut": true,
1102
1257
  "isSigner": false
1103
1258
  },
1104
1259
  {
1105
- "name": "ushMint",
1106
- "isMut": true,
1260
+ "name": "newLargerVaultInfo",
1261
+ "isMut": false,
1107
1262
  "isSigner": false
1108
1263
  },
1109
1264
  {
1110
- "name": "poolEra",
1265
+ "name": "vaultAccount",
1111
1266
  "isMut": true,
1112
1267
  "isSigner": false
1113
1268
  },
1114
1269
  {
1115
- "name": "newEra",
1270
+ "name": "systemProgram",
1271
+ "isMut": false,
1272
+ "isSigner": false
1273
+ },
1274
+ {
1275
+ "name": "tokenProgram",
1276
+ "isMut": false,
1277
+ "isSigner": false
1278
+ }
1279
+ ],
1280
+ "args": [
1281
+ {
1282
+ "name": "repayAmount",
1283
+ "type": "u64"
1284
+ },
1285
+ {
1286
+ "name": "overrideCurrentTime",
1287
+ "type": "i64"
1288
+ }
1289
+ ]
1290
+ },
1291
+ {
1292
+ "name": "setTokenMetadata",
1293
+ "accounts": [
1294
+ {
1295
+ "name": "metadataAccount",
1116
1296
  "isMut": true,
1117
- "isSigner": true
1297
+ "isSigner": false
1118
1298
  },
1119
1299
  {
1120
- "name": "history",
1300
+ "name": "mint",
1121
1301
  "isMut": true,
1122
- "isSigner": true
1302
+ "isSigner": false
1123
1303
  },
1124
1304
  {
1125
1305
  "name": "payer",
@@ -1127,10 +1307,15 @@ exports.IDL = {
1127
1307
  "isSigner": true
1128
1308
  },
1129
1309
  {
1130
- "name": "payerAssociatedTokenAccount",
1310
+ "name": "vaultSystemState",
1131
1311
  "isMut": true,
1132
1312
  "isSigner": false
1133
1313
  },
1314
+ {
1315
+ "name": "tokenMetadataProgram",
1316
+ "isMut": false,
1317
+ "isSigner": false
1318
+ },
1134
1319
  {
1135
1320
  "name": "associatedTokenProgram",
1136
1321
  "isMut": false,
@@ -1152,120 +1337,127 @@ exports.IDL = {
1152
1337
  "isSigner": false
1153
1338
  }
1154
1339
  ],
1155
- "args": []
1340
+ "args": [
1341
+ {
1342
+ "name": "mintPdaSeed",
1343
+ "type": "string"
1344
+ },
1345
+ {
1346
+ "name": "tokenName",
1347
+ "type": "string"
1348
+ },
1349
+ {
1350
+ "name": "tokenSymbol",
1351
+ "type": "string"
1352
+ },
1353
+ {
1354
+ "name": "tokenUri",
1355
+ "type": "string"
1356
+ },
1357
+ {
1358
+ "name": "firstTime",
1359
+ "type": "bool"
1360
+ }
1361
+ ]
1156
1362
  },
1157
1363
  {
1158
- "name": "liquidateVault",
1364
+ "name": "setHalted",
1159
1365
  "accounts": [
1160
1366
  {
1161
- "name": "vaultSystemState",
1367
+ "name": "payer",
1162
1368
  "isMut": true,
1163
- "isSigner": false
1369
+ "isSigner": true
1164
1370
  },
1165
1371
  {
1166
- "name": "vaultTypeAccount",
1372
+ "name": "vaultSystemState",
1167
1373
  "isMut": true,
1168
1374
  "isSigner": false
1375
+ }
1376
+ ],
1377
+ "args": [
1378
+ {
1379
+ "name": "halted",
1380
+ "type": "bool"
1381
+ }
1382
+ ]
1383
+ },
1384
+ {
1385
+ "name": "withdrawStakingPool",
1386
+ "accounts": [
1387
+ {
1388
+ "name": "payer",
1389
+ "isMut": true,
1390
+ "isSigner": true
1169
1391
  },
1170
1392
  {
1171
- "name": "vaultTypeAssociatedTokenAccount",
1393
+ "name": "vaultSystemState",
1172
1394
  "isMut": true,
1173
1395
  "isSigner": false
1174
1396
  },
1175
1397
  {
1176
- "name": "collateralMint",
1398
+ "name": "pool",
1177
1399
  "isMut": true,
1178
1400
  "isSigner": false
1179
1401
  },
1180
1402
  {
1181
- "name": "vaultAccount",
1403
+ "name": "poolPosition",
1182
1404
  "isMut": true,
1183
1405
  "isSigner": false
1184
1406
  },
1185
1407
  {
1186
- "name": "vaultAssociatedTokenAccount",
1408
+ "name": "hedgeMint",
1187
1409
  "isMut": true,
1188
1410
  "isSigner": false
1189
1411
  },
1190
1412
  {
1191
- "name": "poolState",
1413
+ "name": "stakedTokenMint",
1192
1414
  "isMut": true,
1193
1415
  "isSigner": false
1194
1416
  },
1195
1417
  {
1196
- "name": "poolAssociatedTokenAccount",
1197
- "isMut": true,
1418
+ "name": "ushMint",
1419
+ "isMut": false,
1198
1420
  "isSigner": false
1199
1421
  },
1200
1422
  {
1201
- "name": "feePool",
1423
+ "name": "payerAssociatedStakedTokenAccount",
1202
1424
  "isMut": true,
1203
1425
  "isSigner": false
1204
1426
  },
1205
1427
  {
1206
- "name": "feePoolAssociatedTokenAccount",
1428
+ "name": "payerAssociatedHedgeAccount",
1207
1429
  "isMut": true,
1208
1430
  "isSigner": false
1209
1431
  },
1210
1432
  {
1211
- "name": "feePoolAssociatedUshTokenAccount",
1433
+ "name": "payerAssociatedUshAccount",
1212
1434
  "isMut": true,
1213
1435
  "isSigner": false
1214
1436
  },
1215
1437
  {
1216
- "name": "liquidationPoolUshAccount",
1438
+ "name": "poolAssociatedStakedTokenAccount",
1217
1439
  "isMut": true,
1218
1440
  "isSigner": false
1219
1441
  },
1220
1442
  {
1221
- "name": "ushMint",
1443
+ "name": "poolAssociatedUshTokenAccount",
1222
1444
  "isMut": true,
1223
1445
  "isSigner": false
1224
1446
  },
1225
1447
  {
1226
- "name": "poolEra",
1448
+ "name": "communityAssociatedHedgeTokenAccount",
1227
1449
  "isMut": true,
1228
1450
  "isSigner": false
1229
1451
  },
1230
1452
  {
1231
- "name": "newEra",
1232
- "isMut": true,
1233
- "isSigner": true
1234
- },
1235
- {
1236
- "name": "history",
1237
- "isMut": true,
1238
- "isSigner": true
1239
- },
1240
- {
1241
- "name": "payer",
1242
- "isMut": true,
1243
- "isSigner": true
1244
- },
1245
- {
1246
- "name": "payerAssociatedTokenAccount",
1247
- "isMut": true,
1248
- "isSigner": false
1249
- },
1250
- {
1251
- "name": "associatedTokenProgram",
1252
- "isMut": false,
1253
- "isSigner": false
1254
- },
1255
- {
1256
- "name": "systemProgram",
1257
- "isMut": false,
1258
- "isSigner": false
1453
+ "name": "systemProgram",
1454
+ "isMut": false,
1455
+ "isSigner": false
1259
1456
  },
1260
1457
  {
1261
1458
  "name": "tokenProgram",
1262
1459
  "isMut": false,
1263
1460
  "isSigner": false
1264
- },
1265
- {
1266
- "name": "rent",
1267
- "isMut": false,
1268
- "isSigner": false
1269
1461
  }
1270
1462
  ],
1271
1463
  "args": [
@@ -1276,7 +1468,7 @@ exports.IDL = {
1276
1468
  ]
1277
1469
  },
1278
1470
  {
1279
- "name": "closeLiquidationPoolPosition",
1471
+ "name": "withdrawVault",
1280
1472
  "accounts": [
1281
1473
  {
1282
1474
  "name": "vaultSystemState",
@@ -1284,121 +1476,70 @@ exports.IDL = {
1284
1476
  "isSigner": false
1285
1477
  },
1286
1478
  {
1287
- "name": "poolState",
1479
+ "name": "vaultTypeAccount",
1288
1480
  "isMut": true,
1289
1481
  "isSigner": false
1290
1482
  },
1291
1483
  {
1292
- "name": "poolEra",
1484
+ "name": "vaultTypeAssociatedTokenAccount",
1293
1485
  "isMut": true,
1294
1486
  "isSigner": false
1295
1487
  },
1296
1488
  {
1297
- "name": "poolPosition",
1489
+ "name": "vaultAssociatedTokenAccount",
1298
1490
  "isMut": true,
1299
1491
  "isSigner": false
1300
1492
  },
1301
1493
  {
1302
- "name": "poolUshAccount",
1494
+ "name": "feePool",
1303
1495
  "isMut": true,
1304
1496
  "isSigner": false
1305
1497
  },
1306
1498
  {
1307
- "name": "payer",
1308
- "isMut": true,
1309
- "isSigner": true
1310
- },
1311
- {
1312
- "name": "ownerUshAccount",
1499
+ "name": "feePoolAssociatedUshTokenAccount",
1313
1500
  "isMut": true,
1314
1501
  "isSigner": false
1315
1502
  },
1316
1503
  {
1317
- "name": "hedgeMint",
1504
+ "name": "history",
1318
1505
  "isMut": true,
1319
- "isSigner": false
1506
+ "isSigner": true
1320
1507
  },
1321
1508
  {
1322
- "name": "payerAssociatedHedgeAccount",
1509
+ "name": "vaultOwner",
1323
1510
  "isMut": true,
1324
- "isSigner": false
1511
+ "isSigner": true
1325
1512
  },
1326
1513
  {
1327
- "name": "communityAssociatedHedgeTokenAccount",
1514
+ "name": "destinationTokenAccount",
1328
1515
  "isMut": true,
1329
1516
  "isSigner": false
1330
1517
  },
1331
1518
  {
1332
- "name": "associatedTokenProgram",
1333
- "isMut": false,
1334
- "isSigner": false
1335
- },
1336
- {
1337
- "name": "systemProgram",
1338
- "isMut": false,
1339
- "isSigner": false
1340
- },
1341
- {
1342
- "name": "tokenProgram",
1343
- "isMut": false,
1344
- "isSigner": false
1345
- },
1346
- {
1347
- "name": "rent",
1348
- "isMut": false,
1349
- "isSigner": false
1350
- }
1351
- ],
1352
- "args": [
1353
- {
1354
- "name": "overrideCurrentTime",
1355
- "type": "i64"
1356
- }
1357
- ]
1358
- },
1359
- {
1360
- "name": "claimLiquidationPoolPosition",
1361
- "accounts": [
1362
- {
1363
- "name": "poolState",
1519
+ "name": "ushMint",
1364
1520
  "isMut": true,
1365
1521
  "isSigner": false
1366
1522
  },
1367
1523
  {
1368
- "name": "poolAssociatedTokenAccount",
1524
+ "name": "oldSmallerVaultInfo",
1369
1525
  "isMut": true,
1370
1526
  "isSigner": false
1371
1527
  },
1372
1528
  {
1373
- "name": "vaultTypeAccount",
1529
+ "name": "newSmallerVaultInfo",
1374
1530
  "isMut": true,
1375
1531
  "isSigner": false
1376
1532
  },
1377
1533
  {
1378
- "name": "collateralMint",
1534
+ "name": "newLargerVaultInfo",
1379
1535
  "isMut": false,
1380
1536
  "isSigner": false
1381
1537
  },
1382
1538
  {
1383
- "name": "poolPosition",
1384
- "isMut": true,
1385
- "isSigner": false
1386
- },
1387
- {
1388
- "name": "payer",
1389
- "isMut": true,
1390
- "isSigner": true
1391
- },
1392
- {
1393
- "name": "payerAssociatedTokenAccount",
1539
+ "name": "vault",
1394
1540
  "isMut": true,
1395
1541
  "isSigner": false
1396
1542
  },
1397
- {
1398
- "name": "associatedTokenProgram",
1399
- "isMut": false,
1400
- "isSigner": false
1401
- },
1402
1543
  {
1403
1544
  "name": "systemProgram",
1404
1545
  "isMut": false,
@@ -1408,83 +1549,11 @@ exports.IDL = {
1408
1549
  "name": "tokenProgram",
1409
1550
  "isMut": false,
1410
1551
  "isSigner": false
1411
- },
1412
- {
1413
- "name": "rent",
1414
- "isMut": false,
1415
- "isSigner": false
1416
- }
1417
- ],
1418
- "args": []
1419
- },
1420
- {
1421
- "name": "addCollateralType",
1422
- "accounts": [
1423
- {
1424
- "name": "payer",
1425
- "isMut": true,
1426
- "isSigner": true
1427
- },
1428
- {
1429
- "name": "vaultSystemState",
1430
- "isMut": true,
1431
- "isSigner": false
1432
- },
1433
- {
1434
- "name": "oracleInfoAccount",
1435
- "isMut": true,
1436
- "isSigner": false
1437
- },
1438
- {
1439
- "name": "vaultTypeAccount",
1440
- "isMut": true,
1441
- "isSigner": false
1442
- },
1443
- {
1444
- "name": "collateralMint",
1445
- "isMut": false,
1446
- "isSigner": false
1447
- },
1448
- {
1449
- "name": "oracleChainlink",
1450
- "isMut": false,
1451
- "isSigner": false
1452
- },
1453
- {
1454
- "name": "oraclePyth",
1455
- "isMut": false,
1456
- "isSigner": false
1457
- },
1458
- {
1459
- "name": "oracleSwitchboard",
1460
- "isMut": false,
1461
- "isSigner": false
1462
- },
1463
- {
1464
- "name": "systemProgram",
1465
- "isMut": false,
1466
- "isSigner": false
1467
1552
  }
1468
1553
  ],
1469
1554
  "args": [
1470
1555
  {
1471
- "name": "collateralType",
1472
- "type": "string"
1473
- },
1474
- {
1475
- "name": "loanInitFee",
1476
- "type": "u64"
1477
- },
1478
- {
1479
- "name": "minCollateralRatio",
1480
- "type": "u64"
1481
- },
1482
- {
1483
- "name": "interestRatePerSecond",
1484
- "type": "u128"
1485
- },
1486
- {
1487
- "name": "minDebtPerVault",
1556
+ "name": "withdrawAmount",
1488
1557
  "type": "u64"
1489
1558
  },
1490
1559
  {
@@ -1494,526 +1563,547 @@ exports.IDL = {
1494
1563
  ]
1495
1564
  },
1496
1565
  {
1497
- "name": "refreshOraclePrice",
1566
+ "name": "setVaultTypeStatus",
1498
1567
  "accounts": [
1499
1568
  {
1500
- "name": "oracleInfoAccount",
1569
+ "name": "payer",
1501
1570
  "isMut": true,
1502
- "isSigner": false
1571
+ "isSigner": true
1503
1572
  },
1504
1573
  {
1505
- "name": "vaultTypeAccount",
1574
+ "name": "vaultSystemState",
1506
1575
  "isMut": true,
1507
1576
  "isSigner": false
1508
1577
  },
1509
1578
  {
1510
- "name": "oracleChainlink",
1511
- "isMut": false,
1512
- "isSigner": false
1513
- },
1514
- {
1515
- "name": "oraclePyth",
1516
- "isMut": false,
1517
- "isSigner": false
1518
- },
1519
- {
1520
- "name": "oracleSwitchboard",
1521
- "isMut": false,
1522
- "isSigner": false
1523
- },
1524
- {
1525
- "name": "systemProgram",
1526
- "isMut": false,
1579
+ "name": "vaultType",
1580
+ "isMut": true,
1527
1581
  "isSigner": false
1528
1582
  }
1529
1583
  ],
1530
1584
  "args": [
1531
1585
  {
1532
- "name": "overrideResult",
1533
- "type": "u64"
1534
- },
1535
- {
1536
- "name": "overrideCurrentTime",
1537
- "type": "i64"
1586
+ "name": "deprecated",
1587
+ "type": "bool"
1538
1588
  }
1539
1589
  ]
1540
1590
  }
1541
1591
  ],
1542
1592
  "accounts": [
1543
1593
  {
1544
- "name": "stakingPool",
1594
+ "name": "aggregator",
1545
1595
  "type": {
1546
1596
  "kind": "struct",
1547
1597
  "fields": [
1548
1598
  {
1549
- "name": "deposits",
1550
- "type": "u64"
1599
+ "name": "isInitialized",
1600
+ "type": "bool"
1551
1601
  },
1552
1602
  {
1553
- "name": "bump",
1554
- "type": "u8"
1603
+ "name": "version",
1604
+ "type": "u32"
1555
1605
  },
1556
1606
  {
1557
- "name": "seedPhrase",
1558
- "type": "string"
1607
+ "name": "config",
1608
+ "type": {
1609
+ "defined": "Config"
1610
+ }
1559
1611
  },
1560
1612
  {
1561
- "name": "hedgeRewardAccumulator",
1562
- "type": "u128"
1613
+ "name": "updatedAt",
1614
+ "type": "i64"
1563
1615
  },
1564
1616
  {
1565
- "name": "ushFeeAccumulator",
1617
+ "name": "owner",
1618
+ "type": "publicKey"
1619
+ },
1620
+ {
1621
+ "name": "submissions",
1622
+ "type": {
1623
+ "array": [
1624
+ {
1625
+ "defined": "Submission"
1626
+ },
1627
+ 8
1628
+ ]
1629
+ }
1630
+ },
1631
+ {
1632
+ "name": "answer",
1633
+ "type": {
1634
+ "option": "u128"
1635
+ }
1636
+ }
1637
+ ]
1638
+ }
1639
+ },
1640
+ {
1641
+ "name": "liquidationPoolEra",
1642
+ "type": {
1643
+ "kind": "struct",
1644
+ "fields": [
1645
+ {
1646
+ "name": "totalDeposits",
1647
+ "type": "u64"
1648
+ },
1649
+ {
1650
+ "name": "productBytes",
1566
1651
  "type": "u128"
1567
1652
  },
1568
1653
  {
1569
- "name": "solFeeAccumulator",
1654
+ "name": "sumBytes",
1655
+ "type": {
1656
+ "array": [
1657
+ "u128",
1658
+ 32
1659
+ ]
1660
+ }
1661
+ },
1662
+ {
1663
+ "name": "hedgeRewardsAccumulatorBytes",
1570
1664
  "type": "u128"
1571
1665
  },
1572
1666
  {
1573
- "name": "startTime",
1574
- "type": "i64"
1667
+ "name": "hedgeRewardsTimestamp",
1668
+ "type": "u64"
1669
+ }
1670
+ ]
1671
+ }
1672
+ },
1673
+ {
1674
+ "name": "liquidationPoolState",
1675
+ "type": {
1676
+ "kind": "struct",
1677
+ "fields": [
1678
+ {
1679
+ "name": "currentEra",
1680
+ "type": "publicKey"
1575
1681
  },
1576
1682
  {
1577
- "name": "lastTransactionTime",
1578
- "type": "i64"
1683
+ "name": "lifetimeDeposits",
1684
+ "type": "u64"
1579
1685
  },
1580
1686
  {
1581
- "name": "halfLifeInDays",
1687
+ "name": "lifetimeOpenedPositions",
1582
1688
  "type": "u64"
1583
1689
  },
1584
1690
  {
1585
- "name": "totalHedgeReward",
1691
+ "name": "lifetimeClosedPositions",
1586
1692
  "type": "u64"
1587
1693
  },
1588
1694
  {
1589
- "name": "stakedTokenMint",
1590
- "type": "publicKey"
1695
+ "name": "lifetimeVaultsLiquidated",
1696
+ "type": "u64"
1697
+ },
1698
+ {
1699
+ "name": "lifetimeVaultsRedistributed",
1700
+ "type": "u64"
1701
+ },
1702
+ {
1703
+ "name": "lifetimeSolPurchased",
1704
+ "type": "u64"
1705
+ },
1706
+ {
1707
+ "name": "hedgeInitRewardsTimestamp",
1708
+ "type": "u64"
1591
1709
  }
1592
1710
  ]
1593
1711
  }
1594
1712
  },
1595
1713
  {
1596
- "name": "stakingPoolPosition",
1714
+ "name": "liquidationPosition",
1597
1715
  "type": {
1598
1716
  "kind": "struct",
1599
1717
  "fields": [
1600
1718
  {
1601
1719
  "name": "state",
1602
- "type": {
1603
- "defined": "PositionState"
1604
- }
1720
+ "type": "u64"
1605
1721
  },
1606
1722
  {
1607
- "name": "owner",
1723
+ "name": "era",
1608
1724
  "type": "publicKey"
1609
1725
  },
1610
1726
  {
1611
- "name": "pool",
1727
+ "name": "ownerAccount",
1612
1728
  "type": "publicKey"
1613
1729
  },
1614
1730
  {
1615
- "name": "deposited",
1731
+ "name": "deposit",
1732
+ "type": "u64"
1733
+ },
1734
+ {
1735
+ "name": "closedUsh",
1616
1736
  "type": "u64"
1617
1737
  },
1618
1738
  {
1619
- "name": "startHedgeRewardAccumulator",
1739
+ "name": "productSnapshotEntry",
1620
1740
  "type": "u128"
1621
1741
  },
1622
1742
  {
1623
- "name": "startUshFeeAccumulator",
1743
+ "name": "productSnapshotClosed",
1624
1744
  "type": "u128"
1625
1745
  },
1626
1746
  {
1627
- "name": "startSolFeeAccumulator",
1747
+ "name": "sumSnapshotsEntry",
1748
+ "type": {
1749
+ "array": [
1750
+ "u128",
1751
+ 32
1752
+ ]
1753
+ }
1754
+ },
1755
+ {
1756
+ "name": "sumSnapshotsClosed",
1757
+ "type": {
1758
+ "array": [
1759
+ "u128",
1760
+ 32
1761
+ ]
1762
+ }
1763
+ },
1764
+ {
1765
+ "name": "hedgeRewardsSnapshotAccum",
1628
1766
  "type": "u128"
1629
1767
  },
1630
1768
  {
1631
1769
  "name": "timestampOpened",
1632
- "type": "i64"
1770
+ "type": "u64"
1633
1771
  },
1634
1772
  {
1635
1773
  "name": "timestampClosed",
1636
- "type": "i64"
1637
- },
1638
- {
1639
- "name": "closedRewardedTokens",
1640
1774
  "type": "u64"
1641
1775
  }
1642
1776
  ]
1643
1777
  }
1644
1778
  },
1645
1779
  {
1646
- "name": "vaultSystemState",
1780
+ "name": "oracleInfoForCollateralType",
1647
1781
  "type": {
1648
1782
  "kind": "struct",
1649
1783
  "fields": [
1650
1784
  {
1651
- "name": "lastRedeemFeeBytes",
1652
- "type": "u128"
1653
- },
1654
- {
1655
- "name": "lastRedeemTimestamp",
1656
- "type": "i64"
1657
- },
1658
- {
1659
- "name": "totalUshSupply",
1660
- "type": "u64"
1661
- },
1662
- {
1663
- "name": "totalVaults",
1664
- "type": "u64"
1665
- },
1666
- {
1667
- "name": "totalVaultsClosed",
1668
- "type": "u64"
1669
- },
1670
- {
1671
- "name": "debtRedistributionError",
1672
- "type": "u64"
1785
+ "name": "collateralType",
1786
+ "type": "string"
1673
1787
  },
1674
1788
  {
1675
- "name": "authority",
1789
+ "name": "oraclePyth",
1676
1790
  "type": "publicKey"
1677
1791
  },
1678
1792
  {
1679
- "name": "hedgeStakingPool",
1793
+ "name": "oracleChainlink",
1680
1794
  "type": "publicKey"
1681
1795
  },
1682
1796
  {
1683
- "name": "collateralTypeCount",
1684
- "type": "u64"
1797
+ "name": "oracleSwitchboard",
1798
+ "type": "publicKey"
1685
1799
  }
1686
1800
  ]
1687
1801
  }
1688
1802
  },
1689
1803
  {
1690
- "name": "vault",
1804
+ "name": "stakingPool",
1691
1805
  "type": {
1692
1806
  "kind": "struct",
1693
1807
  "fields": [
1694
1808
  {
1695
- "name": "vaultOwner",
1696
- "type": "publicKey"
1697
- },
1698
- {
1699
- "name": "pdaSalt",
1700
- "type": "string"
1701
- },
1702
- {
1703
- "name": "bump",
1704
- "type": "u8"
1809
+ "name": "halfLifeInDays",
1810
+ "type": "u64"
1705
1811
  },
1706
1812
  {
1707
- "name": "deposited",
1813
+ "name": "deposits",
1708
1814
  "type": "u64"
1709
1815
  },
1710
1816
  {
1711
- "name": "denormalizedDebt",
1817
+ "name": "startTime",
1712
1818
  "type": "u64"
1713
1819
  },
1714
1820
  {
1715
- "name": "vaultVersion",
1821
+ "name": "lastTransactionTime",
1716
1822
  "type": "u64"
1717
1823
  },
1718
1824
  {
1719
- "name": "debtProductSnapshotBytes",
1825
+ "name": "hedgeRewardAccumulator",
1720
1826
  "type": "u128"
1721
1827
  },
1722
1828
  {
1723
- "name": "collateralAccumulatorSnapshotBytes",
1829
+ "name": "ushFeeAccumulator",
1724
1830
  "type": "u128"
1725
1831
  },
1726
1832
  {
1727
- "name": "collateralType",
1728
- "type": "string"
1833
+ "name": "totalHedgeReward",
1834
+ "type": "u64"
1729
1835
  },
1730
1836
  {
1731
- "name": "debtType",
1837
+ "name": "stakedTokenMint",
1838
+ "type": "publicKey"
1839
+ },
1840
+ {
1841
+ "name": "seedPhrase",
1732
1842
  "type": {
1733
- "defined": "CurrencyType"
1843
+ "array": [
1844
+ "u8",
1845
+ 12
1846
+ ]
1734
1847
  }
1735
1848
  },
1736
1849
  {
1737
- "name": "vaultStatus",
1850
+ "name": "collateralFeeAccumulator",
1738
1851
  "type": {
1739
- "defined": "VaultStatus"
1852
+ "array": [
1853
+ "u128",
1854
+ 32
1855
+ ]
1740
1856
  }
1857
+ },
1858
+ {
1859
+ "name": "bump",
1860
+ "type": "u8"
1741
1861
  }
1742
1862
  ]
1743
1863
  }
1744
1864
  },
1745
1865
  {
1746
- "name": "vaultHistoryEvent",
1866
+ "name": "stakingPoolPosition",
1747
1867
  "type": {
1748
1868
  "kind": "struct",
1749
1869
  "fields": [
1750
1870
  {
1751
- "name": "vaultAccount",
1871
+ "name": "owner",
1752
1872
  "type": "publicKey"
1753
1873
  },
1754
1874
  {
1755
- "name": "actorAccount",
1875
+ "name": "pool",
1756
1876
  "type": "publicKey"
1757
1877
  },
1758
1878
  {
1759
- "name": "usdSolPrice",
1760
- "type": "u128"
1761
- },
1762
- {
1763
- "name": "ushDebtBefore",
1764
- "type": "u64"
1765
- },
1766
- {
1767
- "name": "ushDebtAfter",
1768
- "type": "u64"
1769
- },
1770
- {
1771
- "name": "solBalanceBefore",
1772
- "type": "u64"
1773
- },
1774
- {
1775
- "name": "solBalanceAfter",
1879
+ "name": "deposited",
1776
1880
  "type": "u64"
1777
1881
  },
1778
1882
  {
1779
- "name": "minCollateralRatioBefore",
1883
+ "name": "startHedgeRewardAccumulator",
1780
1884
  "type": "u128"
1781
1885
  },
1782
1886
  {
1783
- "name": "minCollateralRatioAfter",
1887
+ "name": "startUshFeeAccumulator",
1784
1888
  "type": "u128"
1785
1889
  },
1786
1890
  {
1787
- "name": "vaultStateBefore",
1891
+ "name": "startCollateralFeeAccumulator",
1788
1892
  "type": {
1789
- "defined": "VaultStatus"
1893
+ "array": [
1894
+ "u128",
1895
+ 32
1896
+ ]
1790
1897
  }
1791
1898
  },
1792
1899
  {
1793
- "name": "vaultStateAfter",
1900
+ "name": "closedCollateralFeeAccumulator",
1794
1901
  "type": {
1795
- "defined": "VaultStatus"
1902
+ "array": [
1903
+ "u128",
1904
+ 32
1905
+ ]
1796
1906
  }
1797
1907
  },
1798
1908
  {
1799
- "name": "timestamp",
1800
- "type": "i64"
1909
+ "name": "timestampOpened",
1910
+ "type": "u64"
1801
1911
  },
1802
1912
  {
1803
- "name": "action",
1913
+ "name": "timestampClosed",
1914
+ "type": "u64"
1915
+ },
1916
+ {
1917
+ "name": "closedRewardedTokens",
1918
+ "type": "u64"
1919
+ },
1920
+ {
1921
+ "name": "state",
1804
1922
  "type": {
1805
- "defined": "VaultHistoryAction"
1923
+ "defined": "PositionState"
1806
1924
  }
1807
1925
  }
1808
1926
  ]
1809
1927
  }
1810
1928
  },
1811
1929
  {
1812
- "name": "liquidationPoolState",
1930
+ "name": "vault",
1813
1931
  "type": {
1814
1932
  "kind": "struct",
1815
1933
  "fields": [
1816
1934
  {
1817
- "name": "currentEra",
1935
+ "name": "vaultOwner",
1818
1936
  "type": "publicKey"
1819
1937
  },
1820
1938
  {
1821
- "name": "lifetimeDeposits",
1939
+ "name": "vaultNumber",
1822
1940
  "type": "u64"
1823
1941
  },
1824
1942
  {
1825
- "name": "lifetimeOpenedPositions",
1943
+ "name": "deposited",
1826
1944
  "type": "u64"
1827
1945
  },
1828
1946
  {
1829
- "name": "lifetimeClosedPositions",
1947
+ "name": "denormalizedDebt",
1830
1948
  "type": "u64"
1831
1949
  },
1832
1950
  {
1833
- "name": "lifetimeVaultsLiquidated",
1834
- "type": "u64"
1951
+ "name": "collateralType",
1952
+ "type": "string"
1835
1953
  },
1836
1954
  {
1837
- "name": "lifetimeVaultsRedistributed",
1838
- "type": "u64"
1955
+ "name": "pdaSalt",
1956
+ "type": "string"
1839
1957
  },
1840
1958
  {
1841
- "name": "lifetimeSolPurchased",
1842
- "type": "u64"
1959
+ "name": "bump",
1960
+ "type": "u8"
1843
1961
  },
1844
1962
  {
1845
- "name": "hedgeInitRewardsTimestamp",
1846
- "type": "i64"
1847
- }
1848
- ]
1849
- }
1850
- },
1851
- {
1852
- "name": "liquidationPoolEra",
1853
- "type": {
1854
- "kind": "struct",
1855
- "fields": [
1856
- {
1857
- "name": "totalDeposits",
1963
+ "name": "vaultVersion",
1858
1964
  "type": "u64"
1859
1965
  },
1860
1966
  {
1861
- "name": "productBytes",
1967
+ "name": "debtProductSnapshotBytes",
1862
1968
  "type": "u128"
1863
1969
  },
1864
1970
  {
1865
- "name": "sumBytes",
1971
+ "name": "collateralAccumulatorSnapshotBytes",
1972
+ "type": "u128"
1973
+ },
1974
+ {
1975
+ "name": "debtType",
1866
1976
  "type": {
1867
- "array": [
1868
- "u128",
1869
- 32
1870
- ]
1977
+ "defined": "CurrencyType"
1871
1978
  }
1872
1979
  },
1873
1980
  {
1874
- "name": "hedgeRewardsAccumulatorBytes",
1875
- "type": "u128"
1981
+ "name": "vaultStatus",
1982
+ "type": {
1983
+ "defined": "VaultStatus"
1984
+ }
1876
1985
  },
1877
1986
  {
1878
- "name": "hedgeRewardsTimestamp",
1879
- "type": "i64"
1987
+ "name": "timeCreated",
1988
+ "type": "u64"
1989
+ },
1990
+ {
1991
+ "name": "timeLastInteraction",
1992
+ "type": "u64"
1993
+ },
1994
+ {
1995
+ "name": "nextVaultToRedeem",
1996
+ "type": {
1997
+ "option": "publicKey"
1998
+ }
1880
1999
  }
1881
2000
  ]
1882
2001
  }
1883
2002
  },
1884
2003
  {
1885
- "name": "liquidationPosition",
2004
+ "name": "vaultHistoryEvent",
1886
2005
  "type": {
1887
2006
  "kind": "struct",
1888
2007
  "fields": [
1889
2008
  {
1890
- "name": "state",
1891
- "type": "u64"
1892
- },
1893
- {
1894
- "name": "era",
2009
+ "name": "vaultAccount",
1895
2010
  "type": "publicKey"
1896
2011
  },
1897
2012
  {
1898
- "name": "ownerAccount",
2013
+ "name": "actorAccount",
1899
2014
  "type": "publicKey"
1900
2015
  },
1901
2016
  {
1902
- "name": "deposit",
1903
- "type": "u64"
2017
+ "name": "usdCollateralPrice",
2018
+ "type": "u128"
1904
2019
  },
1905
2020
  {
1906
- "name": "closedUsh",
2021
+ "name": "ushDebtBefore",
1907
2022
  "type": "u64"
1908
2023
  },
1909
2024
  {
1910
- "name": "productSnapshotEntry",
1911
- "type": "u128"
2025
+ "name": "ushDebtAfter",
2026
+ "type": "u64"
1912
2027
  },
1913
2028
  {
1914
- "name": "productSnapshotClosed",
1915
- "type": "u128"
2029
+ "name": "collateralBalanceBefore",
2030
+ "type": "u64"
1916
2031
  },
1917
2032
  {
1918
- "name": "sumSnapshotsEntry",
1919
- "type": {
1920
- "array": [
1921
- "u128",
1922
- 32
1923
- ]
1924
- }
2033
+ "name": "collateralBalanceAfter",
2034
+ "type": "u64"
1925
2035
  },
1926
2036
  {
1927
- "name": "sumSnapshotsClosed",
2037
+ "name": "vaultStateBefore",
1928
2038
  "type": {
1929
- "array": [
1930
- "u128",
1931
- 32
1932
- ]
2039
+ "defined": "VaultStatus"
1933
2040
  }
1934
2041
  },
1935
2042
  {
1936
- "name": "hedgeRewardsSnapshotAccum",
1937
- "type": "u128"
2043
+ "name": "vaultStateAfter",
2044
+ "type": {
2045
+ "defined": "VaultStatus"
2046
+ }
1938
2047
  },
1939
2048
  {
1940
- "name": "timestampOpened",
1941
- "type": "i64"
2049
+ "name": "timestamp",
2050
+ "type": "u64"
1942
2051
  },
1943
2052
  {
1944
- "name": "timestampClosed",
1945
- "type": "i64"
2053
+ "name": "action",
2054
+ "type": {
2055
+ "defined": "VaultHistoryAction"
2056
+ }
1946
2057
  }
1947
2058
  ]
1948
2059
  }
1949
2060
  },
1950
2061
  {
1951
- "name": "aggregator",
2062
+ "name": "vaultSystemState",
1952
2063
  "type": {
1953
2064
  "kind": "struct",
1954
2065
  "fields": [
1955
2066
  {
1956
- "name": "isInitialized",
1957
- "type": "bool"
2067
+ "name": "lastRedeemFeeBytes",
2068
+ "type": "u128"
1958
2069
  },
1959
2070
  {
1960
- "name": "version",
1961
- "type": "u32"
2071
+ "name": "lastRedeemTimestamp",
2072
+ "type": "u64"
1962
2073
  },
1963
2074
  {
1964
- "name": "config",
1965
- "type": {
1966
- "defined": "Config"
1967
- }
2075
+ "name": "totalUshSupply",
2076
+ "type": "u64"
1968
2077
  },
1969
2078
  {
1970
- "name": "updatedAt",
1971
- "type": "i64"
2079
+ "name": "totalVaults",
2080
+ "type": "u64"
1972
2081
  },
1973
2082
  {
1974
- "name": "owner",
1975
- "type": "publicKey"
2083
+ "name": "totalVaultsClosed",
2084
+ "type": "u64"
1976
2085
  },
1977
2086
  {
1978
- "name": "submissions",
1979
- "type": {
1980
- "array": [
1981
- {
1982
- "defined": "Submission"
1983
- },
1984
- 8
1985
- ]
1986
- }
2087
+ "name": "debtRedistributionError",
2088
+ "type": "u64"
1987
2089
  },
1988
2090
  {
1989
- "name": "answer",
1990
- "type": {
1991
- "option": "u128"
1992
- }
1993
- }
1994
- ]
1995
- }
1996
- },
1997
- {
1998
- "name": "oracleInfoForCollateralType",
1999
- "type": {
2000
- "kind": "struct",
2001
- "fields": [
2002
- {
2003
- "name": "collateralType",
2004
- "type": "string"
2091
+ "name": "authority",
2092
+ "type": "publicKey"
2005
2093
  },
2006
2094
  {
2007
- "name": "oraclePyth",
2095
+ "name": "hedgeStakingPool",
2008
2096
  "type": "publicKey"
2009
2097
  },
2010
2098
  {
2011
- "name": "oracleChainlink",
2012
- "type": "publicKey"
2099
+ "name": "collateralTypeCount",
2100
+ "type": "u64"
2013
2101
  },
2014
2102
  {
2015
- "name": "oracleSwitchboard",
2016
- "type": "publicKey"
2103
+ "name": "status",
2104
+ "type": {
2105
+ "defined": "SystemStatus"
2106
+ }
2017
2107
  }
2018
2108
  ]
2019
2109
  }
@@ -2041,7 +2131,7 @@ exports.IDL = {
2041
2131
  },
2042
2132
  {
2043
2133
  "name": "priceLastUpdatedTimestamp",
2044
- "type": "i64"
2134
+ "type": "u64"
2045
2135
  },
2046
2136
  {
2047
2137
  "name": "collateralHeld",
@@ -2051,6 +2141,10 @@ exports.IDL = {
2051
2141
  "name": "denormalizedDebtExtended",
2052
2142
  "type": "u64"
2053
2143
  },
2144
+ {
2145
+ "name": "collateralDecimals",
2146
+ "type": "u8"
2147
+ },
2054
2148
  {
2055
2149
  "name": "debtRedistributionProduct",
2056
2150
  "type": "u128"
@@ -2071,17 +2165,39 @@ exports.IDL = {
2071
2165
  "name": "minDebtPerVault",
2072
2166
  "type": "u64"
2073
2167
  },
2168
+ {
2169
+ "name": "maxDebtExtended",
2170
+ "type": "u64"
2171
+ },
2172
+ {
2173
+ "name": "canBeRedeemed",
2174
+ "type": "bool"
2175
+ },
2176
+ {
2177
+ "name": "emergencyModeThreshold",
2178
+ "type": "u64"
2179
+ },
2074
2180
  {
2075
2181
  "name": "cumulativeRate",
2076
2182
  "type": "u128"
2077
2183
  },
2078
2184
  {
2079
2185
  "name": "cumulativeRateLastUpdated",
2080
- "type": "i64"
2186
+ "type": "u64"
2081
2187
  },
2082
2188
  {
2083
2189
  "name": "interestRatePerSecond",
2084
2190
  "type": "u128"
2191
+ },
2192
+ {
2193
+ "name": "firstVaultToRedeem",
2194
+ "type": {
2195
+ "option": "publicKey"
2196
+ }
2197
+ },
2198
+ {
2199
+ "name": "deprecated",
2200
+ "type": "bool"
2085
2201
  }
2086
2202
  ]
2087
2203
  }
@@ -2184,6 +2300,20 @@ exports.IDL = {
2184
2300
  ]
2185
2301
  }
2186
2302
  },
2303
+ {
2304
+ "name": "SystemStatus",
2305
+ "type": {
2306
+ "kind": "enum",
2307
+ "variants": [
2308
+ {
2309
+ "name": "Halted"
2310
+ },
2311
+ {
2312
+ "name": "Running"
2313
+ }
2314
+ ]
2315
+ }
2316
+ },
2187
2317
  {
2188
2318
  "name": "VaultHistoryAction",
2189
2319
  "type": {
@@ -2224,62 +2354,220 @@ exports.IDL = {
2224
2354
  }
2225
2355
  ]
2226
2356
  }
2357
+ }
2358
+ ],
2359
+ "events": [
2360
+ {
2361
+ "name": "NewVaultEvent",
2362
+ "fields": [
2363
+ {
2364
+ "name": "vault",
2365
+ "type": "publicKey",
2366
+ "index": false
2367
+ },
2368
+ {
2369
+ "name": "deposited",
2370
+ "type": "u64",
2371
+ "index": false
2372
+ }
2373
+ ]
2227
2374
  },
2228
2375
  {
2229
- "name": "HedgeErrors",
2230
- "type": {
2231
- "kind": "enum",
2232
- "variants": [
2233
- {
2234
- "name": "AlreadyInitialized"
2235
- },
2236
- {
2237
- "name": "CollateralRatioTooLow"
2238
- },
2239
- {
2240
- "name": "NotInitialized"
2241
- },
2242
- {
2243
- "name": "Overdraw"
2244
- },
2245
- {
2246
- "name": "Overpaid"
2247
- },
2248
- {
2249
- "name": "VaultClosed"
2250
- },
2251
- {
2252
- "name": "VaultNotSubjectToLiquidation"
2253
- },
2254
- {
2255
- "name": "VaultHasNoDebt"
2256
- },
2257
- {
2258
- "name": "NotAuthorizedToCreateStakingPools"
2259
- },
2260
- {
2261
- "name": "NotAuthorized"
2262
- },
2263
- {
2264
- "name": "BadSeed"
2265
- },
2266
- {
2267
- "name": "CollateralPriceOutOfDate"
2268
- },
2269
- {
2270
- "name": "EmergencyMode"
2271
- },
2272
- {
2273
- "name": "MinDebtRequired"
2274
- },
2275
- {
2276
- "name": "PoolPositionAlreadyClosed"
2277
- },
2278
- {
2279
- "name": "PoolPositionNoYetClosed"
2280
- }
2281
- ]
2282
- }
2376
+ "name": "DepositVaultEvent",
2377
+ "fields": [
2378
+ {
2379
+ "name": "vault",
2380
+ "type": "publicKey",
2381
+ "index": false
2382
+ },
2383
+ {
2384
+ "name": "amount",
2385
+ "type": "u64",
2386
+ "index": false
2387
+ }
2388
+ ]
2389
+ },
2390
+ {
2391
+ "name": "WithdrawVaultEvent",
2392
+ "fields": [
2393
+ {
2394
+ "name": "vault",
2395
+ "type": "publicKey",
2396
+ "index": false
2397
+ },
2398
+ {
2399
+ "name": "amount",
2400
+ "type": "u64",
2401
+ "index": false
2402
+ }
2403
+ ]
2404
+ },
2405
+ {
2406
+ "name": "LoanVaultEvent",
2407
+ "fields": [
2408
+ {
2409
+ "name": "vault",
2410
+ "type": "publicKey",
2411
+ "index": false
2412
+ },
2413
+ {
2414
+ "name": "amount",
2415
+ "type": "u64",
2416
+ "index": false
2417
+ }
2418
+ ]
2419
+ },
2420
+ {
2421
+ "name": "RepayVaultEvent",
2422
+ "fields": [
2423
+ {
2424
+ "name": "vault",
2425
+ "type": "publicKey",
2426
+ "index": false
2427
+ },
2428
+ {
2429
+ "name": "amount",
2430
+ "type": "u64",
2431
+ "index": false
2432
+ }
2433
+ ]
2434
+ },
2435
+ {
2436
+ "name": "RedeemVaultEvent",
2437
+ "fields": [
2438
+ {
2439
+ "name": "vault",
2440
+ "type": "publicKey",
2441
+ "index": false
2442
+ },
2443
+ {
2444
+ "name": "amount",
2445
+ "type": "u64",
2446
+ "index": false
2447
+ }
2448
+ ]
2449
+ },
2450
+ {
2451
+ "name": "LiquidateVaultEvent",
2452
+ "fields": [
2453
+ {
2454
+ "name": "vault",
2455
+ "type": "publicKey",
2456
+ "index": false
2457
+ }
2458
+ ]
2459
+ }
2460
+ ],
2461
+ "errors": [
2462
+ {
2463
+ "code": 6000,
2464
+ "name": "AlreadyInitialized",
2465
+ "msg": "This vault was already initialized"
2466
+ },
2467
+ {
2468
+ "code": 6001,
2469
+ "name": "CollateralRatioTooLow",
2470
+ "msg": "Collateral ratio too low"
2471
+ },
2472
+ {
2473
+ "code": 6002,
2474
+ "name": "NotInitialized",
2475
+ "msg": "This vault was not initialized"
2476
+ },
2477
+ {
2478
+ "code": 6003,
2479
+ "name": "Overdraw",
2480
+ "msg": "Cannot withdraw more than deposited"
2481
+ },
2482
+ {
2483
+ "code": 6004,
2484
+ "name": "Overpaid",
2485
+ "msg": "Cannot repay more than loaned"
2486
+ },
2487
+ {
2488
+ "code": 6005,
2489
+ "name": "VaultClosed",
2490
+ "msg": "Vault closed"
2491
+ },
2492
+ {
2493
+ "code": 6006,
2494
+ "name": "VaultNotSubjectToLiquidation",
2495
+ "msg": "Vault cannot be liquidated. It is collateralized."
2496
+ },
2497
+ {
2498
+ "code": 6007,
2499
+ "name": "VaultHasNoDebt",
2500
+ "msg": "Vault does not have any debt"
2501
+ },
2502
+ {
2503
+ "code": 6008,
2504
+ "name": "NotAuthorizedToCreateStakingPools",
2505
+ "msg": "Signer not authorized to create new staking pools"
2506
+ },
2507
+ {
2508
+ "code": 6009,
2509
+ "name": "NotAuthorized",
2510
+ "msg": "Signer not authorized to call this function"
2511
+ },
2512
+ {
2513
+ "code": 6010,
2514
+ "name": "BadSeed",
2515
+ "msg": "Bad Seed"
2516
+ },
2517
+ {
2518
+ "code": 6011,
2519
+ "name": "CollateralPriceOutOfDate",
2520
+ "msg": "Collateral price needs to be refreshed. It is only valid for 60 seconds."
2521
+ },
2522
+ {
2523
+ "code": 6012,
2524
+ "name": "EmergencyMode",
2525
+ "msg": "System is not accepting any tx that would worsen collateral ratio at this time"
2526
+ },
2527
+ {
2528
+ "code": 6013,
2529
+ "name": "MinDebtRequired",
2530
+ "msg": "Vault under the minimum debt limit. Vault must have zero debt or be over the minimum."
2531
+ },
2532
+ {
2533
+ "code": 6014,
2534
+ "name": "PoolPositionAlreadyClosed",
2535
+ "msg": "Pool position already closed"
2536
+ },
2537
+ {
2538
+ "code": 6015,
2539
+ "name": "PoolPositionNoYetClosed",
2540
+ "msg": "Pool position must be closed to claim reward"
2541
+ },
2542
+ {
2543
+ "code": 6016,
2544
+ "name": "MaxDebtAgainstVaultType",
2545
+ "msg": "Max debt extended against vault type reached."
2546
+ },
2547
+ {
2548
+ "code": 6017,
2549
+ "name": "VaultTypeNotRedeemable",
2550
+ "msg": "Vault type cannot be redeemed against."
2551
+ },
2552
+ {
2553
+ "code": 6018,
2554
+ "name": "SystemHalted",
2555
+ "msg": "System is currently halted. No actions may be taken at this time."
2556
+ },
2557
+ {
2558
+ "code": 6019,
2559
+ "name": "EntireVaultRedeem",
2560
+ "msg": "Entire vault must be redeemed at this time."
2561
+ },
2562
+ {
2563
+ "code": 6020,
2564
+ "name": "RedeemingNonHighestCollateralRatioVault",
2565
+ "msg": "Can only redeem highest collateral ratio vault in system."
2566
+ },
2567
+ {
2568
+ "code": 6021,
2569
+ "name": "VaultTypeDeprecated",
2570
+ "msg": "Vaults of this collateral type are deprecated. No new vaults can be created and no new debt will be issued for this collateral type."
2283
2571
  }
2284
2572
  ]
2285
2573
  };