Skip to content

Conversation

@matthias-wright
Copy link
Collaborator

@matthias-wright matthias-wright commented Oct 21, 2025

Key changes:

  • Adds a new route to the RPC server to get the latest height
  • Adds an optional CLI argument to pass the node's IP
  • If a checkpoint is provided, the peer list is read from the checkpoint instead of the genesis
  • Adds a binary to test the stake and checkpoint flow
  • Adds the genesis validators to the consensus state with the minimum stake amount as the balance
  • Add validators that deposited the minimum stake as Inactive and only set them as Active at the end of the epoch
  • Adds graceful shutdown to the application, finalizer, syncer, rpc server, and prometheus server (still missing for Simplex and the p2p network, we are waiting on the newest commonware version for that)
  • Allows withdrawal requests from inactive validators (this is important if someone deposits less than the minimum stake, they won't be an active validator, but they will be able to withdraw their balance)
  • Adds a NetworkOracle trait and an implementation for the discovery oracle. The oracle is added to the finalizer actor, which makes it possible to update the list of authorized public keys when a new validator stakes. The trait is necessary, because the tests with the deterministic runtime use a different oracle.

The stake and checkpoint binary was not added to the tests because it requires Reth to be installed.
It can be executed with:

cargo run --release --features prom,e2e --bin stake-and-checkpoint -- --log-dir /tmp/rethlogs --checkpoint-height 50 --stop-height 100

TODO:

  • We still have to add a CLI argument for passing a checkpoint file
  • This step will also require to verify the checkpoint using the chain of finalized headers
  • This will be addressed in a future PR

@matthias-wright matthias-wright merged commit 2022223 into main Oct 22, 2025
4 checks passed
@matthias-wright matthias-wright deleted the m/stake-checkpoint-binary branch October 22, 2025 18:04
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