@1delta/margin-fetcher 5.0.57 → 5.0.58
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 +23 -10
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -57381,18 +57381,31 @@ function parseVault3(entry, results, chainId, prices, tokenList, marketIds, rate
|
|
|
57381
57381
|
};
|
|
57382
57382
|
}
|
|
57383
57383
|
|
|
57384
|
+
// src/vaults/morpho/rateSanity.ts
|
|
57385
|
+
var IMPLAUSIBLE_APR_PERCENT = 100;
|
|
57386
|
+
var PINNED_LIQUIDITY_FRACTION = 1e-3;
|
|
57387
|
+
var isUnrealizableRate = (v) => {
|
|
57388
|
+
if (!(v.depositRate > IMPLAUSIBLE_APR_PERCENT)) return false;
|
|
57389
|
+
if (!(v.totalAssetsFormatted > 0)) return false;
|
|
57390
|
+
return v.liquidityFormatted / v.totalAssetsFormatted < PINNED_LIQUIDITY_FRACTION;
|
|
57391
|
+
};
|
|
57392
|
+
var dropUnrealizableRates = (vaults) => {
|
|
57393
|
+
const entries = Object.entries(vaults);
|
|
57394
|
+
const kept = entries.filter(([, v]) => !isUnrealizableRate(v));
|
|
57395
|
+
if (kept.length === entries.length) return vaults;
|
|
57396
|
+
return Object.fromEntries(kept);
|
|
57397
|
+
};
|
|
57398
|
+
|
|
57384
57399
|
// src/vaults/morpho/fetchPublic.ts
|
|
57385
57400
|
var hasMorphoOnChainVaults = (chainId) => (morphoTypeVaults()?.MORPHO_BLUE?.[chainId]?.length ?? 0) > 0;
|
|
57386
57401
|
var fetchMorphoVaults = async (chainId, multicallRetry, prices = {}, tokenList = {}) => {
|
|
57387
|
-
|
|
57388
|
-
|
|
57389
|
-
|
|
57390
|
-
|
|
57391
|
-
|
|
57392
|
-
|
|
57393
|
-
|
|
57394
|
-
}
|
|
57395
|
-
return fetchMorphoVaultsFromApi(chainId, prices, tokenList);
|
|
57402
|
+
const vaults = hasMorphoOnChainVaults(chainId) ? await fetchMorphoVaultsFromChain(
|
|
57403
|
+
chainId,
|
|
57404
|
+
multicallRetry,
|
|
57405
|
+
prices,
|
|
57406
|
+
tokenList
|
|
57407
|
+
) : await fetchMorphoVaultsFromApi(chainId, prices, tokenList);
|
|
57408
|
+
return dropUnrealizableRates(vaults);
|
|
57396
57409
|
};
|
|
57397
57410
|
var { chunk: chunk6 } = lodash;
|
|
57398
57411
|
var LISTA_PROTOCOL = "LISTA_DAO";
|
|
@@ -57544,7 +57557,7 @@ var fetchListaVaultsFromChain = async (chainId, multicallRetry, prices = {}, tok
|
|
|
57544
57557
|
);
|
|
57545
57558
|
if (parsed) out[parsed.address] = parsed;
|
|
57546
57559
|
}
|
|
57547
|
-
return out;
|
|
57560
|
+
return dropUnrealizableRates(out);
|
|
57548
57561
|
};
|
|
57549
57562
|
async function fetchListaMarketRates(chainId, moolah, marketIds, multicallRetry) {
|
|
57550
57563
|
const map = /* @__PURE__ */ new Map();
|