Remove duplicate slot_clock method (#2842)

This commit is contained in:
Paul Hauner 2021-12-02 09:01:36 +11:00
parent 94385fe17b
commit 144978f8f8
No known key found for this signature in database
GPG Key ID: 5E2CFF9B75FA63DF
2 changed files with 2 additions and 11 deletions

View File

@ -168,7 +168,8 @@ pub fn validate_execution_payload_for_gossip<T: BeaconChainTypes>(
if is_merge_complete || execution_payload != &<_>::default() { if is_merge_complete || execution_payload != &<_>::default() {
let expected_timestamp = chain let expected_timestamp = chain
.slot_clock .slot_clock
.compute_timestamp_at_slot(block.slot()) .start_of(block.slot())
.map(|d| d.as_secs())
.ok_or(BlockError::BeaconChainError( .ok_or(BlockError::BeaconChainError(
BeaconChainError::UnableToComputeTimeAtSlot, BeaconChainError::UnableToComputeTimeAtSlot,
))?; ))?;

View File

@ -102,14 +102,4 @@ pub trait SlotClock: Send + Sync + Sized + Clone {
fn sync_committee_contribution_production_delay(&self) -> Duration { fn sync_committee_contribution_production_delay(&self) -> Duration {
self.slot_duration() * 2 / 3 self.slot_duration() * 2 / 3
} }
/// An implementation of the method described in the consensus spec here:
///
/// https://github.com/ethereum/consensus-specs/blob/dev/specs/merge/beacon-chain.md#compute_timestamp_at_slot
fn compute_timestamp_at_slot(&self, slot: Slot) -> Option<u64> {
let slots_since_genesis = slot.as_u64().checked_sub(self.genesis_slot().as_u64())?;
slots_since_genesis
.checked_mul(self.slot_duration().as_secs())
.and_then(|since_genesis| self.genesis_duration().as_secs().checked_add(since_genesis))
}
} }