SCORU,Node: multiple (optional) operators and modes
Context
Fixes #2882 (closed).
Based on !5955 (merged).
The command to configure the rollup node is now:
init <mode> config for <sc-rollup-address> with operators [<operator>...]
<mode>: The mode for the rollup node (observer, batcher, maintenance, operator, custom)
<sc-rollup-address>: The smart-contract rollup address
<operator>: Public key hash, or alias, of a smart-contract rollup node operator. An operator can be specialized to a particular purpose by prefixing it's key or alias by said purpose, e.g. publish:alias_of_my_operator.
The modes are:
- Observer: Only follows the chain, reconstructs and interprets inboxes
- Batcher: Accept transactions in its queue and batches them on the L1 (TODO)
- Maintenance: Follows the chain and publishes commitments, cement and refute
- Operator: Equivalent to maintenance + batcher
- Custom: This mode allows to tweak which operations are injected by selecting the operators/signers
Manually testing the MR
dune exec tezt/tests/main.exe -- --file sc_rollup.ml commitment -i -t 'Alpha: observing the correct handling of commitments in the rollup node (handles_chain_reorgs)'
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
Edited by Alain Mebsout