Skip to content

Commit 0a552fe

Browse files
committed
feat(aggregator): add build 'SequentialSignatureProcessor' in DI
1 parent d44367d commit 0a552fe

File tree

1 file changed

+21
-2
lines changed
  • mithril-aggregator/src/dependency_injection/builder/enablers

1 file changed

+21
-2
lines changed

mithril-aggregator/src/dependency_injection/builder/enablers/misc.rs

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ use crate::dependency_injection::{DependenciesBuilder, Result};
1414
use crate::get_dependency;
1515
use crate::services::{
1616
AggregatorClient, AggregatorHTTPClient, MessageService, MithrilMessageService,
17+
SequentialSignatureProcessor, SignatureConsumer, SignatureConsumerNoop, SignatureProcessor,
1718
};
1819
impl DependenciesBuilder {
1920
async fn build_signed_entity_type_lock(&mut self) -> Result<Arc<SignedEntityTypeLock>> {
@@ -26,7 +27,7 @@ impl DependenciesBuilder {
2627
get_dependency!(self.signed_entity_type_lock)
2728
}
2829

29-
/// build HTTP message service
30+
/// Builds HTTP message service
3031
pub async fn build_message_service(&mut self) -> Result<Arc<dyn MessageService>> {
3132
let certificate_repository = Arc::new(CertificateRepository::new(
3233
self.get_sqlite_connection().await?,
@@ -49,7 +50,7 @@ impl DependenciesBuilder {
4950
get_dependency!(self.message_service)
5051
}
5152

52-
/// build an [AggregatorClient]
53+
/// Builds an [AggregatorClient]
5354
pub async fn build_leader_aggregator_client(&mut self) -> Result<Arc<dyn AggregatorClient>> {
5455
let leader_aggregator_endpoint = self
5556
.configuration
@@ -70,4 +71,22 @@ impl DependenciesBuilder {
7071
pub async fn get_leader_aggregator_client(&mut self) -> Result<Arc<dyn AggregatorClient>> {
7172
get_dependency!(self.leader_aggregator_client)
7273
}
74+
75+
/// Builds a [SignatureConsumer]
76+
pub async fn build_signature_consumer(&mut self) -> Result<Arc<dyn SignatureConsumer>> {
77+
let signature_consumer = SignatureConsumerNoop::default();
78+
79+
Ok(Arc::new(signature_consumer))
80+
}
81+
82+
/// Builds a [SignatureProcessor]
83+
pub async fn create_signature_processor(&mut self) -> Result<Arc<dyn SignatureProcessor>> {
84+
let signature_processor = SequentialSignatureProcessor::new(
85+
self.build_signature_consumer().await?,
86+
self.get_certifier_service().await?,
87+
self.root_logger(),
88+
);
89+
90+
Ok(Arc::new(signature_processor))
91+
}
7392
}

0 commit comments

Comments
 (0)