@1delta/margin-fetcher 0.0.1 → 0.0.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 (56) hide show
  1. package/dist/abis/aave-v3/YLDR.d.ts +36 -0
  2. package/dist/abis/aave-v3/YLDR.d.ts.map +1 -0
  3. package/dist/abis/aave-v3/YLDR.js +46 -0
  4. package/dist/assets/index.d.ts.map +1 -1
  5. package/dist/assets/index.js +1 -1
  6. package/dist/lending/aave-v3-type/types.d.ts +7 -0
  7. package/dist/lending/aave-v3-type/types.d.ts.map +1 -1
  8. package/dist/lending/aave-v3-type/types.js +8 -0
  9. package/dist/lending/addresses/compoundV3.d.ts.map +1 -1
  10. package/dist/lending/addresses/compoundV3.js +1 -1
  11. package/dist/lending/compound-v3/publicCallParse.js +1 -1
  12. package/dist/lending/init/publicCallParse.js +1 -1
  13. package/dist/lending/user-data/aave-v2-type/userCallParse.js +3 -2
  14. package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts.map +1 -1
  15. package/dist/lending/user-data/aave-v3-type/userCallBuild.js +11 -8
  16. package/dist/lending/user-data/aave-v3-type/userCallParse.js +4 -3
  17. package/dist/lending/user-data/aave-v3-type/userCallParseYldr.d.ts +9 -0
  18. package/dist/lending/user-data/aave-v3-type/userCallParseYldr.d.ts.map +1 -0
  19. package/dist/lending/user-data/aave-v3-type/userCallParseYldr.js +75 -0
  20. package/dist/lending/user-data/abis.d.ts +667 -0
  21. package/dist/lending/user-data/abis.d.ts.map +1 -1
  22. package/dist/lending/user-data/abis.js +7 -1
  23. package/dist/lending/user-data/compound-v3/addresses.d.ts.map +1 -1
  24. package/dist/lending/user-data/compound-v3/addresses.js +1 -1
  25. package/dist/lending/user-data/compound-v3/userCallParse.d.ts.map +1 -1
  26. package/dist/lending/user-data/compound-v3/userCallParse.js +7 -5
  27. package/dist/lending/user-data/fetchUserData.d.ts.map +1 -1
  28. package/dist/lending/user-data/fetchUserData.js +5 -3
  29. package/dist/prices/main-prices/addresses/aaveOracles.d.ts +6 -7
  30. package/dist/prices/main-prices/addresses/aaveOracles.d.ts.map +1 -1
  31. package/dist/prices/main-prices/addresses/aaveOracles.js +6 -7
  32. package/dist/utils/index.d.ts +1 -0
  33. package/dist/utils/index.d.ts.map +1 -1
  34. package/dist/utils/index.js +1 -0
  35. package/dist/utils/parsing.d.ts.map +1 -1
  36. package/dist/utils/parsing.js +1 -1
  37. package/package.json +5 -2
  38. package/src/abis/aave-v3/YLDR.ts +46 -0
  39. package/src/assets/index.ts +1 -1
  40. package/src/lending/aave-v3-type/types.ts +8 -0
  41. package/src/lending/addresses/compoundV3.ts +1 -1
  42. package/src/lending/compound-v3/publicCallParse.ts +1 -1
  43. package/src/lending/init/publicCallParse.ts +1 -1
  44. package/src/lending/user-data/aave-v2-type/userCallParse.ts +9 -7
  45. package/src/lending/user-data/aave-v3-type/userCallBuild.ts +13 -8
  46. package/src/lending/user-data/aave-v3-type/userCallParse.ts +5 -3
  47. package/src/lending/user-data/aave-v3-type/userCallParseYldr.ts +116 -0
  48. package/src/lending/user-data/abis.ts +33 -28
  49. package/src/lending/user-data/compound-v3/addresses.ts +1 -1
  50. package/src/lending/user-data/compound-v3/userCallParse.ts +7 -5
  51. package/src/lending/user-data/fetchUserData.ts +4 -2
  52. package/src/prices/main-prices/addresses/aaveOracles.ts +6 -7
  53. package/src/utils/index.ts +5 -3
  54. package/src/utils/parsing.ts +1 -1
  55. package/test/lenderData.test.ts +1 -1
  56. package/test/userdata.test.ts +21 -1
@@ -0,0 +1,36 @@
1
+ export declare const YLDRAbi: readonly [{
2
+ readonly inputs: readonly [{
3
+ readonly internalType: "address";
4
+ readonly name: "asset";
5
+ readonly type: "address";
6
+ }, {
7
+ readonly internalType: "address";
8
+ readonly name: "user";
9
+ readonly type: "address";
10
+ }];
11
+ readonly name: "getUserReserveData";
12
+ readonly outputs: readonly [{
13
+ readonly internalType: "uint256";
14
+ readonly name: "currentYTokenBalance";
15
+ readonly type: "uint256";
16
+ }, {
17
+ readonly internalType: "uint256";
18
+ readonly name: "currentVariableDebt";
19
+ readonly type: "uint256";
20
+ }, {
21
+ readonly internalType: "uint256";
22
+ readonly name: "scaledVariableDebt";
23
+ readonly type: "uint256";
24
+ }, {
25
+ readonly internalType: "uint256";
26
+ readonly name: "liquidityRate";
27
+ readonly type: "uint256";
28
+ }, {
29
+ readonly internalType: "bool";
30
+ readonly name: "usageAsCollateralEnabled";
31
+ readonly type: "bool";
32
+ }];
33
+ readonly stateMutability: "view";
34
+ readonly type: "function";
35
+ }];
36
+ //# sourceMappingURL=YLDR.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YLDR.d.ts","sourceRoot":"","sources":["../../../src/abis/aave-v3/YLDR.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CV,CAAA"}
@@ -0,0 +1,46 @@
1
+ export const YLDRAbi = [
2
+ {
3
+ "inputs": [
4
+ {
5
+ "internalType": "address",
6
+ "name": "asset",
7
+ "type": "address"
8
+ },
9
+ {
10
+ "internalType": "address",
11
+ "name": "user",
12
+ "type": "address"
13
+ }
14
+ ],
15
+ "name": "getUserReserveData",
16
+ "outputs": [
17
+ {
18
+ "internalType": "uint256",
19
+ "name": "currentYTokenBalance",
20
+ "type": "uint256"
21
+ },
22
+ {
23
+ "internalType": "uint256",
24
+ "name": "currentVariableDebt",
25
+ "type": "uint256"
26
+ },
27
+ {
28
+ "internalType": "uint256",
29
+ "name": "scaledVariableDebt",
30
+ "type": "uint256"
31
+ },
32
+ {
33
+ "internalType": "uint256",
34
+ "name": "liquidityRate",
35
+ "type": "uint256"
36
+ },
37
+ {
38
+ "internalType": "bool",
39
+ "name": "usageAsCollateralEnabled",
40
+ "type": "bool"
41
+ }
42
+ ],
43
+ "stateMutability": "view",
44
+ "type": "function"
45
+ }
46
+ ];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6K,MAAM,EAA2B,MAAM,wBAAwB,CAAA;AAGnP,gCAAgC;AAChC,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAGpC,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GACzB,GAAG,CACrD;AAGD,eAAO,MAAM,aAAa,GACtB,SAAS,MAAM,GAAG,SAAS,EAC3B,kBAAiB,MAAuB,KACzC,MAAM,EAGR,CAAA;AAED,eAAO,MAAM,aAAa,GACtB,SAAS,MAAM,GAAG,SAAS,EAC3B,wBAA6B,KAC9B,MAAM,EAGR,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC5B,SAAS,MAAM,GAAG,SAAS,EAC3B,wBAA2C,KAC5C,MAAM,EAGR,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC5B,SAAS,MAAM,GAAG,SAAS,EAC3B,wBAA8B,KAC/B,MAAM,EAGR,CAAA;AAGD,eAAO,MAAM,iBAAiB,GAC1B,SAAS,MAAM,GAAG,SAAS,EAC3B,wBAAsC,KACvC,MAAM,EAGR,CAAA;AAED,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAGjF;AAGD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAG9E;AAGD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GACA,GAAG,CACzE;AAGD;;;;EAIE;AACF,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,WAEpC,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,cAAc,MAAM,EAAE,SAAS,MAAM,WAEtE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6K,MAAM,EAA2B,MAAM,wBAAwB,CAAA;AAGnP,gCAAgC;AAChC,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAGpC,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GACzB,GAAG,CACrD;AAGD,eAAO,MAAM,aAAa,GACtB,SAAS,MAAM,GAAG,SAAS,EAC3B,kBAAiB,MAAuB,KACzC,MAAM,EAGR,CAAA;AAED,eAAO,MAAM,aAAa,GACtB,SAAS,MAAM,GAAG,SAAS,EAC3B,wBAA6B,KAC9B,MAAM,EAGR,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC5B,SAAS,MAAM,GAAG,SAAS,EAC3B,wBAA0C,KAC3C,MAAM,EAGR,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC5B,SAAS,MAAM,GAAG,SAAS,EAC3B,wBAA8B,KAC/B,MAAM,EAGR,CAAA;AAGD,eAAO,MAAM,iBAAiB,GAC1B,SAAS,MAAM,GAAG,SAAS,EAC3B,wBAAsC,KACvC,MAAM,EAGR,CAAA;AAED,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAGjF;AAGD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAG9E;AAGD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GACA,GAAG,CACzE;AAGD;;;;EAIE;AACF,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,WAEpC,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,cAAc,MAAM,EAAE,SAAS,MAAM,WAEtE,CAAA"}
@@ -15,7 +15,7 @@ export const getInitAssets = (chainId, lendingProtocol = Lender.INIT) => {
15
15
  return INIT_STYLE_RESERVE_ASSETS[lendingProtocol]?.[chainId ?? "0"] ?? [];
16
16
  return [];
17
17
  };
