hedge-web3 0.2.20 → 0.2.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/declarations/Constants.d.ts +15 -0
  2. package/declarations/idl/pyth.d.ts +44 -24
  3. package/declarations/idl/switchboard.d.ts +47 -0
  4. package/declarations/idl/vault.d.ts +857 -157
  5. package/declarations/index.d.ts +26 -20
  6. package/declarations/instructions/closeLiquidationPoolPosition.d.ts +2 -2
  7. package/declarations/instructions/createReferralAccount.d.ts +17 -0
  8. package/declarations/instructions/createUserReferralAccount.d.ts +5 -0
  9. package/declarations/instructions/depositLiquidationPool.d.ts +2 -2
  10. package/declarations/instructions/loanVault.d.ts +2 -2
  11. package/declarations/instructions/psmEditAccount.d.ts +12 -0
  12. package/declarations/instructions/psmMintUsh.d.ts +2 -2
  13. package/declarations/instructions/psmRedeemUsh.d.ts +2 -2
  14. package/declarations/instructions/referralClaimFees.d.ts +16 -0
  15. package/declarations/instructions/transferVault.d.ts +3 -17
  16. package/declarations/instructions/updateReferralAccount.d.ts +13 -0
  17. package/declarations/instructions/updateReferralState.d.ts +20 -0
  18. package/declarations/instructions/updateVaultType.d.ts +1 -0
  19. package/declarations/state/VaultAccount.d.ts +2 -1
  20. package/lib/Constants.js +36 -1
  21. package/lib/idl/pyth.js +44 -24
  22. package/lib/idl/switchboard.js +49 -0
  23. package/lib/idl/vault.js +850 -150
  24. package/lib/index.js +26 -20
  25. package/lib/instructions/closeLiquidationPoolPosition.js +16 -3
  26. package/lib/instructions/createReferralAccount.js +80 -0
  27. package/lib/instructions/createUserReferralAccount.js +61 -0
  28. package/lib/instructions/depositLiquidationPool.js +16 -5
  29. package/lib/instructions/loanVault.js +16 -3
  30. package/lib/instructions/psmEditAccount.js +60 -0
  31. package/lib/instructions/psmMintUsh.js +14 -3
  32. package/lib/instructions/psmRedeemUsh.js +14 -3
  33. package/lib/instructions/referralClaimFees.js +84 -0
  34. package/lib/instructions/transferVault.js +10 -24
  35. package/lib/instructions/updateReferralAccount.js +50 -0
  36. package/lib/instructions/updateReferralState.js +57 -0
  37. package/lib/instructions/updateVaultType.js +10 -9
  38. package/package.json +1 -1
  39. package/src/Constants.ts +42 -0
  40. package/src/idl/pyth.ts +88 -48
  41. package/src/idl/switchboard.ts +93 -0
  42. package/src/idl/vault.ts +1762 -362
  43. package/src/index.ts +28 -24
  44. package/src/instructions/closeLiquidationPoolPosition.ts +25 -1
  45. package/src/instructions/createReferralAccount.ts +127 -0
  46. package/src/instructions/createUserReferralAccount.ts +86 -0
  47. package/src/instructions/depositLiquidationPool.ts +24 -4
  48. package/src/instructions/loanVault.ts +20 -1
  49. package/src/instructions/{psmEditAccount.rs → psmEditAccount.ts} +0 -0
  50. package/src/instructions/psmMintUsh.ts +20 -1
  51. package/src/instructions/psmRedeemUsh.ts +20 -1
  52. package/src/instructions/referralClaimFees.ts +159 -0
  53. package/src/instructions/transferVault.ts +21 -58
  54. package/src/instructions/updateReferralAccount.ts +77 -0
  55. package/src/instructions/updateReferralState.ts +93 -0
  56. package/src/instructions/updateVaultType.ts +3 -0
  57. package/src/state/VaultAccount.ts +1 -1
@@ -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,27 +2085,338 @@ export declare type Vault = {
2000
2085
  "name": "tokenProgram";
2001
2086
  "isMut": false;
2002
2087
  "isSigner": false;
2088
+ },
2089
+ {
2090
+ "name": "rent";
2091
+ "isMut": false;
2092
+ "isSigner": false;
2003
2093
  }
2004
2094
  ];
2005
- "args": [
2095
+ "args": [];
2096
+ },
2097
+ {
2098
+ "name": "psmCreate";
2099
+ "accounts": [
2006
2100
  {
2007
- "name": "ushAmount";
2008
- "type": "u64";
2101
+ "name": "payer";
2102
+ "isMut": true;
2103
+ "isSigner": true;
2009
2104
  },
2010
2105
  {
2011
- "name": "overrideCurrentTime";
2012
- "type": "i64";
2106
+ "name": "vaultSystemState";
2107
+ "isMut": true;
2108
+ "isSigner": false;
2109
+ },
2110
+ {
2111
+ "name": "psmAccount";
2112
+ "isMut": true;
2113
+ "isSigner": false;
2114
+ },
2115
+ {
2116
+ "name": "collateralMint";
2117
+ "isMut": false;
2118
+ "isSigner": false;
2119
+ },
2120
+ {
2121
+ "name": "systemProgram";
2122
+ "isMut": false;
2123
+ "isSigner": false;
2013
2124
  }
2014
2125
  ];
2015
- }
2016
- ];
2017
- "accounts": [
2018
- {
2019
- "name": "aggregator";
2020
- "type": {
2021
- "kind": "struct";
2022
- "fields": [
2023
- {
2126
+ "args": [
2127
+ {
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
+ {
2024
2420
  "name": "isInitialized";
2025
2421
  "type": "bool";
2026
2422
  },
@@ -2204,115 +2600,243 @@ export declare type Vault = {
2204
2600
  };
2205
2601
  },
2206
2602
  {
2207
- "name": "oracleInfoForCollateralType";
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";
2705
+ "type": {
2706
+ "defined": "PsmStatus";
2707
+ };
2708
+ },
2709
+ {
2710
+ "name": "collateralDecimals";
2711
+ "type": "u8";
2712
+ }
2713
+ ];
2714
+ };
2715
+ },
2716
+ {
2717
+ "name": "referralAccount";
2208
2718
  "type": {
2209
2719
  "kind": "struct";
2210
2720
  "fields": [
2211
2721
  {
2212
- "name": "vaultType";
2722
+ "name": "referrer";
2213
2723
  "type": "publicKey";
2214
2724
  },
2215
2725
  {
2216
- "name": "oraclePyth";
2217
- "type": "publicKey";
2726
+ "name": "setupCut";
2727
+ "type": "u128";
2218
2728
  },
2219
2729
  {
2220
- "name": "oracleChainlink";
2221
- "type": "publicKey";
2730
+ "name": "referredUserDiscount";
2731
+ "type": "u128";
2222
2732
  },
2223
2733
  {
2224
- "name": "oracleSwitchboard";
2225
- "type": "publicKey";
2734
+ "name": "stabilityCut";
2735
+ "type": "u128";
2226
2736
  },
2227
2737
  {
2228
- "name": "priorityPyth";
2229
- "type": "i8";
2738
+ "name": "psmCut";
2739
+ "type": "u128";
2230
2740
  },
2231
2741
  {
2232
- "name": "priorityChainlink";
2233
- "type": "i8";
2742
+ "name": "ushAccumulator";
2743
+ "type": "u64";
2234
2744
  },
2235
2745
  {
2236
- "name": "prioritySwitchboard";
2237
- "type": "i8";
2746
+ "name": "hdgAccumulator";
2747
+ "type": "u64";
2238
2748
  },
2239
2749
  {
2240
- "name": "vaultTypeName";
2241
- "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";
2242
2764
  }
2243
2765
  ];
2244
2766
  };
2245
2767
  },
2246
2768
  {
2247
- "name": "psmAccount";
2769
+ "name": "referralState";
2248
2770
  "type": {
2249
2771
  "kind": "struct";
2250
2772
  "fields": [
2251
2773
  {
2252
- "name": "collateralMint";
2253
- "type": "publicKey";
2774
+ "name": "setupCut";
2775
+ "type": "u128";
2254
2776
  },
2255
2777
  {
2256
- "name": "minCollateralRatio";
2778
+ "name": "referredUserDiscount";
2257
2779
  "type": "u128";
2258
2780
  },
2259
2781
  {
2260
- "name": "mintFee";
2782
+ "name": "stabilityCut";
2261
2783
  "type": "u128";
2262
2784
  },
2263
2785
  {
2264
- "name": "redeemFee";
2786
+ "name": "psmCut";
2265
2787
  "type": "u128";
2266
2788
  },
2267
2789
  {
2268
- "name": "totalFeesAccumulatedUsh";
2790
+ "name": "maxSetupCut";
2269
2791
  "type": "u128";
2270
2792
  },
2271
2793
  {
2272
- "name": "totalFeesAccumulatedCollateral";
2794
+ "name": "maxReferredDiscount";
2273
2795
  "type": "u128";
2274
2796
  },
2275
2797
  {
2276
- "name": "recentPrice";
2798
+ "name": "maxStabilityCut";
2277
2799
  "type": "u128";
2278
2800
  },
2279
2801
  {
2280
- "name": "debtLimit";
2281
- "type": "u64";
2802
+ "name": "maxPsmCut";
2803
+ "type": "u128";
2282
2804
  },
2283
2805
  {
2284
- "name": "deposited";
2806
+ "name": "referralAccountCount";
2285
2807
  "type": "u64";
2286
2808
  },
2287
2809
  {
2288
- "name": "amountMinted";
2810
+ "name": "hdgThreshold";
2289
2811
  "type": "u64";
2290
2812
  },
2291
2813
  {
2292
- "name": "minSwap";
2814
+ "name": "hdgPsmThreshold";
2293
2815
  "type": "u64";
2294
2816
  },
2295
2817
  {
2296
- "name": "timeCreated";
2297
- "type": "u64";
2818
+ "name": "totalUshClaimed";
2819
+ "type": "u128";
2298
2820
  },
2299
2821
  {
2300
- "name": "timeLastInteraction";
2822
+ "name": "totalHdgClaimed";
2301
2823
  "type": "u64";
2302
2824
  },
2303
2825
  {
2304
- "name": "priceLastUpdatedTimestamp";
2826
+ "name": "totalUshFees";
2827
+ "type": "u128";
2828
+ },
2829
+ {
2830
+ "name": "totalHdgFees";
2305
2831
  "type": "u64";
2306
2832
  },
2307
2833
  {
2308
- "name": "psmStatus";
2309
- "type": {
2310
- "defined": "PsmStatus";
2311
- };
2834
+ "name": "referralPromoThreshold";
2835
+ "type": "u64";
2312
2836
  },
2313
2837
  {
2314
- "name": "collateralDecimals";
2315
- "type": "u8";
2838
+ "name": "referralEnabled";
2839
+ "type": "bool";
2316
2840
  }
2317
2841
  ];
2318
2842
  };
@@ -2443,6 +2967,30 @@ export declare type Vault = {
2443
2967
  ];
2444
2968
  };
2445
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
+ },
2446
2994
  {
2447
2995
  "name": "vaultHistoryEvent";
2448
2996
  "type": {
@@ -2649,6 +3197,14 @@ export declare type Vault = {
2649
3197
  "type": {
2650
3198
  "option": "publicKey";
2651
3199
  };
3200
+ },
3201
+ {
3202
+ "name": "lastRedeemFeeBytes";
3203
+ "type": "u128";
3204
+ },
3205
+ {
3206
+ "name": "lastRedeemTimestamp";
3207
+ "type": "u64";
2652
3208
  }
2653
3209
  ];
2654
3210
  };
@@ -2775,6 +3331,124 @@ export declare type Vault = {
2775
3331
  ];
2776
3332
  };
2777
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
+ },
2778
3452
  {
2779
3453
  "name": "VaultTypeConfig";
2780
3454
  "type": {
@@ -2798,6 +3472,12 @@ export declare type Vault = {
2798
3472
  "option": "u64";
2799
3473
  };
2800
3474
  },
3475
+ {
3476
+ "name": "interestRatePerSecond";
3477
+ "type": {
3478
+ "option": "u128";
3479
+ };
3480
+ },
2801
3481
  {
2802
3482
  "name": "emergencyModeThreshold";
2803
3483
  "type": {
@@ -3146,131 +3826,151 @@ export declare type Vault = {
3146
3826
  },
3147
3827
  {
3148
3828
  "code": 6009;
3829
+ "name": "NotAuthorizedToCreateReferralState";
3830
+ "msg": "Signer not authorized to create referral state account";
3831
+ },
3832
+ {
3833
+ "code": 6010;
3149
3834
  "name": "NotAuthorized";
3150
3835
  "msg": "Signer not authorized to call this function";
3151
3836
  },
3152
3837
  {
3153
- "code": 6010;
3838
+ "code": 6011;
3154
3839
  "name": "BadSeed";
3155
3840
  "msg": "Bad Seed";
3156
3841
  },
3157
3842
  {
3158
- "code": 6011;
3843
+ "code": 6012;
3159
3844
  "name": "CollateralPriceOutOfDate";
3160
3845
  "msg": "Collateral price needs to be refreshed. It is only valid for 60 seconds.";
3161
3846
  },
3162
3847
  {
3163
- "code": 6012;
3848
+ "code": 6013;
3164
3849
  "name": "EmergencyMode";
3165
3850
  "msg": "System is not accepting any tx that would worsen collateral ratio at this time";
3166
3851
  },
3167
3852
  {
3168
- "code": 6013;
3853
+ "code": 6014;
3169
3854
  "name": "MinDebtRequired";
3170
3855
  "msg": "Vault under the minimum debt limit. Vault must have zero debt or be over the minimum.";
3171
3856
  },
3172
3857
  {
3173
- "code": 6014;
3858
+ "code": 6015;
3174
3859
  "name": "PoolPositionAlreadyClosed";
3175
3860
  "msg": "Pool position already closed";
3176
3861
  },
3177
3862
  {
3178
- "code": 6015;
3863
+ "code": 6016;
3179
3864
  "name": "PoolPositionNoYetClosed";
3180
3865
  "msg": "Pool position must be closed to claim reward";
3181
3866
  },
3182
3867
  {
3183
- "code": 6016;
3868
+ "code": 6017;
3184
3869
  "name": "MaxDebtAgainstVaultType";
3185
3870
  "msg": "Max debt extended against vault type reached.";
3186
3871
  },
3187
3872
  {
3188
- "code": 6017;
3873
+ "code": 6018;
3189
3874
  "name": "VaultTypeNotRedeemable";
3190
3875
  "msg": "Vault type cannot be redeemed against.";
3191
3876
  },
3192
3877
  {
3193
- "code": 6018;
3878
+ "code": 6019;
3194
3879
  "name": "SystemHalted";
3195
3880
  "msg": "System is currently halted. No actions may be taken at this time.";
3196
3881
  },
3197
3882
  {
3198
- "code": 6019;
3883
+ "code": 6020;
3199
3884
  "name": "EntireVaultRedeem";
3200
3885
  "msg": "Entire vault must be redeemed at this time.";
3201
3886
  },
3202
3887
  {
3203
- "code": 6020;
3888
+ "code": 6021;
3204
3889
  "name": "NotRedeemingLowestCollateralRatioVault";
3205
3890
  "msg": "Can only redeem lowest collateral ratio vault in system.";
3206
3891
  },
3207
3892
  {
3208
- "code": 6021;
3893
+ "code": 6022;
3209
3894
  "name": "VaultTypeDeprecated";
3210
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.";
3211
3896
  },
3212
3897
  {
3213
- "code": 6022;
3898
+ "code": 6023;
3214
3899
  "name": "UpdateLinkedListFailed";
3215
3900
  "msg": "There was an error updating the list of vaults. Please make sure the transaction is fresh.";
3216
3901
  },
3217
3902
  {
3218
- "code": 6023;
3903
+ "code": 6024;
3219
3904
  "name": "InvalidSaltLength";
3220
3905
  "msg": "Salt for new vaults must be of length 8";
3221
3906
  },
3222
3907
  {
3223
- "code": 6024;
3908
+ "code": 6025;
3224
3909
  "name": "InvalidNameLength";
3225
3910
  "msg": "Name for new vault type must be length 16";
3226
3911
  },
3227
3912
  {
3228
- "code": 6025;
3913
+ "code": 6026;
3229
3914
  "name": "PositionNotClaimed";
3230
3915
  "msg": "Not all positions claimed. Claim all before closing account to recover SOL rent.";
3231
3916
  },
3232
3917
  {
3233
- "code": 6026;
3918
+ "code": 6027;
3234
3919
  "name": "PoolWasUsed";
3235
3920
  "msg": "Era was not unused. Cannot reclaim the SOL rent.";
3236
3921
  },
3237
3922
  {
3238
- "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;
3239
3939
  "name": "PsmDisabled";
3240
3940
  "msg": "PSM is currently disabled.";
3241
3941
  },
3242
3942
  {
3243
- "code": 6028;
3943
+ "code": 6032;
3244
3944
  "name": "PsmMaxDebtReached";
3245
3945
  "msg": "PSM - Max Debt reached";
3246
3946
  },
3247
3947
  {
3248
- "code": 6029;
3948
+ "code": 6033;
3249
3949
  "name": "PsmMinSwapAmount";
3250
3950
  "msg": "PSM - Need more to swap";
3251
3951
  },
3252
3952
  {
3253
- "code": 6030;
3953
+ "code": 6034;
3254
3954
  "name": "UpdateVaultTypeBadMaxDebtExtended";
3255
3955
  "msg": "New Max debt extended value is less than the current debt!";
3256
3956
  },
3257
3957
  {
3258
- "code": 6031;
3958
+ "code": 6035;
3259
3959
  "name": "UpdateVaultTypeNoEnabledOracles";
3260
3960
  "msg": "No Enabled Oracles!";
3261
3961
  },
3262
3962
  {
3263
- "code": 6032;
3963
+ "code": 6036;
3264
3964
  "name": "UpdateVaultTypeDuplicateOraclePriorities";
3265
3965
  "msg": "Duplicate Oracle Priorities";
3266
3966
  },
3267
3967
  {
3268
- "code": 6033;
3968
+ "code": 6037;
3269
3969
  "name": "UpdateVaultTypeInvalidOraclePriority";
3270
3970
  "msg": "Invalid Oracle Priority";
3271
3971
  },
3272
3972
  {
3273
- "code": 6034;
3973
+ "code": 6038;
3274
3974
  "name": "OracleUpdateFailed";
3275
3975
  "msg": "OracleUpdateFailed";
3276
3976
  }