-
Notifications
You must be signed in to change notification settings - Fork 590
feat: Unblock wallet_switchEthereumChain
#2634
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
feat: Unblock wallet_switchEthereumChain
#2634
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2634 +/- ##
=======================================
Coverage 98.07% 98.08%
=======================================
Files 398 399 +1
Lines 10976 10991 +15
Branches 1728 1731 +3
=======================================
+ Hits 10765 10780 +15
Misses 211 211 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
2a66d50
to
fd11f16
Compare
@metamaskbot update-pr |
No dependency changes detected. Learn more about Socket for GitHub. 👍 No dependency changes detected in pull request |
@SocketSecurity ignore npm/@metamask/[email protected] This is ours. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the future we could consider full support for wallet_switchEthereumChain
, and actually updating the provider configuration etc., but for now this simply makes the wallet_switchEthereumChain
method always return null
.
f2aa83e
to
1dcbeda
Compare
@SocketSecurity ignore npm/[email protected] Only used for development / testing, and pending update in another PR. @SocketSecurity ignore npm/@metamask/[email protected] This is ours. |
@@ -207,6 +223,9 @@ async function signTypedData(message: string, from: string) { | |||
* @see https://docs.metamask.io/snaps/reference/rpc-api/#wallet_invokesnap | |||
*/ | |||
export const onRpcRequest: OnRpcRequestHandler = async ({ request }) => { | |||
const { chainId = '0x1' } = (request.params as BaseParams) ?? {}; | |||
await switchChain(chainId); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
probably not a problem, but i think always using mainnet makes it possible in the extension e2e tests that use this snap to try to hit the mainnet infura endpoint, but I think that's probably only the case if something triggers getGasPrice
and i'm not certain there is an extension e2e test that does that. Just pointing this out in case I am wrong
packages/snaps-simulation/src/middleware/internal-methods/switch-ethereum-chain.ts
Outdated
Show resolved
Hide resolved
sorry, I realize this PR is still marked as draft, so sorry for the early nit comments |
736f8f1
to
afa3bc5
Compare
607162c
to
5e27ac2
Compare
3612252
to
ff78991
Compare
838ce80
to
31ffcbf
Compare
This removes
wallet_switchEthereumChain
from theBLOCKED_RPC_METHODS
list.Closes MetaMask/MetaMask-planning#2938.
Closes #2654.
Blocked by: