hedge-web3 0.2.15 → 0.2.18

Sign up to get free protection for your applications and to get access to all the features.
@@ -1756,7 +1756,7 @@ export declare type Vault = {
1756
1756
  "args": [];
1757
1757
  },
1758
1758
  {
1759
- "name": "adminResetVaultPointers";
1759
+ "name": "psmCreate";
1760
1760
  "accounts": [
1761
1761
  {
1762
1762
  "name": "payer";
@@ -1769,37 +1769,245 @@ export declare type Vault = {
1769
1769
  "isSigner": false;
1770
1770
  },
1771
1771
  {
1772
- "name": "vaultAccount";
1772
+ "name": "psmAccount";
1773
1773
  "isMut": true;
1774
1774
  "isSigner": false;
1775
1775
  },
1776
1776
  {
1777
- "name": "vaultAssociatedTokenAccount";
1777
+ "name": "collateralMint";
1778
+ "isMut": false;
1779
+ "isSigner": false;
1780
+ },
1781
+ {
1782
+ "name": "systemProgram";
1783
+ "isMut": false;
1784
+ "isSigner": false;
1785
+ }
1786
+ ];
1787
+ "args": [
1788
+ {
1789
+ "name": "mintFee";
1790
+ "type": "u64";
1791
+ },
1792
+ {
1793
+ "name": "redeemFee";
1794
+ "type": "u64";
1795
+ },
1796
+ {
1797
+ "name": "debtLimit";
1798
+ "type": "u64";
1799
+ },
1800
+ {
1801
+ "name": "minSwap";
1802
+ "type": "u64";
1803
+ },
1804
+ {
1805
+ "name": "overrideCurrentTime";
1806
+ "type": "i64";
1807
+ }
1808
+ ];
1809
+ },
1810
+ {
1811
+ "name": "psmEditAccount";
1812
+ "accounts": [
1813
+ {
1814
+ "name": "payer";
1815
+ "isMut": true;
1816
+ "isSigner": true;
1817
+ },
1818
+ {
1819
+ "name": "vaultSystemState";
1778
1820
  "isMut": true;
1779
1821
  "isSigner": false;
1780
1822
  },
1781
1823
  {
1782
- "name": "vaultTypeAccount";
1824
+ "name": "psmAccount";
1783
1825
  "isMut": true;
1784
1826
  "isSigner": false;
1785
1827
  },
1786
1828
  {
1787
- "name": "vaultTypeAssociatedTokenAccount";
1829
+ "name": "collateralMint";
1830
+ "isMut": false;
1831
+ "isSigner": false;
1832
+ },
1833
+ {
1834
+ "name": "systemProgram";
1835
+ "isMut": false;
1836
+ "isSigner": false;
1837
+ }
1838
+ ];
1839
+ "args": [
1840
+ {
1841
+ "name": "mintFee";
1842
+ "type": "u64";
1843
+ },
1844
+ {
1845
+ "name": "redeemFee";
1846
+ "type": "u64";
1847
+ },
1848
+ {
1849
+ "name": "debtLimit";
1850
+ "type": "u64";
1851
+ },
1852
+ {
1853
+ "name": "minSwap";
1854
+ "type": "u64";
1855
+ },
1856
+ {
1857
+ "name": "overrideCurrentTime";
1858
+ "type": "i64";
1859
+ }
1860
+ ];
1861
+ },
1862
+ {
1863
+ "name": "psmMintUsh";
1864
+ "accounts": [
1865
+ {
1866
+ "name": "payer";
1867
+ "isMut": true;
1868
+ "isSigner": true;
1869
+ },
1870
+ {
1871
+ "name": "vaultSystemState";
1872
+ "isMut": true;
1873
+ "isSigner": false;
1874
+ },
1875
+ {
1876
+ "name": "feePool";
1877
+ "isMut": true;
1878
+ "isSigner": false;
1879
+ },
1880
+ {
1881
+ "name": "feePoolAssociatedUshTokenAccount";
1882
+ "isMut": true;
1883
+ "isSigner": false;
1884
+ },
1885
+ {
1886
+ "name": "psmAccount";
1887
+ "isMut": true;
1888
+ "isSigner": false;
1889
+ },
1890
+ {
1891
+ "name": "psmAccountAta";
1892
+ "isMut": true;
1893
+ "isSigner": false;
1894
+ },
1895
+ {
1896
+ "name": "ownerUshAccount";
1897
+ "isMut": true;
1898
+ "isSigner": false;
1899
+ },
1900
+ {
1901
+ "name": "ownerCollateralAccount";
1788
1902
  "isMut": true;
1789
1903
  "isSigner": false;
1790
1904
  },
1791
1905
  {
1792
1906
  "name": "collateralMint";
1907
+ "isMut": false;
1908
+ "isSigner": false;
1909
+ },
1910
+ {
1911
+ "name": "ushMint";
1793
1912
  "isMut": true;
1794
1913
  "isSigner": false;
1795
1914
  },
1915
+ {
1916
+ "name": "systemProgram";
1917
+ "isMut": false;
1918
+ "isSigner": false;
1919
+ },
1796
1920
  {
1797
1921
  "name": "tokenProgram";
1798
1922
  "isMut": false;
1799
1923
  "isSigner": false;
1800
1924
  }
1801
1925
  ];
1802
- "args": [];
1926
+ "args": [
1927
+ {
1928
+ "name": "collateralAmount";
1929
+ "type": "u64";
1930
+ },
1931
+ {
1932
+ "name": "overrideCurrentTime";
1933
+ "type": "i64";
1934
+ }
1935
+ ];
1936
+ },
1937
+ {
1938
+ "name": "psmRedeemUsh";
1939
+ "accounts": [
1940
+ {
1941
+ "name": "payer";
1942
+ "isMut": true;
1943
+ "isSigner": true;
1944
+ },
1945
+ {
1946
+ "name": "vaultSystemState";
1947
+ "isMut": true;
1948
+ "isSigner": false;
1949
+ },
1950
+ {
1951
+ "name": "feePool";
1952
+ "isMut": true;
1953
+ "isSigner": false;
1954
+ },
1955
+ {
1956
+ "name": "feePoolAssociatedUshTokenAccount";
1957
+ "isMut": true;
1958
+ "isSigner": false;
1959
+ },
1960
+ {
1961
+ "name": "psmAccount";
1962
+ "isMut": true;
1963
+ "isSigner": false;
1964
+ },
1965
+ {
1966
+ "name": "psmAccountAta";
1967
+ "isMut": true;
1968
+ "isSigner": false;
1969
+ },
1970
+ {
1971
+ "name": "ownerUshAccount";
1972
+ "isMut": true;
1973
+ "isSigner": false;
1974
+ },
1975
+ {
1976
+ "name": "ownerCollateralAccount";
1977
+ "isMut": true;
1978
+ "isSigner": false;
1979
+ },
1980
+ {
1981
+ "name": "collateralMint";
1982
+ "isMut": false;
1983
+ "isSigner": false;
1984
+ },
1985
+ {
1986
+ "name": "ushMint";
1987
+ "isMut": true;
1988
+ "isSigner": false;
1989
+ },
1990
+ {
1991
+ "name": "systemProgram";
1992
+ "isMut": false;
1993
+ "isSigner": false;
1994
+ },
1995
+ {
1996
+ "name": "tokenProgram";
1997
+ "isMut": false;
1998
+ "isSigner": false;
1999
+ }
2000
+ ];
2001
+ "args": [
2002
+ {
2003
+ "name": "ushAmount";
2004
+ "type": "u64";
2005
+ },
2006
+ {
2007
+ "name": "overrideCurrentTime";
2008
+ "type": "i64";
2009
+ }
2010
+ ];
1803
2011
  }
1804
2012
  ];
