From 0a81b4c88503be595a13585cb253789988bfe1ea Mon Sep 17 00:00:00 2001 From: Aaron DeRuvo Date: Fri, 19 Dec 2025 10:27:59 -0600 Subject: [PATCH 1/2] Add metadata timeouts for slow rpc urls --- packages/cli/src/commands/validatorgroup/rpc-urls.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/cli/src/commands/validatorgroup/rpc-urls.ts b/packages/cli/src/commands/validatorgroup/rpc-urls.ts index 0a8721440..79be1e1d3 100644 --- a/packages/cli/src/commands/validatorgroup/rpc-urls.ts +++ b/packages/cli/src/commands/validatorgroup/rpc-urls.ts @@ -96,14 +96,16 @@ export default class RpcUrls extends BaseCommand { ux.action.start(`Fetching RPC URLs`) const rpcUrls = await concurrentMap(CONCURRENCY_LEVEL, validatorAddresses, async (address) => { const metadataURL = rpcNodeMetaDataUrls.get(address) - if (!metadataURL) { return undefined } - try { - const metadata = await IdentityMetadataWrapper.fetchFromURL(accountsWrapper, metadataURL) - + const metadata = await Promise.race([ + IdentityMetadataWrapper.fetchFromURL(accountsWrapper, metadataURL), + new Promise((_, reject) => + setTimeout(() => reject(new Error('Timeout')), 6_000) + ) + ]) return metadata.findClaim(ClaimTypes.RPC_URL)?.rpcUrl } catch (_) { return undefined From b67e3e69ab0393da45c5673af8a538411eb88120 Mon Sep 17 00:00:00 2001 From: Aaron DeRuvo Date: Fri, 19 Dec 2025 10:28:55 -0600 Subject: [PATCH 2/2] docs(changeset): Set a max wait time when fetching community rpc provider metadata urls. --- .changeset/hip-nights-draw.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/hip-nights-draw.md diff --git a/.changeset/hip-nights-draw.md b/.changeset/hip-nights-draw.md new file mode 100644 index 000000000..5b23e2c9d --- /dev/null +++ b/.changeset/hip-nights-draw.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': patch +--- + +Set a max wait time when fetching community rpc provider metadata urls.