message: demote duplicity of stake
diff: @@ -1694,6 +1694,16 @@ bool PeercoinContextualBlockChecks(const CBlock& block, BlockValidationState& st
  return false; // do not error here as we expect this during initial block download
  }
  + // peercoin: check for duplicity of stake
  + if (block.IsProofOfStake()) {
  + std::pair<COutPoint, unsigned int> proofOfStake = block.GetProofOfStake();
  + if (pindex->IsProofOfStake() && proofOfStake.first == pindex->prevoutStake) {
  + LogPrintf("WARNING: %s: duplicate proof-of-stake in block %s, invalidating tip\n", __func__, block.GetHash().ToString());
  + ::ChainstateActive().InvalidateBlock(state, Params(), pindex);
  + return error("ConnectBlock() : Duplicate coinstake found");
  + }
  + }
  +
  // peercoin: compute stake entropy bit for stake modifier
  unsigned int nEntropyBit = GetStakeEntropyBit(block);
  @@ -1728,7 +1738,6 @@ bool PeercoinContextualBlockChecks(const CBlock& block, BlockValidationState& st
  if (fJustCheck)
  return true;
  -
  // write everything to index
  if (block.IsProofOfStake())
  {
  