Skip to content

Commit e7c947f

Browse files
authored
Merge pull request #885 from input-output-hk/jpraynaud/851-signable-artifact-builder-mithril-stake-distribution-signer
Mithril Stake Distribution Signable builder
2 parents cc9660f + c03101c commit e7c947f

File tree

16 files changed

+100
-102
lines changed

16 files changed

+100
-102
lines changed

Cargo.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

mithril-aggregator/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mithril-aggregator"
3-
version = "0.3.10"
3+
version = "0.3.11"
44
description = "A Mithril Aggregator server"
55
authors = { workspace = true }
66
edition = { workspace = true }

mithril-aggregator/src/artifact_builder/mithril_stake_distribution.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ impl ArtifactBuilder<Epoch, MithrilStakeDistribution> for MithrilStakeDistributi
4848
) -> StdResult<MithrilStakeDistribution> {
4949
let multi_signer = self.multi_signer.read().await;
5050
Ok(MithrilStakeDistribution::new(
51-
multi_signer.get_signers_with_stake().await?,
51+
multi_signer.get_next_signers_with_stake().await?,
5252
))
5353
}
5454
}
@@ -68,7 +68,7 @@ mod tests {
6868
let certificate = fake_data::certificate("cert-123".to_string());
6969
let mut mock_multi_signer = MockMultiSigner::new();
7070
mock_multi_signer
71-
.expect_get_signers_with_stake()
71+
.expect_get_next_signers_with_stake()
7272
.return_once(move || Ok(signers_with_stake_clone));
7373
let mithril_stake_distribution_artifact_builder =
7474
MithrilStakeDistributionArtifactBuilder::new(Arc::new(RwLock::new(mock_multi_signer)));

mithril-aggregator/src/dependency_injection/builder.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ use mithril_common::{
1616
adapters::{EraReaderAdapterBuilder, EraReaderDummyAdapter},
1717
EraChecker, EraMarker, EraReader, EraReaderAdapter, SupportedEra,
1818
},
19-
signable_builder::CardanoImmutableFilesFullSignableBuilder,
19+
signable_builder::{
20+
CardanoImmutableFilesFullSignableBuilder, MithrilStakeDistributionSignableBuilder,
21+
},
2022
store::adapter::{MemoryAdapter, SQLiteAdapter, StoreAdapter},
2123
BeaconProvider, BeaconProviderImpl,
2224
};
@@ -46,7 +48,7 @@ use crate::{
4648
},
4749
event_store::{EventMessage, EventStore, TransmitterService},
4850
http_server::routes::router,
49-
signable_builder::{MithrilStakeDistributionSignableBuilder, SignableBuilderService},
51+
signable_builder::SignableBuilderService,
5052
signer_registerer::SignerRecorder,
5153
stake_distribution_service::{MithrilStakeDistributionService, StakeDistributionService},
5254
ticker_service::{MithrilTickerService, TickerService},
@@ -876,9 +878,7 @@ impl DependenciesBuilder {
876878
}
877879

878880
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);
881+
let mithril_stake_distribution_builder = MithrilStakeDistributionSignableBuilder::default();
882882
let immutable_signable_builder = CardanoImmutableFilesFullSignableBuilder::new(
883883
self.get_immutable_digester().await?,
884884
self.get_logger().await?,

mithril-aggregator/src/lib.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ pub use crate::configuration::{
3939
Configuration, DefaultConfiguration, ExecutionEnvironment, SnapshotUploaderType,
4040
};
4141
pub use crate::multi_signer::{MultiSigner, MultiSignerImpl, ProtocolError};
42-
pub use crate::signable_builder::{
43-
MithrilStakeDistributionSignableBuilder, SignableBuilderService,
44-
};
42+
pub use crate::signable_builder::SignableBuilderService;
4543
pub use crate::snapshot_stores::{LocalSnapshotStore, SnapshotStore};
4644
pub use command_args::MainOpts;
4745
pub use dependency::DependencyManager;

mithril-aggregator/src/signable_builder/mithril_stake_distribution.rs

Lines changed: 0 additions & 68 deletions
This file was deleted.
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
//! The module used for building signables
22
3-
mod mithril_stake_distribution;
43
mod signable_builder_service;
54

6-
pub use mithril_stake_distribution::*;
75
pub use signable_builder_service::*;

mithril-aggregator/src/signable_builder/signable_builder_service.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@ use std::sync::Arc;
22

33
use mithril_common::{
44
entities::SignedEntityType,
5-
signable_builder::{CardanoImmutableFilesFullSignableBuilder, Signable, SignableBuilder},
5+
signable_builder::{
6+
CardanoImmutableFilesFullSignableBuilder, MithrilStakeDistributionSignableBuilder,
7+
Signable, SignableBuilder,
8+
},
69
StdResult,
710
};
811

9-
use super::MithrilStakeDistributionSignableBuilder;
10-
1112
/// SignableBuilder Service
1213
pub struct SignableBuilderService {
1314
mithril_stake_distribution_builder: MithrilStakeDistributionSignableBuilder,

mithril-common/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mithril-common"
3-
version = "0.2.46"
3+
version = "0.2.47"
44
authors = { workspace = true }
55
edition = { workspace = true }
66
documentation = { workspace = true }
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
use async_trait::async_trait;
2+
3+
use crate::{
4+
entities::{Epoch, ProtocolMessage},
5+
signable_builder::SignableBuilder,
6+
StdResult,
7+
};
8+
9+
/// A [MithrilStakeDistributionSignableBuilder] builder
10+
#[derive(Default)]
11+
pub struct MithrilStakeDistributionSignableBuilder {}
12+
13+
#[async_trait]
14+
impl SignableBuilder<Epoch, ProtocolMessage> for MithrilStakeDistributionSignableBuilder {
15+
// We just need to return an empty protocol message as the next AVK will be appended by the signing engine automatically
16+
async fn compute_signable(&self, _beacon: Epoch) -> StdResult<ProtocolMessage> {
17+
Ok(ProtocolMessage::new())
18+
}
19+
}
20+
21+
#[cfg(test)]
22+
mod tests {
23+
use super::*;
24+
25+
#[tokio::test]
26+
async fn test_compute_signable() {
27+
let mithril_stake_distribution_signable_builder =
28+
MithrilStakeDistributionSignableBuilder::default();
29+
let signable = mithril_stake_distribution_signable_builder
30+
.compute_signable(Epoch(1))
31+
.await
32+
.unwrap();
33+
let signable_expected = ProtocolMessage::new();
34+
assert_eq!(signable_expected, signable);
35+
}
36+
}

0 commit comments

Comments
 (0)