From b63f1131c0bda961eec0b7a86079a1e66f49f1dc Mon Sep 17 00:00:00 2001 From: nikli2009 Date: Mon, 5 Dec 2022 14:28:59 +0800 Subject: [PATCH] fix: make sure the initialization to throw an exception when there is no match url --- packages/network/src/index.spec.ts | 21 +++++++++++++++++++++ packages/network/src/index.ts | 2 ++ 2 files changed, 23 insertions(+) diff --git a/packages/network/src/index.spec.ts b/packages/network/src/index.spec.ts index 5144e4035..bc9f3b581 100644 --- a/packages/network/src/index.spec.ts +++ b/packages/network/src/index.spec.ts @@ -23,6 +23,27 @@ describe('Network', () => { let connector: Network let mockConnector: MockJsonRpcProvider + describe('no url', () => { + beforeEach(() => { + let actions: Actions + ;[store, actions] = createWeb3ReactStoreAndActions() + connector = new Network({ actions, urlMap: {} }) + }) + + describe('#activate', () => { + test('works', async () => { + let error = null + try { + await connector.activate() + } catch (err) { + error = err + } + + expect(error).not.toBeNull() + }) + }) + }) + describe('single url', () => { beforeEach(() => { let actions: Actions diff --git a/packages/network/src/index.ts b/packages/network/src/index.ts index 4ae28884c..f17d29f8d 100644 --- a/packages/network/src/index.ts +++ b/packages/network/src/index.ts @@ -65,6 +65,8 @@ export class Network extends Connector { const urls = this.urlMap[chainId] + if (!urls) return Promise.reject('fail to initialize provider') + // early return if we have a single jsonrpc provider already if (urls.length === 1 && !isUrl(urls[0])) { return (this.providerCache[chainId] = Promise.resolve(urls[0]))