hedge-web3 0.2.22 → 0.2.24

Sign up to get free protection for your applications and to get access to all the features.
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
  }