@defisaver/positions-sdk 2.1.160-shifter-v2-dev → 2.1.161-aave-3.7-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 +0 -2
- package/cjs/aaveV3/index.js +7 -1
- package/cjs/curveUsd/index.d.ts +2 -5
- package/cjs/curveUsd/index.js +15 -30
- package/cjs/fluid/index.d.ts +0 -5
- package/cjs/fluid/index.js +1 -36
- package/cjs/helpers/aaveHelpers/index.d.ts +9 -1
- package/cjs/helpers/aaveHelpers/index.js +23 -9
- package/cjs/helpers/aaveV4Helpers/index.js +0 -1
- package/cjs/helpers/compoundHelpers/index.js +0 -2
- package/cjs/helpers/curveUsdHelpers/index.d.ts +1 -3
- package/cjs/helpers/curveUsdHelpers/index.js +2 -16
- package/cjs/helpers/fluidHelpers/index.js +0 -1
- package/cjs/helpers/liquityV2Helpers/index.js +0 -1
- package/cjs/helpers/llamaLendHelpers/index.js +0 -2
- package/cjs/helpers/makerHelpers/index.d.ts +1 -1
- package/cjs/helpers/makerHelpers/index.js +2 -2
- package/cjs/helpers/morphoBlueHelpers/index.js +0 -2
- package/cjs/helpers/morphoMidnightHelpers/index.js +0 -2
- package/cjs/helpers/sparkHelpers/index.js +0 -1
- package/cjs/liquity/index.js +2 -16
- package/cjs/maker/index.d.ts +2 -7
- package/cjs/maker/index.js +12 -45
- package/cjs/markets/index.d.ts +0 -1
- package/cjs/markets/index.js +1 -3
- package/cjs/portfolio/index.d.ts +1 -5
- package/cjs/portfolio/index.js +2 -274
- package/cjs/savings/index.js +5 -2
- 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 +0 -20
- package/cjs/staking/staking.js +1 -19
- package/cjs/types/aave.d.ts +1 -2
- package/cjs/types/aaveV4.d.ts +0 -1
- package/cjs/types/compound.d.ts +0 -2
- package/cjs/types/curveUsd.d.ts +0 -6
- package/cjs/types/fluid.d.ts +0 -1
- package/cjs/types/liquity.d.ts +0 -4
- package/cjs/types/liquityV2.d.ts +0 -2
- package/cjs/types/maker.d.ts +0 -4
- package/cjs/types/morphoBlue.d.ts +0 -2
- package/cjs/types/morphoMidnight.d.ts +0 -1
- package/cjs/types/portfolio.d.ts +10 -26
- package/cjs/types/savings/morphoVaults.d.ts +10 -2
- package/cjs/types/savings/morphoVaults.js +9 -1
- package/cjs/types/spark.d.ts +0 -2
- package/esm/aaveV2/index.js +0 -2
- package/esm/aaveV3/index.js +7 -1
- package/esm/curveUsd/index.d.ts +2 -5
- package/esm/curveUsd/index.js +15 -30
- package/esm/fluid/index.d.ts +0 -5
- package/esm/fluid/index.js +0 -33
- package/esm/helpers/aaveHelpers/index.d.ts +9 -1
- package/esm/helpers/aaveHelpers/index.js +20 -8
- package/esm/helpers/aaveV4Helpers/index.js +0 -1
- package/esm/helpers/compoundHelpers/index.js +0 -2
- package/esm/helpers/curveUsdHelpers/index.d.ts +1 -3
- package/esm/helpers/curveUsdHelpers/index.js +2 -16
- package/esm/helpers/fluidHelpers/index.js +0 -1
- package/esm/helpers/liquityV2Helpers/index.js +0 -1
- package/esm/helpers/llamaLendHelpers/index.js +0 -2
- package/esm/helpers/makerHelpers/index.d.ts +1 -1
- package/esm/helpers/makerHelpers/index.js +2 -2
- package/esm/helpers/morphoBlueHelpers/index.js +0 -2
- package/esm/helpers/morphoMidnightHelpers/index.js +0 -2
- package/esm/helpers/sparkHelpers/index.js +0 -1
- package/esm/liquity/index.js +2 -16
- package/esm/maker/index.d.ts +2 -7
- package/esm/maker/index.js +13 -44
- package/esm/markets/index.d.ts +0 -1
- package/esm/markets/index.js +0 -1
- package/esm/portfolio/index.d.ts +1 -5
- package/esm/portfolio/index.js +5 -276
- package/esm/savings/index.js +5 -2
- 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 +0 -20
- package/esm/staking/staking.js +0 -17
- package/esm/types/aave.d.ts +1 -2
- package/esm/types/aaveV4.d.ts +0 -1
- package/esm/types/compound.d.ts +0 -2
- package/esm/types/curveUsd.d.ts +0 -6
- package/esm/types/fluid.d.ts +0 -1
- package/esm/types/liquity.d.ts +0 -4
- package/esm/types/liquityV2.d.ts +0 -2
- package/esm/types/maker.d.ts +0 -4
- package/esm/types/morphoBlue.d.ts +0 -2
- package/esm/types/morphoMidnight.d.ts +0 -1
- package/esm/types/portfolio.d.ts +10 -26
- package/esm/types/savings/morphoVaults.d.ts +10 -2
- package/esm/types/savings/morphoVaults.js +8 -0
- package/esm/types/spark.d.ts +0 -2
- package/package.json +1 -1
- package/src/aaveV2/index.ts +0 -2
- package/src/aaveV3/index.ts +6 -1
- package/src/curveUsd/index.ts +16 -33
- package/src/fluid/index.ts +0 -40
- package/src/helpers/aaveHelpers/index.ts +24 -10
- package/src/helpers/aaveV4Helpers/index.ts +0 -1
- package/src/helpers/compoundHelpers/index.ts +0 -2
- package/src/helpers/curveUsdHelpers/index.ts +2 -23
- package/src/helpers/fluidHelpers/index.ts +0 -1
- package/src/helpers/liquityV2Helpers/index.ts +0 -1
- package/src/helpers/llamaLendHelpers/index.ts +0 -2
- package/src/helpers/makerHelpers/index.ts +1 -2
- package/src/helpers/morphoBlueHelpers/index.ts +0 -2
- package/src/helpers/morphoMidnightHelpers/index.ts +0 -2
- package/src/helpers/sparkHelpers/index.ts +0 -1
- package/src/liquity/index.ts +2 -17
- package/src/maker/index.ts +29 -77
- package/src/markets/index.ts +1 -2
- package/src/portfolio/index.ts +4 -259
- package/src/savings/index.ts +5 -2
- 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 +0 -28
- package/src/types/aave.ts +1 -3
- package/src/types/aaveV4.ts +0 -1
- package/src/types/compound.ts +0 -2
- package/src/types/curveUsd.ts +0 -7
- package/src/types/fluid.ts +0 -1
- package/src/types/liquity.ts +0 -6
- package/src/types/liquityV2.ts +0 -2
- package/src/types/maker.ts +0 -6
- package/src/types/morphoBlue.ts +0 -2
- package/src/types/morphoMidnight.ts +0 -1
- package/src/types/portfolio.ts +12 -31
- package/src/types/savings/morphoVaults.ts +11 -1
- package/src/types/spark.ts +0 -2
- package/cjs/markets/maker/index.d.ts +0 -1
- package/cjs/markets/maker/index.js +0 -13
- package/esm/markets/maker/index.d.ts +0 -1
- package/esm/markets/maker/index.js +0 -10
- package/src/markets/maker/index.ts +0 -10
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
MorphoVault, MorphoVaultType, MorphoVaultVersion, NetworkNumber,
|
|
3
|
+
} from '../../types';
|
|
2
4
|
|
|
3
5
|
export const MORPHO_VAULT_FLAGSHIP_ETH: MorphoVault = {
|
|
4
6
|
type: MorphoVaultType.MorphoVaultFlagshipEth,
|
|
5
7
|
name: 'Flagship ETH',
|
|
6
8
|
address: '0x38989BBA00BDF8181F4082995b3DEAe96163aC5D',
|
|
7
9
|
asset: 'WETH',
|
|
10
|
+
network: NetworkNumber.Eth,
|
|
11
|
+
version: MorphoVaultVersion.V1,
|
|
8
12
|
deploymentBlock: 18927491,
|
|
9
13
|
isLegacy: true,
|
|
10
14
|
};
|
|
@@ -14,6 +18,8 @@ export const MORPHO_VAULT_GAUNTLET_USDC_CORE: MorphoVault = {
|
|
|
14
18
|
name: 'Gauntlet USDC Core',
|
|
15
19
|
address: '0x8eB67A509616cd6A7c1B3c8C21D48FF57df3d458',
|
|
16
20
|
asset: 'USDC',
|
|
21
|
+
network: NetworkNumber.Eth,
|
|
22
|
+
version: MorphoVaultVersion.V1,
|
|
17
23
|
deploymentBlock: 19777569,
|
|
18
24
|
isLegacy: true,
|
|
19
25
|
};
|
|
@@ -23,6 +29,8 @@ export const MORPHO_VAULT_GAUNTLET_USDC_PRIME: MorphoVault = {
|
|
|
23
29
|
name: 'Gauntlet USDC Prime',
|
|
24
30
|
address: '0xdd0f28e19C1780eb6396170735D45153D261490d',
|
|
25
31
|
asset: 'USDC',
|
|
32
|
+
network: NetworkNumber.Eth,
|
|
33
|
+
version: MorphoVaultVersion.V1,
|
|
26
34
|
deploymentBlock: 19777569,
|
|
27
35
|
isLegacy: true,
|
|
28
36
|
};
|
|
@@ -32,6 +40,8 @@ export const MORPHO_VAULT_RE7_WETH: MorphoVault = {
|
|
|
32
40
|
name: 'RE7 WETH',
|
|
33
41
|
address: '0x78Fc2c2eD1A4cDb5402365934aE5648aDAd094d0',
|
|
34
42
|
asset: 'WETH',
|
|
43
|
+
network: NetworkNumber.Eth,
|
|
44
|
+
version: MorphoVaultVersion.V1,
|
|
35
45
|
deploymentBlock: 19121118,
|
|
36
46
|
isLegacy: true,
|
|
37
47
|
};
|
|
@@ -41,6 +51,8 @@ export const MORPHO_VAULT_GAUNTLET_WETH_CORE: MorphoVault = {
|
|
|
41
51
|
name: 'Gauntlet WETH Core',
|
|
42
52
|
address: '0x4881Ef0BF6d2365D3dd6499ccd7532bcdBCE0658',
|
|
43
53
|
asset: 'WETH',
|
|
54
|
+
network: NetworkNumber.Eth,
|
|
55
|
+
version: MorphoVaultVersion.V1,
|
|
44
56
|
deploymentBlock: 19541126,
|
|
45
57
|
isLegacy: true,
|
|
46
58
|
};
|
|
@@ -50,6 +62,8 @@ export const MORPHO_VAULT_GAUNTLET_WETH_PRIME: MorphoVault = {
|
|
|
50
62
|
name: 'Gauntlet WETH Prime',
|
|
51
63
|
address: '0x2371e134e3455e0593363cBF89d3b6cf53740618',
|
|
52
64
|
asset: 'WETH',
|
|
65
|
+
network: NetworkNumber.Eth,
|
|
66
|
+
version: MorphoVaultVersion.V1,
|
|
53
67
|
deploymentBlock: 19372149,
|
|
54
68
|
isLegacy: true,
|
|
55
69
|
};
|
|
@@ -59,6 +73,8 @@ export const MORPHO_VAULT_BOOSTED_USDC: MorphoVault = {
|
|
|
59
73
|
name: 'Boosted USDC',
|
|
60
74
|
address: '0xd63070114470f685b75B74D60EEc7c1113d33a3D',
|
|
61
75
|
asset: 'USDC',
|
|
76
|
+
network: NetworkNumber.Eth,
|
|
77
|
+
version: MorphoVaultVersion.V1,
|
|
62
78
|
deploymentBlock: 20377233,
|
|
63
79
|
isLegacy: true,
|
|
64
80
|
};
|
|
@@ -68,6 +84,8 @@ export const MORPHO_VAULT_FLAGSHIP_USDT: MorphoVault = {
|
|
|
68
84
|
name: 'Flagship USDT',
|
|
69
85
|
address: '0x2C25f6C25770fFEC5959D34B94Bf898865e5D6b1',
|
|
70
86
|
asset: 'USDT',
|
|
87
|
+
network: NetworkNumber.Eth,
|
|
88
|
+
version: MorphoVaultVersion.V1,
|
|
71
89
|
deploymentBlock: 19127039,
|
|
72
90
|
isLegacy: true,
|
|
73
91
|
};
|
|
@@ -77,6 +95,8 @@ export const MORPHO_VAULT_GAUNTLET_USDA_CORE: MorphoVault = {
|
|
|
77
95
|
name: 'Gauntlet USDA Core',
|
|
78
96
|
address: '0x125D41A6e5dbf455cD9Df8F80BCC6fd172D52Cc6',
|
|
79
97
|
asset: 'USDA',
|
|
98
|
+
network: NetworkNumber.Eth,
|
|
99
|
+
version: MorphoVaultVersion.V1,
|
|
80
100
|
deploymentBlock: 19633608,
|
|
81
101
|
isLegacy: true,
|
|
82
102
|
};
|
|
@@ -86,6 +106,8 @@ export const MORPHO_VAULT_GAUNTLET_USDT_PRIME: MorphoVault = {
|
|
|
86
106
|
name: 'Gauntlet USDT Prime',
|
|
87
107
|
address: '0x8CB3649114051cA5119141a34C200D65dc0Faa73',
|
|
88
108
|
asset: 'USDT',
|
|
109
|
+
network: NetworkNumber.Eth,
|
|
110
|
+
version: MorphoVaultVersion.V1,
|
|
89
111
|
deploymentBlock: 19486541,
|
|
90
112
|
isLegacy: true,
|
|
91
113
|
};
|
|
@@ -95,6 +117,8 @@ export const MORPHO_VAULT_GAUNTLET_RESOLV_USDC: MorphoVault = {
|
|
|
95
117
|
name: 'Gauntlet Resolv USDC',
|
|
96
118
|
address: '0x132E6C9C33A62D7727cd359b1f51e5B566E485Eb',
|
|
97
119
|
asset: 'USDC',
|
|
120
|
+
network: NetworkNumber.Eth,
|
|
121
|
+
version: MorphoVaultVersion.V1,
|
|
98
122
|
deploymentBlock: 21487882,
|
|
99
123
|
isLegacy: true,
|
|
100
124
|
};
|
|
@@ -106,6 +130,8 @@ export const MORPHO_VAULT_STEAKHOUSE_USDT: MorphoVault = {
|
|
|
106
130
|
name: 'Steakhouse USDT',
|
|
107
131
|
address: '0xbEef047a543E45807105E51A8BBEFCc5950fcfBa',
|
|
108
132
|
asset: 'USDT',
|
|
133
|
+
network: NetworkNumber.Eth,
|
|
134
|
+
version: MorphoVaultVersion.V1,
|
|
109
135
|
deploymentBlock: 19043398,
|
|
110
136
|
isLegacy: false,
|
|
111
137
|
};
|
|
@@ -115,6 +141,8 @@ export const MORPHO_VAULT_STEAKHOUSE_USDC: MorphoVault = {
|
|
|
115
141
|
name: 'Steakhouse USDC',
|
|
116
142
|
address: '0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB',
|
|
117
143
|
asset: 'USDC',
|
|
144
|
+
network: NetworkNumber.Eth,
|
|
145
|
+
version: MorphoVaultVersion.V1,
|
|
118
146
|
deploymentBlock: 18928285,
|
|
119
147
|
isLegacy: false,
|
|
120
148
|
};
|
|
@@ -124,6 +152,8 @@ export const MORPHO_VAULT_STEAKHOUSE_ETH: MorphoVault = {
|
|
|
124
152
|
name: 'Steakhouse WETH',
|
|
125
153
|
address: '0xBEEf050ecd6a16c4e7bfFbB52Ebba7846C4b8cD4',
|
|
126
154
|
asset: 'WETH',
|
|
155
|
+
network: NetworkNumber.Eth,
|
|
156
|
+
version: MorphoVaultVersion.V1,
|
|
127
157
|
deploymentBlock: 19380443,
|
|
128
158
|
isLegacy: false,
|
|
129
159
|
};
|
|
@@ -133,6 +163,8 @@ export const MORPHO_VAULT_STEAKHOUSE_PYUSD: MorphoVault = {
|
|
|
133
163
|
name: 'Steakhouse PYUSD',
|
|
134
164
|
address: '0xbEEF02e5E13584ab96848af90261f0C8Ee04722a',
|
|
135
165
|
asset: 'PYUSD',
|
|
166
|
+
network: NetworkNumber.Eth,
|
|
167
|
+
version: MorphoVaultVersion.V1,
|
|
136
168
|
deploymentBlock: 19043398,
|
|
137
169
|
isLegacy: false,
|
|
138
170
|
};
|
|
@@ -144,6 +176,8 @@ export const MORPHO_VAULT_SMOKEHOUSE_USDT: MorphoVault = {
|
|
|
144
176
|
name: 'Smokehouse USDT',
|
|
145
177
|
address: '0xA0804346780b4c2e3bE118ac957D1DB82F9d7484',
|
|
146
178
|
asset: 'USDT',
|
|
179
|
+
network: NetworkNumber.Eth,
|
|
180
|
+
version: MorphoVaultVersion.V1,
|
|
147
181
|
deploymentBlock: 21522238,
|
|
148
182
|
isLegacy: false,
|
|
149
183
|
};
|
|
@@ -153,6 +187,8 @@ export const MORPHO_VAULT_SMOKEHOUSE_USDC: MorphoVault = {
|
|
|
153
187
|
name: 'Smokehouse USDC',
|
|
154
188
|
address: '0xBEeFFF209270748ddd194831b3fa287a5386f5bC',
|
|
155
189
|
asset: 'USDC',
|
|
190
|
+
network: NetworkNumber.Eth,
|
|
191
|
+
version: MorphoVaultVersion.V1,
|
|
156
192
|
deploymentBlock: 21337719,
|
|
157
193
|
isLegacy: false,
|
|
158
194
|
};
|
|
@@ -162,10 +198,36 @@ export const MORPHO_VAULT_SMOKEHOUSE_DAI: MorphoVault = {
|
|
|
162
198
|
name: 'Smokehouse DAI',
|
|
163
199
|
address: '0xbeeFfF68CC520D68f82641EFF84330C631E2490E',
|
|
164
200
|
asset: 'DAI',
|
|
201
|
+
network: NetworkNumber.Eth,
|
|
202
|
+
version: MorphoVaultVersion.V1,
|
|
165
203
|
deploymentBlock: 21343808,
|
|
166
204
|
isLegacy: false,
|
|
167
205
|
};
|
|
168
206
|
|
|
207
|
+
// Vault V2
|
|
208
|
+
|
|
209
|
+
export const MORPHO_VAULT_GAUNTLET_USDG_PREMIUM: MorphoVault = {
|
|
210
|
+
type: MorphoVaultType.MorphoVaultGauntletUSDGPremium,
|
|
211
|
+
name: 'Gauntlet USDG Premium',
|
|
212
|
+
address: '0x390c1bb01F3F627144a40617e287d4cE3D5aBCfa',
|
|
213
|
+
asset: 'USDG',
|
|
214
|
+
network: NetworkNumber.Arb,
|
|
215
|
+
version: MorphoVaultVersion.V2,
|
|
216
|
+
deploymentBlock: 510799903,
|
|
217
|
+
isLegacy: false,
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
export const MORPHO_VAULT_STEAKHOUSE_USDG_PRO: MorphoVault = {
|
|
221
|
+
type: MorphoVaultType.MorphoVaultSteakhouseUSDGPro,
|
|
222
|
+
name: 'Steakhouse USDG Pro',
|
|
223
|
+
address: '0xbeeFf72B77e7584a450E887125F25E8D8819016a',
|
|
224
|
+
asset: 'USDG',
|
|
225
|
+
network: NetworkNumber.Arb,
|
|
226
|
+
version: MorphoVaultVersion.V2,
|
|
227
|
+
deploymentBlock: 512247107,
|
|
228
|
+
isLegacy: false,
|
|
229
|
+
};
|
|
230
|
+
|
|
169
231
|
export const MORPHO_VAULTS: Record<MorphoVaultType, MorphoVault> = {
|
|
170
232
|
[MorphoVaultType.MorphoVaultFlagshipEth]: MORPHO_VAULT_FLAGSHIP_ETH,
|
|
171
233
|
[MorphoVaultType.MorphoVaultGauntletUSDCCore]: MORPHO_VAULT_GAUNTLET_USDC_CORE,
|
|
@@ -189,6 +251,10 @@ export const MORPHO_VAULTS: Record<MorphoVaultType, MorphoVault> = {
|
|
|
189
251
|
[MorphoVaultType.MorphoVaultSmokehouseUSDT]: MORPHO_VAULT_SMOKEHOUSE_USDT,
|
|
190
252
|
[MorphoVaultType.MorphoVaultSmokehouseUSDC]: MORPHO_VAULT_SMOKEHOUSE_USDC,
|
|
191
253
|
[MorphoVaultType.MorphoVaultSmokehouseDAI]: MORPHO_VAULT_SMOKEHOUSE_DAI,
|
|
254
|
+
|
|
255
|
+
// Vault V2
|
|
256
|
+
[MorphoVaultType.MorphoVaultGauntletUSDGPremium]: MORPHO_VAULT_GAUNTLET_USDG_PREMIUM,
|
|
257
|
+
[MorphoVaultType.MorphoVaultSteakhouseUSDGPro]: MORPHO_VAULT_STEAKHOUSE_USDG_PRO,
|
|
192
258
|
};
|
|
193
259
|
|
|
194
260
|
export const getMorphoVault = (type: MorphoVaultType): MorphoVault => MORPHO_VAULTS[type];
|
package/src/spark/index.ts
CHANGED
|
@@ -108,6 +108,7 @@ export const _getSparkMarketsData = async (provider: Client, network: NetworkNum
|
|
|
108
108
|
collateralAssets: eModeCategoriesData[emodeCategoryId] ? [...eModeCategoriesData[emodeCategoryId].collateralAssets, selectedMarket.assets[i]] : [selectedMarket.assets[i]],
|
|
109
109
|
borrowAssets: eModeCategoriesData[emodeCategoryId] ? [...eModeCategoriesData[emodeCategoryId].borrowAssets, selectedMarket.assets[i]] : [selectedMarket.assets[i]],
|
|
110
110
|
ltvZeroAssets: [],
|
|
111
|
+
isolated: false,
|
|
111
112
|
};
|
|
112
113
|
|
|
113
114
|
return ({
|
package/src/staking/staking.ts
CHANGED
|
@@ -137,34 +137,6 @@ export const calculateInterestEarned = (principal: string, interest: string, typ
|
|
|
137
137
|
return (+principal * (((1 + (+interest / 100) / BLOCKS_IN_A_YEAR)) ** (BLOCKS_IN_A_YEAR * interval))) - +principal; // eslint-disable-line
|
|
138
138
|
};
|
|
139
139
|
|
|
140
|
-
/**
|
|
141
|
-
* Net APY for positions that have a single known borrow rate (and optionally a single supply rate)
|
|
142
|
-
* instead of per-asset `assetsData` to feed into `calculateNetApy` (Maker, crvUSD, Liquity v1).
|
|
143
|
-
* All rates are yearly percentages that are already compounded. `incentives` are extra yields
|
|
144
|
-
* (e.g. the native staking yield of the collateral) applied to their own USD base and summed into `incentiveUsd`.
|
|
145
|
-
*/
|
|
146
|
-
export const calculateNetApyFromRates = ({
|
|
147
|
-
suppliedUsd, borrowedUsd, supplyRate = '0', borrowRate = '0', incentives = [],
|
|
148
|
-
}: {
|
|
149
|
-
suppliedUsd: string,
|
|
150
|
-
borrowedUsd: string,
|
|
151
|
-
supplyRate?: string,
|
|
152
|
-
borrowRate?: string,
|
|
153
|
-
incentives?: { apy: string, amountUsd: string }[],
|
|
154
|
-
}) => {
|
|
155
|
-
const supplyInterest = new Dec(calculateInterestEarned(suppliedUsd, supplyRate, 'year', true));
|
|
156
|
-
const borrowInterest = new Dec(calculateInterestEarned(borrowedUsd, borrowRate, 'year', true));
|
|
157
|
-
const incentiveUsd = incentives
|
|
158
|
-
.reduce((acc, { apy, amountUsd }) => acc.add(calculateInterestEarned(amountUsd, apy, 'year', true)), new Dec(0))
|
|
159
|
-
.toString();
|
|
160
|
-
|
|
161
|
-
const totalInterestUsd = supplyInterest.sub(borrowInterest).add(incentiveUsd).toString();
|
|
162
|
-
const balance = new Dec(suppliedUsd).sub(borrowedUsd);
|
|
163
|
-
const netApy = balance.isZero() ? '0' : new Dec(totalInterestUsd).div(balance).times(100).toString();
|
|
164
|
-
|
|
165
|
-
return { netApy, totalInterestUsd, incentiveUsd };
|
|
166
|
-
};
|
|
167
|
-
|
|
168
140
|
export const calculateNetApy = ({
|
|
169
141
|
usedAssets, assetsData, optionalData,
|
|
170
142
|
}: { usedAssets: MMUsedAssets, assetsData: MMAssetsData, optionalData?: any }) => {
|
package/src/types/aave.ts
CHANGED
|
@@ -48,6 +48,7 @@ export interface EModeCategoryData {
|
|
|
48
48
|
borrowAssets: string[],
|
|
49
49
|
ltvzeroBitmap?: string,
|
|
50
50
|
ltvZeroAssets: string[],
|
|
51
|
+
isolated: boolean,
|
|
51
52
|
}
|
|
52
53
|
export interface EModeCategoryDataMapping {
|
|
53
54
|
enteringTerms: boolean[],
|
|
@@ -143,8 +144,6 @@ export interface AavePositionData extends MMPositionData {
|
|
|
143
144
|
collRatio: string,
|
|
144
145
|
// Safety ratio as evaluated by automation bots (LTV-0 collateral credited at LLTV - 5%). Aave v3 only.
|
|
145
146
|
safetyRatioWithLtvZeroFallback?: string,
|
|
146
|
-
// Normalised safety ratio (100 = liquidation on every protocol). Aave v3: the LTV-0 fallback ratio, Aave v2: `ratio`.
|
|
147
|
-
safetyRatio?: string,
|
|
148
147
|
suppliedUsd: string,
|
|
149
148
|
borrowedUsd: string,
|
|
150
149
|
borrowLimitUsd: string,
|
|
@@ -179,7 +178,6 @@ export interface AaveV3AggregatedPositionData {
|
|
|
179
178
|
collRatio: string,
|
|
180
179
|
borrowLimitWithLtvZeroFallbackUsd: string,
|
|
181
180
|
safetyRatioWithLtvZeroFallback: string,
|
|
182
|
-
safetyRatio: string,
|
|
183
181
|
netApy: string,
|
|
184
182
|
incentiveUsd: string,
|
|
185
183
|
totalInterestUsd: string,
|
package/src/types/aaveV4.ts
CHANGED
package/src/types/compound.ts
CHANGED
|
@@ -112,7 +112,6 @@ export interface CompoundAggregatedPositionData {
|
|
|
112
112
|
leftToBorrowUsd: string,
|
|
113
113
|
ratio: string,
|
|
114
114
|
collRatio: string,
|
|
115
|
-
safetyRatio: string,
|
|
116
115
|
netApy: string,
|
|
117
116
|
incentiveUsd: string,
|
|
118
117
|
totalInterestUsd: string,
|
|
@@ -133,7 +132,6 @@ export interface CompoundAggregatedPositionData {
|
|
|
133
132
|
export interface CompoundPositionData extends MMPositionData {
|
|
134
133
|
ratio: string,
|
|
135
134
|
minRatio: string,
|
|
136
|
-
safetyRatio?: string,
|
|
137
135
|
suppliedUsd: string,
|
|
138
136
|
borrowedUsd: string,
|
|
139
137
|
borrowLimitUsd: string,
|
package/src/types/curveUsd.ts
CHANGED
|
@@ -80,10 +80,6 @@ export interface CrvUSDAggregatedPositionData {
|
|
|
80
80
|
collFactor: string,
|
|
81
81
|
leveragedType: LeverageType,
|
|
82
82
|
exposure: string,
|
|
83
|
-
// Yearly net return (%) on the position's equity: market borrow rate on crvUSD debt vs native yield of staked collateral.
|
|
84
|
-
netApy: string,
|
|
85
|
-
totalInterestUsd: string,
|
|
86
|
-
incentiveUsd: string,
|
|
87
83
|
leveragedAsset?: string,
|
|
88
84
|
liquidationPrice?: string,
|
|
89
85
|
}
|
|
@@ -127,7 +123,4 @@ export interface CrvUSDUserData {
|
|
|
127
123
|
collateralPrice: string,
|
|
128
124
|
collRatio: string,
|
|
129
125
|
exposure: string,
|
|
130
|
-
netApy: string,
|
|
131
|
-
totalInterestUsd: string,
|
|
132
|
-
incentiveUsd: string,
|
|
133
126
|
}
|
package/src/types/fluid.ts
CHANGED
package/src/types/liquity.ts
CHANGED
|
@@ -26,13 +26,7 @@ export interface LiquityTroveInfo {
|
|
|
26
26
|
totalETH: string,
|
|
27
27
|
totalLUSD: string,
|
|
28
28
|
minCollateralRatio: number,
|
|
29
|
-
// Collateral ratio rebased so 100 sits on `minCollateralRatio` (normalised safety ratio).
|
|
30
|
-
safetyRatio: string,
|
|
31
29
|
priceForRecovery: string,
|
|
32
30
|
debtInFront: string,
|
|
33
31
|
exposure: string,
|
|
34
|
-
// Always '0' for Liquity v1: LUSD debt is interest free (one-off borrowing fee only) and ETH collateral earns no yield.
|
|
35
|
-
netApy: string,
|
|
36
|
-
totalInterestUsd: string,
|
|
37
|
-
incentiveUsd: string,
|
|
38
32
|
}
|
package/src/types/liquityV2.ts
CHANGED
|
@@ -104,7 +104,6 @@ export interface LiquityV2AggregatedTroveData {
|
|
|
104
104
|
liquidationPrice: string,
|
|
105
105
|
ratio: string,
|
|
106
106
|
collRatio: string,
|
|
107
|
-
safetyRatio: string,
|
|
108
107
|
exposure: string,
|
|
109
108
|
}
|
|
110
109
|
|
|
@@ -113,7 +112,6 @@ export interface LiquityV2TroveData {
|
|
|
113
112
|
troveId: string,
|
|
114
113
|
ratio: string,
|
|
115
114
|
collRatio: string,
|
|
116
|
-
safetyRatio?: string,
|
|
117
115
|
liqRatio: string,
|
|
118
116
|
borrowLimitRatio: string,
|
|
119
117
|
interestRate: string,
|
package/src/types/maker.ts
CHANGED
|
@@ -47,8 +47,6 @@ export interface CdpData {
|
|
|
47
47
|
debtAssetMarketPrice: string,
|
|
48
48
|
liquidationPrice: string,
|
|
49
49
|
ratio: string,
|
|
50
|
-
// Collateral ratio rebased so 100 sits on `liqPercent` (normalised safety ratio).
|
|
51
|
-
safetyRatio: string,
|
|
52
50
|
liqRatio: string,
|
|
53
51
|
liqPercent: number,
|
|
54
52
|
assetPrice: string,
|
|
@@ -64,8 +62,4 @@ export interface CdpData {
|
|
|
64
62
|
liquidationFee: string,
|
|
65
63
|
lastUpdated: number,
|
|
66
64
|
exposure: string,
|
|
67
|
-
// Yearly net return (%) on the vault's equity: stability fee on DAI debt vs native yield of staked collateral.
|
|
68
|
-
netApy: string,
|
|
69
|
-
totalInterestUsd: string,
|
|
70
|
-
incentiveUsd: string,
|
|
71
65
|
}
|
package/src/types/morphoBlue.ts
CHANGED
|
@@ -206,7 +206,6 @@ export interface MorphoBlueAggregatedPositionData {
|
|
|
206
206
|
totalInterestUsd: string,
|
|
207
207
|
ltv: string,
|
|
208
208
|
ratio: string,
|
|
209
|
-
safetyRatio: string, // borrowLimitUsd / borrowedUsd as a percentage (100 = liquidation)
|
|
210
209
|
leveragedType: LeverageType,
|
|
211
210
|
leveragedAsset?: string,
|
|
212
211
|
currentVolatilePairRatio?: string,
|
|
@@ -230,7 +229,6 @@ export interface MorphoBluePositionData {
|
|
|
230
229
|
totalInterestUsd: string,
|
|
231
230
|
ltv: string,
|
|
232
231
|
ratio: string,
|
|
233
|
-
safetyRatio?: string,
|
|
234
232
|
leveragedType: LeverageType,
|
|
235
233
|
leveragedAsset?: string,
|
|
236
234
|
currentVolatilePairRatio?: string,
|
|
@@ -191,7 +191,6 @@ export interface MorphoMidnightAggregatedPositionData {
|
|
|
191
191
|
ltv: string,
|
|
192
192
|
ratio: string, // health ratio as a percentage (from MidnightView.ratio, 1e18-scaled)
|
|
193
193
|
healthRatio: string, // liquidationLimitUsd / borrowedUsd
|
|
194
|
-
safetyRatio: string, // borrowLimitUsd / borrowedUsd as a percentage (100 = liquidation)
|
|
195
194
|
leveragedType: LeverageType,
|
|
196
195
|
leveragedAsset?: string,
|
|
197
196
|
currentVolatilePairRatio?: string,
|
package/src/types/portfolio.ts
CHANGED
|
@@ -1,20 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
} from './aave';
|
|
4
|
-
import { AaveV4AccountData, AaveV4SpokeData, AaveV4SpokesType } from './aaveV4';
|
|
1
|
+
import { AaveV2PositionData, AaveV3PositionData, AaveVersions } from './aave';
|
|
2
|
+
import { AaveV4AccountData, AaveV4SpokesType } from './aaveV4';
|
|
5
3
|
import { EthAddress } from './common';
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
} from './
|
|
9
|
-
import { CrvUSDGlobalMarketData, CrvUSDUserData, CrvUSDVersions } from './curveUsd';
|
|
10
|
-
import { FluidMarketData, FluidVaultData } from './fluid';
|
|
4
|
+
import { CompoundV2PositionData, CompoundV3PositionData, CompoundVersions } from './compound';
|
|
5
|
+
import { CrvUSDUserData, CrvUSDVersions } from './curveUsd';
|
|
6
|
+
import { FluidVaultData } from './fluid';
|
|
11
7
|
import { LiquityTroveInfo } from './liquity';
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { CdpData
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
8
|
+
import { LiquityV2TroveData, LiquityV2Versions } from './liquityV2';
|
|
9
|
+
import { LlamaLendUserData, LlamaLendVersionsType } from './llamaLend';
|
|
10
|
+
import { CdpData } from './maker';
|
|
11
|
+
import { MorphoBluePositionData, MorphoBlueVersions } from './morphoBlue';
|
|
12
|
+
import { MorphoMidnightPositionData, MorphoMidnightVersions } from './morphoMidnight';
|
|
13
|
+
import { SparkPositionData, SparkVersions } from './spark';
|
|
18
14
|
|
|
19
15
|
export interface PortfolioProtocolData<T> {
|
|
20
16
|
error: string,
|
|
@@ -66,19 +62,4 @@ export interface PortfolioPositionsDataForAddress {
|
|
|
66
62
|
|
|
67
63
|
export interface PortfolioPositionsData {
|
|
68
64
|
[key: EthAddress]: PortfolioPositionsDataForAddress;
|
|
69
|
-
}
|
|
70
|
-
export interface PortfolioMarketsData {
|
|
71
|
-
morphoMarketsData: Record<string, MorphoBlueMarketInfo>;
|
|
72
|
-
morphoMidnightMarketsData: Record<string, MorphoMidnightMarketInfo>;
|
|
73
|
-
compoundV3MarketsData: Record<string, CompoundV3MarketsData>;
|
|
74
|
-
sparkMarketsData: Record<string, SparkMarketsData>;
|
|
75
|
-
aaveV3MarketsData: Record<string, AaveV3MarketData>;
|
|
76
|
-
aaveV2MarketsData: Record<string, AaveV2MarketData>;
|
|
77
|
-
compoundV2MarketsData: Record<string, CompoundV2MarketsData>;
|
|
78
|
-
crvUsdMarketsData: Record<string, CrvUSDGlobalMarketData>;
|
|
79
|
-
llamaLendMarketsData: Record<string, LlamaLendGlobalMarketData>;
|
|
80
|
-
liquityV2MarketsData: Record<string, LiquityV2MarketData>;
|
|
81
|
-
aaveV4SpokesData: Record<string, AaveV4SpokeData>;
|
|
82
|
-
fluidMarketsData: Record<string, FluidMarketData>;
|
|
83
|
-
makerMarketsData: Record<string, IlkInfo>;
|
|
84
|
-
}
|
|
65
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EthAddress } from '../common';
|
|
1
|
+
import { EthAddress, NetworkNumber } from '../common';
|
|
2
2
|
|
|
3
3
|
export enum MorphoVaultType {
|
|
4
4
|
MorphoVaultFlagshipEth = 'morpho_vault_flagship_eth',
|
|
@@ -21,6 +21,14 @@ export enum MorphoVaultType {
|
|
|
21
21
|
MorphoVaultSmokehouseUSDT = 'morpho_vault_smokehouse_usdt',
|
|
22
22
|
MorphoVaultSmokehouseUSDC = 'morpho_vault_smokehouse_usdc',
|
|
23
23
|
MorphoVaultSmokehouseDAI = 'morpho_vault_smokehouse_dai',
|
|
24
|
+
// Vault V2
|
|
25
|
+
MorphoVaultGauntletUSDGPremium = 'morpho_vault_gauntlet_usdg_premium',
|
|
26
|
+
MorphoVaultSteakhouseUSDGPro = 'morpho_vault_steakhouse_usdg_pro',
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export enum MorphoVaultVersion {
|
|
30
|
+
V1 = 1,
|
|
31
|
+
V2 = 2,
|
|
24
32
|
}
|
|
25
33
|
|
|
26
34
|
export interface MorphoVault {
|
|
@@ -28,6 +36,8 @@ export interface MorphoVault {
|
|
|
28
36
|
name: string;
|
|
29
37
|
address: EthAddress;
|
|
30
38
|
asset: string;
|
|
39
|
+
network: NetworkNumber;
|
|
40
|
+
version: MorphoVaultVersion;
|
|
31
41
|
deploymentBlock: number;
|
|
32
42
|
isLegacy: boolean;
|
|
33
43
|
}
|
package/src/types/spark.ts
CHANGED
|
@@ -99,7 +99,6 @@ export interface SparkAggregatedPositionData {
|
|
|
99
99
|
leftToBorrowUsd: string,
|
|
100
100
|
ratio: string,
|
|
101
101
|
collRatio: string,
|
|
102
|
-
safetyRatio: string,
|
|
103
102
|
netApy: string,
|
|
104
103
|
incentiveUsd: string,
|
|
105
104
|
totalInterestUsd: string,
|
|
@@ -120,7 +119,6 @@ export interface SparkPositionData extends MMPositionData {
|
|
|
120
119
|
ratio: string,
|
|
121
120
|
minRatio: string,
|
|
122
121
|
collRatio: string,
|
|
123
|
-
safetyRatio?: string,
|
|
124
122
|
suppliedUsd: string,
|
|
125
123
|
borrowedUsd: string,
|
|
126
124
|
borrowLimitUsd: string,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const MakerActiveIlks: string[];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const MakerActiveIlks: string[];
|