1805
2013
  "accounts": [
@@ -2031,6 +2239,80 @@ export declare type Vault = {
2031
2239
  ];
2032
2240
  };
2033
2241
  },
2242
+ {
2243
+ "name": "psmAccount";
2244
+ "type": {
2245
+ "kind": "struct";
2246
+ "fields": [
2247
+ {
2248
+ "name": "collateralMint";
2249
+ "type": "publicKey";
2250
+ },
2251
+ {
2252
+ "name": "minCollateralRatio";
2253
+ "type": "u128";
2254
+ },
2255
+ {
2256
+ "name": "mintFee";
2257
+ "type": "u128";
2258
+ },
2259
+ {
2260
+ "name": "redeemFee";
2261
+ "type": "u128";
2262
+ },
2263
+ {
2264
+ "name": "totalFeesAccumulatedUsh";
2265
+ "type": "u128";
2266
+ },
2267
+ {
2268
+ "name": "totalFeesAccumulatedCollateral";
2269
+ "type": "u128";
2270
+ },
2271
+ {
2272
+ "name": "recentPrice";
2273
+ "type": "u128";
2274
+ },
2275
+ {
2276
+ "name": "debtLimit";
2277
+ "type": "u64";
2278
+ },
2279
+ {
2280
+ "name": "deposited";
2281
+ "type": "u64";
2282
+ },
2283
+ {
2284
+ "name": "amountMinted";
2285
+ "type": "u64";
2286
+ },
2287
+ {
2288
+ "name": "minSwap";
2289
+ "type": "u64";
2290
+ },
2291
+ {
2292
+ "name": "timeCreated";
2293
+ "type": "u64";
2294
+ },
2295
+ {
2296
+ "name": "timeLastInteraction";
2297
+ "type": "u64";
2298
+ },
2299
+ {
2300
+ "name": "priceLastUpdatedTimestamp";
2301
+ "type": "u64";
2302
+ },
2303
+ {
2304
+ "name": "psmStatus";
2305
+ "type": {
2306
+ "defined": "PsmStatus";
2307
+ };
2308
+ },
2309
+ {
2310
+ "name": "collateralDecimals";
2311
+ "type": "u8";
2312
+ }
2313
+ ];
2314
+ };
2315
+ },
2034
2316
  {
2035
2317
  "name": "stakingPoolPosition";
2036
2318
  "type": {
@@ -2608,6 +2890,26 @@ export declare type Vault = {
2608
2890
  ];
2609
2891
  };
2610
2892
  },
