Etherlink: extend transaction object with internal type
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