Skip to content

fix: filter out Nethermind-specific error field from receipt comparisons#17

Merged
jenpaff merged 1 commit intomainfrom
fix/filter-nethermind-error-field
Jan 13, 2026
Merged

fix: filter out Nethermind-specific error field from receipt comparisons#17
jenpaff merged 1 commit intomainfrom
fix/filter-nethermind-error-field

Conversation

@jenpaff
Copy link
Contributor

@jenpaff jenpaff commented Jan 13, 2026

Summary

Nethermind includes a non-standard error field on reverted transaction receipts which is not part of the Ethereum JSON-RPC spec. This caused false failures when comparing get_block_receipts responses between Reth and Nethermind.

Changes

  • Added IGNORED_FIELDS constant for client-specific extension fields
  • Added filter_ignored_fields() function that recursively removes these fields before comparison

Example

Nethermind returns:

{
  "status": "0x0",
  "error": "revert",  // <-- Nethermind-only, not in spec
  ...
}

Reth/Geth return:

{
  "status": "0x0",
  ...
}

Testing

Tested locally against:

  • Reth vs Nethermind (mainnet) ✅
  • Reth vs Geth (sepolia) ✅

@jenpaff jenpaff requested a review from joshieDo January 13, 2026 17:42
Nethermind includes a non-standard 'error' field on reverted transaction
receipts which is not part of the Ethereum JSON-RPC spec. This caused
false failures when comparing get_block_receipts responses between
Reth and Nethermind.

This change recursively filters out client-specific extension fields
before comparing RPC responses.
@jenpaff jenpaff force-pushed the fix/filter-nethermind-error-field branch from ac3df75 to cb0e815 Compare January 13, 2026 17:43
@jenpaff jenpaff merged commit 1485aa9 into main Jan 13, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants