hedge-web3 0.2.16 → 0.2.19

Sign up to get free protection for your applications and to get access to all the features.
@@ -76,6 +76,10 @@ export declare type Vault = {
76
76
  "name": "maxDebtExtended";
77
77
  "type": "u64";
78
78
  },
79
+ {
80
+ "name": "emergencyModeThreshold";
81
+ "type": "u64";
82
+ },
79
83
  {
80
84
  "name": "canBeRedeemed";
81
85
  "type": "bool";
@@ -1754,6 +1758,260 @@ export declare type Vault = {
1754
1758
  }
1755
1759
  ];
1756
1760
  "args": [];
1761
+ },
1762
+ {
1763
+ "name": "psmCreate";
1764
+ "accounts": [
1765
+ {
1766
+ "name": "payer";
1767
+ "isMut": true;
1768
+ "isSigner": true;
1769
+ },
1770
+ {
1771
+ "name": "vaultSystemState";
1772
+ "isMut": true;
1773
+ "isSigner": false;
1774
+ },
1775
+ {
1776
+ "name": "psmAccount";
1777
+ "isMut": true;
1778
+ "isSigner": false;
1779
+ },
1780
+ {
1781
+ "name": "collateralMint";
1782
+ "isMut": false;
1783
+ "isSigner": false;
1784
+ },
1785
+ {
1786
+ "name": "systemProgram";
1787
+ "isMut": false;
1788
+ "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
+ },
1804
+ {
1805
+ "name": "minSwap";
1806
+ "type": "u64";
1807
+ },
1808
+ {
1809
+ "name": "overrideCurrentTime";
1810
+ "type": "i64";
1811
+ }
1812
+ ];
1813
+ },
1814
+ {
1815
+ "name": "psmEditAccount";
1816
+ "accounts": [
1817
+ {
1818
+ "name": "payer";
1819
+ "isMut": true;
1820
+ "isSigner": true;
1821
+ },
1822
+ {
1823
+ "name": "vaultSystemState";
1824
+ "isMut": true;
1825
+ "isSigner": false;
1826
+ },
1827
+ {
1828
+ "name": "psmAccount";
1829
+ "isMut": true;
1830
+ "isSigner": false;
1831
+ },
1832
+ {
1833
+ "name": "collateralMint";
1834
+ "isMut": false;
1835
+ "isSigner": false;
1836
+ },
1837
+ {
1838
+ "name": "systemProgram";
1839
+ "isMut": false;
1840
+ "isSigner": false;
1841
+ }
1842
+ ];
1843
+ "args": [
1844
+ {
1845
+ "name": "mintFee";
1846
+ "type": "u64";
1847
+ },
1848
+ {
1849
+ "name": "redeemFee";
1850
+ "type": "u64";
1851
+ },
1852
+ {
1853
+ "name": "debtLimit";
1854
+ "type": "u64";
1855
+ },
1856
+ {
1857
+ "name": "minSwap";
1858
+ "type": "u64";
1859
+ },
1860
+ {
1861
+ "name": "overrideCurrentTime";
1862
+ "type": "i64";
1863
+ }
1864
+ ];
1865
+ },
1866
+ {
1867
+ "name": "psmMintUsh";
1868
+ "accounts": [
1869
+ {
1870
+ "name": "payer";
1871
+ "isMut": true;
1872
+ "isSigner": true;
1873
+ },
1874
+ {
1875
+ "name": "vaultSystemState";
1876
+ "isMut": true;
1877
+ "isSigner": false;
1878
+ },
1879
+ {
1880
+ "name": "feePool";
1881
+ "isMut": true;
1882
+ "isSigner": false;
1883
+ },
1884
+ {
1885
+ "name": "feePoolAssociatedUshTokenAccount";
1886
+ "isMut": true;
1887
+ "isSigner": false;
1888
+ },
1889
+ {
1890
+ "name": "psmAccount";
1891
+ "isMut": true;
1892
+ "isSigner": false;
1893
+ },
1894
+ {
1895
+ "name": "psmAccountAta";
1896
+ "isMut": true;
1897
+ "isSigner": false;
1898
+ },
1899
+ {
1900
+ "name": "ownerUshAccount";
1901
+ "isMut": true;
1902
+ "isSigner": false;
1903
+ },
1904
+ {
1905
+ "name": "ownerCollateralAccount";
1906
+ "isMut": true;
1907
+ "isSigner": false;
1908
+ },
1909
+ {
1910
+ "name": "collateralMint";
1911
+ "isMut": false;
1912
+ "isSigner": false;
1913
+ },
1914
+ {
1915
+ "name": "ushMint";
1916
+ "isMut": true;
1917
+ "isSigner": false;
1918
+ },
1919
+ {
1920
+ "name": "systemProgram";
1921
+ "isMut": false;
1922
+ "isSigner": false;
1923
+ },
1924
+ {
1925
+ "name": "tokenProgram";
1926
+ "isMut": false;
1927
+ "isSigner": false;
1928
+ }
1929
+ ];
1930
+ "args": [
1931
+ {
1932
+ "name": "collateralAmount";
1933
+ "type": "u64";
1934
+ },
1935
+ {
1936
+ "name": "overrideCurrentTime";
1937
+ "type": "i64";
1938
+ }
1939
+ ];
1940
+ },
1941
+ {
1942
+ "name": "psmRedeemUsh";
1943
+ "accounts": [
1944
+ {
1945
+ "name": "payer";
1946
+ "isMut": true;
1947
+ "isSigner": true;
1948
+ },
1949
+ {
1950
+ "name": "vaultSystemState";
1951
+ "isMut": true;
1952
+ "isSigner": false;
1953
+ },
1954
+ {
1955
+ "name": "feePool";
1956
+ "isMut": true;
1957
+ "isSigner": false;
1958
+ },
1959
+ {
1960
+ "name": "feePoolAssociatedUshTokenAccount";
1961
+ "isMut": true;
1962
+ "isSigner": false;
1963
+ },
1964
+ {
1965
+ "name": "psmAccount";
1966
+ "isMut": true;
1967
+ "isSigner": false;
1968
+ },
1969
+ {
1970
+ "name": "psmAccountAta";
1971
+ "isMut": true;
1972
+ "isSigner": false;
1973
+ },
1974
+ {
1975
+ "name": "ownerUshAccount";
1976
+ "isMut": true;
1977
+ "isSigner": false;
1978
+ },
1979
+ {
1980
+ "name": "ownerCollateralAccount";
1981
+ "isMut": true;
1982
+ "isSigner": false;
1983
+ },
1984
+ {
1985
+ "name": "collateralMint";
1986
+ "isMut": false;
1987
+ "isSigner": false;
1988
+ },
1989
+ {
1990
+ "name": "ushMint";
1991
+ "isMut": true;
1992
+ "isSigner": false;
1993
+ },
1994
+ {
1995
+ "name": "systemProgram";
1996
+ "isMut": false;
1997
+ "isSigner": false;
1998
+ },
1999
+ {
2000
+ "name": "tokenProgram";
2001
+ "isMut": false;
2002
+ "isSigner": false;
2003
+ }
2004
+ ];
2005
+ "args": [
2006
+ {
2007
+ "name": "ushAmount";
2008
+ "type": "u64";
2009
+ },
2010
+ {
2011
+ "name": "overrideCurrentTime";
2012
+ "type": "i64";
2013
+ }
2014
+ ];
1757
2015
  }
