mirror of
https://github.com/sigp/lighthouse.git
synced 2026-05-30 12:47:05 +00:00
The previous check triggered ParentEnvelopeUnknown for any block whose parent didn't have its envelope received, even when the block's bid didn't actually reference that parent's payload (e.g. building on grandparent's execution state). This caused a permanent stall when an envelope was rejected (e.g. WithdrawalsRootMismatch from a buggy proposer): the parent's payload_received stayed false, and all subsequent child blocks would trigger infinite lookup retries for the broken envelope. Fix: only require the parent's envelope if the block's bid parent_block_hash matches the parent's execution_payload_block_hash, meaning this block directly depends on the parent's payload.