@defisaver/positions-sdk 2.1.52-aave-v4 → 2.1.52-dev-2

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.
Files changed (199) hide show
  1. package/.mocharc.json +4 -4
  2. package/.nvmrc +1 -1
  3. package/README.md +64 -64
  4. package/cjs/config/contracts.d.ts +0 -1277
  5. package/cjs/config/contracts.js +0 -9
  6. package/cjs/contracts.d.ts +0 -23120
  7. package/cjs/contracts.js +1 -2
  8. package/cjs/fluid/index.d.ts +3 -3
  9. package/cjs/helpers/aaveHelpers/index.d.ts +2 -2
  10. package/cjs/helpers/aaveHelpers/index.js +18 -2
  11. package/cjs/helpers/compoundHelpers/index.js +1 -1
  12. package/cjs/helpers/eulerHelpers/index.d.ts +2 -2
  13. package/cjs/helpers/eulerHelpers/index.js +6 -5
  14. package/cjs/helpers/fluidHelpers/index.js +2 -1
  15. package/cjs/helpers/index.d.ts +0 -1
  16. package/cjs/helpers/index.js +1 -2
  17. package/cjs/helpers/morphoBlueHelpers/index.js +67 -67
  18. package/cjs/helpers/sparkHelpers/index.js +1 -1
  19. package/cjs/index.d.ts +1 -2
  20. package/cjs/index.js +1 -3
  21. package/cjs/markets/index.d.ts +0 -1
  22. package/cjs/markets/index.js +1 -3
  23. package/cjs/moneymarket/moneymarketCommonService.d.ts +3 -3
  24. package/cjs/moneymarket/moneymarketCommonService.js +14 -6
  25. package/cjs/portfolio/index.js +0 -20
  26. package/cjs/savings/morphoVaults/index.js +17 -17
  27. package/cjs/types/aave.d.ts +3 -2
  28. package/cjs/types/common.d.ts +8 -0
  29. package/cjs/types/common.js +10 -1
  30. package/cjs/types/compound.d.ts +2 -2
  31. package/cjs/types/curveUsd.d.ts +2 -2
  32. package/cjs/types/euler.d.ts +2 -2
  33. package/cjs/types/fluid.d.ts +2 -2
  34. package/cjs/types/index.d.ts +0 -1
  35. package/cjs/types/index.js +0 -1
  36. package/cjs/types/liquityV2.d.ts +3 -3
  37. package/cjs/types/llamaLend.d.ts +2 -2
  38. package/cjs/types/morphoBlue.d.ts +3 -3
  39. package/cjs/types/portfolio.d.ts +0 -4
  40. package/cjs/types/spark.d.ts +2 -2
  41. package/esm/config/contracts.d.ts +0 -1277
  42. package/esm/config/contracts.js +0 -8
  43. package/esm/contracts.d.ts +0 -23120
  44. package/esm/contracts.js +0 -1
  45. package/esm/fluid/index.d.ts +3 -3
  46. package/esm/helpers/aaveHelpers/index.d.ts +2 -2
  47. package/esm/helpers/aaveHelpers/index.js +18 -2
  48. package/esm/helpers/compoundHelpers/index.js +2 -2
  49. package/esm/helpers/eulerHelpers/index.d.ts +2 -2
  50. package/esm/helpers/eulerHelpers/index.js +6 -5
  51. package/esm/helpers/fluidHelpers/index.js +2 -1
  52. package/esm/helpers/index.d.ts +0 -1
  53. package/esm/helpers/index.js +0 -1
  54. package/esm/helpers/morphoBlueHelpers/index.js +68 -68
  55. package/esm/helpers/sparkHelpers/index.js +2 -2
  56. package/esm/index.d.ts +1 -2
  57. package/esm/index.js +1 -2
  58. package/esm/markets/index.d.ts +0 -1
  59. package/esm/markets/index.js +0 -1
  60. package/esm/moneymarket/moneymarketCommonService.d.ts +3 -3
  61. package/esm/moneymarket/moneymarketCommonService.js +14 -6
  62. package/esm/portfolio/index.js +1 -21
  63. package/esm/savings/morphoVaults/index.js +17 -17
  64. package/esm/types/aave.d.ts +3 -2
  65. package/esm/types/common.d.ts +8 -0
  66. package/esm/types/common.js +9 -0
  67. package/esm/types/compound.d.ts +2 -2
  68. package/esm/types/curveUsd.d.ts +2 -2
  69. package/esm/types/euler.d.ts +2 -2
  70. package/esm/types/fluid.d.ts +2 -2
  71. package/esm/types/fluid.js +1 -1
  72. package/esm/types/index.d.ts +0 -1
  73. package/esm/types/index.js +0 -1
  74. package/esm/types/liquityV2.d.ts +3 -3
  75. package/esm/types/llamaLend.d.ts +2 -2
  76. package/esm/types/morphoBlue.d.ts +3 -3
  77. package/esm/types/portfolio.d.ts +0 -4
  78. package/esm/types/spark.d.ts +2 -2
  79. package/package.json +48 -48
  80. package/src/aaveV2/index.ts +240 -240
  81. package/src/aaveV3/index.ts +635 -635
  82. package/src/aaveV3/merit.ts +97 -97
  83. package/src/aaveV3/merkl.ts +74 -74
  84. package/src/claiming/aaveV3.ts +154 -154
  85. package/src/claiming/compV3.ts +22 -22
  86. package/src/claiming/ethena.ts +61 -61
  87. package/src/claiming/index.ts +12 -12
  88. package/src/claiming/king.ts +66 -66
  89. package/src/claiming/morphoBlue.ts +118 -118
  90. package/src/claiming/spark.ts +225 -225
  91. package/src/compoundV2/index.ts +244 -244
  92. package/src/compoundV3/index.ts +274 -274
  93. package/src/config/contracts.ts +1320 -1328
  94. package/src/constants/index.ts +10 -10
  95. package/src/contracts.ts +172 -174
  96. package/src/curveUsd/index.ts +254 -254
  97. package/src/eulerV2/index.ts +324 -324
  98. package/src/exchange/index.ts +25 -25
  99. package/src/fluid/index.ts +1800 -1800
  100. package/src/helpers/aaveHelpers/index.ts +207 -191
  101. package/src/helpers/compoundHelpers/index.ts +283 -283
  102. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  103. package/src/helpers/eulerHelpers/index.ts +222 -222
  104. package/src/helpers/fluidHelpers/index.ts +326 -326
  105. package/src/helpers/index.ts +10 -11
  106. package/src/helpers/liquityV2Helpers/index.ts +82 -82
  107. package/src/helpers/llamaLendHelpers/index.ts +53 -53
  108. package/src/helpers/makerHelpers/index.ts +52 -52
  109. package/src/helpers/morphoBlueHelpers/index.ts +396 -396
  110. package/src/helpers/sparkHelpers/index.ts +160 -158
  111. package/src/index.ts +49 -51
  112. package/src/liquity/index.ts +159 -159
  113. package/src/liquityV2/index.ts +703 -703
  114. package/src/llamaLend/index.ts +305 -305
  115. package/src/maker/index.ts +223 -223
  116. package/src/markets/aave/index.ts +118 -118
  117. package/src/markets/aave/marketAssets.ts +54 -54
  118. package/src/markets/compound/index.ts +243 -243
  119. package/src/markets/compound/marketsAssets.ts +97 -97
  120. package/src/markets/curveUsd/index.ts +69 -69
  121. package/src/markets/euler/index.ts +26 -26
  122. package/src/markets/fluid/index.ts +2900 -2900
  123. package/src/markets/index.ts +25 -26
  124. package/src/markets/liquityV2/index.ts +102 -102
  125. package/src/markets/llamaLend/contractAddresses.ts +141 -141
  126. package/src/markets/llamaLend/index.ts +235 -235
  127. package/src/markets/morphoBlue/index.ts +988 -988
  128. package/src/markets/spark/index.ts +29 -29
  129. package/src/markets/spark/marketAssets.ts +12 -12
  130. package/src/moneymarket/moneymarketCommonService.ts +92 -85
  131. package/src/morphoBlue/index.ts +274 -274
  132. package/src/portfolio/index.ts +586 -606
  133. package/src/savings/index.ts +95 -95
  134. package/src/savings/makerDsr/index.ts +53 -53
  135. package/src/savings/makerDsr/options.ts +9 -9
  136. package/src/savings/morphoVaults/index.ts +80 -80
  137. package/src/savings/morphoVaults/options.ts +193 -193
  138. package/src/savings/skyOptions/index.ts +95 -95
  139. package/src/savings/skyOptions/options.ts +10 -10
  140. package/src/savings/sparkSavingsVaults/index.ts +60 -60
  141. package/src/savings/sparkSavingsVaults/options.ts +35 -35
  142. package/src/savings/yearnV3Vaults/index.ts +61 -61
  143. package/src/savings/yearnV3Vaults/options.ts +55 -55
  144. package/src/savings/yearnVaults/index.ts +73 -73
  145. package/src/savings/yearnVaults/options.ts +32 -32
  146. package/src/services/priceService.ts +278 -278
  147. package/src/services/utils.ts +115 -115
  148. package/src/services/viem.ts +57 -57
  149. package/src/setup.ts +8 -8
  150. package/src/spark/index.ts +459 -459
  151. package/src/staking/eligibility.ts +53 -53
  152. package/src/staking/index.ts +1 -1
  153. package/src/staking/staking.ts +192 -192
  154. package/src/types/aave.ts +200 -198
  155. package/src/types/claiming.ts +114 -114
  156. package/src/types/common.ts +116 -107
  157. package/src/types/compound.ts +145 -144
  158. package/src/types/curveUsd.ts +123 -123
  159. package/src/types/euler.ts +176 -175
  160. package/src/types/fluid.ts +485 -483
  161. package/src/types/index.ts +15 -16
  162. package/src/types/liquity.ts +30 -30
  163. package/src/types/liquityV2.ts +128 -126
  164. package/src/types/llamaLend.ts +161 -159
  165. package/src/types/maker.ts +63 -63
  166. package/src/types/merit.ts +1 -1
  167. package/src/types/merkl.ts +70 -70
  168. package/src/types/morphoBlue.ts +202 -202
  169. package/src/types/portfolio.ts +60 -64
  170. package/src/types/savings/index.ts +23 -23
  171. package/src/types/savings/makerDsr.ts +13 -13
  172. package/src/types/savings/morphoVaults.ts +32 -32
  173. package/src/types/savings/sky.ts +14 -14
  174. package/src/types/savings/sparkSavingsVaults.ts +15 -15
  175. package/src/types/savings/yearnV3Vaults.ts +17 -17
  176. package/src/types/savings/yearnVaults.ts +14 -14
  177. package/src/types/spark.ts +135 -134
  178. package/src/umbrella/index.ts +69 -69
  179. package/src/umbrella/umbrellaUtils.ts +29 -29
  180. package/cjs/aaveV4/index.d.ts +0 -7
  181. package/cjs/aaveV4/index.js +0 -174
  182. package/cjs/helpers/aaveV4Helpers/index.d.ts +0 -13
  183. package/cjs/helpers/aaveV4Helpers/index.js +0 -109
  184. package/cjs/markets/aaveV4/index.d.ts +0 -13
  185. package/cjs/markets/aaveV4/index.js +0 -39
  186. package/cjs/types/aaveV4.d.ts +0 -137
  187. package/cjs/types/aaveV4.js +0 -11
  188. package/esm/aaveV4/index.d.ts +0 -7
  189. package/esm/aaveV4/index.js +0 -165
  190. package/esm/helpers/aaveV4Helpers/index.d.ts +0 -13
  191. package/esm/helpers/aaveV4Helpers/index.js +0 -100
  192. package/esm/markets/aaveV4/index.d.ts +0 -13
  193. package/esm/markets/aaveV4/index.js +0 -29
  194. package/esm/types/aaveV4.d.ts +0 -137
  195. package/esm/types/aaveV4.js +0 -8
  196. package/src/aaveV4/index.ts +0 -176
  197. package/src/helpers/aaveV4Helpers/index.ts +0 -121
  198. package/src/markets/aaveV4/index.ts +0 -42
  199. package/src/types/aaveV4.ts +0 -151
