@1delta/margin-fetcher 0.0.15 → 0.0.17

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 (37) hide show
  1. package/dist/abis/oracle/ProxyOracle.d.ts +12 -0
  2. package/dist/abis/oracle/ProxyOracle.d.ts.map +1 -0
  3. package/dist/abis/oracle/ProxyOracle.js +15 -0
  4. package/dist/lending/aave-v3-type/publicCallParse.d.ts +4 -4
  5. package/dist/lending/aave-v3-type/publicCallParse.d.ts.map +1 -1
  6. package/dist/lending/aave-v3-type/publicCallParse.js +68 -44
  7. package/dist/lending/fetchLender.d.ts.map +1 -1
  8. package/dist/lending/morpho/convertPublic.d.ts.map +1 -1
  9. package/dist/lending/morpho/convertPublic.js +8 -2
  10. package/dist/lending/morpho/fetchPublic.d.ts.map +1 -1
  11. package/dist/lending/morpho/types.d.ts +2 -0
  12. package/dist/lending/morpho/types.d.ts.map +1 -1
  13. package/dist/lending/user-data/morpho/userCallParse.d.ts.map +1 -1
  14. package/dist/lending/user-data/morpho/userCallParse.js +60 -0
  15. package/dist/prices/main-prices/addresses/morpho.d.ts +11 -0
  16. package/dist/prices/main-prices/addresses/morpho.d.ts.map +1 -0
  17. package/dist/prices/main-prices/addresses/morpho.js +903 -0
  18. package/dist/prices/main-prices/fetchOracleData.d.ts +1 -0
  19. package/dist/prices/main-prices/fetchOracleData.d.ts.map +1 -1
  20. package/dist/prices/main-prices/fetchOracleData.js +70 -4
  21. package/dist/types/providers.d.ts +1 -1
  22. package/dist/types/providers.d.ts.map +1 -1
  23. package/package.json +1 -1
  24. package/src/abis/oracle/ProxyOracle.ts +15 -0
  25. package/src/lending/aave-v3-type/publicCallParse.ts +312 -110
  26. package/src/lending/fetchLender.ts +1 -0
  27. package/src/lending/morpho/convertPublic.ts +10 -3
  28. package/src/lending/morpho/fetchPublic.ts +0 -1
  29. package/src/lending/morpho/types.ts +5 -0
  30. package/src/lending/user-data/morpho/userCallParse.ts +63 -0
  31. package/src/prices/main-prices/addresses/morpho.ts +912 -0
  32. package/src/prices/main-prices/fetchOracleData.ts +120 -8
  33. package/src/types/providers.ts +4 -3
  34. package/test/mainPriceMB.test.ts +32 -0
  35. package/test/morpho.ts +66 -0
  36. package/test/morphoPrice.test.ts +31 -0
  37. package/test/userDataAll.test.ts +82 -0
@@ -0,0 +1,12 @@
1
+ export declare const ProxyOracleAbi: readonly [{
2
+ readonly inputs: readonly [];
3
+ readonly name: "price";
4
+ readonly outputs: readonly [{
5
+ readonly internalType: "uint256";
6
+ readonly name: "";
7
+ readonly type: "uint256";
8
+ }];
9
+ readonly stateMutability: "view";
10
+ readonly type: "function";
11
+ }];
12
+ //# sourceMappingURL=ProxyOracle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProxyOracle.d.ts","sourceRoot":"","sources":["../../../src/abis/oracle/ProxyOracle.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;EAcjB,CAAA"}
@@ -0,0 +1,15 @@
1
+ export const ProxyOracleAbi = [
2
+ {
3
+ inputs: [],
4
+ name: 'price',
5
+ outputs: [
6
+ {
7
+ internalType: 'uint256',
8
+ name: '',
9
+ type: 'uint256',
10
+ },
11
+ ],
12
+ stateMutability: 'view',
13
+ type: 'function',
14
+ },
15
+ ];
@@ -1,7 +1,7 @@
1
- import { AaveV3GeneralPublicResponse } from "./types";
2
- import { AdditionalYields } from "../../types";
3
- import { Lender } from "@1delta/asset-registry";
4
- import { GenericTokenList } from "../types";
1
+ import { AaveV3GeneralPublicResponse } from './types';
2
+ import { AdditionalYields } from '../../types';
3
+ import { Lender } from '@1delta/asset-registry';
4
+ import { GenericTokenList } from '../types';
5
5
  export declare const getAaveV3ReservesDataConverter: (lender: Lender, chainId: string, prices: {
6
6
  [asset: string]: number;
7
7
  }, additionalYields: AdditionalYields, tokenList?: GenericTokenList) => [(data: any[]) => AaveV3GeneralPublicResponse | undefined, number];
