Skip to content

Commit ec9d9d9

Browse files
committed
Simplify Mithril Stake Distribution signable builder
1 parent cc9660f commit ec9d9d9

File tree

2 files changed

+16
-38
lines changed

2 files changed

+16
-38
lines changed

mithril-aggregator/src/dependency_injection/builder.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -876,9 +876,7 @@ impl DependenciesBuilder {
876876
}
877877

878878
async fn build_signable_builder_service(&mut self) -> Result<Arc<SignableBuilderService>> {
879-
let multi_signer = self.get_multi_signer().await?;
880-
let mithril_stake_distribution_builder =
881-
MithrilStakeDistributionSignableBuilder::new(multi_signer);
879+
let mithril_stake_distribution_builder = MithrilStakeDistributionSignableBuilder::new();
882880
let immutable_signable_builder = CardanoImmutableFilesFullSignableBuilder::new(
883881
self.get_immutable_digester().await?,
884882
self.get_logger().await?,
Lines changed: 15 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,48 @@
1-
use std::sync::Arc;
2-
31
use async_trait::async_trait;
4-
use tokio::sync::RwLock;
52

63
use mithril_common::{
7-
entities::{Epoch, ProtocolMessage, ProtocolMessagePartKey},
4+
entities::{Epoch, ProtocolMessage},
85
signable_builder::SignableBuilder,
96
StdResult,
107
};
118

12-
use crate::MultiSigner;
13-
14-
/// A [SignableBuilder] for mithril stake distribution.
15-
pub struct MithrilStakeDistributionSignableBuilder {
16-
multi_signer: Arc<RwLock<dyn MultiSigner>>,
17-
}
9+
/// A [MithrilStakeDistributionSignable] builder
10+
pub struct MithrilStakeDistributionSignableBuilder {}
1811

1912
impl MithrilStakeDistributionSignableBuilder {
2013
/// MithrilStakeDistribution signable builder factory
21-
pub fn new(multi_signer: Arc<RwLock<dyn MultiSigner>>) -> Self {
22-
Self { multi_signer }
14+
pub fn new() -> Self {
15+
Self {}
16+
}
17+
}
18+
19+
impl Default for MithrilStakeDistributionSignableBuilder {
20+
fn default() -> Self {
21+
Self::new()
2322
}
2423
}
2524

2625
#[async_trait]
2726
impl SignableBuilder<Epoch, ProtocolMessage> for MithrilStakeDistributionSignableBuilder {
27+
// We just need to return an empty protocol message as the next AVK will be appended by the signing engine automatically
2828
async fn compute_signable(&self, _beacon: Epoch) -> StdResult<ProtocolMessage> {
29-
let mut protocol_message = ProtocolMessage::new();
30-
let multi_signer = self.multi_signer.read().await;
31-
protocol_message.set_message_part(
32-
ProtocolMessagePartKey::NextAggregateVerificationKey,
33-
multi_signer
34-
.compute_next_stake_distribution_aggregate_verification_key()
35-
.await?
36-
.unwrap_or_default(),
37-
);
38-
39-
Ok(protocol_message)
29+
Ok(ProtocolMessage::new())
4030
}
4131
}
4232

4333
#[cfg(test)]
4434
mod tests {
4535
use super::*;
4636

47-
use crate::multi_signer::MockMultiSigner;
48-
4937
#[tokio::test]
5038
async fn test_compute_signable() {
51-
let mut mock_multi_signer = MockMultiSigner::new();
52-
mock_multi_signer
53-
.expect_compute_next_stake_distribution_aggregate_verification_key()
54-
.return_once(|| Ok(Some("avk-123".to_string())));
5539
let mithril_stake_distribution_signable_builder =
56-
MithrilStakeDistributionSignableBuilder::new(Arc::new(RwLock::new(mock_multi_signer)));
40+
MithrilStakeDistributionSignableBuilder::new();
5741
let signable = mithril_stake_distribution_signable_builder
5842
.compute_signable(Epoch(1))
5943
.await
6044
.unwrap();
61-
let mut signable_expected = ProtocolMessage::new();
62-
signable_expected.set_message_part(
63-
ProtocolMessagePartKey::NextAggregateVerificationKey,
64-
"avk-123".to_string(),
65-
);
45+
let signable_expected = ProtocolMessage::new();
6646
assert_eq!(signable_expected, signable);
6747
}
6848
}

0 commit comments

Comments
 (0)