1758
2016
  ];
1759
2017
  "accounts": [
@@ -1985,6 +2243,80 @@ export declare type Vault = {
1985
2243
  ];
1986
2244
  };
1987
2245
  },
2246
+ {
2247
+ "name": "psmAccount";
2248
+ "type": {
2249
+ "kind": "struct";
2250
+ "fields": [
2251
+ {
2252
+ "name": "collateralMint";
2253
+ "type": "publicKey";
2254
+ },
2255
+ {
2256
+ "name": "minCollateralRatio";
2257
+ "type": "u128";
2258
+ },
2259
+ {
2260
+ "name": "mintFee";
2261
+ "type": "u128";
2262
+ },
2263
+ {
2264
+ "name": "redeemFee";
2265
+ "type": "u128";
2266
+ },
2267
+ {
2268
+ "name": "totalFeesAccumulatedUsh";
2269
+ "type": "u128";
2270
+ },
2271
+ {
2272
+ "name": "totalFeesAccumulatedCollateral";
2273
+ "type": "u128";
2274
+ },
2275
+ {
2276
+ "name": "recentPrice";
2277
+ "type": "u128";
2278
+ },
2279
+ {
2280
+ "name": "debtLimit";
2281
+ "type": "u64";
2282
+ },
2283
+ {
2284
+ "name": "deposited";
2285
+ "type": "u64";
2286
+ },
2287
+ {
2288
+ "name": "amountMinted";
2289
+ "type": "u64";
2290
+ },
2291
+ {
2292
+ "name": "minSwap";
2293
+ "type": "u64";
2294
+ },
2295
+ {
2296
+ "name": "timeCreated";
2297
+ "type": "u64";
2298
+ },
2299
+ {
2300
+ "name": "timeLastInteraction";
2301
+ "type": "u64";
2302
+ },
2303
+ {
2304
+ "name": "priceLastUpdatedTimestamp";
2305
+ "type": "u64";
2306
+ },
2307
+ {
2308
+ "name": "psmStatus";
2309
+ "type": {
2310
+ "defined": "PsmStatus";
2311
+ };
2312
+ },
2313
+ {
2314
+ "name": "collateralDecimals";
2315
+ "type": "u8";
2316
+ }
2317
+ ];
2318
+ };
2319
+ },
1988
2320
  {
1989
2321
  "name": "stakingPoolPosition";
1990
2322
  "type": {
@@ -2466,6 +2798,12 @@ export declare type Vault = {
2466
2798
  "option": "u64";
2467
2799
  };
2468
2800
  },
2801
+ {
2802
+ "name": "emergencyModeThreshold";
2803
+ "type": {
2804
+ "option": "u64";
2805
+ };
2806
+ },
2469
2807
  {
2470
2808
  "name": "oracleChainlink";
2471
2809
  "type": {
@@ -2562,6 +2900,26 @@ export declare type Vault = {
2562
2900
  ];
2563
2901
  };
2564
2902
  },
2903
+ {
2904
+ "name": "PsmStatus";
2905
+ "type": {
2906
+ "kind": "enum";
2907
+ "variants": [
2908
+ {
2909
+ "name": "PsmEnabled";
2910
+ },
2911
+ {
2912
+ "name": "PsmDisabled";
2913
+ },
2914
+ {
2915
+ "name": "MintOnly";
2916
+ },
2917
+ {
2918
+ "name": "RedeemOnly";
2919
+ }
2920
+ ];
2921
+ };
2922
+ },
2565
2923
  {
2566
2924
  "name": "SystemStatus";
2567
2925
  "type": {
@@ -2858,26 +3216,41 @@ export declare type Vault = {
2858
3216
  },
2859
3217
  {
2860
3218
  "code": 6027;
3219
+ "name": "PsmDisabled";
3220
+ "msg": "PSM is currently disabled.";
3221
+ },
3222
+ {
3223
+ "code": 6028;
3224
+ "name": "PsmMaxDebtReached";
3225
+ "msg": "PSM - Max Debt reached";
3226
+ },
3227
+ {
3228
+ "code": 6029;
3229
+ "name": "PsmMinSwapAmount";
3230
+ "msg": "PSM - Need more to swap";
3231
+ },
3232
+ {
3233
+ "code": 6030;
2861
3234
  "name": "UpdateVaultTypeBadMaxDebtExtended";
2862
3235
  "msg": "New Max debt extended value is less than the current debt!";
2863
3236
  },
2864
3237
  {
2865
- "code": 6028;
3238
+ "code": 6031;
2866
3239
  "name": "UpdateVaultTypeNoEnabledOracles";
2867
3240
  "msg": "No Enabled Oracles!";
2868
3241
  },
2869
3242
  {
2870
- "code": 6029;
3243
+ "code": 6032;
2871
3244
  "name": "UpdateVaultTypeDuplicateOraclePriorities";
2872
3245
  "msg": "Duplicate Oracle Priorities";
2873
3246
  },
2874
3247
  {
2875
- "code": 6030;
3248
+ "code": 6033;
2876
3249
  "name": "UpdateVaultTypeInvalidOraclePriority";
2877
3250
  "msg": "Invalid Oracle Priority";
2878
3251
  },
2879
3252
  {
2880
- "code": 6031;
3253
+ "code": 6034;
2881
3254
  "name": "OracleUpdateFailed";
2882
3255
  "msg": "OracleUpdateFailed";
2883
3256
  }
@@ -7,6 +7,8 @@ export * from './instructions/closeLiquidationPoolPosition';
7
7
  export * from './instructions/claimLiquidationPoolPosition';
8
8
  export * from './instructions/closeClaimedLiquidationPoolPosition';
9
9
  export * from './instructions/createVault';
10
+ export * from './instructions/psmMintUsh';
11
+ export * from './instructions/psmRedeemUsh';
10
12
  export * from './instructions/depositVault';
11
13
  export * from './instructions/withdrawVault';
12
14
  export * from './instructions/loanVault';
@@ -0,0 +1,6 @@
1
+ /// <reference types="bn.js" />
2
+ import { BN, Program, Provider } from '@project-serum/anchor';
3
+ import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
4
+ import { Vault } from '../idl/vault';
5
+ export declare function psmMintUsh(program: Program<Vault>, provider: Provider, payer: Signer, collateralMint: PublicKey, collateralAmount: number, overrideTime?: number): Promise<PublicKey>;
6
+ export declare function psmMintUshInstruction(program: Program<Vault>, payerPublicKey: PublicKey, psmAccount: PublicKey, collateralMint: PublicKey, collateralAmount: BN, overrideTime?: number): Promise<TransactionInstruction>;
@@ -0,0 +1,6 @@
1
+ /// <reference types="bn.js" />
2
+ import { BN, Program, Provider } from '@project-serum/anchor';
3
+ import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
4
+ import { Vault } from '../idl/vault';
5
+ export declare function psmRedeemUsh(program: Program<Vault>, provider: Provider, payer: Signer, collateralMint: PublicKey, ushAmount: number, overrideTime?: number): Promise<PublicKey>;
6
+ export declare function psmRedeemUshInstruction(program: Program<Vault>, payerPublicKey: PublicKey, psmAccount: PublicKey, collateralMint: PublicKey, ushAmount: BN, overrideTime?: number): Promise<TransactionInstruction>;
@@ -6,6 +6,7 @@ export interface VaultTypeConfig {
6
6
  maxDebtExtended?: BN;
7
7
  minDebtPerVault?: BN;
8
8
  loanInitFee?: BN;
9
+ emergencyModeThreshold?: BN;
9
10
  oracleChainlink?: PublicKey;
10
11
  oraclePyth?: PublicKey;
11
12
  oracleSwitchboard?: PublicKey;