@@ -226,7 +226,7 @@ pub struct Cli<Config: CliConfig> {
226226 /// Number of concurrent workers for statement validation from the network.
227227 ///
228228 /// Only relevant when `--enable-statement-store` is used.
229- #[ arg( long, default_value_t = 1 ) ]
229+ #[ arg( long, default_value_t = sc_statement_store :: DEFAULT_NETWORK_WORKERS ) ]
230230 pub statement_network_workers : usize ,
231231
232232 /// Maximum statements per second per peer before rate limiting kicks in.
@@ -235,9 +235,33 @@ pub struct Cli<Config: CliConfig> {
235235 /// while enforcing the average rate over time.
236236 ///
237237 /// Only relevant when `--enable-statement-store` is used.
238- #[ arg( long, default_value_t = 50_000 ) ]
238+ #[ arg( long, default_value_t = sc_statement_store :: DEFAULT_RATE_LIMIT ) ]
239239 pub statement_rate_limit : u32 ,
240240
241+ /// Maximum number of statements the statement store can hold.
242+ ///
243+ /// Once this limit is reached, lower-priority statements may be evicted.
244+ ///
245+ /// Only relevant when `--enable-statement-store` is used.
246+ #[ arg( long, default_value_t = sc_statement_store:: DEFAULT_MAX_TOTAL_STATEMENTS ) ]
247+ pub statement_store_max_total_statements : usize ,
248+
249+ /// Maximum total data size (in bytes) the statement store can hold.
250+ ///
251+ /// Once this limit is reached, lower-priority statements may be evicted.
252+ ///
253+ /// Only relevant when `--enable-statement-store` is used.
254+ #[ arg( long, default_value_t = sc_statement_store:: DEFAULT_MAX_TOTAL_SIZE ) ]
255+ pub statement_store_max_total_size : usize ,
256+
257+ /// Number of seconds for which removed statements won't be allowed to be added back.
258+ ///
259+ /// This prevents old statements from being re-propagated on the network.
260+ ///
261+ /// Only relevant when `--enable-statement-store` is used.
262+ #[ arg( long, default_value_t = sc_statement_store:: DEFAULT_PURGE_AFTER_SEC ) ]
263+ pub statement_store_purge_after_sec : u64 ,
264+
241265 #[ arg( skip) ]
242266 pub ( crate ) _phantom : PhantomData < Config > ,
243267}
@@ -282,9 +306,15 @@ impl<Config: CliConfig> Cli<Config> {
282306 . unwrap_or ( self . authoring ) ,
283307 export_pov : self . export_pov_to_path . clone ( ) ,
284308 max_pov_percentage : self . run . experimental_max_pov_percentage ,
285- enable_statement_store : self . enable_statement_store ,
286- statement_network_workers : self . statement_network_workers ,
287- statement_rate_limit : self . statement_rate_limit ,
309+ statement_store_config : self . enable_statement_store . then_some (
310+ sc_statement_store:: Config {
311+ max_total_statements : self . statement_store_max_total_statements ,
312+ max_total_size : self . statement_store_max_total_size ,
313+ purge_after_sec : self . statement_store_purge_after_sec ,
314+ network_workers : self . statement_network_workers ,
315+ rate_limit : self . statement_rate_limit ,
316+ } ,
317+ ) ,
288318 storage_monitor : self . storage_monitor . clone ( ) ,
289319 }
290320 }
0 commit comments