mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-08 20:29:23 +00:00
Move docs to spec
This commit is contained in:
39
spec/coordinator/Coordinator.md
Normal file
39
spec/coordinator/Coordinator.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Coordinator
|
||||
|
||||
The coordinator is a service which communicates with all of the processors,
|
||||
all of the other coordinators over a secondary P2P network, and with the Serai
|
||||
node.
|
||||
|
||||
This document primarily details its flow with regards to the Serai node and
|
||||
processor.
|
||||
|
||||
### New Set Event
|
||||
|
||||
On `validator_sets::pallet::Event::NewSet`, the coordinator spawns a tributary
|
||||
for the new set. It additionally sends the processor
|
||||
`key_gen::CoordinatorMessage::GenerateKey`.
|
||||
|
||||
### Key Generation Event
|
||||
|
||||
On `validator_sets::pallet::Event::KeyGen`, the coordinator sends
|
||||
`substrate::CoordinatorMessage::ConfirmKeyPair` to the processor.
|
||||
|
||||
### Batch
|
||||
|
||||
On `substrate::ProcessorMessage::Batch`, the coordinator notes what the on-chain
|
||||
`Batch` should be, for verification once published.
|
||||
|
||||
### SignedBatch
|
||||
|
||||
On `substrate::ProcessorMessage::SignedBatch`, the coordinator publishes an
|
||||
unsigned transaction containing the signed batch to the Serai blockchain.
|
||||
|
||||
### Sign Completed
|
||||
|
||||
On `sign::ProcessorMessage::Completed`, the coordinator makes a tributary
|
||||
transaction containing the transaction hash the signing process was supposedly
|
||||
completed with.
|
||||
|
||||
Due to rushing adversaries, the actual transaction completing the plan may be
|
||||
distinct on-chain. These messages solely exist to coordinate the signing
|
||||
process, not to determine chain state.
|
||||
Reference in New Issue
Block a user