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/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,26 +2088,22 @@ exports.IDL = {
2003
2088
  "name": "tokenProgram",
2004
2089
  "isMut": false,
2005
2090
  "isSigner": false
2006
- }
2007
- ],
2008
- "args": [
2009
- {
2010
- "name": "ushAmount",
2011
- "type": "u64"
2012
2091
  },
2013
2092
  {
2014
- "name": "overrideCurrentTime",
2015
- "type": "i64"
2093
+ "name": "rent",
2094
+ "isMut": false,
2095
+ "isSigner": false
2016
2096
  }
2017
- ]
2097
+ ],
2098
+ "args": []
2018
2099
  },
2019
2100
  {
2020
- "name": "transferVault",
2101
+ "name": "psmCreate",
2021
2102
  "accounts": [
2022
2103
  {
2023
- "name": "vault",
2104
+ "name": "payer",
2024
2105
  "isMut": true,
2025
- "isSigner": false
2106
+ "isSigner": true
2026
2107
  },
2027
2108
  {
2028
2109
  "name": "vaultSystemState",
@@ -2030,19 +2111,14 @@ exports.IDL = {
2030
2111
  "isSigner": false
2031
2112
  },
2032
2113
  {
2033
- "name": "vaultType",
2114
+ "name": "psmAccount",
2034
2115
  "isMut": true,
2035
2116
  "isSigner": false
2036
2117
  },
2037
2118
  {
2038
- "name": "history",
2039
- "isMut": true,
2040
- "isSigner": true
2041
- },
2042
- {
2043
- "name": "vaultOwner",
2044
- "isMut": true,
2045
- "isSigner": true
2119
+ "name": "collateralMint",
2120
+ "isMut": false,
2121
+ "isSigner": false
2046
2122
  },
2047
2123
  {
2048
2124
  "name": "systemProgram",
@@ -2052,16 +2128,295 @@ exports.IDL = {
2052
2128
  ],
2053
2129
  "args": [
2054
2130
  {
2055
- "name": "newOwner",
2056
- "type": "publicKey"
2057
- }
2058
- ]
2059
- }
2060
- ],
2061
- "accounts": [
2062
- {
2063
- "name": "aggregator",
2064
- "type": {
2131
+ "name": "mintFee",
2132
+ "type": "u64"
2133
+ },
2134
+ {
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
+ }
2415
+ ],
2416
+ "accounts": [
2417
+ {
2418
+ "name": "aggregator",
2419
+ "type": {
2065
2420
  "kind": "struct",
2066
2421
  "fields": [
2067
2422
  {
@@ -2239,124 +2594,252 @@ exports.IDL = {
2239
2594
  "type": "u64"
2240
2595
  },
2241
2596
  {
2242
- "name": "state",
2597
+ "name": "state",
2598
+ "type": {
2599
+ "defined": "PositionState"
2600
+ }
2601
+ }
2602
+ ]
2603
+ }
2604
+ },
2605
+ {
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",
2243
2708
  "type": {
2244
- "defined": "PositionState"
2709
+ "defined": "PsmStatus"
2245
2710
  }
2711
+ },
2712
+ {
2713
+ "name": "collateralDecimals",
2714
+ "type": "u8"
2246
2715
  }
2247
2716
  ]
2248
2717
  }
2249
2718
  },
2250
2719
  {
2251
- "name": "oracleInfoForCollateralType",
2720
+ "name": "referralAccount",
2252
2721
  "type": {
2253
2722
  "kind": "struct",
2254
2723
  "fields": [
2255
2724
  {
2256
- "name": "vaultType",
2725
+ "name": "referrer",
2257
2726
  "type": "publicKey"
2258
2727
  },
2259
2728
  {
2260
- "name": "oraclePyth",
2261
- "type": "publicKey"
2729
+ "name": "setupCut",
2730
+ "type": "u128"
2262
2731
  },
2263
2732
  {
2264
- "name": "oracleChainlink",
2265
- "type": "publicKey"
2733
+ "name": "referredUserDiscount",
2734
+ "type": "u128"
2266
2735
  },
2267
2736
  {
2268
- "name": "oracleSwitchboard",
2269
- "type": "publicKey"
2737
+ "name": "stabilityCut",
2738
+ "type": "u128"
2270
2739
  },
2271
2740
  {
2272
- "name": "priorityPyth",
2273
- "type": "i8"
2741
+ "name": "psmCut",
2742
+ "type": "u128"
2274
2743
  },
2275
2744
  {
2276
- "name": "priorityChainlink",
2277
- "type": "i8"
2745
+ "name": "ushAccumulator",
2746
+ "type": "u64"
2278
2747
  },
2279
2748
  {
2280
- "name": "prioritySwitchboard",
2281
- "type": "i8"
2749
+ "name": "hdgAccumulator",
2750
+ "type": "u64"
2282
2751
  },
2283
2752
  {
2284
- "name": "vaultTypeName",
2285
- "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"
2286
2767
  }
2287
2768
  ]
2288
2769
  }
2289
2770
  },
2290
2771
  {
2291
- "name": "psmAccount",
2772
+ "name": "referralState",
2292
2773
  "type": {
2293
2774
  "kind": "struct",
2294
2775
  "fields": [
2295
2776
  {
2296
- "name": "collateralMint",
2297
- "type": "publicKey"
2777
+ "name": "setupCut",
2778
+ "type": "u128"
2298
2779
  },
2299
2780
  {
2300
- "name": "minCollateralRatio",
2781
+ "name": "referredUserDiscount",
2301
2782
  "type": "u128"
2302
2783
  },
2303
2784
  {
2304
- "name": "mintFee",
2785
+ "name": "stabilityCut",
2305
2786
  "type": "u128"
2306
2787
  },
2307
2788
  {
2308
- "name": "redeemFee",
2789
+ "name": "psmCut",
2309
2790
  "type": "u128"
2310
2791
  },
2311
2792
  {
2312
- "name": "totalFeesAccumulatedUsh",
2793
+ "name": "maxSetupCut",
2313
2794
  "type": "u128"
2314
2795
  },
2315
2796
  {
2316
- "name": "totalFeesAccumulatedCollateral",
2797
+ "name": "maxReferredDiscount",
2317
2798
  "type": "u128"
2318
2799
  },
2319
2800
  {
2320
- "name": "recentPrice",
2801
+ "name": "maxStabilityCut",
2321
2802
  "type": "u128"
2322
2803
  },
2323
2804
  {
2324
- "name": "debtLimit",
2325
- "type": "u64"
2805
+ "name": "maxPsmCut",
2806
+ "type": "u128"
2326
2807
  },
2327
2808
  {
2328
- "name": "deposited",
2809
+ "name": "referralAccountCount",
2329
2810
  "type": "u64"
2330
2811
  },
2331
2812
  {
2332
- "name": "amountMinted",
2813
+ "name": "hdgThreshold",
2333
2814
  "type": "u64"
2334
2815
  },
2335
2816
  {
2336
- "name": "minSwap",
2817
+ "name": "hdgPsmThreshold",
2337
2818
  "type": "u64"
2338
2819
  },
2339
2820
  {
2340
- "name": "timeCreated",
2341
- "type": "u64"
2821
+ "name": "totalUshClaimed",
2822
+ "type": "u128"
2342
2823
  },
2343
2824
  {
2344
- "name": "timeLastInteraction",
2825
+ "name": "totalHdgClaimed",
2345
2826
  "type": "u64"
2346
2827
  },
2347
2828
  {
2348
- "name": "priceLastUpdatedTimestamp",
2829
+ "name": "totalUshFees",
2830
+ "type": "u128"
2831
+ },
2832
+ {
2833
+ "name": "totalHdgFees",
2349
2834
  "type": "u64"
2350
2835
  },
2351
2836
  {
2352
- "name": "psmStatus",
2353
- "type": {
2354
- "defined": "PsmStatus"
2355
- }
2837
+ "name": "referralPromoThreshold",
2838
+ "type": "u64"
2356
2839
  },
2357
2840
  {
2358
- "name": "collateralDecimals",
2359
- "type": "u8"
2841
+ "name": "referralEnabled",
2842
+ "type": "bool"
2360
2843
  }
2361
2844
  ]
2362
2845
  }
@@ -2487,6 +2970,30 @@ exports.IDL = {
2487
2970
  ]
2488
2971
  }
2489
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
+ },
2490
2997
  {
2491
2998
  "name": "vaultHistoryEvent",
2492
2999
  "type": {
@@ -2693,6 +3200,14 @@ exports.IDL = {
2693
3200
  "type": {
2694
3201
  "option": "publicKey"
2695
3202
  }
3203
+ },
3204
+ {
3205
+ "name": "lastRedeemFeeBytes",
3206
+ "type": "u128"
3207
+ },
3208
+ {
3209
+ "name": "lastRedeemTimestamp",
3210
+ "type": "u64"
2696
3211
  }
2697
3212
  ]
2698
3213
  }
@@ -2819,6 +3334,124 @@ exports.IDL = {
2819
3334
  ]
2820
3335
  }