package/cjs/contracts.js CHANGED
@@ -34,7 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.AaveRewardsControllerViem = exports.SparkRewardsControllerViem = exports.UUPSViem = exports.LiquityStabilityPoolViem = exports.LiquityLQTYStakingViem = exports.AaveUmbrellaViewViem = exports.AaveIncentivesControllerViem = exports.FluidViewContractViem = exports.LiquityV2LegacyViewContractViem = exports.LiquityV2ViewContractViem = exports.LiquityActivePoolContractViem = exports.LiquityPriceFeedContractViem = exports.LiquityTroveManagerContractViem = exports.LiquityCollSurplusPoolContractViem = exports.LiquityViewContractViem = exports.BTCPriceFeedContractViem = exports.WeETHPriceFeedContractViem = exports.ComptrollerContractViem = exports.CompoundLoanInfoContractViem = exports.McdJugContractViem = exports.McdDogContractViem = exports.McdSpotterContractViem = exports.McdVatContractViem = exports.McdViewContractViem = exports.McdGetCdpsContractViem = exports.LlamaLendViewContractViem = exports.CrvUSDFactoryContractViem = exports.CrvUSDViewContractViem = exports.EulerV2ViewContractViem = exports.SparkIncentiveDataProviderContractViem = exports.SparkViewContractViem = exports.CompV3ViewContractViem = exports.WstETHPriceFeedContractViem = exports.USDCPriceFeedContractViem = exports.ETHPriceFeedContractViem = exports.COMPPriceFeedContractViem = exports.DFSFeedRegistryContractViem = exports.FeedRegistryContractViem = exports.AaveIncentiveDataProviderV3ContractViem = exports.AaveV3ViewContractViem = exports.AaveLoanInfoV2ContractViem = exports.MorphoBlueViewContractViem = exports.getYearnV3VaultContractViem = exports.getErc20ContractViem = exports.getSparkSavingsVaultContractViem = exports.getYearnVaultContractViem = exports.getMorphoVaultContractViem = exports.createViemContractFromConfigFunc = exports.getConfigContractAbi = exports.getConfigContractAddress = void 0;
37
- exports.AaveV4ViewContractViem = exports.SkySavingsContractView = exports.MakerDsrContractViem = exports.YearnViewContractViem = exports.StkAAVEViem = exports.LiquityV2sBoldVaultViem = void 0;
37
+ exports.SkySavingsContractView = exports.MakerDsrContractViem = exports.YearnViewContractViem = exports.StkAAVEViem = exports.LiquityV2sBoldVaultViem = void 0;
38
38
  const viem_1 = require("viem");
