hedge-web3 0.1.13 → 0.1.16

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