1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-22 09:57:02 +01:00

Set network status to "unknown" when ID is invalid (#19068)

We now set the network status to "unknown" rather than "unavailable"
when the network ID is invalid. This better reflects what we know when
this happens, and it makes the network controller better aligned with
the core network controller.

This was accomplished by using a regular error for the network ID
assertion rather than using `assert` directly. `assert` would throw an
error with a `code` property, which resutled in us treating it like an
RPC error.

This isn't tested, but it was found in the course of porting unit tests
from core to extension. It will be covered by these tests, which will
be added in the next PR.

This change should have no functional impact because we treat these two
network statuses as equivalent. The distinction between unknown and
unavailable is useful only for debugging.
This commit is contained in:
Mark Stacey 2023-05-09 15:44:14 -02:30 committed by GitHub
parent 6535e34943
commit 9847179f54
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -307,10 +307,9 @@ function isErrorWithCode(error: unknown): error is { code: string | number } {
* @param value - The value to check. * @param value - The value to check.
*/ */
function assertNetworkId(value: any): asserts value is NetworkId { function assertNetworkId(value: any): asserts value is NetworkId {
assert( if (!/^\d+$/u.test(value) || Number.isNaN(Number(value))) {
/^\d+$/u.test(value) && !Number.isNaN(Number(value)), throw new Error('value is not a number');
'value is not a number', }
);
} }
/** /**