Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F13115128
D6885.id22144.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
30 KB
Subscribers
None
D6885.id22144.diff
View Options
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
Details
Attached
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)
Attached To
D6885: [validation] Remove useless ret parameter from Invalid()
Event Timeline
Log In to Comment