message: Check future drift for PoS block only
diff: @@ -3545,7 +3545,7 @@ bool CheckBlock(const CBlock& block, CValidationState& state, const Consensus::P
  if (!CheckBlockHeader(block, state, consensusParams, fCheckPOW))
  return false;
  - if (!block.IsProofOfStake() && block.GetBlockTime() > FutureDrift(GetAdjustedTime()))
  + if (block.IsProofOfStake() && block.GetBlockTime() > FutureDrift(GetAdjustedTime()))
  return error("CheckBlock() : block timestamp too far in the future");
  // Check the merkle root.
  @@ -3713,7 +3713,7 @@ bool ContextualCheckBlockHeader(const CBlockHeader& block, CValidationState& sta
  return state.Invalid(false, REJECT_INVALID, "time-too-old", "block's timestamp is too early");
  // Check timestamp
  - if (block.GetBlockTime() > FutureDrift(nAdjustedTime))
  + if (block.IsProofOfStake() && block.GetBlockTime() > FutureDrift(nAdjustedTime))
  return state.Invalid(false, REJECT_INVALID, "time-too-new", "block timestamp too far in the future");
  // Reject outdated version blocks when 95% (75% on testnet) of the network has upgraded:
  @@ -3959,7 +3959,7 @@ static bool AcceptBlock(const std::shared_ptr<const CBlock>& pblock, CValidation
  return error("AcceptBlock() : block's timestamp is too early");
  // Check timestamp
  - if (block.GetBlockTime() > FutureDrift(GetAdjustedTime()))
  + if (block.IsProofOfStake() && block.GetBlockTime() > FutureDrift(GetAdjustedTime()))
  return error("AcceptBlock() : block timestamp too far in the future");
  // Enforce rule that the coinbase starts with serialized block height
  