hedge-web3 0.2.20 → 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 (57) hide show
  1. package/declarations/Constants.d.ts +15 -0
  2. package/declarations/idl/pyth.d.ts +44 -24
  3. package/declarations/idl/switchboard.d.ts +47 -0
  4. package/declarations/idl/vault.d.ts +857 -157
  5. package/declarations/index.d.ts +26 -20
  6. package/declarations/instructions/closeLiquidationPoolPosition.d.ts +2 -2
  7. package/declarations/instructions/createReferralAccount.d.ts +17 -0
  8. package/declarations/instructions/createUserReferralAccount.d.ts +5 -0
  9. package/declarations/instructions/depositLiquidationPool.d.ts +2 -2
  10. package/declarations/instructions/loanVault.d.ts +2 -2
  11. package/declarations/instructions/psmEditAccount.d.ts +12 -0
  12. package/declarations/instructions/psmMintUsh.d.ts +2 -2
  13. package/declarations/instructions/psmRedeemUsh.d.ts +2 -2
  14. package/declarations/instructions/referralClaimFees.d.ts +16 -0
  15. package/declarations/instructions/transferVault.d.ts +3 -17
  16. package/declarations/instructions/updateReferralAccount.d.ts +13 -0
  17. package/declarations/instructions/updateReferralState.d.ts +20 -0
  18. package/declarations/instructions/updateVaultType.d.ts +1 -0
  19. package/declarations/state/VaultAccount.d.ts +2 -1
  20. package/lib/Constants.js +36 -1
  21. package/lib/idl/pyth.js +44 -24
  22. package/lib/idl/switchboard.js +49 -0
  23. package/lib/idl/vault.js +850 -150
  24. package/lib/index.js +26 -20
  25. package/lib/instructions/closeLiquidationPoolPosition.js +16 -3
  26. package/lib/instructions/createReferralAccount.js +80 -0
  27. package/lib/instructions/createUserReferralAccount.js +61 -0
  28. package/lib/instructions/depositLiquidationPool.js +16 -5
  29. package/lib/instructions/loanVault.js +16 -3
  30. package/lib/instructions/psmEditAccount.js +60 -0
  31. package/lib/instructions/psmMintUsh.js +14 -3
  32. package/lib/instructions/psmRedeemUsh.js +14 -3
  33. package/lib/instructions/referralClaimFees.js +84 -0
  34. package/lib/instructions/transferVault.js +10 -24
  35. package/lib/instructions/updateReferralAccount.js +50 -0
  36. package/lib/instructions/updateReferralState.js +57 -0
  37. package/lib/instructions/updateVaultType.js +10 -9
  38. package/package.json +1 -1
  39. package/src/Constants.ts +42 -0
  40. package/src/idl/pyth.ts +88 -48
  41. package/src/idl/switchboard.ts +93 -0
  42. package/src/idl/vault.ts +1762 -362
  43. package/src/index.ts +28 -24
  44. package/src/instructions/closeLiquidationPoolPosition.ts +25 -1
  45. package/src/instructions/createReferralAccount.ts +127 -0
  46. package/src/instructions/createUserReferralAccount.ts +86 -0
  47. package/src/instructions/depositLiquidationPool.ts +24 -4
  48. package/src/instructions/loanVault.ts +20 -1
  49. package/src/instructions/{psmEditAccount.rs → psmEditAccount.ts} +0 -0
  50. package/src/instructions/psmMintUsh.ts +20 -1
  51. package/src/instructions/psmRedeemUsh.ts +20 -1
  52. package/src/instructions/referralClaimFees.ts +159 -0
  53. package/src/instructions/transferVault.ts +21 -58
  54. package/src/instructions/updateReferralAccount.ts +77 -0
  55. package/src/instructions/updateReferralState.ts +93 -0
  56. package/src/instructions/updateVaultType.ts +3 -0
  57. package/src/state/VaultAccount.ts +1 -1
package/lib/idl/vault.js CHANGED
@@ -288,6 +288,21 @@ exports.IDL = {
288
288
  "isMut": true,
289
289
  "isSigner": false
290
290
  },
