@@ -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