hedge-web3 0.1.27 → 0.1.31

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. package/declarations/Constants.d.ts +1 -1
  2. package/declarations/idl/vault.d.ts +277 -126
  3. package/declarations/index.d.ts +3 -0
  4. package/declarations/instructions/claimLiquidationPoolPosition.d.ts +3 -2
  5. package/declarations/instructions/claimStakingPoolPosition.d.ts +3 -2
  6. package/declarations/instructions/closeLiquidationPoolPosition.d.ts +3 -2
  7. package/declarations/instructions/createStakingPool.d.ts +3 -2
  8. package/declarations/instructions/createVault.d.ts +6 -5
  9. package/declarations/instructions/depositLiquidationPool.d.ts +3 -2
  10. package/declarations/instructions/depositStakingPool.d.ts +3 -2
  11. package/declarations/instructions/depositVault.d.ts +3 -2
  12. package/declarations/instructions/initHedgeFoundation.d.ts +3 -2
  13. package/declarations/instructions/liquidateVault.d.ts +3 -2
  14. package/declarations/instructions/loanVault.d.ts +3 -2
  15. package/declarations/instructions/redeemVault.d.ts +3 -2
  16. package/declarations/instructions/refreshOraclePrice.d.ts +3 -2
  17. package/declarations/instructions/repayVault.d.ts +3 -2
  18. package/declarations/instructions/setHalted.d.ts +3 -2
  19. package/declarations/instructions/setVaultTypeStatus.d.ts +5 -0
  20. package/declarations/instructions/withdrawStakingPool.d.ts +3 -2
  21. package/declarations/instructions/withdrawVault.d.ts +3 -2
  22. package/declarations/state/VaultAccount.d.ts +8 -0
  23. package/declarations/utils/getLinkedListAccounts.d.ts +5 -0
  24. package/lib/Constants.js +1 -1
  25. package/lib/idl/vault.js +277 -126
  26. package/lib/index.js +3 -0
  27. package/lib/instructions/claimLiquidationPoolPosition.js +19 -22
  28. package/lib/instructions/claimStakingPoolPosition.js +19 -19
  29. package/lib/instructions/closeLiquidationPoolPosition.js +22 -22
  30. package/lib/instructions/createStakingPool.js +18 -19
  31. package/lib/instructions/createVault.js +28 -31
  32. package/lib/instructions/depositLiquidationPool.js +17 -18
  33. package/lib/instructions/depositStakingPool.js +16 -18
  34. package/lib/instructions/depositVault.js +31 -26
  35. package/lib/instructions/initHedgeFoundation.js +17 -19
  36. package/lib/instructions/initHedgeFoundationTokens.js +15 -15
  37. package/lib/instructions/liquidateVault.js +36 -32
  38. package/lib/instructions/loanVault.js +27 -22
  39. package/lib/instructions/redeemVault.js +28 -23
  40. package/lib/instructions/refreshOraclePrice.js +17 -17
  41. package/lib/instructions/repayVault.js +27 -22
  42. package/lib/instructions/setHalted.js +8 -9
  43. package/lib/instructions/setVaultTypeStatus.js +37 -0
  44. package/lib/instructions/withdrawStakingPool.js +22 -24
  45. package/lib/instructions/withdrawVault.js +30 -25
  46. package/lib/state/LiquidationPoolEra.js +3 -1
  47. package/lib/state/LiquidationPosition.js +0 -7
  48. package/lib/state/StakingPool.js +3 -4
  49. package/lib/state/VaultAccount.js +51 -1
  50. package/lib/utils/getLinkedListAccounts.js +139 -0
  51. package/package.json +4 -2
  52. package/src/Constants.ts +1 -1
  53. package/src/idl/vault.ts +554 -252
  54. package/src/index.ts +4 -0
  55. package/src/instructions/claimLiquidationPoolPosition.ts +39 -29
  56. package/src/instructions/claimStakingPoolPosition.ts +45 -25
  57. package/src/instructions/closeLiquidationPoolPosition.ts +62 -32
  58. package/src/instructions/createStakingPool.ts +38 -37
  59. package/src/instructions/createVault.ts +81 -125
  60. package/src/instructions/depositLiquidationPool.ts +45 -26
  61. package/src/instructions/depositStakingPool.ts +32 -24
  62. package/src/instructions/depositVault.ts +77 -31
  63. package/src/instructions/initHedgeFoundation.ts +42 -43
  64. package/src/instructions/initHedgeFoundationTokens.ts +38 -39
  65. package/src/instructions/liquidateVault.ts +96 -22
  66. package/src/instructions/loanVault.ts +84 -30
  67. package/src/instructions/redeemVault.ts +91 -32
  68. package/src/instructions/refreshOraclePrice.ts +41 -32
  69. package/src/instructions/repayVault.ts +74 -29
  70. package/src/instructions/setHalted.ts +32 -24
  71. package/src/instructions/setVaultTypeStatus.ts +58 -0
  72. package/src/instructions/withdrawStakingPool.ts +44 -30
  73. package/src/instructions/withdrawVault.ts +87 -33
  74. package/src/state/LiquidationPoolEra.ts +4 -3
  75. package/src/state/LiquidationPosition.ts +0 -27
  76. package/src/state/StakingPool.ts +4 -7
  77. package/src/state/StakingPoolPosition.ts +2 -3
  78. package/src/state/VaultAccount.ts +65 -8
  79. package/src/state/VaultHistoryEvent.ts +1 -2
  80. package/src/utils/getLinkedListAccounts.ts +157 -0
package/src/idl/vault.ts CHANGED
@@ -373,10 +373,6 @@ export type Vault = {
373
373
  "name": "bump1",
374
374
  "type": "u8"
375
375
  },
376
- {
377
- "name": "poolSeedPhraseInput",
378
- "type": "string"
379
- },
380
376
  {
381
377
  "name": "totalRewards",
382
378
  "type": "u64"
@@ -624,11 +620,6 @@ export type Vault = {
624
620
  "isMut": true,
625
621
  "isSigner": false
626
622
  },
627
- {
628
- "name": "vault",
629
- "isMut": true,
630
- "isSigner": false
631
- },
632
623
  {
633
624
  "name": "vaultAssociatedTokenAccount",
634
625
  "isMut": true,
@@ -669,6 +660,26 @@ export type Vault = {
669
660
  "isMut": true,
670
661
  "isSigner": false
671
662
  },
663
+ {
664
+ "name": "oldSmallerVaultInfo",
665
+ "isMut": true,
666
+ "isSigner": false
667
+ },
668
+ {
669
+ "name": "newSmallerVaultInfo",
670
+ "isMut": true,
671
+ "isSigner": false
672
+ },
673
+ {
674
+ "name": "newLargerVaultInfo",
675
+ "isMut": false,
676
+ "isSigner": false
677
+ },
678
+ {
679
+ "name": "vault",
680
+ "isMut": true,
681
+ "isSigner": false
682
+ },
672
683
  {
673
684
  "name": "tokenProgram",
674
685
  "isMut": false,
@@ -821,11 +832,6 @@ export type Vault = {
821
832
  "isMut": true,
822
833
  "isSigner": false
823
834
  },
824
- {
825
- "name": "vaultAccount",
826
- "isMut": true,
827
- "isSigner": false
828
- },
829
835
  {
830
836
  "name": "vaultAssociatedTokenAccount",
831
837
  "isMut": true,
@@ -861,6 +867,26 @@ export type Vault = {
861
867
  "isMut": true,
862
868
  "isSigner": false
863
869
  },
870
+ {
871
+ "name": "oldSmallerVaultInfo",
872
+ "isMut": true,
873
+ "isSigner": false
874
+ },
875
+ {
876
+ "name": "newSmallerVaultInfo",
877
+ "isMut": true,
878
+ "isSigner": false
879
+ },
880
+ {
881
+ "name": "newLargerVaultInfo",
882
+ "isMut": false,
883
+ "isSigner": false
884
+ },
885
+ {
886
+ "name": "vaultAccount",
887
+ "isMut": true,
888
+ "isSigner": false
889
+ },
864
890
  {
865
891
  "name": "systemProgram",
866
892
  "isMut": false,
@@ -901,11 +927,6 @@ export type Vault = {
901
927
  "isMut": true,
902
928
  "isSigner": false
903
929
  },
904
- {
905
- "name": "vault",
906
- "isMut": true,
907
- "isSigner": false
908
- },
909
930
  {
910
931
  "name": "vaultAssociatedTokenAccount",
911
932
  "isMut": true,
@@ -946,6 +967,26 @@ export type Vault = {
946
967
  "isMut": true,
947
968
  "isSigner": false
948
969
  },
970
+ {
971
+ "name": "oldSmallerVaultInfo",
972
+ "isMut": true,
973
+ "isSigner": false
974
+ },
975
+ {
976
+ "name": "newSmallerVaultInfo",
977
+ "isMut": true,
978
+ "isSigner": false
979
+ },
980
+ {
981
+ "name": "newLargerVaultInfo",
982
+ "isMut": false,
983
+ "isSigner": false
984
+ },
985
+ {
986
+ "name": "vault",
987
+ "isMut": true,
988
+ "isSigner": false
989
+ },
949
990
  {
950
991
  "name": "systemProgram",
951
992
  "isMut": false,
@@ -991,11 +1032,6 @@ export type Vault = {
991
1032
  "isMut": true,
992
1033
  "isSigner": false
993
1034
  },
994
- {
995
- "name": "vaultAccount",
996
- "isMut": true,
997
- "isSigner": false
998
- },
999
1035
  {
1000
1036
  "name": "vaultAssociatedTokenAccount",
1001
1037
  "isMut": true,
@@ -1061,6 +1097,26 @@ export type Vault = {
1061
1097
  "isMut": true,
1062
1098
  "isSigner": false
1063
1099
  },
1100
+ {
1101
+ "name": "oldSmallerVaultInfo",
1102
+ "isMut": true,
1103
+ "isSigner": false
1104
+ },
1105
+ {
1106
+ "name": "newSmallerVaultInfo",
1107
+ "isMut": true,
1108
+ "isSigner": false
1109
+ },
1110
+ {
1111
+ "name": "newLargerVaultInfo",
1112
+ "isMut": false,
1113
+ "isSigner": false
1114
+ },
1115
+ {
1116
+ "name": "vaultAccount",
1117
+ "isMut": true,
1118
+ "isSigner": false
1119
+ },
1064
1120
  {
1065
1121
  "name": "associatedTokenProgram",
1066
1122
  "isMut": false,
@@ -1152,11 +1208,6 @@ export type Vault = {
1152
1208
  "isMut": true,
1153
1209
  "isSigner": false
1154
1210
  },
1155
- {
1156
- "name": "vaultAccount",
1157
- "isMut": true,
1158
- "isSigner": false
1159
- },
1160
1211
  {
1161
1212
  "name": "vaultAssociatedTokenAccount",
1162
1213
  "isMut": true,
@@ -1192,6 +1243,26 @@ export type Vault = {
1192
1243
  "isMut": true,
1193
1244
  "isSigner": false
1194
1245
  },
1246
+ {
1247
+ "name": "oldSmallerVaultInfo",
1248
+ "isMut": true,
1249
+ "isSigner": false
1250
+ },
1251
+ {
1252
+ "name": "newSmallerVaultInfo",
1253
+ "isMut": true,
1254
+ "isSigner": false
1255
+ },
1256
+ {
1257
+ "name": "newLargerVaultInfo",
1258
+ "isMut": false,
1259
+ "isSigner": false
1260
+ },
1261
+ {
1262
+ "name": "vaultAccount",
1263
+ "isMut": true,
1264
+ "isSigner": false
1265
+ },
1195
1266
  {
1196
1267
  "name": "systemProgram",
1197
1268
  "isMut": false,
@@ -1411,11 +1482,6 @@ export type Vault = {
1411
1482
  "isMut": true,
1412
1483
  "isSigner": false
1413
1484
  },
1414
- {
1415
- "name": "vault",
1416
- "isMut": true,
1417
- "isSigner": false
1418
- },
1419
1485
  {
1420
1486
  "name": "vaultAssociatedTokenAccount",
1421
1487
  "isMut": true,
@@ -1451,6 +1517,26 @@ export type Vault = {
1451
1517
  "isMut": true,
1452
1518
  "isSigner": false
1453
1519
  },
1520
+ {
1521
+ "name": "oldSmallerVaultInfo",
1522
+ "isMut": true,
1523
+ "isSigner": false
1524
+ },
1525
+ {
1526
+ "name": "newSmallerVaultInfo",
1527
+ "isMut": true,
1528
+ "isSigner": false
1529
+ },
1530
+ {
1531
+ "name": "newLargerVaultInfo",
1532
+ "isMut": false,
1533
+ "isSigner": false
1534
+ },
1535
+ {
1536
+ "name": "vault",
1537
+ "isMut": true,
1538
+ "isSigner": false
1539
+ },
1454
1540
  {
1455
1541
  "name": "systemProgram",
1456
1542
  "isMut": false,
@@ -1472,6 +1558,32 @@ export type Vault = {
1472
1558
  "type": "i64"
1473
1559
  }
1474
1560
  ]
1561
+ },
1562
+ {
1563
+ "name": "setVaultTypeStatus",
1564
+ "accounts": [
1565
+ {
1566
+ "name": "payer",
1567
+ "isMut": true,
1568
+ "isSigner": true
1569
+ },
1570
+ {
1571
+ "name": "vaultSystemState",
1572
+ "isMut": true,
1573
+ "isSigner": false
1574
+ },
1575
+ {
1576
+ "name": "vaultType",
1577
+ "isMut": true,
1578
+ "isSigner": false
1579
+ }
1580
+ ],
1581
+ "args": [
1582
+ {
1583
+ "name": "deprecated",
1584
+ "type": "bool"
1585
+ }
1586
+ ]
1475
1587
  }
1476
1588
  ],
1477
1589
  "accounts": [
@@ -1685,68 +1797,6 @@ export type Vault = {
1685
1797
  ]
1686
1798
  }
1687
1799
  },
1688
- {
1689
- "name": "stakingPool",
1690
- "type": {
1691
- "kind": "struct",
1692
- "fields": [
1693
- {
1694
- "name": "halfLifeInDays",
1695
- "type": "u64"
1696
- },
1697
- {
1698
- "name": "deposits",
1699
- "type": "u64"
1700
- },
1701
- {
1702
- "name": "startTime",
1703
- "type": "u64"
1704
- },
1705
- {
1706
- "name": "lastTransactionTime",
1707
- "type": "u64"
1708
- },
1709
- {
1710
- "name": "hedgeRewardAccumulator",
1711
- "type": "u128"
1712
- },
1713
- {
1714
- "name": "ushFeeAccumulator",
1715
- "type": "u128"
1716
- },
1717
- {
1718
- "name": "totalHedgeReward",
1719
- "type": "u64"
1720
- },
1721
- {
1722
- "name": "stakedTokenMint",
1723
- "type": "publicKey"
1724
- },
1725
- {
1726
- "name": "seedPhrase",
1727
- "type": {
1728
- "array": [
1729
- "u8",
1730
- 12
1731
- ]
1732
- }
1733
- },
1734
- {
1735
- "name": "collateralFeeAccumulator",
1736
- "type": {
1737
- "array": [
1738
- "u128",
1739
- 32
1740
- ]
1741
- }
1742
- },
1743
- {
1744
- "name": "bump",
1745
- "type": "u8"
1746
- }
1747
- ]
1748
- }
1749
- },
1750
1800
  {
1751
1801
  "name": "stakingPoolPosition",
1752
1802
  "type": {
@@ -1812,65 +1862,63 @@ export type Vault = {
1812
1862
  }
1813
1863
  },
1814
1864
  {
1815
- "name": "vault",
1865
+ "name": "stakingPool",
1816
1866
  "type": {
1817
1867
  "kind": "struct",
1818
1868
  "fields": [
1819
1869
  {
1820
- "name": "vaultOwner",
1821
- "type": "publicKey"
1822
- },
1823
- {
1824
- "name": "pdaSalt",
1825
- "type": "string"
1826
- },
1827
- {
1828
- "name": "bump",
1829
- "type": "u8"
1870
+ "name": "halfLifeInDays",
1871
+ "type": "u64"
1830
1872
  },
1831
1873
  {
1832
- "name": "deposited",
1874
+ "name": "deposits",
1833
1875
  "type": "u64"
1834
1876
  },
1835
1877
  {
1836
- "name": "denormalizedDebt",
1878
+ "name": "startTime",
1837
1879
  "type": "u64"
1838
1880
  },
1839
1881
  {
1840
- "name": "vaultVersion",
1882
+ "name": "lastTransactionTime",
1841
1883
  "type": "u64"
1842
1884
  },
1843
1885
  {
1844
- "name": "debtProductSnapshotBytes",
1886
+ "name": "hedgeRewardAccumulator",
1845
1887
  "type": "u128"
1846
1888
  },
1847
1889
  {
1848
- "name": "collateralAccumulatorSnapshotBytes",
1890
+ "name": "ushFeeAccumulator",
1849
1891
  "type": "u128"
1850
1892
  },
1851
1893
  {
1852
- "name": "collateralType",
1853
- "type": "string"
1894
+ "name": "totalHedgeReward",
1895
+ "type": "u64"
1854
1896
  },
1855
1897
  {
1856
- "name": "debtType",
1857
- "type": {
1858
- "defined": "CurrencyType"
1859
- }
1898
+ "name": "stakedTokenMint",
1899
+ "type": "publicKey"
1860
1900
  },
1861
1901
  {
1862
- "name": "vaultStatus",
1902
+ "name": "seedPhrase",
1863
1903
  "type": {
1864
- "defined": "VaultStatus"
1904
+ "array": [
1905
+ "u8",
1906
+ 12
1907
+ ]
1865
1908
  }
1866
1909
  },
1867
1910
  {
1868
- "name": "timeCreated",
1869
- "type": "u64"
1911
+ "name": "collateralFeeAccumulator",
1912
+ "type": {
1913
+ "array": [
1914
+ "u128",
1915
+ 32
1916
+ ]
1917
+ }
1870
1918
  },
1871
1919
  {
1872
- "name": "timeLastInteraction",
1873
- "type": "u64"
1920
+ "name": "bump",
1921
+ "type": "u8"
1874
1922
  }
1875
1923
  ]
1876
1924
  }
@@ -2048,6 +2096,10 @@ export type Vault = {
2048
2096
  "name": "canBeRedeemed",
2049
2097
  "type": "bool"
2050
2098
  },
2099
+ {
2100
+ "name": "emergencyModeThreshold",
2101
+ "type": "u64"
2102
+ },
2051
2103
  {
2052
2104
  "name": "cumulativeRate",
2053
2105
  "type": "u128"
@@ -2059,6 +2111,90 @@ export type Vault = {
2059
2111
  {
2060
2112
  "name": "interestRatePerSecond",
2061
2113
  "type": "u128"
2114
+ },
2115
+ {
2116
+ "name": "firstVaultToRedeem",
2117
+ "type": {
2118
+ "option": "publicKey"
2119
+ }
2120
+ },
2121
+ {
2122
+ "name": "deprecated",
2123
+ "type": "bool"
2124
+ }
2125
+ ]
2126
+ }
2127
+ },
2128
+ {
2129
+ "name": "vault",
2130
+ "type": {
2131
+ "kind": "struct",
2132
+ "fields": [
2133
+ {
2134
+ "name": "vaultOwner",
2135
+ "type": "publicKey"
2136
+ },
2137
+ {
2138
+ "name": "vaultNumber",
2139
+ "type": "u64"
2140
+ },
2141
+ {
2142
+ "name": "deposited",
2143
+ "type": "u64"
2144
+ },
2145
+ {
2146
+ "name": "denormalizedDebt",
2147
+ "type": "u64"
2148
+ },
2149
+ {
2150
+ "name": "collateralType",
2151
+ "type": "string"
2152
+ },
2153
+ {
2154
+ "name": "pdaSalt",
2155
+ "type": "string"
2156
+ },
2157
+ {
2158
+ "name": "bump",
2159
+ "type": "u8"
2160
+ },
2161
+ {
2162
+ "name": "vaultVersion",
2163
+ "type": "u64"
2164
+ },
2165
+ {
2166
+ "name": "debtProductSnapshotBytes",
2167
+ "type": "u128"
2168
+ },
2169
+ {
2170
+ "name": "collateralAccumulatorSnapshotBytes",
2171
+ "type": "u128"
2172
+ },
2173
+ {
2174
+ "name": "debtType",
2175
+ "type": {
2176
+ "defined": "CurrencyType"
2177
+ }
2178
+ },
2179
+ {
2180
+ "name": "vaultStatus",
2181
+ "type": {
2182
+ "defined": "VaultStatus"
2183
+ }
2184
+ },
2185
+ {
2186
+ "name": "timeCreated",
2187
+ "type": "u64"
2188
+ },
2189
+ {
2190
+ "name": "timeLastInteraction",
2191
+ "type": "u64"
2192
+ },
2193
+ {
2194
+ "name": "nextVaultToRedeem",
2195
+ "type": {
2196
+ "option": "publicKey"
2197
+ }
2062
2198
  }
2063
2199
  ]
2064
2200
  }
@@ -2348,12 +2484,12 @@ export type Vault = {
2348
2484
  {
2349
2485
  "code": 6005,
2350
2486
  "name": "VaultClosed",
2351
- "msg": "Vault cannot be liquidated. It is collateralized."
2487
+ "msg": "Vault closed"
2352
2488
  },
2353
2489
  {
2354
2490
  "code": 6006,
2355
2491
  "name": "VaultNotSubjectToLiquidation",
2356
- "msg": "Vault closed"
2492
+ "msg": "Vault cannot be liquidated. It is collateralized."
2357
2493
  },
2358
2494
  {
2359
2495
  "code": 6007,
@@ -2414,6 +2550,21 @@ export type Vault = {
2414
2550
  "code": 6018,
2415
2551
  "name": "SystemHalted",
2416
2552
  "msg": "System is currently halted. No actions may be taken at this time."
2553
+ },
2554
+ {
2555
+ "code": 6019,
2556
+ "name": "EntireVaultRedeem",
2557
+ "msg": "Entire vault must be redeemed at this time."
2558
+ },
2559
+ {
2560
+ "code": 6020,
2561
+ "name": "RedeemingNonHighestCollateralRatioVault",
2562
+ "msg": "Can only redeem highest collateral ratio vault in system."
2563
+ },
2564
+ {
2565
+ "code": 6021,
2566
+ "name": "VaultTypeDeprecated",
2567
+ "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."
2417
2568
  }
2418
2569
  ]
2419
2570
  };
@@ -2793,10 +2944,6 @@ export const IDL: Vault = {
2793
2944
  "name": "bump1",
2794
2945
  "type": "u8"
2795
2946
  },
2796
- {
2797
- "name": "poolSeedPhraseInput",
2798
- "type": "string"
2799
- },
2800
2947
  {
2801
2948
  "name": "totalRewards",
2802
2949
  "type": "u64"
@@ -3044,11 +3191,6 @@ export const IDL: Vault = {
3044
3191
  "isMut": true,
3045
3192
  "isSigner": false
3046
3193
  },
3047
- {
3048
- "name": "vault",
3049
- "isMut": true,
3050
- "isSigner": false
3051
- },
3052
3194
  {
3053
3195
  "name": "vaultAssociatedTokenAccount",
3054
3196
  "isMut": true,
@@ -3089,6 +3231,26 @@ export const IDL: Vault = {
3089
3231
  "isMut": true,
3090
3232
  "isSigner": false
3091
3233
  },
3234
+ {
3235
+ "name": "oldSmallerVaultInfo",
3236
+ "isMut": true,
3237
+ "isSigner": false
3238
+ },
3239
+ {
3240
+ "name": "newSmallerVaultInfo",
3241
+ "isMut": true,
3242
+ "isSigner": false
3243
+ },
3244
+ {
3245
+ "name": "newLargerVaultInfo",
3246
+ "isMut": false,
3247
+ "isSigner": false
3248
+ },
3249
+ {
3250
+ "name": "vault",
3251
+ "isMut": true,
3252
+ "isSigner": false
3253
+ },
3092
3254
  {
3093
3255
  "name": "tokenProgram",
3094
3256
  "isMut": false,
@@ -3241,11 +3403,6 @@ export const IDL: Vault = {
3241
3403
  "isMut": true,
3242
3404
  "isSigner": false
3243
3405
  },
3244
- {
3245
- "name": "vaultAccount",
3246
- "isMut": true,
3247
- "isSigner": false
3248
- },
3249
3406
  {
3250
3407
  "name": "vaultAssociatedTokenAccount",
3251
3408
  "isMut": true,
@@ -3281,6 +3438,26 @@ export const IDL: Vault = {
3281
3438
  "isMut": true,
3282
3439
  "isSigner": false
3283
3440
  },
3441
+ {
3442
+ "name": "oldSmallerVaultInfo",
3443
+ "isMut": true,
3444
+ "isSigner": false
3445
+ },
3446
+ {
3447
+ "name": "newSmallerVaultInfo",
3448
+ "isMut": true,
3449
+ "isSigner": false
3450
+ },
3451
+ {
3452
+ "name": "newLargerVaultInfo",
3453
+ "isMut": false,
3454
+ "isSigner": false
3455
+ },
3456
+ {
3457
+ "name": "vaultAccount",
3458
+ "isMut": true,
3459
+ "isSigner": false
3460
+ },
3284
3461
  {
3285
3462
  "name": "systemProgram",
3286
3463
  "isMut": false,
@@ -3321,11 +3498,6 @@ export const IDL: Vault = {
3321
3498
  "isMut": true,
3322
3499
  "isSigner": false
3323
3500
  },
3324
- {
3325
- "name": "vault",
3326
- "isMut": true,
3327
- "isSigner": false
3328
- },
3329
3501
  {
3330
3502
  "name": "vaultAssociatedTokenAccount",
3331
3503
  "isMut": true,
@@ -3366,6 +3538,26 @@ export const IDL: Vault = {
3366
3538
  "isMut": true,
3367
3539
  "isSigner": false
3368
3540
  },
3541
+ {
3542
+ "name": "oldSmallerVaultInfo",
3543
+ "isMut": true,
3544
+ "isSigner": false
3545
+ },
3546
+ {
3547
+ "name": "newSmallerVaultInfo",
3548
+ "isMut": true,
3549
+ "isSigner": false
3550
+ },
3551
+ {
3552
+ "name": "newLargerVaultInfo",
3553
+ "isMut": false,
3554
+ "isSigner": false
3555
+ },
3556
+ {
3557
+ "name": "vault",
3558
+ "isMut": true,
3559
+ "isSigner": false
3560
+ },
3369
3561
  {
3370
3562
  "name": "systemProgram",
3371
3563
  "isMut": false,
@@ -3411,11 +3603,6 @@ export const IDL: Vault = {
3411
3603
  "isMut": true,
3412
3604
  "isSigner": false
3413
3605
  },
3414
- {
3415
- "name": "vaultAccount",
3416
- "isMut": true,
3417
- "isSigner": false
3418
- },
3419
3606
  {
3420
3607
  "name": "vaultAssociatedTokenAccount",
3421
3608
  "isMut": true,
@@ -3481,6 +3668,26 @@ export const IDL: Vault = {
3481
3668
  "isMut": true,
3482
3669
  "isSigner": false
3483
3670
  },
3671
+ {
3672
+ "name": "oldSmallerVaultInfo",
3673
+ "isMut": true,
3674
+ "isSigner": false
3675
+ },
3676
+ {
3677
+ "name": "newSmallerVaultInfo",
3678
+ "isMut": true,
3679
+ "isSigner": false
3680
+ },
3681
+ {
3682
+ "name": "newLargerVaultInfo",
3683
+ "isMut": false,
3684
+ "isSigner": false
3685
+ },
3686
+ {
3687
+ "name": "vaultAccount",
3688
+ "isMut": true,
3689
+ "isSigner": false
3690
+ },
3484
3691
  {
3485
3692
  "name": "associatedTokenProgram",
3486
3693
  "isMut": false,
@@ -3572,11 +3779,6 @@ export const IDL: Vault = {
3572
3779
  "isMut": true,
3573
3780
  "isSigner": false
3574
3781
  },
3575
- {
3576
- "name": "vaultAccount",
3577
- "isMut": true,
3578
- "isSigner": false
3579
- },
3580
3782
  {
3581
3783
  "name": "vaultAssociatedTokenAccount",
3582
3784
  "isMut": true,
@@ -3612,6 +3814,26 @@ export const IDL: Vault = {
3612
3814
  "isMut": true,
3613
3815
  "isSigner": false
3614
3816
  },
3817
+ {
3818
+ "name": "oldSmallerVaultInfo",
3819
+ "isMut": true,
3820
+ "isSigner": false
3821
+ },
3822
+ {
3823
+ "name": "newSmallerVaultInfo",
3824
+ "isMut": true,
3825
+ "isSigner": false
3826
+ },
3827
+ {
3828
+ "name": "newLargerVaultInfo",
3829
+ "isMut": false,
3830
+ "isSigner": false
3831
+ },
3832
+ {
3833
+ "name": "vaultAccount",
3834
+ "isMut": true,
3835
+ "isSigner": false
3836
+ },
3615
3837
  {
3616
3838
  "name": "systemProgram",
3617
3839
  "isMut": false,
@@ -3831,11 +4053,6 @@ export const IDL: Vault = {
3831
4053
  "isMut": true,
3832
4054
  "isSigner": false
3833
4055
  },
3834
- {
3835
- "name": "vault",
3836
- "isMut": true,
3837
- "isSigner": false
3838
- },
3839
4056
  {
3840
4057
  "name": "vaultAssociatedTokenAccount",
3841
4058
  "isMut": true,
@@ -3871,6 +4088,26 @@ export const IDL: Vault = {
3871
4088
  "isMut": true,
3872
4089
  "isSigner": false
3873
4090
  },
4091
+ {
4092
+ "name": "oldSmallerVaultInfo",
4093
+ "isMut": true,
4094
+ "isSigner": false
4095
+ },
4096
+ {
4097
+ "name": "newSmallerVaultInfo",
4098
+ "isMut": true,
4099
+ "isSigner": false
4100
+ },
4101
+ {
4102
+ "name": "newLargerVaultInfo",
4103
+ "isMut": false,
4104
+ "isSigner": false
4105
+ },
4106
+ {
4107
+ "name": "vault",
4108
+ "isMut": true,
4109
+ "isSigner": false
4110
+ },
3874
4111
  {
3875
4112
  "name": "systemProgram",
3876
4113
  "isMut": false,
@@ -3892,6 +4129,32 @@ export const IDL: Vault = {
3892
4129
  "type": "i64"
3893
4130
  }
3894
4131
  ]
4132
+ },
4133
+ {
4134
+ "name": "setVaultTypeStatus",
4135
+ "accounts": [
4136
+ {
4137
+ "name": "payer",
4138
+ "isMut": true,
4139
+ "isSigner": true
4140
+ },
4141
+ {
4142
+ "name": "vaultSystemState",
4143
+ "isMut": true,
4144
+ "isSigner": false
4145
+ },
4146
+ {
4147
+ "name": "vaultType",
4148
+ "isMut": true,
4149
+ "isSigner": false
4150
+ }
4151
+ ],
4152
+ "args": [
4153
+ {
4154
+ "name": "deprecated",
4155
+ "type": "bool"
4156
+ }
4157
+ ]
3895
4158
  }
3896
4159
  ],
3897
4160
  "accounts": [
@@ -4105,68 +4368,6 @@ export const IDL: Vault = {
4105
4368
  ]
4106
4369
  }
4107
4370
  },
4108
- {
4109
- "name": "stakingPool",
4110
- "type": {
4111
- "kind": "struct",
4112
- "fields": [
4113
- {
4114
- "name": "halfLifeInDays",
4115
- "type": "u64"
4116
- },
4117
- {
4118
- "name": "deposits",
4119
- "type": "u64"
4120
- },
4121
- {
4122
- "name": "startTime",
4123
- "type": "u64"
4124
- },
4125
- {
4126
- "name": "lastTransactionTime",
4127
- "type": "u64"
4128
- },
4129
- {
4130
- "name": "hedgeRewardAccumulator",
4131
- "type": "u128"
4132
- },
4133
- {
4134
- "name": "ushFeeAccumulator",
4135
- "type": "u128"
4136
- },
4137
- {
4138
- "name": "totalHedgeReward",
4139
- "type": "u64"
4140
- },
4141
- {
4142
- "name": "stakedTokenMint",
4143
- "type": "publicKey"
4144
- },
4145
- {
4146
- "name": "seedPhrase",
4147
- "type": {
4148
- "array": [
4149
- "u8",
4150
- 12
4151
- ]
4152
- }
4153
- },
4154
- {
4155
- "name": "collateralFeeAccumulator",
4156
- "type": {
4157
- "array": [
4158
- "u128",
4159
- 32
4160
- ]
4161
- }
4162
- },
4163
- {
4164
- "name": "bump",
4165
- "type": "u8"
4166
- }
4167
- ]
4168
- }
4169
- },
4170
4371
  {
4171
4372
  "name": "stakingPoolPosition",
4172
4373
  "type": {
@@ -4232,65 +4433,63 @@ export const IDL: Vault = {
4232
4433
  }
4233
4434
  },
4234
4435
  {
4235
- "name": "vault",
4436
+ "name": "stakingPool",
4236
4437
  "type": {
4237
4438
  "kind": "struct",
4238
4439
  "fields": [
4239
4440
  {
4240
- "name": "vaultOwner",
4241
- "type": "publicKey"
4242
- },
4243
- {
4244
- "name": "pdaSalt",
4245
- "type": "string"
4246
- },
4247
- {
4248
- "name": "bump",
4249
- "type": "u8"
4441
+ "name": "halfLifeInDays",
4442
+ "type": "u64"
4250
4443
  },
4251
4444
  {
4252
- "name": "deposited",
4445
+ "name": "deposits",
4253
4446
  "type": "u64"
4254
4447
  },
4255
4448
  {
4256
- "name": "denormalizedDebt",
4449
+ "name": "startTime",
4257
4450
  "type": "u64"
4258
4451
  },
4259
4452
  {
4260
- "name": "vaultVersion",
4453
+ "name": "lastTransactionTime",
4261
4454
  "type": "u64"
4262
4455
  },
4263
4456
  {
4264
- "name": "debtProductSnapshotBytes",
4457
+ "name": "hedgeRewardAccumulator",
4265
4458
  "type": "u128"
4266
4459
  },
4267
4460
  {
4268
- "name": "collateralAccumulatorSnapshotBytes",
4461
+ "name": "ushFeeAccumulator",
4269
4462
  "type": "u128"
4270
4463
  },
4271
4464
  {
4272
- "name": "collateralType",
4273
- "type": "string"
4465
+ "name": "totalHedgeReward",
4466
+ "type": "u64"
4274
4467
  },
4275
4468
  {
4276
- "name": "debtType",
4277
- "type": {
4278
- "defined": "CurrencyType"
4279
- }
4469
+ "name": "stakedTokenMint",
4470
+ "type": "publicKey"
4280
4471
  },
4281
4472
  {
4282
- "name": "vaultStatus",
4473
+ "name": "seedPhrase",
4283
4474
  "type": {
4284
- "defined": "VaultStatus"
4475
+ "array": [
4476
+ "u8",
4477
+ 12
4478
+ ]
4285
4479
  }
4286
4480
  },
4287
4481
  {
4288
- "name": "timeCreated",
4289
- "type": "u64"
4482
+ "name": "collateralFeeAccumulator",
4483
+ "type": {
4484
+ "array": [
4485
+ "u128",
4486
+ 32
4487
+ ]
4488
+ }
4290
4489
  },
4291
4490
  {
4292
- "name": "timeLastInteraction",
4293
- "type": "u64"
4491
+ "name": "bump",
4492
+ "type": "u8"
4294
4493
  }
4295
4494
  ]
4296
4495
  }
@@ -4468,6 +4667,10 @@ export const IDL: Vault = {
4468
4667
  "name": "canBeRedeemed",
4469
4668
  "type": "bool"
4470
4669
  },
4670
+ {
4671
+ "name": "emergencyModeThreshold",
4672
+ "type": "u64"
4673
+ },
4471
4674
  {
4472
4675
  "name": "cumulativeRate",
4473
4676
  "type": "u128"
@@ -4479,6 +4682,90 @@ export const IDL: Vault = {
4479
4682
  {
4480
4683
  "name": "interestRatePerSecond",
4481
4684
  "type": "u128"
4685
+ },
4686
+ {
4687
+ "name": "firstVaultToRedeem",
4688
+ "type": {
4689
+ "option": "publicKey"
4690
+ }
4691
+ },
4692
+ {
4693
+ "name": "deprecated",
4694
+ "type": "bool"
4695
+ }
4696
+ ]
4697
+ }
4698
+ },
4699
+ {
4700
+ "name": "vault",
4701
+ "type": {
4702
+ "kind": "struct",
4703
+ "fields": [
4704
+ {
4705
+ "name": "vaultOwner",
4706
+ "type": "publicKey"
4707
+ },
4708
+ {
4709
+ "name": "vaultNumber",
4710
+ "type": "u64"
4711
+ },
4712
+ {
4713
+ "name": "deposited",
4714
+ "type": "u64"
4715
+ },
4716
+ {
4717
+ "name": "denormalizedDebt",
4718
+ "type": "u64"
4719
+ },
4720
+ {
4721
+ "name": "collateralType",
4722
+ "type": "string"
4723
+ },
4724
+ {
4725
+ "name": "pdaSalt",
4726
+ "type": "string"
4727
+ },
4728
+ {
4729
+ "name": "bump",
4730
+ "type": "u8"
4731
+ },
4732
+ {
4733
+ "name": "vaultVersion",
4734
+ "type": "u64"
4735
+ },
4736
+ {
4737
+ "name": "debtProductSnapshotBytes",
4738
+ "type": "u128"
4739
+ },
4740
+ {
4741
+ "name": "collateralAccumulatorSnapshotBytes",
4742
+ "type": "u128"
4743
+ },
4744
+ {
4745
+ "name": "debtType",
4746
+ "type": {
4747
+ "defined": "CurrencyType"
4748
+ }
4749
+ },
4750
+ {
4751
+ "name": "vaultStatus",
4752
+ "type": {
4753
+ "defined": "VaultStatus"
4754
+ }
4755
+ },
4756
+ {
4757
+ "name": "timeCreated",
4758
+ "type": "u64"
4759
+ },
4760
+ {
4761
+ "name": "timeLastInteraction",
4762
+ "type": "u64"
4763
+ },
4764
+ {
4765
+ "name": "nextVaultToRedeem",
4766
+ "type": {
4767
+ "option": "publicKey"
4768
+ }
4482
4769
  }
4483
4770
  ]
4484
4771
  }
@@ -4768,12 +5055,12 @@ export const IDL: Vault = {
4768
5055
  {
4769
5056
  "code": 6005,
4770
5057
  "name": "VaultClosed",
4771
- "msg": "Vault cannot be liquidated. It is collateralized."
5058
+ "msg": "Vault closed"
4772
5059
  },
4773
5060
  {
4774
5061
  "code": 6006,
4775
5062
  "name": "VaultNotSubjectToLiquidation",
4776
- "msg": "Vault closed"
5063
+ "msg": "Vault cannot be liquidated. It is collateralized."
4777
5064
  },
4778
5065
  {
4779
5066
  "code": 6007,
@@ -4834,6 +5121,21 @@ export const IDL: Vault = {
4834
5121
  "code": 6018,
4835
5122
  "name": "SystemHalted",
4836
5123
  "msg": "System is currently halted. No actions may be taken at this time."
5124
+ },
5125
+ {
5126
+ "code": 6019,
5127
+ "name": "EntireVaultRedeem",
5128
+ "msg": "Entire vault must be redeemed at this time."
5129
+ },
5130
+ {
5131
+ "code": 6020,
5132
+ "name": "RedeemingNonHighestCollateralRatioVault",
5133
+ "msg": "Can only redeem highest collateral ratio vault in system."
5134
+ },
5135
+ {
5136
+ "code": 6021,
5137
+ "name": "VaultTypeDeprecated",
5138
+ "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."
4837
5139
  }
4838
5140
  ]
4839
5141
  };