hedge-web3 0.1.25 → 0.1.28

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. package/declarations/Constants.d.ts +3 -3
  2. package/declarations/idl/vault.d.ts +889 -752
  3. package/declarations/index.d.ts +2 -0
  4. package/declarations/instructions/closeLiquidationPoolPosition.d.ts +1 -1
  5. package/declarations/instructions/createVault.d.ts +1 -1
  6. package/declarations/instructions/depositLiquidationPool.d.ts +1 -1
  7. package/declarations/instructions/depositVault.d.ts +1 -1
  8. package/declarations/instructions/liquidateVault.d.ts +1 -1
  9. package/declarations/instructions/loanVault.d.ts +1 -1
  10. package/declarations/instructions/redeemVault.d.ts +1 -1
  11. package/declarations/instructions/repayVault.d.ts +1 -1
  12. package/declarations/instructions/setVaultTypeStatus.d.ts +4 -0
  13. package/declarations/instructions/withdrawVault.d.ts +1 -1
  14. package/declarations/state/LiquidationPosition.d.ts +2 -2
  15. package/declarations/state/StakingPool.d.ts +1 -1
  16. package/declarations/state/StakingPoolPosition.d.ts +2 -2
  17. package/declarations/state/VaultAccount.d.ts +11 -3
  18. package/declarations/state/VaultHistoryEvent.d.ts +2 -2
  19. package/declarations/utils/getLinkedListAccounts.d.ts +3 -0
  20. package/lib/Constants.js +10 -10
  21. package/lib/idl/vault.js +922 -785
  22. package/lib/index.js +2 -0
  23. package/lib/instructions/closeLiquidationPoolPosition.js +9 -9
  24. package/lib/instructions/createStakingPool.js +6 -6
  25. package/lib/instructions/createVault.js +11 -11
  26. package/lib/instructions/depositLiquidationPool.js +9 -9
  27. package/lib/instructions/depositVault.js +20 -13
  28. package/lib/instructions/initHedgeFoundation.js +4 -4
  29. package/lib/instructions/liquidateVault.js +16 -11
  30. package/lib/instructions/loanVault.js +16 -11
  31. package/lib/instructions/redeemVault.js +15 -10
  32. package/lib/instructions/repayVault.js +17 -12
  33. package/lib/instructions/setVaultTypeStatus.js +38 -0
  34. package/lib/instructions/withdrawStakingPool.js +6 -6
  35. package/lib/instructions/withdrawVault.js +18 -13
  36. package/lib/state/LiquidationPosition.js +2 -2
  37. package/lib/state/StakingPool.js +1 -1
  38. package/lib/state/StakingPoolPosition.js +3 -3
  39. package/lib/state/VaultAccount.js +56 -3
  40. package/lib/state/VaultHistoryEvent.js +2 -2
  41. package/lib/utils/Errors.js +2 -2
  42. package/lib/utils/getLinkedListAccounts.js +131 -0
  43. package/package.json +3 -1
  44. package/src/Constants.ts +73 -31
  45. package/src/idl/vault.ts +1848 -1574
  46. package/src/index.ts +3 -0
  47. package/src/instructions/closeLiquidationPoolPosition.ts +10 -10
  48. package/src/instructions/createStakingPool.ts +6 -7
  49. package/src/instructions/createVault.ts +17 -17
  50. package/src/instructions/depositLiquidationPool.ts +10 -10
  51. package/src/instructions/depositVault.ts +104 -29
  52. package/src/instructions/initHedgeFoundation.ts +5 -5
  53. package/src/instructions/initHedgeFoundationTokens.ts +1 -1
  54. package/src/instructions/liquidateVault.ts +124 -27
  55. package/src/instructions/loanVault.ts +97 -25
  56. package/src/instructions/redeemVault.ts +35 -12
  57. package/src/instructions/repayVault.ts +91 -26
  58. package/src/instructions/setHalted.ts +1 -1
  59. package/src/instructions/setVaultTypeStatus.ts +50 -0
  60. package/src/instructions/withdrawStakingPool.ts +7 -7
  61. package/src/instructions/withdrawVault.ts +106 -28
  62. package/src/state/LiquidationPosition.ts +3 -3
  63. package/src/state/StakingPool.ts +2 -6
  64. package/src/state/StakingPoolPosition.ts +4 -4
  65. package/src/state/VaultAccount.ts +89 -13
  66. package/src/state/VaultHistoryEvent.ts +4 -4
  67. package/src/utils/Errors.ts +2 -2
  68. package/src/utils/getLinkedListAccounts.ts +156 -0
  69. package/declarations/idl/idl.d.ts +0 -2
  70. package/lib/idl/idl.js +0 -1475
  71. package/src/idl/idl.ts +0 -1474
