Skip to content

Prove runtime signer rotation end-to-end without restarting rollup-node #9

Description

@dghelm

Summary

Track downstream acceptance evidence for the runtime authorized-signer refresh implemented by #7 after #6 closes.

The focused tests in #7 prove watcher refresh delivery, forward-head rotation, same-height reorgs, retry semantics, and in-process SystemContractConsensus decisions. The existing node signer-rotation e2e supplements those tests by manually injecting a consensus notification. A real live RotateSequencerSigner transition through the synthetic L1 and watcher bridge remains to be proven.

Cross-repository harness owner: DogeOS69/dogeos-core#722

Related snapshot hardening: #8, blocked by DogeOS69/dogeos-core#721

Acceptance contract

Close this issue when the cross-repository harness demonstrates all of the following using a rollup-node image that contains #7:

  • the synthetic L1 executes a real RotateSequencerSigner action while continuing to advance;
  • the relevant sequencer and a follower are already running before the transition;
  • both use production SystemContractConsensus, not NoopConsensus;
  • neither node relies on a static --network.valid_signer override to mask dynamic behavior;
  • l1_interface, the standby/new sequencer, and the follower keep the same process/container identities throughout the transition;
  • the already-running nodes log Authorized signer updated to: <new signer>;
  • the same standby/new-sequencer process begins producing blocks signed by the new signer without restart;
  • the follower that started before the switch accepts those blocks and continues advancing; and
  • the old signer no longer passes the relevant sequencing/validation checks after the update.

Evidence to attach

  • Exact rollup-node image tag, source SHA, and image digest.
  • Exact dogeos-core revision and harness command.
  • Old and new signer addresses used by the test.
  • Pre/post process or container identities.
  • Signer-update log excerpts from the pre-existing nodes.
  • Block production and follower-advancement assertions.
  • Confirmation that no genesis/config patch, replay reseed, or l1_interface restart was used to perform the transition.

Boundaries

This is an acceptance/evidence tracker, not a request to weaken the focused test suite or add a NoopConsensus workaround.

EIP-1898 block-hash pinning is tracked separately in #8. The live harness should first prove #7's supported unpinned runtime behavior; it can later be extended to exercise canonical pinned reads when DogeOS69/dogeos-core#721 and #8 land.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions