mithril_signer/services/signature_publisher/
interface.rs

1use async_trait::async_trait;
2use mithril_common::entities::{ProtocolMessage, SignedEntityType, SingleSignature};
3use mithril_common::StdResult;
4
5/// Publishes computed single signature to a third party.
6#[cfg_attr(test, mockall::automock)]
7#[async_trait]
8pub trait SignaturePublisher: Send + Sync {
9    /// Publish computed single signature.
10    async fn publish(
11        &self,
12        signed_entity_type: &SignedEntityType,
13        signature: &SingleSignature,
14        protocol_message: &ProtocolMessage,
15    ) -> StdResult<()>;
16}