hedge-web3 0.1.26 → 0.1.29

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.
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
  };