Skip to content

Etherlink: extend transaction object with internal type

Valentin Chaboche requested to merge vch9@evm-extended-transaction-object into master

What

Adds extra information to transaction object

Why and how

In order to reconstruct the history we need to replay the transactions and provide the same state. However, delayed transactions does not pay the da fee, and it's not possible to know whether transactions were delayed transactions or not. (We use transactions objects to replay the blocks).

Therefore I propose to extend the transaction object encoding in the kernel. It doesn't change anything for users, the rpc remain exactly the same. It's retro-compatible, I added a retro compatible encoding that defaults to Ethereum. When the network updates to this version we will be able to hardcode somewhere the mapping of tx_hash -> internal_transaction_type for transactions made prior to this patch.

Manually testing the MR

It should be self contained.

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