PPCoin: Fix proof-of-stake block generation since c03bef8c
authorSunny King <sunnyking9999@gmail.com>
Mon, 7 May 2012 14:08:11 +0000 (15:08 +0100)
committerSunny King <sunnyking9999@gmail.com>
Mon, 7 May 2012 14:08:11 +0000 (15:08 +0100)
        Remove obsolete check in CheckBlock()

src/main.cpp

index a857edc..3bc0983 100644 (file)
@@ -1528,14 +1528,7 @@ bool CBlock::CheckBlock() const
     if (hashMerkleRoot != BuildMerkleTree())
         return DoS(100, error("CheckBlock() : hashMerkleRoot mismatch"));
 
-    // Coin base vout[0] scriptPubKey must be the same as coin stake vout[1]
-    // scriptPubKey
-    if (vtx.size() > 1 && vtx[1].IsCoinStake() &&
-        vtx[0].vout[0].scriptPubKey != vtx[1].vout[1].scriptPubKey)
-        return DoS(100, error("CheckBlock() : block key mismatch"));
-        
-
-    // Check block signature
+    // ppcoin: check block signature
     if (!CheckBlockSignature())
         return DoS(100, error("CheckBlock() : bad block signature"));
 
@@ -3163,7 +3156,8 @@ CBlock* CreateNewBlock(CWallet* pwallet)
             }
         }
     }
-    pblock->vtx[0].vout[0].nValue = GetProofOfWorkReward(pblock->nBits);
+    if (pblock->IsProofOfWork())
+        pblock->vtx[0].vout[0].nValue = GetProofOfWorkReward(pblock->nBits);
 
     // Fill in header
     pblock->hashPrevBlock  = pindexPrev->GetBlockHash();