feat: Use EIP-6963 for test-snaps
#3757
Merged
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.
Use EIP-6963 for the
test-snapspage, preventing collisions with wallets that don't support Snaps.Mostly re-uses the logic from
snaps-directory, adapting it to this repo.Fixes #3753
Note
Adopts EIP-6963 to discover a MetaMask provider that supports Snaps and routes all RPC requests through it.
hasSnapsSupport,getMetaMaskEIP6963Provider, andgetSnapsProviderto find a MetaMask provider via EIP-6963 and verifywallet_getSnapssupport.requestbase query to use the discovered provider and assert presence before RPC calls.window.ethereumto includesetProvider,detected, andproviders.WindowEventMapentries foreip6963:requestProviderandeip6963:announceProvider.assertfrom@metamask/utils.Written by Cursor Bugbot for commit 994719c. This will update automatically on new commits. Configure here.