@1delta/margin-fetcher 0.0.176 → 0.0.177
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/index.js +122 -50
- package/dist/index.js.map +1 -1
- package/dist/lending/margin/loop/index.d.ts +1 -0
- package/dist/lending/margin/loop/index.d.ts.map +1 -1
- package/dist/lending/margin/loop/ranges/getMaxAmountOpen.d.ts +30 -0
- package/dist/lending/margin/loop/ranges/getMaxAmountOpen.d.ts.map +1 -0
- package/dist/lending/margin/loop/ranges/index.d.ts +2 -0
- package/dist/lending/margin/loop/ranges/index.d.ts.map +1 -0
- package/dist/lending/public-data/compound-v3/publicCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/euler/userCallBuild.d.ts +35 -5
- package/dist/lending/user-data/euler/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/euler/userCallParse.d.ts +9 -1
- package/dist/lending/user-data/euler/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/fetch-balances/e2e.d.ts +2 -3
- package/dist/lending/user-data/fetch-balances/e2e.d.ts.map +1 -1
- package/dist/lending/user-data/fetch-balances/prepare.d.ts +2 -1
- package/dist/lending/user-data/fetch-balances/prepare.d.ts.map +1 -1
- package/dist/lending/user-data/utils/createEulerMultiAccountTypeUserState.d.ts +9 -6
- package/dist/lending/user-data/utils/createEulerMultiAccountTypeUserState.d.ts.map +1 -1
- package/dist/lending/user-data/with-permissions/prepare.d.ts +2 -2
- package/dist/lending/user-data/with-permissions/prepare.d.ts.map +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -7485,7 +7485,8 @@ var DISABLED_COMPOUNDS = {
|
|
|
7485
7485
|
[Chain.ETHEREUM_MAINNET]: [Lender.CREAM_FINANCE]
|
|
7486
7486
|
};
|
|
7487
7487
|
var ENABLED_EULER_V2_CHAINS = [
|
|
7488
|
-
Chain.BNB_SMART_CHAIN_MAINNET
|
|
7488
|
+
Chain.BNB_SMART_CHAIN_MAINNET,
|
|
7489
|
+
Chain.PLASMA_MAINNET
|
|
7489
7490
|
];
|
|
7490
7491
|
var getLendersForChain = (c) => {
|
|
7491
7492
|
let lenders = [];
|
|
@@ -18249,7 +18250,83 @@ function createCompoundV2Entry(i, data, key, assetsIn, vToken, meta, claimableRe
|
|
|
18249
18250
|
}
|
|
18250
18251
|
|
|
18251
18252
|
// src/lending/user-data/euler/userCallBuild.ts
|
|
18252
|
-
|
|
18253
|
+
Array.from(
|
|
18254
|
+
{ length: 256 },
|
|
18255
|
+
(_2, i) => i
|
|
18256
|
+
);
|
|
18257
|
+
var EULER_SUBGRAPH_BASE = "https://api.goldsky.com/api/public/project_cm4iagnemt1wp01xn4gh1agft/subgraphs";
|
|
18258
|
+
var EULER_SUBGRAPH_URLS = {
|
|
18259
|
+
"1": `${EULER_SUBGRAPH_BASE}/euler-v2-mainnet/latest/gn`,
|
|
18260
|
+
"10": `${EULER_SUBGRAPH_BASE}/euler-v2-optimism/latest/gn`,
|
|
18261
|
+
"56": `${EULER_SUBGRAPH_BASE}/euler-v2-bsc/latest/gn`,
|
|
18262
|
+
"100": `${EULER_SUBGRAPH_BASE}/euler-v2-gnosis/latest/gn`,
|
|
18263
|
+
"130": `${EULER_SUBGRAPH_BASE}/euler-v2-unichain/latest/gn`,
|
|
18264
|
+
"146": `${EULER_SUBGRAPH_BASE}/euler-v2-sonic/latest/gn`,
|
|
18265
|
+
"239": `${EULER_SUBGRAPH_BASE}/euler-v2-tac/latest/gn`,
|
|
18266
|
+
"480": `${EULER_SUBGRAPH_BASE}/euler-v2-worldchain/latest/gn`,
|
|
18267
|
+
"999": `${EULER_SUBGRAPH_BASE}/euler-v2-hyperevm/latest/gn`,
|
|
18268
|
+
"1923": `${EULER_SUBGRAPH_BASE}/euler-v2-swell/latest/gn`,
|
|
18269
|
+
"5000": `${EULER_SUBGRAPH_BASE}/euler-v2-mantle/latest/gn`,
|
|
18270
|
+
"8453": `${EULER_SUBGRAPH_BASE}/euler-v2-base/latest/gn`,
|
|
18271
|
+
"9745": `${EULER_SUBGRAPH_BASE}/euler-v2-plasma/latest/gn`,
|
|
18272
|
+
"42161": `${EULER_SUBGRAPH_BASE}/euler-v2-arbitrum/latest/gn`,
|
|
18273
|
+
"43114": `${EULER_SUBGRAPH_BASE}/euler-v2-avalanche/latest/gn`,
|
|
18274
|
+
"57073": `${EULER_SUBGRAPH_BASE}/euler-v2-ink/latest/gn`,
|
|
18275
|
+
"60808": `${EULER_SUBGRAPH_BASE}/euler-v2-bob/latest/gn`,
|
|
18276
|
+
"80094": `${EULER_SUBGRAPH_BASE}/euler-v2-berachain/latest/gn`
|
|
18277
|
+
};
|
|
18278
|
+
var SUBGRAPH_CACHE_TTL_MS = 3e4;
|
|
18279
|
+
var subgraphCache = /* @__PURE__ */ new Map();
|
|
18280
|
+
function fetchEulerSubAccountIndexes(chainId, owner) {
|
|
18281
|
+
const key = `${chainId}:${owner.toLowerCase()}`;
|
|
18282
|
+
const cached = subgraphCache.get(key);
|
|
18283
|
+
if (cached) return cached.promise;
|
|
18284
|
+
const promise = fetchSubAccountsFromSubgraph(chainId, owner).then((idxs) => idxs.length > 0 ? idxs : [0]).catch(() => [0]);
|
|
18285
|
+
const timer = setTimeout(
|
|
18286
|
+
() => subgraphCache.delete(key),
|
|
18287
|
+
SUBGRAPH_CACHE_TTL_MS
|
|
18288
|
+
);
|
|
18289
|
+
subgraphCache.set(key, { promise, timer });
|
|
18290
|
+
return promise;
|
|
18291
|
+
}
|
|
18292
|
+
async function fetchSubAccountsFromSubgraph(chainId, owner) {
|
|
18293
|
+
const url = EULER_SUBGRAPH_URLS[chainId];
|
|
18294
|
+
if (!url) return [0];
|
|
18295
|
+
const query2 = `{
|
|
18296
|
+
accounts(first: 100, where: { owner: "${owner.toLowerCase()}" }) {
|
|
18297
|
+
id
|
|
18298
|
+
subAccount
|
|
18299
|
+
}
|
|
18300
|
+
}`;
|
|
18301
|
+
const response = await fetch(url, {
|
|
18302
|
+
method: "POST",
|
|
18303
|
+
headers: { "Content-Type": "application/json" },
|
|
18304
|
+
body: JSON.stringify({ query: query2 })
|
|
18305
|
+
});
|
|
18306
|
+
if (!response.ok) return [0];
|
|
18307
|
+
const data = await response.json();
|
|
18308
|
+
const accounts = data?.data?.accounts;
|
|
18309
|
+
if (!accounts || accounts.length === 0) return [0];
|
|
18310
|
+
return accounts.map((a) => {
|
|
18311
|
+
const addr = a.subAccount || a.id;
|
|
18312
|
+
return getSubAccountIndex(addr);
|
|
18313
|
+
});
|
|
18314
|
+
}
|
|
18315
|
+
var RESOLVED_STORE_TTL_MS = 6e4;
|
|
18316
|
+
var resolvedIndexesStore = /* @__PURE__ */ new Map();
|
|
18317
|
+
function getResolvedEulerSubAccountIndexes(chainId, account) {
|
|
18318
|
+
return resolvedIndexesStore.get(`${chainId}:${account.toLowerCase()}`)?.indexes;
|
|
18319
|
+
}
|
|
18320
|
+
function storeResolvedIndexes(chainId, account, indexes) {
|
|
18321
|
+
const key = `${chainId}:${account.toLowerCase()}`;
|
|
18322
|
+
const existing = resolvedIndexesStore.get(key);
|
|
18323
|
+
if (existing) clearTimeout(existing.timer);
|
|
18324
|
+
const timer = setTimeout(
|
|
18325
|
+
() => resolvedIndexesStore.delete(key),
|
|
18326
|
+
RESOLVED_STORE_TTL_MS
|
|
18327
|
+
);
|
|
18328
|
+
resolvedIndexesStore.set(key, { indexes, timer });
|
|
18329
|
+
}
|
|
18253
18330
|
function getSubAccountAddress(owner, index) {
|
|
18254
18331
|
const prefix = owner.slice(0, 40);
|
|
18255
18332
|
const suffix = index.toString(16).padStart(2, "0");
|
|
@@ -18258,20 +18335,23 @@ function getSubAccountAddress(owner, index) {
|
|
|
18258
18335
|
function getSubAccountIndex(addr) {
|
|
18259
18336
|
return parseInt(addr.slice(40), 16);
|
|
18260
18337
|
}
|
|
18261
|
-
|
|
18338
|
+
function resolveSubAccountIndexes(account, subAccountIndexes) {
|
|
18339
|
+
const ownerIndex = getSubAccountIndex(account);
|
|
18340
|
+
const indices = new Set(subAccountIndexes);
|
|
18341
|
+
indices.add(ownerIndex);
|
|
18342
|
+
return [...indices].sort((a, b) => a - b);
|
|
18343
|
+
}
|
|
18344
|
+
var buildEulerUserCall = async (chainId, lender, account, subAccountIndexes) => {
|
|
18345
|
+
console.log("subAccountIndexes", subAccountIndexes);
|
|
18262
18346
|
if (!ENABLED_EULER_V2_CHAINS.includes(chainId)) return [];
|
|
18263
18347
|
const config = eulerConfigs()?.[lender]?.[chainId];
|
|
18264
18348
|
if (!config) return [];
|
|
18265
18349
|
const accountLensAddress = config.accountLens;
|
|
18266
18350
|
const evcAddress = config.evc;
|
|
18267
18351
|
if (!accountLensAddress || !evcAddress) return [];
|
|
18268
|
-
const
|
|
18269
|
-
const
|
|
18270
|
-
|
|
18271
|
-
for (let i = 0; indices.size < maxSubAccounts && i < 256; i++) {
|
|
18272
|
-
indices.add(i);
|
|
18273
|
-
}
|
|
18274
|
-
const sortedIndices = [...indices].sort((a, b) => a - b);
|
|
18352
|
+
const indexes = subAccountIndexes ?? await fetchEulerSubAccountIndexes(chainId, account);
|
|
18353
|
+
const sortedIndices = resolveSubAccountIndexes(account, indexes);
|
|
18354
|
+
storeResolvedIndexes(chainId, account, indexes);
|
|
18275
18355
|
return sortedIndices.map((i) => ({
|
|
18276
18356
|
address: accountLensAddress,
|
|
18277
18357
|
name: "getAccountEnabledVaultsInfo",
|
|
@@ -18280,7 +18360,7 @@ var buildEulerUserCall = (chainId, lender, account, maxSubAccounts = DEFAULT_MAX
|
|
|
18280
18360
|
};
|
|
18281
18361
|
|
|
18282
18362
|
// src/lending/user-data/fetch-balances/prepare.ts
|
|
18283
|
-
function buildUserCall(chainId, lender, account, params) {
|
|
18363
|
+
async function buildUserCall(chainId, lender, account, params) {
|
|
18284
18364
|
if (isAaveV2Type(lender)) return buildAaveV2UserCall(chainId, lender, account);
|
|
18285
18365
|
if (isAaveV3Type(lender)) return buildAaveV3UserCall(chainId, lender, account);
|
|
18286
18366
|
if (isInit(lender)) return buildInitUserCall(chainId, lender, account);
|
|
@@ -18289,7 +18369,7 @@ function buildUserCall(chainId, lender, account, params) {
|
|
|
18289
18369
|
if (isCompoundV3Type(lender))
|
|
18290
18370
|
return buildCompoundV3UserCall(chainId, lender, account);
|
|
18291
18371
|
if (isEulerType(lender))
|
|
18292
|
-
return buildEulerUserCall(chainId, lender, account);
|
|
18372
|
+
return buildEulerUserCall(chainId, lender, account, params?.subAccountIndexes);
|
|
18293
18373
|
return buildCompoundV2UserCall(chainId, lender, account);
|
|
18294
18374
|
}
|
|
18295
18375
|
function organizeUserQueries(queries) {
|
|
@@ -19172,16 +19252,16 @@ function createMorphoEntryFromMarketWithLens(balanceInfo, metaMap, chainId, lend
|
|
|
19172
19252
|
|
|
19173
19253
|
// src/lending/user-data/utils/createEulerMultiAccountTypeUserState.ts
|
|
19174
19254
|
function createEulerMultiAccountTypeUserState(payload, lenderData, histData) {
|
|
19175
|
-
const
|
|
19255
|
+
const subAccountIndexes = Object.keys(payload.lendingPositions ?? {});
|
|
19176
19256
|
const marketUids = getMarketUidsFromMeta(lenderData);
|
|
19177
19257
|
const { chainId, account } = payload;
|
|
19178
19258
|
const data = [];
|
|
19179
|
-
for (let j = 0; j <
|
|
19180
|
-
const
|
|
19181
|
-
const controller = payload.controllers?.[
|
|
19259
|
+
for (let j = 0; j < subAccountIndexes.length; j++) {
|
|
19260
|
+
const subAccountIndex = subAccountIndexes[j];
|
|
19261
|
+
const controller = payload.controllers?.[subAccountIndex];
|
|
19182
19262
|
const configKey = controller ?? String(LENDER_MODE_NO_MODE);
|
|
19183
19263
|
const userConfig = {
|
|
19184
|
-
id:
|
|
19264
|
+
id: subAccountIndex,
|
|
19185
19265
|
selectedMode: configKey,
|
|
19186
19266
|
isWhitelisted: true
|
|
19187
19267
|
};
|
|
@@ -19198,9 +19278,9 @@ function createEulerMultiAccountTypeUserState(payload, lenderData, histData) {
|
|
|
19198
19278
|
let adjustedDebt = 0;
|
|
19199
19279
|
for (let i = 0; i < marketUids.length; i++) {
|
|
19200
19280
|
const marketUid = marketUids[i];
|
|
19201
|
-
if (!lenderData?.[marketUid] || !payload.lendingPositions[
|
|
19281
|
+
if (!lenderData?.[marketUid] || !payload.lendingPositions[subAccountIndex][marketUid])
|
|
19202
19282
|
continue;
|
|
19203
|
-
const pos = payload.lendingPositions[
|
|
19283
|
+
const pos = payload.lendingPositions[subAccountIndex][marketUid];
|
|
19204
19284
|
const { depositsUSD, debtUSD } = pos;
|
|
19205
19285
|
const depositsUSDOracle = pos.depositsUSDOracle ?? depositsUSD;
|
|
19206
19286
|
const debtUSDOracle = pos.debtUSDOracle ?? debtUSD;
|
|
@@ -19236,9 +19316,9 @@ function createEulerMultiAccountTypeUserState(payload, lenderData, histData) {
|
|
|
19236
19316
|
debt,
|
|
19237
19317
|
adjustedDebt,
|
|
19238
19318
|
nav,
|
|
19239
|
-
deposits24h: histData[
|
|
19240
|
-
debt24h: histData[
|
|
19241
|
-
nav24h: histData[
|
|
19319
|
+
deposits24h: histData[subAccountIndex]?.totalDeposits24h,
|
|
19320
|
+
debt24h: histData[subAccountIndex]?.totalDebt24h,
|
|
19321
|
+
nav24h: histData[subAccountIndex]?.totalDeposits24h - histData[subAccountIndex]?.totalDebt24h
|
|
19242
19322
|
};
|
|
19243
19323
|
const aprData2 = {
|
|
19244
19324
|
apr: safeDivide(depositInterest - borrowInterest, nav),
|
|
@@ -19264,7 +19344,7 @@ function createEulerMultiAccountTypeUserState(payload, lenderData, histData) {
|
|
|
19264
19344
|
const price = getOraclePrice(lenderData[marketUid]);
|
|
19265
19345
|
const bcf = config?.borrowCollateralFactor ?? 1;
|
|
19266
19346
|
const bf = config?.borrowFactor ?? 1;
|
|
19267
|
-
const pos = payload.lendingPositions[
|
|
19347
|
+
const pos = payload.lendingPositions[subAccountIndex]?.[marketUid];
|
|
19268
19348
|
if (pos) {
|
|
19269
19349
|
let withdrawable;
|
|
19270
19350
|
if (!pos.collateralEnabled || config?.collateralDisabled) {
|
|
@@ -19299,7 +19379,7 @@ function createEulerMultiAccountTypeUserState(payload, lenderData, histData) {
|
|
|
19299
19379
|
if (borrowLiquidity != null) {
|
|
19300
19380
|
borrowable = String(Math.min(Number(borrowable), borrowLiquidity));
|
|
19301
19381
|
}
|
|
19302
|
-
payload.lendingPositions[
|
|
19382
|
+
payload.lendingPositions[subAccountIndex][marketUid] = {
|
|
19303
19383
|
marketUid,
|
|
19304
19384
|
underlying: lenderData[marketUid].underlying,
|
|
19305
19385
|
deposits: "0",
|
|
@@ -19319,13 +19399,13 @@ function createEulerMultiAccountTypeUserState(payload, lenderData, histData) {
|
|
|
19319
19399
|
}
|
|
19320
19400
|
}
|
|
19321
19401
|
data.push({
|
|
19322
|
-
accountId:
|
|
19402
|
+
accountId: subAccountIndex,
|
|
19323
19403
|
health: balanceData2.debt === 0 ? null : balanceData2.adjustedDebt > 0 ? balanceData2.borrowDiscountedCollateral / balanceData2.adjustedDebt : balanceData2.collateral / balanceData2.debt,
|
|
19324
19404
|
borrowCapacityUSD: creditLine,
|
|
19325
19405
|
userConfig,
|
|
19326
19406
|
balanceData: balanceData2,
|
|
19327
19407
|
aprData: aprData2,
|
|
19328
|
-
positions: Object.values(payload.lendingPositions[
|
|
19408
|
+
positions: Object.values(payload.lendingPositions[subAccountIndex])
|
|
19329
19409
|
});
|
|
19330
19410
|
}
|
|
19331
19411
|
return {
|
|
@@ -19337,14 +19417,9 @@ function createEulerMultiAccountTypeUserState(payload, lenderData, histData) {
|
|
|
19337
19417
|
}
|
|
19338
19418
|
|
|
19339
19419
|
// src/lending/user-data/euler/userCallParse.ts
|
|
19340
|
-
var getEulerUserDataConverter = (lender, chainId, account, metaMap,
|
|
19341
|
-
const
|
|
19342
|
-
const
|
|
19343
|
-
indices.add(ownerIndex);
|
|
19344
|
-
for (let i = 0; indices.size < maxSubAccounts && i < 256; i++) {
|
|
19345
|
-
indices.add(i);
|
|
19346
|
-
}
|
|
19347
|
-
const sortedIndices = [...indices].sort((a, b) => a - b);
|
|
19420
|
+
var getEulerUserDataConverter = (lender, chainId, account, metaMap, subAccountIndexes) => {
|
|
19421
|
+
const effectiveIndexes = subAccountIndexes ?? getResolvedEulerSubAccountIndexes(chainId, account) ?? [0];
|
|
19422
|
+
const sortedIndices = resolveSubAccountIndexes(account, effectiveIndexes);
|
|
19348
19423
|
const expectedNumberOfCalls = sortedIndices.length;
|
|
19349
19424
|
return [
|
|
19350
19425
|
(_data) => {
|
|
@@ -19360,14 +19435,11 @@ var getEulerUserDataConverter = (lender, chainId, account, metaMap, maxSubAccoun
|
|
|
19360
19435
|
const evcInfo = result.evcAccountInfo ?? result[0];
|
|
19361
19436
|
const vaultAccounts = result.vaultAccountInfo ?? result[1] ?? [];
|
|
19362
19437
|
if (vaultAccounts.length === 0) continue;
|
|
19363
|
-
const
|
|
19364
|
-
account,
|
|
19365
|
-
sortedIndices[idx]
|
|
19366
|
-
).toLowerCase();
|
|
19438
|
+
const subAccountId = String(sortedIndices[idx]);
|
|
19367
19439
|
const enabledControllers = (evcInfo?.enabledControllers ?? []).map((a) => a.toLowerCase());
|
|
19368
19440
|
const controller = enabledControllers.length > 0 ? enabledControllers[0] : void 0;
|
|
19369
19441
|
if (controller) {
|
|
19370
|
-
controllers[
|
|
19442
|
+
controllers[subAccountId] = controller;
|
|
19371
19443
|
}
|
|
19372
19444
|
const positions = {};
|
|
19373
19445
|
let totalDebt24h = 0;
|
|
@@ -19411,8 +19483,8 @@ var getEulerUserDataConverter = (lender, chainId, account, metaMap, maxSubAccoun
|
|
|
19411
19483
|
};
|
|
19412
19484
|
}
|
|
19413
19485
|
if (Object.keys(positions).length > 0) {
|
|
19414
|
-
lendingPositions[
|
|
19415
|
-
histData[
|
|
19486
|
+
lendingPositions[subAccountId] = positions;
|
|
19487
|
+
histData[subAccountId] = { totalDebt24h, totalDeposits24h };
|
|
19416
19488
|
}
|
|
19417
19489
|
}
|
|
19418
19490
|
if (Object.keys(lendingPositions).length === 0) {
|
|
@@ -19456,7 +19528,7 @@ function getUserDataConverter(lender, chainId, account, params, meta) {
|
|
|
19456
19528
|
meta?.[lender]
|
|
19457
19529
|
);
|
|
19458
19530
|
if (isEulerType(lender))
|
|
19459
|
-
return getEulerUserDataConverter(lender, chainId, account, meta?.[lender]);
|
|
19531
|
+
return getEulerUserDataConverter(lender, chainId, account, meta?.[lender], params?.subAccountIndexes);
|
|
19460
19532
|
return getCompoundV2UserDataConverter(
|
|
19461
19533
|
lender,
|
|
19462
19534
|
chainId,
|
|
@@ -24244,7 +24316,7 @@ var getLenderUserDataResult = async (chainId, queriesRaw, getEvmClient3, allowFa
|
|
|
24244
24316
|
const queries = organizeUserQueries(queriesRaw);
|
|
24245
24317
|
for (const query2 of queries) {
|
|
24246
24318
|
const abi = getAbi2(query2.lender);
|
|
24247
|
-
const callData = buildUserCall(
|
|
24319
|
+
const callData = await buildUserCall(
|
|
24248
24320
|
chainId,
|
|
24249
24321
|
query2.lender,
|
|
24250
24322
|
query2.account,
|
|
@@ -24266,13 +24338,13 @@ var getLenderUserDataResult = async (chainId, queriesRaw, getEvmClient3, allowFa
|
|
|
24266
24338
|
logs
|
|
24267
24339
|
);
|
|
24268
24340
|
};
|
|
24269
|
-
var prepareLenderUserDataRpcCalls = (chainId, queriesRaw, batchSize = MULTICALL_DEFAULT_BATCH_SIZE, blockTag = "latest",
|
|
24341
|
+
var prepareLenderUserDataRpcCalls = async (chainId, queriesRaw, batchSize = MULTICALL_DEFAULT_BATCH_SIZE, blockTag = "latest", allowFailure = true) => {
|
|
24270
24342
|
let calls = [];
|
|
24271
24343
|
const multicallAddress = getEvmChain(chainId).contracts?.multicall3?.address;
|
|
24272
24344
|
const queries = organizeUserQueries(queriesRaw);
|
|
24273
24345
|
for (const query2 of queries) {
|
|
24274
24346
|
const abi = getAbi2(query2.lender);
|
|
24275
|
-
const callData = buildUserCall(
|
|
24347
|
+
const callData = await buildUserCall(
|
|
24276
24348
|
chainId,
|
|
24277
24349
|
query2.lender,
|
|
24278
24350
|
query2.account,
|
|
@@ -24363,7 +24435,7 @@ var EMPTY_TOKEN_APPROVAL_META = {
|
|
|
24363
24435
|
tokenAddresses: [],
|
|
24364
24436
|
spenders: []
|
|
24365
24437
|
};
|
|
24366
|
-
function prepareMergedRpcCalls(chainId, balanceQueries, permissionParams, tokenApprovalParams, batchSize = MULTICALL_DEFAULT_BATCH_SIZE, blockTag = "latest", allowFailure = true) {
|
|
24438
|
+
async function prepareMergedRpcCalls(chainId, balanceQueries, permissionParams, tokenApprovalParams, batchSize = MULTICALL_DEFAULT_BATCH_SIZE, blockTag = "latest", allowFailure = true) {
|
|
24367
24439
|
const multicallAddress = getEvmChain(chainId).contracts?.multicall3?.address;
|
|
24368
24440
|
let tokenApprovalPreparedCalls = [];
|
|
24369
24441
|
let tokenApprovalMeta = EMPTY_TOKEN_APPROVAL_META;
|
|
@@ -24388,7 +24460,7 @@ function prepareMergedRpcCalls(chainId, balanceQueries, permissionParams, tokenA
|
|
|
24388
24460
|
const organizedQueries = organizeUserQueries(balanceQueries);
|
|
24389
24461
|
for (const query2 of organizedQueries) {
|
|
24390
24462
|
const abi = getAbi2(query2.lender);
|
|
24391
|
-
const callData = buildUserCall(
|
|
24463
|
+
const callData = await buildUserCall(
|
|
24392
24464
|
chainId,
|
|
24393
24465
|
query2.lender,
|
|
24394
24466
|
query2.account,
|
|
@@ -24424,7 +24496,7 @@ function prepareMergedRpcCalls(chainId, balanceQueries, permissionParams, tokenA
|
|
|
24424
24496
|
balanceQueries
|
|
24425
24497
|
};
|
|
24426
24498
|
}
|
|
24427
|
-
function prepareMergedMulticallParams(chainId, balanceQueries, permissionParams, tokenApprovalParams) {
|
|
24499
|
+
async function prepareMergedMulticallParams(chainId, balanceQueries, permissionParams, tokenApprovalParams) {
|
|
24428
24500
|
let tokenApprovalCalls = [];
|
|
24429
24501
|
let tokenApprovalAbis = [];
|
|
24430
24502
|
let tokenApprovalMeta = EMPTY_TOKEN_APPROVAL_META;
|
|
@@ -24453,7 +24525,7 @@ function prepareMergedMulticallParams(chainId, balanceQueries, permissionParams,
|
|
|
24453
24525
|
const organizedQueries = organizeUserQueries(balanceQueries);
|
|
24454
24526
|
for (const query2 of organizedQueries) {
|
|
24455
24527
|
const abi = getAbi2(query2.lender);
|
|
24456
|
-
const callData = buildUserCall(
|
|
24528
|
+
const callData = await buildUserCall(
|
|
24457
24529
|
chainId,
|
|
24458
24530
|
query2.lender,
|
|
24459
24531
|
query2.account,
|
|
@@ -24515,7 +24587,7 @@ function parseMergedResult(chainId, rawResults, prepared, lenderState) {
|
|
|
24515
24587
|
|
|
24516
24588
|
// src/lending/user-data/with-permissions/e2e.ts
|
|
24517
24589
|
async function getMergedUserData(chainId, balanceQueries, permissionParams, lenderState, multicallRetry3, batchSize = MULTICALL_DEFAULT_BATCH_SIZE, maxRetries2 = 3, tokenApprovalParams) {
|
|
24518
|
-
const prepared = prepareMergedMulticallParams(
|
|
24590
|
+
const prepared = await prepareMergedMulticallParams(
|
|
24519
24591
|
chainId,
|
|
24520
24592
|
balanceQueries,
|
|
24521
24593
|
permissionParams,
|