From 22caecce5264a2acaf735f73f1423433d13a5cae Mon Sep 17 00:00:00 2001 From: Hugo Arregui Date: Mon, 29 May 2023 12:32:40 -0300 Subject: [PATCH] fix: handle fetcher exception (#181) --- src/adapters/realm-name-validator.ts | 17 ++++++++++------- src/components.ts | 2 +- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/adapters/realm-name-validator.ts b/src/adapters/realm-name-validator.ts index 379a3255..869a6ba8 100644 --- a/src/adapters/realm-name-validator.ts +++ b/src/adapters/realm-name-validator.ts @@ -9,17 +9,19 @@ export type IRealmNameComponent = IBaseComponent & { } export async function createRealmNameComponent( - components: Pick + components: Pick ): Promise { - const { config, fetch, provider } = components + const { config, fetch, provider, logs } = components - async function resolveRealmName({ address }: CatalystServerInfo): Promise { - const response = await fetch.fetch(`${address}/about`) - if (!response.ok) { - return undefined - } + const logger = logs.getLogger('realm-name') + async function resolveRealmName({ address }: CatalystServerInfo): Promise { try { + const response = await fetch.fetch(`${address}/about`) + if (!response.ok) { + return undefined + } + const data: About = await response.json() return data.configurations.realmName } catch (err) { @@ -42,6 +44,7 @@ export async function createRealmNameComponent( const servers = await getCatalystServersFromDAO(network as any, provider) const names = new Set(await Promise.all(servers.map(resolveRealmName))) + logger.log(`Realm names found: ${JSON.stringify(Array.from(names))}`) if (!names.has(realmName)) { validatedRealmName = realmName return realmName diff --git a/src/components.ts b/src/components.ts index ccc4151c..ae88c987 100644 --- a/src/components.ts +++ b/src/components.ts @@ -91,7 +91,7 @@ export async function initComponents( const ethNetwork = (await config.getString('ETH_NETWORK')) ?? 'mainnet' const provider = new JsonRpcProvider(`https://rpc.decentraland.org/${encodeURIComponent(ethNetwork)}?project=lamb2`) - const realmName = await createRealmNameComponent({ config, provider, fetch }) + const realmName = await createRealmNameComponent({ config, provider, fetch, logs }) return { config,