EVM node: prepare Tx_queue for Tezlink: part 1/4
Next MR: !17999 (merged).
Context
In the EVM node, the distinction between the tx-queue and the tx-pool is abstracted to the RPC server under the name "Tx_container". There are also three other minor implementations of this interface (request forwarder in RPC mode, transaction forwarder in Proxy and Observer modes).
In the context of Tezlink, we want to reuse the Tx_queue and the request forwarder. To do so, we need to abstract the types of addresses and transactions. Our plan is to:
- make use of the Tx_container interface instead of directly accessing the Tx_queue in all workers (this series of MRs),
- abstract the needed types in the
Tx_containerinterface (!17697 (merged)).
At the end of this series of MRs, the Tx_queue module only exposes submodules (to be turned into functors in the !17697 (merged)) and the start function.
This MR moves to the Tx_container module all the functions of the interface which are used in no worker (either called from observer.ml, rpc.ml, proxy.ml, sequencer.ml, or not called at all).
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.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR