mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-15 19:02:42 +00:00
Gloas consensus: epoch processing, block signature verification, more tests (#8808)
- [x] Implement `process_builder_pending_payments` in epoch processing for Gloas. Enable the new EF tests for this sub-component as well. - [x] Update `include_all_signatures_except_proposal` for Gloas to safely include the execution payload bid signature (this was an omission in the previous bid PR). - [x] Enable Gloas for _all_ remaining EF tests by default. They all pass with the exception of the finality tests (see below). Co-Authored-By: Michael Sproul <michael@sigmaprime.io> Co-Authored-By: Eitan Seri- Levi <eserilev@gmail.com>
This commit is contained in:
@@ -170,6 +170,7 @@ where
|
||||
self.include_exits(block)?;
|
||||
self.include_sync_aggregate(block)?;
|
||||
self.include_bls_to_execution_changes(block)?;
|
||||
self.include_execution_payload_bid(block)?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
@@ -357,6 +358,27 @@ where
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Include the signature of the block's execution payload bid.
|
||||
pub fn include_execution_payload_bid<Payload: AbstractExecPayload<E>>(
|
||||
&mut self,
|
||||
block: &'a SignedBeaconBlock<E, Payload>,
|
||||
) -> Result<()> {
|
||||
if let Ok(signed_execution_payload_bid) =
|
||||
block.message().body().signed_execution_payload_bid()
|
||||
{
|
||||
// TODO(gloas): if we implement a global builder pubkey cache we need to inject it here
|
||||
if let Some(signature_set) = execution_payload_bid_signature_set(
|
||||
self.state,
|
||||
|builder_index| get_builder_pubkey_from_state(self.state, builder_index),
|
||||
signed_execution_payload_bid,
|
||||
self.spec,
|
||||
)? {
|
||||
self.sets.push(signature_set);
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Verify all the signatures that have been included in `self`, returning `true` if and only if
|
||||
/// all the signatures are valid.
|
||||
///
|
||||
|
||||
Reference in New Issue
Block a user