From 8b8f77ee1f38db95857b377edc1f434995323a45 Mon Sep 17 00:00:00 2001 From: Hardhat Chad Date: Fri, 24 May 2024 21:56:47 +0000 Subject: [PATCH] clock state --- src/processor/mine.rs | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/processor/mine.rs b/src/processor/mine.rs index 7548caa..bb3b67c 100644 --- a/src/processor/mine.rs +++ b/src/processor/mine.rs @@ -72,16 +72,8 @@ pub fn process_mine<'a, 'info>( return Err(OreError::IsPaused.into()); } - // TODO Is this really needed? - // Validate the clock state - let clock = Clock::get().or(Err(ProgramError::InvalidAccountData))?; - let mut proof_data = proof_info.data.borrow_mut(); - let proof = Proof::try_from_bytes_mut(&mut proof_data)?; - if clock.unix_timestamp.lt(&proof.last_hash_at) { - return Err(OreError::ClockInvalid.into()); - } - // Validate epoch is active + let clock = Clock::get().or(Err(ProgramError::InvalidAccountData))?; if config .last_reset_at .saturating_add(EPOCH_DURATION) @@ -91,6 +83,8 @@ pub fn process_mine<'a, 'info>( } // Validate the digest + let mut proof_data = proof_info.data.borrow_mut(); + let proof = Proof::try_from_bytes_mut(&mut proof_data)?; let solution = Solution::new(args.digest, args.nonce); if !solution.is_valid(&proof.challenge) { return Err(OreError::HashInvalid.into());