291
+ {
292
+ "name": "userReferralAccount",
293
+ "isMut": true,
294
+ "isSigner": false
295
+ },
296
+ {
297
+ "name": "referralAccount",
298
+ "isMut": true,
299
+ "isSigner": false
300
+ },
301
+ {
302
+ "name": "referralState",
303
+ "isMut": true,
304
+ "isSigner": false
305
+ },
291
306
  {
292
307
  "name": "associatedTokenProgram",
293
308
  "isMut": false,
@@ -527,6 +542,16 @@ exports.IDL = {
527
542
  "isMut": true,
528
543
  "isSigner": false
529
544
  },
545
+ {
546
+ "name": "userReferralAccount",
547
+ "isMut": true,
548
+ "isSigner": false
549
+ },
550
+ {
551
+ "name": "referralAccount",
552
+ "isMut": true,
553
+ "isSigner": false
554
+ },
530
555
  {
531
556
  "name": "systemProgram",
532
557
  "isMut": false,
@@ -894,6 +919,21 @@ exports.IDL = {
894
919
  "isMut": true,
895
920
  "isSigner": false
896
921
  },
922
+ {
923
+ "name": "referralState",
924
+ "isMut": true,
925
+ "isSigner": false
926
+ },
927
+ {
928
+ "name": "referralAccount",
929
+ "isMut": true,
930
+ "isSigner": false
931
+ },
932
+ {
933
+ "name": "userReferralAccount",
934
+ "isMut": true,
935
+ "isSigner": false
936
+ },
897
937
  {
898
938
  "name": "systemProgram",
899
939
  "isMut": false,
@@ -1763,62 +1803,51 @@ exports.IDL = {
1763
1803
  "args": []
1764
1804
  },
1765
1805
  {
1766
- "name": "psmCreate",
1806
+ "name": "createReferralState",
1767
1807
  "accounts": [
1768
1808
  {
1769
- "name": "payer",
1809
+ "name": "signer",
1770
1810
  "isMut": true,
1771
1811
  "isSigner": true
1772
1812
  },
1773
1813
  {
1774
1814
  "name": "vaultSystemState",
1775
- "isMut": true,
1815
+ "isMut": false,
1776
1816
  "isSigner": false
1777
1817
  },
1778
1818
  {
1779
- "name": "psmAccount",
1819
+ "name": "referralState",
1780
1820
  "isMut": true,
1781
1821
  "isSigner": false
1782
1822
  },
1783
1823
  {
1784
- "name": "collateralMint",
1785
- "isMut": false,
1824
+ "name": "referralAccount",
1825
+ "isMut": true,
1786
1826
  "isSigner": false
1787
1827
  },
1788
1828
  {
1789
1829
  "name": "systemProgram",
1790
1830
  "isMut": false,
1791
1831
  "isSigner": false
1792
- }
1793
- ],
1794
- "args": [
1795
- {
1796
- "name": "mintFee",
1797
- "type": "u64"
1798
- },
1799
- {
1800
- "name": "redeemFee",
1801
- "type": "u64"
1802
- },
1803
- {
1804
- "name": "debtLimit",
1805
- "type": "u64"
1806
1832
  },
1807
1833
  {
1808
- "name": "minSwap",
1809
- "type": "u64"
1834
+ "name": "tokenProgram",
1835
+ "isMut": false,
1836
+ "isSigner": false
1810
1837
  },
1811
1838
  {
1812
- "name": "overrideCurrentTime",
1813
- "type": "i64"
1839
+ "name": "rent",
1840
+ "isMut": false,
1841
+ "isSigner": false
1814
1842
  }
1815
- ]
1843
+ ],
1844
+ "args": []
1816
1845
  },
1817
1846
  {
1818
- "name": "psmEditAccount",
1847
+ "name": "createReferralAccount",
1819
1848
  "accounts": [
1820
1849
  {
1821
- "name": "payer",
1850
+ "name": "signer",
1822
1851
  "isMut": true,
1823
1852
  "isSigner": true
1824
1853
  },
@@ -1828,38 +1857,52 @@ exports.IDL = {
1828
1857
  "isSigner": false
1829
1858
  },
1830
1859
  {
1831
- "name": "psmAccount",
1860
+ "name": "referralState",
1832
1861
  "isMut": true,
1833
1862
  "isSigner": false
1834
1863
  },
1835
1864
  {
1836
- "name": "collateralMint",
1837
- "isMut": false,
1865
+ "name": "referralAccount",
1866
+ "isMut": true,
1838
1867
  "isSigner": false
1839
1868
  },
1840
1869
  {
1841
- "name": "systemProgram",
1842
- "isMut": false,
1870
+ "name": "userReferralAccount",
1871
+ "isMut": true,
1843
1872
  "isSigner": false
1844
- }
1845
- ],
1846
- "args": [
1873
+ },
1847
1874
  {
1848
- "name": "mintFee",
1849
- "type": "u64"
1875
+ "name": "poolPosition",
1876
+ "isMut": true,
1877
+ "isSigner": false
1850
1878
  },
1851
1879
  {
1852
- "name": "redeemFee",
1853
- "type": "u64"
1880
+ "name": "hedgeMint",
1881
+ "isMut": true,
1882
+ "isSigner": false
1854
1883
  },
1855
1884
  {
1856
- "name": "debtLimit",
1857
- "type": "u64"
1885
+ "name": "hdgAta",
1886
+ "isMut": true,
1887
+ "isSigner": false
1858
1888
  },
1859
1889
  {
1860
- "name": "minSwap",
1861
- "type": "u64"
1890
+ "name": "systemProgram",
1891
+ "isMut": false,
1892
+ "isSigner": false
1893
+ },
1894
+ {
1895
+ "name": "tokenProgram",
1896
+ "isMut": false,
1897
+ "isSigner": false
1862
1898
  },
1899
+ {
1900
+ "name": "rent",
1901
+ "isMut": false,
1902
+ "isSigner": false
1903
+ }
1904
+ ],
1905
+ "args": [
1863
1906
  {
1864
1907
  "name": "overrideCurrentTime",
1865
1908
  "type": "i64"
@@ -1867,85 +1910,117 @@ exports.IDL = {
1867
1910
  ]
1868
1911
  },
1869
1912
  {
1870
- "name": "psmMintUsh",
1913
+ "name": "createUserReferralAccount",
1871
1914
  "accounts": [
1872
1915
  {
1873
- "name": "payer",
1916
+ "name": "signer",
1874
1917
  "isMut": true,
1875
1918
  "isSigner": true
1876
1919
  },
1877
1920
  {
1878
- "name": "vaultSystemState",
1921
+ "name": "userReferralAccount",
1879
1922
  "isMut": true,
1880
1923
  "isSigner": false
1881
1924
  },
1882
1925
  {
1883
- "name": "feePool",
1926
+ "name": "referralAccount",
1884
1927
  "isMut": true,
1885
1928
  "isSigner": false
1886
1929
  },
1887
1930
  {
1888
- "name": "feePoolAssociatedUshTokenAccount",
1889
- "isMut": true,
1931
+ "name": "systemProgram",
1932
+ "isMut": false,
1890
1933
  "isSigner": false
1891
1934
  },
1892
1935
  {
1893
- "name": "psmAccount",
1894
- "isMut": true,
1936
+ "name": "tokenProgram",
1937
+ "isMut": false,
1895
1938
  "isSigner": false
1896
1939
  },
1897
1940
  {
1898
- "name": "psmAccountAta",
1899
- "isMut": true,
1941
+ "name": "rent",
1942
+ "isMut": false,
1900
1943
  "isSigner": false
1901
- },
1944
+ }
1945
+ ],
1946
+ "args": [
1902
1947
  {
1903
- "name": "ownerUshAccount",
1948
+ "name": "overrideCurrentTime",
1949
+ "type": "i64"
1950
+ }
1951
+ ]
1952
+ },
1953
+ {
1954
+ "name": "updateReferralState",
1955
+ "accounts": [
1956
+ {
1957
+ "name": "signer",
1904
1958
  "isMut": true,
1959
+ "isSigner": true
1960
+ },
1961
+ {
1962
+ "name": "vaultSystemState",
1963
+ "isMut": false,
1905
1964
  "isSigner": false
1906
1965
  },
1907
1966
  {
1908
- "name": "ownerCollateralAccount",
1967
+ "name": "referralState",
1909
1968
  "isMut": true,
1910
1969
  "isSigner": false
1911
1970
  },
1912
1971
  {
1913
- "name": "collateralMint",
1972
+ "name": "systemProgram",
1914
1973
  "isMut": false,
1915
1974
  "isSigner": false
1916
- },
1975
+ }
1976
+ ],
1977
+ "args": [
1917
1978
  {
1918
- "name": "ushMint",
1979
+ "name": "config",
1980
+ "type": {
1981
+ "defined": "ReferralStateConfig"
1982
+ }
1983
+ }
1984
+ ]
1985
+ },
1986
+ {
1987
+ "name": "updateReferralAccount",
1988
+ "accounts": [
1989
+ {
1990
+ "name": "signer",
1919
1991
  "isMut": true,
1920
- "isSigner": false
1992
+ "isSigner": true
1921
1993
  },
1922
1994
  {
1923
- "name": "systemProgram",
1995
+ "name": "vaultSystemState",
1924
1996
  "isMut": false,
1925
1997
  "isSigner": false
1926
1998
  },
1927
1999
  {
1928
- "name": "tokenProgram",
2000
+ "name": "referralAccount",
2001
+ "isMut": true,
2002
+ "isSigner": false
2003
+ },
2004
+ {
2005
+ "name": "systemProgram",
1929
2006
  "isMut": false,
1930
2007
  "isSigner": false
1931
2008
  }
1932
2009
  ],
1933
2010
  "args": [
1934
2011
  {
1935
- "name": "collateralAmount",
1936
- "type": "u64"
1937
- },
1938
- {
1939
- "name": "overrideCurrentTime",
1940
- "type": "i64"
2012
+ "name": "config",
2013
+ "type": {
2014
+ "defined": "ReferralAccountConfig"
2015
+ }
1941
2016
  }
1942
2017
  ]
1943
2018
  },
1944
2019
  {
1945
- "name": "psmRedeemUsh",
2020
+ "name": "referralClaimFees",
1946
2021
  "accounts": [
1947
2022
  {
1948
- "name": "payer",
2023
+ "name": "signer",
1949
2024
  "isMut": true,
1950
2025
  "isSigner": true
1951
2026
  },
@@ -1955,42 +2030,52 @@ exports.IDL = {
1955
2030
  "isSigner": false
1956
2031
  },
1957
2032
  {
1958
- "name": "feePool",
2033
+ "name": "referralState",
1959
2034
  "isMut": true,
1960
2035
  "isSigner": false
1961
2036
  },
1962
2037
  {
1963
- "name": "feePoolAssociatedUshTokenAccount",
2038
+ "name": "referralAccount",
1964
2039
  "isMut": true,
1965
2040
  "isSigner": false
1966
2041
  },
1967
2042
  {
1968
- "name": "psmAccount",
2043
+ "name": "poolPosition",
1969
2044
  "isMut": true,
1970
2045
  "isSigner": false
1971
2046
  },
1972
2047
  {
1973
- "name": "psmAccountAta",
2048
+ "name": "hedgeMint",
1974
2049
  "isMut": true,
1975
2050
  "isSigner": false
1976
2051
  },
1977
2052
  {
1978
- "name": "ownerUshAccount",
2053
+ "name": "signerHdgAta",
1979
2054
  "isMut": true,
1980
2055
  "isSigner": false
1981
2056
  },
1982
2057
  {
1983
- "name": "ownerCollateralAccount",
2058
+ "name": "ushMint",
1984
2059
  "isMut": true,
1985
2060
  "isSigner": false
1986
2061
  },
1987
2062
  {
1988
- "name": "collateralMint",
1989
- "isMut": false,
2063
+ "name": "signerUshAta",
2064
+ "isMut": true,
1990
2065
  "isSigner": false
1991
2066
  },
1992
2067
  {
1993
- "name": "ushMint",
2068
+ "name": "communityAssociatedHedgeTokenAccount",
2069
+ "isMut": true,
2070
+ "isSigner": false
2071
+ },
2072
+ {
2073
+ "name": "feePool",
2074
+ "isMut": true,
2075
+ "isSigner": false
2076
+ },
2077
+ {
2078
+ "name": "feePoolAssociatedUshTokenAccount",
1994
2079
  "isMut": true,
1995
2080
  "isSigner": false
1996
2081
  },
@@ -2003,19 +2088,330 @@ exports.IDL = {
2003
2088
  "name": "tokenProgram",
2004
2089
  "isMut": false,
2005
2090
  "isSigner": false
2091
+ },
2092
+ {
2093
+ "name": "rent",
2094
+ "isMut": false,
2095
+ "isSigner": false
2096
+ }
2097
+ ],
2098
+ "args": []
2099
+ },
2100
+ {
2101
+ "name": "psmCreate",
2102
+ "accounts": [
2103
+ {
2104
+ "name": "payer",
2105
+ "isMut": true,
2106
+ "isSigner": true
2107
+ },
2108
+ {
2109
+ "name": "vaultSystemState",
2110
+ "isMut": true,
2111
+ "isSigner": false
2112
+ },
2113
+ {
2114
+ "name": "psmAccount",
2115
+ "isMut": true,
2116
+ "isSigner": false
2117
+ },
2118
+ {
2119
+ "name": "collateralMint",
2120
+ "isMut": false,
2121
+ "isSigner": false
2122
+ },
2123
+ {
2124
+ "name": "systemProgram",
2125
+ "isMut": false,
2126
+ "isSigner": false
2006
2127
  }
2007
2128
  ],
2008
2129
  "args": [
2009
2130
  {
2010
- "name": "ushAmount",
2131
+ "name": "mintFee",
2011
2132
  "type": "u64"
2012
2133
  },
2013
2134
  {
2014
- "name": "overrideCurrentTime",
2015
- "type": "i64"
2016
- }
2017
- ]
2018
- }
2135
+ "name": "redeemFee",
2136
+ "type": "u64"
2137
+ },
2138
+ {
2139
+ "name": "debtLimit",
2140
+ "type": "u64"
2141
+ },
2142
+ {
2143
+ "name": "minSwap",
2144
+ "type": "u64"
2145
+ },
2146
+ {
2147
+ "name": "overrideCurrentTime",
2148
+ "type": "i64"
2149
+ }
2150
+ ]
2151
+ },
2152
+ {
2153
+ "name": "psmEditAccount",
2154
+ "accounts": [
2155
+ {
2156
+ "name": "payer",
2157
+ "isMut": true,
2158
+ "isSigner": true
2159
+ },
2160
+ {
2161
+ "name": "vaultSystemState",
2162
+ "isMut": true,
2163
+ "isSigner": false
2164
+ },
2165
+ {
2166
+ "name": "psmAccount",
2167
+ "isMut": true,
2168
+ "isSigner": false
2169
+ },
2170
+ {
2171
+ "name": "collateralMint",
2172
+ "isMut": false,
2173
+ "isSigner": false
2174
+ },
2175
+ {
2176
+ "name": "systemProgram",
2177
+ "isMut": false,
2178
+ "isSigner": false
2179
+ }
2180
+ ],
2181
+ "args": [
2182
+ {
2183
+ "name": "mintFee",
2184
+ "type": "u64"
2185
+ },
2186
+ {
2187
+ "name": "redeemFee",
2188
+ "type": "u64"
2189
+ },
2190
+ {
2191
+ "name": "debtLimit",
2192
+ "type": "u64"
2193
+ },
2194
+ {
2195
+ "name": "minSwap",
2196
+ "type": "u64"
2197
+ },
2198
+ {
2199
+ "name": "overrideCurrentTime",
2200
+ "type": "i64"
2201
+ }
2202
+ ]
2203
+ },
2204
+ {
2205
+ "name": "psmMintUsh",
2206
+ "accounts": [
2207
+ {
2208
+ "name": "payer",
2209
+ "isMut": true,
2210
+ "isSigner": true
2211
+ },
2212
+ {
2213
+ "name": "vaultSystemState",
2214
+ "isMut": true,
2215
+ "isSigner": false
2216
+ },
2217
+ {
2218
+ "name": "feePool",
2219
+ "isMut": true,
2220
+ "isSigner": false
2221
+ },
2222
+ {
2223
+ "name": "feePoolAssociatedUshTokenAccount",
2224
+ "isMut": true,
2225
+ "isSigner": false
2226
+ },
2227
+ {
2228
+ "name": "psmAccount",
2229
+ "isMut": true,
2230
+ "isSigner": false
2231
+ },
2232
+ {
2233
+ "name": "psmAccountAta",
2234
+ "isMut": true,
2235
+ "isSigner": false
2236
+ },
2237
+ {
2238
+ "name": "ownerUshAccount",
2239
+ "isMut": true,
2240
+ "isSigner": false
2241
+ },
2242
+ {
2243
+ "name": "ownerCollateralAccount",
2244
+ "isMut": true,
2245
+ "isSigner": false
2246
+ },
2247
+ {
2248
+ "name": "collateralMint",
2249
+ "isMut": false,
2250
+ "isSigner": false
2251
+ },
2252
+ {
2253
+ "name": "ushMint",
2254
+ "isMut": true,
2255
+ "isSigner": false
2256
+ },
2257
+ {
2258
+ "name": "referralState",
2259
+ "isMut": true,
2260
+ "isSigner": false
2261
+ },
2262
+ {
2263
+ "name": "referralAccount",
2264
+ "isMut": true,
2265
+ "isSigner": false
2266
+ },
2267
+ {
2268
+ "name": "systemProgram",
2269
+ "isMut": false,
2270
+ "isSigner": false
2271
+ },
2272
+ {
2273
+ "name": "tokenProgram",
2274
+ "isMut": false,
2275
+ "isSigner": false
2276
+ }
2277
+ ],
2278
+ "args": [
2279
+ {
2280
+ "name": "collateralAmount",
2281
+ "type": "u64"
2282
+ },
2283
+ {
2284
+ "name": "overrideCurrentTime",
2285
+ "type": "i64"
2286
+ }
2287
+ ]
2288
+ },
2289
+ {
2290
+ "name": "psmRedeemUsh",
2291
+ "accounts": [
2292
+ {
2293
+ "name": "payer",
2294
+ "isMut": true,
2295
+ "isSigner": true
2296
+ },
2297
+ {
2298
+ "name": "vaultSystemState",
2299
+ "isMut": true,
2300
+ "isSigner": false
2301
+ },
2302
+ {
2303
+ "name": "feePool",
2304
+ "isMut": true,
2305
+ "isSigner": false
2306
+ },
2307
+ {
2308
+ "name": "feePoolAssociatedUshTokenAccount",
2309
+ "isMut": true,
2310
+ "isSigner": false
2311
+ },
2312
+ {
2313
+ "name": "psmAccount",
2314
+ "isMut": true,
2315
+ "isSigner": false
2316
+ },
2317
+ {
2318
+ "name": "psmAccountAta",
2319
+ "isMut": true,
2320
+ "isSigner": false
2321
+ },
2322
+ {
2323
+ "name": "ownerUshAccount",
2324
+ "isMut": true,
2325
+ "isSigner": false
2326
+ },
2327
+ {
2328
+ "name": "ownerCollateralAccount",
2329
+ "isMut": true,
2330
+ "isSigner": false
2331
+ },
2332
+ {
2333
+ "name": "collateralMint",
2334
+ "isMut": false,
2335
+ "isSigner": false
2336
+ },
2337
+ {
2338
+ "name": "ushMint",
2339
+ "isMut": true,
2340
+ "isSigner": false
2341
+ },
2342
+ {
2343
+ "name": "referralState",
2344
+ "isMut": true,
2345
+ "isSigner": false
2346
+ },
2347
+ {
2348
+ "name": "referralAccount",
2349
+ "isMut": true,
2350
+ "isSigner": false
2351
+ },
2352
+ {
2353
+ "name": "systemProgram",
2354
+ "isMut": false,
2355
+ "isSigner": false
2356
+ },
2357
+ {
2358
+ "name": "tokenProgram",
2359
+ "isMut": false,
2360
+ "isSigner": false
2361
+ }
2362
+ ],
2363
+ "args": [
2364
+ {
2365
+ "name": "ushAmount",
2366
+ "type": "u64"
2367
+ },
2368
+ {
2369
+ "name": "overrideCurrentTime",
2370
+ "type": "i64"
2371
+ }
2372
+ ]
2373
+ },
2374
+ {
2375
+ "name": "transferVault",
2376
+ "accounts": [
2377
+ {
2378
+ "name": "vault",
2379
+ "isMut": true,
2380
+ "isSigner": false
2381
+ },
2382
+ {
2383
+ "name": "vaultSystemState",
2384
+ "isMut": true,
2385
+ "isSigner": false
2386
+ },
2387
+ {
2388
+ "name": "vaultType",
2389
+ "isMut": true,
2390
+ "isSigner": false
2391
+ },
2392
+ {
2393
+ "name": "history",
2394
+ "isMut": true,
2395
+ "isSigner": true
2396
+ },
2397
+ {
2398
+ "name": "vaultOwner",
2399
+ "isMut": true,
2400
+ "isSigner": true
2401
+ },
2402
+ {
2403
+ "name": "systemProgram",
2404
+ "isMut": false,
2405
+ "isSigner": false
2406
+ }
2407
+ ],
2408
+ "args": [
2409
+ {
2410
+ "name": "newOwner",
2411
+ "type": "publicKey"
2412
+ }
2413
+ ]
2414
+ }
2019
2415
  ],
