Files
serai/coordinator/substrate
Luke Parker 2f833dec77 Add job to competently check MSRVs
The prior workflow (now deleted) required manually specifying the packages to
check and only checked the package could compile under the stated MSRV. It
didn't verify it was actually the _minimum_ supported Rust version. The new
version finds the MSRV from scratch to check if the stated MSRV aligns.

Updates stated MSRVs accordingly.

Also removes many explicit dependencies from secq256k1 for their re-exports via
k256. Not directly relevant, just part of tidying up all the `toml`s.
2025-08-26 14:13:00 -04:00
..
2025-01-30 03:14:24 -05:00
2025-08-26 14:13:00 -04:00
2025-08-25 10:06:35 -04:00
2025-01-14 01:58:26 -05:00

Serai Coordinator Substrate

This crate manages the Serai coordinators's interactions with Serai's Substrate blockchain.

Two event streams are defined:

  • Canonical events, which must be handled by every validator, regardless of the sets they're present in. These are represented by serai_processor_messages::substrate::CoordinatorMessage.
  • Ephemeral events, which only need to be handled by the validators present within the sets they relate to. These are represented by two channels, NewSet and SignSlashReport.

The canonical event stream is available without provision of a validator's public key. The ephemeral event stream requires provision of a validator's public key. Both are ordered within themselves, yet there are no ordering guarantees across the two.

Additionally, a collection of tasks are defined to publish data onto Serai:

  • SetKeysTask, which sets the keys generated via DKGs onto Serai.
  • PublishBatchTask, which publishes Batchs onto Serai.
  • PublishSlashReportTask, which publishes SlashReports onto Serai.