Skip to content

Commit fc9d98b

Browse files
committed
node: enable extended blocks checks for all chains by default
1 parent 7c41d93 commit fc9d98b

File tree

3 files changed

+25
-26
lines changed

3 files changed

+25
-26
lines changed

graph/src/components/network_provider/extended_blocks_check.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ use crate::components::network_provider::ProviderName;
1313

1414
/// Requires providers to support extended block details.
1515
pub struct ExtendedBlocksCheck {
16-
enabled_for_chains: HashSet<ChainName>,
16+
disabled_for_chains: HashSet<ChainName>,
1717
}
1818

1919
impl ExtendedBlocksCheck {
20-
pub fn new(enabled_for_chains: impl IntoIterator<Item = ChainName>) -> Self {
20+
pub fn new(disabled_for_chains: impl IntoIterator<Item = ChainName>) -> Self {
2121
Self {
22-
enabled_for_chains: enabled_for_chains.into_iter().collect(),
22+
disabled_for_chains: disabled_for_chains.into_iter().collect(),
2323
}
2424
}
2525
}
@@ -33,7 +33,7 @@ impl ProviderCheck for ExtendedBlocksCheck {
3333
provider_name: &ProviderName,
3434
adapter: &dyn NetworkDetails,
3535
) -> ProviderCheckStatus {
36-
if !self.enabled_for_chains.contains(chain_name) {
36+
if self.disabled_for_chains.contains(chain_name) {
3737
return ProviderCheckStatus::Valid;
3838
}
3939

graph/src/env/mod.rs

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -227,13 +227,17 @@ pub struct EnvVars {
227227
/// If not specified, the graphman server will not start.
228228
pub graphman_server_auth_token: Option<String>,
229229

230-
/// If enabled for a chain, requires providers to support extended block details.
230+
/// By default, all providers are required to support extended block details,
231+
/// as this is the safest option for a graph-node operator.
231232
///
232-
/// Providers that do not support extended block details for enabled chains are
233-
/// considered invalid and will not be used.
233+
/// Providers that do not support extended block details for enabled chains
234+
/// are considered invalid and will not be used.
234235
///
235-
/// Defaults to an empty list;
236-
pub firehose_require_extended_blocks_for_chains: Vec<String>,
236+
/// To disable checks for one or more chains, simply specify their names
237+
/// in this configuration option.
238+
///
239+
/// Defaults to an empty list, which means that this feature is enabled for all chains;
240+
pub firehose_disable_extended_blocks_for_chains: Vec<String>,
237241
}
238242

239243
impl EnvVars {
@@ -319,9 +323,9 @@ impl EnvVars {
319323
genesis_validation_enabled: inner.genesis_validation_enabled.0,
320324
genesis_validation_timeout: Duration::from_secs(inner.genesis_validation_timeout),
321325
graphman_server_auth_token: inner.graphman_server_auth_token,
322-
firehose_require_extended_blocks_for_chains:
323-
Self::firehose_require_extended_blocks_for_chains(
324-
inner.firehose_require_extended_blocks_for_chains,
326+
firehose_disable_extended_blocks_for_chains:
327+
Self::firehose_disable_extended_blocks_for_chains(
328+
inner.firehose_disable_extended_blocks_for_chains,
325329
),
326330
})
327331
}
@@ -348,7 +352,7 @@ impl EnvVars {
348352
self.log_query_timing_contains("cache") && self.log_gql_timing()
349353
}
350354

351-
fn firehose_require_extended_blocks_for_chains(s: Option<String>) -> Vec<String> {
355+
fn firehose_disable_extended_blocks_for_chains(s: Option<String>) -> Vec<String> {
352356
s.unwrap_or_default()
353357
.split(",")
354358
.map(|x| x.trim().to_string())
@@ -482,8 +486,8 @@ struct Inner {
482486
genesis_validation_timeout: u64,
483487
#[envconfig(from = "GRAPHMAN_SERVER_AUTH_TOKEN")]
484488
graphman_server_auth_token: Option<String>,
485-
#[envconfig(from = "GRAPH_NODE_FIREHOSE_REQUIRE_EXTENDED_BLOCKS_FOR_CHAINS")]
486-
firehose_require_extended_blocks_for_chains: Option<String>,
489+
#[envconfig(from = "GRAPH_NODE_FIREHOSE_DISABLE_EXTENDED_BLOCKS_FOR_CHAINS")]
490+
firehose_disable_extended_blocks_for_chains: Option<String>,
487491
}
488492

489493
#[derive(Clone, Debug)]

node/src/main.rs

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -284,17 +284,12 @@ async fn main() {
284284
)));
285285
}
286286

287-
if !env_vars
288-
.firehose_require_extended_blocks_for_chains
289-
.is_empty()
290-
{
291-
provider_checks.push(Arc::new(network_provider::ExtendedBlocksCheck::new(
292-
env_vars
293-
.firehose_require_extended_blocks_for_chains
294-
.iter()
295-
.map(|x| x.as_str().into()),
296-
)));
297-
}
287+
provider_checks.push(Arc::new(network_provider::ExtendedBlocksCheck::new(
288+
env_vars
289+
.firehose_disable_extended_blocks_for_chains
290+
.iter()
291+
.map(|x| x.as_str().into()),
292+
)));
298293

299294
let network_adapters = Networks::from_config(
300295
logger.cheap_clone(),

0 commit comments

Comments
 (0)