diff --git a/packages/cli/src/getGroupIds.ts b/packages/cli/src/getGroupIds.ts index b823f8999..b963fc6a9 100644 --- a/packages/cli/src/getGroupIds.ts +++ b/packages/cli/src/getGroupIds.ts @@ -12,31 +12,35 @@ import Spinner from "./spinner.js" */ export default async function getGroupIds(network: SupportedNetwork): Promise { let groupIds: string[] + let shouldLogEthersError = false const spinner = new Spinner("Fetching groups") spinner.start() try { - const semaphoreSubgraph = new SemaphoreSubgraph(network) + try { + const semaphoreSubgraph = new SemaphoreSubgraph(network) - groupIds = await semaphoreSubgraph.getGroupIds() + groupIds = await semaphoreSubgraph.getGroupIds() + } catch { + try { + const semaphoreEthers = new SemaphoreEthers(network) - spinner.stop() - } catch { - try { - const semaphoreEthers = new SemaphoreEthers(network) + groupIds = await semaphoreEthers.getGroupIds() + } catch { + shouldLogEthersError = true - groupIds = await semaphoreEthers.getGroupIds() + return null + } + } - spinner.stop() - } catch { - spinner.stop() + return groupIds + } finally { + spinner.stop() + if (shouldLogEthersError) { console.info(`\n ${logSymbols.error}`, "error: unexpected error with the SemaphoreEthers package") - - return null } } - return groupIds }