Skip to content

Commit 48fdf47

Browse files
committed
Wire Mithril Stake Distribution signable builder in signer
1 parent d7a07bb commit 48fdf47

File tree

5 files changed

+45
-14
lines changed

5 files changed

+45
-14
lines changed

mithril-common/src/signable_builder/mithril_stake_distribution.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use crate::{
66
StdResult,
77
};
88

9-
/// A [MithrilStakeDistributionSignable] builder
9+
/// A [MithrilStakeDistributionSignableBuilder] builder
1010
pub struct MithrilStakeDistributionSignableBuilder {}
1111

1212
impl MithrilStakeDistributionSignableBuilder {

mithril-signer/src/runtime/runner.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,9 @@ mod tests {
485485
adapters::{EraReaderAdapterType, EraReaderBootstrapAdapter},
486486
EraChecker, EraReader,
487487
},
488-
signable_builder::CardanoImmutableFilesFullSignableBuilder,
488+
signable_builder::{
489+
CardanoImmutableFilesFullSignableBuilder, MithrilStakeDistributionSignableBuilder,
490+
},
489491
store::{
490492
adapter::{DumbStoreAdapter, MemoryAdapter},
491493
StakeStore, StakeStorer,
@@ -534,10 +536,14 @@ mod tests {
534536

535537
let api_version_provider = Arc::new(APIVersionProvider::new(era_checker.clone()));
536538
let digester = Arc::new(DumbImmutableDigester::new(DIGESTER_RESULT, true));
537-
let signable_builder =
539+
let immutable_signable_builder =
538540
CardanoImmutableFilesFullSignableBuilder::new(digester.clone(), slog_scope::logger());
539-
540-
let signable_builder_service = Arc::new(SignableBuilderService::new(signable_builder));
541+
let mithril_stake_distribution_signable_builder =
542+
MithrilStakeDistributionSignableBuilder::new();
543+
let signable_builder_service = Arc::new(SignableBuilderService::new(
544+
immutable_signable_builder,
545+
mithril_stake_distribution_signable_builder,
546+
));
541547

542548
SignerServices {
543549
stake_store: Arc::new(StakeStore::new(Box::new(DumbStoreAdapter::new()), None)),

mithril-signer/src/runtime/signer_services.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ use mithril_common::{
1414
},
1515
digesters::{CardanoImmutableDigester, ImmutableDigester, ImmutableFileSystemObserver},
1616
era::{EraChecker, EraReader},
17-
signable_builder::CardanoImmutableFilesFullSignableBuilder,
17+
signable_builder::{
18+
CardanoImmutableFilesFullSignableBuilder, MithrilStakeDistributionSignableBuilder,
19+
},
1820
store::{adapter::SQLiteAdapter, StakeStore},
1921
BeaconProvider, BeaconProviderImpl, StdError,
2022
};
@@ -201,10 +203,14 @@ impl<'a> ServiceBuilder for ProductionServiceBuilder<'a> {
201203
api_version_provider.clone(),
202204
));
203205

204-
let dummy_signable_builder =
206+
let immutable_snapshot_builder =
205207
CardanoImmutableFilesFullSignableBuilder::new(digester.clone(), slog_scope::logger());
206-
let signable_builder_service =
207-
Arc::new(SignableBuilderService::new(dummy_signable_builder));
208+
let mithril_stake_distribution_signable_builder =
209+
MithrilStakeDistributionSignableBuilder::new();
210+
let signable_builder_service = Arc::new(SignableBuilderService::new(
211+
immutable_snapshot_builder,
212+
mithril_stake_distribution_signable_builder,
213+
));
208214

209215
let services = SignerServices {
210216
beacon_provider,

mithril-signer/src/signable_builder/signable_builder_service.rs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,28 @@ 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

912
/// SignableBuilder Service
10-
// TODO: temporary implementation
1113
pub struct SignableBuilderService {
1214
immutable_signable_builder: CardanoImmutableFilesFullSignableBuilder,
15+
mithril_stake_distribution_builder: MithrilStakeDistributionSignableBuilder,
1316
}
1417

1518
impl SignableBuilderService {
1619
/// SignableBuilderService factory
17-
pub fn new(immutable_signable_builder: CardanoImmutableFilesFullSignableBuilder) -> Self {
20+
pub fn new(
21+
immutable_signable_builder: CardanoImmutableFilesFullSignableBuilder,
22+
mithril_stake_distribution_builder: MithrilStakeDistributionSignableBuilder,
23+
) -> Self {
1824
Self {
1925
immutable_signable_builder,
26+
mithril_stake_distribution_builder,
2027
}
2128
}
2229
}
@@ -33,6 +40,11 @@ impl SignableBuilderService {
3340
.compute_signable(beacon)
3441
.await?,
3542
),
43+
SignedEntityType::MithrilStakeDistribution(epoch) => Arc::new(
44+
self.mithril_stake_distribution_builder
45+
.compute_signable(epoch)
46+
.await?,
47+
),
3648
_ => todo!(),
3749
};
3850

mithril-signer/tests/test_extensions/state_machine_tester.rs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ use mithril_common::era::{
77
EraChecker, EraReader,
88
};
99
use mithril_common::era::{EraMarker, SupportedEra};
10-
use mithril_common::signable_builder::CardanoImmutableFilesFullSignableBuilder;
10+
use mithril_common::signable_builder::{
11+
CardanoImmutableFilesFullSignableBuilder, MithrilStakeDistributionSignableBuilder,
12+
};
1113
use mithril_common::BeaconProvider;
1214
use slog::Drain;
1315
use slog_scope::debug;
@@ -152,7 +154,12 @@ impl StateMachineTester {
152154

153155
let signable_builder =
154156
CardanoImmutableFilesFullSignableBuilder::new(digester.clone(), slog_scope::logger());
155-
let signable_builder_service = Arc::new(SignableBuilderService::new(signable_builder));
157+
let mithril_stake_distribution_signable_builder =
158+
MithrilStakeDistributionSignableBuilder::new();
159+
let signable_builder_service = Arc::new(SignableBuilderService::new(
160+
signable_builder,
161+
mithril_stake_distribution_signable_builder,
162+
));
156163

157164
let services = SignerServices {
158165
certificate_handler: certificate_handler.clone(),

0 commit comments

Comments
 (0)