2020
2416
  "accounts": [
2021
2417
  {
@@ -2207,115 +2603,243 @@ exports.IDL = {
2207
2603
  }
2208
2604
  },
2209
2605
  {
2210
- "name": "oracleInfoForCollateralType",
2606
+ "name": "oracleInfoForCollateralType",
2607
+ "type": {
2608
+ "kind": "struct",
2609
+ "fields": [
2610
+ {
2611
+ "name": "vaultType",
2612
+ "type": "publicKey"
2613
+ },
2614
+ {
2615
+ "name": "oraclePyth",
2616
+ "type": "publicKey"
2617
+ },
2618
+ {
2619
+ "name": "oracleChainlink",
2620
+ "type": "publicKey"
2621
+ },
2622
+ {
2623
+ "name": "oracleSwitchboard",
2624
+ "type": "publicKey"
2625
+ },
2626
+ {
2627
+ "name": "priorityPyth",
2628
+ "type": "i8"
2629
+ },
2630
+ {
2631
+ "name": "priorityChainlink",
2632
+ "type": "i8"
2633
+ },
2634
+ {
2635
+ "name": "prioritySwitchboard",
2636
+ "type": "i8"
2637
+ },
2638
+ {
2639
+ "name": "vaultTypeName",
2640
+ "type": "string"
2641
+ }
2642
+ ]
2643
+ }
2644
+ },
2645
+ {
2646
+ "name": "psmAccount",
2647
+ "type": {
2648
+ "kind": "struct",
2649
+ "fields": [
2650
+ {
2651
+ "name": "collateralMint",
2652
+ "type": "publicKey"
2653
+ },
2654
+ {
2655
+ "name": "minCollateralRatio",
2656
+ "type": "u128"
2657
+ },
2658
+ {
2659
+ "name": "mintFee",
2660
+ "type": "u128"
2661
+ },
2662
+ {
2663
+ "name": "redeemFee",
2664
+ "type": "u128"
2665
+ },
2666
+ {
2667
+ "name": "totalFeesAccumulatedUsh",
2668
+ "type": "u128"
2669
+ },
2670
+ {
2671
+ "name": "totalFeesAccumulatedCollateral",
2672
+ "type": "u128"
2673
+ },
2674
+ {
2675
+ "name": "recentPrice",
2676
+ "type": "u128"
2677
+ },
2678
+ {
2679
+ "name": "debtLimit",
2680
+ "type": "u64"
2681
+ },
2682
+ {
2683
+ "name": "deposited",
2684
+ "type": "u64"
2685
+ },
2686
+ {
2687
+ "name": "amountMinted",
2688
+ "type": "u64"
2689
+ },
2690
+ {
2691
+ "name": "minSwap",
2692
+ "type": "u64"
2693
+ },
2694
+ {
2695
+ "name": "timeCreated",
2696
+ "type": "u64"
2697
+ },
2698
+ {
2699
+ "name": "timeLastInteraction",
2700
+ "type": "u64"
2701
+ },
2702
+ {
2703
+ "name": "priceLastUpdatedTimestamp",
2704
+ "type": "u64"
2705
+ },
2706
+ {
2707
+ "name": "psmStatus",
2708
+ "type": {
2709
+ "defined": "PsmStatus"
2710
+ }
2711
+ },
2712
+ {
2713
+ "name": "collateralDecimals",
2714
+ "type": "u8"
2715
+ }
2716
+ ]
2717
+ }
2718
+ },
2719
+ {
2720
+ "name": "referralAccount",
2211
2721
  "type": {
2212
2722
  "kind": "struct",
2213
2723
  "fields": [
2214
2724
  {
2215
- "name": "vaultType",
2725
+ "name": "referrer",
2216
2726
  "type": "publicKey"
2217
2727
  },
2218
2728
  {
2219
- "name": "oraclePyth",
2220
- "type": "publicKey"
2729
+ "name": "setupCut",
2730
+ "type": "u128"
2221
2731
  },
2222
2732
  {
2223
- "name": "oracleChainlink",
2224
- "type": "publicKey"
2733
+ "name": "referredUserDiscount",
2734
+ "type": "u128"
2225
2735
  },
2226
2736
  {
2227
- "name": "oracleSwitchboard",
2228
- "type": "publicKey"
2737
+ "name": "stabilityCut",
2738
+ "type": "u128"
2229
2739
  },
2230
2740
  {
2231
- "name": "priorityPyth",
2232
- "type": "i8"
2741
+ "name": "psmCut",
2742
+ "type": "u128"
2233
2743
  },
2234
2744
  {
2235
- "name": "priorityChainlink",
2236
- "type": "i8"
2745
+ "name": "ushAccumulator",
2746
+ "type": "u64"
2237
2747
  },
2238
2748
  {
2239
- "name": "prioritySwitchboard",
2240
- "type": "i8"
2749
+ "name": "hdgAccumulator",
2750
+ "type": "u64"
2241
2751
  },
2242
2752
  {
2243
- "name": "vaultTypeName",
2244
- "type": "string"
2753
+ "name": "ushClaimed",
2754
+ "type": "u64"
2755
+ },
2756
+ {
2757
+ "name": "hdgClaimed",
2758
+ "type": "u64"
2759
+ },
2760
+ {
2761
+ "name": "hdgThreshold",
2762
+ "type": "u64"
2763
+ },
2764
+ {
2765
+ "name": "referralId",
2766
+ "type": "u64"
2245
2767
  }
2246
2768
  ]
2247
2769
  }
2248
2770
  },
2249
2771
  {
2250
- "name": "psmAccount",
2772
+ "name": "referralState",
2251
2773
  "type": {
2252
2774
  "kind": "struct",
2253
2775
  "fields": [
2254
2776
  {
2255
- "name": "collateralMint",
2256
- "type": "publicKey"
2777
+ "name": "setupCut",
2778
+ "type": "u128"
2257
2779
  },
2258
2780
  {
2259
- "name": "minCollateralRatio",
2781
+ "name": "referredUserDiscount",
2260
2782
  "type": "u128"
2261
2783
  },
2262
2784
  {
2263
- "name": "mintFee",
2785
+ "name": "stabilityCut",
2264
2786
  "type": "u128"
2265
2787
  },
2266
2788
  {
2267
- "name": "redeemFee",
2789
+ "name": "psmCut",
2268
2790
  "type": "u128"
2269
2791
  },
2270
2792
  {
2271
- "name": "totalFeesAccumulatedUsh",
2793
+ "name": "maxSetupCut",
2272
2794
  "type": "u128"
2273
2795
  },
2274
2796
  {
2275
- "name": "totalFeesAccumulatedCollateral",
2797
+ "name": "maxReferredDiscount",
2276
2798
  "type": "u128"
2277
2799
  },
2278
2800
  {
2279
- "name": "recentPrice",
2801
+ "name": "maxStabilityCut",
2280
2802
  "type": "u128"
2281
2803
  },
2282
2804
  {
2283
- "name": "debtLimit",
2284
- "type": "u64"
2805
+ "name": "maxPsmCut",
2806
+ "type": "u128"
2285
2807
  },
2286
2808
  {
2287
- "name": "deposited",
2809
+ "name": "referralAccountCount",
2288
2810
  "type": "u64"
2289
2811
  },
2290
2812
  {
2291
- "name": "amountMinted",
2813
+ "name": "hdgThreshold",
2292
2814
  "type": "u64"
2293
2815
  },
2294
2816
  {
2295
- "name": "minSwap",
2817
+ "name": "hdgPsmThreshold",
2296
2818
  "type": "u64"
2297
2819
  },
2298
2820
  {
2299
- "name": "timeCreated",
2300
- "type": "u64"
2821
+ "name": "totalUshClaimed",
2822
+ "type": "u128"
2301
2823
  },
2302
2824
  {
2303
- "name": "timeLastInteraction",
2825
+ "name": "totalHdgClaimed",
2304
2826
  "type": "u64"
2305
2827
  },
2306
2828
  {
2307
- "name": "priceLastUpdatedTimestamp",
2829
+ "name": "totalUshFees",
2830
+ "type": "u128"
2831
+ },
2832
+ {
2833
+ "name": "totalHdgFees",
2308
2834
  "type": "u64"
2309
2835
  },
2310
2836
  {
2311
- "name": "psmStatus",
2312
- "type": {
2313
- "defined": "PsmStatus"
2314
- }
2837
+ "name": "referralPromoThreshold",
2838
+ "type": "u64"
2315
2839
  },
2316
2840
  {
2317
- "name": "collateralDecimals",
2318
- "type": "u8"
2841
+ "name": "referralEnabled",
2842
+ "type": "bool"
2319
2843
  }
2320
2844
  ]
2321
2845
  }
@@ -2446,6 +2970,30 @@ exports.IDL = {
2446
2970
  ]
2447
2971
  }
2448
2972
  },
2973
+ {
2974
+ "name": "userReferralAccount",
2975
+ "type": {
2976
+ "kind": "struct",
2977
+ "fields": [
2978
+ {
2979
+ "name": "referralAccount",
2980
+ "type": "publicKey"
2981
+ },
2982
+ {
2983
+ "name": "referrer",
2984
+ "type": "publicKey"
2985
+ },
2986
+ {
2987
+ "name": "referralId",
2988
+ "type": "u64"
2989
+ },
2990
+ {
2991
+ "name": "lastReferrerChange",
2992
+ "type": "u64"
2993
+ }
2994
+ ]
2995
+ }
2996
+ },
2449
2997
  {
2450
2998
  "name": "vaultHistoryEvent",
2451
2999
  "type": {
@@ -2652,6 +3200,14 @@ exports.IDL = {
2652
3200
  "type": {
2653
3201
  "option": "publicKey"
2654
3202
  }
3203
+ },
3204
+ {
3205
+ "name": "lastRedeemFeeBytes",
3206
+ "type": "u128"
3207
+ },
3208
+ {
3209
+ "name": "lastRedeemTimestamp",
3210
+ "type": "u64"
2655
3211
  }
2656
3212
  ]
2657
3213
  }
@@ -2778,6 +3334,124 @@ exports.IDL = {
2778
3334
  ]