18
- export const getCompoundV3Assets = (chainId, lendingProtocol = Lender.COMPOUND_V3_USDC_E) => {
18
+ export const getCompoundV3Assets = (chainId, lendingProtocol = Lender.COMPOUND_V3_USDCE) => {
19
19
  if (isCompoundV3(lendingProtocol))
20
20
  return COMPOUND_STYLE_RESERVE_ASSETS[lendingProtocol]?.[chainId ?? "0"] ?? [];
21
21
  return [];
@@ -125,6 +125,13 @@ export declare enum AaveTypeGetUserReserveIndexes {
125
125
  stableRateLastUpdated = 7,
126
126
  usageAsCollateralEnabled = 8
127
127
  }
128
+ export declare enum YldrTypeGetUserReserveIndexes {
129
+ currentYTokenBalance = 0,
130
+ currentVariableDebt = 1,
131
+ scaledVariableDebt = 2,
132
+ liquidityRate = 3,
133
+ usageAsCollateralEnabled = 4
134
+ }
128
135
  export declare enum YLDRTypeGetReserveDataIndexes {
129
136
  accruedToTreasuryScaled = 0,
130
137
  totalYToken = 1,
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lending/aave-v3-type/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lending/aave-v3-type/types.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,14 @@ export var AaveTypeGetUserReserveIndexes;
65
65
  AaveTypeGetUserReserveIndexes[AaveTypeGetUserReserveIndexes["stableRateLastUpdated"] = 7] = "stableRateLastUpdated";
66
66
  AaveTypeGetUserReserveIndexes[AaveTypeGetUserReserveIndexes["usageAsCollateralEnabled"] = 8] = "usageAsCollateralEnabled";
67
67
  })(AaveTypeGetUserReserveIndexes || (AaveTypeGetUserReserveIndexes = {}));
68
+ export var YldrTypeGetUserReserveIndexes;
69
+ (function (YldrTypeGetUserReserveIndexes) {
70
+ YldrTypeGetUserReserveIndexes[YldrTypeGetUserReserveIndexes["currentYTokenBalance"] = 0] = "currentYTokenBalance";
71
+ YldrTypeGetUserReserveIndexes[YldrTypeGetUserReserveIndexes["currentVariableDebt"] = 1] = "currentVariableDebt";
72
+ YldrTypeGetUserReserveIndexes[YldrTypeGetUserReserveIndexes["scaledVariableDebt"] = 2] = "scaledVariableDebt";
73
+ YldrTypeGetUserReserveIndexes[YldrTypeGetUserReserveIndexes["liquidityRate"] = 3] = "liquidityRate";
74
+ YldrTypeGetUserReserveIndexes[YldrTypeGetUserReserveIndexes["usageAsCollateralEnabled"] = 4] = "usageAsCollateralEnabled";
75
+ })(YldrTypeGetUserReserveIndexes || (YldrTypeGetUserReserveIndexes = {}));
68
76
  export var YLDRTypeGetReserveDataIndexes;
69
77
  (function (YLDRTypeGetReserveDataIndexes) {
70
78
  YLDRTypeGetReserveDataIndexes[YLDRTypeGetReserveDataIndexes["accruedToTreasuryScaled"] = 0] = "accruedToTreasuryScaled";
@@ -1 +1 @@
1
- {"version":3,"file":"compoundV3.d.ts","sourceRoot":"","sources":["../../../src/lending/addresses/compoundV3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqD,MAAM,EAAwB,MAAM,wBAAwB,CAAA;AAExH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAA4B,GAAG,MAAM,GAAG,SAAS,CAEjH;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,OAG/D;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,OAGhE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,OAGrD;AAmBD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM;;;EAE9E"}
1
+ {"version":3,"file":"compoundV3.d.ts","sourceRoot":"","sources":["../../../src/lending/addresses/compoundV3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqD,MAAM,EAAwB,MAAM,wBAAwB,CAAA;AAExH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAA2B,GAAG,MAAM,GAAG,SAAS,CAEhH;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,OAG/D;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,OAGhE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,OAGrD;AAmBD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM;;;EAE9E"}
@@ -1,5 +1,5 @@
1
1
  import { Chain, COMETS_PER_CHAIN_MAP, COMPOUND_BASE_TOKENS, Lender, SWAYLEND_BASE_TOKENS } from '@1delta/asset-registry';
2
- export function getCompoundV3CometAddress(chainId, lender = Lender.COMPOUND_V3_USDC_E) {
2
+ export function getCompoundV3CometAddress(chainId, lender = Lender.COMPOUND_V3_USDCE) {
3
3
  return COMETS_PER_CHAIN_MAP[chainId]?.[lender];
4
4
  }
5
5
  export function getCompoundV3CometRewardsAddress(chainId) {
@@ -68,7 +68,7 @@ export const getCompoundV3ReservesDataConverter = (lender, chainId, prices, addi
68
68
  const compToSuppliersPerDay = resultsSupplyRewards / Number(resultsIndexScale) * SECONDS_PER_DAY;
69
69
  const compToBorrowersPerDay = resultsBorrowRewards / Number(resultsIndexScale) * SECONDS_PER_DAY;
70
70
  const resultsInterest = data[baseLength + 5];
71
- const oracleKeyBase = toOracleKey(baseMeta.assetGroup) ?? toGenericPriceKey(baseAssetData.baseAsset, chainId);
71
+ const oracleKeyBase = toOracleKey(baseMeta?.assetGroup) ?? toGenericPriceKey(baseAssetData.baseAsset, chainId);
72
72
  const price = prices[oracleKeyBase] ?? 1;
73
73
  const liquidity = Number(resultsSupply) - Number(resultsBorrow);
74
74
  const compPrice = prices["COMP"];
@@ -22,7 +22,7 @@ export const getInitReservesDataConverter = (lender, chainId, prices, additional
22
22
  const meta = getAssetMeta(chainId, asset);
23
23
  const totalDeposits = parseRawAmount(dat?.totalSupply.toString(), meta?.decimals);
24
24
  const totalDebt = parseRawAmount(dat?.totalDebt.toString(), meta.decimals);
25
- const oracleKey = toOracleKey(meta.assetGroup) ?? toGenericPriceKey(asset, chainId);
25
+ const oracleKey = toOracleKey(meta?.assetGroup) ?? toGenericPriceKey(asset, chainId);
26
26
  const price = prices[oracleKey];
27
27
  const liquidity = Number(totalDeposits) - Number(totalDebt);
28
28
  return {
@@ -197,8 +197,9 @@ function createAaveV2Entry(i, data, chainId, asset, prices, pricesHist, claimabl
197
197
  const currentATokenBalance = parseRawAmount(currentATokenBalanceRaw, decimals);
198
198
  const currentStableDebt = parseRawAmount(currentStableDebtRaw, decimals);
199
199
  const currentVariableDebt = parseRawAmount(currentVariableDebtRaw, decimals);
200
- const price = prices[toOracleKey(assetMeta?.assetGroup ?? toGenericPriceKey(asset, chainId))] ?? 1;
201
- const priceHist = pricesHist?.[toOracleKey(assetMeta?.assetGroup ?? toGenericPriceKey(asset, chainId))] ?? price;
200
+ const key = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(asset, chainId);
201
+ const price = prices[key] ?? 1;
202
+ const priceHist = pricesHist?.[key] ?? price;
202
203
  const dataForAsset = {
203
204
  poolId: asset,
204
205
  underlying: asset,
@@ -1 +1 @@
1
- {"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/aave-v3-type/userCallBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAsC/C,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,SAAS,MAAM,KAAG,IAAI,EAkB1F,CAAA"}
1
+ {"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/aave-v3-type/userCallBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAsC/C,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,SAAS,MAAM,KAAG,IAAI,EAuB1F,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { getAaveAssets, getAaveStyleProtocolTokenMap, getAaveTypePoolDataProviderAddress, getAaveTypePoolAddress } from "../../../assets";
2
- import { getComposerAddress } from "../../../utils";
2
+ import { getComposerAddress, isYLDR } from "../../../utils";
3
3
  const fallbackDebtToken = '0x52A1CeB68Ee6b7B5D13E0376A1E0E4423A8cE26e';
4
4
  const getBaseAaveV3Calls = (chainId, account, lender, assetsToQuery, aaveTokenMap) => {
5
5
  const broker = getComposerAddress(chainId);
@@ -29,13 +29,16 @@ const getBaseAaveV3Calls = (chainId, account, lender, assetsToQuery, aaveTokenMa
29
29
  export const buildAaveV3UserCall = (chainId, lender, account) => {
30
30
  const assetsToQuery = getAaveAssets(chainId, lender);
31
31
  const aaveTokenMap = getAaveStyleProtocolTokenMap(chainId, lender);
32
- const callDataEmode = {
33
- address: getAaveTypePoolAddress(chainId, lender),
34
- name: 'getUserEMode',
35
- params: [account],
36
- };
37
- return [
32
+ const calls = [
38
33
  ...getBaseAaveV3Calls(chainId, account, lender, assetsToQuery, aaveTokenMap),
39
- callDataEmode
40
34
  ];
35
+ if (!isYLDR(lender)) {
36
+ const callDataEmode = {
37
+ address: getAaveTypePoolAddress(chainId, lender),
38
+ name: 'getUserEMode',
39
+ params: [account],
40
+ };
41
+ calls.push(callDataEmode);
42
+ }
43
+ return calls;
41
44
  };
@@ -1,4 +1,4 @@
1
- import { getAaveAssets, getAssetMeta, toOracleKey } from "../../../assets";
1
+ import { getAaveAssets, getAssetMeta, toGenericPriceKey, toOracleKey } from "../../../assets";
2
2
  import { createBaseTypeUserState } from "../utils";
3
3
  import { AaveTypeGetUserReserveIndexes } from "../../aave-v3-type/types";
4
4
  import { parseRawAmount } from "../../../utils/parsing";
@@ -47,9 +47,10 @@ function createAaveV3Entry(i, data, chainId, asset, prices, pricesHist) {
47
47
  const currentATokenBalance = parseRawAmount(currentATokenBalanceRaw, decimals);
48
48
  const currentStableDebt = parseRawAmount(currentStableDebtRaw, decimals);
49
49
  const currentVariableDebt = parseRawAmount(currentVariableDebtRaw, decimals);
50
+ const key = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(asset, chainId);
50
51
  // prices
51
- const price = prices[toOracleKey(assetMeta.assetGroup)] ?? 1;
52
- const priceHist = pricesHist?.[toOracleKey(assetMeta.assetGroup)] ?? price;
52
+ const price = prices[key] ?? 1;
53
+ const priceHist = pricesHist?.[key] ?? price;
53
54
  const dataForAsset = {
54
55
  poolId: asset,
55
56
  underlying: asset,
@@ -0,0 +1,9 @@
1
+ import { Lender } from "@1delta/asset-registry";
2
+ import { AaveV3UserReserveResponse } from "../types";
3
+ /** Like Aave V3, not stable debt data and no emode */
4
+ export declare const getYldrUserDataConverter: (lender: Lender, chainId: string, account: string, prices: {
5
+ [asset: string]: number;
6
+ }, pricesHist: {
7
+ [asset: string]: number;
8
+ }, lenderData: any) => [(data: any[]) => AaveV3UserReserveResponse | undefined, number];
9
+ //# sourceMappingURL=userCallParseYldr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userCallParseYldr.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/aave-v3-type/userCallParseYldr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAKpD,sDAAsD;AACtD,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,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,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,yBAAyB,GAAG,SAAS,EAAE,MAAM,CAiDjE,CAAA"}
@@ -0,0 +1,75 @@
1
+ import { getAaveAssets, getAssetMeta, toGenericPriceKey, toOracleKey } from "../../../assets";
2
+ import { createBaseTypeUserState } from "../utils";
3
+ import { YldrTypeGetUserReserveIndexes } from "../../aave-v3-type/types";
4
+ import { parseRawAmount } from "../../../utils/parsing";
5
+ /** Like Aave V3, not stable debt data and no emode */
6
+ export const getYldrUserDataConverter = (lender, chainId, account, prices, pricesHist, lenderData) => {
7
+ const assetsToQuery = getAaveAssets(chainId, lender);
8
+ const expectedNumberOfCalls = assetsToQuery.length * 4;
9
+ return [
10
+ (data) => {
11
+ if (data.length !== expectedNumberOfCalls) {
12
+ return undefined;
13
+ }
14
+ const lendingPositions = {};
15
+ let totalDebt24h = 0;
16
+ let totalDeposits24h = 0;
17
+ for (let i = 0; i < assetsToQuery.length; i++) {
18
+ const asset = assetsToQuery[i];
19
+ const { dataForAsset, addedDebt, addedDeposits } = createAaveV3Entry(i, data, chainId, asset, prices, pricesHist);
20
+ totalDebt24h += addedDebt;
21
+ totalDeposits24h += addedDeposits;
22
+ lendingPositions[asset] = dataForAsset;
23
+ }
24
+ const payload = {
25
+ chainId,
26
+ account,
27
+ lendingPositions: { "0": lendingPositions },
28
+ rewards: {},
29
+ userEMode: 0,
30
+ };
31
+ const userData = createBaseTypeUserState(payload, lenderData, totalDeposits24h, totalDebt24h);
32
+ return {
33
+ ...payload,
34
+ ...userData
35
+ };
36
+ },
37
+ expectedNumberOfCalls,
38
+ ];
39
+ };
40
+ function createAaveV3Entry(i, data, chainId, asset, prices, pricesHist) {
41
+ const reserveData = data[i * 4];
42
+ const currentATokenBalanceRaw = reserveData[YldrTypeGetUserReserveIndexes.currentYTokenBalance]?.toString();
43
+ const currentVariableDebtRaw = reserveData[YldrTypeGetUserReserveIndexes.currentVariableDebt]?.toString();
44
+ const assetMeta = getAssetMeta(chainId, asset);
45
+ const decimals = assetMeta?.decimals ?? 18;
46
+ const currentATokenBalance = parseRawAmount(currentATokenBalanceRaw, decimals);
47
+ const currentVariableDebt = parseRawAmount(currentVariableDebtRaw, decimals);
48
+ const key = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(asset, chainId);
49
+ // prices
50
+ const price = prices[key] ?? 1;
51
+ const priceHist = pricesHist?.[key] ?? price;
52
+ const dataForAsset = {
53
+ poolId: asset,
54
+ underlying: asset,
55
+ deposits: currentATokenBalance,
56
+ depositsRaw: currentATokenBalanceRaw,
57
+ debtStable: "0",
58
+ debt: currentVariableDebt,
59
+ depositsUSD: Number(currentATokenBalance) * price,
60
+ debtStableUSD: 0,
61
+ debtUSD: Number(currentVariableDebt) * price,
62
+ stableBorrowRate: 0,
63
+ collateralActive: Boolean(reserveData[YldrTypeGetUserReserveIndexes.usageAsCollateralEnabled]),
64
+ claimableRewards: 0,
65
+ // allowances
66
+ allowanceWithdrawal: data[i * 4 + 1]?.toString(),
67
+ allowanceBorrowingVariable: "0",
68
+ allowanceBorrowingStable: data[i * 4 + 3]?.toString(),
69
+ };
70
+ return {
71
+ dataForAsset,
72
+ addedDeposits: Number(currentATokenBalance) * priceHist,
73
+ addedDebt: Number(currentVariableDebt) * priceHist
74
+ };
75
+ }