Skip to content

Commit 3203369

Browse files
committed
apollo_l1_provider: create l1 message provider config struct
1 parent 8bd3e10 commit 3203369

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

crates/apollo_l1_provider/src/config.rs

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@ use std::collections::BTreeMap;
22
use std::time::Duration;
33

44
use apollo_config::converters::deserialize_float_seconds_to_duration;
5-
use apollo_config::dumping::{ser_optional_param, ser_param, SerializeConfig};
5+
use apollo_config::dumping::{
6+
prepend_sub_config_name,
7+
ser_optional_param,
8+
ser_param,
9+
SerializeConfig,
10+
};
611
use apollo_config::validators::validate_ascii;
712
use apollo_config::{ParamPath, ParamPrivacyInput, SerializedParam};
813
use serde::{Deserialize, Serialize};
@@ -12,6 +17,25 @@ use validator::Validate;
1217

1318
use crate::transaction_manager::TransactionManagerConfig;
1419

20+
#[derive(Clone, Debug, Default, Serialize, Deserialize, Validate, PartialEq)]
21+
pub struct L1MessageProviderConfig {
22+
pub l1_provider_config: L1ProviderConfig,
23+
pub l1_scraper_config: L1ScraperConfig,
24+
}
25+
26+
impl SerializeConfig for L1MessageProviderConfig {
27+
fn dump(&self) -> BTreeMap<ParamPath, SerializedParam> {
28+
let mut dump =
29+
prepend_sub_config_name(self.l1_provider_config.dump(), "l1_provider_config");
30+
dump.append(&mut prepend_sub_config_name(
31+
self.l1_scraper_config.dump(),
32+
"l1_scraper_config",
33+
));
34+
35+
dump
36+
}
37+
}
38+
1539
#[derive(Clone, Copy, Debug, Serialize, Deserialize, Validate, PartialEq, Eq)]
1640
pub struct L1ProviderConfig {
1741
/// In most cases this can remain None: the provider defaults to using the

0 commit comments

Comments
 (0)