feat: Add experimental provider request RPC method #2773
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.
Adds an experimental RPC method that lets Snaps make requests to networks that are not currently selected in the MetaMask UI. This is a large improvement for Snaps that want to leverage MetaMask RPC as previously the only access to RPC was given through
endowment:ethereum-provider
which strictly uses the currently selected network. This change would effectively let Snaps make requests to any networks added by the user and is a temporary stopgap solution until the MetaMask multichain API ships. This means that this API may break at any time, use accordingly.Snaps with
endowment:ethereum-provider
would now be able to make requests like this:The RPC method requires the
endowment:ethereum-provider
permission and enforces an allowlist to only allow access to certain RPC methods (mostly read methods).