@defisaver/positions-sdk 2.1.161-portfolio-api-2-dev → 2.1.161-portfolio-api-3-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/aaveV2/index.js +2 -0
- package/cjs/aaveV3/index.d.ts +39 -0
- package/cjs/aaveV3/index.js +237 -2
- package/cjs/aaveV4/lend.d.ts +2 -43
- package/cjs/curveUsd/index.d.ts +5 -2
- package/cjs/curveUsd/index.js +30 -15
- package/cjs/fluid/index.d.ts +5 -0
- package/cjs/fluid/index.js +36 -1
- package/cjs/helpers/aaveHelpers/index.d.ts +9 -1
- package/cjs/helpers/aaveHelpers/index.js +26 -6
- package/cjs/helpers/aaveV4Helpers/index.js +1 -0
- package/cjs/helpers/compoundHelpers/index.js +2 -0
- package/cjs/helpers/curveUsdHelpers/index.d.ts +3 -1
- package/cjs/helpers/curveUsdHelpers/index.js +15 -2
- package/cjs/helpers/fluidHelpers/index.js +1 -0
- package/cjs/helpers/liquityV2Helpers/index.js +1 -0
- package/cjs/helpers/llamaLendHelpers/index.js +1 -0
- package/cjs/helpers/makerHelpers/index.d.ts +1 -1
- package/cjs/helpers/makerHelpers/index.js +2 -2
- package/cjs/helpers/morphoBlueHelpers/index.js +2 -0
- package/cjs/helpers/morphoMidnightHelpers/index.js +2 -0
- package/cjs/helpers/sparkHelpers/index.js +1 -0
- package/cjs/liquity/index.js +15 -2
- package/cjs/liquityV2/index.d.ts +5 -0
- package/cjs/liquityV2/index.js +37 -19
- package/cjs/maker/index.d.ts +7 -2
- package/cjs/maker/index.js +44 -12
- package/cjs/markets/index.d.ts +1 -0
- package/cjs/markets/index.js +3 -1
- package/cjs/markets/maker/index.d.ts +1 -0
- package/cjs/markets/maker/index.js +13 -0
- package/cjs/moneymarket/moneymarketCommonService.d.ts +9 -0
- package/cjs/moneymarket/moneymarketCommonService.js +13 -1
- package/cjs/portfolio/index.d.ts +17 -5
- package/cjs/portfolio/index.js +583 -394
- package/cjs/portfolio/lendingProtocols.d.ts +184 -0
- package/cjs/portfolio/lendingProtocols.js +196 -0
- package/cjs/savings/index.d.ts +8 -2
- package/cjs/savings/index.js +37 -5
- package/cjs/savings/morphoVaults/index.d.ts +1 -1
- package/cjs/savings/morphoVaults/index.js +56 -18
- package/cjs/savings/morphoVaults/options.d.ts +2 -0
- package/cjs/savings/morphoVaults/options.js +61 -1
- package/cjs/spark/index.js +1 -0
- package/cjs/staking/staking.d.ts +20 -0
- package/cjs/staking/staking.js +19 -1
- package/cjs/types/aave.d.ts +3 -0
- package/cjs/types/aaveV4.d.ts +45 -0
- package/cjs/types/compound.d.ts +2 -0
- package/cjs/types/curveUsd.d.ts +6 -0
- package/cjs/types/fluid.d.ts +1 -0
- package/cjs/types/liquity.d.ts +4 -0
- package/cjs/types/liquityV2.d.ts +2 -0
- package/cjs/types/maker.d.ts +4 -0
- package/cjs/types/morphoBlue.d.ts +2 -0
- package/cjs/types/morphoMidnight.d.ts +1 -0
- package/cjs/types/portfolio.d.ts +64 -6
- package/cjs/types/savings/index.d.ts +9 -1
- package/cjs/types/savings/morphoVaults.d.ts +10 -2
- package/cjs/types/savings/morphoVaults.js +9 -1
- package/cjs/types/spark.d.ts +2 -0
- package/esm/aaveV2/index.js +2 -0
- package/esm/aaveV3/index.d.ts +39 -0
- package/esm/aaveV3/index.js +231 -2
- package/esm/aaveV4/lend.d.ts +2 -43
- package/esm/curveUsd/index.d.ts +5 -2
- package/esm/curveUsd/index.js +30 -15
- package/esm/fluid/index.d.ts +5 -0
- package/esm/fluid/index.js +33 -0
- package/esm/helpers/aaveHelpers/index.d.ts +9 -1
- package/esm/helpers/aaveHelpers/index.js +23 -5
- package/esm/helpers/aaveV4Helpers/index.js +1 -0
- package/esm/helpers/compoundHelpers/index.js +2 -0
- package/esm/helpers/curveUsdHelpers/index.d.ts +3 -1
- package/esm/helpers/curveUsdHelpers/index.js +16 -3
- package/esm/helpers/fluidHelpers/index.js +1 -0
- package/esm/helpers/liquityV2Helpers/index.js +1 -0
- package/esm/helpers/llamaLendHelpers/index.js +2 -1
- package/esm/helpers/makerHelpers/index.d.ts +1 -1
- package/esm/helpers/makerHelpers/index.js +2 -2
- package/esm/helpers/morphoBlueHelpers/index.js +2 -0
- package/esm/helpers/morphoMidnightHelpers/index.js +2 -0
- package/esm/helpers/sparkHelpers/index.js +1 -0
- package/esm/liquity/index.js +16 -3
- package/esm/liquityV2/index.d.ts +5 -0
- package/esm/liquityV2/index.js +35 -18
- package/esm/maker/index.d.ts +7 -2
- package/esm/maker/index.js +44 -14
- package/esm/markets/index.d.ts +1 -0
- package/esm/markets/index.js +1 -0
- package/esm/markets/maker/index.d.ts +1 -0
- package/esm/markets/maker/index.js +10 -0
- package/esm/moneymarket/moneymarketCommonService.d.ts +9 -0
- package/esm/moneymarket/moneymarketCommonService.js +11 -0
- package/esm/portfolio/index.d.ts +17 -5
- package/esm/portfolio/index.js +584 -398
- package/esm/portfolio/lendingProtocols.d.ts +184 -0
- package/esm/portfolio/lendingProtocols.js +189 -0
- package/esm/savings/index.d.ts +8 -2
- package/esm/savings/index.js +35 -4
- package/esm/savings/morphoVaults/index.d.ts +1 -1
- package/esm/savings/morphoVaults/index.js +57 -19
- package/esm/savings/morphoVaults/options.d.ts +2 -0
- package/esm/savings/morphoVaults/options.js +61 -1
- package/esm/spark/index.js +1 -0
- package/esm/staking/staking.d.ts +20 -0
- package/esm/staking/staking.js +17 -0
- package/esm/types/aave.d.ts +3 -0
- package/esm/types/aaveV4.d.ts +45 -0
- package/esm/types/compound.d.ts +2 -0
- package/esm/types/curveUsd.d.ts +6 -0
- package/esm/types/fluid.d.ts +1 -0
- package/esm/types/liquity.d.ts +4 -0
- package/esm/types/liquityV2.d.ts +2 -0
- package/esm/types/maker.d.ts +4 -0
- package/esm/types/morphoBlue.d.ts +2 -0
- package/esm/types/morphoMidnight.d.ts +1 -0
- package/esm/types/portfolio.d.ts +64 -6
- package/esm/types/savings/index.d.ts +9 -1
- package/esm/types/savings/morphoVaults.d.ts +10 -2
- package/esm/types/savings/morphoVaults.js +8 -0
- package/esm/types/spark.d.ts +2 -0
- package/package.json +3 -2
- package/src/aaveV2/index.ts +2 -0
- package/src/aaveV3/index.ts +291 -1
- package/src/aaveV4/lend.ts +2 -48
- package/src/curveUsd/index.ts +33 -16
- package/src/fluid/index.ts +40 -0
- package/src/helpers/aaveHelpers/index.ts +27 -7
- package/src/helpers/aaveV4Helpers/index.ts +1 -0
- package/src/helpers/compoundHelpers/index.ts +2 -0
- package/src/helpers/curveUsdHelpers/index.ts +23 -3
- package/src/helpers/fluidHelpers/index.ts +1 -0
- package/src/helpers/liquityV2Helpers/index.ts +1 -0
- package/src/helpers/llamaLendHelpers/index.ts +2 -1
- package/src/helpers/makerHelpers/index.ts +2 -1
- package/src/helpers/morphoBlueHelpers/index.ts +2 -0
- package/src/helpers/morphoMidnightHelpers/index.ts +2 -0
- package/src/helpers/sparkHelpers/index.ts +1 -0
- package/src/liquity/index.ts +17 -3
- package/src/liquityV2/index.ts +45 -19
- package/src/maker/index.ts +77 -30
- package/src/markets/index.ts +2 -1
- package/src/markets/maker/index.ts +10 -0
- package/src/moneymarket/moneymarketCommonService.ts +15 -0
- package/src/portfolio/index.ts +428 -215
- package/src/portfolio/lendingProtocols.ts +281 -0
- package/src/savings/index.ts +45 -5
- package/src/savings/morphoVaults/index.ts +73 -21
- package/src/savings/morphoVaults/options.ts +67 -1
- package/src/spark/index.ts +1 -0
- package/src/staking/staking.ts +28 -0
- package/src/types/aave.ts +4 -0
- package/src/types/aaveV4.ts +50 -0
- package/src/types/compound.ts +2 -0
- package/src/types/curveUsd.ts +7 -0
- package/src/types/fluid.ts +1 -0
- package/src/types/liquity.ts +6 -0
- package/src/types/liquityV2.ts +2 -0
- package/src/types/maker.ts +6 -0
- package/src/types/morphoBlue.ts +2 -0
- package/src/types/morphoMidnight.ts +1 -0
- package/src/types/portfolio.ts +71 -6
- package/src/types/savings/index.ts +12 -1
- package/src/types/savings/morphoVaults.ts +11 -1
- package/src/types/spark.ts +2 -0
|
@@ -17,5 +17,7 @@ export declare const MORPHO_VAULT_STEAKHOUSE_PYUSD: MorphoVault;
|
|
|
17
17
|
export declare const MORPHO_VAULT_SMOKEHOUSE_USDT: MorphoVault;
|
|
18
18
|
export declare const MORPHO_VAULT_SMOKEHOUSE_USDC: MorphoVault;
|
|
19
19
|
export declare const MORPHO_VAULT_SMOKEHOUSE_DAI: MorphoVault;
|
|
20
|
+
export declare const MORPHO_VAULT_GAUNTLET_USDG_PREMIUM: MorphoVault;
|
|
21
|
+
export declare const MORPHO_VAULT_STEAKHOUSE_USDG_PRO: MorphoVault;
|
|
20
22
|
export declare const MORPHO_VAULTS: Record<MorphoVaultType, MorphoVault>;
|
|
21
23
|
export declare const getMorphoVault: (type: MorphoVaultType) => MorphoVault;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getMorphoVault = exports.MORPHO_VAULTS = exports.MORPHO_VAULT_SMOKEHOUSE_DAI = exports.MORPHO_VAULT_SMOKEHOUSE_USDC = exports.MORPHO_VAULT_SMOKEHOUSE_USDT = exports.MORPHO_VAULT_STEAKHOUSE_PYUSD = exports.MORPHO_VAULT_STEAKHOUSE_ETH = exports.MORPHO_VAULT_STEAKHOUSE_USDC = exports.MORPHO_VAULT_STEAKHOUSE_USDT = exports.MORPHO_VAULT_GAUNTLET_RESOLV_USDC = exports.MORPHO_VAULT_GAUNTLET_USDT_PRIME = exports.MORPHO_VAULT_GAUNTLET_USDA_CORE = exports.MORPHO_VAULT_FLAGSHIP_USDT = exports.MORPHO_VAULT_BOOSTED_USDC = exports.MORPHO_VAULT_GAUNTLET_WETH_PRIME = exports.MORPHO_VAULT_GAUNTLET_WETH_CORE = exports.MORPHO_VAULT_RE7_WETH = exports.MORPHO_VAULT_GAUNTLET_USDC_PRIME = exports.MORPHO_VAULT_GAUNTLET_USDC_CORE = exports.MORPHO_VAULT_FLAGSHIP_ETH = void 0;
|
|
3
|
+
exports.getMorphoVault = exports.MORPHO_VAULTS = exports.MORPHO_VAULT_STEAKHOUSE_USDG_PRO = exports.MORPHO_VAULT_GAUNTLET_USDG_PREMIUM = exports.MORPHO_VAULT_SMOKEHOUSE_DAI = exports.MORPHO_VAULT_SMOKEHOUSE_USDC = exports.MORPHO_VAULT_SMOKEHOUSE_USDT = exports.MORPHO_VAULT_STEAKHOUSE_PYUSD = exports.MORPHO_VAULT_STEAKHOUSE_ETH = exports.MORPHO_VAULT_STEAKHOUSE_USDC = exports.MORPHO_VAULT_STEAKHOUSE_USDT = exports.MORPHO_VAULT_GAUNTLET_RESOLV_USDC = exports.MORPHO_VAULT_GAUNTLET_USDT_PRIME = exports.MORPHO_VAULT_GAUNTLET_USDA_CORE = exports.MORPHO_VAULT_FLAGSHIP_USDT = exports.MORPHO_VAULT_BOOSTED_USDC = exports.MORPHO_VAULT_GAUNTLET_WETH_PRIME = exports.MORPHO_VAULT_GAUNTLET_WETH_CORE = exports.MORPHO_VAULT_RE7_WETH = exports.MORPHO_VAULT_GAUNTLET_USDC_PRIME = exports.MORPHO_VAULT_GAUNTLET_USDC_CORE = exports.MORPHO_VAULT_FLAGSHIP_ETH = void 0;
|
|
4
4
|
const types_1 = require("../../types");
|
|
5
5
|
exports.MORPHO_VAULT_FLAGSHIP_ETH = {
|
|
6
6
|
type: types_1.MorphoVaultType.MorphoVaultFlagshipEth,
|
|
7
7
|
name: 'Flagship ETH',
|
|
8
8
|
address: '0x38989BBA00BDF8181F4082995b3DEAe96163aC5D',
|
|
9
9
|
asset: 'WETH',
|
|
10
|
+
network: types_1.NetworkNumber.Eth,
|
|
11
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
10
12
|
deploymentBlock: 18927491,
|
|
11
13
|
isLegacy: true,
|
|
12
14
|
};
|
|
@@ -15,6 +17,8 @@ exports.MORPHO_VAULT_GAUNTLET_USDC_CORE = {
|
|
|
15
17
|
name: 'Gauntlet USDC Core',
|
|
16
18
|
address: '0x8eB67A509616cd6A7c1B3c8C21D48FF57df3d458',
|
|
17
19
|
asset: 'USDC',
|
|
20
|
+
network: types_1.NetworkNumber.Eth,
|
|
21
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
18
22
|
deploymentBlock: 19777569,
|
|
19
23
|
isLegacy: true,
|
|
20
24
|
};
|
|
@@ -23,6 +27,8 @@ exports.MORPHO_VAULT_GAUNTLET_USDC_PRIME = {
|
|
|
23
27
|
name: 'Gauntlet USDC Prime',
|
|
24
28
|
address: '0xdd0f28e19C1780eb6396170735D45153D261490d',
|
|
25
29
|
asset: 'USDC',
|
|
30
|
+
network: types_1.NetworkNumber.Eth,
|
|
31
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
26
32
|
deploymentBlock: 19777569,
|
|
27
33
|
isLegacy: true,
|
|
28
34
|
};
|
|
@@ -31,6 +37,8 @@ exports.MORPHO_VAULT_RE7_WETH = {
|
|
|
31
37
|
name: 'RE7 WETH',
|
|
32
38
|
address: '0x78Fc2c2eD1A4cDb5402365934aE5648aDAd094d0',
|
|
33
39
|
asset: 'WETH',
|
|
40
|
+
network: types_1.NetworkNumber.Eth,
|
|
41
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
34
42
|
deploymentBlock: 19121118,
|
|
35
43
|
isLegacy: true,
|
|
36
44
|
};
|
|
@@ -39,6 +47,8 @@ exports.MORPHO_VAULT_GAUNTLET_WETH_CORE = {
|
|
|
39
47
|
name: 'Gauntlet WETH Core',
|
|
40
48
|
address: '0x4881Ef0BF6d2365D3dd6499ccd7532bcdBCE0658',
|
|
41
49
|
asset: 'WETH',
|
|
50
|
+
network: types_1.NetworkNumber.Eth,
|
|
51
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
42
52
|
deploymentBlock: 19541126,
|
|
43
53
|
isLegacy: true,
|
|
44
54
|
};
|
|
@@ -47,6 +57,8 @@ exports.MORPHO_VAULT_GAUNTLET_WETH_PRIME = {
|
|
|
47
57
|
name: 'Gauntlet WETH Prime',
|
|
48
58
|
address: '0x2371e134e3455e0593363cBF89d3b6cf53740618',
|
|
49
59
|
asset: 'WETH',
|
|
60
|
+
network: types_1.NetworkNumber.Eth,
|
|
61
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
50
62
|
deploymentBlock: 19372149,
|
|
51
63
|
isLegacy: true,
|
|
52
64
|
};
|
|
@@ -55,6 +67,8 @@ exports.MORPHO_VAULT_BOOSTED_USDC = {
|
|
|
55
67
|
name: 'Boosted USDC',
|
|
56
68
|
address: '0xd63070114470f685b75B74D60EEc7c1113d33a3D',
|
|
57
69
|
asset: 'USDC',
|
|
70
|
+
network: types_1.NetworkNumber.Eth,
|
|
71
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
58
72
|
deploymentBlock: 20377233,
|
|
59
73
|
isLegacy: true,
|
|
60
74
|
};
|
|
@@ -63,6 +77,8 @@ exports.MORPHO_VAULT_FLAGSHIP_USDT = {
|
|
|
63
77
|
name: 'Flagship USDT',
|
|
64
78
|
address: '0x2C25f6C25770fFEC5959D34B94Bf898865e5D6b1',
|
|
65
79
|
asset: 'USDT',
|
|
80
|
+
network: types_1.NetworkNumber.Eth,
|
|
81
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
66
82
|
deploymentBlock: 19127039,
|
|
67
83
|
isLegacy: true,
|
|
68
84
|
};
|
|
@@ -71,6 +87,8 @@ exports.MORPHO_VAULT_GAUNTLET_USDA_CORE = {
|
|
|
71
87
|
name: 'Gauntlet USDA Core',
|
|
72
88
|
address: '0x125D41A6e5dbf455cD9Df8F80BCC6fd172D52Cc6',
|
|
73
89
|
asset: 'USDA',
|
|
90
|
+
network: types_1.NetworkNumber.Eth,
|
|
91
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
74
92
|
deploymentBlock: 19633608,
|
|
75
93
|
isLegacy: true,
|
|
76
94
|
};
|
|
@@ -79,6 +97,8 @@ exports.MORPHO_VAULT_GAUNTLET_USDT_PRIME = {
|
|
|
79
97
|
name: 'Gauntlet USDT Prime',
|
|
80
98
|
address: '0x8CB3649114051cA5119141a34C200D65dc0Faa73',
|
|
81
99
|
asset: 'USDT',
|
|
100
|
+
network: types_1.NetworkNumber.Eth,
|
|
101
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
82
102
|
deploymentBlock: 19486541,
|
|
83
103
|
isLegacy: true,
|
|
84
104
|
};
|
|
@@ -87,6 +107,8 @@ exports.MORPHO_VAULT_GAUNTLET_RESOLV_USDC = {
|
|
|
87
107
|
name: 'Gauntlet Resolv USDC',
|
|
88
108
|
address: '0x132E6C9C33A62D7727cd359b1f51e5B566E485Eb',
|
|
89
109
|
asset: 'USDC',
|
|
110
|
+
network: types_1.NetworkNumber.Eth,
|
|
111
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
90
112
|
deploymentBlock: 21487882,
|
|
91
113
|
isLegacy: true,
|
|
92
114
|
};
|
|
@@ -96,6 +118,8 @@ exports.MORPHO_VAULT_STEAKHOUSE_USDT = {
|
|
|
96
118
|
name: 'Steakhouse USDT',
|
|
97
119
|
address: '0xbEef047a543E45807105E51A8BBEFCc5950fcfBa',
|
|
98
120
|
asset: 'USDT',
|
|
121
|
+
network: types_1.NetworkNumber.Eth,
|
|
122
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
99
123
|
deploymentBlock: 19043398,
|
|
100
124
|
isLegacy: false,
|
|
101
125
|
};
|
|
@@ -104,6 +128,8 @@ exports.MORPHO_VAULT_STEAKHOUSE_USDC = {
|
|
|
104
128
|
name: 'Steakhouse USDC',
|
|
105
129
|
address: '0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB',
|
|
106
130
|
asset: 'USDC',
|
|
131
|
+
network: types_1.NetworkNumber.Eth,
|
|
132
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
107
133
|
deploymentBlock: 18928285,
|
|
108
134
|
isLegacy: false,
|
|
109
135
|
};
|
|
@@ -112,6 +138,8 @@ exports.MORPHO_VAULT_STEAKHOUSE_ETH = {
|
|
|
112
138
|
name: 'Steakhouse WETH',
|
|
113
139
|
address: '0xBEEf050ecd6a16c4e7bfFbB52Ebba7846C4b8cD4',
|
|
114
140
|
asset: 'WETH',
|
|
141
|
+
network: types_1.NetworkNumber.Eth,
|
|
142
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
115
143
|
deploymentBlock: 19380443,
|
|
116
144
|
isLegacy: false,
|
|
117
145
|
};
|
|
@@ -120,6 +148,8 @@ exports.MORPHO_VAULT_STEAKHOUSE_PYUSD = {
|
|
|
120
148
|
name: 'Steakhouse PYUSD',
|
|
121
149
|
address: '0xbEEF02e5E13584ab96848af90261f0C8Ee04722a',
|
|
122
150
|
asset: 'PYUSD',
|
|
151
|
+
network: types_1.NetworkNumber.Eth,
|
|
152
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
123
153
|
deploymentBlock: 19043398,
|
|
124
154
|
isLegacy: false,
|
|
125
155
|
};
|
|
@@ -129,6 +159,8 @@ exports.MORPHO_VAULT_SMOKEHOUSE_USDT = {
|
|
|
129
159
|
name: 'Smokehouse USDT',
|
|
130
160
|
address: '0xA0804346780b4c2e3bE118ac957D1DB82F9d7484',
|
|
131
161
|
asset: 'USDT',
|
|
162
|
+
network: types_1.NetworkNumber.Eth,
|
|
163
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
132
164
|
deploymentBlock: 21522238,
|
|
133
165
|
isLegacy: false,
|
|
134
166
|
};
|
|
@@ -137,6 +169,8 @@ exports.MORPHO_VAULT_SMOKEHOUSE_USDC = {
|
|
|
137
169
|
name: 'Smokehouse USDC',
|
|
138
170
|
address: '0xBEeFFF209270748ddd194831b3fa287a5386f5bC',
|
|
139
171
|
asset: 'USDC',
|
|
172
|
+
network: types_1.NetworkNumber.Eth,
|
|
173
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
140
174
|
deploymentBlock: 21337719,
|
|
141
175
|
isLegacy: false,
|
|
142
176
|
};
|
|
@@ -145,9 +179,32 @@ exports.MORPHO_VAULT_SMOKEHOUSE_DAI = {
|
|
|
145
179
|
name: 'Smokehouse DAI',
|
|
146
180
|
address: '0xbeeFfF68CC520D68f82641EFF84330C631E2490E',
|
|
147
181
|
asset: 'DAI',
|
|
182
|
+
network: types_1.NetworkNumber.Eth,
|
|
183
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
148
184
|
deploymentBlock: 21343808,
|
|
149
185
|
isLegacy: false,
|
|
150
186
|
};
|
|
187
|
+
// Vault V2
|
|
188
|
+
exports.MORPHO_VAULT_GAUNTLET_USDG_PREMIUM = {
|
|
189
|
+
type: types_1.MorphoVaultType.MorphoVaultGauntletUSDGPremium,
|
|
190
|
+
name: 'Gauntlet USDG Premium',
|
|
191
|
+
address: '0x390c1bb01F3F627144a40617e287d4cE3D5aBCfa',
|
|
192
|
+
asset: 'USDG',
|
|
193
|
+
network: types_1.NetworkNumber.Arb,
|
|
194
|
+
version: types_1.MorphoVaultVersion.V2,
|
|
195
|
+
deploymentBlock: 510799903,
|
|
196
|
+
isLegacy: false,
|
|
197
|
+
};
|
|
198
|
+
exports.MORPHO_VAULT_STEAKHOUSE_USDG_PRO = {
|
|
199
|
+
type: types_1.MorphoVaultType.MorphoVaultSteakhouseUSDGPro,
|
|
200
|
+
name: 'Steakhouse USDG Pro',
|
|
201
|
+
address: '0xbeeFf72B77e7584a450E887125F25E8D8819016a',
|
|
202
|
+
asset: 'USDG',
|
|
203
|
+
network: types_1.NetworkNumber.Arb,
|
|
204
|
+
version: types_1.MorphoVaultVersion.V2,
|
|
205
|
+
deploymentBlock: 512247107,
|
|
206
|
+
isLegacy: false,
|
|
207
|
+
};
|
|
151
208
|
exports.MORPHO_VAULTS = {
|
|
152
209
|
[types_1.MorphoVaultType.MorphoVaultFlagshipEth]: exports.MORPHO_VAULT_FLAGSHIP_ETH,
|
|
153
210
|
[types_1.MorphoVaultType.MorphoVaultGauntletUSDCCore]: exports.MORPHO_VAULT_GAUNTLET_USDC_CORE,
|
|
@@ -169,6 +226,9 @@ exports.MORPHO_VAULTS = {
|
|
|
169
226
|
[types_1.MorphoVaultType.MorphoVaultSmokehouseUSDT]: exports.MORPHO_VAULT_SMOKEHOUSE_USDT,
|
|
170
227
|
[types_1.MorphoVaultType.MorphoVaultSmokehouseUSDC]: exports.MORPHO_VAULT_SMOKEHOUSE_USDC,
|
|
171
228
|
[types_1.MorphoVaultType.MorphoVaultSmokehouseDAI]: exports.MORPHO_VAULT_SMOKEHOUSE_DAI,
|
|
229
|
+
// Vault V2
|
|
230
|
+
[types_1.MorphoVaultType.MorphoVaultGauntletUSDGPremium]: exports.MORPHO_VAULT_GAUNTLET_USDG_PREMIUM,
|
|
231
|
+
[types_1.MorphoVaultType.MorphoVaultSteakhouseUSDGPro]: exports.MORPHO_VAULT_STEAKHOUSE_USDG_PRO,
|
|
172
232
|
};
|
|
173
233
|
const getMorphoVault = (type) => exports.MORPHO_VAULTS[type];
|
|
174
234
|
exports.getMorphoVault = getMorphoVault;
|
package/cjs/spark/index.js
CHANGED
|
@@ -88,6 +88,7 @@ const _getSparkMarketsData = (provider, network, selectedMarket) => __awaiter(vo
|
|
|
88
88
|
collateralAssets: eModeCategoriesData[emodeCategoryId] ? [...eModeCategoriesData[emodeCategoryId].collateralAssets, selectedMarket.assets[i]] : [selectedMarket.assets[i]],
|
|
89
89
|
borrowAssets: eModeCategoriesData[emodeCategoryId] ? [...eModeCategoriesData[emodeCategoryId].borrowAssets, selectedMarket.assets[i]] : [selectedMarket.assets[i]],
|
|
90
90
|
ltvZeroAssets: [],
|
|
91
|
+
isolated: false,
|
|
91
92
|
};
|
|
92
93
|
return ({
|
|
93
94
|
symbol: selectedMarket.assets[i],
|
package/cjs/staking/staking.d.ts
CHANGED
|
@@ -3,6 +3,26 @@ import { MMAssetsData, MMUsedAssets } from '../types/common';
|
|
|
3
3
|
export declare const STAKING_ASSETS: string[];
|
|
4
4
|
export declare const getStakingApy: ((asset: string, network?: number) => Promise<string>) & memoize.Memoized<(asset: string, network?: number) => Promise<string>>;
|
|
5
5
|
export declare const calculateInterestEarned: (principal: string, interest: string, type: string, apy?: boolean) => number;
|
|
6
|
+
/**
|
|
7
|
+
* Net APY for positions that have a single known borrow rate (and optionally a single supply rate)
|
|
8
|
+
* instead of per-asset `assetsData` to feed into `calculateNetApy` (Maker, crvUSD, Liquity v1).
|
|
9
|
+
* All rates are yearly percentages that are already compounded. `incentives` are extra yields
|
|
10
|
+
* (e.g. the native staking yield of the collateral) applied to their own USD base and summed into `incentiveUsd`.
|
|
11
|
+
*/
|
|
12
|
+
export declare const calculateNetApyFromRates: ({ suppliedUsd, borrowedUsd, supplyRate, borrowRate, incentives, }: {
|
|
13
|
+
suppliedUsd: string;
|
|
14
|
+
borrowedUsd: string;
|
|
15
|
+
supplyRate?: string;
|
|
16
|
+
borrowRate?: string;
|
|
17
|
+
incentives?: {
|
|
18
|
+
apy: string;
|
|
19
|
+
amountUsd: string;
|
|
20
|
+
}[];
|
|
21
|
+
}) => {
|
|
22
|
+
netApy: string;
|
|
23
|
+
totalInterestUsd: string;
|
|
24
|
+
incentiveUsd: string;
|
|
25
|
+
};
|
|
6
26
|
export declare const calculateNetApy: ({ usedAssets, assetsData, optionalData, }: {
|
|
7
27
|
usedAssets: MMUsedAssets;
|
|
8
28
|
assetsData: MMAssetsData;
|
package/cjs/staking/staking.js
CHANGED
|
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.calculateNetApy = exports.calculateInterestEarned = exports.getStakingApy = exports.STAKING_ASSETS = void 0;
|
|
15
|
+
exports.calculateNetApy = exports.calculateNetApyFromRates = exports.calculateInterestEarned = exports.getStakingApy = exports.STAKING_ASSETS = void 0;
|
|
16
16
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
17
17
|
const memoizee_1 = __importDefault(require("memoizee"));
|
|
18
18
|
const common_1 = require("../types/common");
|
|
@@ -189,6 +189,24 @@ const calculateInterestEarned = (principal, interest, type, apy = false) => {
|
|
|
189
189
|
return (+principal * (Math.pow(((1 + (+interest / 100) / constants_1.BLOCKS_IN_A_YEAR)), (constants_1.BLOCKS_IN_A_YEAR * interval)))) - +principal; // eslint-disable-line
|
|
190
190
|
};
|
|
191
191
|
exports.calculateInterestEarned = calculateInterestEarned;
|
|
192
|
+
/**
|
|
193
|
+
* Net APY for positions that have a single known borrow rate (and optionally a single supply rate)
|
|
194
|
+
* instead of per-asset `assetsData` to feed into `calculateNetApy` (Maker, crvUSD, Liquity v1).
|
|
195
|
+
* All rates are yearly percentages that are already compounded. `incentives` are extra yields
|
|
196
|
+
* (e.g. the native staking yield of the collateral) applied to their own USD base and summed into `incentiveUsd`.
|
|
197
|
+
*/
|
|
198
|
+
const calculateNetApyFromRates = ({ suppliedUsd, borrowedUsd, supplyRate = '0', borrowRate = '0', incentives = [], }) => {
|
|
199
|
+
const supplyInterest = new decimal_js_1.default((0, exports.calculateInterestEarned)(suppliedUsd, supplyRate, 'year', true));
|
|
200
|
+
const borrowInterest = new decimal_js_1.default((0, exports.calculateInterestEarned)(borrowedUsd, borrowRate, 'year', true));
|
|
201
|
+
const incentiveUsd = incentives
|
|
202
|
+
.reduce((acc, { apy, amountUsd }) => acc.add((0, exports.calculateInterestEarned)(amountUsd, apy, 'year', true)), new decimal_js_1.default(0))
|
|
203
|
+
.toString();
|
|
204
|
+
const totalInterestUsd = supplyInterest.sub(borrowInterest).add(incentiveUsd).toString();
|
|
205
|
+
const balance = new decimal_js_1.default(suppliedUsd).sub(borrowedUsd);
|
|
206
|
+
const netApy = balance.isZero() ? '0' : new decimal_js_1.default(totalInterestUsd).div(balance).times(100).toString();
|
|
207
|
+
return { netApy, totalInterestUsd, incentiveUsd };
|
|
208
|
+
};
|
|
209
|
+
exports.calculateNetApyFromRates = calculateNetApyFromRates;
|
|
192
210
|
const calculateNetApy = ({ usedAssets, assetsData, optionalData, }) => {
|
|
193
211
|
const sumValues = Object.values(usedAssets).reduce((_acc, usedAsset) => {
|
|
194
212
|
const acc = Object.assign({}, _acc);
|
package/cjs/types/aave.d.ts
CHANGED
|
@@ -40,6 +40,7 @@ export interface EModeCategoryData {
|
|
|
40
40
|
borrowAssets: string[];
|
|
41
41
|
ltvzeroBitmap?: string;
|
|
42
42
|
ltvZeroAssets: string[];
|
|
43
|
+
isolated: boolean;
|
|
43
44
|
}
|
|
44
45
|
export interface EModeCategoryDataMapping {
|
|
45
46
|
enteringTerms: boolean[];
|
|
@@ -133,6 +134,7 @@ export interface AavePositionData extends MMPositionData, AavePositionAggregated
|
|
|
133
134
|
minRatio: string;
|
|
134
135
|
collRatio: string;
|
|
135
136
|
safetyRatioWithLtvZeroFallback?: string;
|
|
137
|
+
safetyRatio?: string;
|
|
136
138
|
suppliedUsd: string;
|
|
137
139
|
borrowedUsd: string;
|
|
138
140
|
borrowLimitUsd: string;
|
|
@@ -172,6 +174,7 @@ export interface AaveV3AggregatedPositionData {
|
|
|
172
174
|
collRatio: string;
|
|
173
175
|
borrowLimitWithLtvZeroFallbackUsd: string;
|
|
174
176
|
safetyRatioWithLtvZeroFallback: string;
|
|
177
|
+
safetyRatio: string;
|
|
175
178
|
netApy: string;
|
|
176
179
|
incentiveUsd: string;
|
|
177
180
|
totalInterestUsd: string;
|
package/cjs/types/aaveV4.d.ts
CHANGED
|
@@ -169,6 +169,7 @@ export interface AaveV4AggregatedPositionData {
|
|
|
169
169
|
leftToBorrowUsd: string;
|
|
170
170
|
ratio: string;
|
|
171
171
|
collRatio: string;
|
|
172
|
+
safetyRatio: string;
|
|
172
173
|
liqRatio: string;
|
|
173
174
|
liqPercent: string;
|
|
174
175
|
leveragedType: LeverageType;
|
|
@@ -190,3 +191,47 @@ export interface AaveV4AccountData extends AaveV4AggregatedPositionData {
|
|
|
190
191
|
healthFactor: string;
|
|
191
192
|
riskPremiumBps: number;
|
|
192
193
|
}
|
|
194
|
+
/** One Aave V4 tokenized spoke (Lend vault) as the view contract returns it for a user. */
|
|
195
|
+
export interface AaveV4TokenizationSpokeData {
|
|
196
|
+
underlyingAsset: EthAddress;
|
|
197
|
+
assetId: string;
|
|
198
|
+
decimals: number;
|
|
199
|
+
spoke: EthAddress;
|
|
200
|
+
spokeActive: boolean;
|
|
201
|
+
spokeHalted: boolean;
|
|
202
|
+
spokeDepositCap: string;
|
|
203
|
+
spokeTotalAssets: string;
|
|
204
|
+
spokeTotalShares: string;
|
|
205
|
+
hub: EthAddress;
|
|
206
|
+
hubLiquidity: string;
|
|
207
|
+
hubDrawnRate: string;
|
|
208
|
+
convertToShares: string;
|
|
209
|
+
convertToAssets: string;
|
|
210
|
+
user: EthAddress;
|
|
211
|
+
userSuppliedAssets: string;
|
|
212
|
+
userSuppliedShares: string;
|
|
213
|
+
}
|
|
214
|
+
/** Parsed tokenization spoke data with human-readable supplied amounts for display */
|
|
215
|
+
export interface AaveV4TokenizationSpokeDataParsed {
|
|
216
|
+
vaultAddress: EthAddress;
|
|
217
|
+
key: string | null;
|
|
218
|
+
symbol: string;
|
|
219
|
+
hubKey: string;
|
|
220
|
+
spokeActive: boolean;
|
|
221
|
+
spokeHalted: boolean;
|
|
222
|
+
/** Deposit cap in asset units (wei string) */
|
|
223
|
+
spokeDepositCap: string;
|
|
224
|
+
/** Total assets currently in spoke in asset units (wei string) */
|
|
225
|
+
spokeTotalAssets: string;
|
|
226
|
+
/** Available hub liquidity in asset units (wei string) */
|
|
227
|
+
hubLiquidity: string;
|
|
228
|
+
/** The conversion rate from assets to shares expressed in asset units. */
|
|
229
|
+
convertToShares: string;
|
|
230
|
+
userSuppliedAssetsEth: string;
|
|
231
|
+
userSuppliedSharesEth: string;
|
|
232
|
+
userSuppliedAssets: string;
|
|
233
|
+
userSuppliedShares: string;
|
|
234
|
+
underlyingAsset: EthAddress;
|
|
235
|
+
spoke: EthAddress;
|
|
236
|
+
decimals: number;
|
|
237
|
+
}
|
package/cjs/types/compound.d.ts
CHANGED
|
@@ -108,6 +108,7 @@ export interface CompoundAggregatedPositionData {
|
|
|
108
108
|
leftToBorrowUsd: string;
|
|
109
109
|
ratio: string;
|
|
110
110
|
collRatio: string;
|
|
111
|
+
safetyRatio: string;
|
|
111
112
|
netApy: string;
|
|
112
113
|
incentiveUsd: string;
|
|
113
114
|
totalInterestUsd: string;
|
|
@@ -127,6 +128,7 @@ export interface CompoundAggregatedPositionData {
|
|
|
127
128
|
export interface CompoundPositionData extends MMPositionData {
|
|
128
129
|
ratio: string;
|
|
129
130
|
minRatio: string;
|
|
131
|
+
safetyRatio?: string;
|
|
130
132
|
suppliedUsd: string;
|
|
131
133
|
borrowedUsd: string;
|
|
132
134
|
borrowLimitUsd: string;
|
package/cjs/types/curveUsd.d.ts
CHANGED
|
@@ -74,6 +74,9 @@ export interface CrvUSDAggregatedPositionData {
|
|
|
74
74
|
collFactor: string;
|
|
75
75
|
leveragedType: LeverageType;
|
|
76
76
|
exposure: string;
|
|
77
|
+
netApy: string;
|
|
78
|
+
totalInterestUsd: string;
|
|
79
|
+
incentiveUsd: string;
|
|
77
80
|
leveragedAsset?: string;
|
|
78
81
|
liquidationPrice?: string;
|
|
79
82
|
}
|
|
@@ -115,6 +118,9 @@ export interface CrvUSDUserData extends CrvUSDPositionAggregatedFields {
|
|
|
115
118
|
collateralPrice: string;
|
|
116
119
|
collRatio: string;
|
|
117
120
|
exposure: string;
|
|
121
|
+
netApy: string;
|
|
122
|
+
totalInterestUsd: string;
|
|
123
|
+
incentiveUsd: string;
|
|
118
124
|
marketCollateralAmount?: bigint;
|
|
119
125
|
curveUsdCollateralAmount?: bigint;
|
|
120
126
|
N?: bigint;
|
package/cjs/types/fluid.d.ts
CHANGED
package/cjs/types/liquity.d.ts
CHANGED
|
@@ -24,9 +24,13 @@ export interface LiquityTroveInfo {
|
|
|
24
24
|
totalETH: string;
|
|
25
25
|
totalLUSD: string;
|
|
26
26
|
minCollateralRatio: number;
|
|
27
|
+
safetyRatio: string;
|
|
27
28
|
priceForRecovery: string;
|
|
28
29
|
debtInFront: string;
|
|
29
30
|
exposure: string;
|
|
31
|
+
netApy: string;
|
|
32
|
+
totalInterestUsd: string;
|
|
33
|
+
incentiveUsd: string;
|
|
30
34
|
}
|
|
31
35
|
/** LQTY staking and the LUSD stability pool deposit of an address, from getLiquityStakingData. */
|
|
32
36
|
export interface LiquityStakingData {
|
package/cjs/types/liquityV2.d.ts
CHANGED
|
@@ -94,6 +94,7 @@ export interface LiquityV2AggregatedTroveData {
|
|
|
94
94
|
liquidationPrice: string;
|
|
95
95
|
ratio: string;
|
|
96
96
|
collRatio: string;
|
|
97
|
+
safetyRatio: string;
|
|
97
98
|
exposure: string;
|
|
98
99
|
}
|
|
99
100
|
export interface LiquityV2TroveData {
|
|
@@ -101,6 +102,7 @@ export interface LiquityV2TroveData {
|
|
|
101
102
|
troveId: string;
|
|
102
103
|
ratio: string;
|
|
103
104
|
collRatio: string;
|
|
105
|
+
safetyRatio?: string;
|
|
104
106
|
liqRatio: string;
|
|
105
107
|
borrowLimitRatio: string;
|
|
106
108
|
interestRate: string;
|
package/cjs/types/maker.d.ts
CHANGED
|
@@ -43,6 +43,7 @@ export interface CdpData {
|
|
|
43
43
|
debtAssetMarketPrice: string;
|
|
44
44
|
liquidationPrice: string;
|
|
45
45
|
ratio: string;
|
|
46
|
+
safetyRatio: string;
|
|
46
47
|
liqRatio: string;
|
|
47
48
|
liqPercent: number;
|
|
48
49
|
assetPrice: string;
|
|
@@ -58,4 +59,7 @@ export interface CdpData {
|
|
|
58
59
|
liquidationFee: string;
|
|
59
60
|
lastUpdated: number;
|
|
60
61
|
exposure: string;
|
|
62
|
+
netApy: string;
|
|
63
|
+
totalInterestUsd: string;
|
|
64
|
+
incentiveUsd: string;
|
|
61
65
|
}
|
|
@@ -185,6 +185,7 @@ export interface MorphoBlueAggregatedPositionData {
|
|
|
185
185
|
totalInterestUsd: string;
|
|
186
186
|
ltv: string;
|
|
187
187
|
ratio: string;
|
|
188
|
+
safetyRatio: string;
|
|
188
189
|
leveragedType: LeverageType;
|
|
189
190
|
leveragedAsset?: string;
|
|
190
191
|
currentVolatilePairRatio?: string;
|
|
@@ -207,6 +208,7 @@ export interface MorphoBluePositionData {
|
|
|
207
208
|
totalInterestUsd: string;
|
|
208
209
|
ltv: string;
|
|
209
210
|
ratio: string;
|
|
211
|
+
safetyRatio?: string;
|
|
210
212
|
leveragedType: LeverageType;
|
|
211
213
|
leveragedAsset?: string;
|
|
212
214
|
currentVolatilePairRatio?: string;
|
package/cjs/types/portfolio.d.ts
CHANGED
|
@@ -4,11 +4,11 @@ import { AaveRewardsClaimableToken, EthenaAirdropClaimableToken, KingRewardsClai
|
|
|
4
4
|
import { EthAddress } from './common';
|
|
5
5
|
import { CompoundV2MarketsData, CompoundV2PositionData, CompoundV3MarketsData, CompoundV3PositionData, CompoundVersions } from './compound';
|
|
6
6
|
import { CrvUSDGlobalMarketData, CrvUSDUserData, CrvUSDVersions } from './curveUsd';
|
|
7
|
-
import { FluidEarnPositionData, FluidVaultData } from './fluid';
|
|
7
|
+
import { FluidEarnPositionData, FluidMarketData, FluidVaultData } from './fluid';
|
|
8
8
|
import { LiquityStakingData, LiquityTroveInfo } from './liquity';
|
|
9
|
-
import { LiquityV2MarketData, LiquityV2SBoldYBoldData, LiquityV2StakingData, LiquityV2Versions } from './liquityV2';
|
|
9
|
+
import { LiquityV2MarketData, LiquityV2SBoldYBoldData, LiquityV2StakingData, LiquityV2TroveData, LiquityV2Versions } from './liquityV2';
|
|
10
10
|
import { LlamaLendGlobalMarketData, LlamaLendUserData, LlamaLendVersionsType } from './llamaLend';
|
|
11
|
-
import { CdpData } from './maker';
|
|
11
|
+
import { CdpData, IlkInfo } from './maker';
|
|
12
12
|
import { MorphoBlueEarnData, MorphoBlueMarketInfo, MorphoBluePositionData, MorphoBlueVersions } from './morphoBlue';
|
|
13
13
|
import { MorphoMidnightMarketInfo, MorphoMidnightPositionData, MorphoMidnightVersions } from './morphoMidnight';
|
|
14
14
|
import { SparkMarketsData, SparkPositionData, SparkVersions } from './spark';
|
|
@@ -21,12 +21,26 @@ export interface PortfolioProtocolError {
|
|
|
21
21
|
error: string;
|
|
22
22
|
data: null;
|
|
23
23
|
}
|
|
24
|
-
/** What getPortfolioData reads besides
|
|
24
|
+
/** What getPortfolioData reads besides markets. */
|
|
25
25
|
export interface PortfolioDataOptions {
|
|
26
|
-
/**
|
|
26
|
+
/** positions (lending); default true. With false it comes back as {} and no lending position is read. */
|
|
27
|
+
positions?: boolean;
|
|
28
|
+
/** stakingPositions; default true. With false it comes back as {} and no staking source is read. */
|
|
27
29
|
staking?: boolean;
|
|
28
|
-
/** rewardsData;
|
|
30
|
+
/** rewardsData; default true. With false it comes back as {} and no rewards source is read. */
|
|
29
31
|
rewards?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Liquity V2 troves in positions[address].liquityV2; default false, as the DeFi Saver app reads them on its own.
|
|
34
|
+
* Mainnet only: elsewhere liquityV2 is {}. Needs positions.
|
|
35
|
+
*/
|
|
36
|
+
liquityV2?: boolean;
|
|
37
|
+
}
|
|
38
|
+
/** One Liquity V2 market's troves of an address, by trove id — with an error when the ids or any trove failed to load. */
|
|
39
|
+
export interface PortfolioLiquityV2Troves {
|
|
40
|
+
error: string;
|
|
41
|
+
data: {
|
|
42
|
+
[troveId: string]: LiquityV2TroveData;
|
|
43
|
+
};
|
|
30
44
|
}
|
|
31
45
|
export interface PortfolioPositionsDataForAddress {
|
|
32
46
|
aaveV3: {
|
|
@@ -69,6 +83,10 @@ export interface PortfolioPositionsDataForAddress {
|
|
|
69
83
|
aaveV4: {
|
|
70
84
|
[key in AaveV4SpokesType]?: PortfolioProtocolData<AaveV4AccountData>;
|
|
71
85
|
};
|
|
86
|
+
/** Only with the liquityV2 option. Every trove the address holds, by market. */
|
|
87
|
+
liquityV2?: {
|
|
88
|
+
[key in LiquityV2Versions]?: PortfolioLiquityV2Troves;
|
|
89
|
+
};
|
|
72
90
|
}
|
|
73
91
|
export interface PortfolioPositionsData {
|
|
74
92
|
[key: EthAddress]: PortfolioPositionsDataForAddress;
|
|
@@ -137,3 +155,43 @@ export interface PortfolioMarketsData {
|
|
|
137
155
|
liquityV2MarketsData: Record<string, LiquityV2MarketData>;
|
|
138
156
|
aaveV4SpokesData: Record<string, AaveV4SpokeData>;
|
|
139
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* The `markets` getShifterPortfolioData returns: the portfolio's markets, plus Fluid's and Maker's, which the shifter
|
|
160
|
+
* offers as destinations. Kept apart from PortfolioMarketsData, which getPortfolioData does not fill these into.
|
|
161
|
+
*/
|
|
162
|
+
export interface ShifterPortfolioMarketsData extends PortfolioMarketsData {
|
|
163
|
+
fluidMarketsData: Record<string, FluidMarketData>;
|
|
164
|
+
makerMarketsData: Record<string, IlkInfo>;
|
|
165
|
+
}
|
|
166
|
+
/** The markets that could not be read, by their key in PortfolioMarketsData, then by market or spoke: the error. */
|
|
167
|
+
export type PortfolioMarketsErrors = {
|
|
168
|
+
[key in keyof PortfolioMarketsData]?: Record<string, string>;
|
|
169
|
+
};
|
|
170
|
+
/**
|
|
171
|
+
* What the portfolio fetch could not read and has no `{ error, data }` entry of its own to report it in. A key is
|
|
172
|
+
* present only when something under it failed; {} when everything was read.
|
|
173
|
+
*/
|
|
174
|
+
export interface PortfolioErrors {
|
|
175
|
+
/** Markets missing from `markets`; every position on such a market is an entry with an error. */
|
|
176
|
+
markets?: PortfolioMarketsErrors;
|
|
177
|
+
/** Addresses whose Maker vault list could not be read: their `maker` is {}, which would otherwise read as "no vaults". */
|
|
178
|
+
makerCdps?: Record<EthAddress, string>;
|
|
179
|
+
}
|
|
180
|
+
/** getPortfolioMarketsData's result. */
|
|
181
|
+
export interface PortfolioMarketsResult {
|
|
182
|
+
/** Every market read; one that failed is missing and named in `errors`. */
|
|
183
|
+
markets: PortfolioMarketsData;
|
|
184
|
+
errors: PortfolioMarketsErrors;
|
|
185
|
+
}
|
|
186
|
+
/** getPortfolioUserData's result: what is read per address. */
|
|
187
|
+
export interface PortfolioUserData {
|
|
188
|
+
positions: PortfolioPositionsData;
|
|
189
|
+
stakingPositions: PortfolioStakingPositionsData;
|
|
190
|
+
rewardsData: PortfolioRewardsData;
|
|
191
|
+
errors: Pick<PortfolioErrors, 'makerCdps'>;
|
|
192
|
+
}
|
|
193
|
+
/** getPortfolioData's result. */
|
|
194
|
+
export interface PortfolioData extends Omit<PortfolioUserData, 'errors'> {
|
|
195
|
+
markets: PortfolioMarketsData;
|
|
196
|
+
errors: PortfolioErrors;
|
|
197
|
+
}
|
|
@@ -20,4 +20,12 @@ export interface SavingsVaultData {
|
|
|
20
20
|
asset: string;
|
|
21
21
|
optionType: string;
|
|
22
22
|
}
|
|
23
|
-
|
|
23
|
+
/** The key of every savings vault getSavingsData reads. */
|
|
24
|
+
export type SavingsVaultKey = MorphoVaultType | YearnVaultType | MakerDsrType | SkySavingsType | SparkSavingsVaultType | SummerVaultType | YearnV3VaultType;
|
|
25
|
+
export type SavingsData = Partial<Record<SavingsVaultKey, SavingsVaultData>>;
|
|
26
|
+
/** Why each vault that was read for a network came back without data. */
|
|
27
|
+
export type SavingsErrors = Partial<Record<SavingsVaultKey, string>>;
|
|
28
|
+
export interface SavingsDataWithErrors {
|
|
29
|
+
data: SavingsData;
|
|
30
|
+
errors: SavingsErrors;
|
|
31
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EthAddress } from '../common';
|
|
1
|
+
import { EthAddress, NetworkNumber } from '../common';
|
|
2
2
|
export declare enum MorphoVaultType {
|
|
3
3
|
MorphoVaultFlagshipEth = "morpho_vault_flagship_eth",
|
|
4
4
|
MorphoVaultGauntletUSDCCore = "morpho_vault_gauntlet_usdc_core",
|
|
@@ -17,13 +17,21 @@ export declare enum MorphoVaultType {
|
|
|
17
17
|
MorphoVaultSteakhousePYUSD = "morpho_vault_steakhouse_pyusd",
|
|
18
18
|
MorphoVaultSmokehouseUSDT = "morpho_vault_smokehouse_usdt",
|
|
19
19
|
MorphoVaultSmokehouseUSDC = "morpho_vault_smokehouse_usdc",
|
|
20
|
-
MorphoVaultSmokehouseDAI = "morpho_vault_smokehouse_dai"
|
|
20
|
+
MorphoVaultSmokehouseDAI = "morpho_vault_smokehouse_dai",
|
|
21
|
+
MorphoVaultGauntletUSDGPremium = "morpho_vault_gauntlet_usdg_premium",
|
|
22
|
+
MorphoVaultSteakhouseUSDGPro = "morpho_vault_steakhouse_usdg_pro"
|
|
23
|
+
}
|
|
24
|
+
export declare enum MorphoVaultVersion {
|
|
25
|
+
V1 = 1,
|
|
26
|
+
V2 = 2
|
|
21
27
|
}
|
|
22
28
|
export interface MorphoVault {
|
|
23
29
|
type: MorphoVaultType;
|
|
24
30
|
name: string;
|
|
25
31
|
address: EthAddress;
|
|
26
32
|
asset: string;
|
|
33
|
+
network: NetworkNumber;
|
|
34
|
+
version: MorphoVaultVersion;
|
|
27
35
|
deploymentBlock: number;
|
|
28
36
|
isLegacy: boolean;
|
|
29
37
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MorphoVaultType = void 0;
|
|
3
|
+
exports.MorphoVaultVersion = exports.MorphoVaultType = void 0;
|
|
4
4
|
var MorphoVaultType;
|
|
5
5
|
(function (MorphoVaultType) {
|
|
6
6
|
MorphoVaultType["MorphoVaultFlagshipEth"] = "morpho_vault_flagship_eth";
|
|
@@ -23,4 +23,12 @@ var MorphoVaultType;
|
|
|
23
23
|
MorphoVaultType["MorphoVaultSmokehouseUSDT"] = "morpho_vault_smokehouse_usdt";
|
|
24
24
|
MorphoVaultType["MorphoVaultSmokehouseUSDC"] = "morpho_vault_smokehouse_usdc";
|
|
25
25
|
MorphoVaultType["MorphoVaultSmokehouseDAI"] = "morpho_vault_smokehouse_dai";
|
|
26
|
+
// Vault V2
|
|
27
|
+
MorphoVaultType["MorphoVaultGauntletUSDGPremium"] = "morpho_vault_gauntlet_usdg_premium";
|
|
28
|
+
MorphoVaultType["MorphoVaultSteakhouseUSDGPro"] = "morpho_vault_steakhouse_usdg_pro";
|
|
26
29
|
})(MorphoVaultType || (exports.MorphoVaultType = MorphoVaultType = {}));
|
|
30
|
+
var MorphoVaultVersion;
|
|
31
|
+
(function (MorphoVaultVersion) {
|
|
32
|
+
MorphoVaultVersion[MorphoVaultVersion["V1"] = 1] = "V1";
|
|
33
|
+
MorphoVaultVersion[MorphoVaultVersion["V2"] = 2] = "V2";
|
|
34
|
+
})(MorphoVaultVersion || (exports.MorphoVaultVersion = MorphoVaultVersion = {}));
|
package/cjs/types/spark.d.ts
CHANGED
|
@@ -100,6 +100,7 @@ export interface SparkAggregatedPositionData {
|
|
|
100
100
|
leftToBorrowUsd: string;
|
|
101
101
|
ratio: string;
|
|
102
102
|
collRatio: string;
|
|
103
|
+
safetyRatio: string;
|
|
103
104
|
netApy: string;
|
|
104
105
|
incentiveUsd: string;
|
|
105
106
|
totalInterestUsd: string;
|
|
@@ -124,6 +125,7 @@ export interface SparkPositionData extends MMPositionData, SparkPositionAggregat
|
|
|
124
125
|
ratio: string;
|
|
125
126
|
minRatio: string;
|
|
126
127
|
collRatio: string;
|
|
128
|
+
safetyRatio?: string;
|
|
127
129
|
suppliedUsd: string;
|
|
128
130
|
borrowedUsd: string;
|
|
129
131
|
borrowLimitUsd: string;
|