fix: do not support 7702/5792 for 4337 AA accounts#2507
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
| ]) | ||
| ); | ||
|
|
||
| const eoaMiddleware = providerAsMiddleware(eoaProvider, overrideEip5792And7702MethodsHandlers); |
There was a problem hiding this comment.
no. don't change provider as middleware.
add these above middlewares under the engine below in between aaMiddleware and eoaMiddleware
| const engine = JRPCEngineV2.create({ middleware: [switchChainMiddleware, forwardMiddleware] }); | ||
| const engineProvider = providerFromEngineV2(engine) as IProvider; | ||
|
|
||
| return { |
There was a problem hiding this comment.
so that metamaskConnector can handle provider requests from the dapp
There was a problem hiding this comment.
since we wrapped the evmProvider with the engine, we will need to handle/forward the rest of the events, requests right?
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit b199357. Configure here.

Jira Link
https://consensyssoftware.atlassian.net/browse/EMBED-371?atlOrigin=eyJpIjoiYTBiYTU3ODRjNWU5NDY0ZjlhYjNlM2Y2YWM3ZWEzM2EiLCJwIjoiaiJ9
Description
ProviderErrors.Unsupported) for the Eip7702/5792 calls from 4337 AA accounts.How has this been tested?
Screenshots (if appropriate)
Types of changes
Checklist
Note
Medium Risk
Changes wallet RPC routing for 4337 AA and MetaMask chain switching—important for x402 and smart-account flows but scoped middleware with explicit unsupported errors rather than broad refactors.
Overview
4337 account-abstraction providers now reject EIP-7702 and EIP-5792 JSON-RPC methods with
providerErrors.unsupportedMethodvia new middleware in the AA RPC stack, instead of letting those calls fall through to the EOA provider. AA setup also fails fast when the current chain config is missing.The MetaMask connector wraps its EVM provider in a JRPC engine that intercepts
wallet_switchEthereumChainand routes switching throughevmClient.switchChainwith shared chain metadata;switchChainreuses a newgetEvmChainConfigurationhelper.The Vue x402 demo points at a fixed dev protected URL, switches to Base Sepolia using configured EIP-155 chains from Web3Auth (with clearer console events on success/failure).
Reviewed by Cursor Bugbot for commit c4980ae. Bugbot is set up for automated code reviews on this repo. Configure here.