etherlink: add tx queue to observer behind a feature flag
Checklist
-
Provide automatic testing. -
Add an item in the changelog
What
This is a the first MR of a series of MRs that allows to replace the tx queue by a tx pool. It's protected behind a feature flag for now, that will be drop when the feature is stable enough and well tested.
Why
In order to improve performance, drop 1M and simplify the implementation.
How
First I simply copy the tx queue from the floodgate binary, then from there I'll iterate in multiples MR until it's feature complete. This first MR only make sure that it allows to forward transaction when they are received.
There is code that could be improved directly here. But I've prefered to be as similar to the current tx queue implementation as possible at firt. Then we'll diverge more in following MRs.
Manually testing the MR
Run an observer with the tx queue activated and submit a transaction to it to make sure it's relayed. This is what this following test do:
$ dune exec etherlink/tezt/tests/main.exe -- tx_queue /multichain_enabled --verbose