2779
3335
  }
2780
3336
  },
3337
+ {
3338
+ "name": "ReferralAccountConfig",
3339
+ "type": {
3340
+ "kind": "struct",
3341
+ "fields": [
3342
+ {
3343
+ "name": "setupCut",
3344
+ "type": {
3345
+ "option": "u128"
3346
+ }
3347
+ },
3348
+ {
3349
+ "name": "referredUserDiscount",
3350
+ "type": {
3351
+ "option": "u128"
3352
+ }
3353
+ },
3354
+ {
3355
+ "name": "stabilityCut",
3356
+ "type": {
3357
+ "option": "u128"
3358
+ }
3359
+ },
3360
+ {
3361
+ "name": "psmCut",
3362
+ "type": {
3363
+ "option": "u128"
3364
+ }
3365
+ },
3366
+ {
3367
+ "name": "hdgThreshold",
3368
+ "type": {
3369
+ "option": "u64"
3370
+ }
3371
+ }
3372
+ ]
3373
+ }
3374
+ },
3375
+ {
3376
+ "name": "ReferralStateConfig",
3377
+ "type": {
3378
+ "kind": "struct",
3379
+ "fields": [
3380
+ {
3381
+ "name": "setupCut",
3382
+ "type": {
3383
+ "option": "u128"
3384
+ }
3385
+ },
3386
+ {
3387
+ "name": "referredUserDiscount",
3388
+ "type": {
3389
+ "option": "u128"
3390
+ }
3391
+ },
3392
+ {
3393
+ "name": "stabilityCut",
3394
+ "type": {
3395
+ "option": "u128"
3396
+ }
3397
+ },
3398
+ {
3399
+ "name": "psmCut",
3400
+ "type": {
3401
+ "option": "u128"
3402
+ }
3403
+ },
3404
+ {
3405
+ "name": "maxSetupCut",
3406
+ "type": {
3407
+ "option": "u128"
3408
+ }
3409
+ },
3410
+ {
3411
+ "name": "maxReferredDiscount",
3412
+ "type": {
3413
+ "option": "u128"
3414
+ }
3415
+ },
3416
+ {
3417
+ "name": "maxStabilityCut",
3418
+ "type": {
3419
+ "option": "u128"
3420
+ }
3421
+ },
3422
+ {
3423
+ "name": "maxPsmCut",
3424
+ "type": {
3425
+ "option": "u128"
3426
+ }
3427
+ },
3428
+ {
3429
+ "name": "hdgThreshold",
3430
+ "type": {
3431
+ "option": "u64"
3432
+ }
3433
+ },
3434
+ {
3435
+ "name": "hdgPsmThreshold",
3436
+ "type": {
3437
+ "option": "u64"
3438
+ }
3439
+ },
3440
+ {
3441
+ "name": "referralPromoThreshold",
3442
+ "type": {
3443
+ "option": "u64"
3444
+ }
3445
+ },
3446
+ {
3447
+ "name": "referralEnabled",
3448
+ "type": {
3449
+ "option": "bool"
3450
+ }
3451
+ }
3452
+ ]
3453
+ }
3454
+ },
2781
3455
  {
2782
3456
  "name": "VaultTypeConfig",
2783
3457
  "type": {
@@ -2801,6 +3475,12 @@ exports.IDL = {
2801
3475
  "option": "u64"
2802
3476
  }
2803
3477
  },
3478
+ {
3479
+ "name": "interestRatePerSecond",
3480
+ "type": {
3481
+ "option": "u128"
3482
+ }
3483
+ },
2804
3484
  {
2805
3485
  "name": "emergencyModeThreshold",
2806
3486
  "type": {
@@ -3149,131 +3829,151 @@ exports.IDL = {
3149
3829
  },
3150
3830
  {
3151
3831
  "code": 6009,
3832
+ "name": "NotAuthorizedToCreateReferralState",
3833
+ "msg": "Signer not authorized to create referral state account"
3834
+ },
3835
+ {
3836
+ "code": 6010,
3152
3837
  "name": "NotAuthorized",
3153
3838
  "msg": "Signer not authorized to call this function"
3154
3839
  },
3155
3840
  {
3156
- "code": 6010,
3841
+ "code": 6011,
3157
3842
  "name": "BadSeed",
3158
3843
  "msg": "Bad Seed"
3159
3844
  },
3160
3845
  {
3161
- "code": 6011,
3846
+ "code": 6012,
3162
3847
  "name": "CollateralPriceOutOfDate",
3163
3848
  "msg": "Collateral price needs to be refreshed. It is only valid for 60 seconds."
3164
3849
  },
3165
3850
  {
3166
- "code": 6012,
3851
+ "code": 6013,
3167
3852
  "name": "EmergencyMode",
3168
3853
  "msg": "System is not accepting any tx that would worsen collateral ratio at this time"
3169
3854
  },
3170
3855
  {
3171
- "code": 6013,
3856
+ "code": 6014,
3172
3857
  "name": "MinDebtRequired",
3173
3858
  "msg": "Vault under the minimum debt limit. Vault must have zero debt or be over the minimum."
3174
3859
  },
3175
3860
  {
3176
- "code": 6014,
3861
+ "code": 6015,
3177
3862
  "name": "PoolPositionAlreadyClosed",
3178
3863
  "msg": "Pool position already closed"
3179
3864
  },
3180
3865
  {
3181
- "code": 6015,
3866
+ "code": 6016,
3182
3867
  "name": "PoolPositionNoYetClosed",
3183
3868
  "msg": "Pool position must be closed to claim reward"
3184
3869
  },
3185
3870
  {
3186
- "code": 6016,
3871
+ "code": 6017,
3187
3872
  "name": "MaxDebtAgainstVaultType",
3188
3873
  "msg": "Max debt extended against vault type reached."
3189
3874
  },
3190
3875
  {
3191
- "code": 6017,
3876
+ "code": 6018,
3192
3877
  "name": "VaultTypeNotRedeemable",
3193
3878
  "msg": "Vault type cannot be redeemed against."
3194
3879
  },
3195
3880
  {
3196
- "code": 6018,
3881
+ "code": 6019,
3197
3882
  "name": "SystemHalted",
3198
3883
  "msg": "System is currently halted. No actions may be taken at this time."
3199
3884
  },
3200
3885
  {
3201
- "code": 6019,
3886
+ "code": 6020,
3202
3887
  "name": "EntireVaultRedeem",
3203
3888
  "msg": "Entire vault must be redeemed at this time."
3204
3889
  },
3205
3890
  {
3206
- "code": 6020,
3891
+ "code": 6021,
3207
3892
  "name": "NotRedeemingLowestCollateralRatioVault",
3208
3893
  "msg": "Can only redeem lowest collateral ratio vault in system."
3209
3894
  },
3210
3895
  {
3211
- "code": 6021,
3896
+ "code": 6022,
3212
3897
  "name": "VaultTypeDeprecated",
3213
3898
  "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."
3214
3899
  },
3215
3900
  {
3216
- "code": 6022,
3901
+ "code": 6023,
3217
3902
  "name": "UpdateLinkedListFailed",
3218
3903
  "msg": "There was an error updating the list of vaults. Please make sure the transaction is fresh."
3219
3904
  },
3220
3905
  {
3221
- "code": 6023,
3906
+ "code": 6024,
3222
3907
  "name": "InvalidSaltLength",
3223
3908
  "msg": "Salt for new vaults must be of length 8"
3224
3909
  },
3225
3910
  {
3226
- "code": 6024,
3911
+ "code": 6025,
3227
3912
  "name": "InvalidNameLength",
3228
3913
  "msg": "Name for new vault type must be length 16"
3229
3914
  },
3230
3915
  {
3231
- "code": 6025,
3916
+ "code": 6026,
3232
3917
  "name": "PositionNotClaimed",
3233
3918
  "msg": "Not all positions claimed. Claim all before closing account to recover SOL rent."
3234
3919
  },
3235
3920
  {
3236
- "code": 6026,
3921
+ "code": 6027,
3237
3922
  "name": "PoolWasUsed",
3238
3923
  "msg": "Era was not unused. Cannot reclaim the SOL rent."
3239
3924
  },
3240
3925
  {
3241
- "code": 6027,
3926
+ "code": 6028,
3927
+ "name": "NotEnoughHDG",
3928
+ "msg": "Need more HDG to open account."
3929
+ },
3930
+ {
3931
+ "code": 6029,
3932
+ "name": "ReferralDisabled",
3933
+ "msg": "Referrals are currently disabled."
3934
+ },
3935
+ {
3936
+ "code": 6030,
3937
+ "name": "WrongReferralAccount",
3938
+ "msg": "Attempted to pass in wrong referral account."
3939
+ },
3940
+ {
3941
+ "code": 6031,
3242
3942
  "name": "PsmDisabled",
3243
3943
  "msg": "PSM is currently disabled."
3244
3944
  },
3245
3945
  {
3246
- "code": 6028,
3946
+ "code": 6032,
3247
3947
  "name": "PsmMaxDebtReached",
3248
3948
  "msg": "PSM - Max Debt reached"
3249
3949
  },
3250
3950
  {
3251
- "code": 6029,
3951
+ "code": 6033,
3252
3952
  "name": "PsmMinSwapAmount",
3253
3953
  "msg": "PSM - Need more to swap"
3254
3954
  },
3255
3955
  {
3256
- "code": 6030,
3956
+ "code": 6034,
3257
3957
  "name": "UpdateVaultTypeBadMaxDebtExtended",
3258
3958
  "msg": "New Max debt extended value is less than the current debt!"
3259
3959
  },
3260
3960
  {
3261
- "code": 6031,
3961
+ "code": 6035,
3262
3962
  "name": "UpdateVaultTypeNoEnabledOracles",
3263
3963
  "msg": "No Enabled Oracles!"
3264
3964
  },
3265
3965
  {
3266
- "code": 6032,
3966
+ "code": 6036,
3267
3967
  "name": "UpdateVaultTypeDuplicateOraclePriorities",
3268
3968
  "msg": "Duplicate Oracle Priorities"
3269
3969
  },
3270
3970
  {
3271
- "code": 6033,
3971
+ "code": 6037,
3272
3972
  "name": "UpdateVaultTypeInvalidOraclePriority",
3273
3973
  "msg": "Invalid Oracle Priority"
3274
3974
  },
3275
3975
  {
3276
- "code": 6034,
3976
+ "code": 6038,
3277
3977
  "name": "OracleUpdateFailed",
3278
3978
  "msg": "OracleUpdateFailed"
3279
3979
  }