@1delta/margin-fetcher 0.0.202 → 0.0.204

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 CHANGED
@@ -10882,7 +10882,8 @@ var MORPHO_LENS = {
10882
10882
  // lista lens
10883
10883
  [Chain.UNICHAIN]: "0xA453ba397c61B0c292EA3959A858821145B2707F",
10884
10884
  [Chain.SEI_NETWORK]: "0xcB6Eb8df68153cebF60E1872273Ef52075a5C297",
10885
- [Chain.MONAD_MAINNET]: "0x0bd7473CbBf81d9dD936c61117eD230d95006CA2"
10885
+ [Chain.MONAD_MAINNET]: "0x0bd7473CbBf81d9dD936c61117eD230d95006CA2",
10886
+ [Chain.CELO_MAINNET]: "0x4b5458BB47dCBC1a41B31b41e1a8773dE312BE9d"
10886
10887
  };
10887
10888
  var buildMorphoUserCallWithLens = (chainId, account, lender, marketsToQuery) => {
10888
10889
  const marketSlices = chunk(marketsToQuery, 100);
@@ -18078,13 +18079,29 @@ var getLenderPublicDataViaApi = async (chainId, lenders, prices, additionalYield
18078
18079
  )
18079
18080
  );
18080
18081
  }
18081
- const [list, ...results] = await Promise.all([tokenList(), ...promises]);
18082
+ const settled = await Promise.allSettled([tokenList(), ...promises]);
18083
+ const listResult = settled[0];
18084
+ const list = listResult.status === "fulfilled" ? listResult.value : {};
18085
+ if (listResult.status === "rejected") {
18086
+ console.warn(
18087
+ `[lending] tokenList fetch failed on chain ${chainId}:`,
18088
+ listResult.reason
18089
+ );
18090
+ }
18082
18091
  const lenderData = {};
18083
18092
  for (let i = 0; i < lenders.length; i++) {
18084
18093
  try {
18094
+ const result = settled[i + 1];
18095
+ if (result.status === "rejected") {
18096
+ console.warn(
18097
+ `[lending] API fetch failed for ${lenders[i]} on chain ${chainId}:`,
18098
+ result.reason?.message ?? result.reason
18099
+ );
18100
+ continue;
18101
+ }
18085
18102
  const lender = lenders[i];
18086
18103
  if (isMultiMarket(lender)) {
18087
- const dataObtained = results[i];
18104
+ const dataObtained = result.value;
18088
18105
  const converted = convertLenderDataFromApi(
18089
18106
  lender,
18090
18107
  chainId,
@@ -18100,7 +18117,7 @@ var getLenderPublicDataViaApi = async (chainId, lenders, prices, additionalYield
18100
18117
  lenderData[lender] = convertLenderDataFromApi(
18101
18118
  lender,
18102
18119
  chainId,
18103
- results[i],
18120
+ result.value,
18104
18121
  prices,
18105
18122
  additionalYields,
18106
18123
  list
@@ -18118,6 +18135,7 @@ function lenderCanUseApi(lender, chainId) {
18118
18135
  if (chainId === Chain.HEMI_NETWORK) return false;
18119
18136
  if (chainId === Chain.BERACHAIN) return false;
18120
18137
  if (chainId === Chain.SEI_NETWORK) return false;
18138
+ if (chainId === Chain.CELO_MAINNET) return false;
18121
18139
  return true;
18122
18140
  }
18123
18141
  return false;
@@ -18141,7 +18159,24 @@ var getLenderPublicDataAll = async (chainId, lenders, prices, additionalYields,
18141
18159
  tokenList,
18142
18160
  includeUnlistedMorphoMarkets
18143
18161
  );
18144
- const [onChainRes, apiRes] = await Promise.all([onChain, api]);
18162
+ const [onChainResult, apiResult] = await Promise.allSettled([
18163
+ onChain,
18164
+ api
18165
+ ]);
18166
+ const onChainRes = onChainResult.status === "fulfilled" ? onChainResult.value : {};
18167
+ const apiRes = apiResult.status === "fulfilled" ? apiResult.value : {};
18168
+ if (onChainResult.status === "rejected") {
18169
+ console.warn(
18170
+ `[lending] on-chain fetch failed for chain ${chainId}:`,
18171
+ onChainResult.reason?.message ?? onChainResult.reason
18172
+ );
18173
+ }
18174
+ if (apiResult.status === "rejected") {
18175
+ console.warn(
18176
+ `[lending] API fetch failed for chain ${chainId}:`,
18177
+ apiResult.reason?.message ?? apiResult.reason
18178
+ );
18179
+ }
18145
18180
  return { ...onChainRes, ...apiRes };
18146
18181
  };
18147
18182