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
@@ -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
  }