As far as I can tell, the Geth tracing path is not working for EIP-7702 accounts. It does not appear to work for either new, or existing accounts.
Versions
- Geth
geth version 1.16.1-stable-12b4131f (latest stable as of writing)
- Bundler
aae77140e5c2b1386d04eaeba2d23fc17a62bd87
Reproduce
- Run the bundler
yarn preprocess && yarn bundler --network=http://my-node:8545 --tracerRpcUrl http://my-node:8545 --auto
- Submit a user operation from a 7702 account
- Bundler incorrectly reports
FailedOp(0,"AA24 signature error")
Note that I am quite sure that the FailedOp error is incorrectly reported - running the bundler in --unsafe mode results in a successful execution of the user op.
- If run without the
tracerRpcUrl, then the following internal error happens, and an empty message is reported in the JSON RPC response:
ex= Error: Not a validateUserOp
at ValidationManager.decodeValidateUserOp (.../eth-infinitism/bundler/packages/validation-manager/dist/src/ValidationManager.js:459:19)
at ValidationManager.generateValidationResult (.../eth-infinitism/bundler/packages/validation-manager/dist/src/ValidationManager.js:107:37)
at ValidationManager._geth_traceCall_SimulateValidation (.../eth-infinitism/bundler/packages/validation-manager/dist/src/ValidationManager.js:223:49)
at processTicksAndRejections (node:internal/process/task_queues:105:5)
at async ValidationManager.validateUserOp (.../eth-infinitism/bundler/packages/validation-manager/dist/src/ValidationManager.js:285:55)
at async .../eth-infinitism/bundler/packages/bundler/src/modules/ExecutionManager.ts:61:28
failed: eth_sendUserOperation error: {"message":"","code":-32000} RpcError
at ValidationManager._geth_traceCall_SimulateValidation (.../eth-infinitism/bundler/packages/validation-manager/dist/src/ValidationManager.js:245:19)
at processTicksAndRejections (node:internal/process/task_queues:105:5)
at async ValidationManager.validateUserOp (.../eth-infinitism/bundler/packages/validation-manager/dist/src/ValidationManager.js:285:55)
at async .../eth-infinitism/bundler/packages/bundler/src/modules/ExecutionManager.ts:61:28 {
code: -32000,
data: undefined
}
Note this seems to happen when the EIP-7702 account has not been delegated yet.
As far as I can tell, the Geth tracing path is not working for EIP-7702 accounts. It does not appear to work for either new, or existing accounts.
Versions
geth version 1.16.1-stable-12b4131f(latest stable as of writing)aae77140e5c2b1386d04eaeba2d23fc17a62bd87Reproduce
yarn preprocess && yarn bundler --network=http://my-node:8545 --tracerRpcUrl http://my-node:8545 --autoFailedOp(0,"AA24 signature error")Note that I am quite sure that the
FailedOperror is incorrectly reported - running the bundler in--unsafemode results in a successful execution of the user op.tracerRpcUrl, then the following internal error happens, and an empty message is reported in the JSON RPC response:Note this seems to happen when the EIP-7702 account has not been delegated yet.