Page MenuHomePhabricator

D6885.id22144.diff
No OneTemporary

D6885.id22144.diff

diff --git a/src/consensus/tx_check.cpp b/src/consensus/tx_check.cpp
--- a/src/consensus/tx_check.cpp
+++ b/src/consensus/tx_check.cpp
@@ -14,37 +14,37 @@
CValidationState &state) {
// Basic checks that don't depend on any context
if (tx.vin.empty()) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
- REJECT_INVALID, "bad-txns-vin-empty");
+ return state.Invalid(ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
+ "bad-txns-vin-empty");
}
if (tx.vout.empty()) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
- REJECT_INVALID, "bad-txns-vout-empty");
+ return state.Invalid(ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
+ "bad-txns-vout-empty");
}
// Size limit
if (::GetSerializeSize(tx, PROTOCOL_VERSION) > MAX_TX_SIZE) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
- REJECT_INVALID, "bad-txns-oversize");
+ return state.Invalid(ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
+ "bad-txns-oversize");
}
// Check for negative or overflow output values
Amount nValueOut = Amount::zero();
for (const auto &txout : tx.vout) {
if (txout.nValue < Amount::zero()) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
+ return state.Invalid(ValidationInvalidReason::CONSENSUS,
REJECT_INVALID, "bad-txns-vout-negative");
}
if (txout.nValue > MAX_MONEY) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
+ return state.Invalid(ValidationInvalidReason::CONSENSUS,
REJECT_INVALID, "bad-txns-vout-toolarge");
}
nValueOut += txout.nValue;
if (!MoneyRange(nValueOut)) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
+ return state.Invalid(ValidationInvalidReason::CONSENSUS,
REJECT_INVALID,
"bad-txns-txouttotal-toolarge");
}
@@ -55,9 +55,8 @@
bool CheckCoinbase(const CTransaction &tx, CValidationState &state) {
if (!tx.IsCoinBase()) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
- REJECT_INVALID, "bad-cb-missing",
- "first tx is not coinbase");
+ return state.Invalid(ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
+ "bad-cb-missing", "first tx is not coinbase");
}
if (!CheckTransactionCommon(tx, state)) {
@@ -67,8 +66,8 @@
if (tx.vin[0].scriptSig.size() < 2 ||
tx.vin[0].scriptSig.size() > MAX_COINBASE_SCRIPTSIG_SIZE) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
- REJECT_INVALID, "bad-cb-length");
+ return state.Invalid(ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
+ "bad-cb-length");
}
return true;
@@ -76,8 +75,8 @@
bool CheckRegularTransaction(const CTransaction &tx, CValidationState &state) {
if (tx.IsCoinBase()) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
- REJECT_INVALID, "bad-tx-coinbase");
+ return state.Invalid(ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
+ "bad-tx-coinbase");
}
if (!CheckTransactionCommon(tx, state)) {
@@ -88,7 +87,7 @@
std::unordered_set<COutPoint, SaltedOutpointHasher> vInOutPoints;
for (const auto &txin : tx.vin) {
if (txin.prevout.IsNull()) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
+ return state.Invalid(ValidationInvalidReason::CONSENSUS,
REJECT_INVALID, "bad-txns-prevout-null");
}
@@ -99,7 +98,7 @@
// will result in either a crash or an inflation bug, depending on the
// implementation of the underlying coins database.
if (!vInOutPoints.insert(txin.prevout).second) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
+ return state.Invalid(ValidationInvalidReason::CONSENSUS,
REJECT_INVALID, "bad-txns-inputs-duplicate");
}
}
diff --git a/src/consensus/tx_verify.cpp b/src/consensus/tx_verify.cpp
--- a/src/consensus/tx_verify.cpp
+++ b/src/consensus/tx_verify.cpp
@@ -44,15 +44,14 @@
if (!IsFinalTx(tx, nHeight, nLockTimeCutoff)) {
// While this is only one transaction, we use txns in the error to
// ensure continuity with other clients.
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
- REJECT_INVALID, "bad-txns-nonfinal",
- "non-final transaction");
+ return state.Invalid(ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
+ "bad-txns-nonfinal", "non-final transaction");
}
if (IsMagneticAnomalyEnabled(params, nHeight)) {
// Size limit
if (::GetSerializeSize(tx, PROTOCOL_VERSION) < MIN_TX_SIZE) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
+ return state.Invalid(ValidationInvalidReason::CONSENSUS,
REJECT_INVALID, "bad-txns-undersize");
}
}
@@ -160,7 +159,7 @@
Amount &txfee) {
// are the actual inputs available?
if (!inputs.HaveInputs(tx)) {
- return state.Invalid(ValidationInvalidReason::TX_MISSING_INPUTS, false,
+ return state.Invalid(ValidationInvalidReason::TX_MISSING_INPUTS,
REJECT_INVALID, "bad-txns-inputs-missingorspent",
strprintf("%s: inputs missing/spent", __func__));
}
@@ -175,8 +174,8 @@
if (coin.IsCoinBase() &&
nSpendHeight - coin.GetHeight() < COINBASE_MATURITY) {
return state.Invalid(
- ValidationInvalidReason::TX_PREMATURE_SPEND, false,
- REJECT_INVALID, "bad-txns-premature-spend-of-coinbase",
+ ValidationInvalidReason::TX_PREMATURE_SPEND, REJECT_INVALID,
+ "bad-txns-premature-spend-of-coinbase",
strprintf("tried to spend coinbase at depth %d",
nSpendHeight - coin.GetHeight()));
}
@@ -184,7 +183,7 @@
// Check for negative or overflow input values
nValueIn += coin.GetTxOut().nValue;
if (!MoneyRange(coin.GetTxOut().nValue) || !MoneyRange(nValueIn)) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
+ return state.Invalid(ValidationInvalidReason::CONSENSUS,
REJECT_INVALID,
"bad-txns-inputvalues-outofrange");
}
@@ -192,8 +191,8 @@
const Amount value_out = tx.GetValueOut();
if (nValueIn < value_out) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
- REJECT_INVALID, "bad-txns-in-belowout",
+ return state.Invalid(ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
+ "bad-txns-in-belowout",
strprintf("value in (%s) < value out (%s)",
FormatMoney(nValueIn),
FormatMoney(value_out)));
@@ -202,8 +201,8 @@
// Tally transaction fees
const Amount txfee_aux = nValueIn - value_out;
if (!MoneyRange(txfee_aux)) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
- REJECT_INVALID, "bad-txns-fee-outofrange");
+ return state.Invalid(ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
+ "bad-txns-fee-outofrange");
}
txfee = txfee_aux;
diff --git a/src/consensus/validation.h b/src/consensus/validation.h
--- a/src/consensus/validation.h
+++ b/src/consensus/validation.h
@@ -114,7 +114,7 @@
CValidationState()
: mode(MODE_VALID), m_reason(ValidationInvalidReason::NONE),
chRejectCode(0) {}
- bool Invalid(ValidationInvalidReason reasonIn, bool ret = false,
+ bool Invalid(ValidationInvalidReason reasonIn,
unsigned int chRejectCodeIn = 0,
const std::string &strRejectReasonIn = "",
const std::string &strDebugMessageIn = "") {
@@ -123,10 +123,10 @@
strRejectReason = strRejectReasonIn;
strDebugMessage = strDebugMessageIn;
if (mode == MODE_ERROR) {
- return ret;
+ return false;
}
mode = MODE_INVALID;
- return ret;
+ return false;
}
bool Error(const std::string &strRejectReasonIn) {
if (mode == MODE_VALID) {
diff --git a/src/validation.cpp b/src/validation.cpp
--- a/src/validation.cpp
+++ b/src/validation.cpp
@@ -370,7 +370,7 @@
// Rather not work on nonstandard transactions (unless -testnet)
std::string reason;
if (fRequireStandard && !IsStandardTx(tx, reason)) {
- return state.Invalid(ValidationInvalidReason::TX_NOT_STANDARD, false,
+ return state.Invalid(ValidationInvalidReason::TX_NOT_STANDARD,
REJECT_NONSTANDARD, reason);
}
@@ -382,14 +382,14 @@
consensusParams, tx, ctxState, STANDARD_LOCKTIME_VERIFY_FLAGS)) {
// We copy the state from a dummy to ensure we don't increase the
// ban score of peer for transaction that could be valid in the future.
- return state.Invalid(ValidationInvalidReason::TX_PREMATURE_SPEND, false,
+ return state.Invalid(ValidationInvalidReason::TX_PREMATURE_SPEND,
REJECT_NONSTANDARD, ctxState.GetRejectReason(),
ctxState.GetDebugMessage());
}
// Is it already in the memory pool?
if (pool.exists(txid)) {
- return state.Invalid(ValidationInvalidReason::TX_CONFLICT, false,
+ return state.Invalid(ValidationInvalidReason::TX_CONFLICT,
REJECT_DUPLICATE, "txn-already-in-mempool");
}
@@ -399,8 +399,7 @@
if (itConflicting != pool.mapNextTx.end()) {
// Disable replacement feature for good
return state.Invalid(ValidationInvalidReason::TX_MEMPOOL_POLICY,
- false, REJECT_DUPLICATE,
- "txn-mempool-conflict");
+ REJECT_DUPLICATE, "txn-mempool-conflict");
}
}
@@ -429,7 +428,7 @@
// outputs.
if (pcoinsTip->HaveCoinInCache(COutPoint(txid, out))) {
return state.Invalid(
- ValidationInvalidReason::TX_CONFLICT, false,
+ ValidationInvalidReason::TX_CONFLICT,
REJECT_DUPLICATE, "txn-already-known");
}
}
@@ -449,8 +448,7 @@
// Are the actual inputs available?
if (!view.HaveInputs(tx)) {
return state.Invalid(ValidationInvalidReason::TX_MEMPOOL_POLICY,
- false, REJECT_DUPLICATE,
- "bad-txns-inputs-spent");
+ REJECT_DUPLICATE, "bad-txns-inputs-spent");
}
// Bring the best block into scope.
@@ -468,7 +466,7 @@
if (!CheckSequenceLocks(pool, tx, STANDARD_LOCKTIME_VERIFY_FLAGS,
&lp)) {
return state.Invalid(ValidationInvalidReason::TX_PREMATURE_SPEND,
- false, REJECT_NONSTANDARD, "non-BIP68-final");
+ REJECT_NONSTANDARD, "non-BIP68-final");
}
Amount nFees = Amount::zero();
@@ -485,7 +483,7 @@
if (fRequireStandard &&
!AreInputsStandard(tx, view, nextBlockScriptVerifyFlags)) {
return state.Invalid(ValidationInvalidReason::TX_NOT_STANDARD,
- false, REJECT_NONSTANDARD,
+ REJECT_NONSTANDARD,
"bad-txns-nonstandard-inputs");
}
@@ -512,13 +510,13 @@
// policy upgrade.
if (!bypass_limits && nModifiedFees < minRelayTxFee.GetFee(nSize)) {
return state.Invalid(ValidationInvalidReason::TX_MEMPOOL_POLICY,
- false, REJECT_INSUFFICIENTFEE,
+ REJECT_INSUFFICIENTFEE,
"min relay fee not met");
}
if (nAbsurdFee != Amount::zero() && nFees > nAbsurdFee) {
return state.Invalid(ValidationInvalidReason::TX_NOT_STANDARD,
- false, REJECT_HIGHFEE, "absurdly-high-fee",
+ REJECT_HIGHFEE, "absurdly-high-fee",
strprintf("%d > %d", nFees, nAbsurdFee));
}
@@ -547,7 +545,7 @@
if (!bypass_limits && mempoolRejectFee > Amount::zero() &&
nModifiedFees < mempoolRejectFee) {
return state.Invalid(
- ValidationInvalidReason::TX_MEMPOOL_POLICY, false,
+ ValidationInvalidReason::TX_MEMPOOL_POLICY,
REJECT_INSUFFICIENTFEE, "mempool min fee not met",
strprintf("%d < %d", nModifiedFees, mempoolRejectFee));
}
@@ -570,8 +568,8 @@
entry, setAncestors, nLimitAncestors, nLimitAncestorSize,
nLimitDescendants, nLimitDescendantSize, errString)) {
return state.Invalid(ValidationInvalidReason::TX_MEMPOOL_POLICY,
- false, REJECT_NONSTANDARD,
- "too-long-mempool-chain", errString);
+ REJECT_NONSTANDARD, "too-long-mempool-chain",
+ errString);
}
// Check again against the next block's script verification flags
@@ -623,8 +621,7 @@
gArgs.GetArg("-mempoolexpiry", DEFAULT_MEMPOOL_EXPIRY)});
if (!pool.exists(txid)) {
return state.Invalid(ValidationInvalidReason::TX_MEMPOOL_POLICY,
- false, REJECT_INSUFFICIENTFEE,
- "mempool full");
+ REJECT_INSUFFICIENTFEE, "mempool full");
}
}
}
@@ -1068,7 +1065,7 @@
if (!txLimitSigChecks.consume_and_check(nSigChecksOut) ||
(pBlockLimitSigChecks &&
!pBlockLimitSigChecks->consume_and_check(nSigChecksOut))) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
+ return state.Invalid(ValidationInvalidReason::CONSENSUS,
REJECT_INVALID, "too-many-sigchecks");
}
return true;
@@ -1112,7 +1109,7 @@
sigCacheStore, txdata);
if (check2()) {
return state.Invalid(
- ValidationInvalidReason::TX_NOT_STANDARD, false,
+ ValidationInvalidReason::TX_NOT_STANDARD,
REJECT_NONSTANDARD,
strprintf("non-mandatory-script-verify-flag (%s)",
ScriptErrorString(scriptError)));
@@ -1129,7 +1126,7 @@
// support, to avoid splitting the network (but this depends on the
// details of how net_processing handles such errors).
return state.Invalid(
- ValidationInvalidReason::CONSENSUS, false, REJECT_INVALID,
+ ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
strprintf("mandatory-script-verify-flag-failed (%s)",
ScriptErrorString(scriptError)));
}
@@ -1646,8 +1643,7 @@
LogPrintf("ERROR: ConnectBlock(): tried to overwrite "
"transaction\n");
return state.Invalid(ValidationInvalidReason::CONSENSUS,
- false, REJECT_INVALID,
- "bad-txns-BIP30");
+ REJECT_INVALID, "bad-txns-BIP30");
}
}
}
@@ -1704,8 +1700,8 @@
// - its checks are not applied to pre-CTOR chains, which we might visit
// with checkpointing off.
LogPrintf("ERROR: ConnectBlock(): tried to overwrite transaction\n");
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
- REJECT_INVALID, "tx-duplicate");
+ return state.Invalid(ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
+ "tx-duplicate");
}
size_t txIndex = 0;
@@ -1721,7 +1717,7 @@
// CheckTxInputs may return MISSING_INPUTS or PREMATURE_SPEND
// but we can't return that, as it's not defined for a block, so
// we reset the reason flag to CONSENSUS here.
- state.Invalid(ValidationInvalidReason::CONSENSUS, false,
+ state.Invalid(ValidationInvalidReason::CONSENSUS,
state.GetRejectCode(), state.GetRejectReason(),
state.GetDebugMessage());
}
@@ -1733,7 +1729,7 @@
if (!MoneyRange(nFees)) {
LogPrintf("ERROR: %s: accumulated fee in the block out of range.\n",
__func__);
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
+ return state.Invalid(ValidationInvalidReason::CONSENSUS,
REJECT_INVALID,
"bad-txns-accumulated-fee-outofrange");
}
@@ -1754,7 +1750,7 @@
if (!SequenceLocks(tx, nLockTimeFlags, &prevheights, *pindex)) {
LogPrintf("ERROR: %s: contains a non-BIP68-final transaction\n",
__func__);
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
+ return state.Invalid(ValidationInvalidReason::CONSENSUS,
REJECT_INVALID, "bad-txns-nonfinal");
}
@@ -1785,7 +1781,7 @@
// event of a future soft-fork, we may need to consider whether
// rewriting to CONSENSUS or RECENT_CONSENSUS_CHANGE would be
// more appropriate.
- state.Invalid(ValidationInvalidReason::CONSENSUS, false,
+ state.Invalid(ValidationInvalidReason::CONSENSUS,
state.GetRejectCode(), state.GetRejectReason(),
state.GetDebugMessage());
}
@@ -1820,8 +1816,8 @@
LogPrintf("ERROR: ConnectBlock(): coinbase pays too much (actual=%d vs "
"limit=%d)\n",
block.vtx[0]->GetValueOut(), blockReward);
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
- REJECT_INVALID, "bad-cb-amount");
+ return state.Invalid(ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
+ "bad-cb-amount");
}
const std::vector<CTxDestination> whitelist =
@@ -1848,16 +1844,15 @@
}
// We did not find an output that match the miner fund requirements.
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
- REJECT_INVALID, "bad-cb-minerfund");
+ return state.Invalid(ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
+ "bad-cb-minerfund");
}
MinerFundSuccess:
if (!control.Wait()) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
- REJECT_INVALID, "blk-bad-inputs",
- "parallel script check failed");
+ return state.Invalid(ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
+ "blk-bad-inputs", "parallel script check failed");
}
int64_t nTime4 = GetTimeMicros();
@@ -2255,7 +2250,7 @@
// We try to finalize an invalid block.
LogPrintf("ERROR: %s: Trying to finalize invalid block %s\n", __func__,
pindex->GetBlockHash().ToString());
- return state.Invalid(ValidationInvalidReason::CACHED_INVALID, false,
+ return state.Invalid(ValidationInvalidReason::CACHED_INVALID,
REJECT_INVALID, "finalize-invalid-block");
}
@@ -2264,7 +2259,7 @@
LogPrintf("ERROR: %s: Trying to finalize block %s which conflicts with "
"already finalized block\n",
__func__, pindex->GetBlockHash().ToString());
- return state.Invalid(ValidationInvalidReason::BLOCK_FINALIZATION, false,
+ return state.Invalid(ValidationInvalidReason::BLOCK_FINALIZATION,
REJECT_AGAINST_FINALIZED,
"bad-fork-prior-finalized");
}
@@ -3434,7 +3429,7 @@
if (validationOptions.shouldValidatePoW() &&
!CheckProofOfWork(block.GetHash(), block.nBits, params)) {
return state.Invalid(ValidationInvalidReason::BLOCK_INVALID_HEADER,
- false, REJECT_INVALID, "high-hash",
+ REJECT_INVALID, "high-hash",
"proof of work failed");
}
@@ -3460,7 +3455,7 @@
bool mutated;
uint256 hashMerkleRoot2 = BlockMerkleRoot(block, &mutated);
if (block.hashMerkleRoot != hashMerkleRoot2) {
- return state.Invalid(ValidationInvalidReason::BLOCK_MUTATED, false,
+ return state.Invalid(ValidationInvalidReason::BLOCK_MUTATED,
REJECT_INVALID, "bad-txnmrklroot",
"hashMerkleRoot mismatch");
}
@@ -3469,7 +3464,7 @@
// sequences of transactions in a block without affecting the merkle
// root of a block, while still invalidating it.
if (mutated) {
- return state.Invalid(ValidationInvalidReason::BLOCK_MUTATED, false,
+ return state.Invalid(ValidationInvalidReason::BLOCK_MUTATED,
REJECT_INVALID, "bad-txns-duplicate",
"duplicate transaction");
}
@@ -3481,9 +3476,8 @@
// First transaction must be coinbase.
if (block.vtx.empty()) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
- REJECT_INVALID, "bad-cb-missing",
- "first tx is not coinbase");
+ return state.Invalid(ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
+ "bad-cb-missing", "first tx is not coinbase");
}
// Size limits.
@@ -3491,21 +3485,19 @@
// Bail early if there is no way this block is of reasonable size.
if ((block.vtx.size() * MIN_TRANSACTION_SIZE) > nMaxBlockSize) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
- REJECT_INVALID, "bad-blk-length",
- "size limits failed");
+ return state.Invalid(ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
+ "bad-blk-length", "size limits failed");
}
auto currentBlockSize = ::GetSerializeSize(block, PROTOCOL_VERSION);
if (currentBlockSize > nMaxBlockSize) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
- REJECT_INVALID, "bad-blk-length",
- "size limits failed");
+ return state.Invalid(ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
+ "bad-blk-length", "size limits failed");
}
// And a valid coinbase.
if (!CheckCoinbase(*block.vtx[0], state)) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
+ return state.Invalid(ValidationInvalidReason::CONSENSUS,
state.GetRejectCode(), state.GetRejectReason(),
strprintf("Coinbase check failed (txid %s) %s",
block.vtx[0]->GetId().ToString(),
@@ -3518,8 +3510,8 @@
auto *tx = block.vtx[i].get();
if (!CheckRegularTransaction(*tx, state)) {
return state.Invalid(
- ValidationInvalidReason::CONSENSUS, false,
- state.GetRejectCode(), state.GetRejectReason(),
+ ValidationInvalidReason::CONSENSUS, state.GetRejectCode(),
+ state.GetRejectReason(),
strprintf("Transaction check failed (txid %s) %s",
tx->GetId().ToString(), state.GetDebugMessage()));
}
@@ -3557,7 +3549,7 @@
GetNextWorkRequired(pindexPrev, &block, consensusParams)) {
LogPrintf("bad bits after height: %d\n", pindexPrev->nHeight);
return state.Invalid(ValidationInvalidReason::BLOCK_INVALID_HEADER,
- false, REJECT_INVALID, "bad-diffbits",
+ REJECT_INVALID, "bad-diffbits",
"incorrect proof of work");
}
@@ -3571,8 +3563,7 @@
LogPrintf("ERROR: %s: rejected by checkpoint lock-in at %d\n",
__func__, nHeight);
return state.Invalid(ValidationInvalidReason::BLOCK_CHECKPOINT,
- false, REJECT_CHECKPOINT,
- "checkpoint mismatch");
+ REJECT_CHECKPOINT, "checkpoint mismatch");
}
// Don't accept any forks from the main chain prior to last checkpoint.
@@ -3584,7 +3575,7 @@
"(height %d)\n",
__func__, nHeight);
return state.Invalid(ValidationInvalidReason::BLOCK_CHECKPOINT,
- false, REJECT_CHECKPOINT,
+ REJECT_CHECKPOINT,
"bad-fork-prior-to-checkpoint");
}
}
@@ -3592,13 +3583,13 @@
// Check timestamp against prev
if (block.GetBlockTime() <= pindexPrev->GetMedianTimePast()) {
return state.Invalid(ValidationInvalidReason::BLOCK_INVALID_HEADER,
- false, REJECT_INVALID, "time-too-old",
+ REJECT_INVALID, "time-too-old",
"block's timestamp is too early");
}
// Check timestamp
if (block.GetBlockTime() > nAdjustedTime + MAX_FUTURE_BLOCK_TIME) {
- return state.Invalid(ValidationInvalidReason::BLOCK_TIME_FUTURE, false,
+ return state.Invalid(ValidationInvalidReason::BLOCK_TIME_FUTURE,
REJECT_INVALID, "time-too-new",
"block timestamp too far in the future");
}
@@ -3610,8 +3601,8 @@
(block.nVersion < 3 && nHeight >= consensusParams.BIP66Height) ||
(block.nVersion < 4 && nHeight >= consensusParams.BIP65Height)) {
return state.Invalid(
- ValidationInvalidReason::BLOCK_INVALID_HEADER, false,
- REJECT_OBSOLETE, strprintf("bad-version(0x%08x)", block.nVersion),
+ ValidationInvalidReason::BLOCK_INVALID_HEADER, REJECT_OBSOLETE,
+ strprintf("bad-version(0x%08x)", block.nVersion),
strprintf("rejected nVersion=0x%08x block", block.nVersion));
}
@@ -3699,13 +3690,13 @@
if (prevTx && (tx.GetId() <= prevTx->GetId())) {
if (tx.GetId() == prevTx->GetId()) {
return state.Invalid(ValidationInvalidReason::CONSENSUS,
- false, REJECT_INVALID, "tx-duplicate",
+ REJECT_INVALID, "tx-duplicate",
strprintf("Duplicated transaction %s",
tx.GetId().ToString()));
}
return state.Invalid(
- ValidationInvalidReason::CONSENSUS, false, REJECT_INVALID,
+ ValidationInvalidReason::CONSENSUS, REJECT_INVALID,
"tx-ordering",
strprintf("Transaction order is invalid (%s < %s)",
tx.GetId().ToString(),
@@ -3730,7 +3721,7 @@
if (block.vtx[0]->vin[0].scriptSig.size() < expect.size() ||
!std::equal(expect.begin(), expect.end(),
block.vtx[0]->vin[0].scriptSig.begin())) {
- return state.Invalid(ValidationInvalidReason::CONSENSUS, false,
+ return state.Invalid(ValidationInvalidReason::CONSENSUS,
REJECT_INVALID, "bad-cb-height",
"block height mismatch in coinbase");
}
@@ -3766,8 +3757,8 @@
if (pindex->nStatus.isInvalid()) {
LogPrintf("ERROR: %s: block %s is marked invalid\n", __func__,
hash.ToString());
- return state.Invalid(ValidationInvalidReason::CACHED_INVALID,
- false, 0, "duplicate");
+ return state.Invalid(ValidationInvalidReason::CACHED_INVALID, 0,
+ "duplicate");
}
return true;
@@ -3783,8 +3774,8 @@
BlockMap::iterator mi = mapBlockIndex.find(block.hashPrevBlock);
if (mi == mapBlockIndex.end()) {
LogPrintf("ERROR: %s: prev block not found\n", __func__);
- return state.Invalid(ValidationInvalidReason::BLOCK_MISSING_PREV,
- false, 0, "prev-blk-not-found");
+ return state.Invalid(ValidationInvalidReason::BLOCK_MISSING_PREV, 0,
+ "prev-blk-not-found");
}
CBlockIndex *pindexPrev = (*mi).second;
@@ -3792,7 +3783,7 @@
if (pindexPrev->nStatus.isInvalid()) {
LogPrintf("ERROR: %s: prev block invalid\n", __func__);
return state.Invalid(ValidationInvalidReason::BLOCK_INVALID_PREV,
- false, REJECT_INVALID, "bad-prevblk");
+ REJECT_INVALID, "bad-prevblk");
}
if (!ContextualCheckBlockHeader(chainparams, block, state, pindexPrev,
@@ -3838,7 +3829,7 @@
}
LogPrintf("ERROR: %s: prev block invalid\n", __func__);
return state.Invalid(
- ValidationInvalidReason::BLOCK_INVALID_PREV, false,
+ ValidationInvalidReason::BLOCK_INVALID_PREV,
REJECT_INVALID, "bad-prevblk");
}
}

File Metadata

Mime Type
text/plain
Expires
Sat, Mar 1, 09:53 (3 h, 31 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5183055
Default Alt Text
D6885.id22144.diff (30 KB)

Event Timeline