You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Evaluate skip-sender validation for EthTraceCall #7528
Evaluate whether EthTraceCall (trace_call) must support the same skip-sender-validation behavior as EthCall (eth_call) and EthEstimateGas (eth_estimateGas).
Rationale
The sender-validation changes in #7435 allow contract and nonexistent senders for eth_call and eth_estimateGas. EthTraceCall currently calls StateManager::apply_on_state_with_gas with SenderValidation::Enforce. As a result, trace_call can reject sender types that the related Ethereum RPC methods now support.
Affected area
src/rpc/methods/eth.rs
EthTraceCall::handle
Sender-validation and retry behavior around StateManager::apply_on_state_with_gas
Required work
Confirm the expected trace_call behavior against Lotus and Ethereum RPC compatibility requirements.
If parity requires it, add sender-validation retry logic that uses SenderValidation::Skip only for recognized sender-validation failures.
Preserve normal validation errors and unrelated execution errors.
Add focused tests for contract, nonexistent, and regular EOA senders.
Acceptance criteria
The intended trace_call sender-validation policy is documented by code or tests.
If skip behavior is required, contract and nonexistent senders produce trace results when execution otherwise succeeds.
Regular sender validation remains enforced unless the failure is a recognized sender-validation failure.
Activity