Skip to content

Conversation

@danielntmd
Copy link
Contributor

  • Allow node operators to update coinbase, fee recipient, and validator attester keys without restarting by re-reading keystore files from disk.

What is updated on reload:

  • Validator attester keys (add, remove, or replace)
  • Coinbase and fee recipient per validator
  • Publisher-to-validator mapping in the sequencer publisher factory
  • Slasher "don't-slash-self" list
  • HA signer preserved (PostgreSQL connection pool reused)

What is NOT updated (requires node restart):

  • L1 publisher signers (funded accounts that send L1 transactions)
  • Prover keys
  • HA signer connections

Validation is performed before any state mutation:

  • Keystore files are loaded, merged, and validated
  • New validators must use a publisher key already initialized at startup;
    reload is rejected with a clear error if a publisher key is unknown
  • If any validation fails, the old keystore remains in effect

Tests:

  • unit tests, error paths, e2e, etc

- Allow node operators to update coinbase, fee recipient, and validator attester keys without restarting by re-reading keystore files from disk.
What is updated on reload:
- Validator attester keys (add, remove, or replace)
- Coinbase and fee recipient per validator
- Publisher-to-validator mapping in the sequencer publisher factory
- Slasher "don't-slash-self" list
- HA signer preserved (expensive PostgreSQL connection pool reused)
What is NOT updated (requires node restart):
- L1 publisher signers (funded accounts that send L1 transactions)
- Prover keys
- HA signer PostgreSQL connections
Validation is performed before any state mutation:
- Keystore files are loaded, merged, and validated
- New validators must use a publisher key already initialized at startup;
  reload is rejected with a clear error if a publisher key is unknown
- If any validation fails, the old keystore remains in effect
Tests:
- unit tests, error paths, e2e, etc
@danielntmd danielntmd changed the base branch from next to merge-train/spartan February 10, 2026 05:52
@AztecBot
Copy link
Collaborator

Flakey Tests

🤖 says: This CI run detected 1 tests that failed, but were tolerated due to a .test_patterns.yml entry.

\033FLAKED\033 (8;;http://ci.aztec-labs.com/79f274067b914d63�79f274067b914d638;;�): yarn-project/scripts/run_test.sh p2p/src/client/test/p2p_client.integration_message_propagation.test.ts (22s) (code: 1) group:e2e-p2p-epoch-flakes

@danielntmd danielntmd changed the title feat: add reloadKeystore admin RPC endpoint feat: (A-302) add reloadKeystore admin RPC endpoint Feb 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants