hedge-web3 0.1.27 → 0.1.31

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