@1delta/margin-fetcher 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lending/user-data/init/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/init/userCallParse.js +3 -2
- package/dist/lending/user-data/types.d.ts +10 -12
- package/dist/lending/user-data/types.d.ts.map +1 -1
- package/dist/lending/user-data/utils/createMultiAccountStyleUserState.js +1 -1
- package/package.json +1 -1
- package/src/lending/user-data/init/userCallParse.ts +11 -11
- package/src/lending/user-data/types.ts +11 -13
- package/src/lending/user-data/utils/createMultiAccountStyleUserState.ts +1 -1
- package/test/userdata.test.ts +21 -2
|
@@ -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;
|
|
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,
|
|
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:
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
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":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAE9D,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAA;AACxC,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAErC,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,0BAA0B,EAAE,MAAM,CAAA;IAClC,wBAAwB,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IAExD,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAElB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IAErB,gBAAgB,EAAE,OAAO,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,MAAM,eAAe,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAA;AAErG,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE;QAChB,CAAC,MAAM,EAAE,MAAM,GAAG;YAChB,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,CAAA;SAC3C,CAAA;KACF,CAAA;IACD,OAAO,EAAE,eAAe,CAAA;CACzB;AAGD,oBAAY,4BAA4B;IACtC,oBAAoB,IAAI;IACxB,iBAAiB,IAAA;IACjB,mBAAmB,IAAA;IACnB,mBAAmB,IAAA;IACnB,kBAAkB,IAAA;IAClB,gBAAgB,IAAA;IAChB,aAAa,IAAA;IACb,qBAAqB,IAAA;IACrB,wBAAwB,IAAA;CACzB;AAGD,oBAAY,4BAA4B;IACtC,oBAAoB,IAAI;IACxB,iBAAiB,IAAA;IACjB,mBAAmB,IAAA;IACnB,mBAAmB,IAAA;IACnB,kBAAkB,IAAA;IAClB,gBAAgB,IAAA;IAChB,aAAa,IAAA;IACb,qBAAqB,IAAA;IACrB,wBAAwB,IAAA;CACzB;AAGD,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE;QAChB,CAAC,EAAE,EAAE,MAAM,GAAG;YACZ,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAAA;SAC5C,CAAA;KACF,CAAC;IACF,OAAO,EAAE,eAAe,CAAA;CACzB;AAED,UAAU,oBAAqB,SAAQ,aAAa;IAElD,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAElB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IAErB,gBAAgB,EAAE,OAAO,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE;QAChB,CAAC,EAAE,EAAE,MAAM,GAAG;YACZ,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAAA;SAC5C,CAAA;KACF,CAAA;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC5C,gBAAgB,EAAE;QAChB,CAAC,EAAE,EAAE,MAAM,GAAG;YACZ,CAAC,WAAW,EAAE,MAAM,GAAG;gBAErB,QAAQ,EAAE,MAAM,CAAA;gBAChB,IAAI,EAAE,MAAM,CAAA;gBACZ,UAAU,EAAE,MAAM,CAAA;gBAElB,WAAW,EAAE,MAAM,CAAA;gBACnB,OAAO,EAAE,MAAM,CAAA;gBACf,aAAa,EAAE,MAAM,CAAA;gBAErB,gBAAgB,EAAE,OAAO,CAAA;gBAEzB,WAAW,EAAE,mBAAmB,CAAC;gBACjC,SAAS,EAAE,OAAO,CAAA;aACnB,CAAA;SACF,CAAA;KACF,CAAC;IACF,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,eAAe,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IAEpD,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAG5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAIlB,KAAK,CAAC,EAAE,SAAS,CAAA;IAGjB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IAEjB,MAAM,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAA;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,YAAY,EAAE,kBAAkB;IAGxE,gBAAgB,EAAE,OAAO,CAAA;IAEzB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,YAAa,SAAQ,UAAU;IAE9C,YAAY,EAAE,MAAM,CAAA;IAGpB,OAAO,CAAC,EAAE,UAAU,CAAA;CACrB;AAED,MAAM,WAAW,kBAAkB;IAEjC,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IAEvB,aAAa,EAAE,MAAM,CAAA;IAErB,cAAc,EAAE,MAAM,CAAA;IAEtB,iBAAiB;IAGjB,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,MAAM,CAAA;IAE1B,gBAAgB,EAAE,MAAM,CAAA;IAExB,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACzC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IAEpD,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAG5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,SAAS,CAAC,EAAE,OAAO,CAAA;IAGnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE;QAEhB,CAAC,KAAK,EAAE,MAAM,GAAG;YACf,IAAI,EAAE,
|
|
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]
|
|
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,5 @@
|
|
|
1
1
|
import { Lender } from "@1delta/asset-registry"
|
|
2
|
-
import {
|
|
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:
|
|
31
|
-
).filter((a:
|
|
32
|
-
const assets = getLenderAssets(chainId,
|
|
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:
|
|
33
|
+
let histData: any = {}
|
|
35
34
|
|
|
36
35
|
// map data
|
|
37
36
|
const result: any = Object.assign(
|
|
38
37
|
{},
|
|
39
|
-
...indexes.map((index:
|
|
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:
|
|
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:
|
|
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:
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
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]
|
|
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
|
package/test/userdata.test.ts
CHANGED
|
@@ -63,19 +63,38 @@ describe(
|
|
|
63
63
|
}, 30000);
|
|
64
64
|
|
|
65
65
|
|
|
66
|
+
it.only(
|
|
67
|
+
"should fetch user data for INIT on Mantle",
|
|
68
|
+
async () => {
|
|
69
|
+
try {
|
|
70
|
+
const { userData } = await getUserData(Chain.MANTLE, [Lender.INIT]);
|
|
71
|
+
|
|
72
|
+
console.log("INIT Mantle user data:", userData);
|
|
73
|
+
|
|
74
|
+
// Basic validation
|
|
75
|
+
expect(userData).toBeDefined();
|
|
76
|
+
expect(typeof userData).toBe("object");
|
|
77
|
+
} catch (error) {
|
|
78
|
+
console.log("Error fetching INIT Mantle data:", error);
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
{ timeout: 30000 }
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
|
|
66
85
|
it(
|
|
67
86
|
"should fetch user data for YLDR on Polygon",
|
|
68
87
|
async () => {
|
|
69
88
|
try {
|
|
70
89
|
const { userData } = await getUserData(Chain.POLYGON_MAINNET, [Lender.YLDR]);
|
|
71
90
|
|
|
72
|
-
console.log("
|
|
91
|
+
console.log("YLDR Polygon user data:", userData);
|
|
73
92
|
|
|
74
93
|
// Basic validation
|
|
75
94
|
expect(userData).toBeDefined();
|
|
76
95
|
expect(typeof userData).toBe("object");
|
|
77
96
|
} catch (error) {
|
|
78
|
-
console.log("Error fetching
|
|
97
|
+
console.log("Error fetching YLDR Polygon data:", error);
|
|
79
98
|
}
|
|
80
99
|
},
|
|
81
100
|
{ timeout: 30000 }
|