Check tx during mining

This commit is contained in:
jl777
2018-10-22 05:17:51 -11:00
parent cd9d418aa2
commit a2c93c1f0d
2 changed files with 10 additions and 1 deletions

View File

@@ -2227,7 +2227,7 @@ namespace Consensus {
// Ensure that coinbases are matured
if (nSpendHeight - coins->nHeight < COINBASE_MATURITY) {
return state.Invalid(
error("CheckInputs(): tried to spend coinbase at depth %d", nSpendHeight - coins->nHeight),
error("CheckInputs(): tried to spend coinbase at depth %d/%d", nSpendHeight - coins->nHeight,(int32_t)COINBASE_MATURITY),
REJECT_INVALID, "bad-txns-premature-spend-of-coinbase");
}

View File

@@ -335,6 +335,15 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn,int32_t gpucount)
//fprintf(stderr,"dont have inputs\n");
continue;
}
{
CValidationState state;
auto verifier = libzcash::ProofVerifier::Disabled();
if ( !CheckTransaction(tx, state, verifier) )
{
fprintf(stderr,"skip tx.(%s) that failed CheckTransaction\n",txid.GetHex().c_str());
continue;
}
}
CAmount nTxFees = view.GetValueIn(chainActive.LastTip()->nHeight,&interest,tx,chainActive.LastTip()->nTime)-tx.GetValueOut();
nTxSigOps += GetP2SHSigOpCount(tx, view);