@defisaver/positions-sdk 0.0.165 → 0.0.166-dev
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.
- package/cjs/config/contracts.d.ts +72 -0
- package/cjs/config/contracts.js +6 -0
- package/cjs/contracts.d.ts +1 -0
- package/cjs/contracts.js +2 -1
- package/cjs/eulerV2/index.d.ts +40 -0
- package/cjs/eulerV2/index.js +207 -0
- package/cjs/helpers/eulerHelpers/index.d.ts +27 -0
- package/cjs/helpers/eulerHelpers/index.js +232 -0
- package/cjs/helpers/index.d.ts +1 -0
- package/cjs/helpers/index.js +2 -1
- package/cjs/index.d.ts +2 -1
- package/cjs/index.js +3 -1
- package/cjs/markets/compound/marketsAssets.js +3 -3
- package/cjs/markets/euler/index.d.ts +10 -0
- package/cjs/markets/euler/index.js +41 -0
- package/cjs/markets/index.d.ts +1 -0
- package/cjs/markets/index.js +3 -1
- package/cjs/markets/morphoBlue/index.d.ts +0 -4
- package/cjs/markets/morphoBlue/index.js +1 -36
- package/cjs/markets/spark/marketAssets.js +1 -1
- package/cjs/services/utils.d.ts +2 -0
- package/cjs/services/utils.js +4 -1
- package/cjs/staking/staking.js +1 -22
- package/cjs/types/contracts/generated/EulerV2View.d.ts +333 -0
- package/cjs/types/contracts/generated/EulerV2View.js +5 -0
- package/cjs/types/contracts/generated/index.d.ts +1 -0
- package/cjs/types/euler.d.ts +148 -0
- package/cjs/types/euler.js +15 -0
- package/cjs/types/index.d.ts +1 -0
- package/cjs/types/index.js +1 -0
- package/cjs/types/morphoBlue.d.ts +1 -3
- package/cjs/types/morphoBlue.js +0 -2
- package/esm/config/contracts.d.ts +72 -0
- package/esm/config/contracts.js +6 -0
- package/esm/contracts.d.ts +1 -0
- package/esm/contracts.js +1 -0
- package/esm/eulerV2/index.d.ts +40 -0
- package/esm/eulerV2/index.js +199 -0
- package/esm/helpers/eulerHelpers/index.d.ts +27 -0
- package/esm/helpers/eulerHelpers/index.js +219 -0
- package/esm/helpers/index.d.ts +1 -0
- package/esm/helpers/index.js +1 -0
- package/esm/index.d.ts +2 -1
- package/esm/index.js +2 -1
- package/esm/markets/compound/marketsAssets.js +3 -3
- package/esm/markets/euler/index.d.ts +10 -0
- package/esm/markets/euler/index.js +34 -0
- package/esm/markets/index.d.ts +1 -0
- package/esm/markets/index.js +1 -0
- package/esm/markets/morphoBlue/index.d.ts +0 -4
- package/esm/markets/morphoBlue/index.js +0 -33
- package/esm/markets/spark/marketAssets.js +1 -1
- package/esm/services/utils.d.ts +2 -0
- package/esm/services/utils.js +2 -0
- package/esm/staking/staking.js +1 -22
- package/esm/types/contracts/generated/EulerV2View.d.ts +333 -0
- package/esm/types/contracts/generated/EulerV2View.js +4 -0
- package/esm/types/contracts/generated/index.d.ts +1 -0
- package/esm/types/euler.d.ts +148 -0
- package/esm/types/euler.js +12 -0
- package/esm/types/index.d.ts +1 -0
- package/esm/types/index.js +1 -0
- package/esm/types/morphoBlue.d.ts +1 -3
- package/esm/types/morphoBlue.js +0 -2
- package/package.json +5 -9
- package/src/config/contracts.js +6 -0
- package/src/contracts.ts +2 -0
- package/src/eulerV2/index.ts +286 -0
- package/src/helpers/eulerHelpers/index.ts +231 -0
- package/src/helpers/index.ts +2 -1
- package/src/index.ts +2 -0
- package/src/markets/compound/marketsAssets.ts +3 -3
- package/src/markets/euler/index.ts +38 -0
- package/src/markets/index.ts +3 -1
- package/src/markets/morphoBlue/index.ts +0 -37
- package/src/markets/spark/marketAssets.ts +1 -1
- package/src/services/utils.ts +3 -0
- package/src/staking/staking.ts +2 -24
- package/src/types/contracts/generated/EulerV2View.ts +434 -0
- package/src/types/contracts/generated/index.ts +1 -0
- package/src/types/euler.ts +171 -0
- package/src/types/index.ts +2 -1
- package/src/types/morphoBlue.ts +0 -2
package/esm/index.d.ts
CHANGED
|
@@ -18,5 +18,6 @@ import * as chickenBonds from './chickenBonds';
|
|
|
18
18
|
import * as exchange from './exchange';
|
|
19
19
|
import * as morphoBlue from './morphoBlue';
|
|
20
20
|
import * as llamaLend from './llamaLend';
|
|
21
|
+
import * as eulerV2 from './eulerV2';
|
|
21
22
|
export * from './types';
|
|
22
|
-
export { aaveV2, aaveV3, morphoAaveV2, morphoAaveV3, compoundV2, compoundV3, spark, curveUsd, liquity, maker, chickenBonds, exchange, staking, multicall, moneymarket, markets, helpers, morphoBlue, llamaLend, };
|
|
23
|
+
export { aaveV2, aaveV3, morphoAaveV2, morphoAaveV3, compoundV2, compoundV3, spark, curveUsd, liquity, maker, chickenBonds, exchange, staking, multicall, moneymarket, markets, helpers, morphoBlue, llamaLend, eulerV2, };
|
package/esm/index.js
CHANGED
|
@@ -18,5 +18,6 @@ import * as chickenBonds from './chickenBonds';
|
|
|
18
18
|
import * as exchange from './exchange';
|
|
19
19
|
import * as morphoBlue from './morphoBlue';
|
|
20
20
|
import * as llamaLend from './llamaLend';
|
|
21
|
+
import * as eulerV2 from './eulerV2';
|
|
21
22
|
export * from './types';
|
|
22
|
-
export { aaveV2, aaveV3, morphoAaveV2, morphoAaveV3, compoundV2, compoundV3, spark, curveUsd, liquity, maker, chickenBonds, exchange, staking, multicall, moneymarket, markets, helpers, morphoBlue, llamaLend, };
|
|
23
|
+
export { aaveV2, aaveV3, morphoAaveV2, morphoAaveV3, compoundV2, compoundV3, spark, curveUsd, liquity, maker, chickenBonds, exchange, staking, multicall, moneymarket, markets, helpers, morphoBlue, llamaLend, eulerV2, };
|
|
@@ -4,7 +4,7 @@ export const compoundV2CollateralAssets = [
|
|
|
4
4
|
'cETH', 'cDAI', 'cBAT', 'cZRX', 'cUSDC', 'cWBTC Legacy', 'cWBTC', 'cUSDT',
|
|
5
5
|
'cTUSD', 'cLINK', 'cUSDP', 'cUNI', 'cCOMP', 'cMKR', 'cSUSHI', 'cAAVE', 'cYFI',
|
|
6
6
|
].map((symbol) => getAssetInfo(symbol));
|
|
7
|
-
export const v3USDCCollAssetsEth = ['COMP', 'WBTC', 'ETH', 'UNI', 'LINK', 'wstETH', 'cbBTC', '
|
|
7
|
+
export const v3USDCCollAssetsEth = ['COMP', 'WBTC', 'ETH', 'UNI', 'LINK', 'wstETH', 'cbBTC', 'rswETH'];
|
|
8
8
|
export const v3USDCCollAssetsArb = ['ARB', 'ETH', 'GMX', 'WBTC', 'wstETH', 'ezETH'];
|
|
9
9
|
export const v3USDCCollAssetsBase = ['ETH', 'cbETH', 'wstETH', 'cbBTC'];
|
|
10
10
|
export const v3USDCCollAssetsOpt = ['ETH', 'OP', 'WBTC', 'wstETH'];
|
|
@@ -23,7 +23,7 @@ export const v3USDCeCollAssets = {
|
|
|
23
23
|
[NetworkNumber.Arb]: v3USDCeCollAssetsArb,
|
|
24
24
|
[NetworkNumber.Base]: [],
|
|
25
25
|
};
|
|
26
|
-
export const v3ETHCollAssetsEth = ['cbETH', 'wstETH', 'rETH', 'rsETH', 'weETH', 'osETH', 'WBTC', 'ezETH', 'cbBTC', 'rswETH'
|
|
26
|
+
export const v3ETHCollAssetsEth = ['cbETH', 'wstETH', 'rETH', 'rsETH', 'weETH', 'osETH', 'WBTC', 'ezETH', 'cbBTC', 'rswETH'];
|
|
27
27
|
export const v3ETHCollAssetsBase = ['cbETH', 'ezETH', 'wstETH', 'USDC', 'weETH', 'wrsETH', 'cbBTC'];
|
|
28
28
|
export const v3ETHCollAssetsArb = ['weETH', 'rETH', 'wstETH', 'WBTC', 'rsETH', 'ezETH', 'USDC', 'USDT'];
|
|
29
29
|
export const v3ETHCollAssetsOpt = ['rETH', 'wstETH', 'WBTC', 'ezETH', 'USDC', 'USDT', 'weETH', 'wrsETH'];
|
|
@@ -42,7 +42,7 @@ export const v3USDbCCollAssets = {
|
|
|
42
42
|
[NetworkNumber.Arb]: [],
|
|
43
43
|
[NetworkNumber.Base]: v3USDbCCollAssetsBase,
|
|
44
44
|
};
|
|
45
|
-
export const v3USDTCollAssetsEth = ['
|
|
45
|
+
export const v3USDTCollAssetsEth = ['ETH', 'WBTC', 'wstETH', 'COMP', 'UNI', 'LINK', 'cbBTC'];
|
|
46
46
|
export const v3USDTCollAssetsArb = ['ETH', 'WBTC', 'wstETH', 'ARB', 'GMX'];
|
|
47
47
|
export const v3USDTCollAssetsOpt = ['ETH', 'WBTC', 'OP', 'wstETH'];
|
|
48
48
|
// @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { NetworkNumber } from '../../types/common';
|
|
2
|
+
import { EulerV2Market } from '../../types';
|
|
3
|
+
export declare const eUSDC2: (networkId: NetworkNumber) => EulerV2Market;
|
|
4
|
+
export declare const eUSDC8: (networkId: NetworkNumber) => EulerV2Market;
|
|
5
|
+
export declare const eWETH2: (networkId: NetworkNumber) => EulerV2Market;
|
|
6
|
+
export declare const EulerV2Markets: (networkId: NetworkNumber) => {
|
|
7
|
+
readonly "eUSDC-2": EulerV2Market;
|
|
8
|
+
readonly "eUSDC-8": EulerV2Market;
|
|
9
|
+
readonly "eWETH-2": EulerV2Market;
|
|
10
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { NetworkNumber } from '../../types/common';
|
|
2
|
+
import { EulerV2Versions } from '../../types';
|
|
3
|
+
export const eUSDC2 = (networkId) => ({
|
|
4
|
+
chainIds: [NetworkNumber.Eth],
|
|
5
|
+
label: 'Euler Prime USDC',
|
|
6
|
+
shortLabel: 'eUSDC-2',
|
|
7
|
+
value: EulerV2Versions.eUSDC2,
|
|
8
|
+
asset: 'USDC',
|
|
9
|
+
secondLabel: 'Market',
|
|
10
|
+
marketAddress: '0x797DD80692c3b2dAdabCe8e30C07fDE5307D48a9',
|
|
11
|
+
});
|
|
12
|
+
export const eUSDC8 = (networkId) => ({
|
|
13
|
+
chainIds: [NetworkNumber.Eth],
|
|
14
|
+
label: 'Stablecoin Maxi USDC',
|
|
15
|
+
shortLabel: 'eUSDC-8',
|
|
16
|
+
value: EulerV2Versions.eUSDC8,
|
|
17
|
+
asset: 'USDC',
|
|
18
|
+
secondLabel: 'Market',
|
|
19
|
+
marketAddress: '0xce45EF0414dE3516cAF1BCf937bF7F2Cf67873De',
|
|
20
|
+
});
|
|
21
|
+
export const eWETH2 = (networkId) => ({
|
|
22
|
+
chainIds: [NetworkNumber.Eth],
|
|
23
|
+
label: 'Euler Prime WETH',
|
|
24
|
+
shortLabel: 'eWETH-2',
|
|
25
|
+
value: EulerV2Versions.eWETH2,
|
|
26
|
+
asset: 'WETH',
|
|
27
|
+
secondLabel: 'Market',
|
|
28
|
+
marketAddress: '0xD8b27CF359b7D15710a5BE299AF6e7Bf904984C2',
|
|
29
|
+
});
|
|
30
|
+
export const EulerV2Markets = (networkId) => ({
|
|
31
|
+
[EulerV2Versions.eUSDC2]: eUSDC2(networkId),
|
|
32
|
+
[EulerV2Versions.eUSDC8]: eUSDC8(networkId),
|
|
33
|
+
[EulerV2Versions.eWETH2]: eWETH2(networkId),
|
|
34
|
+
});
|
package/esm/markets/index.d.ts
CHANGED
package/esm/markets/index.js
CHANGED
|
@@ -30,7 +30,6 @@ export declare const MORPHO_BLUE_USDE_DAI_770: (networkId?: NetworkNumber) => Mo
|
|
|
30
30
|
export declare const MORPHO_BLUE_USDE_DAI_860: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
31
31
|
export declare const MORPHO_BLUE_USDE_DAI_915: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
32
32
|
export declare const MORPHO_BLUE_USDE_DAI_945: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
33
|
-
export declare const MORPHO_BLUE_RETH_ETH_945: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
34
33
|
export declare const MORPHO_BLUE_CBETH_USDC_860_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
35
34
|
export declare const MORPHO_BLUE_WSTETH_ETH_945_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
36
35
|
export declare const MORPHO_BLUE_WSTETH_ETH_965_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
@@ -42,7 +41,6 @@ export declare const MORPHO_BLUE_RETH_USDC_860_BASE: (networkId?: NetworkNumber)
|
|
|
42
41
|
export declare const MORPHO_BLUE_RETH_ETH_945_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
43
42
|
export declare const MORPHO_BLUE_CBBTC_ETH_915_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
44
43
|
export declare const MORPHO_BLUE_CBBTC_USDC_860_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
45
|
-
export declare const MORPHO_BLUE_WSUPEROETHB_WETH_915_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
46
44
|
export declare const MorphoBlueMarkets: (networkId: NetworkNumber) => {
|
|
47
45
|
readonly morphobluewstethusdc: MorphoBlueMarketData;
|
|
48
46
|
readonly morphobluesdaiusdc: MorphoBlueMarketData;
|
|
@@ -63,7 +61,6 @@ export declare const MorphoBlueMarkets: (networkId: NetworkNumber) => {
|
|
|
63
61
|
readonly morphobluetbtcusdc: MorphoBlueMarketData;
|
|
64
62
|
readonly morphobluecbbtceth: MorphoBlueMarketData;
|
|
65
63
|
readonly morphobluecbbtcusdc: MorphoBlueMarketData;
|
|
66
|
-
readonly morphoblueretheth_945: MorphoBlueMarketData;
|
|
67
64
|
readonly morphobluewstetheth_945: MorphoBlueMarketData;
|
|
68
65
|
readonly morphobluewstetheth_945_exchange_rate: MorphoBlueMarketData;
|
|
69
66
|
readonly morphobluewstetheth_965_exchange_rate: MorphoBlueMarketData;
|
|
@@ -82,7 +79,6 @@ export declare const MorphoBlueMarkets: (networkId: NetworkNumber) => {
|
|
|
82
79
|
readonly morphoblueretheth_945_base: MorphoBlueMarketData;
|
|
83
80
|
readonly morphobluecbbtceth_915_base: MorphoBlueMarketData;
|
|
84
81
|
readonly morphobluecbbtcusdc_860_base: MorphoBlueMarketData;
|
|
85
|
-
readonly morphobluewsuperoethbweth_915_base: MorphoBlueMarketData;
|
|
86
82
|
readonly morphobluecbetheth_945_base: MorphoBlueMarketData;
|
|
87
83
|
readonly morphobluecbetheth_965_base: MorphoBlueMarketData;
|
|
88
84
|
readonly morphobluewstetheth_945_base: MorphoBlueMarketData;
|
|
@@ -454,21 +454,6 @@ export const MORPHO_BLUE_USDE_DAI_945 = (networkId = NetworkNumber.Eth) => ({
|
|
|
454
454
|
marketId: '0xdb760246f6859780f6c1b272d47a8f64710777121118e56e0cdb4b8b744a3094',
|
|
455
455
|
protocolName: 'morpho-blue',
|
|
456
456
|
});
|
|
457
|
-
export const MORPHO_BLUE_RETH_ETH_945 = (networkId = NetworkNumber.Eth) => ({
|
|
458
|
-
chainIds: [1],
|
|
459
|
-
label: 'Morpho',
|
|
460
|
-
shortLabel: 'rETH/ETH',
|
|
461
|
-
value: MorphoBlueVersions.MorphoBlueREthEth_945,
|
|
462
|
-
url: 'retheth-3c83f77b',
|
|
463
|
-
loanToken: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
|
|
464
|
-
collateralToken: '0xae78736Cd615f374D3085123A210448E74Fc6393',
|
|
465
|
-
oracle: '0x1b4A3F92e5Fffd1d35A98751c9FE4472483579bB',
|
|
466
|
-
oracleType: MorphoBlueOracleType.MARKET_RATE,
|
|
467
|
-
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
468
|
-
lltv: 0.945,
|
|
469
|
-
marketId: '0x3c83f77bde9541f8d3d82533b19bbc1f97eb2f1098bb991728acbfbede09cc5d',
|
|
470
|
-
protocolName: 'morpho-blue',
|
|
471
|
-
});
|
|
472
457
|
// BASE
|
|
473
458
|
export const MORPHO_BLUE_CBETH_USDC_860_BASE = (networkId = NetworkNumber.Eth) => ({
|
|
474
459
|
chainIds: [NetworkNumber.Base],
|
|
@@ -635,21 +620,6 @@ export const MORPHO_BLUE_CBBTC_USDC_860_BASE = (networkId = NetworkNumber.Eth) =
|
|
|
635
620
|
marketId: '0x9103c3b4e834476c9a62ea009ba2c884ee42e94e6e314a26f04d312434191836',
|
|
636
621
|
protocolName: 'morpho-blue',
|
|
637
622
|
});
|
|
638
|
-
export const MORPHO_BLUE_WSUPEROETHB_WETH_915_BASE = (networkId = NetworkNumber.Eth) => ({
|
|
639
|
-
chainIds: [NetworkNumber.Base],
|
|
640
|
-
label: 'Morpho',
|
|
641
|
-
shortLabel: 'wsuperOETHb/WETH',
|
|
642
|
-
value: MorphoBlueVersions.MorphoBlueWsuperOETHbWETH_915_Base,
|
|
643
|
-
url: 'wsuperoethbweth-144bf18d',
|
|
644
|
-
loanToken: '0x4200000000000000000000000000000000000006',
|
|
645
|
-
collateralToken: '0x7FcD174E80f264448ebeE8c88a7C4476AAF58Ea6',
|
|
646
|
-
oracle: '0x28C964c985fe84736fAdc7Cf0bBd58B54bc7CF93',
|
|
647
|
-
oracleType: MorphoBlueOracleType.MARKET_RATE,
|
|
648
|
-
irm: '0x46415998764C29aB2a25CbeA6254146D50D22687',
|
|
649
|
-
lltv: 0.915,
|
|
650
|
-
marketId: '0x144bf18d6bf4c59602548a825034f73bf1d20177fc5f975fc69d5a5eba929b45',
|
|
651
|
-
protocolName: 'morpho-blue',
|
|
652
|
-
});
|
|
653
623
|
export const MorphoBlueMarkets = (networkId) => ({
|
|
654
624
|
[MorphoBlueVersions.MorphoBlueWstEthUSDC]: MORPHO_BLUE_WSTETH_USDC(networkId),
|
|
655
625
|
[MorphoBlueVersions.MorphoBlueSDAIUSDC]: MORPHO_BLUE_SDAI_USDC(networkId),
|
|
@@ -670,7 +640,6 @@ export const MorphoBlueMarkets = (networkId) => ({
|
|
|
670
640
|
[MorphoBlueVersions.MorphoBlueTBTCUSDC]: MORPHO_BLUE_TBTC_USDC(networkId),
|
|
671
641
|
[MorphoBlueVersions.MorphoBlueCbBTCEth_915]: MORPHO_BLUE_CBBTC_ETH_915(networkId),
|
|
672
642
|
[MorphoBlueVersions.MorphoBlueCbBTCUSDC_860]: MORPHO_BLUE_CBBTC_USDC_860(networkId),
|
|
673
|
-
[MorphoBlueVersions.MorphoBlueREthEth_945]: MORPHO_BLUE_RETH_ETH_945(networkId),
|
|
674
643
|
// wstETH/WETH
|
|
675
644
|
[MorphoBlueVersions.MorphoBlueWstEthEth_945]: MORPHO_BLUE_WSTETH_ETH_945(networkId),
|
|
676
645
|
[MorphoBlueVersions.MorphoBlueWstEthEth_945_Exchange_Rate]: MORPHO_BLUE_WSTETH_ETH_945_EXCHANGE_RATE(networkId),
|
|
@@ -693,8 +662,6 @@ export const MorphoBlueMarkets = (networkId) => ({
|
|
|
693
662
|
[MorphoBlueVersions.MorphoBlueREthEth_945_Base]: MORPHO_BLUE_RETH_ETH_945_BASE(networkId),
|
|
694
663
|
[MorphoBlueVersions.MorphoBlueCbBTCEth_915_Base]: MORPHO_BLUE_CBBTC_ETH_915_BASE(networkId),
|
|
695
664
|
[MorphoBlueVersions.MorphoBlueCbBTCUSDC_860_Base]: MORPHO_BLUE_CBBTC_USDC_860_BASE(networkId),
|
|
696
|
-
// wsuperOETHb/WETH Base
|
|
697
|
-
[MorphoBlueVersions.MorphoBlueWsuperOETHbWETH_915_Base]: MORPHO_BLUE_WSUPEROETHB_WETH_915_BASE(networkId),
|
|
698
665
|
// cbETH/WETH Base
|
|
699
666
|
[MorphoBlueVersions.MorphoBlueCbEthEth_945_Base]: MORPHO_BLUE_CBETH_ETH_945_BASE(networkId),
|
|
700
667
|
[MorphoBlueVersions.MorphoBlueCbEthEth_965_Base]: MORPHO_BLUE_CBETH_ETH_965_BASE(networkId),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NetworkNumber } from '../../types/common';
|
|
2
|
-
export const sparkAssetsDefaultMarketEth = ['DAI', 'sDAI', 'USDC', 'ETH', 'wstETH', 'WBTC', 'GNO', 'rETH', 'USDT', 'weETH', 'cbBTC'
|
|
2
|
+
export const sparkAssetsDefaultMarketEth = ['DAI', 'sDAI', 'USDC', 'ETH', 'wstETH', 'WBTC', 'GNO', 'rETH', 'USDT', 'weETH', 'cbBTC'];
|
|
3
3
|
// @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
|
|
4
4
|
export const sparkAssetsDefaultMarket = {
|
|
5
5
|
[NetworkNumber.Eth]: sparkAssetsDefaultMarketEth,
|
package/esm/services/utils.d.ts
CHANGED
|
@@ -20,3 +20,5 @@ export declare const bytesToString: (hex: string) => string;
|
|
|
20
20
|
*/
|
|
21
21
|
export declare const mapRange: (input: number | string, minInput: number | string, maxInput: number | string, minOutput: number | string, maxOutput: number | string) => number;
|
|
22
22
|
export declare const isEnabledOnBitmap: (bitmap: number, assetId: number) => bigint;
|
|
23
|
+
export declare const MAXUINT: string;
|
|
24
|
+
export declare const isMaxuint: (amount: string) => boolean;
|
package/esm/services/utils.js
CHANGED
|
@@ -33,3 +33,5 @@ export const mapRange = (input, minInput, maxInput, minOutput, maxOutput) => {
|
|
|
33
33
|
};
|
|
34
34
|
// eslint-disable-next-line no-bitwise
|
|
35
35
|
export const isEnabledOnBitmap = (bitmap, assetId) => (BigInt(bitmap) >> BigInt(assetId)) & BigInt(1);
|
|
36
|
+
export const MAXUINT = '115792089237316195423570985008687907853269984665640564039457584007913129639935';
|
|
37
|
+
export const isMaxuint = (amount) => compareAddresses(MAXUINT, amount);
|
package/esm/staking/staking.js
CHANGED
|
@@ -76,32 +76,13 @@ export const getDsrApy = (web3, blockNumber = 'latest') => __awaiter(void 0, voi
|
|
|
76
76
|
.mul(100)
|
|
77
77
|
.toString();
|
|
78
78
|
});
|
|
79
|
-
const getSuperOETHApy = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
80
|
-
console.log('getSuperOETHApy');
|
|
81
|
-
const res = yield fetch('https://origin.squids.live/origin-squid/graphql', {
|
|
82
|
-
method: 'POST',
|
|
83
|
-
headers: {
|
|
84
|
-
'Content-Type': 'application/json',
|
|
85
|
-
},
|
|
86
|
-
body: JSON.stringify({
|
|
87
|
-
query: '\n query OTokenApy($chainId: Int!, $token: String!) {\n oTokenApies(\n limit: 1\n orderBy: timestamp_DESC\n where: {chainId_eq: $chainId, otoken_containsInsensitive: $token}\n ) {\n apy7DayAvg\n apy14DayAvg\n apy30DayAvg\n apr\n apy\n }\n}\n ',
|
|
88
|
-
variables: {
|
|
89
|
-
token: '0xdbfefd2e8460a6ee4955a68582f85708baea60a3',
|
|
90
|
-
chainId: 8453,
|
|
91
|
-
},
|
|
92
|
-
}),
|
|
93
|
-
});
|
|
94
|
-
const data = yield res.json();
|
|
95
|
-
return new Dec(data.data.oTokenApies[0].apy).mul(100).toString();
|
|
96
|
-
});
|
|
97
79
|
const getApyFromDfsApi = (asset) => __awaiter(void 0, void 0, void 0, function* () {
|
|
98
80
|
const res = yield fetch(`https://app.defisaver.com/api/staking/apy?asset=${asset}`);
|
|
99
81
|
const data = yield res.json();
|
|
100
82
|
return data.apy;
|
|
101
83
|
});
|
|
102
|
-
export const STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH', 'sUSDe', 'osETH', 'ezETH', 'ETHx', 'rsETH', 'pufETH', 'wrsETH'
|
|
84
|
+
export const STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH', 'sUSDe', 'osETH', 'ezETH', 'ETHx', 'rsETH', 'pufETH', 'wrsETH'];
|
|
103
85
|
export const getStakingApy = (asset, web3, blockNumber = 'latest', fromBlock = undefined) => {
|
|
104
|
-
console.log('getStakingApy', asset, blockNumber, fromBlock);
|
|
105
86
|
try {
|
|
106
87
|
if (asset === 'stETH' || asset === 'wstETH')
|
|
107
88
|
return getStETHApr(web3, fromBlock, blockNumber);
|
|
@@ -125,8 +106,6 @@ export const getStakingApy = (asset, web3, blockNumber = 'latest', fromBlock = u
|
|
|
125
106
|
return getApyFromDfsApi('rsETH');
|
|
126
107
|
if (asset === 'pufETH')
|
|
127
108
|
return getApyFromDfsApi('pufETH');
|
|
128
|
-
if (asset === 'wsuperOETHb')
|
|
129
|
-
return getSuperOETHApy();
|
|
130
109
|
}
|
|
131
110
|
catch (e) {
|
|
132
111
|
console.error(`Failed to fetch APY for ${asset}`);
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type BN from "bn.js";
|
|
3
|
+
import type { ContractOptions } from "web3-eth-contract";
|
|
4
|
+
import type { EventLog } from "web3-core";
|
|
5
|
+
import type { EventEmitter } from "events";
|
|
6
|
+
import type { Callback, NonPayableTransactionObject, BlockType, BaseContract } from "./types";
|
|
7
|
+
export interface EventOptions {
|
|
8
|
+
filter?: object;
|
|
9
|
+
fromBlock?: BlockType;
|
|
10
|
+
topics?: string[];
|
|
11
|
+
}
|
|
12
|
+
export declare namespace EulerV2View {
|
|
13
|
+
type LiquidityChangeParamsStruct = [string, boolean, number | string | BN, number | string | BN] | {
|
|
14
|
+
vault: string;
|
|
15
|
+
isBorrowOperation: boolean;
|
|
16
|
+
liquidityAdded: number | string | BN;
|
|
17
|
+
liquidityRemoved: number | string | BN;
|
|
18
|
+
};
|
|
19
|
+
type LiquidityChangeParamsStructOutputArray = [
|
|
20
|
+
string,
|
|
21
|
+
boolean,
|
|
22
|
+
string,
|
|
23
|
+
string
|
|
24
|
+
];
|
|
25
|
+
type LiquidityChangeParamsStructOutputStruct = {
|
|
26
|
+
vault: string;
|
|
27
|
+
isBorrowOperation: boolean;
|
|
28
|
+
liquidityAdded: string;
|
|
29
|
+
liquidityRemoved: string;
|
|
30
|
+
};
|
|
31
|
+
type LiquidityChangeParamsStructOutput = LiquidityChangeParamsStructOutputArray & LiquidityChangeParamsStructOutputStruct;
|
|
32
|
+
type UserCollateralInfoStruct = [
|
|
33
|
+
string,
|
|
34
|
+
boolean,
|
|
35
|
+
number | string | BN,
|
|
36
|
+
number | string | BN,
|
|
37
|
+
number | string | BN
|
|
38
|
+
] | {
|
|
39
|
+
collateralVault: string;
|
|
40
|
+
usedInBorrow: boolean;
|
|
41
|
+
collateralAmountInUnit: number | string | BN;
|
|
42
|
+
collateralAmountInAsset: number | string | BN;
|
|
43
|
+
collateralAmountInUSD: number | string | BN;
|
|
44
|
+
};
|
|
45
|
+
type UserCollateralInfoStructOutputArray = [
|
|
46
|
+
string,
|
|
47
|
+
boolean,
|
|
48
|
+
string,
|
|
49
|
+
string,
|
|
50
|
+
string
|
|
51
|
+
];
|
|
52
|
+
type UserCollateralInfoStructOutputStruct = {
|
|
53
|
+
collateralVault: string;
|
|
54
|
+
usedInBorrow: boolean;
|
|
55
|
+
collateralAmountInUnit: string;
|
|
56
|
+
collateralAmountInAsset: string;
|
|
57
|
+
collateralAmountInUSD: string;
|
|
58
|
+
};
|
|
59
|
+
type UserCollateralInfoStructOutput = UserCollateralInfoStructOutputArray & UserCollateralInfoStructOutputStruct;
|
|
60
|
+
type UserDataStruct = [
|
|
61
|
+
string,
|
|
62
|
+
string,
|
|
63
|
+
boolean,
|
|
64
|
+
boolean,
|
|
65
|
+
string,
|
|
66
|
+
number | string | BN,
|
|
67
|
+
number | string | BN,
|
|
68
|
+
EulerV2View.UserCollateralInfoStruct[]
|
|
69
|
+
] | {
|
|
70
|
+
user: string;
|
|
71
|
+
owner: string;
|
|
72
|
+
inLockDownMode: boolean;
|
|
73
|
+
inPermitDisabledMode: boolean;
|
|
74
|
+
borrowVault: string;
|
|
75
|
+
borrowAmountInUnit: number | string | BN;
|
|
76
|
+
borrowAmountInAsset: number | string | BN;
|
|
77
|
+
collaterals: EulerV2View.UserCollateralInfoStruct[];
|
|
78
|
+
};
|
|
79
|
+
type UserDataStructOutputArray = [
|
|
80
|
+
string,
|
|
81
|
+
string,
|
|
82
|
+
boolean,
|
|
83
|
+
boolean,
|
|
84
|
+
string,
|
|
85
|
+
string,
|
|
86
|
+
string,
|
|
87
|
+
EulerV2View.UserCollateralInfoStructOutput[]
|
|
88
|
+
];
|
|
89
|
+
type UserDataStructOutputStruct = {
|
|
90
|
+
user: string;
|
|
91
|
+
owner: string;
|
|
92
|
+
inLockDownMode: boolean;
|
|
93
|
+
inPermitDisabledMode: boolean;
|
|
94
|
+
borrowVault: string;
|
|
95
|
+
borrowAmountInUnit: string;
|
|
96
|
+
borrowAmountInAsset: string;
|
|
97
|
+
collaterals: EulerV2View.UserCollateralInfoStructOutput[];
|
|
98
|
+
};
|
|
99
|
+
type UserDataStructOutput = UserDataStructOutputArray & UserDataStructOutputStruct;
|
|
100
|
+
type CollateralInfoStruct = [
|
|
101
|
+
string,
|
|
102
|
+
string,
|
|
103
|
+
string,
|
|
104
|
+
number | string | BN,
|
|
105
|
+
number | string | BN,
|
|
106
|
+
number | string | BN,
|
|
107
|
+
number | string | BN,
|
|
108
|
+
number | string | BN,
|
|
109
|
+
number | string | BN,
|
|
110
|
+
number | string | BN,
|
|
111
|
+
number | string | BN,
|
|
112
|
+
number | string | BN,
|
|
113
|
+
number | string | BN,
|
|
114
|
+
number | string | BN,
|
|
115
|
+
number | string | BN,
|
|
116
|
+
number | string | BN
|
|
117
|
+
] | {
|
|
118
|
+
vaultAddr: string;
|
|
119
|
+
assetAddr: string;
|
|
120
|
+
vaultSymbol: string;
|
|
121
|
+
decimals: number | string | BN;
|
|
122
|
+
sharePriceInUnit: number | string | BN;
|
|
123
|
+
assetPriceInUnit: number | string | BN;
|
|
124
|
+
cash: number | string | BN;
|
|
125
|
+
totalBorrows: number | string | BN;
|
|
126
|
+
supplyCap: number | string | BN;
|
|
127
|
+
borrowLTV: number | string | BN;
|
|
128
|
+
liquidationLTV: number | string | BN;
|
|
129
|
+
initialLiquidationLTV: number | string | BN;
|
|
130
|
+
targetTimestamp: number | string | BN;
|
|
131
|
+
rampDuration: number | string | BN;
|
|
132
|
+
interestFee: number | string | BN;
|
|
133
|
+
interestRate: number | string | BN;
|
|
134
|
+
};
|
|
135
|
+
type CollateralInfoStructOutputArray = [
|
|
136
|
+
string,
|
|
137
|
+
string,
|
|
138
|
+
string,
|
|
139
|
+
string,
|
|
140
|
+
string,
|
|
141
|
+
string,
|
|
142
|
+
string,
|
|
143
|
+
string,
|
|
144
|
+
string,
|
|
145
|
+
string,
|
|
146
|
+
string,
|
|
147
|
+
string,
|
|
148
|
+
string,
|
|
149
|
+
string,
|
|
150
|
+
string,
|
|
151
|
+
string
|
|
152
|
+
];
|
|
153
|
+
type CollateralInfoStructOutputStruct = {
|
|
154
|
+
vaultAddr: string;
|
|
155
|
+
assetAddr: string;
|
|
156
|
+
vaultSymbol: string;
|
|
157
|
+
decimals: string;
|
|
158
|
+
sharePriceInUnit: string;
|
|
159
|
+
assetPriceInUnit: string;
|
|
160
|
+
cash: string;
|
|
161
|
+
totalBorrows: string;
|
|
162
|
+
supplyCap: string;
|
|
163
|
+
borrowLTV: string;
|
|
164
|
+
liquidationLTV: string;
|
|
165
|
+
initialLiquidationLTV: string;
|
|
166
|
+
targetTimestamp: string;
|
|
167
|
+
rampDuration: string;
|
|
168
|
+
interestFee: string;
|
|
169
|
+
interestRate: string;
|
|
170
|
+
};
|
|
171
|
+
type CollateralInfoStructOutput = CollateralInfoStructOutputArray & CollateralInfoStructOutputStruct;
|
|
172
|
+
type VaultInfoFullStruct = [
|
|
173
|
+
string,
|
|
174
|
+
string,
|
|
175
|
+
string,
|
|
176
|
+
string,
|
|
177
|
+
number | string | BN,
|
|
178
|
+
number | string | BN,
|
|
179
|
+
number | string | BN,
|
|
180
|
+
number | string | BN,
|
|
181
|
+
number | string | BN,
|
|
182
|
+
number | string | BN,
|
|
183
|
+
number | string | BN,
|
|
184
|
+
EulerV2View.CollateralInfoStruct[],
|
|
185
|
+
number | string | BN,
|
|
186
|
+
number | string | BN,
|
|
187
|
+
boolean,
|
|
188
|
+
string,
|
|
189
|
+
number | string | BN,
|
|
190
|
+
string,
|
|
191
|
+
number | string | BN,
|
|
192
|
+
number | string | BN,
|
|
193
|
+
number | string | BN,
|
|
194
|
+
string,
|
|
195
|
+
string,
|
|
196
|
+
string,
|
|
197
|
+
string,
|
|
198
|
+
number | string | BN
|
|
199
|
+
] | {
|
|
200
|
+
vaultAddr: string;
|
|
201
|
+
assetAddr: string;
|
|
202
|
+
name: string;
|
|
203
|
+
symbol: string;
|
|
204
|
+
decimals: number | string | BN;
|
|
205
|
+
totalSupplyShares: number | string | BN;
|
|
206
|
+
cash: number | string | BN;
|
|
207
|
+
totalBorrows: number | string | BN;
|
|
208
|
+
totalAssets: number | string | BN;
|
|
209
|
+
supplyCap: number | string | BN;
|
|
210
|
+
borrowCap: number | string | BN;
|
|
211
|
+
collaterals: EulerV2View.CollateralInfoStruct[];
|
|
212
|
+
maxLiquidationDiscount: number | string | BN;
|
|
213
|
+
liquidationCoolOffTime: number | string | BN;
|
|
214
|
+
badDebtSocializationEnabled: boolean;
|
|
215
|
+
unitOfAccount: string;
|
|
216
|
+
unitOfAccountInUsd: number | string | BN;
|
|
217
|
+
oracle: string;
|
|
218
|
+
assetPriceInUnit: number | string | BN;
|
|
219
|
+
sharePriceInUnit: number | string | BN;
|
|
220
|
+
interestRate: number | string | BN;
|
|
221
|
+
irm: string;
|
|
222
|
+
balanceTrackerAddress: string;
|
|
223
|
+
creator: string;
|
|
224
|
+
governorAdmin: string;
|
|
225
|
+
interestFee: number | string | BN;
|
|
226
|
+
};
|
|
227
|
+
type VaultInfoFullStructOutputArray = [
|
|
228
|
+
string,
|
|
229
|
+
string,
|
|
230
|
+
string,
|
|
231
|
+
string,
|
|
232
|
+
string,
|
|
233
|
+
string,
|
|
234
|
+
string,
|
|
235
|
+
string,
|
|
236
|
+
string,
|
|
237
|
+
string,
|
|
238
|
+
string,
|
|
239
|
+
EulerV2View.CollateralInfoStructOutput[],
|
|
240
|
+
string,
|
|
241
|
+
string,
|
|
242
|
+
boolean,
|
|
243
|
+
string,
|
|
244
|
+
string,
|
|
245
|
+
string,
|
|
246
|
+
string,
|
|
247
|
+
string,
|
|
248
|
+
string,
|
|
249
|
+
string,
|
|
250
|
+
string,
|
|
251
|
+
string,
|
|
252
|
+
string,
|
|
253
|
+
string
|
|
254
|
+
];
|
|
255
|
+
type VaultInfoFullStructOutputStruct = {
|
|
256
|
+
vaultAddr: string;
|
|
257
|
+
assetAddr: string;
|
|
258
|
+
name: string;
|
|
259
|
+
symbol: string;
|
|
260
|
+
decimals: string;
|
|
261
|
+
totalSupplyShares: string;
|
|
262
|
+
cash: string;
|
|
263
|
+
totalBorrows: string;
|
|
264
|
+
totalAssets: string;
|
|
265
|
+
supplyCap: string;
|
|
266
|
+
borrowCap: string;
|
|
267
|
+
collaterals: EulerV2View.CollateralInfoStructOutput[];
|
|
268
|
+
maxLiquidationDiscount: string;
|
|
269
|
+
liquidationCoolOffTime: string;
|
|
270
|
+
badDebtSocializationEnabled: boolean;
|
|
271
|
+
unitOfAccount: string;
|
|
272
|
+
unitOfAccountInUsd: string;
|
|
273
|
+
oracle: string;
|
|
274
|
+
assetPriceInUnit: string;
|
|
275
|
+
sharePriceInUnit: string;
|
|
276
|
+
interestRate: string;
|
|
277
|
+
irm: string;
|
|
278
|
+
balanceTrackerAddress: string;
|
|
279
|
+
creator: string;
|
|
280
|
+
governorAdmin: string;
|
|
281
|
+
interestFee: string;
|
|
282
|
+
};
|
|
283
|
+
type VaultInfoFullStructOutput = VaultInfoFullStructOutputArray & VaultInfoFullStructOutputStruct;
|
|
284
|
+
}
|
|
285
|
+
export interface EulerV2View extends BaseContract {
|
|
286
|
+
constructor(jsonInterface: any[], address?: string, options?: ContractOptions): EulerV2View;
|
|
287
|
+
clone(): EulerV2View;
|
|
288
|
+
methods: {
|
|
289
|
+
USD(): NonPayableTransactionObject<string>;
|
|
290
|
+
feedRegistry(): NonPayableTransactionObject<string>;
|
|
291
|
+
fetchUsedAccounts(_account: string, _page: number | string | BN, _perPage: number | string | BN): NonPayableTransactionObject<[
|
|
292
|
+
string,
|
|
293
|
+
string[]
|
|
294
|
+
] & {
|
|
295
|
+
owner: string;
|
|
296
|
+
accounts: string[];
|
|
297
|
+
}>;
|
|
298
|
+
getAaveTokenPriceInETH(_tokenAddr: string): NonPayableTransactionObject<string>;
|
|
299
|
+
getAaveTokenPriceInUSD(_tokenAddr: string): NonPayableTransactionObject<string>;
|
|
300
|
+
getAaveV3TokenPriceInETH(_tokenAddr: string): NonPayableTransactionObject<string>;
|
|
301
|
+
getAaveV3TokenPriceInUSD(_tokenAddr: string): NonPayableTransactionObject<string>;
|
|
302
|
+
getAddrForChainlinkOracle(_inputTokenAddr: string): NonPayableTransactionObject<string>;
|
|
303
|
+
getApyAfterValuesEstimation(params: EulerV2View.LiquidityChangeParamsStruct[]): NonPayableTransactionObject<string[]>;
|
|
304
|
+
getChainlinkPriceInETH(_inputTokenAddr: string): NonPayableTransactionObject<string>;
|
|
305
|
+
getChainlinkPriceInUSD(_inputTokenAddr: string, _useFallback: boolean): NonPayableTransactionObject<string>;
|
|
306
|
+
getPriceInETH(_inputTokenAddr: string): NonPayableTransactionObject<string>;
|
|
307
|
+
getPriceInUSD(_inputTokenAddr: string): NonPayableTransactionObject<string>;
|
|
308
|
+
"getRoundInfo(address,uint80,address)"(_inputTokenAddr: string, _roundId: number | string | BN, aggregator: string): NonPayableTransactionObject<[
|
|
309
|
+
string,
|
|
310
|
+
string
|
|
311
|
+
] & {
|
|
312
|
+
updateTimestamp: string;
|
|
313
|
+
}>;
|
|
314
|
+
"getRoundInfo(address,uint80)"(_inputTokenAddr: string, _roundId: number | string | BN): NonPayableTransactionObject<[
|
|
315
|
+
string,
|
|
316
|
+
string
|
|
317
|
+
] & {
|
|
318
|
+
updateTimestamp: string;
|
|
319
|
+
}>;
|
|
320
|
+
getSparkTokenPriceInETH(_tokenAddr: string): NonPayableTransactionObject<string>;
|
|
321
|
+
getSparkTokenPriceInUSD(_tokenAddr: string): NonPayableTransactionObject<string>;
|
|
322
|
+
getUserData(_user: string): NonPayableTransactionObject<EulerV2View.UserDataStructOutput>;
|
|
323
|
+
getUsersData(_users: string[]): NonPayableTransactionObject<EulerV2View.UserDataStructOutput[]>;
|
|
324
|
+
getVaultCollaterals(_vault: string): NonPayableTransactionObject<EulerV2View.CollateralInfoStructOutput[]>;
|
|
325
|
+
getVaultInfoFull(_vault: string): NonPayableTransactionObject<EulerV2View.VaultInfoFullStructOutput>;
|
|
326
|
+
getVaultsInfosFull(_vaults: string[]): NonPayableTransactionObject<EulerV2View.VaultInfoFullStructOutput[]>;
|
|
327
|
+
getWBtcPrice(_btcPrice: number | string | BN): NonPayableTransactionObject<string>;
|
|
328
|
+
getWStEthPrice(_stEthPrice: number | string | BN): NonPayableTransactionObject<string>;
|
|
329
|
+
};
|
|
330
|
+
events: {
|
|
331
|
+
allEvents(options?: EventOptions, cb?: Callback<EventLog>): EventEmitter;
|
|
332
|
+
};
|
|
333
|
+
}
|
|
@@ -26,6 +26,7 @@ export type { CompoundLoanInfo } from "./CompoundLoanInfo";
|
|
|
26
26
|
export type { Comptroller } from "./Comptroller";
|
|
27
27
|
export type { ETHPriceFeed } from "./ETHPriceFeed";
|
|
28
28
|
export type { Erc20 } from "./Erc20";
|
|
29
|
+
export type { EulerV2View } from "./EulerV2View";
|
|
29
30
|
export type { FeedRegistry } from "./FeedRegistry";
|
|
30
31
|
export type { GHO } from "./GHO";
|
|
31
32
|
export type { GhoDiscountRateStrategy } from "./GhoDiscountRateStrategy";
|