2821
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
+ },
2822
3455
  {
2823
3456
  "name": "VaultTypeConfig",
2824
3457
  "type": {
@@ -3196,131 +3829,151 @@ exports.IDL = {
3196
3829
  },
3197
3830
  {
3198
3831
  "code": 6009,
3832
+ "name": "NotAuthorizedToCreateReferralState",
3833
+ "msg": "Signer not authorized to create referral state account"
3834
+ },
3835
+ {
3836
+ "code": 6010,
3199
3837
  "name": "NotAuthorized",
3200
3838
  "msg": "Signer not authorized to call this function"
3201
3839
  },
3202
3840
  {
3203
- "code": 6010,
3841
+ "code": 6011,
3204
3842
  "name": "BadSeed",
3205
3843
  "msg": "Bad Seed"
3206
3844
  },
3207
3845
  {
3208
- "code": 6011,
3846
+ "code": 6012,
3209
3847
  "name": "CollateralPriceOutOfDate",
3210
3848
  "msg": "Collateral price needs to be refreshed. It is only valid for 60 seconds."
3211
3849
  },
3212
3850
  {
3213
- "code": 6012,
3851
+ "code": 6013,
3214
3852
  "name": "EmergencyMode",
3215
3853
  "msg": "System is not accepting any tx that would worsen collateral ratio at this time"
3216
3854
  },
3217
3855
  {
3218
- "code": 6013,
3856
+ "code": 6014,
3219
3857
  "name": "MinDebtRequired",
3220
3858
  "msg": "Vault under the minimum debt limit. Vault must have zero debt or be over the minimum."
3221
3859
  },
3222
3860
  {
3223
- "code": 6014,
3861
+ "code": 6015,
3224
3862
  "name": "PoolPositionAlreadyClosed",
3225
3863
  "msg": "Pool position already closed"
3226
3864
  },
3227
3865
  {
3228
- "code": 6015,
3866
+ "code": 6016,
3229
3867
  "name": "PoolPositionNoYetClosed",
3230
3868
  "msg": "Pool position must be closed to claim reward"
3231
3869
  },
3232
3870
  {
3233
- "code": 6016,
3871
+ "code": 6017,
3234
3872
  "name": "MaxDebtAgainstVaultType",
3235
3873
  "msg": "Max debt extended against vault type reached."
3236
3874
  },
3237
3875
  {
3238
- "code": 6017,
3876
+ "code": 6018,
3239
3877
  "name": "VaultTypeNotRedeemable",
3240
3878
  "msg": "Vault type cannot be redeemed against."
3241
3879
  },
3242
3880
  {
3243
- "code": 6018,
3881
+ "code": 6019,
3244
3882
  "name": "SystemHalted",
3245
3883
  "msg": "System is currently halted. No actions may be taken at this time."
3246
3884
  },
3247
3885
  {
3248
- "code": 6019,
3886
+ "code": 6020,
3249
3887
  "name": "EntireVaultRedeem",
3250
3888
  "msg": "Entire vault must be redeemed at this time."
3251
3889
  },
3252
3890
  {
3253
- "code": 6020,
3891
+ "code": 6021,
3254
3892
  "name": "NotRedeemingLowestCollateralRatioVault",
3255
3893
  "msg": "Can only redeem lowest collateral ratio vault in system."
3256
3894
  },
3257
3895
  {
3258
- "code": 6021,
3896
+ "code": 6022,
3259
3897
  "name": "VaultTypeDeprecated",
3260
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."
3261
3899
  },
3262
3900
  {
3263
- "code": 6022,
3901
+ "code": 6023,
3264
3902
  "name": "UpdateLinkedListFailed",
3265
3903
  "msg": "There was an error updating the list of vaults. Please make sure the transaction is fresh."
3266
3904
  },
3267
3905
  {
3268
- "code": 6023,
3906
+ "code": 6024,
3269
3907
  "name": "InvalidSaltLength",
3270
3908
  "msg": "Salt for new vaults must be of length 8"
3271
3909
  },
3272
3910
  {
3273
- "code": 6024,
3911
+ "code": 6025,
3274
3912
  "name": "InvalidNameLength",
3275
3913
  "msg": "Name for new vault type must be length 16"
3276
3914
  },
3277
3915
  {
3278
- "code": 6025,
3916
+ "code": 6026,
3279
3917
  "name": "PositionNotClaimed",
3280
3918
  "msg": "Not all positions claimed. Claim all before closing account to recover SOL rent."
3281
3919
  },
3282
3920
  {
3283
- "code": 6026,
3921
+ "code": 6027,
3284
3922
  "name": "PoolWasUsed",
3285
3923
  "msg": "Era was not unused. Cannot reclaim the SOL rent."
3286
3924
  },
3287
3925
  {
3288
- "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,
3289
3942
  "name": "PsmDisabled",
3290
3943
  "msg": "PSM is currently disabled."
3291
3944
  },
3292
3945
  {
3293
- "code": 6028,
3946
+ "code": 6032,
3294
3947
  "name": "PsmMaxDebtReached",
3295
3948
  "msg": "PSM - Max Debt reached"
3296
3949
  },
3297
3950
  {
3298
- "code": 6029,
3951
+ "code": 6033,
3299
3952
  "name": "PsmMinSwapAmount",
3300
3953
  "msg": "PSM - Need more to swap"
3301
3954
  },
3302
3955
  {
3303
- "code": 6030,
3956
+ "code": 6034,
3304
3957
  "name": "UpdateVaultTypeBadMaxDebtExtended",
3305
3958
  "msg": "New Max debt extended value is less than the current debt!"
3306
3959
  },
3307
3960
  {
3308
- "code": 6031,
3961
+ "code": 6035,
3309
3962
  "name": "UpdateVaultTypeNoEnabledOracles",
3310
3963
  "msg": "No Enabled Oracles!"
3311
3964
  },
3312
3965
  {
3313
- "code": 6032,
3966
+ "code": 6036,
3314
3967
  "name": "UpdateVaultTypeDuplicateOraclePriorities",
3315
3968
  "msg": "Duplicate Oracle Priorities"
3316
3969
  },
3317
3970
  {
3318
- "code": 6033,
3971
+ "code": 6037,
3319
3972
  "name": "UpdateVaultTypeInvalidOraclePriority",
3320
3973
  "msg": "Invalid Oracle Priority"
3321
3974
  },
3322
3975
  {
3323
- "code": 6034,
3976
+ "code": 6038,
3324
3977
  "name": "OracleUpdateFailed",
3325
3978
  "msg": "OracleUpdateFailed"
3326
3979
  }