dont verify the signature of the genesis block in backfill sync (#3846)

This commit is contained in:
realbigsean
2023-01-03 17:23:01 -05:00
committed by GitHub
parent 786d9834f5
commit e02fcb30ab

View File

@@ -153,16 +153,20 @@ impl<T: BeaconChainTypes> BeaconChain<T> {
let signature_set = blocks_to_import let signature_set = blocks_to_import
.iter() .iter()
.zip_eq(block_roots) .zip_eq(block_roots)
.map(|(block, block_root)| { .filter_map(|(block, block_root)| {
block_proposal_signature_set_from_parts( (block_root != self.genesis_block_root).then(|| {
block, block_proposal_signature_set_from_parts(
Some(block_root), block,
block.message().proposer_index(), Some(block_root),
&self.spec.fork_at_epoch(block.message().epoch()), block.message().proposer_index(),
self.genesis_validators_root, &self.spec.fork_at_epoch(block.message().epoch()),
|validator_index| pubkey_cache.get(validator_index).cloned().map(Cow::Owned), self.genesis_validators_root,
&self.spec, |validator_index| {
) pubkey_cache.get(validator_index).cloned().map(Cow::Owned)
},
&self.spec,
)
})
}) })
.collect::<Result<Vec<_>, _>>() .collect::<Result<Vec<_>, _>>()
.map_err(HistoricalBlockError::SignatureSet) .map_err(HistoricalBlockError::SignatureSet)