diff --git a/crates/apollo_consensus_orchestrator_config/src/config.rs b/crates/apollo_consensus_orchestrator_config/src/config.rs index 1b5d63ec2c1..2d71f9bc6a9 100644 --- a/crates/apollo_consensus_orchestrator_config/src/config.rs +++ b/crates/apollo_consensus_orchestrator_config/src/config.rs @@ -177,6 +177,9 @@ pub struct ContextStaticConfig { #[serde(deserialize_with = "deserialize_milliseconds_to_duration")] pub retrospective_block_hash_retry_interval_millis: Duration, pub behavior_mode: BehaviorMode, + /// When adding a synced block, fetch its accessed keys from the recorder so the node can build + /// the state commitment infos locally. Only has an effect in `os_input` builds. + pub fetch_accessed_keys_from_centralized: bool, } impl SerializeConfig for ContextStaticConfig { @@ -241,6 +244,13 @@ impl SerializeConfig for ContextStaticConfig { "Behavior mode: 'starknet' for production, 'echonet' for test/replay mode.", ParamPrivacyInput::Public, )]); + dump.extend([ser_param( + "fetch_accessed_keys_from_centralized", + &self.fetch_accessed_keys_from_centralized, + "Fetch accessed keys from the centralized recorder for synced blocks, enabling local \ + state commitment infos construction. Only has an effect in `os_input` builds.", + ParamPrivacyInput::Public, + )]); dump } } @@ -257,6 +267,7 @@ impl Default for ContextStaticConfig { build_proposal_time_ratio_for_retrospective_block_hash: 0.7, retrospective_block_hash_retry_interval_millis: Duration::from_millis(500), behavior_mode: BehaviorMode::default(), + fetch_accessed_keys_from_centralized: false, } } } diff --git a/crates/apollo_node/resources/config_schema.json b/crates/apollo_node/resources/config_schema.json index 0021af69b83..3b034bdd61b 100644 --- a/crates/apollo_node/resources/config_schema.json +++ b/crates/apollo_node/resources/config_schema.json @@ -2804,6 +2804,11 @@ "pointer_target": "chain_id", "privacy": "Public" }, + "consensus_manager_config.context_config.static_config.fetch_accessed_keys_from_centralized": { + "description": "Fetch accessed keys from the centralized recorder for synced blocks, enabling local state commitment infos construction. Only has an effect in `os_input` builds.", + "privacy": "Public", + "value": false + }, "consensus_manager_config.context_config.static_config.l1_da_mode": { "description": "The data availability mode, true: Blob, false: Calldata.", "privacy": "Public",