@1delta/margin-fetcher 0.0.214 → 0.0.215
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.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -32
- package/dist/index.js.map +1 -1
- package/dist/lending/public-data/aave-v4-type/fetcher/normalize.d.ts.map +1 -1
- package/dist/lending/public-data/aave-v4-type/publicCallBuild.d.ts.map +1 -1
- package/dist/lending/public-data/aave-v4-type/publicCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v4-type/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v4-type/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/utils/types.d.ts +9 -0
- package/dist/lending/user-data/utils/types.d.ts.map +1 -1
- package/dist/prices/oracle-prices/fetchers/aaveV4.d.ts.map +1 -1
- package/dist/prices/oracle-prices/types.d.ts +15 -1
- package/dist/prices/oracle-prices/types.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export { computeEModeAnalysis } from './lending/margin/e-mode';
|
|
|
13
13
|
export type { EModeResult, EModeAssets } from './lending/margin/e-mode';
|
|
14
14
|
export type { LoopPostTradeMetrics, LendingMode } from './lending/margin/loop';
|
|
15
15
|
export type { SumerPositionInput, GroupAccumulator, } from './lending/margin/base';
|
|
16
|
-
export type { LenderYieldComplete, LenderCrossPoolMeta, LenderToLenderCrossPoolMeta, CompoundV2Metadata, AaveMetadata, InitMetadata, EulerV2Metadata, ProtocolParams, } from './lending/user-data/utils/types';
|
|
16
|
+
export type { LenderYieldComplete, LenderCrossPoolMeta, LenderToLenderCrossPoolMeta, CompoundV2Metadata, AaveMetadata, AaveV4Metadata, InitMetadata, EulerV2Metadata, ProtocolParams, } from './lending/user-data/utils/types';
|
|
17
17
|
export { computeSumerWaterfall, buildSumerAccumulators, applyPositionDelta, } from './lending/margin/base/sumer/waterfall';
|
|
18
18
|
export { computeSumerDepositDelta, computeSumerWithdrawDelta, computeSumerBorrowDelta, computeSumerRepayDelta, } from './lending/margin/base/sumer';
|
|
19
19
|
export { fetchEulerSubAccountIndexes, getSubAccountAddress, getSubAccountIndex, } from './lending/user-data/euler/userCallBuild';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17895,8 +17895,8 @@ var getEulerV2ReservesDataConverter = (lender, chainId, prices, additionalYields
|
|
|
17895
17895
|
// src/lending/public-data/aave-v4-type/publicCallBuild.ts
|
|
17896
17896
|
var CALLS_PER_RESERVE = 6;
|
|
17897
17897
|
var CALLS_PER_SPOKE_TAIL = 2;
|
|
17898
|
-
function
|
|
17899
|
-
return !!
|
|
17898
|
+
function isValidAddress(addr) {
|
|
17899
|
+
return !!addr && addr !== "0x" && addr.length > 2;
|
|
17900
17900
|
}
|
|
17901
17901
|
function getSpokeReserves(reservesMap, spokeAddr) {
|
|
17902
17902
|
return reservesMap[spokeAddr.toLowerCase()] ?? reservesMap[spokeAddr] ?? [];
|
|
@@ -17909,6 +17909,7 @@ var buildAaveV4LenderReserveCall = (chainId, lender) => {
|
|
|
17909
17909
|
const hubAssetKeys = /* @__PURE__ */ new Set();
|
|
17910
17910
|
const hubAssetList = [];
|
|
17911
17911
|
for (const spokeEntry of spokes) {
|
|
17912
|
+
if (!isValidAddress(spokeEntry.spoke)) continue;
|
|
17912
17913
|
const spokeAddr = spokeEntry.spoke;
|
|
17913
17914
|
const reserves = getSpokeReserves(reservesMap, spokeAddr);
|
|
17914
17915
|
for (const entry of reserves) {
|
|
@@ -17946,11 +17947,12 @@ var buildAaveV4LenderReserveCall = (chainId, lender) => {
|
|
|
17946
17947
|
}
|
|
17947
17948
|
);
|
|
17948
17949
|
if (typeof entry === "object" && spokeEntry.hub && entry.assetId !== void 0) {
|
|
17949
|
-
const
|
|
17950
|
+
const hubLc = spokeEntry.hub.toLowerCase();
|
|
17951
|
+
const key = `${hubLc}:${entry.assetId}`;
|
|
17950
17952
|
if (!hubAssetKeys.has(key)) {
|
|
17951
17953
|
hubAssetKeys.add(key);
|
|
17952
17954
|
hubAssetList.push({
|
|
17953
|
-
hub:
|
|
17955
|
+
hub: hubLc,
|
|
17954
17956
|
assetId: entry.assetId
|
|
17955
17957
|
});
|
|
17956
17958
|
}
|
|
@@ -17970,6 +17972,7 @@ var buildAaveV4LenderReserveCall = (chainId, lender) => {
|
|
|
17970
17972
|
);
|
|
17971
17973
|
}
|
|
17972
17974
|
for (const spokeEntry of spokes) {
|
|
17975
|
+
if (!isValidAddress(spokeEntry.spoke)) continue;
|
|
17973
17976
|
const reserves = getSpokeReserves(
|
|
17974
17977
|
reservesMap,
|
|
17975
17978
|
spokeEntry.spoke
|
|
@@ -17977,7 +17980,7 @@ var buildAaveV4LenderReserveCall = (chainId, lender) => {
|
|
|
17977
17980
|
const rids = reserves.map(
|
|
17978
17981
|
(e) => typeof e === "number" ? e : e.reserveId
|
|
17979
17982
|
);
|
|
17980
|
-
if (rids.length > 0 &&
|
|
17983
|
+
if (rids.length > 0 && isValidAddress(spokeEntry.oracle)) {
|
|
17981
17984
|
calls.push({
|
|
17982
17985
|
address: spokeEntry.oracle,
|
|
17983
17986
|
name: "getReservesPrices",
|
|
@@ -18012,6 +18015,7 @@ var getAaveV4ExpectedCallCount = (chainId, lender) => {
|
|
|
18012
18015
|
let count = 0;
|
|
18013
18016
|
const hubAssetKeys = /* @__PURE__ */ new Set();
|
|
18014
18017
|
for (const spokeEntry of spokes) {
|
|
18018
|
+
if (!isValidAddress(spokeEntry.spoke)) continue;
|
|
18015
18019
|
const reserves = getSpokeReserves(
|
|
18016
18020
|
reservesMap,
|
|
18017
18021
|
spokeEntry.spoke
|
|
@@ -18020,12 +18024,12 @@ var getAaveV4ExpectedCallCount = (chainId, lender) => {
|
|
|
18020
18024
|
const rids = reserves.map(
|
|
18021
18025
|
(e) => typeof e === "number" ? e : e.reserveId
|
|
18022
18026
|
);
|
|
18023
|
-
if (rids.length > 0 &&
|
|
18027
|
+
if (rids.length > 0 && isValidAddress(spokeEntry.oracle)) {
|
|
18024
18028
|
count += 1;
|
|
18025
18029
|
}
|
|
18026
18030
|
for (const entry of reserves) {
|
|
18027
18031
|
if (typeof entry === "object" && spokeEntry.hub && entry.assetId !== void 0) {
|
|
18028
|
-
hubAssetKeys.add(`${spokeEntry.hub}:${entry.assetId}`);
|
|
18032
|
+
hubAssetKeys.add(`${spokeEntry.hub.toLowerCase()}:${entry.assetId}`);
|
|
18029
18033
|
}
|
|
18030
18034
|
}
|
|
18031
18035
|
}
|
|
@@ -18073,7 +18077,8 @@ function normalizeAaveV4(spokeDataList, chainId, lender, prices, additionalYield
|
|
|
18073
18077
|
for (const reserve of spokeReserves) {
|
|
18074
18078
|
const underlying = reserve.reserve.underlying.toLowerCase();
|
|
18075
18079
|
const decimals = reserve.reserve.decimals;
|
|
18076
|
-
const
|
|
18080
|
+
const hubAddr = reserve.reserve.hub.toLowerCase();
|
|
18081
|
+
const refAddress = `${hubAddr}:${underlying}`;
|
|
18077
18082
|
const marketUid = createMarketUidFn(chainId, lender, refAddress);
|
|
18078
18083
|
const assetMeta = tokenList[underlying];
|
|
18079
18084
|
const oracleKey = toOracleKeyFn(assetMeta?.assetGroup ?? null) ?? toGenericPriceKeyFn(underlying, chainId);
|
|
@@ -18183,8 +18188,8 @@ function normalizeAaveV4(spokeDataList, chainId, lender, prices, additionalYield
|
|
|
18183
18188
|
}
|
|
18184
18189
|
|
|
18185
18190
|
// src/lending/public-data/aave-v4-type/publicCallParse.ts
|
|
18186
|
-
function
|
|
18187
|
-
return !!
|
|
18191
|
+
function isValidAddress2(addr) {
|
|
18192
|
+
return !!addr && addr !== "0x" && addr.length > 2;
|
|
18188
18193
|
}
|
|
18189
18194
|
function getSpokeReserves2(reservesMap, spokeAddr) {
|
|
18190
18195
|
return reservesMap[spokeAddr.toLowerCase()] ?? reservesMap[spokeAddr] ?? [];
|
|
@@ -18200,6 +18205,7 @@ var getAaveV4ReservesDataConverter = (lender, chainId, prices, additionalYields,
|
|
|
18200
18205
|
const hubAssetKeys = /* @__PURE__ */ new Set();
|
|
18201
18206
|
const hubAssetList = [];
|
|
18202
18207
|
for (const spokeEntry of spokes) {
|
|
18208
|
+
if (!isValidAddress2(spokeEntry.spoke)) continue;
|
|
18203
18209
|
const spokeAddr = spokeEntry.spoke;
|
|
18204
18210
|
const reserves = getSpokeReserves2(reservesMap, spokeAddr);
|
|
18205
18211
|
const reserveCount = reserves.length;
|
|
@@ -18257,11 +18263,12 @@ var getAaveV4ReservesDataConverter = (lender, chainId, prices, additionalYields,
|
|
|
18257
18263
|
};
|
|
18258
18264
|
}
|
|
18259
18265
|
if (spokeEntry.hub && typeof entry === "object" && entry.assetId !== void 0) {
|
|
18260
|
-
const
|
|
18266
|
+
const hubLc = spokeEntry.hub.toLowerCase();
|
|
18267
|
+
const key = `${hubLc}:${entry.assetId}`;
|
|
18261
18268
|
if (!hubAssetKeys.has(key)) {
|
|
18262
18269
|
hubAssetKeys.add(key);
|
|
18263
18270
|
hubAssetList.push({
|
|
18264
|
-
hub:
|
|
18271
|
+
hub: hubLc,
|
|
18265
18272
|
assetId: entry.assetId
|
|
18266
18273
|
});
|
|
18267
18274
|
}
|
|
@@ -18303,23 +18310,19 @@ var getAaveV4ReservesDataConverter = (lender, chainId, prices, additionalYields,
|
|
|
18303
18310
|
reserves: parsedReserves
|
|
18304
18311
|
});
|
|
18305
18312
|
}
|
|
18306
|
-
for (let si = 0; si <
|
|
18307
|
-
const
|
|
18308
|
-
|
|
18309
|
-
spokes[si].spoke
|
|
18310
|
-
);
|
|
18313
|
+
for (let si = 0; si < spokeDataList.length; si++) {
|
|
18314
|
+
const sd = spokeDataList[si];
|
|
18315
|
+
const reserves = getSpokeReserves2(reservesMap, sd.spoke);
|
|
18311
18316
|
const rids = reserves.map(
|
|
18312
18317
|
(e) => typeof e === "number" ? e : e.reserveId
|
|
18313
18318
|
);
|
|
18314
|
-
if (rids.length > 0 &&
|
|
18319
|
+
if (rids.length > 0 && isValidAddress2(sd.oracle)) {
|
|
18315
18320
|
const rawPrices = data[offset];
|
|
18316
18321
|
offset += 1;
|
|
18317
18322
|
const priceArray = Array.isArray(rawPrices) ? rawPrices : [];
|
|
18318
|
-
for (let ri = 0; ri <
|
|
18323
|
+
for (let ri = 0; ri < sd.reserves.length; ri++) {
|
|
18319
18324
|
if (ri < priceArray.length) {
|
|
18320
|
-
|
|
18321
|
-
priceArray[ri] ?? 0
|
|
18322
|
-
);
|
|
18325
|
+
sd.reserves[ri].price = BigInt(priceArray[ri] ?? 0);
|
|
18323
18326
|
}
|
|
18324
18327
|
}
|
|
18325
18328
|
}
|
|
@@ -19047,6 +19050,7 @@ var buildAaveV4UserCall = (chainId, lender, account) => {
|
|
|
19047
19050
|
const calls = [];
|
|
19048
19051
|
for (const spokeEntry of spokes) {
|
|
19049
19052
|
const spokeAddr = spokeEntry.spoke;
|
|
19053
|
+
if (!spokeAddr || spokeAddr === "0x" || spokeAddr.length <= 2) continue;
|
|
19050
19054
|
const reserveIds = reservesMap[spokeAddr.toLowerCase()] ?? reservesMap[spokeAddr] ?? [];
|
|
19051
19055
|
for (const entry of reserveIds) {
|
|
19052
19056
|
const rid = typeof entry === "number" ? entry : entry.reserveId;
|
|
@@ -20240,10 +20244,15 @@ var getAaveV4UserDataConverter = (lender, chainId, account, metaMap) => {
|
|
|
20240
20244
|
const reserveEntries = [];
|
|
20241
20245
|
for (const spokeEntry of spokes) {
|
|
20242
20246
|
const spokeAddr = spokeEntry.spoke;
|
|
20243
|
-
|
|
20244
|
-
|
|
20245
|
-
|
|
20246
|
-
reserveEntries.push({
|
|
20247
|
+
if (!spokeAddr || spokeAddr === "0x" || spokeAddr.length <= 2) continue;
|
|
20248
|
+
const reserves = reservesMap[spokeAddr.toLowerCase()] ?? reservesMap[spokeAddr] ?? [];
|
|
20249
|
+
for (const entry of reserves) {
|
|
20250
|
+
reserveEntries.push({
|
|
20251
|
+
spokeAddr,
|
|
20252
|
+
reserveId: typeof entry === "number" ? entry : entry.reserveId,
|
|
20253
|
+
hub: (spokeEntry.hub ?? "").toLowerCase(),
|
|
20254
|
+
underlying: (typeof entry === "object" ? entry.underlying ?? "" : "").toLowerCase()
|
|
20255
|
+
});
|
|
20247
20256
|
}
|
|
20248
20257
|
}
|
|
20249
20258
|
const expectedNumberOfCalls = reserveEntries.length * USER_CALLS_PER_RESERVE;
|
|
@@ -20256,8 +20265,8 @@ var getAaveV4UserDataConverter = (lender, chainId, account, metaMap) => {
|
|
|
20256
20265
|
let totalDebt24h = 0;
|
|
20257
20266
|
let totalDeposits24h = 0;
|
|
20258
20267
|
for (let i = 0; i < reserveEntries.length; i++) {
|
|
20259
|
-
const {
|
|
20260
|
-
const refAddress = `${
|
|
20268
|
+
const { hub, underlying } = reserveEntries[i];
|
|
20269
|
+
const refAddress = `${hub}:${underlying}`;
|
|
20261
20270
|
const key = createMarketUid(chainId, lender, refAddress);
|
|
20262
20271
|
const metaEntity = metaMap?.[key];
|
|
20263
20272
|
if (!metaEntity) continue;
|
|
@@ -31877,10 +31886,15 @@ var eulerV2Fetcher = {
|
|
|
31877
31886
|
};
|
|
31878
31887
|
function getAaveV4OracleGroups(chainId) {
|
|
31879
31888
|
const oracles = aaveV4Oracles() ?? {};
|
|
31889
|
+
const spokes = aaveV4Spokes() ?? {};
|
|
31880
31890
|
const groups = [];
|
|
31881
31891
|
for (const [fork, chains] of Object.entries(oracles)) {
|
|
31882
31892
|
const oracleEntries = chains[chainId] ?? [];
|
|
31883
31893
|
if (oracleEntries.length === 0) continue;
|
|
31894
|
+
const spokeToHub = /* @__PURE__ */ new Map();
|
|
31895
|
+
for (const s of spokes[fork]?.[chainId] ?? []) {
|
|
31896
|
+
if (s.hub) spokeToHub.set(s.spoke.toLowerCase(), s.hub.toLowerCase());
|
|
31897
|
+
}
|
|
31884
31898
|
const byOracle = /* @__PURE__ */ new Map();
|
|
31885
31899
|
for (const entry of oracleEntries) {
|
|
31886
31900
|
if (!entry.oracle || entry.oracle === "0x") continue;
|
|
@@ -31890,10 +31904,13 @@ function getAaveV4OracleGroups(chainId) {
|
|
|
31890
31904
|
group = { decimals: entry.decimals ?? 8, entries: [] };
|
|
31891
31905
|
byOracle.set(key, group);
|
|
31892
31906
|
}
|
|
31907
|
+
const spokeLc = entry.spoke.toLowerCase();
|
|
31908
|
+
const hub = spokeToHub.get(spokeLc) ?? "";
|
|
31893
31909
|
group.entries.push({
|
|
31894
31910
|
underlying: entry.underlying.toLowerCase(),
|
|
31895
|
-
|
|
31896
|
-
reserveId: entry.reserveId
|
|
31911
|
+
hub,
|
|
31912
|
+
reserveId: entry.reserveId,
|
|
31913
|
+
spoke: spokeLc
|
|
31897
31914
|
});
|
|
31898
31915
|
}
|
|
31899
31916
|
for (const [oracle, group] of byOracle) {
|
|
@@ -31948,8 +31965,9 @@ function parseAaveV4Results(data, meta, context) {
|
|
|
31948
31965
|
marketUid: createMarketUid(
|
|
31949
31966
|
chainId,
|
|
31950
31967
|
meta.fork,
|
|
31951
|
-
`${entry.
|
|
31952
|
-
)
|
|
31968
|
+
`${entry.hub}:${entry.underlying}`
|
|
31969
|
+
),
|
|
31970
|
+
configId: entry.spoke
|
|
31953
31971
|
});
|
|
31954
31972
|
} catch {
|
|
31955
31973
|
continue;
|