package/src/idl/idl.ts DELETED
@@ -1,1474 +0,0 @@
1
- import { Idl } from '@project-serum/anchor'
2
-
3
- export const vaultIdl: Idl = {
4
- version: '0.1.0',
5
- name: 'vault',
6
- instructions: [
7
- {
8
- name: 'initHedgeFoundation',
9
- accounts: [
10
- {
11
- name: 'vaultSystemState',
12
- isMut: true,
13
- isSigner: false
14
- },
15
- {
16
- name: 'poolState',
17
- isMut: true,
18
- isSigner: false
19
- },
20
- {
21
- name: 'poolEra',
22
- isMut: true,
23
- isSigner: true
24
- },
25
- {
26
- name: 'poolUsdhAccount',
27
- isMut: true,
28
- isSigner: false
29
- },
30
- {
31
- name: 'founder',
32
- isMut: true,
33
- isSigner: true
34
- },
35
- {
36
- name: 'usdhMint',
37
- isMut: true,
38
- isSigner: false
39
- },
40
- {
41
- name: 'hedgeMint',
42
- isMut: true,
43
- isSigner: false
44
- },
45
- {
46
- name: 'founderAssociatedHedgeTokenAccount',
47
- isMut: true,
48
- isSigner: false
49
- },
50
- {
51
- name: 'oracleChainlink',
52
- isMut: false,
53
- isSigner: false
54
- },
55
- {
56
- name: 'oraclePyth',
57
- isMut: false,
58
- isSigner: false
59
- },
60
- {
61
- name: 'oracleSwitchboard',
62
- isMut: false,
63
- isSigner: false
64
- },
65
- {
66
- name: 'rent',
67
- isMut: false,
68
- isSigner: false
69
- },
70
- {
71
- name: 'tokenProgram',
72
- isMut: false,
73
- isSigner: false
74
- },
75
- {
76
- name: 'associatedTokenProgram',
77
- isMut: false,
78
- isSigner: false
79
- },
80
- {
81
- name: 'systemProgram',
82
- isMut: false,
83
- isSigner: false
84
- }
85
- ],
86
- args: [
87
- {
88
- name: 'bump1',
89
- type: 'u8'
90
- },
91
- {
92
- name: 'bump2',
93
- type: 'u8'
94
- }
95
- ]
96
- },
97
- {
98
- name: 'createStakingPool',
99
- accounts: [
100
- {
101
- name: 'signer',
102
- isMut: true,
103
- isSigner: true
104
- },
105
- {
106
- name: 'vaultSystemState',
107
- isMut: true,
108
- isSigner: false
109
- },
110
- {
111
- name: 'pool',
112
- isMut: true,
113
- isSigner: false
114
- },
115
- {
116
- name: 'stakedTokenMintInfo',
117
- isMut: false,
118
- isSigner: false
119
- },
120
- {
121
- name: 'usdhMint',
122
- isMut: false,
123
- isSigner: false
124
- },
125
- {
126
- name: 'poolAssociatedStakedTokenAccount',
127
- isMut: true,
128
- isSigner: false
129
- },
130
- {
131
- name: 'poolAssociatedUsdhTokenAccount',
132
- isMut: true,
133
- isSigner: false
134
- },
135
- {
136
- name: 'rent',
137
- isMut: false,
138
- isSigner: false
139
- },
140
- {
141
- name: 'tokenProgram',
142
- isMut: false,
143
- isSigner: false
144
- },
145
- {
146
- name: 'associatedTokenProgram',
147
- isMut: false,
148
- isSigner: false
149
- },
150
- {
151
- name: 'systemProgram',
152
- isMut: false,
153
- isSigner: false
154
- }
155
- ],
156
- args: [
157
- {
158
- name: 'bump1',
159
- type: 'u8'
160
- },
161
- {
162
- name: 'poolSeedPhraseInput',
163
- type: 'string'
164
- },
165
- {
166
- name: 'totalRewards',
167
- type: 'u64'
168
- },
169
- {
170
- name: 'overrideCurrentTime',
171
- type: 'i64'
172
- }
173
- ]
174
- },
175
- {
176
- name: 'depositStakingPool',
177
- accounts: [
178
- {
179
- name: 'payer',
180
- isMut: true,
181
- isSigner: true
182
- },
183
- {
184
- name: 'pool',
185
- isMut: true,
186
- isSigner: false
187
- },
188
- {
189
- name: 'poolPosition',
190
- isMut: true,
191
- isSigner: true
192
- },
193
- {
194
- name: 'payerAssociatedStakedTokenAccount',
195
- isMut: true,
196
- isSigner: false
197
- },
198
- {
199
- name: 'poolAssociatedStakedTokenAccount',
200
- isMut: true,
201
- isSigner: false
202
- },
203
- {
204
- name: 'tokenProgram',
205
- isMut: false,
206
- isSigner: false
207
- },
208
- {
209
- name: 'systemProgram',
210
- isMut: false,
211
- isSigner: false
212
- }
213
- ],
214
- args: [
215
- {
216
- name: 'stakeAmount',
217
- type: 'u64'
218
- },
219
- {
220
- name: 'overrideCurrentTime',
221
- type: 'i64'
222
- }
223
- ]
224
- },
225
- {
226
- name: 'withdrawStakingPool',
227
- accounts: [
228
- {
229
- name: 'payer',
230
- isMut: true,
231
- isSigner: true
232
- },
233
- {
234
- name: 'vaultSystemState',
235
- isMut: true,
236
- isSigner: false
237
- },
238
- {
239
- name: 'pool',
240
- isMut: true,
241
- isSigner: false
242
- },
243
- {
244
- name: 'poolPosition',
245
- isMut: true,
246
- isSigner: false
247
- },
248
- {
249
- name: 'hedgeMint',
250
- isMut: true,
251
- isSigner: false
252
- },
253
- {
254
- name: 'stakedTokenMint',
255
- isMut: true,
256
- isSigner: false
257
- },
258
- {
259
- name: 'usdhMint',
260
- isMut: false,
261
- isSigner: false
262
- },
263
- {
264
- name: 'payerAssociatedStakedTokenAccount',
265
- isMut: true,
266
- isSigner: false
267
- },
268
- {
269
- name: 'payerAssociatedHedgeAccount',
270
- isMut: true,
271
- isSigner: false
272
- },
273
- {
274
- name: 'payerAssociatedUsdhAccount',
275
- isMut: true,
276
- isSigner: false
277
- },
278
- {
279
- name: 'poolAssociatedStakedTokenAccount',
280
- isMut: true,
281
- isSigner: false
282
- },
283
- {
284
- name: 'poolAssociatedUsdhTokenAccount',
285
- isMut: true,
286
- isSigner: false
287
- },
288
- {
289
- name: 'tokenProgram',
290
- isMut: false,
291
- isSigner: false
292
- },
293
- {
294
- name: 'systemProgram',
295
- isMut: false,
296
- isSigner: false
297
- }
298
- ],
299
- args: [
300
- {
301
- name: 'overrideCurrentTime',
302
- type: 'i64'
303
- }
304
- ]
305
- },
306
- {
307
- name: 'createVault',
308
- accounts: [
309
- {
310
- name: 'vaultSystemState',
311
- isMut: true,
312
- isSigner: false
313
- },
314
- {
315
- name: 'vault',
316
- isMut: true,
317
- isSigner: true
318
- },
319
- {
320
- name: 'history',
321
- isMut: true,
322
- isSigner: true
323
- },
324
- {
325
- name: 'payer',
326
- isMut: true,
327
- isSigner: true
328
- },
329
- {
330
- name: 'systemProgram',
331
- isMut: false,
332
- isSigner: false
333
- }
334
- ],
335
- args: [
336
- {
337
- name: 'depositAmount',
338
- type: 'u64'
339
- },
340
- {
341
- name: 'minCollateralRatio',
342
- type: 'u64'
343
- }
344
- ]
345
- },
346
- {
347
- name: 'depositVault',
348
- accounts: [
349
- {
350
- name: 'vaultSystemState',
351
- isMut: true,
352
- isSigner: false
353
- },
354
- {
355
- name: 'vaultAccount',
356
- isMut: true,
357
- isSigner: false
358
- },
359
- {
360
- name: 'history',
361
- isMut: true,
362
- isSigner: true
363
- },
364
- {
365
- name: 'vaultOwner',
366
- isMut: true,
367
- isSigner: true
368
- },
369
- {
370
- name: 'systemProgram',
371
- isMut: false,
372
- isSigner: false
373
- }
374
- ],
375
- args: [
376
- {
377
- name: 'depositAmount',
378
- type: 'u64'
379
- }
380
- ]
381
- },
382
- {
383
- name: 'withdrawVault',
384
- accounts: [
385
- {
386
- name: 'vaultSystemState',
387
- isMut: true,
388
- isSigner: false
389
- },
390
- {
391
- name: 'vaultAccount',
392
- isMut: true,
393
- isSigner: false
394
- },
395
- {
396
- name: 'history',
397
- isMut: true,
398
- isSigner: true
399
- },
400
- {
401
- name: 'chainlinkFeedAccount',
402
- isMut: false,
403
- isSigner: false
404
- },
405
- {
406
- name: 'vaultOwner',
407
- isMut: true,
408
- isSigner: true
409
- },
410
- {
411
- name: 'systemProgram',
412
- isMut: false,
413
- isSigner: false
414
- }
415
- ],
416
- args: [
417
- {
418
- name: 'withdrawAmount',
419
- type: 'u64'
420
- },
421
- {
422
- name: 'overrideSolPrice',
423
- type: 'u64'
424
- }
425
- ]
426
- },
427
- {
428
- name: 'loanVault',
429
- accounts: [
430
- {
431
- name: 'vaultSystemState',
432
- isMut: true,
433
- isSigner: false
434
- },
435
- {
436
- name: 'vaultAccount',
437
- isMut: true,
438
- isSigner: false
439
- },
440
- {
441
- name: 'history',
442
- isMut: true,
443
- isSigner: true
444
- },
445
- {
446
- name: 'feePool',
447
- isMut: true,
448
- isSigner: false
449
- },
450
- {
451
- name: 'feePoolAssociatedUsdhTokenAccount',
452
- isMut: true,
453
- isSigner: false
454
- },
455
- {
456
- name: 'usdhMint',
457
- isMut: true,
458
- isSigner: false
459
- },
460
- {
461
- name: 'vaultOwner',
462
- isMut: true,
463
- isSigner: true
464
- },
465
- {
466
- name: 'ownerUsdhAccount',
467
- isMut: true,
468
- isSigner: false
469
- },
470
- {
471
- name: 'chainlinkFeedAccount',
472
- isMut: false,
473
- isSigner: false
474
- },
475
- {
476
- name: 'tokenProgram',
477
- isMut: false,
478
- isSigner: false
479
- },
480
- {
481
- name: 'systemProgram',
482
- isMut: false,
483
- isSigner: false
484
- }
485
- ],
486
- args: [
487
- {
488
- name: 'loanAmount',
489
- type: 'u64'
490
- },
491
- {
492
- name: 'overrideSolPrice',
493
- type: 'u64'
494
- }
495
- ]
496
- },
497
- {
498
- name: 'repayVault',
499
- accounts: [
500
- {
501
- name: 'vaultSystemState',
502
- isMut: true,
503
- isSigner: false
504
- },
505
- {
506
- name: 'vaultAccount',
507
- isMut: true,
508
- isSigner: false
509
- },
510
- {
511
- name: 'history',
512
- isMut: true,
513
- isSigner: true
514
- },
515
- {
516
- name: 'usdhMint',
517
- isMut: true,
518
- isSigner: false
519
- },
520
- {
521
- name: 'vaultOwner',
522
- isMut: true,
523
- isSigner: true
524
- },
525
- {
526
- name: 'ownerUsdhAccount',
527
- isMut: true,
528
- isSigner: false
529
- },
530
- {
531
- name: 'tokenProgram',
532
- isMut: false,
533
- isSigner: false
534
- },
535
- {
536
- name: 'systemProgram',
537
- isMut: false,
538
- isSigner: false
539
- }
540
- ],
541
- args: [
542
- {
543
- name: 'repayAmount',
544
- type: 'u64'
545
- }
546
- ]
547
- },
548
- {
549
- name: 'redeemVault',
550
- accounts: [
551
- {
552
- name: 'vaultSystemState',
553
- isMut: true,
554
- isSigner: false
555
- },
556
- {
557
- name: 'vaultAccount',
558
- isMut: true,
559
- isSigner: false
560
- },
561
- {
562
- name: 'history',
563
- isMut: true,
564
- isSigner: true
565
- },
566
- {
567
- name: 'usdhMint',
568
- isMut: true,
569
- isSigner: false
570
- },
571
- {
572
- name: 'feePool',
573
- isMut: true,
574
- isSigner: false
575
- },
576
- {
577
- name: 'feePoolAssociatedUsdhTokenAccount',
578
- isMut: true,
579
- isSigner: false
580
- },
581
- {
582
- name: 'payer',
583
- isMut: true,
584
- isSigner: true
585
- },
586
- {
587
- name: 'payerUsdhAccount',
588
- isMut: true,
589
- isSigner: false
590
- },
591
- {
592
- name: 'chainlinkFeedAccount',
593
- isMut: false,
594
- isSigner: false
595
- },
596
- {
597
- name: 'tokenProgram',
598
- isMut: false,
599
- isSigner: false
600
- },
601
- {
602
- name: 'systemProgram',
603
- isMut: false,
604
- isSigner: false
605
- }
606
- ],
607
- args: [
608
- {
609
- name: 'redeemPayUsdh',
610
- type: 'u64'
611
- },
612
- {
613
- name: 'overrideSolPrice',
614
- type: 'u64'
615
- },
616
- {
617
- name: 'overrideCurrentTime',
618
- type: 'i64'
619
- }
620
- ]
621
- },
622
- {
623
- name: 'depositLiquidityPool',
624
- accounts: [
625
- {
626
- name: 'poolState',
627
- isMut: true,
628
- isSigner: false
629
- },
630
- {
631
- name: 'poolUsdhAccount',
632
- isMut: true,
633
- isSigner: false
634
- },
635
- {
636
- name: 'poolEra',
637
- isMut: true,
638
- isSigner: false
639
- },
640
- {
641
- name: 'poolPosition',
642
- isMut: true,
643
- isSigner: true
644
- },
645
- {
646
- name: 'payer',
647
- isMut: true,
648
- isSigner: true
649
- },
650
- {
651
- name: 'ownerUsdhAccount',
652
- isMut: true,
653
- isSigner: false
654
- },
655
- {
656
- name: 'tokenProgram',
657
- isMut: false,
658
- isSigner: false
659
- },
660
- {
661
- name: 'systemProgram',
662
- isMut: false,
663
- isSigner: false
664
- }
665
- ],
666
- args: [
667
- {
668
- name: 'depositAmount',
669
- type: 'u64'
670
- },
671
- {
672
- name: 'overrideCurrentTime',
673
- type: 'i64'
674
- }
675
- ]
676
- },
677
- {
678
- name: 'liquidateVault',
679
- accounts: [
680
- {
681
- name: 'vaultSystemState',
682
- isMut: true,
683
- isSigner: false
684
- },
685
- {
686
- name: 'vaultAccount',
687
- isMut: true,
688
- isSigner: false
689
- },
690
- {
691
- name: 'poolState',
692
- isMut: true,
693
- isSigner: false
694
- },
695
- {
696
- name: 'feePool',
697
- isMut: true,
698
- isSigner: false
699
- },
700
- {
701
- name: 'poolUsdhAccount',
702
- isMut: true,
703
- isSigner: false
704
- },
705
- {
706
- name: 'usdhMint',
707
- isMut: true,
708
- isSigner: false
709
- },
710
- {
711
- name: 'poolEra',
712
- isMut: true,
713
- isSigner: false
714
- },
715
- {
716
- name: 'newEra',
717
- isMut: true,
718
- isSigner: true
719
- },
720
- {
721
- name: 'chainlinkFeedAccount',
722
- isMut: false,
723
- isSigner: false
724
- },
725
- {
726
- name: 'history',
727
- isMut: true,
728
- isSigner: true
729
- },
730
- {
731
- name: 'payer',
732
- isMut: true,
733
- isSigner: true
734
- },
735
- {
736
- name: 'tokenProgram',
737
- isMut: false,
738
- isSigner: false
739
- },
740
- {
741
- name: 'systemProgram',
742
- isMut: false,
743
- isSigner: false
744
- }
745
- ],
746
- args: [
747
- {
748
- name: 'overrideSolPrice',
749
- type: 'u64'
750
- }
751
- ]
752
- },
753
- {
754
- name: 'withdrawLiquidity',
755
- accounts: [
756
- {
757
- name: 'poolState',
758
- isMut: true,
759
- isSigner: false
760
- },
761
- {
762
- name: 'poolEra',
763
- isMut: true,
764
- isSigner: false
765
- },
766
- {
767
- name: 'poolPosition',
768
- isMut: true,
769
- isSigner: false
770
- },
771
- {
772
- name: 'poolUsdhAccount',
773
- isMut: true,
774
- isSigner: false
775
- },
776
- {
777
- name: 'payer',
778
- isMut: true,
779
- isSigner: true
780
- },
781
- {
782
- name: 'ownerUsdhAccount',
783
- isMut: true,
784
- isSigner: false
785
- },
786
- {
787
- name: 'hedgeMint',
788
- isMut: true,
789
- isSigner: false
790
- },
791
- {
792
- name: 'payerAssociatedHedgeAccount',
793
- isMut: true,
794
- isSigner: false
795
- },
796
- {
797
- name: 'rent',
798
- isMut: false,
799
- isSigner: false
800
- },
801
- {
802
- name: 'tokenProgram',
803
- isMut: false,
804
- isSigner: false
805
- },
806
- {
807
- name: 'associatedTokenProgram',
808
- isMut: false,
809
- isSigner: false
810
- },
811
- {
812
- name: 'systemProgram',
813
- isMut: false,
814
- isSigner: false
815
- }
816
- ],
817
- args: [
818
- {
819
- name: 'overrideCurrentTime',
820
- type: 'i64'
821
- }
822
- ]
823
- }
824
- ],
825
- accounts: [
826
- {
827
- name: 'StakingPool',
828
- type: {
829
- kind: 'struct',
830
- fields: [
831
- {
832
- name: 'deposits',
833
- type: 'u64'
834
- },
835
- {
836
- name: 'bump',
837
- type: 'u8'
838
- },
839
- {
840
- name: 'seedPhrase',
841
- type: 'string'
842
- },
843
- {
844
- name: 'hedgeRewardAccumulator',
845
- type: 'u128'
846
- },
847
- {
848
- name: 'usdhFeeAccumulator',
849
- type: 'u128'
850
- },
851
- {
852
- name: 'solFeeAccumulator',
853
- type: 'u128'
854
- },
855
- {
856
- name: 'startTime',
857
- type: 'i64'
858
- },
859
- {
860
- name: 'lastTransactionTime',
861
- type: 'i64'
862
- },
863
- {
864
- name: 'halfLifeInDays',
865
- type: 'u64'
866
- },
867
- {
868
- name: 'totalHedgeReward',
869
- type: 'u64'
870
- },
871
- {
872
- name: 'stakedTokenMint',
873
- type: 'publicKey'
874
- }
875
- ]
876
- }
877
- },
878
- {
879
- name: 'StakingPoolPosition',
880
- type: {
881
- kind: 'struct',
882
- fields: [
883
- {
884
- name: 'state',
885
- type: {
886
- defined: 'PositionState'
887
- }
888
- },
889
- {
890
- name: 'owner',
891
- type: 'publicKey'
892
- },
893
- {
894
- name: 'pool',
895
- type: 'publicKey'
896
- },
897
- {
898
- name: 'deposited',
899
- type: 'u64'
900
- },
901
- {
902
- name: 'startHedgeRewardAccumulator',
903
- type: 'u128'
904
- },
905
- {
906
- name: 'startUsdhFeeAccumulator',
907
- type: 'u128'
908
- },
909
- {
910
- name: 'startSolFeeAccumulator',
911
- type: 'u128'
912
- },
913
- {
914
- name: 'timestampOpened',
915
- type: 'i64'
916
- },
917
- {
918
- name: 'timestampClosed',
919
- type: 'i64'
920
- },
921
- {
922
- name: 'closedRewardedTokens',
923
- type: 'u64'
924
- }
925
- ]
926
- }
927
- },
928
- {
929
- name: 'VaultSystemState',
930
- type: {
931
- kind: 'struct',
932
- fields: [
933
- {
934
- name: 'lastRedeemFeeBytes',
935
- type: 'u128'
936
- },
937
- {
938
- name: 'lastRedeemTimestamp',
939
- type: 'i64'
940
- },
941
- {
942
- name: 'totalCollateral',
943
- type: 'u64'
944
- },
945
- {
946
- name: 'totalUsdhSupply',
947
- type: 'u64'
948
- },
949
- {
950
- name: 'totalVaults',
951
- type: 'u64'
952
- },
953
- {
954
- name: 'totalVaultsClosed',
955
- type: 'u64'
956
- },
957
- {
958
- name: 'debtRedistributionProduct',
959
- type: 'u128'
960
- },
961
- {
962
- name: 'collateralRedistributionAccumulator',
963
- type: 'u128'
964
- },
965
- {
966
- name: 'debtRedistributionError',
967
- type: 'u64'
968
- },
969
- {
970
- name: 'bumpVaultState',
971
- type: 'u8'
972
- },
973
- {
974
- name: 'bumpPoolState',
975
- type: 'u8'
976
- },
977
- {
978
- name: 'bumpMint',
979
- type: 'u8'
980
- },
981
- {
982
- name: 'bumpUsdhPoolAccount',
983
- type: 'u8'
984
- },
985
- {
986
- name: 'authority',
987
- type: 'publicKey'
988
- },
989
- {
990
- name: 'oracleChainlink',
991
- type: 'publicKey'
992
- },
993
- {
994
- name: 'oraclePyth',
995
- type: 'publicKey'
996
- },
997
- {
998
- name: 'oracleSwitchboard',
999
- type: 'publicKey'
1000
- },
1001
- {
1002
- name: 'hedgeStakingPool',
1003
- type: 'publicKey'
1004
- }
1005
- ]
1006
- }
1007
- },
1008
- {
1009
- name: 'Vault',
1010
- type: {
1011
- kind: 'struct',
1012
- fields: [
1013
- {
1014
- name: 'vaultOwner',
1015
- type: 'publicKey'
1016
- },
1017
- {
1018
- name: 'deposited',
1019
- type: 'u64'
1020
- },
1021
- {
1022
- name: 'debt',
1023
- type: 'u64'
1024
- },
1025
- {
1026
- name: 'vaultVersion',
1027
- type: 'u64'
1028
- },
1029
- {
1030
- name: 'liquidationPrice',
1031
- type: 'u64'
1032
- },
1033
- {
1034
- name: 'minCollateralRatio',
1035
- type: 'u128'
1036
- },
1037
- {
1038
- name: 'debtProductSnapshotBytes',
1039
- type: 'u128'
1040
- },
1041
- {
1042
- name: 'collateralAccumulatorSnapshotBytes',
1043
- type: 'u128'
1044
- },
1045
- {
1046
- name: 'collateralType',
1047
- type: {
1048
- defined: 'CurrencyType'
1049
- }
1050
- },
1051
- {
1052
- name: 'debtType',
1053
- type: {
1054
- defined: 'CurrencyType'
1055
- }
1056
- },
1057
- {
1058
- name: 'vaultStatus',
1059
- type: {
1060
- defined: 'VaultStatus'
1061
- }
1062
- }
1063
- ]
1064
- }
1065
- },
1066
- {
1067
- name: 'VaultHistoryEvent',
1068
- type: {
1069
- kind: 'struct',
1070
- fields: [
1071
- {
1072
- name: 'vaultAccount',
1073
- type: 'publicKey'
1074
- },
1075
- {
1076
- name: 'actorAccount',
1077
- type: 'publicKey'
1078
- },
1079
- {
1080
- name: 'usdSolPrice',
1081
- type: 'u128'
1082
- },
1083
- {
1084
- name: 'usdhDebtBefore',
1085
- type: 'u64'
1086
- },
1087
- {
1088
- name: 'usdhDebtAfter',
1089
- type: 'u64'
1090
- },
1091
- {
1092
- name: 'solBalanceBefore',
1093
- type: 'u64'
1094
- },
1095
- {
1096
- name: 'solBalanceAfter',
1097
- type: 'u64'
1098
- },
1099
- {
1100
- name: 'minCollateralRatioBefore',
1101
- type: 'u128'
1102
- },
1103
- {
1104
- name: 'minCollateralRatioAfter',
1105
- type: 'u128'
1106
- },
1107
- {
1108
- name: 'vaultStateBefore',
1109
- type: {
1110
- defined: 'VaultStatus'
1111
- }
1112
- },
1113
- {
1114
- name: 'vaultStateAfter',
1115
- type: {
1116
- defined: 'VaultStatus'
1117
- }
1118
- },
1119
- {
1120
- name: 'timestamp',
1121
- type: 'i64'
1122
- },
1123
- {
1124
- name: 'action',
1125
- type: {
1126
- defined: 'VaultHistoryAction'
1127
- }
1128
- }
1129
- ]
1130
- }
1131
- },
1132
- {
1133
- name: 'LiquidationPoolState',
1134
- type: {
1135
- kind: 'struct',
1136
- fields: [
1137
- {
1138
- name: 'currentEra',
1139
- type: 'publicKey'
1140
- },
1141
- {
1142
- name: 'lifetimeDeposits',
1143
- type: 'u64'
1144
- },
1145
- {
1146
- name: 'lifetimeOpenedPositions',
1147
- type: 'u64'
1148
- },
1149
- {
1150
- name: 'lifetimeClosedPositions',
1151
- type: 'u64'
1152
- },
1153
- {
1154
- name: 'lifetimeVaultsLiquidated',
1155
- type: 'u64'
1156
- },
1157
- {
1158
- name: 'lifetimeVaultsRedistributed',
1159
- type: 'u64'
1160
- },
1161
- {
1162
- name: 'lifetimeSolPurchased',
1163
- type: 'u64'
1164
- },
1165
- {
1166
- name: 'lifetimeSolClaimed',
1167
- type: 'u64'
1168
- },
1169
- {
1170
- name: 'hedgeInitRewardsTimestamp',
1171
- type: 'i64'
1172
- }
1173
- ]
1174
- }
1175
- },
1176
- {
1177
- name: 'LiquidationPoolEra',
1178
- type: {
1179
- kind: 'struct',
1180
- fields: [
1181
- {
1182
- name: 'totalDeposits',
1183
- type: 'u64'
1184
- },
1185
- {
1186
- name: 'productBytes',
1187
- type: 'u128'
1188
- },
1189
- {
1190
- name: 'sumBytes',
1191
- type: 'u128'
1192
- },
1193
- {
1194
- name: 'hedgeRewardsAccumulatorBytes',
1195
- type: 'u128'
1196
- },
1197
- {
1198
- name: 'hedgeRewardsTimestamp',
1199
- type: 'i64'
1200
- }
1201
- ]
1202
- }
1203
- },
1204
- {
1205
- name: 'LiquidationPosition',
1206
- type: {
1207
- kind: 'struct',
1208
- fields: [
1209
- {
1210
- name: 'state',
1211
- type: {
1212
- defined: 'PositionState'
1213
- }
1214
- },
1215
- {
1216
- name: 'era',
1217
- type: 'publicKey'
1218
- },
1219
- {
1220
- name: 'ownerAccount',
1221
- type: 'publicKey'
1222
- },
1223
- {
1224
- name: 'deposit',
1225
- type: 'u64'
1226
- },
1227
- {
1228
- name: 'closedSol',
1229
- type: 'u64'
1230
- },
1231
- {
1232
- name: 'closedUsdh',
1233
- type: 'u64'
1234
- },
1235
- {
1236
- name: 'productSnapshotBytes',
1237
- type: 'u128'
1238
- },
1239
- {
1240
- name: 'sumSnapshotBytes',
1241
- type: 'u128'
1242
- },
1243
- {
1244
- name: 'hedgeRewardsSnapshotAccum',
1245
- type: 'u128'
1246
- },
1247
- {
1248
- name: 'timestampOpened',
1249
- type: 'i64'
1250
- },
1251
- {
1252
- name: 'timestampClosed',
1253
- type: 'i64'
1254
- }
1255
- ]
1256
- }
1257
- },
1258
- {
1259
- name: 'Aggregator',
1260
- type: {
1261
- kind: 'struct',
1262
- fields: [
1263
- {
1264
- name: 'isInitialized',
1265
- type: 'bool'
1266
- },
1267
- {
1268
- name: 'version',
1269
- type: 'u32'
1270
- },
1271
- {
1272
- name: 'config',
1273
- type: {
1274
- defined: 'Config'
1275
- }
1276
- },
1277
- {
1278
- name: 'updatedAt',
1279
- type: 'i64'
1280
- },
1281
- {
1282
- name: 'owner',
1283
- type: 'publicKey'
1284
- },
1285
- {
1286
- name: 'submissions',
1287
- type: {
1288
- array: [
1289
- {
1290
- defined: 'Submission'
1291
- },
1292
- 8
1293
- ]
1294
- }
1295
- },
1296
- {
1297
- name: 'answer',
1298
- type: {
1299
- option: 'u128'
1300
- }
1301
- }
1302
- ]
1303
- }
1304
- }
1305
- ],
1306
- types: [
1307
- {
1308
- name: 'Config',
1309
- type: {
1310
- kind: 'struct',
1311
- fields: [
1312
- {
1313
- name: 'oracles',
1314
- type: {
1315
- vec: 'publicKey'
1316
- }
1317
- },
1318
- {
1319
- name: 'minAnswerThreshold',
1320
- type: 'u8'
1321
- },
1322
- {
1323
- name: 'stalenessThreshold',
1324
- type: 'u8'
1325
- },
1326
- {
1327
- name: 'decimals',
1328
- type: 'u8'
1329
- }
1330
- ]
1331
- }
1332
- },
1333
- {
1334
- name: 'Submission',
1335
- type: {
1336
- kind: 'struct',
1337
- fields: [
1338
- {
1339
- name: 'timestamp',
1340
- type: 'i64'
1341
- },
1342
- {
1343
- name: 'value',
1344
- type: 'u128'
1345
- }
1346
- ]
1347
- }
1348
- },
1349
- {
1350
- name: 'PositionState',
1351
- type: {
1352
- kind: 'enum',
1353
- variants: [
1354
- {
1355
- name: 'Open'
1356
- },
1357
- {
1358
- name: 'Closed'
1359
- }
1360
- ]
1361
- }
1362
- },
1363
- {
1364
- name: 'CurrencyType',
1365
- type: {
1366
- kind: 'enum',
1367
- variants: [
1368
- {
1369
- name: 'Solana'
1370
- },
1371
- {
1372
- name: 'Usdh'
1373
- }
1374
- ]
1375
- }
1376
- },
1377
- {
1378
- name: 'VaultStatus',
1379
- type: {
1380
- kind: 'enum',
1381
- variants: [
1382
- {
1383
- name: 'Open'
1384
- },
1385
- {
1386
- name: 'Closed'
1387
- },
1388
- {
1389
- name: 'Liquidated'
1390
- },
1391
- {
1392
- name: 'Distributed'
1393
- },
1394
- {
1395
- name: 'Redeemed'
1396
- }
1397
- ]
1398
- }
1399
- },
1400
- {
1401
- name: 'VaultHistoryAction',
1402
- type: {
1403
- kind: 'enum',
1404
- variants: [
1405
- {
1406
- name: 'Create'
1407
- },
1408
- {
1409
- name: 'Close'
1410
- },
1411
- {
1412
- name: 'Liquidate'
1413
- },
1414
- {
1415
- name: 'PartialLiquidate'
1416
- },
1417
- {
1418
- name: 'Distributed'
1419
- },
1420
- {
1421
- name: 'Redeem'
1422
- },
1423
- {
1424
- name: 'TransferOwnership'
1425
- },
1426
- {
1427
- name: 'Deposit'
1428
- },
1429
- {
1430
- name: 'Withdraw'
1431
- },
1432
- {
1433
- name: 'Loan'
1434
- },
1435
- {
1436
- name: 'RepayCredit'
1437
- }
1438
- ]
1439
- }
1440
- }
1441
- ],
1442
- errors: [
1443
- {
1444
- code: 6000,
1445
- name: 'AlreadyInitialized',
1446
- msg: 'This vault was already initialized'
1447
- },
1448
- {
1449
- code: 6001,
1450
- name: 'NotInitialized',
1451
- msg: 'This vault was not initialized'
1452
- },
1453
- {
1454
- code: 6002,
1455
- name: 'Overdraw',
1456
- msg: 'Cannot withdraw more than deposited'
1457
- },
1458
- {
1459
- code: 6003,
1460
- name: 'Overpaid',
1461
- msg: 'Cannot repay more than loaned'
1462
- },
1463
- {
1464
- code: 6004,
1465
- name: 'NotAuthorizedToCreateStakingPools',
1466
- msg: 'Signer not authorized to create new staking pools'
1467
- },
1468
- {
1469
- code: 6005,
1470
- name: 'BadSeed',
1471
- msg: 'Bad Seed'
1472
- }
1473
- ]
1474
- }