Skip to content

Commit efa4b9f

Browse files
apollo_l1_provider: add l1_block_time as a config parameter (#10505)
1 parent 8e10c4a commit efa4b9f

File tree

5 files changed

+19
-6
lines changed

5 files changed

+19
-6
lines changed

crates/apollo_deployments/resources/app_configs/l1_gas_price_scraper_config.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@
55
"l1_gas_price_scraper_config.starting_block": 0,
66
"l1_gas_price_scraper_config.starting_block.#is_none": true,
77
"l1_gas_price_scraper_config.startup_num_blocks_multiplier": 2,
8-
"l1_scraper_config.set_provider_historic_height_to_l2_genesis": false
8+
"l1_scraper_config.set_provider_historic_height_to_l2_genesis": false,
9+
"l1_scraper_config.l1_block_time_seconds": 12.0
910
}

crates/apollo_deployments/resources/app_configs/replacer_l1_gas_price_scraper_config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@
55
"l1_gas_price_scraper_config.starting_block": 0,
66
"l1_gas_price_scraper_config.starting_block.#is_none": true,
77
"l1_gas_price_scraper_config.startup_num_blocks_multiplier": 2,
8+
"l1_scraper_config.l1_block_time_seconds": 12.0,
89
"l1_scraper_config.set_provider_historic_height_to_l2_genesis": false
910
}

crates/apollo_l1_provider/src/l1_scraper.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@ pub mod l1_scraper_tests;
3434

3535
type L1ScraperResult<T, B> = Result<T, L1ScraperError<B>>;
3636

37-
// TODO(guyn): make this a config parameter
38-
// Sensible lower bound.
39-
const L1_BLOCK_TIME: u64 = 12;
40-
4137
pub struct L1Scraper<BaseLayerType: BaseLayerContract + Send + Sync + Debug> {
4238
pub config: L1ScraperConfig,
4339
pub base_layer: BaseLayerType,
@@ -140,7 +136,8 @@ impl<BaseLayerType: BaseLayerContract + Send + Sync + Debug> L1Scraper<BaseLayer
140136
debug!("Latest L1 block number: {latest_l1_block_number:?}");
141137

142138
// Estimate the number of blocks in the interval, to rewind from the latest block.
143-
let blocks_in_interval = self.config.startup_rewind_time_seconds.as_secs() / L1_BLOCK_TIME;
139+
let blocks_in_interval = self.config.startup_rewind_time_seconds.as_secs()
140+
/ self.config.l1_block_time_seconds.as_secs();
144141
debug!("Blocks in interval: {blocks_in_interval}");
145142

146143
// Add 50% safety margin.

crates/apollo_l1_scraper_config/src/config.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ pub struct L1ScraperConfig {
1919
#[serde(deserialize_with = "deserialize_float_seconds_to_duration")]
2020
pub polling_interval_seconds: Duration,
2121
pub set_provider_historic_height_to_l2_genesis: bool,
22+
#[serde(deserialize_with = "deserialize_float_seconds_to_duration")]
23+
pub l1_block_time_seconds: Duration,
2224
}
2325

2426
impl Default for L1ScraperConfig {
@@ -29,6 +31,7 @@ impl Default for L1ScraperConfig {
2931
finality: 0,
3032
polling_interval_seconds: Duration::from_secs(30),
3133
set_provider_historic_height_to_l2_genesis: false,
34+
l1_block_time_seconds: Duration::from_secs(12),
3235
}
3336
}
3437
}
@@ -67,6 +70,12 @@ impl SerializeConfig for L1ScraperConfig {
6770
This is useful on new chains (or in tests) where there have not been any state updates to the Starknet contract.",
6871
ParamPrivacyInput::Public,
6972
),
73+
ser_param(
74+
"l1_block_time_seconds",
75+
&self.l1_block_time_seconds.as_secs(),
76+
"The time it takes for a new L1 block to be created.",
77+
ParamPrivacyInput::Public,
78+
),
7079
])
7180
}
7281
}

crates/apollo_node/resources/config_schema.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2604,6 +2604,11 @@
26042604
"privacy": "Public",
26052605
"value": 0
26062606
},
2607+
"l1_scraper_config.l1_block_time_seconds": {
2608+
"description": "The time it takes for a new L1 block to be created.",
2609+
"privacy": "Public",
2610+
"value": 12
2611+
},
26072612
"l1_scraper_config.polling_interval_seconds": {
26082613
"description": "Interval in Seconds between each scraping attempt of L1.",
26092614
"privacy": "Public",

0 commit comments

Comments
 (0)