hedge-web3 0.2.22 → 0.2.24

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 (43) hide show
  1. package/declarations/Constants.d.ts +15 -0
  2. package/declarations/idl/vault.d.ts +832 -179
  3. package/declarations/index.d.ts +26 -21
  4. package/declarations/instructions/closeLiquidationPoolPosition.d.ts +2 -2
  5. package/declarations/instructions/createReferralAccount.d.ts +17 -0
  6. package/declarations/instructions/createUserReferralAccount.d.ts +5 -0
  7. package/declarations/instructions/depositLiquidationPool.d.ts +2 -2
  8. package/declarations/instructions/loanVault.d.ts +2 -2
  9. package/declarations/instructions/psmEditAccount.d.ts +12 -0
  10. package/declarations/instructions/psmMintUsh.d.ts +2 -2
  11. package/declarations/instructions/psmRedeemUsh.d.ts +2 -2
  12. package/declarations/instructions/referralClaimFees.d.ts +16 -0
  13. package/declarations/instructions/updateReferralAccount.d.ts +13 -0
  14. package/declarations/instructions/updateReferralState.d.ts +20 -0
  15. package/lib/Constants.js +36 -1
  16. package/lib/idl/vault.js +830 -177
  17. package/lib/index.js +26 -21
  18. package/lib/instructions/closeLiquidationPoolPosition.js +16 -3
  19. package/lib/instructions/createReferralAccount.js +80 -0
  20. package/lib/instructions/createUserReferralAccount.js +61 -0
  21. package/lib/instructions/depositLiquidationPool.js +16 -5
  22. package/lib/instructions/loanVault.js +16 -3
  23. package/lib/instructions/psmEditAccount.js +60 -0
  24. package/lib/instructions/psmMintUsh.js +14 -3
  25. package/lib/instructions/psmRedeemUsh.js +14 -3
  26. package/lib/instructions/referralClaimFees.js +84 -0
  27. package/lib/instructions/updateReferralAccount.js +50 -0
  28. package/lib/instructions/updateReferralState.js +57 -0
  29. package/package.json +1 -1
  30. package/src/Constants.ts +42 -0
  31. package/src/idl/vault.ts +1845 -539
  32. package/src/index.ts +28 -21
  33. package/src/instructions/closeLiquidationPoolPosition.ts +25 -1
  34. package/src/instructions/createReferralAccount.ts +127 -0
  35. package/src/instructions/createUserReferralAccount.ts +86 -0
  36. package/src/instructions/depositLiquidationPool.ts +24 -4
  37. package/src/instructions/loanVault.ts +20 -1
  38. package/src/instructions/{psmEditAccount.rs → psmEditAccount.ts} +0 -0
  39. package/src/instructions/psmMintUsh.ts +20 -1
  40. package/src/instructions/psmRedeemUsh.ts +20 -1
  41. package/src/instructions/referralClaimFees.ts +159 -0
  42. package/src/instructions/updateReferralAccount.ts +77 -0
  43. package/src/instructions/updateReferralState.ts +93 -0
package/src/idl/vault.ts CHANGED
@@ -285,6 +285,21 @@ export type Vault = {
285
285
  "isMut": true,
286
286
  "isSigner": false
287
287
  },
288
+ {
289
+ "name": "userReferralAccount",
290
+ "isMut": true,
291
+ "isSigner": false
292
+ },
293
+ {
294
+ "name": "referralAccount",
295
+ "isMut": true,
296
+ "isSigner": false
297
+ },
298
+ {
299
+ "name": "referralState",
300
+ "isMut": true,
301
+ "isSigner": false
302
+ },
288
303
  {
289
304
  "name": "associatedTokenProgram",
290
305
  "isMut": false,
@@ -524,6 +539,16 @@ export type Vault = {
524
539
  "isMut": true,
525
540
  "isSigner": false
526
541
  },
542
+ {
543
+ "name": "userReferralAccount",
544
+ "isMut": true,
545
+ "isSigner": false
546
+ },
547
+ {
548
+ "name": "referralAccount",
549
+ "isMut": true,
550
+ "isSigner": false
551
+ },
527
552
  {
528
553
  "name": "systemProgram",
529
554
  "isMut": false,
@@ -891,6 +916,21 @@ export type Vault = {
891
916
  "isMut": true,
892
917
  "isSigner": false
893
918
  },
919
+ {
920
+ "name": "referralState",
921
+ "isMut": true,
922
+ "isSigner": false
923
+ },
924
+ {
925
+ "name": "referralAccount",
926
+ "isMut": true,
927
+ "isSigner": false
928
+ },
929
+ {
930
+ "name": "userReferralAccount",
931
+ "isMut": true,
932
+ "isSigner": false
933
+ },
894
934
  {
895
935
  "name": "systemProgram",
896
936
  "isMut": false,
@@ -1760,62 +1800,51 @@ export type Vault = {
1760
1800
  "args": []
1761
1801
  },
1762
1802
  {
1763
- "name": "psmCreate",
1803
+ "name": "createReferralState",
1764
1804
  "accounts": [
1765
1805
  {
1766
- "name": "payer",
1806
+ "name": "signer",
1767
1807
  "isMut": true,
1768
1808
  "isSigner": true
1769
1809
  },
1770
1810
  {
1771
1811
  "name": "vaultSystemState",
1772
- "isMut": true,
1812
+ "isMut": false,
1773
1813
  "isSigner": false
1774
1814
  },
1775
1815
  {
1776
- "name": "psmAccount",
1816
+ "name": "referralState",
1777
1817
  "isMut": true,
1778
1818
  "isSigner": false
1779
1819
  },
1780
1820
  {
1781
- "name": "collateralMint",
1782
- "isMut": false,
1821
+ "name": "referralAccount",
1822
+ "isMut": true,
1783
1823
  "isSigner": false
1784
1824
  },
1785
1825
  {
1786
1826
  "name": "systemProgram",
1787
1827
  "isMut": false,
1788
1828
  "isSigner": false
1789
- }
1790
- ],
1791
- "args": [
1792
- {
1793
- "name": "mintFee",
1794
- "type": "u64"
1795
- },
1796
- {
1797
- "name": "redeemFee",
1798
- "type": "u64"
1799
- },
1800
- {
1801
- "name": "debtLimit",
1802
- "type": "u64"
1803
1829
  },
1804
1830
  {
1805
- "name": "minSwap",
1806
- "type": "u64"
1831
+ "name": "tokenProgram",
1832
+ "isMut": false,
1833
+ "isSigner": false
1807
1834
  },
1808
1835
  {
1809
- "name": "overrideCurrentTime",
1810
- "type": "i64"
1836
+ "name": "rent",
1837
+ "isMut": false,
1838
+ "isSigner": false
1811
1839
  }
1812
- ]
1840
+ ],
1841
+ "args": []
1813
1842
  },
1814
1843
  {
1815
- "name": "psmEditAccount",
1844
+ "name": "createReferralAccount",
1816
1845
  "accounts": [
1817
1846
  {
1818
- "name": "payer",
1847
+ "name": "signer",
1819
1848
  "isMut": true,
1820
1849
  "isSigner": true
1821
1850
  },
@@ -1825,38 +1854,52 @@ export type Vault = {
1825
1854
  "isSigner": false
1826
1855
  },
1827
1856
  {
1828
- "name": "psmAccount",
1857
+ "name": "referralState",
1829
1858
  "isMut": true,
1830
1859
  "isSigner": false
1831
1860
  },
1832
1861
  {
1833
- "name": "collateralMint",
1834
- "isMut": false,
1862
+ "name": "referralAccount",
1863
+ "isMut": true,
1835
1864
  "isSigner": false
1836
1865
  },
1837
1866
  {
1838
- "name": "systemProgram",
1839
- "isMut": false,
1867
+ "name": "userReferralAccount",
1868
+ "isMut": true,
1840
1869
  "isSigner": false
1841
- }
1842
- ],
1843
- "args": [
1870
+ },
1844
1871
  {
1845
- "name": "mintFee",
1846
- "type": "u64"
1872
+ "name": "poolPosition",
1873
+ "isMut": true,
1874
+ "isSigner": false
1847
1875
  },
1848
1876
  {
1849
- "name": "redeemFee",
1850
- "type": "u64"
1877
+ "name": "hedgeMint",
1878
+ "isMut": true,
1879
+ "isSigner": false
1851
1880
  },
1852
1881
  {
1853
- "name": "debtLimit",
1854
- "type": "u64"
1882
+ "name": "hdgAta",
1883
+ "isMut": true,
1884
+ "isSigner": false
1855
1885
  },
1856
1886
  {
1857
- "name": "minSwap",
1858
- "type": "u64"
1887
+ "name": "systemProgram",
1888
+ "isMut": false,
1889
+ "isSigner": false
1890
+ },
1891
+ {
1892
+ "name": "tokenProgram",
1893
+ "isMut": false,
1894
+ "isSigner": false
1859
1895
  },
1896
+ {
1897
+ "name": "rent",
1898
+ "isMut": false,
1899
+ "isSigner": false
1900
+ }
1901
+ ],
1902
+ "args": [
1860
1903
  {
1861
1904
  "name": "overrideCurrentTime",
1862
1905
  "type": "i64"
@@ -1864,85 +1907,117 @@ export type Vault = {
1864
1907
  ]
1865
1908
  },
1866
1909
  {
1867
- "name": "psmMintUsh",
1910
+ "name": "createUserReferralAccount",
1868
1911
  "accounts": [
1869
1912
  {
1870
- "name": "payer",
1913
+ "name": "signer",
1871
1914
  "isMut": true,
1872
1915
  "isSigner": true
1873
1916
  },
1874
1917
  {
1875
- "name": "vaultSystemState",
1918
+ "name": "userReferralAccount",
1876
1919
  "isMut": true,
1877
1920
  "isSigner": false
1878
1921
  },
1879
1922
  {
1880
- "name": "feePool",
1923
+ "name": "referralAccount",
1881
1924
  "isMut": true,
1882
1925
  "isSigner": false
1883
1926
  },
1884
1927
  {
1885
- "name": "feePoolAssociatedUshTokenAccount",
1886
- "isMut": true,
1928
+ "name": "systemProgram",
1929
+ "isMut": false,
1887
1930
  "isSigner": false
1888
1931
  },
1889
1932
  {
1890
- "name": "psmAccount",
1891
- "isMut": true,
1933
+ "name": "tokenProgram",
1934
+ "isMut": false,
1892
1935
  "isSigner": false
1893
1936
  },
1894
1937
  {
1895
- "name": "psmAccountAta",
1896
- "isMut": true,
1938
+ "name": "rent",
1939
+ "isMut": false,
1897
1940
  "isSigner": false
1898
- },
1941
+ }
1942
+ ],
1943
+ "args": [
1899
1944
  {
1900
- "name": "ownerUshAccount",
1945
+ "name": "overrideCurrentTime",
1946
+ "type": "i64"
1947
+ }
1948
+ ]
1949
+ },
1950
+ {
1951
+ "name": "updateReferralState",
1952
+ "accounts": [
1953
+ {
1954
+ "name": "signer",
1901
1955
  "isMut": true,
1956
+ "isSigner": true
1957
+ },
1958
+ {
1959
+ "name": "vaultSystemState",
1960
+ "isMut": false,
1902
1961
  "isSigner": false
1903
1962
  },
1904
1963
  {
1905
- "name": "ownerCollateralAccount",
1964
+ "name": "referralState",
1906
1965
  "isMut": true,
1907
1966
  "isSigner": false
1908
1967
  },
1909
1968
  {
1910
- "name": "collateralMint",
1969
+ "name": "systemProgram",
1911
1970
  "isMut": false,
1912
1971
  "isSigner": false
1913
- },
1972
+ }
1973
+ ],
1974
+ "args": [
1914
1975
  {
1915
- "name": "ushMint",
1976
+ "name": "config",
1977
+ "type": {
1978
+ "defined": "ReferralStateConfig"
1979
+ }
1980
+ }
1981
+ ]
1982
+ },
1983
+ {
1984
+ "name": "updateReferralAccount",
1985
+ "accounts": [
1986
+ {
1987
+ "name": "signer",
1916
1988
  "isMut": true,
1917
- "isSigner": false
1989
+ "isSigner": true
1918
1990
  },
1919
1991
  {
1920
- "name": "systemProgram",
1992
+ "name": "vaultSystemState",
1921
1993
  "isMut": false,
1922
1994
  "isSigner": false
1923
1995
  },
1924
1996
  {
1925
- "name": "tokenProgram",
1997
+ "name": "referralAccount",
1998
+ "isMut": true,
1999
+ "isSigner": false
2000
+ },
2001
+ {
2002
+ "name": "systemProgram",
1926
2003
  "isMut": false,
1927
2004
  "isSigner": false
1928
2005
  }
1929
2006
  ],
1930
2007
  "args": [
1931
2008
  {
1932
- "name": "collateralAmount",
1933
- "type": "u64"
1934
- },
1935
- {
1936
- "name": "overrideCurrentTime",
1937
- "type": "i64"
2009
+ "name": "config",
2010
+ "type": {
2011
+ "defined": "ReferralAccountConfig"
2012
+ }
1938
2013
  }
1939
2014
  ]
1940
2015
  },
1941
2016
  {
1942
- "name": "psmRedeemUsh",
2017
+ "name": "referralClaimFees",
1943
2018
  "accounts": [
1944
2019
  {
1945
- "name": "payer",
2020
+ "name": "signer",
1946
2021
  "isMut": true,
1947
2022
  "isSigner": true
1948
2023
  },
@@ -1952,42 +2027,52 @@ export type Vault = {
1952
2027
  "isSigner": false
1953
2028
  },
1954
2029
  {
1955
- "name": "feePool",
2030
+ "name": "referralState",
1956
2031
  "isMut": true,
1957
2032
  "isSigner": false
1958
2033
  },
1959
2034
  {
1960
- "name": "feePoolAssociatedUshTokenAccount",
2035
+ "name": "referralAccount",
1961
2036
  "isMut": true,
1962
2037
  "isSigner": false
1963
2038
  },
1964
2039
  {
1965
- "name": "psmAccount",
2040
+ "name": "poolPosition",
1966
2041
  "isMut": true,
1967
2042
  "isSigner": false
1968
2043
  },
1969
2044
  {
1970
- "name": "psmAccountAta",
2045
+ "name": "hedgeMint",
1971
2046
  "isMut": true,
1972
2047
  "isSigner": false
1973
2048
  },
1974
2049
  {
1975
- "name": "ownerUshAccount",
2050
+ "name": "signerHdgAta",
1976
2051
  "isMut": true,
1977
2052
  "isSigner": false
1978
2053
  },
1979
2054
  {
1980
- "name": "ownerCollateralAccount",
2055
+ "name": "ushMint",
1981
2056
  "isMut": true,
1982
2057
  "isSigner": false
1983
2058
  },
1984
2059
  {
1985
- "name": "collateralMint",
1986
- "isMut": false,
2060
+ "name": "signerUshAta",
2061
+ "isMut": true,
1987
2062
  "isSigner": false
1988
2063
  },
1989
2064
  {
1990
- "name": "ushMint",
2065
+ "name": "communityAssociatedHedgeTokenAccount",
2066
+ "isMut": true,
2067
+ "isSigner": false
2068
+ },
2069
+ {
2070
+ "name": "feePool",
2071
+ "isMut": true,
2072
+ "isSigner": false
2073
+ },
2074
+ {
2075
+ "name": "feePoolAssociatedUshTokenAccount",
1991
2076
  "isMut": true,
1992
2077
  "isSigner": false
1993
2078
  },
@@ -2000,26 +2085,22 @@ export type Vault = {
2000
2085
  "name": "tokenProgram",
2001
2086
  "isMut": false,
2002
2087
  "isSigner": false
2003
- }
2004
- ],
2005
- "args": [
2006
- {
2007
- "name": "ushAmount",
2008
- "type": "u64"
2009
2088
  },
2010
2089
  {
2011
- "name": "overrideCurrentTime",
2012
- "type": "i64"
2090
+ "name": "rent",
2091
+ "isMut": false,
2092
+ "isSigner": false
2013
2093
  }
2014
- ]
2094
+ ],
2095
+ "args": []
2015
2096
  },
