use crate::crypto::{Random32Bytes, Signature, VerifyingKey};
#[derive(Debug, Clone)]
pub struct IdentityAuthedRequestPayload {
pub command: &'static str,
pub verifying_key: VerifyingKey,
pub timestamp: u64,
pub signature: Signature,
}
#[derive(Debug, Clone)]
pub struct IdentityRotationChallengeResponsePayload {
pub new_verifying_key: VerifyingKey,
pub current_signature: Signature,
pub new_signature: Signature,
}
#[derive(Debug, Clone)]
pub struct CommandApprovalPayload {
pub challenge_fragment: Random32Bytes,
pub verifying_key: VerifyingKey,
pub signature: Signature,
}
#[derive(Debug, Clone)]
pub struct QuorumApprovedChallengeResponsePayload {
pub signature: Signature,
pub approving_quorum: Vec<VerifyingKey>,
}
pub struct EncryptedShareBackup {
pub signing_share: Vec<u8>,
pub sub_share: (Vec<u8>, Vec<u8>),
pub nonce: Vec<u8>,
}