@1delta/margin-fetcher 0.0.2 → 0.0.4

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.
@@ -23,7 +23,7 @@ export const getCompoundV3UserDataConverter = (lender, chainId, account, prices,
23
23
  const decimals = assetMeta?.decimals ?? 18;
24
24
  const depositsRaw = data[i][0]?.toString();
25
25
  const deposits = parseRawAmount(depositsRaw, decimals);
26
- const key = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(assetMeta.baseAsset, chainId);
26
+ const key = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(asset, chainId);
27
27
  const price = prices[key] ?? 1;
28
28
  const priceHist = pricesHist?.[key] ?? price;
29
29
  // accure
@@ -61,7 +61,7 @@ export const convertLenderUserDataResult = (chainId, queries, rawResults, prices
61
61
  const lenderData = {};
62
62
  let currentSlice = 0;
63
63
  for (const query of queries) {
64
- const [converter, sliceLength] = getUserDataConverter(query.lender, chainId, query.account, prices, pricesHist, lenderState[query.lender]?.[chainId]?.lenderData);
64
+ const [converter, sliceLength] = getUserDataConverter(query.lender, chainId, query.account, prices, pricesHist, lenderState[chainId]?.data?.[query.lender]?.data);
65
65
  try {
66
66
  const data = rawResults.slice(currentSlice, currentSlice + sliceLength);
67
67
  const convertedData = converter(data);
@@ -1 +1 @@
1
- {"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/init/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,OAAO,EAAE,uBAAuB,EAAwC,MAAM,UAAU,CAAA;AAQxF,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,uBAAuB,GAAG,SAAS,EAAE,MAAM,CAiG/D,CAAA"}
1
+ {"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/init/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAQlD,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,uBAAuB,GAAG,SAAS,EAAE,MAAM,CAkG/D,CAAA"}
@@ -1,4 +1,3 @@
1
- import { Lender } from "@1delta/asset-registry";
2
1
  import { getInitFlashAggregatorAddress } from "./userCallBuild";
3
2
  import { InitGetUserPositionDataIndexes } from "../../init/types";
4
3
  import { getLenderAssets } from "../../../utils";
@@ -17,7 +16,7 @@ export const getInitUserDataConverter = (lender, chainId, account, prices, price
17
16
  const [data] = _data;
18
17
  // filter for owner
19
18
  const indexes = data[InitGetUserPositionDataIndexes.posMeta].map((e, i) => { return { e, i }; }).filter((a) => a.e.owner.toLowerCase() === validOwner).map((a) => a.i);
20
- const assets = getLenderAssets(chainId, Lender.INIT);
19
+ const assets = getLenderAssets(chainId, lender);
21
20
  let histData = {};
22
21
  // map data
23
22
  const result = Object.assign({}, ...indexes.map((index) => {
@@ -35,6 +34,7 @@ export const getInitUserDataConverter = (lender, chainId, account, prices, price
35
34
  const decimals = getAssetMeta(chainId, asset)?.decimals ?? 18;
36
35
  return { [asset]: { debt: parseRawAmount(c.amount.toString(), decimals) } };
37
36
  }));
37
+ // sub account to asset data
38
38
  return {
39
39
  [id]: {
40
40
  mode,
@@ -52,6 +52,7 @@ export const getInitUserDataConverter = (lender, chainId, account, prices, price
52
52
  const depositsRaw = collatData[a]?.depositsRaw ?? "0";
53
53
  histData[id].totalDebt24h += Number(debt) * priceHist;
54
54
  histData[id].totalDeposits24h += Number(deposits) * priceHist;
55
+ // asset to data
55
56
  return {
56
57
  [a]: {
57
58
  poolId: a,
@@ -190,18 +190,16 @@ export interface InitUserReserveResponse {
190
190
  chainId: string;
191
191
  lendingPositions: {
192
192
  [posId: string]: {
193
- mode: number;
194
- positions: {
195
- [tokenSymbol: string]: {
196
- deposits: number;
197
- debt: number;
198
- depositsUSD: number;
199
- debtUSD: number;
200
- debtStable: 0;
201
- debtStableUSD: 0;
202
- collateralActive: boolean;
203
- isAllowed: boolean;
204
- };
193
+ mode: any;
194
+ [tokenSymbol: string]: {
195
+ deposits: number;
196
+ debt: number;
197
+ depositsUSD: number;
198
+ debtUSD: number;
199
+ debtStable: 0;
200
+ debtStableUSD: 0;
201
+ collateralActive: boolean;
202
+ isAllowed: boolean;
205
203
  };
206
204
  };
207
205
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lending/user-data/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lending/user-data/types.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ export function createMultiAccountTypeUserState(payload, lenderData, histData) {
36
36
  let adjustedDebt = 0;
37
37
  for (let i = 0; i < assetKeys.length; i++) {
38
38
  const asset = assetKeys[i];
39
- const { depositsUSD, debtUSD } = payload.lendingPositions[posId].positions[asset];
39
+ const { depositsUSD, debtUSD } = payload.lendingPositions[posId][asset];
40
40
  if (!lenderData?.[asset])
41
41
  continue;
42
42
  const { depositRate, stakingYield, variableBorrowRate, rewards } = lenderData[asset];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1delta/margin-fetcher",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -38,7 +38,7 @@ export const getCompoundV3UserDataConverter = (
38
38
  const decimals = assetMeta?.decimals ?? 18
39
39
  const depositsRaw = data[i][0]?.toString()
40
40
  const deposits = parseRawAmount(depositsRaw, decimals)
41
- const key = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(assetMeta.baseAsset, chainId)
41
+ const key = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(asset, chainId)
42
42
  const price = prices[key] ?? 1
43
43
 
44
44
  const priceHist = pricesHist?.[key] ?? price
@@ -103,7 +103,7 @@ export const convertLenderUserDataResult = (
103
103
  query.account,
104
104
  prices,
105
105
  pricesHist,
106
- lenderState[query.lender]?.[chainId]?.lenderData
106
+ lenderState[chainId]?.data?.[query.lender]?.data
107
107
  )
108
108
 
109
109
  try {
@@ -1,6 +1,5 @@
1
1
  import { Lender } from "@1delta/asset-registry"
2
- import { formatUnits } from "viem"
3
- import { InitUserReserveResponse, UserLendingPosition, UserRewardEntry } from "../types"
2
+ import { InitUserReserveResponse } from "../types"
4
3
  import { getInitFlashAggregatorAddress } from "./userCallBuild"
5
4
  import { InitGetUserPositionDataIndexes } from "../../init/types"
6
5
  import { getLenderAssets } from "../../../utils"
@@ -27,33 +26,33 @@ export const getInitUserDataConverter = (
27
26
  const [data] = _data
28
27
  // filter for owner
29
28
  const indexes = data[InitGetUserPositionDataIndexes.posMeta].map(
30
- (e: any, i: any) => { return { e, i } }
31
- ).filter((a: { e: { owner: string } }) => a.e.owner.toLowerCase() === validOwner).map((a: { i: any }) => a.i)
32
- const assets = getLenderAssets(chainId, Lender.INIT)
29
+ (e: any, i: number) => { return { e, i } }
30
+ ).filter((a: any) => a.e.owner.toLowerCase() === validOwner).map((a: any) => a.i)
31
+ const assets = getLenderAssets(chainId, lender)
33
32
 
34
- let histData: { [id: string]: { totalDebt24h: number; totalDeposits24h: number } } = {}
33
+ let histData: any = {}
35
34
 
36
35
  // map data
37
36
  const result: any = Object.assign(
38
37
  {},
39
- ...indexes.map((index: string | number) => {
38
+ ...indexes.map((index: any) => {
40
39
  const entry = data[InitGetUserPositionDataIndexes.posMeta][index]
41
40
  const mode = entry.mode
42
41
  const id = entry.posId.toString()
43
- const collatData = Object.assign({}, ...data[InitGetUserPositionDataIndexes.collaterals][index].map((c: { underlying: string; amount: { toString: () => any } }) => {
42
+ const collatData = Object.assign({}, ...data[InitGetUserPositionDataIndexes.collaterals][index].map((c: any) => {
44
43
  const asset = c.underlying.toLowerCase()
45
44
  const decimals = getAssetMeta(chainId, asset)?.decimals ?? 18
46
45
  const depositsRaw = c.amount.toString()
47
46
  return { [asset]: { deposits: parseRawAmount(depositsRaw, decimals), depositsRaw } }
48
47
  })
49
48
  )
50
- const debtData = Object.assign({}, ...data[InitGetUserPositionDataIndexes.debts][index].map((c: { underlying: string; amount: { toString: () => string | undefined } }) => {
49
+ const debtData = Object.assign({}, ...data[InitGetUserPositionDataIndexes.debts][index].map((c: any) => {
51
50
  const asset = c.underlying.toLowerCase()
52
51
  const decimals = getAssetMeta(chainId, asset)?.decimals ?? 18
53
52
  return { [asset]: { debt: parseRawAmount(c.amount.toString(), decimals) } }
54
53
  })
55
54
  )
56
-
55
+ // sub account to asset data
57
56
  return {
58
57
  [id]: {
59
58
  mode,
@@ -72,6 +71,7 @@ export const getInitUserDataConverter = (
72
71
  histData[id].totalDebt24h += Number(debt) * priceHist
73
72
  histData[id].totalDeposits24h += Number(deposits) * priceHist
74
73
 
74
+ // asset to data
75
75
  return {
76
76
  [a]: {
77
77
  poolId: a,
@@ -112,4 +112,4 @@ export const getInitUserDataConverter = (
112
112
  },
113
113
  expectedNumberOfCalls,
114
114
  ]
115
- }
115
+ }
@@ -66,7 +66,7 @@ export enum AaveV3TypeGetUserReserveData {
66
66
  liquidityRate,
67
67
  stableRateLastUpdated,
68
68
  usageAsCollateralEnabled,
69
- }
69
+ }
70
70
 
71
71
  ///////
72
72
  export interface AaveV2UserReserveResponse {
@@ -249,18 +249,16 @@ export interface InitUserReserveResponse {
249
249
  lendingPositions: {
250
250
  // positionId is the NFT id
251
251
  [posId: string]: {
252
- mode: number;
253
- positions: {
254
- [tokenSymbol: string]: {
255
- deposits: number
256
- debt: number,
257
- depositsUSD: number
258
- debtUSD: number,
259
- debtStable: 0,
260
- debtStableUSD: 0,
261
- collateralActive: boolean
262
- isAllowed: boolean
263
- }
252
+ mode: any;
253
+ [tokenSymbol: string]: {
254
+ deposits: number
255
+ debt: number,
256
+ depositsUSD: number
257
+ debtUSD: number,
258
+ debtStable: 0,
259
+ debtStableUSD: 0,
260
+ collateralActive: boolean
261
+ isAllowed: boolean
264
262
  }
265
263
  }
266
264
  }
@@ -48,7 +48,7 @@ export function createMultiAccountTypeUserState(
48
48
  let adjustedDebt = 0
49
49
  for (let i = 0; i < assetKeys.length; i++) {
50
50
  const asset = assetKeys[i]
51
- const { depositsUSD, debtUSD } = payload.lendingPositions[posId].positions[asset]
51
+ const { depositsUSD, debtUSD } = payload.lendingPositions[posId][asset]
52
52
  if (!lenderData?.[asset]) continue;
53
53
  const { depositRate, stakingYield, variableBorrowRate, rewards } = lenderData[asset]
54
54
  // amounts
@@ -18,13 +18,15 @@ let prices, yields;
18
18
 
19
19
  async function getUserData(chainId: Chain, lenders: Lender[]) {
20
20
  const _lenders = getLendersForChain(chainId);
21
- const publicData = await getLenderPublicData(
22
- chainId,
23
- _lenders as any,
24
- prices as any,
25
- yields as any,
26
- multicallRetry
27
- );
21
+ const publicData = {
22
+ data: await getLenderPublicData(
23
+ chainId,
24
+ _lenders as any,
25
+ prices as any,
26
+ yields as any,
27
+ multicallRetry
28
+ )
29
+ }
28
30
 
29
31
  // Define user queries
30
32
  const queries: LenderUserQuery[] = lenders.map((lender) => ({
@@ -46,7 +48,7 @@ async function getUserData(chainId: Chain, lenders: Lender[]) {
46
48
  rawUserData,
47
49
  prices as any,
48
50
  prices as any,
49
- publicData
51
+ { [chainId]: publicData }
50
52
  );
51
53
 
52
54
  return { userData, rawUserData, publicData, queries };
@@ -63,19 +65,39 @@ describe(
63
65
  }, 30000);
64
66
 
65
67
 
68
+ it(
69
+ "should fetch user data for INIT on Mantle",
70
+ async () => {
71
+ try {
72
+ const { userData } = await getUserData(Chain.MANTLE, [Lender.INIT]);
73
+
74
+ console.log("INIT Mantle user data:", userData);
75
+
76
+ // Basic validation
77
+ expect(userData).toBeDefined();
78
+ expect(typeof userData).toBe("object");
79
+ } catch (error) {
80
+ console.log("Error fetching INIT Mantle data:", error);
81
+ }
82
+ },
83
+ { timeout: 30000 }
84
+ );
85
+
86
+
66
87
  it(
67
88
  "should fetch user data for YLDR on Polygon",
68
89
  async () => {
69
90
  try {
70
91
  const { userData } = await getUserData(Chain.POLYGON_MAINNET, [Lender.YLDR]);
71
92
 
72
- console.log("YLSE Polygon user data:", userData);
93
+ console.log("YLDR Polygon user data:", userData[Lender.YLDR].balanceData);
94
+ console.log("YLDR Polygon user aprData:", userData[Lender.YLDR].aprData);
73
95
 
74
96
  // Basic validation
75
97
  expect(userData).toBeDefined();
76
98
  expect(typeof userData).toBe("object");
77
99
  } catch (error) {
78
- console.log("Error fetching YLSE Polygon data:", error);
100
+ console.log("Error fetching YLDR Polygon data:", error);
79
101
  }
80
102
  },
81
103
  { timeout: 30000 }