2016
2097
  {
2017
- "name": "transferVault",
2098
+ "name": "psmCreate",
2018
2099
  "accounts": [
2019
2100
  {
2020
- "name": "vault",
2101
+ "name": "payer",
2021
2102
  "isMut": true,
2022
- "isSigner": false
2103
+ "isSigner": true
2023
2104
  },
2024
2105
  {
2025
2106
  "name": "vaultSystemState",
@@ -2027,19 +2108,14 @@ export type Vault = {
2027
2108
  "isSigner": false
2028
2109
  },
2029
2110
  {
2030
- "name": "vaultType",
2111
+ "name": "psmAccount",
2031
2112
  "isMut": true,
2032
2113
  "isSigner": false
2033
2114
  },
2034
2115
  {
2035
- "name": "history",
2036
- "isMut": true,
2037
- "isSigner": true
2038
- },
2039
- {
2040
- "name": "vaultOwner",
2041
- "isMut": true,
2042
- "isSigner": true
2116
+ "name": "collateralMint",
2117
+ "isMut": false,
2118
+ "isSigner": false
2043
2119
  },
2044
2120
  {
2045
2121
  "name": "systemProgram",
@@ -2049,16 +2125,295 @@ export type Vault = {
2049
2125
  ],
2050
2126
  "args": [
2051
2127
  {
2052
- "name": "newOwner",
2053
- "type": "publicKey"
2054
- }
2055
- ]
2056
- }
2057
- ],
2058
- "accounts": [
2059
- {
2060
- "name": "aggregator",
2061
- "type": {
2128
+ "name": "mintFee",
2129
+ "type": "u64"
2130
+ },
2131
+ {
2132
+ "name": "redeemFee",
2133
+ "type": "u64"
2134
+ },
2135
+ {
2136
+ "name": "debtLimit",
2137
+ "type": "u64"
2138
+ },
2139
+ {
2140
+ "name": "minSwap",
2141
+ "type": "u64"
2142
+ },
2143
+ {
2144
+ "name": "overrideCurrentTime",
2145
+ "type": "i64"
2146
+ }
2147
+ ]
2148
+ },
2149
+ {
2150
+ "name": "psmEditAccount",
2151
+ "accounts": [
2152
+ {
2153
+ "name": "payer",
2154
+ "isMut": true,
2155
+ "isSigner": true
2156
+ },
2157
+ {
2158
+ "name": "vaultSystemState",
2159
+ "isMut": true,
2160
+ "isSigner": false
2161
+ },
2162
+ {
2163
+ "name": "psmAccount",
2164
+ "isMut": true,
2165
+ "isSigner": false
2166
+ },
2167
+ {
2168
+ "name": "collateralMint",
2169
+ "isMut": false,
2170
+ "isSigner": false
2171
+ },
2172
+ {
2173
+ "name": "systemProgram",
2174
+ "isMut": false,
2175
+ "isSigner": false
2176
+ }
2177
+ ],
2178
+ "args": [
2179
+ {
2180
+ "name": "mintFee",
2181
+ "type": "u64"
2182
+ },
2183
+ {
2184
+ "name": "redeemFee",
2185
+ "type": "u64"
2186
+ },
2187
+ {
2188
+ "name": "debtLimit",
2189
+ "type": "u64"
2190
+ },
2191
+ {
2192
+ "name": "minSwap",
2193
+ "type": "u64"
2194
+ },
2195
+ {
2196
+ "name": "overrideCurrentTime",
2197
+ "type": "i64"
2198
+ }
2199
+ ]
2200
+ },
2201
+ {
2202
+ "name": "psmMintUsh",
2203
+ "accounts": [
2204
+ {
2205
+ "name": "payer",
2206
+ "isMut": true,
2207
+ "isSigner": true
2208
+ },
2209
+ {
2210
+ "name": "vaultSystemState",
2211
+ "isMut": true,
2212
+ "isSigner": false
2213
+ },
2214
+ {
2215
+ "name": "feePool",
2216
+ "isMut": true,
2217
+ "isSigner": false
2218
+ },
2219
+ {
2220
+ "name": "feePoolAssociatedUshTokenAccount",
2221
+ "isMut": true,
2222
+ "isSigner": false
2223
+ },
2224
+ {
2225
+ "name": "psmAccount",
2226
+ "isMut": true,
2227
+ "isSigner": false
2228
+ },
2229
+ {
2230
+ "name": "psmAccountAta",
2231
+ "isMut": true,
2232
+ "isSigner": false
2233
+ },
2234
+ {
2235
+ "name": "ownerUshAccount",
2236
+ "isMut": true,
2237
+ "isSigner": false
2238
+ },
2239
+ {
2240
+ "name": "ownerCollateralAccount",
2241
+ "isMut": true,
2242
+ "isSigner": false
2243
+ },
2244
+ {
2245
+ "name": "collateralMint",
2246
+ "isMut": false,
2247
+ "isSigner": false
2248
+ },
2249
+ {
2250
+ "name": "ushMint",
2251
+ "isMut": true,
2252
+ "isSigner": false
2253
+ },
2254
+ {
2255
+ "name": "referralState",
2256
+ "isMut": true,
2257
+ "isSigner": false
2258
+ },
2259
+ {
2260
+ "name": "referralAccount",
2261
+ "isMut": true,
2262
+ "isSigner": false
2263
+ },
2264
+ {
2265
+ "name": "systemProgram",
2266
+ "isMut": false,
2267
+ "isSigner": false
2268
+ },
2269
+ {
2270
+ "name": "tokenProgram",
2271
+ "isMut": false,
2272
+ "isSigner": false
2273
+ }
2274
+ ],
2275
+ "args": [
2276
+ {
2277
+ "name": "collateralAmount",
2278
+ "type": "u64"
2279
+ },
2280
+ {
2281
+ "name": "overrideCurrentTime",
2282
+ "type": "i64"
2283
+ }
2284
+ ]
2285
+ },
2286
+ {
2287
+ "name": "psmRedeemUsh",
2288
+ "accounts": [
2289
+ {
2290
+ "name": "payer",
2291
+ "isMut": true,
2292
+ "isSigner": true
2293
+ },
2294
+ {
2295
+ "name": "vaultSystemState",
2296
+ "isMut": true,
2297
+ "isSigner": false
2298
+ },
2299
+ {
2300
+ "name": "feePool",
2301
+ "isMut": true,
2302
+ "isSigner": false
2303
+ },
2304
+ {
2305
+ "name": "feePoolAssociatedUshTokenAccount",
2306
+ "isMut": true,
2307
+ "isSigner": false
2308
+ },
2309
+ {
2310
+ "name": "psmAccount",
2311
+ "isMut": true,
2312
+ "isSigner": false
2313
+ },
2314
+ {
2315
+ "name": "psmAccountAta",
2316
+ "isMut": true,
2317
+ "isSigner": false
2318
+ },
2319
+ {
2320
+ "name": "ownerUshAccount",
2321
+ "isMut": true,
2322
+ "isSigner": false
2323
+ },
2324
+ {
2325
+ "name": "ownerCollateralAccount",
2326
+ "isMut": true,
2327
+ "isSigner": false
2328
+ },
2329
+ {
2330
+ "name": "collateralMint",
2331
+ "isMut": false,
2332
+ "isSigner": false
2333
+ },
2334
+ {
2335
+ "name": "ushMint",
2336
+ "isMut": true,
2337
+ "isSigner": false
2338
+ },
2339
+ {
2340
+ "name": "referralState",
2341
+ "isMut": true,
2342
+ "isSigner": false
2343
+ },
2344
+ {
2345
+ "name": "referralAccount",
2346
+ "isMut": true,
2347
+ "isSigner": false
2348
+ },
2349
+ {
2350
+ "name": "systemProgram",
2351
+ "isMut": false,
2352
+ "isSigner": false
2353
+ },
2354
+ {
2355
+ "name": "tokenProgram",
2356
+ "isMut": false,
2357
+ "isSigner": false
2358
+ }
2359
+ ],
2360
+ "args": [
2361
+ {
2362
+ "name": "ushAmount",
2363
+ "type": "u64"
2364
+ },
2365
+ {
2366
+ "name": "overrideCurrentTime",
2367
+ "type": "i64"
2368
+ }
2369
+ ]
2370
+ },
2371
+ {
2372
+ "name": "transferVault",
2373
+ "accounts": [
2374
+ {
2375
+ "name": "vault",
2376
+ "isMut": true,
2377
+ "isSigner": false
2378
+ },
2379
+ {
2380
+ "name": "vaultSystemState",
2381
+ "isMut": true,
2382
+ "isSigner": false
2383
+ },
2384
+ {
2385
+ "name": "vaultType",
2386
+ "isMut": true,
2387
+ "isSigner": false
2388
+ },
2389
+ {
2390
+ "name": "history",
2391
+ "isMut": true,
2392
+ "isSigner": true
2393
+ },
2394
+ {
2395
+ "name": "vaultOwner",
2396
+ "isMut": true,
2397
+ "isSigner": true
2398
+ },
2399
+ {
2400
+ "name": "systemProgram",
2401
+ "isMut": false,
2402
+ "isSigner": false
2403
+ }
2404
+ ],
2405
+ "args": [
2406
+ {
2407
+ "name": "newOwner",
2408
+ "type": "publicKey"
2409
+ }
2410
+ ]
2411
+ }
2412
+ ],
2413
+ "accounts": [
2414
+ {
2415
+ "name": "aggregator",
2416
+ "type": {
2062
2417
  "kind": "struct",
2063
2418
  "fields": [
2064
2419
  {
@@ -2216,144 +2571,272 @@ export type Vault = {
2216
2571
  }
2217
2572
  },
2218
2573
  {
2219
- "name": "hedgeRewardsSnapshotAccum",
2220
- "type": "u128"
2574
+ "name": "hedgeRewardsSnapshotAccum",
2575
+ "type": "u128"
2576
+ },
2577
+ {
2578
+ "name": "deposit",
2579
+ "type": "u64"
2580
+ },
2581
+ {
2582
+ "name": "closedUsh",
2583
+ "type": "u64"
2584
+ },
2585
+ {
2586
+ "name": "timestampOpened",
2587
+ "type": "u64"
2588
+ },
2589
+ {
2590
+ "name": "timestampClosed",
2591
+ "type": "u64"
2592
+ },
2593
+ {
2594
+ "name": "state",
2595
+ "type": {
2596
+ "defined": "PositionState"
2597
+ }
2598
+ }
2599
+ ]
2600
+ }
2601
+ },
2602
+ {
2603
+ "name": "oracleInfoForCollateralType",
2604
+ "type": {
2605
+ "kind": "struct",
2606
+ "fields": [
2607
+ {
2608
+ "name": "vaultType",
2609
+ "type": "publicKey"
2610
+ },
2611
+ {
2612
+ "name": "oraclePyth",
2613
+ "type": "publicKey"
2614
+ },
2615
+ {
2616
+ "name": "oracleChainlink",
2617
+ "type": "publicKey"
2618
+ },
2619
+ {
2620
+ "name": "oracleSwitchboard",
2621
+ "type": "publicKey"
2622
+ },
2623
+ {
2624
+ "name": "priorityPyth",
2625
+ "type": "i8"
2626
+ },
2627
+ {
2628
+ "name": "priorityChainlink",
2629
+ "type": "i8"
2630
+ },
2631
+ {
2632
+ "name": "prioritySwitchboard",
2633
+ "type": "i8"
2634
+ },
2635
+ {
2636
+ "name": "vaultTypeName",
2637
+ "type": "string"
2638
+ }
2639
+ ]
2640
+ }
2641
+ },
2642
+ {
2643
+ "name": "psmAccount",
2644
+ "type": {
2645
+ "kind": "struct",
2646
+ "fields": [
2647
+ {
2648
+ "name": "collateralMint",
2649
+ "type": "publicKey"
2650
+ },
2651
+ {
2652
+ "name": "minCollateralRatio",
2653
+ "type": "u128"
2654
+ },
2655
+ {
2656
+ "name": "mintFee",
2657
+ "type": "u128"
2658
+ },
2659
+ {
2660
+ "name": "redeemFee",
2661
+ "type": "u128"
2662
+ },
2663
+ {
2664
+ "name": "totalFeesAccumulatedUsh",
2665
+ "type": "u128"
2666
+ },
2667
+ {
2668
+ "name": "totalFeesAccumulatedCollateral",
2669
+ "type": "u128"
2670
+ },
2671
+ {
2672
+ "name": "recentPrice",
2673
+ "type": "u128"
2674
+ },
2675
+ {
2676
+ "name": "debtLimit",
2677
+ "type": "u64"
2678
+ },
2679
+ {
2680
+ "name": "deposited",
2681
+ "type": "u64"
2682
+ },
2683
+ {
2684
+ "name": "amountMinted",
2685
+ "type": "u64"
2221
2686
  },
2222
2687
  {
2223
- "name": "deposit",
2688
+ "name": "minSwap",
2224
2689
  "type": "u64"
2225
2690
  },
2226
2691
  {
2227
- "name": "closedUsh",
2692
+ "name": "timeCreated",
2228
2693
  "type": "u64"
2229
2694
  },
2230
2695
  {
2231
- "name": "timestampOpened",
2696
+ "name": "timeLastInteraction",
2232
2697
  "type": "u64"
2233
2698
  },
2234
2699
  {
2235
- "name": "timestampClosed",
2700
+ "name": "priceLastUpdatedTimestamp",
2236
2701
  "type": "u64"
2237
2702
  },
2238
2703
  {
2239
- "name": "state",
2704
+ "name": "psmStatus",
2240
2705
  "type": {
2241
- "defined": "PositionState"
2706
+ "defined": "PsmStatus"
2242
2707
  }
2708
+ },
2709
+ {
2710
+ "name": "collateralDecimals",
2711
+ "type": "u8"
2243
2712
  }
2244
2713
  ]
2245
2714
  }
2246
2715
  },
2247
2716
  {
2248
- "name": "oracleInfoForCollateralType",
2717
+ "name": "referralAccount",
2249
2718
  "type": {
2250
2719
  "kind": "struct",
2251
2720
  "fields": [
2252
2721
  {
2253
- "name": "vaultType",
2722
+ "name": "referrer",
2254
2723
  "type": "publicKey"
2255
2724
  },
2256
2725
  {
2257
- "name": "oraclePyth",
2258
- "type": "publicKey"
2726
+ "name": "setupCut",
2727
+ "type": "u128"
2259
2728
  },
2260
2729
  {
2261
- "name": "oracleChainlink",
2262
- "type": "publicKey"
2730
+ "name": "referredUserDiscount",
2731
+ "type": "u128"
2263
2732
  },
2264
2733
  {
2265
- "name": "oracleSwitchboard",
2266
- "type": "publicKey"
2734
+ "name": "stabilityCut",
2735
+ "type": "u128"
2267
2736
  },
2268
2737
  {
2269
- "name": "priorityPyth",
2270
- "type": "i8"
2738
+ "name": "psmCut",
2739
+ "type": "u128"
2271
2740
  },
2272
2741
  {
2273
- "name": "priorityChainlink",
2274
- "type": "i8"
2742
+ "name": "ushAccumulator",
2743
+ "type": "u64"
2275
2744
  },
2276
2745
  {
2277
- "name": "prioritySwitchboard",
2278
- "type": "i8"
2746
+ "name": "hdgAccumulator",
2747
+ "type": "u64"
2279
2748
  },
2280
2749
  {
2281
- "name": "vaultTypeName",
2282
- "type": "string"
2750
+ "name": "ushClaimed",
2751
+ "type": "u64"
2752
+ },
2753
+ {
2754
+ "name": "hdgClaimed",
2755
+ "type": "u64"
2756
+ },
2757
+ {
2758
+ "name": "hdgThreshold",
2759
+ "type": "u64"
2760
+ },
2761
+ {
2762
+ "name": "referralId",
2763
+ "type": "u64"
2283
2764
  }
2284
2765
  ]
2285
2766
  }
2286
2767
  },
2287
2768
  {
2288
- "name": "psmAccount",
2769
+ "name": "referralState",
2289
2770
  "type": {
2290
2771
  "kind": "struct",
2291
2772
  "fields": [
2292
2773
  {
2293
- "name": "collateralMint",
2294
- "type": "publicKey"
2774
+ "name": "setupCut",
2775
+ "type": "u128"
2295
2776
  },
2296
2777
  {
2297
- "name": "minCollateralRatio",
2778
+ "name": "referredUserDiscount",
2298
2779
  "type": "u128"
2299
2780
  },
2300
2781
  {
2301
- "name": "mintFee",
2782
+ "name": "stabilityCut",
2302
2783
  "type": "u128"
2303
2784
  },
2304
2785
  {
2305
- "name": "redeemFee",
2786
+ "name": "psmCut",
2306
2787
  "type": "u128"
2307
2788
  },
2308
2789
  {
2309
- "name": "totalFeesAccumulatedUsh",
2790
+ "name": "maxSetupCut",
2310
2791
  "type": "u128"
2311
2792
  },
2312
2793
  {
2313
- "name": "totalFeesAccumulatedCollateral",
2794
+ "name": "maxReferredDiscount",
2314
2795
  "type": "u128"
2315
2796
  },
2316
2797
  {
2317
- "name": "recentPrice",
2798
+ "name": "maxStabilityCut",
2318
2799
  "type": "u128"
2319
2800
  },
2320
2801
  {
2321
- "name": "debtLimit",
2322
- "type": "u64"
2802
+ "name": "maxPsmCut",
2803
+ "type": "u128"
2323
2804
  },
2324
2805
  {
2325
- "name": "deposited",
2806
+ "name": "referralAccountCount",
2326
2807
  "type": "u64"
2327
2808
  },
2328
2809
  {
2329
- "name": "amountMinted",
2810
+ "name": "hdgThreshold",
2330
2811
  "type": "u64"
2331
2812
  },
2332
2813
  {
2333
- "name": "minSwap",
2814
+ "name": "hdgPsmThreshold",
2334
2815
  "type": "u64"
2335
2816
  },
2336
2817
  {
2337
- "name": "timeCreated",
2338
- "type": "u64"
2818
+ "name": "totalUshClaimed",
2819
+ "type": "u128"
2339
2820
  },
2340
2821
  {
2341
- "name": "timeLastInteraction",
2822
+ "name": "totalHdgClaimed",
2342
2823
  "type": "u64"
2343
2824
  },
2344
2825
  {
2345
- "name": "priceLastUpdatedTimestamp",
2826
+ "name": "totalUshFees",
2827
+ "type": "u128"
2828
+ },
2829
+ {
2830
+ "name": "totalHdgFees",
2346
2831
  "type": "u64"
2347
2832
  },
2348
2833
  {
2349
- "name": "psmStatus",
2350
- "type": {
2351
- "defined": "PsmStatus"
2352
- }
2834
+ "name": "referralPromoThreshold",
2835
+ "type": "u64"
2353
2836
  },
2354
2837
  {
2355
- "name": "collateralDecimals",
2356
- "type": "u8"
2838
+ "name": "referralEnabled",
2839
+ "type": "bool"
2357
2840
  }
2358
2841
  ]
2359
2842
  }
@@ -2484,6 +2967,30 @@ export type Vault = {
2484
2967
  ]
2485
2968
  }
2486
2969
  },
2970
+ {
2971
+ "name": "userReferralAccount",
2972
+ "type": {
2973
+ "kind": "struct",
2974
+ "fields": [
2975
+ {
2976
+ "name": "referralAccount",
2977
+ "type": "publicKey"
2978
+ },
2979
+ {
2980
+ "name": "referrer",
2981
+ "type": "publicKey"
2982
+ },
2983
+ {
2984
+ "name": "referralId",
2985
+ "type": "u64"
2986
+ },
2987
+ {
2988
+ "name": "lastReferrerChange",
2989
+ "type": "u64"
2990
+ }
2991
+ ]
2992
+ }
2993
+ },
2487
2994
  {
2488
2995
  "name": "vaultHistoryEvent",
2489
2996
  "type": {
@@ -2690,6 +3197,14 @@ export type Vault = {
2690
3197
  "type": {
2691
3198
  "option": "publicKey"
2692
3199
  }
3200
+ },
3201
+ {
3202
+ "name": "lastRedeemFeeBytes",
3203
+ "type": "u128"
3204
+ },
3205
+ {
3206
+ "name": "lastRedeemTimestamp",
3207
+ "type": "u64"
2693
3208
  }
2694
3209
  ]
2695
3210
  }
@@ -2816,6 +3331,124 @@ export type Vault = {
2816
3331
  ]
2817
3332
  }
2818
3333
  },
3334
+ {
3335
+ "name": "ReferralAccountConfig",
3336
+ "type": {
3337
+ "kind": "struct",
3338
+ "fields": [
3339
+ {
3340
+ "name": "setupCut",
3341
+ "type": {
3342
+ "option": "u128"
3343
+ }
3344
+ },
3345
+ {
3346
+ "name": "referredUserDiscount",
3347
+ "type": {
3348
+ "option": "u128"
3349
+ }
3350
+ },
3351
+ {
3352
+ "name": "stabilityCut",
3353
+ "type": {
3354
+ "option": "u128"
3355
+ }
3356
+ },
3357
+ {
3358
+ "name": "psmCut",
3359
+ "type": {
3360
+ "option": "u128"
3361
+ }
3362
+ },
3363
+ {
3364
+ "name": "hdgThreshold",
3365
+ "type": {
3366
+ "option": "u64"
3367
+ }
3368
+ }
3369
+ ]
3370
+ }
3371
+ },
3372
+ {
3373
+ "name": "ReferralStateConfig",
3374
+ "type": {
3375
+ "kind": "struct",
3376
+ "fields": [
3377
+ {
3378
+ "name": "setupCut",
3379
+ "type": {
3380
+ "option": "u128"
3381
+ }
3382
+ },
3383
+ {
3384
+ "name": "referredUserDiscount",
3385
+ "type": {
3386
+ "option": "u128"
3387
+ }
3388
+ },
3389
+ {
3390
+ "name": "stabilityCut",
3391
+ "type": {
3392
+ "option": "u128"
3393
+ }
3394
+ },
3395
+ {
3396
+ "name": "psmCut",
3397
+ "type": {
3398
+ "option": "u128"
3399
+ }
3400
+ },
3401
+ {
3402
+ "name": "maxSetupCut",
3403
+ "type": {
3404
+ "option": "u128"
3405
+ }
3406
+ },
3407
+ {
3408
+ "name": "maxReferredDiscount",
3409
+ "type": {
3410
+ "option": "u128"
3411
+ }
3412
+ },
3413
+ {
3414
+ "name": "maxStabilityCut",
3415
+ "type": {
3416
+ "option": "u128"
3417
+ }
3418
+ },
3419
+ {
3420
+ "name": "maxPsmCut",
3421
+ "type": {
3422
+ "option": "u128"
3423
+ }
3424
+ },
3425
+ {
3426
+ "name": "hdgThreshold",
3427
+ "type": {
3428
+ "option": "u64"
3429
+ }
3430
+ },
3431
+ {
3432
+ "name": "hdgPsmThreshold",
3433
+ "type": {
3434
+ "option": "u64"
3435
+ }
3436
+ },
3437
+ {
3438
+ "name": "referralPromoThreshold",
3439
+ "type": {
3440
+ "option": "u64"
3441
+ }
3442
+ },
3443
+ {
3444
+ "name": "referralEnabled",
3445
+ "type": {
3446
+ "option": "bool"
3447
+ }
3448
+ }
3449
+ ]
3450
+ }
3451
+ },
2819
3452
  {
2820
3453
  "name": "VaultTypeConfig",
2821
3454
  "type": {
@@ -3193,131 +3826,151 @@ export type Vault = {
3193
3826
  },
3194
3827
  {
3195
3828
  "code": 6009,
3829
+ "name": "NotAuthorizedToCreateReferralState",
3830
+ "msg": "Signer not authorized to create referral state account"
3831
+ },
3832
+ {
3833
+ "code": 6010,
3196
3834
  "name": "NotAuthorized",
3197
3835
  "msg": "Signer not authorized to call this function"
3198
3836
  },
3199
3837
  {
3200
- "code": 6010,
3838
+ "code": 6011,
3201
3839
  "name": "BadSeed",
3202
3840
  "msg": "Bad Seed"
3203
3841
  },
3204
3842
  {
3205
- "code": 6011,
3843
+ "code": 6012,
3206
3844
  "name": "CollateralPriceOutOfDate",
3207
3845
  "msg": "Collateral price needs to be refreshed. It is only valid for 60 seconds."
3208
3846
  },
3209
3847
  {
3210
- "code": 6012,
3848
+ "code": 6013,
3211
3849
  "name": "EmergencyMode",
3212
3850
  "msg": "System is not accepting any tx that would worsen collateral ratio at this time"
3213
3851
  },
3214
3852
  {
3215
- "code": 6013,
3853
+ "code": 6014,
3216
3854
  "name": "MinDebtRequired",
3217
3855
  "msg": "Vault under the minimum debt limit. Vault must have zero debt or be over the minimum."
3218
3856
  },
3219
3857
  {
3220
- "code": 6014,
3858
+ "code": 6015,
3221
3859
  "name": "PoolPositionAlreadyClosed",
3222
3860
  "msg": "Pool position already closed"
3223
3861
  },
3224
3862
  {
3225
- "code": 6015,
3863
+ "code": 6016,
3226
3864
  "name": "PoolPositionNoYetClosed",
3227
3865
  "msg": "Pool position must be closed to claim reward"
3228
3866
  },
3229
3867
  {
3230
- "code": 6016,
3868
+ "code": 6017,
3231
3869
  "name": "MaxDebtAgainstVaultType",
3232
3870
  "msg": "Max debt extended against vault type reached."
3233
3871
  },
3234
3872
  {
3235
- "code": 6017,
3873
+ "code": 6018,
3236
3874
  "name": "VaultTypeNotRedeemable",
3237
3875
  "msg": "Vault type cannot be redeemed against."
3238
3876
  },
3239
3877
  {
3240
- "code": 6018,
3878
+ "code": 6019,
3241
3879
  "name": "SystemHalted",
3242
3880
  "msg": "System is currently halted. No actions may be taken at this time."
3243
3881
  },
3244
3882
  {
3245
- "code": 6019,
3883
+ "code": 6020,
3246
3884
  "name": "EntireVaultRedeem",
3247
3885
  "msg": "Entire vault must be redeemed at this time."
3248
3886
  },
3249
3887
  {
3250
- "code": 6020,
3888
+ "code": 6021,
3251
3889
  "name": "NotRedeemingLowestCollateralRatioVault",
3252
3890
  "msg": "Can only redeem lowest collateral ratio vault in system."
3253
3891
  },
3254
3892
  {
3255
- "code": 6021,
3893
+ "code": 6022,
3256
3894
  "name": "VaultTypeDeprecated",
3257
3895
  "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."
3258
3896
  },
3259
3897
  {
3260
- "code": 6022,
3898
+ "code": 6023,
3261
3899
  "name": "UpdateLinkedListFailed",
3262
3900
  "msg": "There was an error updating the list of vaults. Please make sure the transaction is fresh."
3263
3901
  },
3264
3902
  {
3265
- "code": 6023,
3903
+ "code": 6024,
3266
3904
  "name": "InvalidSaltLength",
3267
3905
  "msg": "Salt for new vaults must be of length 8"
3268
3906
  },
3269
3907
  {
3270
- "code": 6024,
3908
+ "code": 6025,
3271
3909
  "name": "InvalidNameLength",
3272
3910
  "msg": "Name for new vault type must be length 16"
3273
3911
  },
3274
3912
  {
3275
- "code": 6025,
3913
+ "code": 6026,
3276
3914
  "name": "PositionNotClaimed",
3277
3915
  "msg": "Not all positions claimed. Claim all before closing account to recover SOL rent."
3278
3916
  },
3279
3917
  {
3280
- "code": 6026,
3281
- "name": "PoolWasUsed",
3282
- "msg": "Era was not unused. Cannot reclaim the SOL rent."
3918
+ "code": 6027,
3919
+ "name": "PoolWasUsed",
3920
+ "msg": "Era was not unused. Cannot reclaim the SOL rent."
3921
+ },
3922
+ {
3923
+ "code": 6028,
3924
+ "name": "NotEnoughHDG",
3925
+ "msg": "Need more HDG to open account."
3926
+ },
3927
+ {
3928
+ "code": 6029,
3929
+ "name": "ReferralDisabled",
3930
+ "msg": "Referrals are currently disabled."
3283
3931
  },
3284
3932
  {
3285
- "code": 6027,
3933
+ "code": 6030,
3934
+ "name": "WrongReferralAccount",
3935
+ "msg": "Attempted to pass in wrong referral account."
3936
+ },
3937
+ {
3938
+ "code": 6031,
3286
3939
  "name": "PsmDisabled",
3287
3940
  "msg": "PSM is currently disabled."
3288
3941
  },
3289
3942
  {
3290
- "code": 6028,
3943
+ "code": 6032,
3291
3944
  "name": "PsmMaxDebtReached",
3292
3945
  "msg": "PSM - Max Debt reached"
3293
3946
  },
3294
3947
  {
3295
- "code": 6029,
3948
+ "code": 6033,
3296
3949
  "name": "PsmMinSwapAmount",
3297
3950
  "msg": "PSM - Need more to swap"
3298
3951
  },
3299
3952
  {
3300
- "code": 6030,
3953
+ "code": 6034,
3301
3954
  "name": "UpdateVaultTypeBadMaxDebtExtended",
3302
3955
  "msg": "New Max debt extended value is less than the current debt!"
3303
3956
  },
3304
3957
  {
3305
- "code": 6031,
3958
+ "code": 6035,
3306
3959
  "name": "UpdateVaultTypeNoEnabledOracles",
3307
3960
  "msg": "No Enabled Oracles!"
3308
3961
  },
3309
3962
  {
3310
- "code": 6032,
3963
+ "code": 6036,
3311
3964
  "name": "UpdateVaultTypeDuplicateOraclePriorities",
3312
3965
  "msg": "Duplicate Oracle Priorities"
3313
3966
  },
3314
3967
  {
3315
- "code": 6033,
3968
+ "code": 6037,
3316
3969
  "name": "UpdateVaultTypeInvalidOraclePriority",
3317
3970
  "msg": "Invalid Oracle Priority"
3318
3971
  },
3319
3972
  {
3320
- "code": 6034,
3973
+ "code": 6038,
3321
3974
  "name": "OracleUpdateFailed",
3322
3975
  "msg": "OracleUpdateFailed"
3323
3976
  }
@@ -3611,6 +4264,21 @@ export const IDL: Vault = {
3611
4264
  "isMut": true,
3612
4265
  "isSigner": false
3613
4266
  },
4267
+ {
4268
+ "name": "userReferralAccount",
4269
+ "isMut": true,
4270
+ "isSigner": false
4271
+ },
4272
+ {
4273
+ "name": "referralAccount",
4274
+ "isMut": true,
4275
+ "isSigner": false
4276
+ },
4277
+ {
4278
+ "name": "referralState",
4279
+ "isMut": true,
4280
+ "isSigner": false
4281
+ },
3614
4282
  {
3615
4283
  "name": "associatedTokenProgram",
3616
4284
  "isMut": false,
@@ -3850,6 +4518,16 @@ export const IDL: Vault = {
3850
4518
  "isMut": true,
3851
4519
  "isSigner": false
3852
4520
  },
4521
+ {
4522
+ "name": "userReferralAccount",
4523
+ "isMut": true,
4524
+ "isSigner": false
4525
+ },
4526
+ {
4527
+ "name": "referralAccount",
4528
+ "isMut": true,
4529
+ "isSigner": false
4530
+ },
3853
4531
  {
3854
4532
  "name": "systemProgram",
3855
4533
  "isMut": false,
@@ -4153,47 +4831,292 @@ export const IDL: Vault = {
4153
4831
  "isSigner": false
4154
4832
  },
4155
4833
  {
4156
- "name": "vaultTypeAccount",
4834
+ "name": "vaultTypeAccount",
4835
+ "isMut": true,
4836
+ "isSigner": false
4837
+ },
4838
+ {
4839
+ "name": "vaultTypeAssociatedTokenAccount",
4840
+ "isMut": true,
4841
+ "isSigner": false
4842
+ },
4843
+ {
4844
+ "name": "vaultAssociatedTokenAccount",
4845
+ "isMut": true,
4846
+ "isSigner": false
4847
+ },
4848
+ {
4849
+ "name": "history",
4850
+ "isMut": true,
4851
+ "isSigner": true
4852
+ },
4853
+ {
4854
+ "name": "feePool",
4855
+ "isMut": true,
4856
+ "isSigner": false
4857
+ },
4858
+ {
4859
+ "name": "feePoolAssociatedUshTokenAccount",
4860
+ "isMut": true,
4861
+ "isSigner": false
4862
+ },
4863
+ {
4864
+ "name": "ushMint",
4865
+ "isMut": true,
4866
+ "isSigner": false
4867
+ },
4868
+ {
4869
+ "name": "vaultOwner",
4870
+ "isMut": true,
4871
+ "isSigner": true
4872
+ },
4873
+ {
4874
+ "name": "ownerUshAccount",
4875
+ "isMut": true,
4876
+ "isSigner": false
4877
+ },
4878
+ {
4879
+ "name": "oldSmallerVaultInfo",
4880
+ "isMut": true,
4881
+ "isSigner": false
4882
+ },
4883
+ {
4884
+ "name": "newSmallerVaultInfo",
4885
+ "isMut": true,
4886
+ "isSigner": false
4887
+ },
4888
+ {
4889
+ "name": "newLargerVaultInfo",
4890
+ "isMut": false,
4891
+ "isSigner": false
4892
+ },
4893
+ {
4894
+ "name": "vaultAccount",
4895
+ "isMut": true,
4896
+ "isSigner": false
4897
+ },
4898
+ {
4899
+ "name": "referralState",
4900
+ "isMut": true,
4901
+ "isSigner": false
4902
+ },
4903
+ {
4904
+ "name": "referralAccount",
4905
+ "isMut": true,
4906
+ "isSigner": false
4907
+ },
4908
+ {
4909
+ "name": "userReferralAccount",
4910
+ "isMut": true,
4911
+ "isSigner": false
4912
+ },
4913
+ {
4914
+ "name": "systemProgram",
4915
+ "isMut": false,
4916
+ "isSigner": false
4917
+ },
4918
+ {
4919
+ "name": "tokenProgram",
4920
+ "isMut": false,
4921
+ "isSigner": false
4922
+ }
4923
+ ],
4924
+ "args": [
4925
+ {
4926
+ "name": "normalizedLoanAmount",
4927
+ "type": "u64"
4928
+ },
4929
+ {
4930
+ "name": "overrideCurrentTime",
4931
+ "type": "i64"
4932
+ }
4933
+ ]
4934
+ },
4935
+ {
4936
+ "name": "redeemVault",
4937
+ "accounts": [
4938
+ {
4939
+ "name": "vaultSystemState",
4940
+ "isMut": true,
4941
+ "isSigner": false
4942
+ },
4943
+ {
4944
+ "name": "vaultTypeAccount",
4945
+ "isMut": true,
4946
+ "isSigner": false
4947
+ },
4948
+ {
4949
+ "name": "vaultTypeAssociatedTokenAccount",
4950
+ "isMut": true,
4951
+ "isSigner": false
4952
+ },
4953
+ {
4954
+ "name": "vaultAssociatedTokenAccount",
4955
+ "isMut": true,
4956
+ "isSigner": false
4957
+ },
4958
+ {
4959
+ "name": "history",
4960
+ "isMut": true,
4961
+ "isSigner": true
4962
+ },
4963
+ {
4964
+ "name": "ushMint",
4965
+ "isMut": true,
4966
+ "isSigner": false
4967
+ },
4968
+ {
4969
+ "name": "feePool",
4970
+ "isMut": true,
4971
+ "isSigner": false
4972
+ },
4973
+ {
4974
+ "name": "feePoolAssociatedUshTokenAccount",
4975
+ "isMut": true,
4976
+ "isSigner": false
4977
+ },
4978
+ {
4979
+ "name": "payer",
4980
+ "isMut": true,
4981
+ "isSigner": true
4982
+ },
4983
+ {
4984
+ "name": "payerUshAccount",
4985
+ "isMut": true,
4986
+ "isSigner": false
4987
+ },
4988
+ {
4989
+ "name": "destinationTokenAccount",
4990
+ "isMut": true,
4991
+ "isSigner": false
4992
+ },
4993
+ {
4994
+ "name": "oldSmallerVaultInfo",
4995
+ "isMut": true,
4996
+ "isSigner": false
4997
+ },
4998
+ {
4999
+ "name": "newSmallerVaultInfo",
5000
+ "isMut": true,
5001
+ "isSigner": false
5002
+ },
5003
+ {
5004
+ "name": "newLargerVaultInfo",
5005
+ "isMut": false,
5006
+ "isSigner": false
5007
+ },
5008
+ {
5009
+ "name": "vault",
5010
+ "isMut": true,
5011
+ "isSigner": false
5012
+ },
5013
+ {
5014
+ "name": "systemProgram",
5015
+ "isMut": false,
5016
+ "isSigner": false
5017
+ },
5018
+ {
5019
+ "name": "tokenProgram",
5020
+ "isMut": false,
5021
+ "isSigner": false
5022
+ }
5023
+ ],
5024
+ "args": [
5025
+ {
5026
+ "name": "redeemPayUsh",
5027
+ "type": "u64"
5028
+ },
5029
+ {
5030
+ "name": "overrideCurrentTime",
5031
+ "type": "i64"
5032
+ }
5033
+ ]
5034
+ },
5035
+ {
5036
+ "name": "liquidateVault",
5037
+ "accounts": [
5038
+ {
5039
+ "name": "vaultSystemState",
5040
+ "isMut": true,
5041
+ "isSigner": false
5042
+ },
5043
+ {
5044
+ "name": "vaultTypeAccount",
5045
+ "isMut": true,
5046
+ "isSigner": false
5047
+ },
5048
+ {
5049
+ "name": "vaultTypeAssociatedTokenAccount",
5050
+ "isMut": true,
5051
+ "isSigner": false
5052
+ },
5053
+ {
5054
+ "name": "collateralMint",
4157
5055
  "isMut": true,
4158
5056
  "isSigner": false
4159
5057
  },
4160
5058
  {
4161
- "name": "vaultTypeAssociatedTokenAccount",
5059
+ "name": "vaultAssociatedTokenAccount",
4162
5060
  "isMut": true,
4163
5061
  "isSigner": false
4164
5062
  },
4165
5063
  {
4166
- "name": "vaultAssociatedTokenAccount",
5064
+ "name": "poolState",
4167
5065
  "isMut": true,
4168
5066
  "isSigner": false
4169
5067
  },
4170
5068
  {
4171
- "name": "history",
5069
+ "name": "poolAssociatedTokenAccount",
4172
5070
  "isMut": true,
4173
- "isSigner": true
5071
+ "isSigner": false
4174
5072
  },
4175
5073
  {
4176
5074
  "name": "feePool",
4177
5075
  "isMut": true,
4178
5076
  "isSigner": false
4179
5077
  },
5078
+ {
5079
+ "name": "feePoolAssociatedTokenAccount",
5080
+ "isMut": true,
5081
+ "isSigner": false
5082
+ },
4180
5083
  {
4181
5084
  "name": "feePoolAssociatedUshTokenAccount",
4182
5085
  "isMut": true,
4183
5086
  "isSigner": false
4184
5087
  },
5088
+ {
5089
+ "name": "liquidationPoolUshAccount",
5090
+ "isMut": true,
5091
+ "isSigner": false
5092
+ },
4185
5093
  {
4186
5094
  "name": "ushMint",
4187
5095
  "isMut": true,
4188
5096
  "isSigner": false
4189
5097
  },
4190
5098
  {
4191
- "name": "vaultOwner",
5099
+ "name": "poolEra",
5100
+ "isMut": true,
5101
+ "isSigner": false
5102
+ },
5103
+ {
5104
+ "name": "newEra",
4192
5105
  "isMut": true,
4193
5106
  "isSigner": true
4194
5107
  },
4195
5108
  {
4196
- "name": "ownerUshAccount",
5109
+ "name": "history",
5110
+ "isMut": true,
5111
+ "isSigner": true
5112
+ },
5113
+ {
5114
+ "name": "payer",
5115
+ "isMut": true,
5116
+ "isSigner": true
5117
+ },
5118
+ {
5119
+ "name": "payerAssociatedTokenAccount",
4197
5120
  "isMut": true,
4198
5121
  "isSigner": false
4199
5122
  },
@@ -4217,6 +5140,11 @@ export const IDL: Vault = {
4217
5140
  "isMut": true,
4218
5141
  "isSigner": false
4219
5142
  },
5143
+ {
5144
+ "name": "associatedTokenProgram",
5145
+ "isMut": false,
5146
+ "isSigner": false
5147
+ },
4220
5148
  {
4221
5149
  "name": "systemProgram",
4222
5150
  "isMut": false,
@@ -4226,13 +5154,14 @@ export const IDL: Vault = {
4226
5154
  "name": "tokenProgram",
4227
5155
  "isMut": false,
4228
5156
  "isSigner": false
5157
+ },
5158
+ {
5159
+ "name": "rent",
5160
+ "isMut": false,
5161
+ "isSigner": false
4229
5162
  }
4230
5163
  ],
4231
5164
  "args": [
4232
- {
4233
- "name": "normalizedLoanAmount",
4234
- "type": "u64"
4235
- },
4236
5165
  {
4237
5166
  "name": "overrideCurrentTime",
4238
5167
  "type": "i64"
@@ -4240,10 +5169,10 @@ export const IDL: Vault = {
4240
5169
  ]
4241
5170
  },
4242
5171
  {
4243
- "name": "redeemVault",
5172
+ "name": "refreshOraclePrice",
4244
5173
  "accounts": [
4245
5174
  {
4246
- "name": "vaultSystemState",
5175
+ "name": "oracleInfoAccount",
4247
5176
  "isMut": true,
4248
5177
  "isSigner": false
4249
5178
  },
@@ -4253,22 +5182,62 @@ export const IDL: Vault = {
4253
5182
  "isSigner": false
4254
5183
  },
4255
5184
  {
4256
- "name": "vaultTypeAssociatedTokenAccount",
5185
+ "name": "oracleChainlink",
5186
+ "isMut": false,
5187
+ "isSigner": false
5188
+ },
5189
+ {
5190
+ "name": "oraclePyth",
5191
+ "isMut": false,
5192
+ "isSigner": false
5193
+ },
5194
+ {
5195
+ "name": "oracleSwitchboard",
5196
+ "isMut": false,
5197
+ "isSigner": false
5198
+ },
5199
+ {
5200
+ "name": "systemProgram",
5201
+ "isMut": false,
5202
+ "isSigner": false
5203
+ },
5204
+ {
5205
+ "name": "chainlinkProgram",
5206
+ "isMut": false,
5207
+ "isSigner": false
5208
+ }
5209
+ ],
5210
+ "args": [
5211
+ {
5212
+ "name": "overrideResult",
5213
+ "type": "u64"
5214
+ },
5215
+ {
5216
+ "name": "overrideCurrentTime",
5217
+ "type": "i64"
5218
+ }
5219
+ ]
5220
+ },
5221
+ {
5222
+ "name": "repayVault",
5223
+ "accounts": [
5224
+ {
5225
+ "name": "vaultSystemState",
4257
5226
  "isMut": true,
4258
5227
  "isSigner": false
4259
5228
  },
4260
5229
  {
4261
- "name": "vaultAssociatedTokenAccount",
5230
+ "name": "vaultTypeAccount",
4262
5231
  "isMut": true,
4263
5232
  "isSigner": false
4264
5233
  },
4265
5234
  {
4266
- "name": "history",
5235
+ "name": "vaultTypeAssociatedTokenAccount",
4267
5236
  "isMut": true,
4268
- "isSigner": true
5237
+ "isSigner": false
4269
5238
  },
4270
5239
  {
4271
- "name": "ushMint",
5240
+ "name": "vaultAssociatedTokenAccount",
4272
5241
  "isMut": true,
4273
5242
  "isSigner": false
4274
5243
  },
@@ -4283,17 +5252,22 @@ export const IDL: Vault = {
4283
5252
  "isSigner": false
4284
5253
  },
4285
5254
  {
4286
- "name": "payer",
5255
+ "name": "history",
4287
5256
  "isMut": true,
4288
5257
  "isSigner": true
4289
5258
  },
4290
5259
  {
4291
- "name": "payerUshAccount",
5260
+ "name": "ushMint",
4292
5261
  "isMut": true,
4293
5262
  "isSigner": false
4294
5263
  },
4295
5264
  {
4296
- "name": "destinationTokenAccount",
5265
+ "name": "vaultOwner",
5266
+ "isMut": true,
5267
+ "isSigner": true
5268
+ },
5269
+ {
5270
+ "name": "ownerUshAccount",
4297
5271
  "isMut": true,
4298
5272
  "isSigner": false
4299
5273
  },
@@ -4313,7 +5287,7 @@ export const IDL: Vault = {
4313
5287
  "isSigner": false
4314
5288
  },
4315
5289
  {
4316
- "name": "vault",
5290
+ "name": "vaultAccount",
4317
5291
  "isMut": true,
4318
5292
  "isSigner": false
4319
5293
  },
@@ -4330,7 +5304,7 @@ export const IDL: Vault = {
4330
5304
  ],
4331
5305
  "args": [
4332
5306
  {
4333
- "name": "redeemPayUsh",
5307
+ "name": "repayAmount",
4334
5308
  "type": "u64"
4335
5309
  },
4336
5310
  {
@@ -4340,167 +5314,164 @@ export const IDL: Vault = {
4340
5314
  ]
4341
5315
  },
4342
5316
  {
4343
- "name": "liquidateVault",
5317
+ "name": "setTokenMetadata",
4344
5318
  "accounts": [
4345
5319
  {
4346
- "name": "vaultSystemState",
5320
+ "name": "metadataAccount",
4347
5321
  "isMut": true,
4348
5322
  "isSigner": false
4349
5323
  },
4350
5324
  {
4351
- "name": "vaultTypeAccount",
5325
+ "name": "mint",
4352
5326
  "isMut": true,
4353
5327
  "isSigner": false
4354
5328
  },
4355
5329
  {
4356
- "name": "vaultTypeAssociatedTokenAccount",
5330
+ "name": "payer",
4357
5331
  "isMut": true,
4358
- "isSigner": false
5332
+ "isSigner": true
4359
5333
  },
4360
5334
  {
4361
- "name": "collateralMint",
5335
+ "name": "vaultSystemState",
4362
5336
  "isMut": true,
4363
5337
  "isSigner": false
4364
5338
  },
4365
5339
  {
4366
- "name": "vaultAssociatedTokenAccount",
4367
- "isMut": true,
5340
+ "name": "tokenMetadataProgram",
5341
+ "isMut": false,
4368
5342
  "isSigner": false
4369
5343
  },
4370
5344
  {
4371
- "name": "poolState",
4372
- "isMut": true,
5345
+ "name": "associatedTokenProgram",
5346
+ "isMut": false,
4373
5347
  "isSigner": false
4374
5348
  },
4375
5349
  {
4376
- "name": "poolAssociatedTokenAccount",
4377
- "isMut": true,
5350
+ "name": "systemProgram",
5351
+ "isMut": false,
4378
5352
  "isSigner": false
4379
5353
  },
4380
5354
  {
4381
- "name": "feePool",
4382
- "isMut": true,
5355
+ "name": "tokenProgram",
5356
+ "isMut": false,
4383
5357
  "isSigner": false
4384
5358
  },
4385
5359
  {
4386
- "name": "feePoolAssociatedTokenAccount",
4387
- "isMut": true,
5360
+ "name": "rent",
5361
+ "isMut": false,
4388
5362
  "isSigner": false
4389
- },
5363
+ }
5364
+ ],
5365
+ "args": [
4390
5366
  {
4391
- "name": "feePoolAssociatedUshTokenAccount",
4392
- "isMut": true,
4393
- "isSigner": false
5367
+ "name": "mintPdaSeed",
5368
+ "type": "string"
4394
5369
  },
4395
5370
  {
4396
- "name": "liquidationPoolUshAccount",
4397
- "isMut": true,
4398
- "isSigner": false
5371
+ "name": "tokenName",
5372
+ "type": "string"
4399
5373
  },
4400
5374
  {
4401
- "name": "ushMint",
4402
- "isMut": true,
4403
- "isSigner": false
5375
+ "name": "tokenSymbol",
5376
+ "type": "string"
4404
5377
  },
4405
5378
  {
4406
- "name": "poolEra",
4407
- "isMut": true,
4408
- "isSigner": false
5379
+ "name": "tokenUri",
5380
+ "type": "string"
4409
5381
  },
4410
5382
  {
4411
- "name": "newEra",
5383
+ "name": "firstTime",
5384
+ "type": "bool"
5385
+ }
5386
+ ]
5387
+ },
5388
+ {
5389
+ "name": "setHalted",
5390
+ "accounts": [
5391
+ {
5392
+ "name": "payer",
4412
5393
  "isMut": true,
4413
5394
  "isSigner": true
4414
5395
  },
4415
5396
  {
4416
- "name": "history",
5397
+ "name": "vaultSystemState",
4417
5398
  "isMut": true,
4418
- "isSigner": true
4419
- },
5399
+ "isSigner": false
5400
+ }
5401
+ ],
5402
+ "args": [
5403
+ {
5404
+ "name": "halted",
5405
+ "type": "bool"
5406
+ }
5407
+ ]
5408
+ },
5409
+ {
5410
+ "name": "withdrawStakingPool",
5411
+ "accounts": [
4420
5412
  {
4421
5413
  "name": "payer",
4422
5414
  "isMut": true,
4423
5415
  "isSigner": true
4424
5416
  },
4425
5417
  {
4426
- "name": "payerAssociatedTokenAccount",
5418
+ "name": "vaultSystemState",
4427
5419
  "isMut": true,
4428
5420
  "isSigner": false
4429
5421
  },
4430
5422
  {
4431
- "name": "oldSmallerVaultInfo",
5423
+ "name": "pool",
4432
5424
  "isMut": true,
4433
5425
  "isSigner": false
4434
5426
  },
4435
5427
  {
4436
- "name": "newSmallerVaultInfo",
5428
+ "name": "poolPosition",
4437
5429
  "isMut": true,
4438
5430
  "isSigner": false
4439
5431
  },
4440
5432
  {
4441
- "name": "newLargerVaultInfo",
4442
- "isMut": false,
4443
- "isSigner": false
4444
- },
4445
- {
4446
- "name": "vaultAccount",
5433
+ "name": "hedgeMint",
4447
5434
  "isMut": true,
4448
5435
  "isSigner": false
4449
5436
  },
4450
5437
  {
4451
- "name": "associatedTokenProgram",
4452
- "isMut": false,
5438
+ "name": "stakedTokenMint",
5439
+ "isMut": true,
4453
5440
  "isSigner": false
4454
5441
  },
4455
5442
  {
4456
- "name": "systemProgram",
5443
+ "name": "ushMint",
4457
5444
  "isMut": false,
4458
5445
  "isSigner": false
4459
5446
  },
4460
5447
  {
4461
- "name": "tokenProgram",
4462
- "isMut": false,
5448
+ "name": "payerAssociatedStakedTokenAccount",
5449
+ "isMut": true,
4463
5450
  "isSigner": false
4464
5451
  },
4465
5452
  {
4466
- "name": "rent",
4467
- "isMut": false,
4468
- "isSigner": false
4469
- }
4470
- ],
4471
- "args": [
4472
- {
4473
- "name": "overrideCurrentTime",
4474
- "type": "i64"
4475
- }
4476
- ]
4477
- },
4478
- {
4479
- "name": "refreshOraclePrice",
4480
- "accounts": [
4481
- {
4482
- "name": "oracleInfoAccount",
5453
+ "name": "payerAssociatedHedgeAccount",
4483
5454
  "isMut": true,
4484
5455
  "isSigner": false
4485
5456
  },
4486
5457
  {
4487
- "name": "vaultTypeAccount",
5458
+ "name": "payerAssociatedUshAccount",
4488
5459
  "isMut": true,
4489
5460
  "isSigner": false
4490
5461
  },
4491
5462
  {
4492
- "name": "oracleChainlink",
4493
- "isMut": false,
5463
+ "name": "poolAssociatedStakedTokenAccount",
5464
+ "isMut": true,
4494
5465
  "isSigner": false
4495
5466
  },
4496
5467
  {
4497
- "name": "oraclePyth",
4498
- "isMut": false,
5468
+ "name": "poolAssociatedUshTokenAccount",
5469
+ "isMut": true,
4499
5470
  "isSigner": false
4500
5471
  },
4501
5472
  {
4502
- "name": "oracleSwitchboard",
4503
- "isMut": false,
5473
+ "name": "communityAssociatedHedgeTokenAccount",
5474
+ "isMut": true,
4504
5475
  "isSigner": false
4505
5476
  },
4506
5477
  {
@@ -4509,16 +5480,12 @@ export const IDL: Vault = {
4509
5480
  "isSigner": false
4510
5481
  },
4511
5482
  {
4512
- "name": "chainlinkProgram",
5483
+ "name": "tokenProgram",
4513
5484
  "isMut": false,
4514
5485
  "isSigner": false
4515
5486
  }
4516
5487
  ],
4517
5488
  "args": [
4518
- {
4519
- "name": "overrideResult",
4520
- "type": "u64"
4521
- },
4522
5489
  {
4523
5490
  "name": "overrideCurrentTime",
4524
5491
  "type": "i64"
@@ -4526,7 +5493,7 @@ export const IDL: Vault = {
4526
5493
  ]
4527
5494
  },
4528
5495
  {
4529
- "name": "repayVault",
5496
+ "name": "withdrawVault",
4530
5497
  "accounts": [
4531
5498
  {
4532
5499
  "name": "vaultSystemState",
@@ -4564,17 +5531,17 @@ export const IDL: Vault = {
4564
5531
  "isSigner": true
4565
5532
  },
4566
5533
  {
4567
- "name": "ushMint",
5534
+ "name": "vaultOwner",
4568
5535
  "isMut": true,
4569
- "isSigner": false
5536
+ "isSigner": true
4570
5537
  },
4571
5538
  {
4572
- "name": "vaultOwner",
5539
+ "name": "destinationTokenAccount",
4573
5540
  "isMut": true,
4574
- "isSigner": true
5541
+ "isSigner": false
4575
5542
  },
4576
5543
  {
4577
- "name": "ownerUshAccount",
5544
+ "name": "ushMint",
4578
5545
  "isMut": true,
4579
5546
  "isSigner": false
4580
5547
  },
@@ -4594,7 +5561,7 @@ export const IDL: Vault = {
4594
5561
  "isSigner": false
4595
5562
  },
4596
5563
  {
4597
- "name": "vaultAccount",
5564
+ "name": "vault",
4598
5565
  "isMut": true,
4599
5566
  "isSigner": false
4600
5567
  },
@@ -4611,7 +5578,7 @@ export const IDL: Vault = {
4611
5578
  ],
4612
5579
  "args": [
4613
5580
  {
4614
- "name": "repayAmount",
5581
+ "name": "withdrawAmount",
4615
5582
  "type": "u64"
4616
5583
  },
4617
5584
  {
@@ -4621,18 +5588,41 @@ export const IDL: Vault = {
4621
5588
  ]
4622
5589
  },
4623
5590
  {
4624
- "name": "setTokenMetadata",
5591
+ "name": "updateVaultType",
4625
5592
  "accounts": [
4626
5593
  {
4627
- "name": "metadataAccount",
5594
+ "name": "payer",
5595
+ "isMut": true,
5596
+ "isSigner": true
5597
+ },
5598
+ {
5599
+ "name": "vaultSystemState",
4628
5600
  "isMut": true,
4629
5601
  "isSigner": false
4630
5602
  },
4631
5603
  {
4632
- "name": "mint",
5604
+ "name": "vaultType",
4633
5605
  "isMut": true,
4634
5606
  "isSigner": false
4635
5607
  },
5608
+ {
5609
+ "name": "oracleInfoAccount",
5610
+ "isMut": true,
5611
+ "isSigner": false
5612
+ }
5613
+ ],
5614
+ "args": [
5615
+ {
5616
+ "name": "config",
5617
+ "type": {
5618
+ "defined": "VaultTypeConfig"
5619
+ }
5620
+ }
5621
+ ]
5622
+ },
5623
+ {
5624
+ "name": "fixVaultRedeemPointer",
5625
+ "accounts": [
4636
5626
  {
4637
5627
  "name": "payer",
4638
5628
  "isMut": true,
@@ -4644,56 +5634,52 @@ export const IDL: Vault = {
4644
5634
  "isSigner": false
4645
5635
  },
4646
5636
  {
4647
- "name": "tokenMetadataProgram",
4648
- "isMut": false,
5637
+ "name": "vaultAccount",
5638
+ "isMut": true,
4649
5639
  "isSigner": false
4650
- },
5640
+ }
5641
+ ],
5642
+ "args": []
5643
+ },
5644
+ {
5645
+ "name": "adminSetRedeemPointer",
5646
+ "accounts": [
4651
5647
  {
4652
- "name": "associatedTokenProgram",
4653
- "isMut": false,
4654
- "isSigner": false
5648
+ "name": "payer",
5649
+ "isMut": true,
5650
+ "isSigner": true
4655
5651
  },
4656
5652
  {
4657
- "name": "systemProgram",
4658
- "isMut": false,
5653
+ "name": "vaultSystemState",
5654
+ "isMut": true,
4659
5655
  "isSigner": false
4660
5656
  },
4661
5657
  {
4662
- "name": "tokenProgram",
4663
- "isMut": false,
5658
+ "name": "vaultAccount",
5659
+ "isMut": true,
4664
5660
  "isSigner": false
4665
5661
  },
4666
5662
  {
4667
- "name": "rent",
4668
- "isMut": false,
5663
+ "name": "vaultTypeAccount",
5664
+ "isMut": true,
4669
5665
  "isSigner": false
4670
5666
  }
4671
5667
  ],
4672
5668
  "args": [
4673
5669
  {
4674
- "name": "mintPdaSeed",
4675
- "type": "string"
4676
- },
4677
- {
4678
- "name": "tokenName",
4679
- "type": "string"
4680
- },
4681
- {
4682
- "name": "tokenSymbol",
4683
- "type": "string"
4684
- },
4685
- {
4686
- "name": "tokenUri",
4687
- "type": "string"
5670
+ "name": "settingHead",
5671
+ "type": "bool"
4688
5672
  },
4689
5673
  {
4690
- "name": "firstTime",
4691
- "type": "bool"
5674
+ "name": "pointerToSet",
5675
+ "type": {
5676
+ "option": "publicKey"
5677
+ }
4692
5678
  }
4693
5679
  ]
4694
5680
  },
4695
5681
  {
4696
- "name": "setHalted",
5682
+ "name": "adminMigrateVault",
4697
5683
  "accounts": [
4698
5684
  {
4699
5685
  "name": "payer",
@@ -4704,17 +5690,22 @@ export const IDL: Vault = {
4704
5690
  "name": "vaultSystemState",
4705
5691
  "isMut": true,
4706
5692
  "isSigner": false
4707
- }
4708
- ],
4709
- "args": [
5693
+ },
4710
5694
  {
4711
- "name": "halted",
4712
- "type": "bool"
5695
+ "name": "vaultAccount",
5696
+ "isMut": true,
5697
+ "isSigner": false
5698
+ },
5699
+ {
5700
+ "name": "vaultTypeAccount",
5701
+ "isMut": true,
5702
+ "isSigner": false
4713
5703
  }
4714
- ]
5704
+ ],
5705
+ "args": []
4715
5706
  },
4716
5707
  {
4717
- "name": "withdrawStakingPool",
5708
+ "name": "adminMigrateOracle",
4718
5709
  "accounts": [
4719
5710
  {
4720
5711
  "name": "payer",
@@ -4727,57 +5718,86 @@ export const IDL: Vault = {
4727
5718
  "isSigner": false
4728
5719
  },
4729
5720
  {
4730
- "name": "pool",
5721
+ "name": "oracleInfoAccount",
4731
5722
  "isMut": true,
4732
5723
  "isSigner": false
4733
5724
  },
4734
5725
  {
4735
- "name": "poolPosition",
5726
+ "name": "vaultTypeAccount",
4736
5727
  "isMut": true,
4737
5728
  "isSigner": false
4738
- },
5729
+ }
5730
+ ],
5731
+ "args": []
5732
+ },
5733
+ {
5734
+ "name": "closeClaimedLiquidationPoolPosition",
5735
+ "accounts": [
4739
5736
  {
4740
- "name": "hedgeMint",
5737
+ "name": "payer",
4741
5738
  "isMut": true,
4742
- "isSigner": false
5739
+ "isSigner": true
4743
5740
  },
4744
5741
  {
4745
- "name": "stakedTokenMint",
5742
+ "name": "poolPosition",
4746
5743
  "isMut": true,
4747
5744
  "isSigner": false
4748
- },
5745
+ }
5746
+ ],
5747
+ "args": []
5748
+ },
5749
+ {
5750
+ "name": "closeClaimedStakingPoolPosition",
5751
+ "accounts": [
4749
5752
  {
4750
- "name": "ushMint",
4751
- "isMut": false,
4752
- "isSigner": false
5753
+ "name": "payer",
5754
+ "isMut": true,
5755
+ "isSigner": true
4753
5756
  },
4754
5757
  {
4755
- "name": "payerAssociatedStakedTokenAccount",
5758
+ "name": "poolPosition",
4756
5759
  "isMut": true,
4757
5760
  "isSigner": false
4758
- },
5761
+ }
5762
+ ],
5763
+ "args": []
5764
+ },
5765
+ {
5766
+ "name": "closeUnusedPoolEra",
5767
+ "accounts": [
4759
5768
  {
4760
- "name": "payerAssociatedHedgeAccount",
5769
+ "name": "payer",
4761
5770
  "isMut": true,
4762
- "isSigner": false
5771
+ "isSigner": true
4763
5772
  },
4764
5773
  {
4765
- "name": "payerAssociatedUshAccount",
5774
+ "name": "poolEra",
4766
5775
  "isMut": true,
4767
5776
  "isSigner": false
4768
- },
5777
+ }
5778
+ ],
5779
+ "args": []
5780
+ },
5781
+ {
5782
+ "name": "createReferralState",
5783
+ "accounts": [
4769
5784
  {
4770
- "name": "poolAssociatedStakedTokenAccount",
5785
+ "name": "signer",
4771
5786
  "isMut": true,
5787
+ "isSigner": true
5788
+ },
5789
+ {
5790
+ "name": "vaultSystemState",
5791
+ "isMut": false,
4772
5792
  "isSigner": false
4773
5793
  },
4774
5794
  {
4775
- "name": "poolAssociatedUshTokenAccount",
5795
+ "name": "referralState",
4776
5796
  "isMut": true,
4777
5797
  "isSigner": false
4778
5798
  },
4779
5799
  {
4780
- "name": "communityAssociatedHedgeTokenAccount",
5800
+ "name": "referralAccount",
4781
5801
  "isMut": true,
4782
5802
  "isSigner": false
4783
5803
  },
@@ -4790,85 +5810,96 @@ export const IDL: Vault = {
4790
5810
  "name": "tokenProgram",
4791
5811
  "isMut": false,
4792
5812
  "isSigner": false
4793
- }
4794
- ],
4795
- "args": [
5813
+ },
4796
5814
  {
4797
- "name": "overrideCurrentTime",
4798
- "type": "i64"
5815
+ "name": "rent",
5816
+ "isMut": false,
5817
+ "isSigner": false
4799
5818
  }
4800
- ]
5819
+ ],
5820
+ "args": []
4801
5821
  },
4802
5822
  {
4803
- "name": "withdrawVault",
5823
+ "name": "createReferralAccount",
4804
5824
  "accounts": [
4805
5825
  {
4806
- "name": "vaultSystemState",
5826
+ "name": "signer",
4807
5827
  "isMut": true,
4808
- "isSigner": false
5828
+ "isSigner": true
4809
5829
  },
4810
5830
  {
4811
- "name": "vaultTypeAccount",
5831
+ "name": "vaultSystemState",
4812
5832
  "isMut": true,
4813
5833
  "isSigner": false
4814
5834
  },
4815
5835
  {
4816
- "name": "vaultTypeAssociatedTokenAccount",
5836
+ "name": "referralState",
4817
5837
  "isMut": true,
4818
5838
  "isSigner": false
4819
5839
  },
4820
5840
  {
4821
- "name": "vaultAssociatedTokenAccount",
5841
+ "name": "referralAccount",
4822
5842
  "isMut": true,
4823
5843
  "isSigner": false
4824
5844
  },
4825
5845
  {
4826
- "name": "feePool",
5846
+ "name": "userReferralAccount",
4827
5847
  "isMut": true,
4828
5848
  "isSigner": false
4829
5849
  },
4830
5850
  {
4831
- "name": "feePoolAssociatedUshTokenAccount",
5851
+ "name": "poolPosition",
4832
5852
  "isMut": true,
4833
5853
  "isSigner": false
4834
5854
  },
4835
5855
  {
4836
- "name": "history",
5856
+ "name": "hedgeMint",
4837
5857
  "isMut": true,
4838
- "isSigner": true
5858
+ "isSigner": false
4839
5859
  },
4840
5860
  {
4841
- "name": "vaultOwner",
5861
+ "name": "hdgAta",
4842
5862
  "isMut": true,
4843
- "isSigner": true
5863
+ "isSigner": false
4844
5864
  },
4845
5865
  {
4846
- "name": "destinationTokenAccount",
4847
- "isMut": true,
5866
+ "name": "systemProgram",
5867
+ "isMut": false,
4848
5868
  "isSigner": false
4849
5869
  },
4850
5870
  {
4851
- "name": "ushMint",
4852
- "isMut": true,
5871
+ "name": "tokenProgram",
5872
+ "isMut": false,
4853
5873
  "isSigner": false
4854
5874
  },
4855
5875
  {
4856
- "name": "oldSmallerVaultInfo",
4857
- "isMut": true,
5876
+ "name": "rent",
5877
+ "isMut": false,
4858
5878
  "isSigner": false
4859
- },
5879
+ }
5880
+ ],
5881
+ "args": [
4860
5882
  {
4861
- "name": "newSmallerVaultInfo",
5883
+ "name": "overrideCurrentTime",
5884
+ "type": "i64"
5885
+ }
5886
+ ]
5887
+ },
5888
+ {
5889
+ "name": "createUserReferralAccount",
5890
+ "accounts": [
5891
+ {
5892
+ "name": "signer",
4862
5893
  "isMut": true,
4863
- "isSigner": false
5894
+ "isSigner": true
4864
5895
  },
4865
5896
  {
4866
- "name": "newLargerVaultInfo",
4867
- "isMut": false,
5897
+ "name": "userReferralAccount",
5898
+ "isMut": true,
4868
5899
  "isSigner": false
4869
5900
  },
4870
5901
  {
4871
- "name": "vault",
5902
+ "name": "referralAccount",
4872
5903
  "isMut": true,
4873
5904
  "isSigner": false
4874
5905
  },
@@ -4881,13 +5912,14 @@ export const IDL: Vault = {
4881
5912
  "name": "tokenProgram",
4882
5913
  "isMut": false,
4883
5914
  "isSigner": false
5915
+ },
5916
+ {
5917
+ "name": "rent",
5918
+ "isMut": false,
5919
+ "isSigner": false
4884
5920
  }
4885
5921
  ],
4886
5922
  "args": [
4887
- {
4888
- "name": "withdrawAmount",
4889
- "type": "u64"
4890
- },
4891
5923
  {
4892
5924
  "name": "overrideCurrentTime",
4893
5925
  "type": "i64"
@@ -4895,26 +5927,26 @@ export const IDL: Vault = {
4895
5927
  ]
4896
5928
  },
4897
5929
  {
4898
- "name": "updateVaultType",
5930
+ "name": "updateReferralState",
4899
5931
  "accounts": [
4900
5932
  {
4901
- "name": "payer",
5933
+ "name": "signer",
4902
5934
  "isMut": true,
4903
5935
  "isSigner": true
4904
5936
  },
4905
5937
  {
4906
5938
  "name": "vaultSystemState",
4907
- "isMut": true,
5939
+ "isMut": false,
4908
5940
  "isSigner": false
4909
5941
  },
4910
5942
  {
4911
- "name": "vaultType",
5943
+ "name": "referralState",
4912
5944
  "isMut": true,
4913
5945
  "isSigner": false
4914
5946
  },
4915
5947
  {
4916
- "name": "oracleInfoAccount",
4917
- "isMut": true,
5948
+ "name": "systemProgram",
5949
+ "isMut": false,
4918
5950
  "isSigner": false
4919
5951
  }
4920
5952
  ],
@@ -4922,74 +5954,49 @@ export const IDL: Vault = {
4922
5954
  {
4923
5955
  "name": "config",
4924
5956
  "type": {
4925
- "defined": "VaultTypeConfig"
5957
+ "defined": "ReferralStateConfig"
4926
5958
  }
4927
5959
  }
4928
5960
  ]
4929
5961
  },
4930
5962
  {
4931
- "name": "fixVaultRedeemPointer",
4932
- "accounts": [
4933
- {
4934
- "name": "payer",
4935
- "isMut": true,
4936
- "isSigner": true
4937
- },
4938
- {
4939
- "name": "vaultSystemState",
4940
- "isMut": true,
4941
- "isSigner": false
4942
- },
4943
- {
4944
- "name": "vaultAccount",
4945
- "isMut": true,
4946
- "isSigner": false
4947
- }
4948
- ],
4949
- "args": []
4950
- },
4951
- {
4952
- "name": "adminSetRedeemPointer",
5963
+ "name": "updateReferralAccount",
4953
5964
  "accounts": [
4954
5965
  {
4955
- "name": "payer",
5966
+ "name": "signer",
4956
5967
  "isMut": true,
4957
5968
  "isSigner": true
4958
5969
  },
4959
5970
  {
4960
5971
  "name": "vaultSystemState",
4961
- "isMut": true,
5972
+ "isMut": false,
4962
5973
  "isSigner": false
4963
5974
  },
4964
5975
  {
4965
- "name": "vaultAccount",
5976
+ "name": "referralAccount",
4966
5977
  "isMut": true,
4967
5978
  "isSigner": false
4968
5979
  },
4969
5980
  {
4970
- "name": "vaultTypeAccount",
4971
- "isMut": true,
5981
+ "name": "systemProgram",
5982
+ "isMut": false,
4972
5983
  "isSigner": false
4973
5984
  }
4974
5985
  ],
4975
5986
  "args": [
4976
5987
  {
4977
- "name": "settingHead",
4978
- "type": "bool"
4979
- },
4980
- {
4981
- "name": "pointerToSet",
5988
+ "name": "config",
4982
5989
  "type": {
4983
- "option": "publicKey"
5990
+ "defined": "ReferralAccountConfig"
4984
5991
  }
4985
5992
  }
4986
5993
  ]
4987
5994
  },
4988
5995
  {
4989
- "name": "adminMigrateVault",
5996
+ "name": "referralClaimFees",
4990
5997
  "accounts": [
4991
5998
  {
4992
- "name": "payer",
5999
+ "name": "signer",
4993
6000
  "isMut": true,
4994
6001
  "isSigner": true
4995
6002
  },
@@ -4999,87 +6006,68 @@ export const IDL: Vault = {
4999
6006
  "isSigner": false
5000
6007
  },
5001
6008
  {
5002
- "name": "vaultAccount",
6009
+ "name": "referralState",
5003
6010
  "isMut": true,
5004
6011
  "isSigner": false
5005
6012
  },
5006
6013
  {
5007
- "name": "vaultTypeAccount",
6014
+ "name": "referralAccount",
5008
6015
  "isMut": true,
5009
6016
  "isSigner": false
5010
- }
5011
- ],
5012
- "args": []
5013
- },
5014
- {
5015
- "name": "adminMigrateOracle",
5016
- "accounts": [
6017
+ },
5017
6018
  {
5018
- "name": "payer",
6019
+ "name": "poolPosition",
5019
6020
  "isMut": true,
5020
- "isSigner": true
6021
+ "isSigner": false
5021
6022
  },
5022
6023
  {
5023
- "name": "vaultSystemState",
6024
+ "name": "hedgeMint",
5024
6025
  "isMut": true,
5025
6026
  "isSigner": false
5026
6027
  },
5027
6028
  {
5028
- "name": "oracleInfoAccount",
6029
+ "name": "signerHdgAta",
5029
6030
  "isMut": true,
5030
6031
  "isSigner": false
5031
6032
  },
5032
6033
  {
5033
- "name": "vaultTypeAccount",
6034
+ "name": "ushMint",
5034
6035
  "isMut": true,
5035
6036
  "isSigner": false
5036
- }
5037
- ],
5038
- "args": []
5039
- },
5040
- {
5041
- "name": "closeClaimedLiquidationPoolPosition",
5042
- "accounts": [
6037
+ },
5043
6038
  {
5044
- "name": "payer",
6039
+ "name": "signerUshAta",
5045
6040
  "isMut": true,
5046
- "isSigner": true
6041
+ "isSigner": false
5047
6042
  },
5048
6043
  {
5049
- "name": "poolPosition",
6044
+ "name": "communityAssociatedHedgeTokenAccount",
5050
6045
  "isMut": true,
5051
6046
  "isSigner": false
5052
- }
5053
- ],
5054
- "args": []
5055
- },
5056
- {
5057
- "name": "closeClaimedStakingPoolPosition",
5058
- "accounts": [
6047
+ },
5059
6048
  {
5060
- "name": "payer",
6049
+ "name": "feePool",
5061
6050
  "isMut": true,
5062
- "isSigner": true
6051
+ "isSigner": false
5063
6052
  },
5064
6053
  {
5065
- "name": "poolPosition",
6054
+ "name": "feePoolAssociatedUshTokenAccount",
5066
6055
  "isMut": true,
5067
6056
  "isSigner": false
5068
- }
5069
- ],
5070
- "args": []
5071
- },
5072
- {
5073
- "name": "closeUnusedPoolEra",
5074
- "accounts": [
6057
+ },
5075
6058
  {
5076
- "name": "payer",
5077
- "isMut": true,
5078
- "isSigner": true
6059
+ "name": "systemProgram",
6060
+ "isMut": false,
6061
+ "isSigner": false
5079
6062
  },
5080
6063
  {
5081
- "name": "poolEra",
5082
- "isMut": true,
6064
+ "name": "tokenProgram",
6065
+ "isMut": false,
6066
+ "isSigner": false
6067
+ },
6068
+ {
6069
+ "name": "rent",
6070
+ "isMut": false,
5083
6071
  "isSigner": false
5084
6072
  }
5085
6073
  ],
@@ -5242,6 +6230,16 @@ export const IDL: Vault = {
5242
6230
  "isMut": true,
5243
6231
  "isSigner": false
5244
6232
  },
6233
+ {
6234
+ "name": "referralState",
6235
+ "isMut": true,
6236
+ "isSigner": false
6237
+ },
6238
+ {
6239
+ "name": "referralAccount",
6240
+ "isMut": true,
6241
+ "isSigner": false
6242
+ },
5245
6243
  {
5246
6244
  "name": "systemProgram",
5247
6245
  "isMut": false,
@@ -5317,6 +6315,16 @@ export const IDL: Vault = {
5317
6315
  "isMut": true,
5318
6316
  "isSigner": false
5319
6317
  },
6318
+ {
6319
+ "name": "referralState",
6320
+ "isMut": true,
6321
+ "isSigner": false
6322
+ },
6323
+ {
6324
+ "name": "referralAccount",
6325
+ "isMut": true,
6326
+ "isSigner": false
6327
+ },
5320
6328
  {
5321
6329
  "name": "systemProgram",
5322
6330
  "isMut": false,
@@ -5562,124 +6570,252 @@ export const IDL: Vault = {
5562
6570
  "type": "u64"
5563
6571
  },
5564
6572
  {
5565
- "name": "state",
6573
+ "name": "state",
6574
+ "type": {
6575
+ "defined": "PositionState"
6576
+ }
6577
+ }
6578
+ ]
6579
+ }
6580
+ },
6581
+ {
6582
+ "name": "oracleInfoForCollateralType",
6583
+ "type": {
6584
+ "kind": "struct",
6585
+ "fields": [
6586
+ {
6587
+ "name": "vaultType",
6588
+ "type": "publicKey"
6589
+ },
6590
+ {
6591
+ "name": "oraclePyth",
6592
+ "type": "publicKey"
6593
+ },
6594
+ {
6595
+ "name": "oracleChainlink",
6596
+ "type": "publicKey"
6597
+ },
6598
+ {
6599
+ "name": "oracleSwitchboard",
6600
+ "type": "publicKey"
6601
+ },
6602
+ {
6603
+ "name": "priorityPyth",
6604
+ "type": "i8"
6605
+ },
6606
+ {
6607
+ "name": "priorityChainlink",
6608
+ "type": "i8"
6609
+ },
6610
+ {
6611
+ "name": "prioritySwitchboard",
6612
+ "type": "i8"
6613
+ },
6614
+ {
6615
+ "name": "vaultTypeName",
6616
+ "type": "string"
6617
+ }
6618
+ ]
6619
+ }
6620
+ },
6621
+ {
6622
+ "name": "psmAccount",
6623
+ "type": {
6624
+ "kind": "struct",
6625
+ "fields": [
6626
+ {
6627
+ "name": "collateralMint",
6628
+ "type": "publicKey"
6629
+ },
6630
+ {
6631
+ "name": "minCollateralRatio",
6632
+ "type": "u128"
6633
+ },
6634
+ {
6635
+ "name": "mintFee",
6636
+ "type": "u128"
6637
+ },
6638
+ {
6639
+ "name": "redeemFee",
6640
+ "type": "u128"
6641
+ },
6642
+ {
6643
+ "name": "totalFeesAccumulatedUsh",
6644
+ "type": "u128"
6645
+ },
6646
+ {
6647
+ "name": "totalFeesAccumulatedCollateral",
6648
+ "type": "u128"
6649
+ },
6650
+ {
6651
+ "name": "recentPrice",
6652
+ "type": "u128"
6653
+ },
6654
+ {
6655
+ "name": "debtLimit",
6656
+ "type": "u64"
6657
+ },
6658
+ {
6659
+ "name": "deposited",
6660
+ "type": "u64"
6661
+ },
6662
+ {
6663
+ "name": "amountMinted",
6664
+ "type": "u64"
6665
+ },
6666
+ {
6667
+ "name": "minSwap",
6668
+ "type": "u64"
6669
+ },
6670
+ {
6671
+ "name": "timeCreated",
6672
+ "type": "u64"
6673
+ },
6674
+ {
6675
+ "name": "timeLastInteraction",
6676
+ "type": "u64"
6677
+ },
6678
+ {
6679
+ "name": "priceLastUpdatedTimestamp",
6680
+ "type": "u64"
6681
+ },
6682
+ {
6683
+ "name": "psmStatus",
5566
6684
  "type": {
5567
- "defined": "PositionState"
6685
+ "defined": "PsmStatus"
5568
6686
  }
6687
+ },
6688
+ {
6689
+ "name": "collateralDecimals",
6690
+ "type": "u8"
5569
6691
  }
5570
6692
  ]
5571
6693
  }
5572
6694
  },
5573
6695
  {
5574
- "name": "oracleInfoForCollateralType",
6696
+ "name": "referralAccount",
5575
6697
  "type": {
5576
6698
  "kind": "struct",
5577
6699
  "fields": [
5578
6700
  {
5579
- "name": "vaultType",
6701
+ "name": "referrer",
5580
6702
  "type": "publicKey"
5581
6703
  },
5582
6704
  {
5583
- "name": "oraclePyth",
5584
- "type": "publicKey"
6705
+ "name": "setupCut",
6706
+ "type": "u128"
5585
6707
  },
5586
6708
  {
5587
- "name": "oracleChainlink",
5588
- "type": "publicKey"
6709
+ "name": "referredUserDiscount",
6710
+ "type": "u128"
5589
6711
  },
5590
6712
  {
5591
- "name": "oracleSwitchboard",
5592
- "type": "publicKey"
6713
+ "name": "stabilityCut",
6714
+ "type": "u128"
5593
6715
  },
5594
6716
  {
5595
- "name": "priorityPyth",
5596
- "type": "i8"
6717
+ "name": "psmCut",
6718
+ "type": "u128"
5597
6719
  },
5598
6720
  {
5599
- "name": "priorityChainlink",
5600
- "type": "i8"
6721
+ "name": "ushAccumulator",
6722
+ "type": "u64"
5601
6723
  },
5602
6724
  {
5603
- "name": "prioritySwitchboard",
5604
- "type": "i8"
6725
+ "name": "hdgAccumulator",
6726
+ "type": "u64"
5605
6727
  },
5606
6728
  {
5607
- "name": "vaultTypeName",
5608
- "type": "string"
6729
+ "name": "ushClaimed",
6730
+ "type": "u64"
6731
+ },
6732
+ {
6733
+ "name": "hdgClaimed",
6734
+ "type": "u64"
6735
+ },
6736
+ {
6737
+ "name": "hdgThreshold",
6738
+ "type": "u64"
6739
+ },
6740
+ {
6741
+ "name": "referralId",
6742
+ "type": "u64"
5609
6743
  }
5610
6744
  ]
5611
6745
  }
5612
6746
  },
5613
6747
  {
5614
- "name": "psmAccount",
6748
+ "name": "referralState",
5615
6749
  "type": {
5616
6750
  "kind": "struct",
5617
6751
  "fields": [
5618
6752
  {
5619
- "name": "collateralMint",
5620
- "type": "publicKey"
6753
+ "name": "setupCut",
6754
+ "type": "u128"
5621
6755
  },
5622
6756
  {
5623
- "name": "minCollateralRatio",
6757
+ "name": "referredUserDiscount",
5624
6758
  "type": "u128"
5625
6759
  },
5626
6760
  {
5627
- "name": "mintFee",
6761
+ "name": "stabilityCut",
5628
6762
  "type": "u128"
5629
6763
  },
5630
6764
  {
5631
- "name": "redeemFee",
6765
+ "name": "psmCut",
5632
6766
  "type": "u128"
5633
6767
  },
5634
6768
  {
5635
- "name": "totalFeesAccumulatedUsh",
6769
+ "name": "maxSetupCut",
5636
6770
  "type": "u128"
5637
6771
  },
5638
6772
  {
5639
- "name": "totalFeesAccumulatedCollateral",
6773
+ "name": "maxReferredDiscount",
5640
6774
  "type": "u128"
5641
6775
  },
5642
6776
  {
5643
- "name": "recentPrice",
6777
+ "name": "maxStabilityCut",
5644
6778
  "type": "u128"
5645
6779
  },
5646
6780
  {
5647
- "name": "debtLimit",
5648
- "type": "u64"
6781
+ "name": "maxPsmCut",
6782
+ "type": "u128"
5649
6783
  },
5650
6784
  {
5651
- "name": "deposited",
6785
+ "name": "referralAccountCount",
5652
6786
  "type": "u64"
5653
6787
  },
5654
6788
  {
5655
- "name": "amountMinted",
6789
+ "name": "hdgThreshold",
5656
6790
  "type": "u64"
5657
6791
  },
5658
6792
  {
5659
- "name": "minSwap",
6793
+ "name": "hdgPsmThreshold",
5660
6794
  "type": "u64"
5661
6795
  },
5662
6796
  {
5663
- "name": "timeCreated",
5664
- "type": "u64"
6797
+ "name": "totalUshClaimed",
6798
+ "type": "u128"
5665
6799
  },
5666
6800
  {
5667
- "name": "timeLastInteraction",
6801
+ "name": "totalHdgClaimed",
5668
6802
  "type": "u64"
5669
6803
  },
5670
6804
  {
5671
- "name": "priceLastUpdatedTimestamp",
6805
+ "name": "totalUshFees",
6806
+ "type": "u128"
6807
+ },
6808
+ {
6809
+ "name": "totalHdgFees",
5672
6810
  "type": "u64"
5673
6811
  },
5674
6812
  {
5675
- "name": "psmStatus",
5676
- "type": {
5677
- "defined": "PsmStatus"
5678
- }
6813
+ "name": "referralPromoThreshold",
6814
+ "type": "u64"
5679
6815
  },
5680
6816
  {
5681
- "name": "collateralDecimals",
5682
- "type": "u8"
6817
+ "name": "referralEnabled",
6818
+ "type": "bool"
5683
6819
  }
5684
6820
  ]
5685
6821
  }
@@ -5810,6 +6946,30 @@ export const IDL: Vault = {
5810
6946
  ]
5811
6947
  }
5812
6948
  },
6949
+ {
6950
+ "name": "userReferralAccount",
6951
+ "type": {
6952
+ "kind": "struct",
6953
+ "fields": [
6954
+ {
6955
+ "name": "referralAccount",
6956
+ "type": "publicKey"
6957
+ },
6958
+ {
6959
+ "name": "referrer",
6960
+ "type": "publicKey"
6961
+ },
6962
+ {
6963
+ "name": "referralId",
6964
+ "type": "u64"
6965
+ },
6966
+ {
6967
+ "name": "lastReferrerChange",
6968
+ "type": "u64"
6969
+ }
6970
+ ]
6971
+ }
6972
+ },
5813
6973
  {
5814
6974
  "name": "vaultHistoryEvent",
5815
6975
  "type": {
@@ -6016,6 +7176,14 @@ export const IDL: Vault = {
6016
7176
  "type": {
6017
7177
  "option": "publicKey"
6018
7178
  }
7179
+ },
7180
+ {
7181
+ "name": "lastRedeemFeeBytes",
7182
+ "type": "u128"
7183
+ },
7184
+ {
7185
+ "name": "lastRedeemTimestamp",
7186
+ "type": "u64"
6019
7187
  }
6020
7188
  ]
6021
7189
  }
@@ -6142,6 +7310,124 @@ export const IDL: Vault = {
6142
7310
  ]
6143
7311
  }
6144
7312
  },
7313
+ {
7314
+ "name": "ReferralAccountConfig",
7315
+ "type": {
7316
+ "kind": "struct",
7317
+ "fields": [
7318
+ {
7319
+ "name": "setupCut",
7320
+ "type": {
7321
+ "option": "u128"
7322
+ }
7323
+ },
7324
+ {
7325
+ "name": "referredUserDiscount",
7326
+ "type": {
7327
+ "option": "u128"
7328
+ }
7329
+ },
7330
+ {
7331
+ "name": "stabilityCut",
7332
+ "type": {
7333
+ "option": "u128"
7334
+ }
7335
+ },
7336
+ {
7337
+ "name": "psmCut",
7338
+ "type": {
7339
+ "option": "u128"
7340
+ }
7341
+ },
7342
+ {
7343
+ "name": "hdgThreshold",
7344
+ "type": {
7345
+ "option": "u64"
7346
+ }
7347
+ }
7348
+ ]
7349
+ }
7350
+ },
7351
+ {
7352
+ "name": "ReferralStateConfig",
7353
+ "type": {
7354
+ "kind": "struct",
7355
+ "fields": [
7356
+ {
7357
+ "name": "setupCut",
7358
+ "type": {
7359
+ "option": "u128"
7360
+ }
7361
+ },
7362
+ {
7363
+ "name": "referredUserDiscount",
7364
+ "type": {
7365
+ "option": "u128"
7366
+ }
7367
+ },
7368
+ {
7369
+ "name": "stabilityCut",
7370
+ "type": {
7371
+ "option": "u128"
7372
+ }
7373
+ },
7374
+ {
7375
+ "name": "psmCut",
7376
+ "type": {
7377
+ "option": "u128"
7378
+ }
7379
+ },
7380
+ {
7381
+ "name": "maxSetupCut",
7382
+ "type": {
7383
+ "option": "u128"
7384
+ }
7385
+ },
7386
+ {
7387
+ "name": "maxReferredDiscount",
7388
+ "type": {
7389
+ "option": "u128"
7390
+ }
7391
+ },
7392
+ {
7393
+ "name": "maxStabilityCut",
7394
+ "type": {
7395
+ "option": "u128"
7396
+ }
7397
+ },
7398
+ {
7399
+ "name": "maxPsmCut",
7400
+ "type": {
7401
+ "option": "u128"
7402
+ }
7403
+ },
7404
+ {
7405
+ "name": "hdgThreshold",
7406
+ "type": {
7407
+ "option": "u64"
7408
+ }
7409
+ },
7410
+ {
7411
+ "name": "hdgPsmThreshold",
7412
+ "type": {
7413
+ "option": "u64"
7414
+ }
7415
+ },
7416
+ {
7417
+ "name": "referralPromoThreshold",
7418
+ "type": {
7419
+ "option": "u64"
7420
+ }
7421
+ },
7422
+ {
7423
+ "name": "referralEnabled",
7424
+ "type": {
7425
+ "option": "bool"
7426
+ }
7427
+ }
7428
+ ]
7429
+ }
7430
+ },
6145
7431
  {
6146
7432
  "name": "VaultTypeConfig",
6147
7433
  "type": {
@@ -6519,131 +7805,151 @@ export const IDL: Vault = {
6519
7805
  },
6520
7806
  {
6521
7807
  "code": 6009,
7808
+ "name": "NotAuthorizedToCreateReferralState",
7809
+ "msg": "Signer not authorized to create referral state account"
7810
+ },
7811
+ {
7812
+ "code": 6010,
6522
7813
  "name": "NotAuthorized",
6523
7814
  "msg": "Signer not authorized to call this function"
6524
7815
  },
6525
7816
  {
6526
- "code": 6010,
7817
+ "code": 6011,
6527
7818
  "name": "BadSeed",
6528
7819
  "msg": "Bad Seed"
6529
7820
  },
6530
7821
  {
6531
- "code": 6011,
7822
+ "code": 6012,
6532
7823
  "name": "CollateralPriceOutOfDate",
6533
7824
  "msg": "Collateral price needs to be refreshed. It is only valid for 60 seconds."
6534
7825
  },
6535
7826
  {
6536
- "code": 6012,
7827
+ "code": 6013,
6537
7828
  "name": "EmergencyMode",
6538
7829
  "msg": "System is not accepting any tx that would worsen collateral ratio at this time"
6539
7830
  },
6540
7831
  {
6541
- "code": 6013,
7832
+ "code": 6014,
6542
7833
  "name": "MinDebtRequired",
6543
7834
  "msg": "Vault under the minimum debt limit. Vault must have zero debt or be over the minimum."
6544
7835
  },
6545
7836
  {
6546
- "code": 6014,
7837
+ "code": 6015,
6547
7838
  "name": "PoolPositionAlreadyClosed",
6548
7839
  "msg": "Pool position already closed"
6549
7840
  },
6550
7841
  {
6551
- "code": 6015,
7842
+ "code": 6016,
6552
7843
  "name": "PoolPositionNoYetClosed",
6553
7844
  "msg": "Pool position must be closed to claim reward"
6554
7845
  },
6555
7846
  {
6556
- "code": 6016,
7847
+ "code": 6017,
6557
7848
  "name": "MaxDebtAgainstVaultType",
6558
7849
  "msg": "Max debt extended against vault type reached."
6559
7850
  },
6560
7851
  {
6561
- "code": 6017,
7852
+ "code": 6018,
6562
7853
  "name": "VaultTypeNotRedeemable",
6563
7854
  "msg": "Vault type cannot be redeemed against."
6564
7855
  },
6565
7856
  {
6566
- "code": 6018,
7857
+ "code": 6019,
6567
7858
  "name": "SystemHalted",
6568
7859
  "msg": "System is currently halted. No actions may be taken at this time."
6569
7860
  },
6570
7861
  {
6571
- "code": 6019,
7862
+ "code": 6020,
6572
7863
  "name": "EntireVaultRedeem",
6573
7864
  "msg": "Entire vault must be redeemed at this time."
6574
7865
  },
6575
7866
  {
6576
- "code": 6020,
7867
+ "code": 6021,
6577
7868
  "name": "NotRedeemingLowestCollateralRatioVault",
6578
7869
  "msg": "Can only redeem lowest collateral ratio vault in system."
6579
7870
  },
6580
7871
  {
6581
- "code": 6021,
7872
+ "code": 6022,
6582
7873
  "name": "VaultTypeDeprecated",
6583
7874
  "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."
6584
7875
  },
6585
7876
  {
6586
- "code": 6022,
7877
+ "code": 6023,
6587
7878
  "name": "UpdateLinkedListFailed",
6588
7879
  "msg": "There was an error updating the list of vaults. Please make sure the transaction is fresh."
6589
7880
  },
6590
7881
  {
6591
- "code": 6023,
7882
+ "code": 6024,
6592
7883
  "name": "InvalidSaltLength",
6593
7884
  "msg": "Salt for new vaults must be of length 8"
6594
7885
  },
6595
7886
  {
6596
- "code": 6024,
7887
+ "code": 6025,
6597
7888
  "name": "InvalidNameLength",
6598
7889
  "msg": "Name for new vault type must be length 16"
6599
7890
  },
6600
7891
  {
6601
- "code": 6025,
7892
+ "code": 6026,
6602
7893
  "name": "PositionNotClaimed",
6603
7894
  "msg": "Not all positions claimed. Claim all before closing account to recover SOL rent."
6604
7895
  },
6605
7896
  {
6606
- "code": 6026,
7897
+ "code": 6027,
6607
7898
  "name": "PoolWasUsed",
6608
7899
  "msg": "Era was not unused. Cannot reclaim the SOL rent."
6609
7900
  },
6610
7901
  {
6611
- "code": 6027,
7902
+ "code": 6028,
7903
+ "name": "NotEnoughHDG",
7904
+ "msg": "Need more HDG to open account."
7905
+ },
7906
+ {
7907
+ "code": 6029,
7908
+ "name": "ReferralDisabled",
7909
+ "msg": "Referrals are currently disabled."
7910
+ },
7911
+ {
7912
+ "code": 6030,
7913
+ "name": "WrongReferralAccount",
7914
+ "msg": "Attempted to pass in wrong referral account."
7915
+ },
7916
+ {
7917
+ "code": 6031,
6612
7918
  "name": "PsmDisabled",
6613
7919
  "msg": "PSM is currently disabled."
6614
7920
  },
6615
7921
  {
6616
- "code": 6028,
7922
+ "code": 6032,
6617
7923
  "name": "PsmMaxDebtReached",
6618
7924
  "msg": "PSM - Max Debt reached"
6619
7925
  },
6620
7926
  {
6621
- "code": 6029,
7927
+ "code": 6033,
6622
7928
  "name": "PsmMinSwapAmount",
6623
7929
  "msg": "PSM - Need more to swap"
6624
7930
  },
6625
7931
  {
6626
- "code": 6030,
7932
+ "code": 6034,
6627
7933
  "name": "UpdateVaultTypeBadMaxDebtExtended",
6628
7934
  "msg": "New Max debt extended value is less than the current debt!"
6629
7935
  },
6630
7936
  {
6631
- "code": 6031,
7937
+ "code": 6035,
6632
7938
  "name": "UpdateVaultTypeNoEnabledOracles",
6633
7939
  "msg": "No Enabled Oracles!"
6634
7940
  },
6635
7941
  {
6636
- "code": 6032,
7942
+ "code": 6036,
6637
7943
  "name": "UpdateVaultTypeDuplicateOraclePriorities",
6638
7944
  "msg": "Duplicate Oracle Priorities"
6639
7945
  },
6640
7946
  {
6641
- "code": 6033,
7947
+ "code": 6037,
6642
7948
  "name": "UpdateVaultTypeInvalidOraclePriority",
6643
7949
  "msg": "Invalid Oracle Priority"
6644
7950
  },
6645
7951
  {
6646
- "code": 6034,
7952
+ "code": 6038,
6647
7953
  "name": "OracleUpdateFailed",
6648
7954
  "msg": "OracleUpdateFailed"
6649
7955
  }