[go: up one dir, main page]

Define the Tezlink tx queue

This MR is stacked on !18324 (merged).

Closes L2-86

What

This MR defines Tezlink operations and instantiates the tx-queue's Tx_container functor with them.

Why

The Tx-queue is the main transaction container of the L2 node, and the one used in production by the Etherlink sequencer to fetch the transactions to include in blocks. Supporting Tezlink in the tx-queue is essential to support operation-crafting Tezos tools such as wallets.

How

To define the operation type in the case of Tezlink, the requirements are those of the L2_transaction interface (see second commit) defined in !18322 (merged). In particular, we need to be able to compute from an operation its nonce, source address, and hash. To compute those, we are not allowed to use the result monad. The simplest to achieve this is to define the operation type as a record (see first commit) containing as fields the pre-computed nonce and source address, in addition to the raw operation (to compute the hash).

Manually testing the MR

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
Edited by Raphaël Cauderlier

Merge request reports

Loading