SCORU/Injector: Allow duplicate operations in injector's queue
Context
Because the injector uses a hash queue internally, adding an operation that was already in the queue would have no effect. This MR makes it possible to add multiple operations by adding nonces to the internal representation of operations to inject. This is now the default.
For instance, the batcher could not queue two identical messages for a rollup (imagine a scenario of a rollup whose only possible message is an unsigned string "incr" -- which increments a counter, say -- only one such message will be in the queue the other will silently disappear).
This MR allows the caller to decide, when queueing an operation, if the injector should accept multiple identical such operations, or not.
Related to !8106 (merged).
Manually testing the MR
dune exec tezt/tests/main.exe -- -f sc_rollup.ml # check that injector works for SCORU node
dune exec tezt/tests/main.exe -- -f tx_rollup_l2_node.ml # check that injector works for TORU node
Edited by Alain Mebsout