Skip to content

Commit bed0c1c

Browse files
committed
feat(aggregator): dumb aggregator client records number of signer registrations
1 parent 2ad7d5e commit bed0c1c

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

mithril-signer/src/services/aggregator_client.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,13 +99,19 @@ pub(crate) mod dumb {
9999
epoch_settings: RwLock<Option<SignerEpochSettings>>,
100100
last_registered_signer: RwLock<Option<Signer>>,
101101
aggregator_features: RwLock<AggregatorFeaturesMessage>,
102+
total_registered_signers: RwLock<u32>,
102103
}
103104

104105
impl DumbAggregatorClient {
105106
/// Return the last signer that called with the `register` method.
106107
pub async fn get_last_registered_signer(&self) -> Option<Signer> {
107108
self.last_registered_signer.read().await.clone()
108109
}
110+
111+
/// Return the total number of signers that called with the `register` method.
112+
pub async fn get_total_registered_signers(&self) -> u32 {
113+
*self.total_registered_signers.read().await
114+
}
109115
}
110116

111117
impl Default for DumbAggregatorClient {
@@ -114,6 +120,7 @@ pub(crate) mod dumb {
114120
epoch_settings: RwLock::new(Some(SignerEpochSettings::dummy())),
115121
last_registered_signer: RwLock::new(None),
116122
aggregator_features: RwLock::new(AggregatorFeaturesMessage::dummy()),
123+
total_registered_signers: RwLock::new(0),
117124
}
118125
}
119126
}
@@ -132,6 +139,9 @@ pub(crate) mod dumb {
132139
let signer = signer.clone();
133140
*last_registered_signer = Some(signer);
134141

142+
let mut total_registered_signers = self.total_registered_signers.write().await;
143+
*total_registered_signers += 1;
144+
135145
Ok(())
136146
}
137147

0 commit comments

Comments
 (0)