Fix chain switch: back to consistent switchChain before addChain #4512
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Rollback #4422. In this PR,
wallet_addEthereumChain
was called in the first place for all non-removable chains. This method has the side effect of requiring the user to update its MetaMask RPC when it's not matching the one specified in the request.Changes
In this PR, we're moving back to the regular flow: try
wallet_switchChain
, and if it fails because the chain doesn't exist, trywallet_addEthereumChain
. This flow is more consistent and aligned with the consequences of each method.