@@ -32,6 +32,7 @@ use graph::log::factory::LoggerFactory;
32
32
use graph:: prelude:: anyhow;
33
33
use graph:: prelude:: MetricsRegistry ;
34
34
use graph:: slog:: { debug, error, info, o, warn, Logger } ;
35
+ use graph:: tokio:: time:: timeout;
35
36
use graph:: url:: Url ;
36
37
use graph:: util:: security:: SafeDisplay ;
37
38
use graph_chain_ethereum:: { self as ethereum, Transport } ;
@@ -432,13 +433,17 @@ pub async fn networks_as_chains(
432
433
let chain_store = match store. chain_store ( chain_id) {
433
434
Some ( c) => c,
434
435
None => {
435
- let ident = match networks. chain_identifier ( & logger, chain_id) . await {
436
- Ok ( ident) => ident,
437
- Err ( err) if !config. genesis_validation_enabled => {
438
- warn ! ( & logger, "unable to fetch genesis for {}. Err: {}.falling back to the default value because validation is disabled" , chain_id, err) ;
436
+ let ident = match timeout (
437
+ config. genesis_validation_timeout ,
438
+ networks. chain_identifier ( & logger, chain_id) ,
439
+ )
440
+ . await
441
+ {
442
+ Ok ( Ok ( ident) ) => ident,
443
+ err => {
444
+ warn ! ( & logger, "unable to fetch genesis for {}. Err: {:?}.falling back to the default value" , chain_id, err) ;
439
445
ChainIdentifier :: default ( )
440
446
}
441
- err => err. expect ( "must be able to get chain identity to create a store" ) ,
442
447
} ;
443
448
store
444
449
. create_chain_store ( chain_id, ident)
@@ -708,10 +713,16 @@ mod test {
708
713
let metrics_registry = Arc :: new ( MetricsRegistry :: mock ( ) ) ;
709
714
let ident_validator = Arc :: new ( NoopIdentValidator ) ;
710
715
711
- let networks =
712
- Networks :: from_config ( logger, & config, metrics_registry, metrics, ident_validator)
713
- . await
714
- . expect ( "can parse config" ) ;
716
+ let networks = Networks :: from_config (
717
+ logger,
718
+ & config,
719
+ metrics_registry,
720
+ metrics,
721
+ ident_validator,
722
+ false ,
723
+ )
724
+ . await
725
+ . expect ( "can parse config" ) ;
715
726
let mut network_names = networks
716
727
. adapters
717
728
. iter ( )
0 commit comments