Relax requirement for enr fork digest predicate (#2433)

This commit is contained in:
Pawan Dhananjay 2021-07-09 08:18:29 +05:30 committed by Age Manning
parent c1d2e35c9e
commit 64226321b3
No known key found for this signature in database
GPG Key ID: 05EED64B79E06A93

View File

@ -737,7 +737,11 @@ impl<TSpec: EthSpec> Discovery<TSpec> {
};
// predicate for finding nodes with a matching fork and valid tcp port
let eth2_fork_predicate = move |enr: &Enr| {
enr.eth2() == Ok(enr_fork_id.clone()) && (enr.tcp().is_some() || enr.tcp6().is_some())
// `next_fork_epoch` and `next_fork_version` can be different so that
// we can connect to peers who aren't compatible with an upcoming fork.
// `fork_digest` **must** be same.
enr.eth2().map(|e| e.fork_digest) == Ok(enr_fork_id.fork_digest)
&& (enr.tcp().is_some() || enr.tcp6().is_some())
};
// General predicate