-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
fix(snaps): Refactor SnapBridge to use SelectedNetworkController
#22873
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+112
−180
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
FrederikBolding
previously approved these changes
Nov 19, 2025
8664d44 to
9406077
Compare
FrederikBolding
approved these changes
Nov 19, 2025
62fb698 to
78ef601
Compare
Contributor
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsFallback: AI analysis did not complete successfully. Running all tests. |
|
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
release-7.61.0
Issue or pull request that will be included in release 7.61.0
run-android-flask-e2e-smoke
Run Android flask E2E tests on next CI run
size-M
skip-sonar-cloud
Only used for bypassing sonar cloud when failures are not relevant to the changes.
team-core-platform
Core Platform team
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
This PR refactors the
SnapBridgeto useSelectedNetworkControllerto create a provider proxy. It also removes a lot of unnecessary logic. This fixes an issue where the snap couldn't switch the network.Changelog
CHANGELOG entry: Fix snap
wallet_switchEthereumChainRelated issues
Fixes: #22419
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Refactors SnapBridge to source provider/block tracker from SelectedNetworkController, streamlines the JSON-RPC middleware stack and stream wiring, and types snapId as SnapId in init.
SnapBridgerefactor:SelectedNetworkController.getProviderAndBlockTracker(snapId)and addcreateSelectedNetworkMiddleware.#getProviderState) → forward viaproviderAsMiddleware(proxy.provider).setupMultiplexandpump; add concise logging; adopt strong typings (SnapId,JsonRpcMiddleware,InternalAccount); remove legacy proxy/network-version logic.controllers/snaps/execution-service-init.ts, passsnapIdasSnapIdwhen creatingSnapBridge.Written by Cursor Bugbot for commit 78ef601. This will update automatically on new commits. Configure here.