@curvefi/api 2.65.17 → 2.65.19

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.
@@ -1,5 +1,5 @@
1
1
  import memoize from "memoizee";
2
- import { IExtendedPoolDataFromApi, IDict, INetworkName, IPoolType, IGaugesDataFromApi, IDaoProposal, IDaoProposalListItem, IVolumeAndAPYs, ICurveLiteNetwork } from "./interfaces";
2
+ import { ICurveLiteNetwork, IDaoProposal, IDaoProposalListItem, IDict, IExtendedPoolDataFromApi, IGaugesDataFromApi, INetworkName, IPoolType, IVolumeAndAPYs } from "./interfaces";
3
3
  export declare const _getPoolsFromApi: ((network: INetworkName, poolType: IPoolType, isLiteChain?: any) => Promise<IExtendedPoolDataFromApi>) & memoize.Memoized<(network: INetworkName, poolType: IPoolType, isLiteChain?: any) => Promise<IExtendedPoolDataFromApi>>;
4
4
  export declare const _getAllPoolsFromApi: (network: INetworkName, isLiteChain?: boolean) => Promise<IExtendedPoolDataFromApi[]>;
5
5
  export declare const _getSubgraphData: ((network: INetworkName) => Promise<IVolumeAndAPYs>) & memoize.Memoized<(network: INetworkName) => Promise<IVolumeAndAPYs>>;
@@ -244,22 +244,21 @@ export const _getCurveLiteNetworks = memoize(() => __awaiter(void 0, void 0, voi
244
244
  return [];
245
245
  }
246
246
  const { platforms, platformsMetadata } = response.data.data;
247
- const networks = Object.entries(platforms)
248
- .map(([platformId, _factories]) => {
249
- const metadata = platformsMetadata[platformId];
250
- if (!metadata)
251
- return null;
252
- return {
253
- id: platformId,
254
- name: metadata.name,
255
- rpcUrl: metadata.rpcUrl,
256
- chainId: metadata.chainId,
257
- explorerUrl: metadata.explorerBaseUrl,
258
- nativeCurrencySymbol: metadata.nativeCurrencySymbol,
247
+ return Object.keys(platforms)
248
+ .map((id) => {
249
+ var _a;
250
+ const { name, rpcUrl, nativeCurrencySymbol, explorerBaseUrl, isMainnet, chainId } = (_a = platformsMetadata[id]) !== null && _a !== void 0 ? _a : {};
251
+ return name && {
252
+ id,
253
+ name,
254
+ rpcUrl,
255
+ chainId,
256
+ explorerUrl: explorerBaseUrl,
257
+ nativeCurrencySymbol,
258
+ isTestnet: !isMainnet,
259
259
  };
260
260
  })
261
- .filter((network) => network !== null);
262
- return networks;
261
+ .filter(Boolean);
263
262
  }), {
264
263
  promise: true,
265
264
  maxAge: 5 * 60 * 1000, // 5 minutes
@@ -297,6 +297,7 @@ export interface ICurveLiteNetwork {
297
297
  rpcUrl: string;
298
298
  explorerUrl: string;
299
299
  nativeCurrencySymbol: string;
300
+ isTestnet: boolean;
300
301
  }
301
302
  export type TVoteType = "PARAMETER" | "OWNERSHIP";
302
303
  export type AbiParameter = {
package/lib/utils.js CHANGED
@@ -442,12 +442,34 @@ export const _getUsdRate = (assetId) => __awaiter(void 0, void 0, void 0, functi
442
442
  const url = [nativeTokenName, 'ethereum', 'bitcoin', 'link', 'curve-dao-token', 'stasis-eurs'].includes(assetId.toLowerCase()) ?
443
443
  `https://api.coingecko.com/api/v3/simple/price?ids=${assetId}&vs_currencies=usd` :
444
444
  `https://api.coingecko.com/api/v3/simple/token_price/${chainName}?contract_addresses=${assetId}&vs_currencies=usd`;
445
- const response = yield axios.get(url);
446
445
  try {
447
- _usdRatesCache[assetId] = { 'rate': (_k = response.data[assetId]['usd']) !== null && _k !== void 0 ? _k : 0, 'time': Date.now() };
446
+ const response = yield axios.get(url, {
447
+ validateStatus: (status) => status < 500,
448
+ });
449
+ if (response.status === 200 && ((_k = response.data[assetId]) === null || _k === void 0 ? void 0 : _k.usd) !== undefined) {
450
+ _usdRatesCache[assetId] = {
451
+ 'rate': response.data[assetId].usd,
452
+ 'time': Date.now(),
453
+ };
454
+ }
455
+ else {
456
+ if (!curve.isLiteChain) {
457
+ console.warn(`Non-200 response for ${assetId}:`, response.status, response.data);
458
+ }
459
+ _usdRatesCache[assetId] = {
460
+ 'rate': 0,
461
+ 'time': Date.now(),
462
+ };
463
+ }
448
464
  }
449
- catch (err) { // TODO pay attention!
450
- _usdRatesCache[assetId] = { 'rate': 0, 'time': Date.now() };
465
+ catch (err) {
466
+ if (!curve.isLiteChain) {
467
+ console.error(`Error fetching USD rate for ${assetId}:`, err.message);
468
+ }
469
+ _usdRatesCache[assetId] = {
470
+ 'rate': 0,
471
+ 'time': Date.now(),
472
+ };
451
473
  }
452
474
  }
453
475
  return _usdRatesCache[assetId]['rate'];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curvefi/api",
3
- "version": "2.65.17",
3
+ "version": "2.65.19",
4
4
  "description": "JavaScript library for curve.fi",
5
5
  "main": "lib/index.js",
6
6
  "author": "Macket",