39
39
  const configRaw = __importStar(require("./config/contracts"));
40
40
  // @ts-ignore
@@ -177,4 +177,3 @@ exports.StkAAVEViem = (0, exports.createViemContractFromConfigFunc)('StkAAVE');
177
177
  exports.YearnViewContractViem = (0, exports.createViemContractFromConfigFunc)('YearnView');
178
178
  exports.MakerDsrContractViem = (0, exports.createViemContractFromConfigFunc)('MakerDsr');
179
179
  exports.SkySavingsContractView = (0, exports.createViemContractFromConfigFunc)('SkySavings');
180
- exports.AaveV4ViewContractViem = (0, exports.createViemContractFromConfigFunc)('AaveV4View');
@@ -130,7 +130,7 @@ export declare const _getUserPositions: (provider: PublicClient, network: Networ
130
130
  collRatio: string;
131
131
  minRatio: string;
132
132
  totalInterestUsd: string;
133
- leveragedType?: string;
133
+ leveragedType?: import("../types/common").LeverageType;
134
134
  leveragedAsset?: string;
135
135
  liquidationPrice?: string;
136
136
  leveragedLsdAssetRatio?: string;
@@ -161,7 +161,7 @@ export declare const getUserPositions: (provider: EthereumProvider, network: Net
161
161
  collRatio: string;
162
162
  minRatio: string;
163
163
  totalInterestUsd: string;
164
- leveragedType?: string;
164
+ leveragedType?: import("../types/common").LeverageType;
165
165
  leveragedAsset?: string;
166
166
  liquidationPrice?: string;
167
167
  leveragedLsdAssetRatio?: string;
@@ -192,7 +192,7 @@ export declare const _getUserPositionsPortfolio: (provider: PublicClient, networ
192
192
  collRatio: string;
193
193
  minRatio: string;
194
194
  totalInterestUsd: string;
195
- leveragedType?: string;
195
+ leveragedType?: import("../types/common").LeverageType;
196
196
  leveragedAsset?: string;
197
197
  liquidationPrice?: string;
198
198
  leveragedLsdAssetRatio?: string;
@@ -1,4 +1,4 @@
1
- import { AaveHelperCommon, AaveMarketInfo, AaveV3AggregatedPositionData, AaveV3AssetsData, AaveV3UsedAssets, AaveVersions } from '../../types';
1
+ import { AaveHelperCommon, AaveMarketInfo, AaveV3AggregatedPositionData, AaveV3AssetsData, AaveV3UsedAsset, AaveV3UsedAssets, AaveVersions } from '../../types';
2
2
  import { EthereumProvider, NetworkNumber } from '../../types/common';
3
3
  export declare const AAVE_V3_MARKETS: AaveVersions[];
4
4
  export declare const isAaveV2: ({ selectedMarket }: {
@@ -17,7 +17,7 @@ export declare const aaveV3IsInSiloedMode: ({ usedAssets, assetsData }: {
17
17
  }) => boolean;
18
18
  export declare const aaveAnyGetCollSuppliedAssets: ({ usedAssets }: {
19
19
  usedAssets: AaveV3UsedAssets;
20
- }) => import("../../types").AaveV3UsedAsset[];
20
+ }) => AaveV3UsedAsset[];
21
21
  export declare const aaveAnyGetSuppliableAssets: ({ usedAssets, eModeCategory, assetsData, selectedMarket, network, ...rest }: AaveHelperCommon) => {
22
22
  symbol: string;
23
23
  canBeCollateral: boolean;
@@ -31,6 +31,7 @@ const utils_1 = require("../../services/utils");
31
31
  const moneymarket_1 = require("../../moneymarket");
32
32
  const staking_1 = require("../../staking");
33
33
  const constants_1 = require("../../constants");
34
+ const common_1 = require("../../types/common");
34
35
  const contracts_1 = require("../../contracts");
35
36
  const viem_1 = require("../../services/viem");
36
37
  exports.AAVE_V3_MARKETS = [types_1.AaveVersions.AaveV3, types_1.AaveVersions.AaveV3Lido, types_1.AaveVersions.AaveV3Etherfi];
@@ -103,12 +104,27 @@ const aaveAnyGetAggregatedPositionData = (_a) => {
103
104
  payload.liquidationPrice = '';
104
105
  if (leveragedType !== '') {
105
106
  let assetPrice = data.assetsData[leveragedAsset].price;
106
- if (leveragedType === 'lsd-leverage') {
107
+ if (leveragedType === common_1.LeverageType.LsdLeverage) {
107
108
  // Treat ETH like a stablecoin in a long stETH position
108
109
  payload.leveragedLsdAssetRatio = new decimal_js_1.default(assetsData[leveragedAsset].price).div(assetsData.ETH.price).toDP(18).toString();
109
110
  assetPrice = new decimal_js_1.default(assetPrice).div(assetsData.ETH.price).toString();
110
111
  }
111
- payload.liquidationPrice = (0, moneymarket_1.calcLeverageLiqPrice)(leveragedType, assetPrice, payload.borrowedUsd, payload.liquidationLimitUsd);
112
+ if (leveragedType === common_1.LeverageType.VolatilePair) {
113
+ const borrowedAsset = Object.values(usedAssets).find(({ borrowedUsd }) => +borrowedUsd > 0);
114
+ const borrowedAssetPrice = data.assetsData[borrowedAsset.symbol].price;
115
+ const leveragedAssetPrice = data.assetsData[leveragedAsset].price;
116
+ const isReverse = new decimal_js_1.default(leveragedAssetPrice).lt(borrowedAssetPrice);
117
+ if (isReverse) {
118
+ payload.leveragedType = common_1.LeverageType.VolatilePairReverse;
119
+ payload.currentVolatilePairRatio = new decimal_js_1.default(borrowedAssetPrice).div(leveragedAssetPrice).toDP(18).toString();
120
+ assetPrice = new decimal_js_1.default(borrowedAssetPrice).div(assetPrice).toString();
121
+ }
122
+ else {
123
+ assetPrice = new decimal_js_1.default(assetPrice).div(borrowedAssetPrice).toString();
124
+ payload.currentVolatilePairRatio = new decimal_js_1.default(leveragedAssetPrice).div(borrowedAssetPrice).toDP(18).toString();
125
+ }
126
+ }
127
+ payload.liquidationPrice = (0, moneymarket_1.calcLeverageLiqPrice)(payload.leveragedType, assetPrice, payload.borrowedUsd, payload.liquidationLimitUsd);
112
128
  }
113
129
  payload.minCollRatio = new decimal_js_1.default(payload.suppliedCollateralUsd).div(payload.borrowLimitUsd).mul(100).toString();
114
130
  payload.collLiquidationRatio = new decimal_js_1.default(payload.suppliedCollateralUsd).div(payload.liquidationLimitUsd).mul(100).toString();
@@ -150,7 +150,7 @@ const getCompoundV3AggregatedData = (_a) => {
150
150
  if (leveragedType !== '') {
151
151
  payload.leveragedAsset = leveragedAsset;
152
152
  let assetPrice = assetsData[leveragedAsset].price;
153
- if (leveragedType === 'lsd-leverage') {
153
+ if (leveragedType === common_1.LeverageType.LsdLeverage) {
154
154
  payload.leveragedLsdAssetRatio = new decimal_js_1.default(assetsData[leveragedAsset].price).div(assetsData.ETH.price).toString();
155
155
  assetPrice = new decimal_js_1.default(assetPrice).div(assetsData.ETH.price).toString();
156
156
  }
@@ -1,7 +1,7 @@
1
- import { EthAddress, EthereumProvider, NetworkNumber } from '../../types/common';
1
+ import { EthAddress, EthereumProvider, LeverageType, NetworkNumber } from '../../types/common';
2
2
  import { EulerV2AggregatedPositionData, EulerV2AssetsData, EulerV2UsedAssets } from '../../types';
3
3
  export declare const isLeveragedPos: (usedAssets: EulerV2UsedAssets, dustLimit?: number) => {
4
- leveragedType: string;
4
+ leveragedType: LeverageType;
5
5
  leveragedAsset: string;
6
6
  leveragedVault: string;
7
7
  };
@@ -26,6 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.getEulerV2SubAccounts = exports.getApyAfterValuesEstimationEulerV2 = exports.getEulerV2SupplyRate = exports.getUtilizationRate = exports.getEulerV2BorrowRate = exports.getEulerV2AggregatedData = exports.isLeveragedPos = void 0;
27
27
  const decimal_js_1 = __importDefault(require("decimal.js"));
28
28
  const tokens_1 = require("@defisaver/tokens");
29
+ const common_1 = require("../../types/common");
29
30
  const moneymarket_1 = require("../../moneymarket");
30
31
  const staking_1 = require("../../staking");
31
32
  const contracts_1 = require("../../contracts");
@@ -63,27 +64,27 @@ const isLeveragedPos = (usedAssets, dustLimit = 5) => {
63
64
  const isLsdLeveraged = supplyUnstable === 1 && borrowUnstable === 1 && shortAsset === 'ETH' && ['stETH', 'wstETH', 'cbETH', 'rETH'].includes(longAsset);
64
65
  if (isLong) {
65
66
  return {
66
- leveragedType: 'long',
67
+ leveragedType: common_1.LeverageType.Long,
67
68
  leveragedAsset: longAsset,
68
69
  leveragedVault: leverageAssetVault,
69
70
  };
70
71
  }
71
72
  if (isShort) {
72
73
  return {
73
- leveragedType: 'short',
74
+ leveragedType: common_1.LeverageType.Short,
74
75
  leveragedAsset: shortAsset,
75
76
  leveragedVault: leverageAssetVault,
76
77
  };
77
78
  }
78
79
  if (isLsdLeveraged) {
79
80
  return {
80
- leveragedType: 'lsd-leverage',
81
+ leveragedType: common_1.LeverageType.LsdLeverage,
81
82
  leveragedAsset: longAsset,
82
83
  leveragedVault: leverageAssetVault,
83
84
  };
84
85
  }
85
86
  return {
86
- leveragedType: '',
87
+ leveragedType: common_1.LeverageType.None,
87
88
  leveragedAsset: '',
88
89
  leveragedVault: '',
89
90
  };
@@ -113,7 +114,7 @@ const getEulerV2AggregatedData = (_a) => {
113
114
  if (leveragedType !== '') {
114
115
  payload.leveragedAsset = leveragedAsset;
115
116
  let assetPrice = assetsData[leveragedVault.toLowerCase()].price;
116
- if (leveragedType === 'lsd-leverage') {
117
+ if (leveragedType === common_1.LeverageType.LsdLeverage) {
117
118
  const ethAsset = Object.values(assetsData).find((asset) => ['WETH', 'ETH'].includes(asset.symbol));
118
119
  if (ethAsset) {
119
120
  payload.leveragedLsdAssetRatio = new decimal_js_1.default(assetsData[leveragedVault.toLowerCase()].price).div(ethAsset.price).toString();
@@ -9,6 +9,7 @@ const tokens_1 = require("@defisaver/tokens");
9
9
  const types_1 = require("../../types");
10
10
  const moneymarket_1 = require("../../moneymarket");
11
11
  const staking_1 = require("../../staking");
12
+ const common_1 = require("../../types/common");
12
13
  const utils_1 = require("../../services/utils");
13
14
  const calculateNetApyDex = ({ marketData, suppliedUsd, borrowedUsd }) => {
14
15
  const { borrowRate, supplyRate, incentiveBorrowRate, incentiveSupplyRate, tradingBorrowRate, tradingSupplyRate, } = marketData;
@@ -55,7 +56,7 @@ const getFluidAggregatedData = ({ usedAssets, assetsData, marketData, }, supplyS
55
56
  if (leveragedType !== '') {
56
57
  payload.leveragedAsset = leveragedAsset;
57
58
  let assetPrice = assetsData[leveragedAsset].price;
58
- if (leveragedType === 'lsd-leverage') {
59
+ if (leveragedType === common_1.LeverageType.LsdLeverage) {
59
60
  // Treat ETH like a stablecoin in a long stETH position
60
61
  payload.leveragedLsdAssetRatio = new decimal_js_1.default(assetsData[leveragedAsset].price).div(assetsData.ETH.price).toDP(18).toString();
61
62
  assetPrice = new decimal_js_1.default(assetPrice).div(assetsData.ETH.price).toString();
@@ -8,4 +8,3 @@ export * as llamaLendHelpers from './llamaLendHelpers';
8
8
  export * as liquityV2Helpers from './liquityV2Helpers';
9
9
  export * as eulerV2Helpers from './eulerHelpers';
10
10
  export * as fluidHelpers from './fluidHelpers';
11
- export * as aaveV4Helpers from './aaveV4Helpers';
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.aaveV4Helpers = exports.fluidHelpers = exports.eulerV2Helpers = exports.liquityV2Helpers = exports.llamaLendHelpers = exports.morphoBlueHelpers = exports.makerHelpers = exports.curveUsdHelpers = exports.sparkHelpers = exports.compoundHelpers = exports.aaveHelpers = void 0;
36
+ exports.fluidHelpers = exports.eulerV2Helpers = exports.liquityV2Helpers = exports.llamaLendHelpers = exports.morphoBlueHelpers = exports.makerHelpers = exports.curveUsdHelpers = exports.sparkHelpers = exports.compoundHelpers = exports.aaveHelpers = void 0;
37
37
  exports.aaveHelpers = __importStar(require("./aaveHelpers"));
38
38
  exports.compoundHelpers = __importStar(require("./compoundHelpers"));
39
39
  exports.sparkHelpers = __importStar(require("./sparkHelpers"));
@@ -44,4 +44,3 @@ exports.llamaLendHelpers = __importStar(require("./llamaLendHelpers"));
44
44
  exports.liquityV2Helpers = __importStar(require("./liquityV2Helpers"));
45
45
  exports.eulerV2Helpers = __importStar(require("./eulerHelpers"));
46
46
  exports.fluidHelpers = __importStar(require("./fluidHelpers"));
47
- exports.aaveV4Helpers = __importStar(require("./aaveV4Helpers"));
@@ -51,7 +51,7 @@ const getMorphoBlueAggregatedPositionData = ({ usedAssets, assetsData, marketInf
51
51
  if (leveragedType !== '') {
52
52
  payload.leveragedAsset = leveragedAsset;
53
53
  let assetPrice = assetsData[leveragedAsset].price;
54
- if (leveragedType === 'lsd-leverage') {
54
+ if (leveragedType === common_1.LeverageType.LsdLeverage) {
55
55
  // Treat ETH like a stablecoin in a long stETH position
56
56
  payload.leveragedLsdAssetRatio = new decimal_js_1.default(assetsData[leveragedAsset].price).div(assetsData.ETH.price).toDP(18).toString();
57
57
  assetPrice = new decimal_js_1.default(assetPrice).div(assetsData.ETH.price).toString();
@@ -128,73 +128,73 @@ const getApyAfterValuesEstimation = (selectedMarket, actions, provider, network)
128
128
  });
129
129
  exports.getApyAfterValuesEstimation = getApyAfterValuesEstimation;
130
130
  const API_URL = 'https://blue-api.morpho.org/graphql';
131
- const MARKET_QUERY = `
132
- query MarketByUniqueKey($uniqueKey: String!, $chainId: Int!) {
133
- marketByUniqueKey(uniqueKey: $uniqueKey, chainId: $chainId) {
134
- reallocatableLiquidityAssets
135
- targetBorrowUtilization
136
- loanAsset {
137
- address
138
- decimals
139
- priceUsd
140
- }
141
- state {
142
- liquidityAssets
143
- borrowAssets
144
- supplyAssets
145
- }
146
- publicAllocatorSharedLiquidity {
147
- assets
148
- vault {
149
- address
150
- name
151
- }
152
- allocationMarket {
153
- uniqueKey
154
- loanAsset {
155
- address
156
- }
157
- collateralAsset {
158
- address
159
- }
160
- irmAddress
161
- oracle {
162
- address
163
- }
164
- lltv
165
- }
166
- }
167
- loanAsset {
168
- address
169
- }
170
- collateralAsset {
171
- address
172
- }
173
- oracle {
174
- address
175
- }
176
- irmAddress
177
- lltv
178
- }
179
- }
131
+ const MARKET_QUERY = `
132
+ query MarketByUniqueKey($uniqueKey: String!, $chainId: Int!) {
133
+ marketByUniqueKey(uniqueKey: $uniqueKey, chainId: $chainId) {
134
+ reallocatableLiquidityAssets
135
+ targetBorrowUtilization
136
+ loanAsset {
137
+ address
138
+ decimals
139
+ priceUsd
140
+ }
141
+ state {
142
+ liquidityAssets
143
+ borrowAssets
144
+ supplyAssets
145
+ }
146
+ publicAllocatorSharedLiquidity {
147
+ assets
148
+ vault {
149
+ address
150
+ name
151
+ }
152
+ allocationMarket {
153
+ uniqueKey
154
+ loanAsset {
155
+ address
156
+ }
157
+ collateralAsset {
158
+ address
159
+ }
160
+ irmAddress
161
+ oracle {
162
+ address
163
+ }
164
+ lltv
165
+ }
166
+ }
167
+ loanAsset {
168
+ address
169
+ }
170
+ collateralAsset {
171
+ address
172
+ }
173
+ oracle {
174
+ address
175
+ }
176
+ irmAddress
177
+ lltv
178
+ }
179
+ }
180
180
  `;
181
- const REWARDS_QUERY = `
182
- query MarketByUniqueKey($uniqueKey: String!, $chainId: Int!) {
183
- marketByUniqueKey(uniqueKey: $uniqueKey, chainId: $chainId) {
184
- uniqueKey
185
- state {
186
- rewards {
187
- amountPerSuppliedToken
188
- supplyApr
189
- amountPerBorrowedToken
190
- borrowApr
191
- asset {
192
- address
193
- }
194
- }
195
- }
196
- }
197
- }
181
+ const REWARDS_QUERY = `
182
+ query MarketByUniqueKey($uniqueKey: String!, $chainId: Int!) {
183
+ marketByUniqueKey(uniqueKey: $uniqueKey, chainId: $chainId) {
184
+ uniqueKey
185
+ state {
186
+ rewards {
187
+ amountPerSuppliedToken
188
+ supplyApr
189
+ amountPerBorrowedToken
190
+ borrowApr
191
+ asset {
192
+ address
193
+ }
194
+ }
195
+ }
196
+ }
197
+ }
198
198
  `;
199
199
  /**
200
200
  * Get reallocatable liquidity to a given market and target borrow utilization
@@ -92,7 +92,7 @@ const sparkGetAggregatedPositionData = (_a) => {
92
92
  if (leveragedType !== '') {
93
93
  payload.leveragedAsset = leveragedAsset;
94
94
  let assetPrice = data.assetsData[leveragedAsset].price; // TODO sparkPrice or price??
95
- if (leveragedType === 'lsd-leverage') {
95
+ if (leveragedType === common_1.LeverageType.LsdLeverage) {
96
96
  // Treat ETH like a stablecoin in a long stETH position
97
97
  payload.leveragedLsdAssetRatio = new decimal_js_1.default(assetsData[leveragedAsset].price).div(assetsData.ETH.price).toDP(18).toString();
98
98
  assetPrice = new decimal_js_1.default(assetPrice).div(assetsData.ETH.price).toString();
package/cjs/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import './setup';
2
2
  import * as fluid from './fluid';
3
- import * as aaveV4 from './aaveV4';
4
3
  import * as aaveV3 from './aaveV3';
5
4
  import * as aaveV2 from './aaveV2';
6
5
  import * as compoundV3 from './compoundV3';
@@ -22,4 +21,4 @@ import * as portfolio from './portfolio';
22
21
  import * as claiming from './claiming';
23
22
  import * as savings from './savings';
24
23
  export * from './types';
25
- export { aaveV2, aaveV3, aaveV4, compoundV2, compoundV3, spark, curveUsd, liquity, liquityV2, maker, exchange, staking, moneymarket, markets, helpers, morphoBlue, llamaLend, eulerV2, fluid, portfolio, claiming, savings, };
24
+ export { aaveV2, aaveV3, compoundV2, compoundV3, spark, curveUsd, liquity, liquityV2, maker, exchange, staking, moneymarket, markets, helpers, morphoBlue, llamaLend, eulerV2, fluid, portfolio, claiming, savings, };
package/cjs/index.js CHANGED
@@ -36,12 +36,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
36
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.savings = exports.claiming = exports.portfolio = exports.fluid = exports.eulerV2 = exports.llamaLend = exports.morphoBlue = exports.helpers = exports.markets = exports.moneymarket = exports.staking = exports.exchange = exports.maker = exports.liquityV2 = exports.liquity = exports.curveUsd = exports.spark = exports.compoundV3 = exports.compoundV2 = exports.aaveV4 = exports.aaveV3 = exports.aaveV2 = void 0;
39
+ exports.savings = exports.claiming = exports.portfolio = exports.fluid = exports.eulerV2 = exports.llamaLend = exports.morphoBlue = exports.helpers = exports.markets = exports.moneymarket = exports.staking = exports.exchange = exports.maker = exports.liquityV2 = exports.liquity = exports.curveUsd = exports.spark = exports.compoundV3 = exports.compoundV2 = exports.aaveV3 = exports.aaveV2 = void 0;
40
40
  require("./setup");
41
41
  const fluid = __importStar(require("./fluid"));
42
42
  exports.fluid = fluid;
43
- const aaveV4 = __importStar(require("./aaveV4"));
44
- exports.aaveV4 = aaveV4;
45
43
  const aaveV3 = __importStar(require("./aaveV3"));
46
44
  exports.aaveV3 = aaveV3;
47
45
  const aaveV2 = __importStar(require("./aaveV2"));
@@ -7,4 +7,3 @@ export { LlamaLendMarkets } from './llamaLend';
7
7
  export { LiquityV2Markets, findLiquityV2MarketByAddress } from './liquityV2';
8
8
  export { EulerV2Markets } from './euler';
9
9
  export { FluidMarkets, getFluidVersionsDataForNetwork, getFluidMarketInfoById, getFTokenAddress, getFluidMarketInfoByAddress, } from './fluid';
10
- export { AaveV4Spokes } from './aaveV4';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AaveV4Spokes = exports.getFluidMarketInfoByAddress = exports.getFTokenAddress = exports.getFluidMarketInfoById = exports.getFluidVersionsDataForNetwork = exports.FluidMarkets = exports.EulerV2Markets = exports.findLiquityV2MarketByAddress = exports.LiquityV2Markets = exports.LlamaLendMarkets = exports.findMorphoBlueMarket = exports.MorphoBlueMarkets = exports.CrvUsdMarkets = exports.SparkMarkets = exports.v3USDTCollAssets = exports.v3USDCeCollAssets = exports.v3USDCCollAssets = exports.v3USDbCCollAssets = exports.v3ETHCollAssets = exports.compoundV2CollateralAssets = exports.CompoundMarkets = exports.getAaveV3MarketByMarketAddress = exports.aaveV3AssetsDefaultMarket = exports.aaveV2AssetsDefaultMarket = exports.aaveV1AssetsDefaultMarket = exports.AaveMarkets = void 0;
3
+ exports.getFluidMarketInfoByAddress = exports.getFTokenAddress = exports.getFluidMarketInfoById = exports.getFluidVersionsDataForNetwork = exports.FluidMarkets = exports.EulerV2Markets = exports.findLiquityV2MarketByAddress = exports.LiquityV2Markets = exports.LlamaLendMarkets = exports.findMorphoBlueMarket = exports.MorphoBlueMarkets = exports.CrvUsdMarkets = exports.SparkMarkets = exports.v3USDTCollAssets = exports.v3USDCeCollAssets = exports.v3USDCCollAssets = exports.v3USDbCCollAssets = exports.v3ETHCollAssets = exports.compoundV2CollateralAssets = exports.CompoundMarkets = exports.getAaveV3MarketByMarketAddress = exports.aaveV3AssetsDefaultMarket = exports.aaveV2AssetsDefaultMarket = exports.aaveV1AssetsDefaultMarket = exports.AaveMarkets = void 0;
4
4
  var aave_1 = require("./aave");
5
5
  Object.defineProperty(exports, "AaveMarkets", { enumerable: true, get: function () { return aave_1.AaveMarkets; } });
6
6
  Object.defineProperty(exports, "aaveV1AssetsDefaultMarket", { enumerable: true, get: function () { return aave_1.aaveV1AssetsDefaultMarket; } });
@@ -35,5 +35,3 @@ Object.defineProperty(exports, "getFluidVersionsDataForNetwork", { enumerable: t
35
35
  Object.defineProperty(exports, "getFluidMarketInfoById", { enumerable: true, get: function () { return fluid_1.getFluidMarketInfoById; } });
36
36
  Object.defineProperty(exports, "getFTokenAddress", { enumerable: true, get: function () { return fluid_1.getFTokenAddress; } });
37
37
  Object.defineProperty(exports, "getFluidMarketInfoByAddress", { enumerable: true, get: function () { return fluid_1.getFluidMarketInfoByAddress; } });
38
- var aaveV4_1 = require("./aaveV4");
39
- Object.defineProperty(exports, "AaveV4Spokes", { enumerable: true, get: function () { return aaveV4_1.AaveV4Spokes; } });
@@ -1,12 +1,12 @@
1
- import { MMUsedAssets } from '../types/common';
1
+ import { LeverageType, MMUsedAssets } from '../types/common';
2
2
  export declare const getAssetsTotal: (assets: object, filter: any, transform: any) => any;
3
3
  export declare const calcLongLiqPrice: (assetPrice: string, borrowedUsd: string, borrowLimitUsd: string) => string;
4
4
  export declare const calcShortLiqPrice: (assetPrice: string, borrowedUsd: string, borrowLimitUsd: string) => string;
5
- export declare const calcLeverageLiqPrice: (leverageType: string, assetPrice: string, borrowedUsd: string, borrowLimitUsd: string) => string;
5
+ export declare const calcLeverageLiqPrice: (leverageType: LeverageType, assetPrice: string, borrowedUsd: string, borrowLimitUsd: string) => string;
6
6
  export declare const calculateBorrowingAssetLimit: (assetBorrowedUsd: string, borrowLimitUsd: string) => string;
7
7
  export declare const STABLE_ASSETS: string[];
8
8
  export declare const isLeveragedPos: (usedAssets: MMUsedAssets, dustLimit?: number) => {
9
- leveragedType: string;
9
+ leveragedType: LeverageType;
10
10
  leveragedAsset: string;
11
11
  };
12
12
  export declare const aprToApy: (interest: string | number, frequency?: number) => string;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.aprToApy = exports.isLeveragedPos = exports.STABLE_ASSETS = exports.calculateBorrowingAssetLimit = exports.calcLeverageLiqPrice = exports.calcShortLiqPrice = exports.calcLongLiqPrice = exports.getAssetsTotal = void 0;
7
7
  const decimal_js_1 = __importDefault(require("decimal.js"));
8
8
  const constants_1 = require("../constants");
9
+ const common_1 = require("../types/common");
9
10
  const getAssetsTotal = (assets, filter, transform) => Object.values(assets)
10
11
  .filter(filter)
11
12
  .map(transform)
@@ -17,9 +18,9 @@ exports.calcLongLiqPrice = calcLongLiqPrice;
17
18
  const calcShortLiqPrice = (assetPrice, borrowedUsd, borrowLimitUsd) => new decimal_js_1.default(assetPrice).div(borrowedUsd).mul(borrowLimitUsd).toString();
18
19
  exports.calcShortLiqPrice = calcShortLiqPrice;
19
20
  const calcLeverageLiqPrice = (leverageType, assetPrice, borrowedUsd, borrowLimitUsd) => {
20
- if (leverageType === 'short')
21
+ if (leverageType === common_1.LeverageType.Short || leverageType === common_1.LeverageType.VolatilePairReverse)
21
22
  return (0, exports.calcShortLiqPrice)(assetPrice, borrowedUsd, borrowLimitUsd);
22
- if (leverageType === 'long' || leverageType === 'lsd-leverage')
23
+ if (leverageType === common_1.LeverageType.Long || leverageType === common_1.LeverageType.LsdLeverage || leverageType === common_1.LeverageType.VolatilePair)
23
24
  return (0, exports.calcLongLiqPrice)(assetPrice, borrowedUsd, borrowLimitUsd);
24
25
  console.error('invalid leverageType', leverageType);
25
26
  return '0';
@@ -60,26 +61,33 @@ const isLeveragedPos = (usedAssets, dustLimit = 5) => {
60
61
  const isShort = supplyStable > 0 && supplyUnstable === 0 && borrowUnstable === 1 && borrowStable === 0;
61
62
  // lsd -> liquid staking derivative
62
63
  const isLsdLeveraged = supplyUnstable === 1 && borrowUnstable === 1 && shortAsset === 'ETH' && ['stETH', 'wstETH', 'cbETH', 'rETH', 'ezETH', 'weETH'].includes(longAsset);
64
+ const isVolatilePair = supplyUnstable === 1 && borrowUnstable === 1 && supplyStable === 0 && borrowStable === 0;
63
65
  if (isLong) {
64
66
  return {
65
- leveragedType: 'long',
67
+ leveragedType: common_1.LeverageType.Long,
66
68
  leveragedAsset: longAsset,
67
69
  };
68
70
  }
69
71
  if (isShort) {
70
72
  return {
71
- leveragedType: 'short',
73
+ leveragedType: common_1.LeverageType.Short,
72
74
  leveragedAsset: shortAsset,
73
75
  };
74
76
  }
75
77
  if (isLsdLeveraged) {
76
78
  return {
77
- leveragedType: 'lsd-leverage',
79
+ leveragedType: common_1.LeverageType.LsdLeverage,
80
+ leveragedAsset: longAsset,
81
+ };
82
+ }
83
+ if (isVolatilePair) {
84
+ return {
85
+ leveragedType: common_1.LeverageType.VolatilePair,
78
86
  leveragedAsset: longAsset,
79
87
  };
80
88
  }
81
89
  return {
82
- leveragedType: '',
90
+ leveragedType: common_1.LeverageType.None,
83
91
  leveragedAsset: '',
84
92
  };
85
93
  };
@@ -40,7 +40,6 @@ const spark_2 = require("../claiming/spark");
40
40
  const morphoBlue_2 = require("../claiming/morphoBlue");
41
41
  const king_1 = require("../claiming/king");
42
42
  const ethena_1 = require("../claiming/ethena");
43
- const aaveV4_1 = require("../aaveV4");
44
43
  function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1) {
45
44
  return __awaiter(this, arguments, void 0, function* (provider, network, defaultProvider, addresses, isSim = false) {
46
45
  const isMainnet = network === common_1.NetworkNumber.Eth;
@@ -57,7 +56,6 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
57
56
  const llamaLendMarkets = [common_1.NetworkNumber.Eth, common_1.NetworkNumber.Arb].includes(network) ? Object.values((0, markets_1.LlamaLendMarkets)(network)).filter((market) => market.chainIds.includes(network)) : [];
58
57
  const liquityV2Markets = [common_1.NetworkNumber.Eth].includes(network) ? Object.values((0, markets_1.LiquityV2Markets)(network)) : [];
59
58
  const liquityV2MarketsStaking = [common_1.NetworkNumber.Eth].includes(network) ? Object.values((0, markets_1.LiquityV2Markets)(network)).filter(market => !market.isLegacy) : [];
60
- const aaveV4Spokes = Object.values((0, markets_1.AaveV4Spokes)(network)).filter((market) => market.chainIds.includes(network));
61
59
  const args = [network, { batch: { multicall: { batchSize: isSim ? 500000 : 2500000 } } }];
62
60
  const client = (0, viem_1.getViemProvider)(provider, ...args);
63
61
  const defaultClient = (0, viem_1.getViemProvider)(defaultProvider, ...args);
@@ -72,7 +70,6 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
72
70
  const crvUsdMarketsData = {};
73
71
  const llamaLendMarketsData = {};
74
72
  const liquityV2MarketsData = {};
75
- const aaveV4SpokesData = {};
76
73
  const markets = {
77
74
  morphoMarketsData,
78
75
  compoundV3MarketsData,
@@ -84,7 +81,6 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
84
81
  crvUsdMarketsData,
85
82
  llamaLendMarketsData,
86
83
  liquityV2MarketsData,
87
- aaveV4SpokesData,
88
84
  };
89
85
  const positions = {};
90
86
  const stakingPositions = {};
@@ -93,7 +89,6 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
93
89
  for (const address of allAddresses) {
94
90
  positions[address.toLowerCase()] = {
95
91
  aaveV3: {},
96
- aaveV4: {},
97
92
  morphoBlue: {},
98
93
  compoundV3: {},
99
94
  spark: {},
@@ -159,10 +154,6 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
159
154
  const marketData = yield (0, aaveV3_1._getAaveV3MarketData)(client, network, market);
160
155
  aaveV3MarketsData[market.value] = marketData;
161
156
  })),
162
- ...aaveV4Spokes.map((spoke) => __awaiter(this, void 0, void 0, function* () {
163
- const spokeData = yield (0, aaveV4_1._getAaveV4SpokeData)(client, network, spoke);
164
- aaveV4SpokesData[spoke.value] = spokeData;
165
- })),
166
157
  ...aaveV2Markets.map((market) => __awaiter(this, void 0, void 0, function* () {
167
158
  const marketData = yield (0, aaveV2_1._getAaveV2MarketsData)(client, network, market);
168
159
  aaveV2MarketsData[market.value] = marketData;
@@ -432,17 +423,6 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
432
423
  positions[address.toLowerCase()].aaveV3[market.value] = { error: `Error fetching AaveV3 account data for address ${address} on market ${market.value}`, data: null };
433
424
  }
434
425
  }))).flat(),
435
- ...aaveV4Spokes.map((spoke) => allAddresses.map((address) => __awaiter(this, void 0, void 0, function* () {
436
- try {
437
- const accData = yield (0, aaveV4_1._getAaveV4AccountData)(client, network, aaveV4SpokesData[spoke.value], address);
438
- if (new decimal_js_1.default(accData.suppliedUsd).gt(0))
439
- positions[address.toLowerCase()].aaveV4[spoke.value] = { error: '', data: accData };
440
- }
441
- catch (error) {
442
- console.error(`Error fetching AaveV4 account data for address ${address} on spoke ${spoke.value}:`, error);
443
- positions[address.toLowerCase()].aaveV4[spoke.value] = { error: `Error fetching AaveV4 account data for address ${address} on spoke ${spoke.value}`, data: null };
444
- }
445
- }))).flat(),
446
426
  ...morphoMarkets.map((market) => addresses.map((address) => __awaiter(this, void 0, void 0, function* () {
447
427
  try {
448
428
  const [accDataPromise, earnDataPromise] = yield Promise.allSettled([
@@ -54,23 +54,23 @@ const morphoVaultsOptions = __importStar(require("./options"));
54
54
  exports.morphoVaultsOptions = morphoVaultsOptions;
55
55
  const viem_1 = require("../../services/viem");
56
56
  const contracts_1 = require("../../contracts");
57
- const vaultDataQuery = (vaultAddress) => `query vaultByAddress {
58
- vaultByAddress(chainId: 1, address: "${vaultAddress}") {
59
- id,
60
- dailyApy,
61
- dailyApys {
62
- apy, netApy
63
- },
64
- monthlyApys {
65
- apy, netApy
66
- },
67
- liquidity {
68
- underlying, usd,
69
- },
70
- asset {
71
- priceUsd
72
- }
73
- }
57
+ const vaultDataQuery = (vaultAddress) => `query vaultByAddress {
58
+ vaultByAddress(chainId: 1, address: "${vaultAddress}") {
59
+ id,
60
+ dailyApy,
61
+ dailyApys {
62
+ apy, netApy
63
+ },
64
+ monthlyApys {
65
+ apy, netApy
66
+ },
67
+ liquidity {
68
+ underlying, usd,
69
+ },
70
+ asset {
71
+ priceUsd
72
+ }
73
+ }
74
74
  }`;
75
75
  const MORPHO_BLUE_API = 'https://blue-api.morpho.org/graphql';
76
76
  const _getMorphoVaultData = (provider, network, morphoVault, accounts) => __awaiter(void 0, void 0, void 0, function* () {
@@ -1,4 +1,4 @@
1
- import { IncentiveData, MMAssetData, MMPositionData, MMUsedAsset, NetworkNumber } from './common';
1
+ import { IncentiveData, LeverageType, MMAssetData, MMPositionData, MMUsedAsset, NetworkNumber } from './common';
2
2
  export declare enum AaveVersions {
3
3
  AaveV1 = "v1",
4
4
  AaveV2 = "v2default",
@@ -161,7 +161,7 @@ export interface AaveV3AggregatedPositionData {
161
161
  totalInterestUsd: string;
162
162
  liqRatio: string;
163
163
  liqPercent: string;
164
- leveragedType: string;
164
+ leveragedType: LeverageType;
165
165
  leveragedAsset?: string;
166
166
  leveragedLsdAssetRatio?: string;
167
167
  liquidationPrice?: string;
@@ -169,6 +169,7 @@ export interface AaveV3AggregatedPositionData {
169
169
  collLiquidationRatio?: string;
170
170
  healthRatio?: string;
171
171
  minHealthRatio?: string;
172
+ currentVolatilePairRatio?: string;
172
173
  }
173
174
  export interface AaveHelperCommon {
174
175
  usedAssets: any;