EVM/Node: validate chain id

What

Validates the chain id in node's transaction validation.

How

The chain ID is fetched for every transactions, and we check if it matches the one decoded. It could be improved by keeping a reference to the network's chain id, but I think we should "optimize" this at the end when everything works.

Manually testing the MR

The merge request is lacking a transaction with a missing chain id, I however did not find any way to produce such transactions with cast. Potentially we need to just hardcode a pre eip155 transaction.

Checklist

  • Document the interface of any function added or modified (see the coding guidelines)
  • Document any change to the user interface, including configuration parameters (see node configuration)
  • Provide automatic testing (see the testing guide).
  • For new features and bug fixes, add an item in the appropriate changelog (docs/protocols/alpha.rst for the protocol and the environment, CHANGES.rst at the root of the repository for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR

Merge request reports

Loading