fix(rpc): Disable base fee/eip-3607 on debug_traceCall#3162
fix(rpc): Disable base fee/eip-3607 on debug_traceCall#3162
Conversation
|
There was a problem hiding this comment.
Pull request overview
This PR fixes an issue where debug_traceCall fails when no gas price or base fee is provided in the transaction parameters. The fix disables base fee validation for trace calls to align with behavior in reth and other Ethereum clients, allowing simulated transactions with gas prices below the block base fee to execute successfully for tracing purposes.
Changes:
- Modified
debug_trace_callto setcfg_env.disable_base_fee = true, preventing base fee validation during trace execution - Changed
cfg_envfrom immutable to mutable binding to allow configuration modification
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files
🚀 New features to boost your workflow:
|
|
I want to note that even though I added |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
Yes, on reth: call.rs on geth: |
Description
When no gas price/ base fee is provided in
debug_traceCalltransaction params, gas price is set to 0, and the trace fails because gas price < block base fee.With this PR, we mirror reth behaviour and disable the base fee check on
debug_traceCall.Also disabled to eip-3607 and block gas limit to match our
eth_callimpl.Example call:
Nightly:
Head: