Skip to content
This repository was archived by the owner on Feb 23, 2026. It is now read-only.

Commit e46d877

Browse files
authored
Merge pull request #382 from chainbound/lore/feat/disable-validator-checks-flag
feat(sidecar): --unsafe-disable-onchain-checks flag
2 parents 55b66b3 + 47f3df5 commit e46d877

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

bolt-sidecar/src/config/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,9 @@ pub struct Opts {
8787
/// available without checking if connected validators are scheduled to propose a block.
8888
#[clap(long, env = "BOLT_SIDECAR_UNSAFE_DISABLE_CONSENSUS_CHECKS", default_value_t = false)]
8989
pub unsafe_disable_consensus_checks: bool,
90+
/// Unsafely disables on-chain checks of validators and operator when starting the sidecar
91+
#[clap(long, env = "BOLT_SIDECAR_UNSAFE_DISABLE_ONCHAIN_CHECKS", default_value_t = false)]
92+
pub unsafe_disable_onchain_checks: bool,
9093
/// Operating limits for the sidecar
9194
#[clap(flatten)]
9295
pub limits: LimitsOpts,

bolt-sidecar/src/driver.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use alloy::{rpc::types::beacon::events::HeadEvent, signers::local::PrivateKeySig
44
use beacon_api_client::mainnet::Client as BeaconClient;
55
use ethereum_consensus::{
66
clock::{self, SlotStream, SystemTimeProvider},
7-
phase0::mainnet::{BlsPublicKey, SLOTS_PER_EPOCH},
7+
phase0::mainnet::SLOTS_PER_EPOCH,
88
};
99
use eyre::Context;
1010
use futures::StreamExt;
@@ -170,9 +170,12 @@ impl<C: StateFetcher, ECDSA: SignerECDSA> SidecarDriver<C, ECDSA> {
170170
Vec::from_iter(constraint_signer.available_pubkeys())
171171
};
172172

173-
// Verify the operator and validator keys with the bolt manager
174-
if let Some(manager) = BoltManager::from_chain(opts.execution_api_url.clone(), *opts.chain)
173+
if opts.unsafe_disable_onchain_checks {
174+
info!("Skipping validators and operator public keys verification, --unsafe-disable-onchain-checks is 'true'");
175+
} else if let Some(manager) =
176+
BoltManager::from_chain(opts.execution_api_url.clone(), *opts.chain)
175177
{
178+
// Verify the operator and validator keys with the bolt manager
176179
let commitment_signer_pubkey = commitment_signer.public_key();
177180
info!(
178181
validator_pubkeys = %validator_pubkeys.len(),

0 commit comments

Comments
 (0)