@@ -3,7 +3,7 @@ use std::sync::Arc;
3
3
4
4
use mithril_common:: {
5
5
entities:: { Beacon , Epoch , ProtocolMessage , SignedEntityType } ,
6
- signable_builder:: { Signable , SignableBuilder } ,
6
+ signable_builder:: SignableBuilder ,
7
7
StdResult ,
8
8
} ;
9
9
@@ -15,23 +15,23 @@ use mockall::automock;
15
15
#[ async_trait]
16
16
pub trait SignableBuilderService : Send + Sync {
17
17
/// Compute signable from signed entity type
18
- async fn compute_signable (
18
+ async fn compute_protocol_message (
19
19
& self ,
20
20
signed_entity_type : SignedEntityType ,
21
- ) -> StdResult < Arc < dyn Signable > > ;
21
+ ) -> StdResult < ProtocolMessage > ;
22
22
}
23
23
24
24
/// Mithril Signable Builder Service
25
25
pub struct MithrilSignableBuilderService {
26
- mithril_stake_distribution_builder : Arc < dyn SignableBuilder < Epoch , ProtocolMessage > > ,
27
- immutable_signable_builder : Arc < dyn SignableBuilder < Beacon , ProtocolMessage > > ,
26
+ mithril_stake_distribution_builder : Arc < dyn SignableBuilder < Epoch > > ,
27
+ immutable_signable_builder : Arc < dyn SignableBuilder < Beacon > > ,
28
28
}
29
29
30
30
impl MithrilSignableBuilderService {
31
31
/// MithrilSignableBuilderService factory
32
32
pub fn new (
33
- mithril_stake_distribution_builder : Arc < dyn SignableBuilder < Epoch , ProtocolMessage > > ,
34
- immutable_signable_builder : Arc < dyn SignableBuilder < Beacon , ProtocolMessage > > ,
33
+ mithril_stake_distribution_builder : Arc < dyn SignableBuilder < Epoch > > ,
34
+ immutable_signable_builder : Arc < dyn SignableBuilder < Beacon > > ,
35
35
) -> Self {
36
36
Self {
37
37
mithril_stake_distribution_builder,
@@ -42,26 +42,25 @@ impl MithrilSignableBuilderService {
42
42
43
43
#[ async_trait]
44
44
impl SignableBuilderService for MithrilSignableBuilderService {
45
- #[ allow( dead_code) ]
46
- async fn compute_signable (
45
+ async fn compute_protocol_message (
47
46
& self ,
48
47
signed_entity_type : SignedEntityType ,
49
- ) -> StdResult < Arc < dyn Signable > > {
50
- let signable : Arc < dyn Signable > = match signed_entity_type {
51
- SignedEntityType :: MithrilStakeDistribution ( e) => Arc :: new (
48
+ ) -> StdResult < ProtocolMessage > {
49
+ let protocol_message = match signed_entity_type {
50
+ SignedEntityType :: MithrilStakeDistribution ( e) => {
52
51
self . mithril_stake_distribution_builder
53
- . compute_signable ( e)
54
- . await ?,
55
- ) ,
56
- SignedEntityType :: CardanoImmutableFilesFull ( beacon) => Arc :: new (
52
+ . compute_protocol_message ( e)
53
+ . await ?
54
+ }
55
+ SignedEntityType :: CardanoImmutableFilesFull ( beacon) => {
57
56
self . immutable_signable_builder
58
- . compute_signable ( beacon)
59
- . await ?,
60
- ) ,
61
- _ => todo ! ( ) ,
57
+ . compute_protocol_message ( beacon)
58
+ . await ?
59
+ }
60
+ SignedEntityType :: CardanoStakeDistribution ( _ ) => todo ! ( ) ,
62
61
} ;
63
62
64
- Ok ( signable )
63
+ Ok ( protocol_message )
65
64
}
66
65
}
67
66
@@ -71,22 +70,21 @@ mod tests {
71
70
72
71
use mithril_common:: {
73
72
entities:: { Epoch , ProtocolMessage } ,
74
- signable_builder:: { Beacon as Beaconnable , Signable , SignableBuilder } ,
73
+ signable_builder:: { Beacon as Beaconnable , SignableBuilder } ,
75
74
StdResult ,
76
75
} ;
77
76
78
77
use async_trait:: async_trait;
79
78
use mockall:: mock;
80
79
81
80
mock ! {
82
- SignableBuilderImpl <U , V > { }
81
+ SignableBuilderImpl <U > { }
83
82
84
83
#[ async_trait]
85
- impl <U , V > SignableBuilder <U , V > for SignableBuilderImpl <U , V > where
86
- U : Beaconnable ,
87
- V : Signable , {
84
+ impl <U > SignableBuilder <U > for SignableBuilderImpl <U > where U : Beaconnable ,
85
+ {
88
86
89
- async fn compute_signable ( & self , beacon: U ) -> StdResult <V >;
87
+ async fn compute_protocol_message ( & self , beacon: U ) -> StdResult <ProtocolMessage >;
90
88
}
91
89
}
92
90
@@ -96,14 +94,14 @@ mod tests {
96
94
let protocol_message = ProtocolMessage :: new ( ) ;
97
95
let protocol_message_clone = protocol_message. clone ( ) ;
98
96
let mut mock_mithril_stake_distribution_signable_builder =
99
- MockSignableBuilderImpl :: < Epoch , ProtocolMessage > :: new ( ) ;
97
+ MockSignableBuilderImpl :: < Epoch > :: new ( ) ;
100
98
mock_mithril_stake_distribution_signable_builder
101
- . expect_compute_signable ( )
99
+ . expect_compute_protocol_message ( )
102
100
. once ( )
103
101
. return_once ( move |_| Ok ( protocol_message_clone) ) ;
104
102
105
103
let mock_cardano_immutable_files_full_signable_builder =
106
- MockSignableBuilderImpl :: < Beacon , ProtocolMessage > :: new ( ) ;
104
+ MockSignableBuilderImpl :: < Beacon > :: new ( ) ;
107
105
108
106
let signable_builder_service = MithrilSignableBuilderService :: new (
109
107
Arc :: new ( mock_mithril_stake_distribution_signable_builder) ,
@@ -112,7 +110,7 @@ mod tests {
112
110
113
111
let signed_entity_type = SignedEntityType :: MithrilStakeDistribution ( Epoch ( 1 ) ) ;
114
112
signable_builder_service
115
- . compute_signable ( signed_entity_type)
113
+ . compute_protocol_message ( signed_entity_type)
116
114
. await
117
115
. unwrap ( ) ;
118
116
}
@@ -122,12 +120,12 @@ mod tests {
122
120
let protocol_message = ProtocolMessage :: new ( ) ;
123
121
let protocol_message_clone = protocol_message. clone ( ) ;
124
122
let mock_mithril_stake_distribution_signable_builder =
125
- MockSignableBuilderImpl :: < Epoch , ProtocolMessage > :: new ( ) ;
123
+ MockSignableBuilderImpl :: < Epoch > :: new ( ) ;
126
124
127
125
let mut mock_cardano_immutable_files_full_signable_builder =
128
- MockSignableBuilderImpl :: < Beacon , ProtocolMessage > :: new ( ) ;
126
+ MockSignableBuilderImpl :: < Beacon > :: new ( ) ;
129
127
mock_cardano_immutable_files_full_signable_builder
130
- . expect_compute_signable ( )
128
+ . expect_compute_protocol_message ( )
131
129
. once ( )
132
130
. return_once ( move |_| Ok ( protocol_message_clone) ) ;
133
131
@@ -138,7 +136,7 @@ mod tests {
138
136
139
137
let signed_entity_type = SignedEntityType :: CardanoImmutableFilesFull ( Beacon :: default ( ) ) ;
140
138
signable_builder_service
141
- . compute_signable ( signed_entity_type)
139
+ . compute_protocol_message ( signed_entity_type)
142
140
. await
143
141
. unwrap ( ) ;
144
142
}
0 commit comments