|
|
@ -212,7 +212,7 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn) |
|
|
|
|
|
|
|
if (tx.IsCoinBase() || !IsFinalTx(tx, nHeight, nLockTimeCutoff) || IsExpiredTx(tx, nHeight)) |
|
|
|
{ |
|
|
|
fprintf(stderr,"coinbase.%d finaltx.%d expired.%d\n",tx.IsCoinBase(),IsFinalTx(tx, nHeight, nLockTimeCutoff),IsExpiredTx(tx, nHeight)); |
|
|
|
//fprintf(stderr,"coinbase.%d finaltx.%d expired.%d\n",tx.IsCoinBase(),IsFinalTx(tx, nHeight, nLockTimeCutoff),IsExpiredTx(tx, nHeight));
|
|
|
|
continue; |
|
|
|
} |
|
|
|
if ( ASSETCHAINS_SYMBOL[0] == 0 && komodo_validate_interest(tx,nHeight,(uint32_t)pblock->nTime,0) < 0 ) |
|
|
@ -310,7 +310,7 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn) |
|
|
|
unsigned int nTxSize = ::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION); |
|
|
|
if (nBlockSize + nTxSize >= nBlockMaxSize) |
|
|
|
{ |
|
|
|
fprintf(stderr,"nBlockSize %d + %d nTxSize >= %d nBlockMaxSize\n",(int32_t)nBlockSize,(int32_t)nTxSize,(int32_t)nBlockMaxSize); |
|
|
|
//fprintf(stderr,"nBlockSize %d + %d nTxSize >= %d nBlockMaxSize\n",(int32_t)nBlockSize,(int32_t)nTxSize,(int32_t)nBlockMaxSize);
|
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
@ -318,7 +318,7 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn) |
|
|
|
unsigned int nTxSigOps = GetLegacySigOpCount(tx); |
|
|
|
if (nBlockSigOps + nTxSigOps >= MAX_BLOCK_SIGOPS-1) |
|
|
|
{ |
|
|
|
fprintf(stderr,"A nBlockSigOps %d + %d nTxSigOps >= %d MAX_BLOCK_SIGOPS-1\n",(int32_t)nBlockSigOps,(int32_t)nTxSigOps,(int32_t)MAX_BLOCK_SIGOPS); |
|
|
|
//fprintf(stderr,"A nBlockSigOps %d + %d nTxSigOps >= %d MAX_BLOCK_SIGOPS-1\n",(int32_t)nBlockSigOps,(int32_t)nTxSigOps,(int32_t)MAX_BLOCK_SIGOPS);
|
|
|
|
continue; |
|
|
|
} |
|
|
|
// Skip free transactions if we're past the minimum block size:
|
|
|
@ -328,7 +328,7 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn) |
|
|
|
mempool.ApplyDeltas(hash, dPriorityDelta, nFeeDelta); |
|
|
|
if (fSortedByFee && (dPriorityDelta <= 0) && (nFeeDelta <= 0) && (feeRate < ::minRelayTxFee) && (nBlockSize + nTxSize >= nBlockMinSize)) |
|
|
|
{ |
|
|
|
fprintf(stderr,"fee rate skip\n"); |
|
|
|
//fprintf(stderr,"fee rate skip\n");
|
|
|
|
continue; |
|
|
|
} |
|
|
|
// Prioritise by fee once past the priority size or we run out of high-priority
|
|
|
@ -343,7 +343,7 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn) |
|
|
|
|
|
|
|
if (!view.HaveInputs(tx)) |
|
|
|
{ |
|
|
|
fprintf(stderr,"dont have inputs\n"); |
|
|
|
//fprintf(stderr,"dont have inputs\n");
|
|
|
|
continue; |
|
|
|
} |
|
|
|
CAmount nTxFees = view.GetValueIn(chainActive.Tip()->nHeight,&interest,tx,chainActive.Tip()->nTime)-tx.GetValueOut(); |
|
|
@ -351,7 +351,7 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn) |
|
|
|
nTxSigOps += GetP2SHSigOpCount(tx, view); |
|
|
|
if (nBlockSigOps + nTxSigOps >= MAX_BLOCK_SIGOPS-1) |
|
|
|
{ |
|
|
|
fprintf(stderr,"B nBlockSigOps %d + %d nTxSigOps >= %d MAX_BLOCK_SIGOPS-1\n",(int32_t)nBlockSigOps,(int32_t)nTxSigOps,(int32_t)MAX_BLOCK_SIGOPS); |
|
|
|
//fprintf(stderr,"B nBlockSigOps %d + %d nTxSigOps >= %d MAX_BLOCK_SIGOPS-1\n",(int32_t)nBlockSigOps,(int32_t)nTxSigOps,(int32_t)MAX_BLOCK_SIGOPS);
|
|
|
|
continue; |
|
|
|
} |
|
|
|
// Note that flags: we don't want to set mempool/IsStandard()
|
|
|
@ -361,7 +361,7 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn) |
|
|
|
PrecomputedTransactionData txdata(tx); |
|
|
|
if (!ContextualCheckInputs(tx, state, view, true, MANDATORY_SCRIPT_VERIFY_FLAGS, true, txdata, Params().GetConsensus(), consensusBranchId)) |
|
|
|
{ |
|
|
|
fprintf(stderr,"context failure\n"); |
|
|
|
//fprintf(stderr,"context failure\n");
|
|
|
|
continue; |
|
|
|
} |
|
|
|
UpdateCoins(tx, view, nHeight); |
|
|
|