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.
I had to make a couple of decisions here that might need some discussion before merging:
getDefaultWallets
list, but as per the previous point, this will only make a difference to Brave users. I thought this was a good idea due to the difficulty of detecting injected wallets while also dealing with wallets that impersonate MetaMask. If we leave this up to developers, it's very difficult to get it right.Also note that, as part of this work, I noticed that the "Injected Wallet" fallback wasn't visible in Brave initially even though this should have been the case. Turns out it's because Brave Wallet impersonates MetaMask by setting
window.ethereum.isMetaMask
totrue
. However, the MetaMask option didn't work as a fallback because wagmi correctly identifies that Brave Wallet is impersonating MetaMask. To fix this, I updated our MetaMask installation check to match wagmi's.