2893
+ {
2894
+ "name": "PsmStatus";
2895
+ "type": {
2896
+ "kind": "enum";
2897
+ "variants": [
2898
+ {
2899
+ "name": "PsmEnabled";
2900
+ },
2901
+ {
2902
+ "name": "PsmDisabled";
2903
+ },
2904
+ {
2905
+ "name": "MintOnly";
2906
+ },
2907
+ {
2908
+ "name": "RedeemOnly";
2909
+ }
2910
+ ];
2911
+ };
2912
+ },
2611
2913
  {
2612
2914
  "name": "SystemStatus";
2613
2915
  "type": {
@@ -2904,26 +3206,41 @@ export declare type Vault = {
2904
3206
  },
2905
3207
  {
2906
3208
  "code": 6027;
3209
+ "name": "PsmDisabled";
3210
+ "msg": "PSM is currently disabled.";
3211
+ },
3212
+ {
3213
+ "code": 6028;
3214
+ "name": "PsmMaxDebtReached";
3215
+ "msg": "PSM - Max Debt reached";
3216
+ },
3217
+ {
3218
+ "code": 6029;
3219
+ "name": "PsmMinSwapAmount";
3220
+ "msg": "PSM - Need more to swap";
3221
+ },
3222
+ {
3223
+ "code": 6030;
2907
3224
  "name": "UpdateVaultTypeBadMaxDebtExtended";
2908
3225
  "msg": "New Max debt extended value is less than the current debt!";
2909
3226
  },
2910
3227
  {
2911
- "code": 6028;
3228
+ "code": 6031;
2912
3229
  "name": "UpdateVaultTypeNoEnabledOracles";
2913
3230
  "msg": "No Enabled Oracles!";
2914
3231
  },
2915
3232
  {
2916
- "code": 6029;
3233
+ "code": 6032;
2917
3234
  "name": "UpdateVaultTypeDuplicateOraclePriorities";
2918
3235
  "msg": "Duplicate Oracle Priorities";
2919
3236
  },
2920
3237
  {
2921
- "code": 6030;
3238
+ "code": 6033;
2922
3239
  "name": "UpdateVaultTypeInvalidOraclePriority";
2923
3240
  "msg": "Invalid Oracle Priority";
2924
3241
  },
2925
3242
  {
2926
- "code": 6031;
3243
+ "code": 6034;
2927
3244
  "name": "OracleUpdateFailed";
2928
3245
  "msg": "OracleUpdateFailed";
2929
3246
  }
@@ -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>;