@@ -1 +1 @@
1
- {"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../src/lending/aave-v3-type/publicCallParse.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAK5B,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,eAAO,MAAM,8BAA8B,GACzC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,YAAW,gBAAqB,KAC/B,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,2BAA2B,GAAG,SAAS,EAAE,MAAM,CAwHnE,CAAA;AA0BD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,SAAS,EAAE,MAAM,CAAC,CAgF7J"}
1
+ {"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../src/lending/aave-v3-type/publicCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAK5B,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAQ/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,eAAO,MAAM,8BAA8B,GACzC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,YAAW,gBAAqB,KAC/B,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,2BAA2B,GAAG,SAAS,EAAE,MAAM,CA2MnE,CAAA;AA0BD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,GAAG,EACrB,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,GAAG,GACb,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,SAAS,EAAE,MAAM,CAAC,CA0H5C"}
@@ -1,14 +1,15 @@
1
- import { AaveV3GetreserveConfigDataIndexes, AaveV3GetReservesIndexes, YLDRTypeGetReserveConfigurationData, YLDRTypeGetReserveDataIndexes } from "./types";
2
- import { AAVE_V3_EMODES } from "./publicCallBuild";
3
- import { BPS, formatAaveRawApyToApr, parseRawAmount } from "../../utils/parsing";
4
- import { Lender } from "@1delta/asset-registry";
5
- import { getAaveAssets, getAssetMeta, LENDER_MODE_NO_MODE, toGenericPriceKey, toOracleKey } from "../../assets";
1
+ import { AaveV3GetreserveConfigDataIndexes, AaveV3GetReservesIndexes, YLDRTypeGetReserveConfigurationData, YLDRTypeGetReserveDataIndexes, } from './types';
2
+ import { AAVE_V3_EMODES } from './publicCallBuild';
3
+ import { BPS, formatAaveRawApyToApr, parseRawAmount } from '../../utils/parsing';
4
+ import { Lender } from '@1delta/asset-registry';
5
+ import { getAaveAssets, getAssetMeta, LENDER_MODE_NO_MODE, toGenericPriceKey, toOracleKey, } from '../../assets';
6
6
  export const getAaveV3ReservesDataConverter = (lender, chainId, prices, additionalYields, tokenList = {}) => {
7
- if (lender.includes("AAVE_V3"))
7
+ if (lender.startsWith('AAVE_V3'))
8
8
  return parseAave32(chainId, lender, prices, additionalYields, tokenList);
9
9
  switch (lender) {
10
10
  /** AAVE V3 style with rewards from state */
11
- case Lender.YLDR: return parseYLDRCall(chainId, lender, additionalYields, prices, tokenList);
11
+ case Lender.YLDR:
12
+ return parseYLDRCall(chainId, lender, additionalYields, prices, tokenList);
12
13
  default: {
13
14
  const assetsToQuery = getAaveAssets(chainId, lender);
14
15
  const expectedNumberOfCalls = assetsToQuery.length * 6 + AAVE_V3_EMODES.length + 1;
@@ -29,7 +30,7 @@ export const getAaveV3ReservesDataConverter = (lender, chainId, prices, addition
29
30
  label: rawCfg.label,
30
31
  borrowCollateralFactor: rawCfg.ltv / BPS,
31
32
  collateralFactor: rawCfg.liquidationThreshold / BPS,
32
- borrowFactor: 1
33
+ borrowFactor: 1,
33
34
  };
34
35
  });
35
36
  for (let i = 0; i < assetsToQuery.length; i++) {
@@ -41,13 +42,19 @@ export const getAaveV3ReservesDataConverter = (lender, chainId, prices, addition
41
42
  const reserveCaps = data[i * 6 + 3];
42
43
  const debtCeiling = data[i * 6 + 4];
43
44
  const reserveEMode = data[i * 6 + 5];
44
- const assetMeta = tokenList[asset] ?? { ...getAssetMeta(chainId, asset), address: asset };
45
+ const assetMeta = tokenList[asset] ?? {
46
+ ...getAssetMeta(chainId, asset),
47
+ address: asset,
48
+ };
45
49
  const decimals = assetMeta?.decimals ?? 18;
46
50
  const totalDeposits = parseRawAmount(reserveData?.[AaveV3GetReservesIndexes.totalAToken]?.toString(), decimals);
47
51
  const totalDebtStable = parseRawAmount(reserveData?.[AaveV3GetReservesIndexes.totalStableDebt]?.toString(), decimals);
48
52
  const totalDebt = parseRawAmount(reserveData?.[AaveV3GetReservesIndexes.totalVariableDebt]?.toString(), decimals);
49
- const liquidity = Number(totalDeposits) - Number(totalDebt) - Number(totalDebtStable);
50
- const price = prices[toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(asset, chainId)];
53
+ const liquidity = Number(totalDeposits) -
54
+ Number(totalDebt) -
55
+ Number(totalDebtStable);
56
+ const price = prices[toOracleKey(assetMeta?.assetGroup) ??
57
+ toGenericPriceKey(asset, chainId)];
51
58
  resultReserves[asset] = {
52
59
  poolId: asset,
53
60
  underlying: asset,
@@ -75,16 +82,20 @@ export const getAaveV3ReservesDataConverter = (lender, chainId, prices, addition
75
82
  ...resultReserves[asset],
76
83
  decimals: Number(configData?.[AaveV3GetreserveConfigDataIndexes.decimals]),
77
84
  config: {
78
- ...populateEModes(Number(configData?.[AaveV3GetreserveConfigDataIndexes.ltv]) / BPS, Number(configData?.[AaveV3GetreserveConfigDataIndexes.liquidationThreshold]) / BPS),
79
- ...(eModeCategory !== 0 ? {
80
- [eModeCategory]: {
81
- category: eModeCategory,
82
- label: eModeConfigs[eModeCategory]?.label ?? "Default",
83
- borrowCollateralFactor: eModeConfigs[eModeCategory]?.borrowCollateralFactor ?? 0,
84
- collateralFactor: eModeConfigs[eModeCategory]?.collateralFactor ?? 0,
85
- borrowFactor: 1
85
+ ...populateEModes(Number(configData?.[AaveV3GetreserveConfigDataIndexes.ltv]) /
86
+ BPS, Number(configData?.[AaveV3GetreserveConfigDataIndexes.liquidationThreshold]) / BPS),
87
+ ...(eModeCategory !== 0
88
+ ? {
89
+ [eModeCategory]: {
90
+ category: eModeCategory,
91
+ label: eModeConfigs[eModeCategory]?.label ?? 'Default',
92
+ borrowCollateralFactor: eModeConfigs[eModeCategory]?.borrowCollateralFactor ??
93
+ 0,
94
+ collateralFactor: eModeConfigs[eModeCategory]?.collateralFactor ?? 0,
95
+ borrowFactor: 1,
96
+ },
86
97
  }
87
- } : {})
98
+ : {}),
88
99
  },
89
100
  // flags
90
101
  collateralActive: configData?.[AaveV3GetreserveConfigDataIndexes.usageAsCollateralEnabled],
@@ -97,13 +108,13 @@ export const getAaveV3ReservesDataConverter = (lender, chainId, prices, addition
97
108
  // caps
98
109
  borrowCap: Number(reserveCaps[0]?.toString()),
99
110
  supplyCap: Number(reserveCaps[1]?.toString()),
100
- debtCeiling: parseRawAmount(debtCeiling[i]?.toString(), Number(decimalsCeiling?.toString()))
111
+ debtCeiling: parseRawAmount(debtCeiling[i]?.toString(), Number(decimalsCeiling?.toString())),
101
112
  };
102
113
  }
103
114
  return {
104
115
  data: resultReserves,
105
116
  chainId,
106
- eModes: eModeConfigs
117
+ eModes: eModeConfigs,
107
118
  };
108
119
  },
109
120
  expectedNumberOfCalls,
@@ -113,12 +124,12 @@ export const getAaveV3ReservesDataConverter = (lender, chainId, prices, addition
113
124
  };
114
125
  const populateEModes = (borrowCollateralFactor, collateralFactor) => {
115
126
  let data = {};
116
- AAVE_V3_EMODES.forEach(e => {
127
+ AAVE_V3_EMODES.forEach((e) => {
117
128
  data[e] = {
118
129
  category: e,
119
130
  borrowCollateralFactor,
120
131
  collateralFactor,
121
- borrowFactor: 1
132
+ borrowFactor: 1,
122
133
  };
123
134
  });
124
135
  return data;
@@ -140,12 +151,16 @@ export function parseYLDRCall(chainId, lender, additionalYields, prices, tokenLi
140
151
  const asset = assetsToQuery[i];
141
152
  const reserveData = data[i * 2];
142
153
  const configData = data[i * 2 + 1];
143
- const assetMeta = tokenList[asset] ?? { ...getAssetMeta(chainId, asset), address: asset };
154
+ const assetMeta = tokenList[asset] ?? {
155
+ ...getAssetMeta(chainId, asset),
156
+ address: asset,
157
+ };
144
158
  const decimals = assetMeta?.decimals ?? 18;
145
159
  const totalVariableDebt = parseRawAmount(reserveData?.[YLDRTypeGetReserveDataIndexes.totalVariableDebt]?.toString(), decimals);
146
160
  const totalAToken = parseRawAmount(reserveData?.[YLDRTypeGetReserveDataIndexes.totalYToken]?.toString(), decimals);
147
161
  const liquidity = Number(totalAToken) - Number(totalVariableDebt);
148
- const oracleKey = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(asset, chainId);
162
+ const oracleKey = toOracleKey(assetMeta?.assetGroup) ??
163
+ toGenericPriceKey(asset, chainId);
149
164
  const price = prices[oracleKey] ?? 1;
150
165
  const totalDepositsUSD = Number(totalAToken) * price;
151
166
  const totalDebtUSD = Number(totalVariableDebt) * price;
@@ -177,8 +192,8 @@ export function parseYLDRCall(chainId, lender, additionalYields, prices, tokenLi
177
192
  // collateral factors
178
193
  borrowCollateralFactor: Number(configData?.[YLDRTypeGetReserveConfigurationData.ltv]?.toString()) / BPS,
179
194
  collateralFactor: Number(configData?.[YLDRTypeGetReserveConfigurationData.liquidationThreshold]?.toString()) / BPS,
180
- borrowFactor: 1
181
- }
195
+ borrowFactor: 1,
196
+ },
182
197
  },
183
198
  liquidationBonus: Number(configData?.[YLDRTypeGetReserveConfigurationData.liquidationBonus]?.toString()) / BPS,
184
199
  // flags
@@ -192,7 +207,7 @@ export function parseYLDRCall(chainId, lender, additionalYields, prices, tokenLi
192
207
  return {
193
208
  data: resultReserves,
194
209
  chainId,
195
- eModes: {}
210
+ eModes: {},
196
211
  };
197
212
  },
198
213
  expectedNumberOfCalls,
@@ -221,13 +236,13 @@ function parseAave32(chainId, lender, prices, additionalYields, tokenList) {
221
236
  label: rawCfg.label,
222
237
  borrowCollateralFactor: rawCfg.ltv / BPS,
223
238
  collateralFactor: rawCfg.liquidationThreshold / BPS,
224
- borrowFactor: 1
239
+ borrowFactor: 1,
225
240
  };
226
241
  debtBitmap[mode] = emodeDataResult[3 * index + 1];
227
242
  collateralBitmap[mode] = emodeDataResult[3 * index + 2];
228
243
  });
229
244
  // we get the reserves list to obtain the index per reserve
230
- const lowerReservesList = reservesList.map(a => a.toLowerCase());
245
+ const lowerReservesList = reservesList?.map((a) => a.toLowerCase());
231
246
  for (let i = 0; i < assetsToQuery.length; i++) {
232
247
  const asset = assetsToQuery[i];
233
248
  const reserveData = data[i * 5];
@@ -236,13 +251,17 @@ function parseAave32(chainId, lender, prices, additionalYields, tokenList) {
236
251
  // const siloedBorrowing = data[i * 5 + 2]
237
252
  const reserveCaps = data[i * 5 + 3];
238
253
  const debtCeiling = data[i * 5 + 4];
239
- const assetMeta = tokenList[asset] ?? { ...getAssetMeta(chainId, asset), address: asset };
254
+ const assetMeta = tokenList[asset] ?? {
255
+ ...getAssetMeta(chainId, asset),
256
+ address: asset,
257
+ };
240
258
  const decimals = assetMeta?.decimals ?? 18;
241
259
  const totalDeposits = parseRawAmount(reserveData?.[AaveV3GetReservesIndexes.totalAToken]?.toString(), decimals);
242
260
  const totalDebtStable = parseRawAmount(reserveData?.[AaveV3GetReservesIndexes.totalStableDebt]?.toString(), decimals);
243
261
  const totalDebt = parseRawAmount(reserveData?.[AaveV3GetReservesIndexes.totalVariableDebt]?.toString(), decimals);
244
262
  const liquidity = Number(totalDeposits) - Number(totalDebt) - Number(totalDebtStable);
245
- const price = prices[toOracleKey(assetMeta?.assetGroup)] ?? toGenericPriceKey(asset, chainId);
263
+ const price = prices[toOracleKey(assetMeta?.assetGroup)] ??
264
+ toGenericPriceKey(asset, chainId);
246
265
  resultReserves[asset] = {
247
266
  poolId: asset,
248
267
  underlying: asset,
@@ -265,22 +284,27 @@ function parseAave32(chainId, lender, prices, additionalYields, tokenList) {
265
284
  // rewards
266
285
  rewards: {},
267
286
  };
268
- const activeEmodes = AAVE_V3_EMODES.map(mode => isReserveEnabledOnBitmap(debtBitmap[mode], lowerReservesList.indexOf(asset)) || isReserveEnabledOnBitmap(collateralBitmap[mode], lowerReservesList.indexOf(asset)) ? mode : -1).filter(m => m !== undefined && m > 0);
287
+ const activeEmodes = AAVE_V3_EMODES.map((mode) => isReserveEnabledOnBitmap(debtBitmap[mode], lowerReservesList.indexOf(asset)) ||
288
+ isReserveEnabledOnBitmap(collateralBitmap[mode], lowerReservesList.indexOf(asset))
289
+ ? mode
290
+ : -1).filter((m) => m !== undefined && m > 0);
269
291
  const eModeCategory = activeEmodes.length === 0 ? 0 : activeEmodes[0]; // Number(emodeResult[index].toString())
270
292
  resultReserves[asset] = {
271
293
  ...resultReserves[asset],
272
294
  decimals: Number(configData?.[AaveV3GetreserveConfigDataIndexes.decimals]),
273
295
  config: {
274
296
  ...populateEModes(Number(configData?.[AaveV3GetreserveConfigDataIndexes.ltv]) / BPS, Number(configData?.[AaveV3GetreserveConfigDataIndexes.liquidationThreshold]) / BPS),
275
- ...(eModeCategory !== 0 ? {
276
- [eModeCategory]: {
277
- category: eModeCategory,
278
- label: eModeConfigs[eModeCategory]?.label ?? "Default",
279
- borrowCollateralFactor: eModeConfigs[eModeCategory]?.borrowCollateralFactor ?? 0,
280
- collateralFactor: eModeConfigs[eModeCategory]?.collateralFactor ?? 0,
281
- borrowFactor: 1
297
+ ...(eModeCategory !== 0
298
+ ? {
299
+ [eModeCategory]: {
300
+ category: eModeCategory,
301
+ label: eModeConfigs[eModeCategory]?.label ?? 'Default',
302
+ borrowCollateralFactor: eModeConfigs[eModeCategory]?.borrowCollateralFactor ?? 0,
303
+ collateralFactor: eModeConfigs[eModeCategory]?.collateralFactor ?? 0,
304
+ borrowFactor: 1,
305
+ },
282
306
  }
283
- } : {})
307
+ : {}),
284
308
  },
285
309
  // flags
286
310
  collateralActive: configData?.[AaveV3GetreserveConfigDataIndexes.usageAsCollateralEnabled],
@@ -293,13 +317,13 @@ function parseAave32(chainId, lender, prices, additionalYields, tokenList) {
293
317
  // caps
294
318
  borrowCap: Number(reserveCaps[0]?.toString()),
295
319
  supplyCap: Number(reserveCaps[1]?.toString()),
296
- debtCeiling: parseRawAmount(debtCeiling[i]?.toString(), Number(decimalsCeiling?.toString()))
320
+ debtCeiling: parseRawAmount(debtCeiling[i]?.toString(), Number(decimalsCeiling?.toString())),
297
321
  };
298
322
  }
299
323
  return {
300
324
  data: resultReserves,
301
325
  chainId,
302
- eModes: eModeConfigs
326
+ eModes: eModeConfigs,
303
327
  };
304
328
  },
305
329
  expectedNumberOfCalls,
@@ -1 +1 @@
1
- {"version":3,"file":"fetchLender.d.ts","sourceRoot":"","sources":["../../src/lending/fetchLender.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAWnE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AA+E1C,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,gBAAgB,sBAAsB,EACtC,YAAW,MAAM,OAAO,CAAC,gBAAgB,CAExC,KACA,OAAO,CAAC;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAqDnC,CAAA"}
1
+ {"version":3,"file":"fetchLender.d.ts","sourceRoot":"","sources":["../../src/lending/fetchLender.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAWnE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AA+E1C,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,gBAAgB,sBAAsB,EACtC,YAAW,MAAM,OAAO,CAAC,gBAAgB,CAExC,KACA,OAAO,CAAC;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAsDnC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"convertPublic.d.ts","sourceRoot":"","sources":["../../../src/lending/morpho/convertPublic.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAE3B,kBAAkB,EACnB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAc3C,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,MAAM,EACf,gBAAgB,GAAE,gBAIjB,EACD,MAAM,GAAE,gBAAqB,GAC3B;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,2BAA2B,CAAA;CAAE,CAyH/C"}
1
+ {"version":3,"file":"convertPublic.d.ts","sourceRoot":"","sources":["../../../src/lending/morpho/convertPublic.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAE3B,kBAAkB,EACnB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAc3C,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,MAAM,EACf,gBAAgB,GAAE,gBAIjB,EACD,MAAM,GAAE,gBAAqB,GAC5B;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,2BAA2B,CAAA;CAAE,CAgI9C"}
@@ -35,15 +35,19 @@ export function convertMarketsToMorphoResponse(response, chainId, additionalYiel
35
35
  // })
36
36
  const loanAssetAddress = loanAsset.address.toLowerCase();
37
37
  const meta = tokens[loanAssetAddress] ?? loanAsset;
38
+ const totalDeposits = formatNr(state.supplyAssets, loanAsset.decimals);
39
+ const totalDebt = formatNr(state.borrowAssets, loanAsset.decimals);
38
40
  data[m].data[loanAssetAddress] = {
39
41
  poolId: loanAssetAddress,
40
42
  underlying: loanAssetAddress,
41
43
  asset: meta,
42
- totalDeposits: formatNr(state.supplyAssets, loanAsset.decimals),
44
+ totalDeposits,
43
45
  totalDebtStable: 0,
44
- totalDebt: formatNr(state.borrowAssets, loanAsset.decimals),
46
+ totalDebt,
45
47
  totalDepositsUSD: Number(state.supplyAssetsUsd),
46
48
  totalDebtStableUSD: 0,
49
+ totalLiquidity: totalDeposits - totalDebt,
50
+ totalLiquidityUSD: Number(state.supplyAssetsUsd) - Number(state.borrowAssetsUsd),
47
51
  totalDebtUSD: Number(state.borrowAssetsUsd),
48
52
  depositRate: apyToApr(Number(state.supplyApy)) * 100,
49
53
  variableBorrowRate: apyToApr(Number(state.borrowApy)) * 100,
@@ -76,6 +80,8 @@ export function convertMarketsToMorphoResponse(response, chainId, additionalYiel
76
80
  totalDeposits: formatNr(state.collateralAssets, collateralAsset.decimals),
77
81
  totalDebtStable: 0,
78
82
  totalDebt: 0,
83
+ totalLiquidity: 0,
84
+ totalLiquidityUSD: 0,
79
85
  totalDepositsUSD: Number(state.collateralAssetsUsd),
80
86
  totalDebtStableUSD: 0,
81
87
  totalDebtUSD: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/lending/morpho/fetchPublic.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,SAAS,MAAM,WAoDjE,CAAA;AAKD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,gBAqBvD"}
1
+ {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/lending/morpho/fetchPublic.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,SAAS,MAAM,WAoDjE,CAAA;AAKD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,gBAoBvD"}
@@ -75,6 +75,8 @@ export interface MorphoGeneralPublicResponse {
75
75
  totalDeposits: number;
76
76
  totalDebtStable: 0;
77
77
  totalDebt: number;
78
+ totalLiquidity: number;
79
+ totalLiquidityUSD: number;
78
80
  totalDepositsUSD: number;
79
81
  totalDebtStableUSD: 0;
80
82
  totalDebtUSD: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lending/morpho/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lending/morpho/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAMpD,eAAO,MAAM,kCAAkC,GAC7C,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,YAAY;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACvC,YAAY,GAAG,KACd,CACD,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,yBAAyB,CAAA;CAAE,GAAG,SAAS,EAC5E,MAAM,CAwDP,CAAA"}
1
+ {"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AA+CpD,eAAO,MAAM,kCAAkC,GAC7C,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,YAAY;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACvC,YAAY,GAAG,KACd,CACD,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,yBAAyB,CAAA;CAAE,GAAG,SAAS,EAC5E,MAAM,CA8EP,CAAA"}
@@ -2,6 +2,45 @@ import { getAssetMeta, toGenericPriceKey, toOracleKey } from '../../../assets';
2
2
  import { createBaseTypeUserState } from '../utils';
3
3
  import { parseRawAmount } from '../../../utils/parsing';
4
4
  import { decodePackedDataset } from './decoder';
5
+ const balanceData = {
6
+ '0': {
7
+ borrowDiscountedCollateral: 0,
8
+ collateral: 0,
9
+ deposits: 0,
10
+ debt: 0,
11
+ adjustedDebt: 0,
12
+ nav: 0,
13
+ deposits24h: 0,
14
+ debt24h: 0,
15
+ nav24h: 0,
16
+ },
17
+ };
18
+ // aggregated apr data
19
+ const aprData = {
20
+ '0': {
21
+ apr: 0,
22
+ borrowApr: 0,
23
+ depositApr: 0,
24
+ rewards: 0,
25
+ rewardApr: 0,
26
+ rewardDepositApr: 0,
27
+ rewardBorrowApr: 0,
28
+ stakingApr: 0,
29
+ stakingDepositApr: 0,
30
+ stakingBorrowApr: 0,
31
+ },
32
+ };
33
+ const userDataEmpty = (account, chainId) => {
34
+ return {
35
+ account,
36
+ chainId,
37
+ balanceData,
38
+ aprData,
39
+ userConfigs: {
40
+ '0': { selectedMode: 0, id: account },
41
+ },
42
+ };
43
+ };
5
44
  export const getMorphoUserDataConverterWithlens = (lender, chainId, account, markets, prices, pricesHist, lenderData) => {
6
45
  const expectedNumberOfCalls = Math.ceil(markets.length / 100);
7
46
  return [
@@ -10,6 +49,7 @@ export const getMorphoUserDataConverterWithlens = (lender, chainId, account, mar
10
49
  if (data.length !== expectedNumberOfCalls) {
11
50
  return undefined;
12
51
  }
52
+ let marketsHandled = [];
13
53
  // de-chunk the calldata
14
54
  const returnDatas = data.flatMap((d) => decodePackedDataset(d));
15
55
  let datas = {};
@@ -18,6 +58,7 @@ export const getMorphoUserDataConverterWithlens = (lender, chainId, account, mar
18
58
  let totalDeposits24h = 0;
19
59
  const balanceData = returnDatas[i];
20
60
  const markeId = markets[balanceData.index];
61
+ marketsHandled.push(markeId);
21
62
  const market = lenderData[markeId]?.params?.market;
22
63
  const { dataForMarket, addedDebt, addedDeposits } = createMorphoEntryFromMarketWithLens(balanceData, chainId, market, prices, pricesHist);
23
64
  totalDebt24h += addedDebt;
@@ -36,6 +77,25 @@ export const getMorphoUserDataConverterWithlens = (lender, chainId, account, mar
36
77
  id: market.id,
37
78
  };
38
79
  }
80
+ for (const [marketId, pubData] of Object.entries(lenderData ?? {})) {
81
+ if (marketsHandled.includes(marketId))
82
+ continue;
83
+ const payload = {
84
+ chainId,
85
+ account,
86
+ lendingPositions: { '0': {} },
87
+ rewards: {},
88
+ userEMode: 0,
89
+ };
90
+ const userData = userDataEmpty(account, chainId);
91
+ // @ts-ignore
92
+ datas[marketId] = {
93
+ ...payload,
94
+ ...userData,
95
+ // @ts-ignore
96
+ id: pubData?.params?.market.id,
97
+ };
98
+ }
39
99
  return datas;
40
100
  },
41
101
  expectedNumberOfCalls,
@@ -0,0 +1,11 @@
1
+ export interface MrophoOracleInfo {
2
+ oracle: string;
3
+ loanAsset: string;
4
+ collateralAsset: string;
5
+ loanAssetDecimals: number;
6
+ collateralAssetDecimals: number;
7
+ }
8
+ export declare const MrophoOracles: {
9
+ [c: string]: MrophoOracleInfo[];
10
+ };
11
+ //# sourceMappingURL=morpho.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"morpho.d.ts","sourceRoot":"","sources":["../../../../src/prices/main-prices/addresses/morpho.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;IACzB,uBAAuB,EAAE,MAAM,CAAA;CAChC;AAED,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CAq4B5D,CAAA"}