@defisaver/positions-sdk 2.1.161-portfolio-api-1-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 +41 -12
- package/cjs/aaveV3/index.js +237 -2
- package/cjs/aaveV3/sgho.d.ts +2 -16
- package/cjs/aaveV4/lend.d.ts +2 -43
- package/cjs/claiming/aaveV3.d.ts +2 -2
- package/cjs/claiming/ethena.d.ts +2 -1
- package/cjs/claiming/king.d.ts +2 -1
- package/cjs/claiming/spark.d.ts +2 -2
- package/cjs/curveUsd/index.d.ts +5 -2
- package/cjs/curveUsd/index.js +30 -15
- package/cjs/fluid/index.d.ts +10 -49
- 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.d.ts +2 -12
- package/cjs/liquity/index.js +15 -2
- package/cjs/liquityV2/index.d.ts +8 -23
- 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 -381
- 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 +86 -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 +14 -0
- package/cjs/types/index.d.ts +1 -0
- package/cjs/types/index.js +1 -0
- package/cjs/types/liquity.d.ts +16 -0
- package/cjs/types/liquityV2.d.ts +26 -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 +127 -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/cjs/umbrella/index.d.ts +2 -3
- package/esm/aaveV2/index.js +2 -0
- package/esm/aaveV3/index.d.ts +41 -12
- package/esm/aaveV3/index.js +231 -2
- package/esm/aaveV3/sgho.d.ts +2 -16
- package/esm/aaveV4/lend.d.ts +2 -43
- package/esm/claiming/aaveV3.d.ts +2 -2
- package/esm/claiming/aaveV3.js +1 -1
- package/esm/claiming/ethena.d.ts +2 -1
- package/esm/claiming/king.d.ts +2 -1
- package/esm/claiming/spark.d.ts +2 -2
- package/esm/claiming/spark.js +1 -1
- package/esm/curveUsd/index.d.ts +5 -2
- package/esm/curveUsd/index.js +30 -15
- package/esm/fluid/index.d.ts +10 -49
- 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.d.ts +2 -12
- package/esm/liquity/index.js +16 -3
- package/esm/liquityV2/index.d.ts +8 -23
- 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 -385
- 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 +86 -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 +14 -0
- package/esm/types/index.d.ts +1 -0
- package/esm/types/index.js +1 -0
- package/esm/types/liquity.d.ts +16 -0
- package/esm/types/liquityV2.d.ts +26 -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 +127 -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/esm/umbrella/index.d.ts +2 -3
- package/package.json +3 -2
- package/src/aaveV2/index.ts +2 -0
- package/src/aaveV3/index.ts +293 -2
- package/src/aaveV3/sgho.ts +2 -17
- package/src/aaveV4/lend.ts +2 -48
- package/src/claiming/aaveV3.ts +4 -2
- package/src/claiming/ethena.ts +5 -5
- package/src/claiming/king.ts +3 -3
- package/src/claiming/spark.ts +6 -4
- package/src/curveUsd/index.ts +33 -16
- package/src/fluid/index.ts +44 -3
- 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 +19 -5
- package/src/liquityV2/index.ts +48 -22
- 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 +477 -248
- 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 +90 -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 +15 -0
- package/src/types/index.ts +2 -1
- package/src/types/liquity.ts +19 -1
- package/src/types/liquityV2.ts +28 -1
- 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 +153 -7
- package/src/types/savings/index.ts +12 -1
- package/src/types/savings/morphoVaults.ts +11 -1
- package/src/types/spark.ts +2 -0
- package/src/umbrella/index.ts +2 -1
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { MorphoVaultType } from '../../types';
|
|
1
|
+
import { MorphoVaultType, MorphoVaultVersion, NetworkNumber, } from '../../types';
|
|
2
2
|
export const MORPHO_VAULT_FLAGSHIP_ETH = {
|
|
3
3
|
type: MorphoVaultType.MorphoVaultFlagshipEth,
|
|
4
4
|
name: 'Flagship ETH',
|
|
5
5
|
address: '0x38989BBA00BDF8181F4082995b3DEAe96163aC5D',
|
|
6
6
|
asset: 'WETH',
|
|
7
|
+
network: NetworkNumber.Eth,
|
|
8
|
+
version: MorphoVaultVersion.V1,
|
|
7
9
|
deploymentBlock: 18927491,
|
|
8
10
|
isLegacy: true,
|
|
9
11
|
};
|
|
@@ -12,6 +14,8 @@ export const MORPHO_VAULT_GAUNTLET_USDC_CORE = {
|
|
|
12
14
|
name: 'Gauntlet USDC Core',
|
|
13
15
|
address: '0x8eB67A509616cd6A7c1B3c8C21D48FF57df3d458',
|
|
14
16
|
asset: 'USDC',
|
|
17
|
+
network: NetworkNumber.Eth,
|
|
18
|
+
version: MorphoVaultVersion.V1,
|
|
15
19
|
deploymentBlock: 19777569,
|
|
16
20
|
isLegacy: true,
|
|
17
21
|
};
|
|
@@ -20,6 +24,8 @@ export const MORPHO_VAULT_GAUNTLET_USDC_PRIME = {
|
|
|
20
24
|
name: 'Gauntlet USDC Prime',
|
|
21
25
|
address: '0xdd0f28e19C1780eb6396170735D45153D261490d',
|
|
22
26
|
asset: 'USDC',
|
|
27
|
+
network: NetworkNumber.Eth,
|
|
28
|
+
version: MorphoVaultVersion.V1,
|
|
23
29
|
deploymentBlock: 19777569,
|
|
24
30
|
isLegacy: true,
|
|
25
31
|
};
|
|
@@ -28,6 +34,8 @@ export const MORPHO_VAULT_RE7_WETH = {
|
|
|
28
34
|
name: 'RE7 WETH',
|
|
29
35
|
address: '0x78Fc2c2eD1A4cDb5402365934aE5648aDAd094d0',
|
|
30
36
|
asset: 'WETH',
|
|
37
|
+
network: NetworkNumber.Eth,
|
|
38
|
+
version: MorphoVaultVersion.V1,
|
|
31
39
|
deploymentBlock: 19121118,
|
|
32
40
|
isLegacy: true,
|
|
33
41
|
};
|
|
@@ -36,6 +44,8 @@ export const MORPHO_VAULT_GAUNTLET_WETH_CORE = {
|
|
|
36
44
|
name: 'Gauntlet WETH Core',
|
|
37
45
|
address: '0x4881Ef0BF6d2365D3dd6499ccd7532bcdBCE0658',
|
|
38
46
|
asset: 'WETH',
|
|
47
|
+
network: NetworkNumber.Eth,
|
|
48
|
+
version: MorphoVaultVersion.V1,
|
|
39
49
|
deploymentBlock: 19541126,
|
|
40
50
|
isLegacy: true,
|
|
41
51
|
};
|
|
@@ -44,6 +54,8 @@ export const MORPHO_VAULT_GAUNTLET_WETH_PRIME = {
|
|
|
44
54
|
name: 'Gauntlet WETH Prime',
|
|
45
55
|
address: '0x2371e134e3455e0593363cBF89d3b6cf53740618',
|
|
46
56
|
asset: 'WETH',
|
|
57
|
+
network: NetworkNumber.Eth,
|
|
58
|
+
version: MorphoVaultVersion.V1,
|
|
47
59
|
deploymentBlock: 19372149,
|
|
48
60
|
isLegacy: true,
|
|
49
61
|
};
|
|
@@ -52,6 +64,8 @@ export const MORPHO_VAULT_BOOSTED_USDC = {
|
|
|
52
64
|
name: 'Boosted USDC',
|
|
53
65
|
address: '0xd63070114470f685b75B74D60EEc7c1113d33a3D',
|
|
54
66
|
asset: 'USDC',
|
|
67
|
+
network: NetworkNumber.Eth,
|
|
68
|
+
version: MorphoVaultVersion.V1,
|
|
55
69
|
deploymentBlock: 20377233,
|
|
56
70
|
isLegacy: true,
|
|
57
71
|
};
|
|
@@ -60,6 +74,8 @@ export const MORPHO_VAULT_FLAGSHIP_USDT = {
|
|
|
60
74
|
name: 'Flagship USDT',
|
|
61
75
|
address: '0x2C25f6C25770fFEC5959D34B94Bf898865e5D6b1',
|
|
62
76
|
asset: 'USDT',
|
|
77
|
+
network: NetworkNumber.Eth,
|
|
78
|
+
version: MorphoVaultVersion.V1,
|
|
63
79
|
deploymentBlock: 19127039,
|
|
64
80
|
isLegacy: true,
|
|
65
81
|
};
|
|
@@ -68,6 +84,8 @@ export const MORPHO_VAULT_GAUNTLET_USDA_CORE = {
|
|
|
68
84
|
name: 'Gauntlet USDA Core',
|
|
69
85
|
address: '0x125D41A6e5dbf455cD9Df8F80BCC6fd172D52Cc6',
|
|
70
86
|
asset: 'USDA',
|
|
87
|
+
network: NetworkNumber.Eth,
|
|
88
|
+
version: MorphoVaultVersion.V1,
|
|
71
89
|
deploymentBlock: 19633608,
|
|
72
90
|
isLegacy: true,
|
|
73
91
|
};
|
|
@@ -76,6 +94,8 @@ export const MORPHO_VAULT_GAUNTLET_USDT_PRIME = {
|
|
|
76
94
|
name: 'Gauntlet USDT Prime',
|
|
77
95
|
address: '0x8CB3649114051cA5119141a34C200D65dc0Faa73',
|
|
78
96
|
asset: 'USDT',
|
|
97
|
+
network: NetworkNumber.Eth,
|
|
98
|
+
version: MorphoVaultVersion.V1,
|
|
79
99
|
deploymentBlock: 19486541,
|
|
80
100
|
isLegacy: true,
|
|
81
101
|
};
|
|
@@ -84,6 +104,8 @@ export const MORPHO_VAULT_GAUNTLET_RESOLV_USDC = {
|
|
|
84
104
|
name: 'Gauntlet Resolv USDC',
|
|
85
105
|
address: '0x132E6C9C33A62D7727cd359b1f51e5B566E485Eb',
|
|
86
106
|
asset: 'USDC',
|
|
107
|
+
network: NetworkNumber.Eth,
|
|
108
|
+
version: MorphoVaultVersion.V1,
|
|
87
109
|
deploymentBlock: 21487882,
|
|
88
110
|
isLegacy: true,
|
|
89
111
|
};
|
|
@@ -93,6 +115,8 @@ export const MORPHO_VAULT_STEAKHOUSE_USDT = {
|
|
|
93
115
|
name: 'Steakhouse USDT',
|
|
94
116
|
address: '0xbEef047a543E45807105E51A8BBEFCc5950fcfBa',
|
|
95
117
|
asset: 'USDT',
|
|
118
|
+
network: NetworkNumber.Eth,
|
|
119
|
+
version: MorphoVaultVersion.V1,
|
|
96
120
|
deploymentBlock: 19043398,
|
|
97
121
|
isLegacy: false,
|
|
98
122
|
};
|
|
@@ -101,6 +125,8 @@ export const MORPHO_VAULT_STEAKHOUSE_USDC = {
|
|
|
101
125
|
name: 'Steakhouse USDC',
|
|
102
126
|
address: '0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB',
|
|
103
127
|
asset: 'USDC',
|
|
128
|
+
network: NetworkNumber.Eth,
|
|
129
|
+
version: MorphoVaultVersion.V1,
|
|
104
130
|
deploymentBlock: 18928285,
|
|
105
131
|
isLegacy: false,
|
|
106
132
|
};
|
|
@@ -109,6 +135,8 @@ export const MORPHO_VAULT_STEAKHOUSE_ETH = {
|
|
|
109
135
|
name: 'Steakhouse WETH',
|
|
110
136
|
address: '0xBEEf050ecd6a16c4e7bfFbB52Ebba7846C4b8cD4',
|
|
111
137
|
asset: 'WETH',
|
|
138
|
+
network: NetworkNumber.Eth,
|
|
139
|
+
version: MorphoVaultVersion.V1,
|
|
112
140
|
deploymentBlock: 19380443,
|
|
113
141
|
isLegacy: false,
|
|
114
142
|
};
|
|
@@ -117,6 +145,8 @@ export const MORPHO_VAULT_STEAKHOUSE_PYUSD = {
|
|
|
117
145
|
name: 'Steakhouse PYUSD',
|
|
118
146
|
address: '0xbEEF02e5E13584ab96848af90261f0C8Ee04722a',
|
|
119
147
|
asset: 'PYUSD',
|
|
148
|
+
network: NetworkNumber.Eth,
|
|
149
|
+
version: MorphoVaultVersion.V1,
|
|
120
150
|
deploymentBlock: 19043398,
|
|
121
151
|
isLegacy: false,
|
|
122
152
|
};
|
|
@@ -126,6 +156,8 @@ export const MORPHO_VAULT_SMOKEHOUSE_USDT = {
|
|
|
126
156
|
name: 'Smokehouse USDT',
|
|
127
157
|
address: '0xA0804346780b4c2e3bE118ac957D1DB82F9d7484',
|
|
128
158
|
asset: 'USDT',
|
|
159
|
+
network: NetworkNumber.Eth,
|
|
160
|
+
version: MorphoVaultVersion.V1,
|
|
129
161
|
deploymentBlock: 21522238,
|
|
130
162
|
isLegacy: false,
|
|
131
163
|
};
|
|
@@ -134,6 +166,8 @@ export const MORPHO_VAULT_SMOKEHOUSE_USDC = {
|
|
|
134
166
|
name: 'Smokehouse USDC',
|
|
135
167
|
address: '0xBEeFFF209270748ddd194831b3fa287a5386f5bC',
|
|
136
168
|
asset: 'USDC',
|
|
169
|
+
network: NetworkNumber.Eth,
|
|
170
|
+
version: MorphoVaultVersion.V1,
|
|
137
171
|
deploymentBlock: 21337719,
|
|
138
172
|
isLegacy: false,
|
|
139
173
|
};
|
|
@@ -142,9 +176,32 @@ export const MORPHO_VAULT_SMOKEHOUSE_DAI = {
|
|
|
142
176
|
name: 'Smokehouse DAI',
|
|
143
177
|
address: '0xbeeFfF68CC520D68f82641EFF84330C631E2490E',
|
|
144
178
|
asset: 'DAI',
|
|
179
|
+
network: NetworkNumber.Eth,
|
|
180
|
+
version: MorphoVaultVersion.V1,
|
|
145
181
|
deploymentBlock: 21343808,
|
|
146
182
|
isLegacy: false,
|
|
147
183
|
};
|
|
184
|
+
// Vault V2
|
|
185
|
+
export const MORPHO_VAULT_GAUNTLET_USDG_PREMIUM = {
|
|
186
|
+
type: MorphoVaultType.MorphoVaultGauntletUSDGPremium,
|
|
187
|
+
name: 'Gauntlet USDG Premium',
|
|
188
|
+
address: '0x390c1bb01F3F627144a40617e287d4cE3D5aBCfa',
|
|
189
|
+
asset: 'USDG',
|
|
190
|
+
network: NetworkNumber.Arb,
|
|
191
|
+
version: MorphoVaultVersion.V2,
|
|
192
|
+
deploymentBlock: 510799903,
|
|
193
|
+
isLegacy: false,
|
|
194
|
+
};
|
|
195
|
+
export const MORPHO_VAULT_STEAKHOUSE_USDG_PRO = {
|
|
196
|
+
type: MorphoVaultType.MorphoVaultSteakhouseUSDGPro,
|
|
197
|
+
name: 'Steakhouse USDG Pro',
|
|
198
|
+
address: '0xbeeFf72B77e7584a450E887125F25E8D8819016a',
|
|
199
|
+
asset: 'USDG',
|
|
200
|
+
network: NetworkNumber.Arb,
|
|
201
|
+
version: MorphoVaultVersion.V2,
|
|
202
|
+
deploymentBlock: 512247107,
|
|
203
|
+
isLegacy: false,
|
|
204
|
+
};
|
|
148
205
|
export const MORPHO_VAULTS = {
|
|
149
206
|
[MorphoVaultType.MorphoVaultFlagshipEth]: MORPHO_VAULT_FLAGSHIP_ETH,
|
|
150
207
|
[MorphoVaultType.MorphoVaultGauntletUSDCCore]: MORPHO_VAULT_GAUNTLET_USDC_CORE,
|
|
@@ -166,5 +223,8 @@ export const MORPHO_VAULTS = {
|
|
|
166
223
|
[MorphoVaultType.MorphoVaultSmokehouseUSDT]: MORPHO_VAULT_SMOKEHOUSE_USDT,
|
|
167
224
|
[MorphoVaultType.MorphoVaultSmokehouseUSDC]: MORPHO_VAULT_SMOKEHOUSE_USDC,
|
|
168
225
|
[MorphoVaultType.MorphoVaultSmokehouseDAI]: MORPHO_VAULT_SMOKEHOUSE_DAI,
|
|
226
|
+
// Vault V2
|
|
227
|
+
[MorphoVaultType.MorphoVaultGauntletUSDGPremium]: MORPHO_VAULT_GAUNTLET_USDG_PREMIUM,
|
|
228
|
+
[MorphoVaultType.MorphoVaultSteakhouseUSDGPro]: MORPHO_VAULT_STEAKHOUSE_USDG_PRO,
|
|
169
229
|
};
|
|
170
230
|
export const getMorphoVault = (type) => MORPHO_VAULTS[type];
|
package/esm/spark/index.js
CHANGED
|
@@ -81,6 +81,7 @@ export const _getSparkMarketsData = (provider, network, selectedMarket) => __awa
|
|
|
81
81
|
collateralAssets: eModeCategoriesData[emodeCategoryId] ? [...eModeCategoriesData[emodeCategoryId].collateralAssets, selectedMarket.assets[i]] : [selectedMarket.assets[i]],
|
|
82
82
|
borrowAssets: eModeCategoriesData[emodeCategoryId] ? [...eModeCategoriesData[emodeCategoryId].borrowAssets, selectedMarket.assets[i]] : [selectedMarket.assets[i]],
|
|
83
83
|
ltvZeroAssets: [],
|
|
84
|
+
isolated: false,
|
|
84
85
|
};
|
|
85
86
|
return ({
|
|
86
87
|
symbol: selectedMarket.assets[i],
|
package/esm/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/esm/staking/staking.js
CHANGED
|
@@ -182,6 +182,23 @@ export const calculateInterestEarned = (principal, interest, type, apy = false)
|
|
|
182
182
|
}
|
|
183
183
|
return (+principal * (Math.pow(((1 + (+interest / 100) / BLOCKS_IN_A_YEAR)), (BLOCKS_IN_A_YEAR * interval)))) - +principal; // eslint-disable-line
|
|
184
184
|
};
|
|
185
|
+
/**
|
|
186
|
+
* Net APY for positions that have a single known borrow rate (and optionally a single supply rate)
|
|
187
|
+
* instead of per-asset `assetsData` to feed into `calculateNetApy` (Maker, crvUSD, Liquity v1).
|
|
188
|
+
* All rates are yearly percentages that are already compounded. `incentives` are extra yields
|
|
189
|
+
* (e.g. the native staking yield of the collateral) applied to their own USD base and summed into `incentiveUsd`.
|
|
190
|
+
*/
|
|
191
|
+
export const calculateNetApyFromRates = ({ suppliedUsd, borrowedUsd, supplyRate = '0', borrowRate = '0', incentives = [], }) => {
|
|
192
|
+
const supplyInterest = new Dec(calculateInterestEarned(suppliedUsd, supplyRate, 'year', true));
|
|
193
|
+
const borrowInterest = new Dec(calculateInterestEarned(borrowedUsd, borrowRate, 'year', true));
|
|
194
|
+
const incentiveUsd = incentives
|
|
195
|
+
.reduce((acc, { apy, amountUsd }) => acc.add(calculateInterestEarned(amountUsd, apy, 'year', true)), new Dec(0))
|
|
196
|
+
.toString();
|
|
197
|
+
const totalInterestUsd = supplyInterest.sub(borrowInterest).add(incentiveUsd).toString();
|
|
198
|
+
const balance = new Dec(suppliedUsd).sub(borrowedUsd);
|
|
199
|
+
const netApy = balance.isZero() ? '0' : new Dec(totalInterestUsd).div(balance).times(100).toString();
|
|
200
|
+
return { netApy, totalInterestUsd, incentiveUsd };
|
|
201
|
+
};
|
|
185
202
|
export const calculateNetApy = ({ usedAssets, assetsData, optionalData, }) => {
|
|
186
203
|
const sumValues = Object.values(usedAssets).reduce((_acc, usedAsset) => {
|
|
187
204
|
const acc = Object.assign({}, _acc);
|
package/esm/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;
|
|
@@ -198,3 +201,86 @@ export interface AaveHelperCommon {
|
|
|
198
201
|
selectedMarket: Partial<AaveMarketInfo>;
|
|
199
202
|
network?: NetworkNumber;
|
|
200
203
|
}
|
|
204
|
+
export interface SghoUserData {
|
|
205
|
+
shares: string;
|
|
206
|
+
balance: string;
|
|
207
|
+
maxDeposit: string;
|
|
208
|
+
maxWithdraw: string;
|
|
209
|
+
underlyingBalance: string;
|
|
210
|
+
}
|
|
211
|
+
export interface SghoData {
|
|
212
|
+
totalAssets: string;
|
|
213
|
+
totalSupply: string;
|
|
214
|
+
supplyCap: string;
|
|
215
|
+
/** Target savings rate as an APY percent (e.g. "4.25" for 4.25%). */
|
|
216
|
+
targetRate: string;
|
|
217
|
+
paused: boolean;
|
|
218
|
+
user: SghoUserData;
|
|
219
|
+
}
|
|
220
|
+
/** stkAAVE, stkGHO and sGHO of an address, from getStakeAaveData. */
|
|
221
|
+
export interface StakeAaveData {
|
|
222
|
+
activatedCooldown: string;
|
|
223
|
+
activatedCooldownAmount: string;
|
|
224
|
+
stkAaveRewardsBalance: string;
|
|
225
|
+
aaveRewardsBalance: string;
|
|
226
|
+
stkAaveBalance: string;
|
|
227
|
+
stkGhoBalance: string;
|
|
228
|
+
ghoMeritApy: string;
|
|
229
|
+
stkAaveApy: string;
|
|
230
|
+
sgho: SghoData;
|
|
231
|
+
}
|
|
232
|
+
export interface UmbrellaTokenInfo {
|
|
233
|
+
token: EthAddress;
|
|
234
|
+
/** USD, converted from the oracle's 8 decimals. */
|
|
235
|
+
price: string;
|
|
236
|
+
name: string;
|
|
237
|
+
symbol: string;
|
|
238
|
+
decimals: number;
|
|
239
|
+
}
|
|
240
|
+
export interface UmbrellaRewardTokenData {
|
|
241
|
+
rewardTokenData: UmbrellaTokenInfo;
|
|
242
|
+
maxEmissionPerSecond: bigint;
|
|
243
|
+
distributionEnd: bigint;
|
|
244
|
+
}
|
|
245
|
+
export interface UmbrellaStakingAccountData {
|
|
246
|
+
stakeUserBalance: string;
|
|
247
|
+
rewardsTokenUserData: {
|
|
248
|
+
reward: EthAddress;
|
|
249
|
+
currentReward: string;
|
|
250
|
+
}[];
|
|
251
|
+
userCooldownAmount: string;
|
|
252
|
+
userEndOfCooldown: bigint | string;
|
|
253
|
+
userWithdrawalWindow: bigint | string;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* One Umbrella stake token of an address, from getUmbrellaData: the view contracts' structs merged, with the amounts
|
|
257
|
+
* the app reads converted to decimal strings. The bigint fields are the views' raw values, as the SDK passes them.
|
|
258
|
+
*/
|
|
259
|
+
export interface UmbrellaStakingTokenData {
|
|
260
|
+
stakeTokenData: UmbrellaTokenInfo;
|
|
261
|
+
totalAssets: string;
|
|
262
|
+
targetLiquidity: string;
|
|
263
|
+
isStakeConfigured: boolean;
|
|
264
|
+
rewardsTokenData: UmbrellaRewardTokenData[];
|
|
265
|
+
stakeToken: EthAddress;
|
|
266
|
+
stakeUserBalance: bigint;
|
|
267
|
+
rewardsTokenUserData: {
|
|
268
|
+
reward: EthAddress;
|
|
269
|
+
currentReward: bigint;
|
|
270
|
+
}[];
|
|
271
|
+
stkToken: EthAddress;
|
|
272
|
+
totalShares: string;
|
|
273
|
+
stkUnderlyingToken: EthAddress;
|
|
274
|
+
aToken: EthAddress;
|
|
275
|
+
cooldownPeriod: bigint;
|
|
276
|
+
unstakeWindow: bigint;
|
|
277
|
+
stkTokenToWaTokenRate: string;
|
|
278
|
+
waTokenToATokenRate: string;
|
|
279
|
+
rewardsEmissionRates: string[];
|
|
280
|
+
userCooldownAmount: bigint;
|
|
281
|
+
userEndOfCooldown: bigint;
|
|
282
|
+
userWithdrawalWindow: bigint;
|
|
283
|
+
account: UmbrellaStakingAccountData;
|
|
284
|
+
}
|
|
285
|
+
/** Keyed by Umbrella stake (UmbrellaGHO, UmbrellaUSDC, UmbrellaUSDT, UmbrellaETH). */
|
|
286
|
+
export type UmbrellaStakingData = Record<string, UmbrellaStakingTokenData>;
|
package/esm/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/esm/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/esm/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/esm/types/fluid.d.ts
CHANGED
|
@@ -323,6 +323,7 @@ export interface FluidAggregatedVaultData {
|
|
|
323
323
|
merklBorrowIncentives: IncentiveData[];
|
|
324
324
|
ratio: string;
|
|
325
325
|
collRatio: string;
|
|
326
|
+
safetyRatio: string;
|
|
326
327
|
minRatio: string;
|
|
327
328
|
totalInterestUsd: string;
|
|
328
329
|
leveragedType?: LeverageType;
|
|
@@ -458,3 +459,16 @@ export interface FluidFTokenDataStructOutput {
|
|
|
458
459
|
rewardsRate: bigint;
|
|
459
460
|
withdrawable: bigint;
|
|
460
461
|
}
|
|
462
|
+
/** One Fluid lending (fToken) deposit of an address, from getAllUserEarnPositionsWithFTokens and getFluidDepositData. */
|
|
463
|
+
export interface FluidEarnPositionData {
|
|
464
|
+
fTokenAddress: string | undefined;
|
|
465
|
+
fTokenSymbol: string;
|
|
466
|
+
decimals: string;
|
|
467
|
+
totalDeposited: string;
|
|
468
|
+
withdrawable: string;
|
|
469
|
+
apy: string;
|
|
470
|
+
depositRate: string;
|
|
471
|
+
withdrawRate: string;
|
|
472
|
+
deposited: string;
|
|
473
|
+
depositedShares: string;
|
|
474
|
+
}
|
package/esm/types/index.d.ts
CHANGED
package/esm/types/index.js
CHANGED
package/esm/types/liquity.d.ts
CHANGED
|
@@ -24,7 +24,23 @@ 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;
|
|
34
|
+
}
|
|
35
|
+
/** LQTY staking and the LUSD stability pool deposit of an address, from getLiquityStakingData. */
|
|
36
|
+
export interface LiquityStakingData {
|
|
37
|
+
totalLUSDDeposited: string;
|
|
38
|
+
totalLQTYStaked: string;
|
|
39
|
+
stakedLQTY: string;
|
|
40
|
+
stakedLUSDBalance: string;
|
|
41
|
+
rewardETH: string;
|
|
42
|
+
rewardLUSD: string;
|
|
43
|
+
stabilityRewardETH: string;
|
|
44
|
+
stabilityRewardLQTY: string;
|
|
45
|
+
showStakingBalances: boolean;
|
|
30
46
|
}
|
package/esm/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;
|
|
@@ -121,3 +123,27 @@ export interface LiquityV2TroveData {
|
|
|
121
123
|
lastInterestRateAdjTime: string;
|
|
122
124
|
exposure: string;
|
|
123
125
|
}
|
|
126
|
+
/** The stability pool deposit of an address in one market, from getLiquityV2Staking. */
|
|
127
|
+
export interface LiquityV2StakingData {
|
|
128
|
+
totalBOLDDeposited: string;
|
|
129
|
+
stakedBOLDBalance: string;
|
|
130
|
+
stabilityRewardColl: string;
|
|
131
|
+
stabilityRewardYield: string;
|
|
132
|
+
showStakingBalances: boolean;
|
|
133
|
+
debtTokenBalance: string;
|
|
134
|
+
stabilityPoolApy: string;
|
|
135
|
+
}
|
|
136
|
+
/** sBOLD, yBOLD and stYBOLD of an address, from getLiquitySAndYBold. */
|
|
137
|
+
export interface LiquityV2SBoldYBoldData {
|
|
138
|
+
spApy: string;
|
|
139
|
+
yBoldApy: string;
|
|
140
|
+
totalBoldDepositedSBold: string;
|
|
141
|
+
boldRateSBold: string;
|
|
142
|
+
maxWithdrawSBold: string;
|
|
143
|
+
totalBoldDepositedYBold: string;
|
|
144
|
+
boldRateYBold: string;
|
|
145
|
+
maxWithdrawYBold: string;
|
|
146
|
+
sBoldBalance: string;
|
|
147
|
+
yBoldBalance: string;
|
|
148
|
+
stYBoldBalance: string;
|
|
149
|
+
}
|
package/esm/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;
|