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