Files
serai/processor/signers/src/db.rs

37 lines
1.4 KiB
Rust
Raw Normal View History

2024-09-06 03:20:38 -04:00
use serai_validator_sets_primitives::Session;
use serai_db::{Get, DbTxn, create_db, db_channel};
use messages::sign::{ProcessorMessage, CoordinatorMessage};
2024-09-07 03:33:26 -04:00
create_db! {
SignersGlobal {
RegisteredKeys: () -> Vec<Session>,
SerializedKeys: (session: Session) -> Vec<u8>,
LatestRetiredSession: () -> Session,
ToCleanup: () -> Vec<(Session, Vec<u8>)>,
2024-09-07 03:33:26 -04:00
}
}
2024-09-06 03:20:38 -04:00
db_channel! {
SignersGlobal {
// CompletedEventualities needs to be handled by each signer, meaning we need to turn its
// effective spsc into a spmc. We do this by duplicating its message for all keys we're
// signing for.
// TODO: Populate from CompletedEventualities
CompletedEventualitiesForEachKey: (session: Session) -> [u8; 32],
CoordinatorToTransactionSignerMessages: (session: Session) -> CoordinatorMessage,
TransactionSignerToCoordinatorMessages: (session: Session) -> ProcessorMessage,
CoordinatorToBatchSignerMessages: (session: Session) -> CoordinatorMessage,
BatchSignerToCoordinatorMessages: (session: Session) -> ProcessorMessage,
CoordinatorToSlashReportSignerMessages: (session: Session) -> CoordinatorMessage,
SlashReportSignerToCoordinatorMessages: (session: Session) -> ProcessorMessage,
CoordinatorToCosignerMessages: (session: Session) -> CoordinatorMessage,
CosignerToCoordinatorMessages: (session: Session) -> ProcessorMessage,
}
}