[refactor] Drop redundant nDoS, corruptionPossible, SetCorruptionPossible
Co-authored-by: Anthony Towns <aj@erisian.com.au>
This commit is contained in:
parent
34477ccd39
commit
c8b0d22698
2 changed files with 5 additions and 18 deletions
|
@ -75,25 +75,20 @@ private:
|
|||
MODE_ERROR, //!< run-time error
|
||||
} mode;
|
||||
ValidationInvalidReason m_reason;
|
||||
int nDoS;
|
||||
std::string strRejectReason;
|
||||
unsigned int chRejectCode;
|
||||
bool corruptionPossible;
|
||||
std::string strDebugMessage;
|
||||
public:
|
||||
CValidationState() : mode(MODE_VALID), m_reason(ValidationInvalidReason::NONE), nDoS(0), chRejectCode(0), corruptionPossible(false) {}
|
||||
CValidationState() : mode(MODE_VALID), m_reason(ValidationInvalidReason::NONE), chRejectCode(0) {}
|
||||
bool DoS(int level, ValidationInvalidReason reasonIn, bool ret = false,
|
||||
unsigned int chRejectCodeIn=0, const std::string &strRejectReasonIn="",
|
||||
bool corruptionIn=false,
|
||||
bool corruptionPossibleIn=false,
|
||||
const std::string &strDebugMessageIn="") {
|
||||
m_reason = reasonIn;
|
||||
chRejectCode = chRejectCodeIn;
|
||||
strRejectReason = strRejectReasonIn;
|
||||
corruptionPossible = corruptionIn;
|
||||
strDebugMessage = strDebugMessageIn;
|
||||
nDoS += level;
|
||||
assert(nDoS == GetDoSForReason());
|
||||
assert(corruptionPossible == (m_reason == ValidationInvalidReason::BLOCK_MUTATED || m_reason == ValidationInvalidReason::TX_WITNESS_MUTATED));
|
||||
assert(corruptionPossibleIn == CorruptionPossible());
|
||||
if (mode == MODE_ERROR)
|
||||
return ret;
|
||||
mode = MODE_INVALID;
|
||||
|
@ -120,15 +115,9 @@ public:
|
|||
return mode == MODE_ERROR;
|
||||
}
|
||||
bool CorruptionPossible() const {
|
||||
assert(corruptionPossible == (m_reason == ValidationInvalidReason::BLOCK_MUTATED || m_reason == ValidationInvalidReason::TX_WITNESS_MUTATED));
|
||||
return corruptionPossible;
|
||||
return m_reason == ValidationInvalidReason::BLOCK_MUTATED || m_reason == ValidationInvalidReason::TX_WITNESS_MUTATED;
|
||||
}
|
||||
void SetCorruptionPossible() {
|
||||
corruptionPossible = true;
|
||||
assert(corruptionPossible == (m_reason == ValidationInvalidReason::BLOCK_MUTATED || m_reason == ValidationInvalidReason::TX_WITNESS_MUTATED));
|
||||
}
|
||||
int GetDoS(void) const { return nDoS; }
|
||||
int GetDoSForReason() const {
|
||||
int GetDoS() const {
|
||||
switch (m_reason) {
|
||||
case ValidationInvalidReason::NONE:
|
||||
return 0;
|
||||
|
|
|
@ -961,7 +961,6 @@ void Misbehaving(NodeId pnode, int howmuch, const std::string& message) EXCLUSIV
|
|||
|
||||
static bool TxRelayMayResultInDisconnect(const CValidationState& state)
|
||||
{
|
||||
assert(state.GetDoS() == state.GetDoSForReason());
|
||||
return (state.GetDoS() > 0);
|
||||
}
|
||||
|
||||
|
@ -976,7 +975,6 @@ static bool TxRelayMayResultInDisconnect(const CValidationState& state)
|
|||
* txs, the peer should not be punished. See BIP 152.
|
||||
*/
|
||||
static bool MaybePunishNode(NodeId nodeid, const CValidationState& state, bool via_compact_block, const std::string& message = "") {
|
||||
assert(state.GetDoS() == state.GetDoSForReason());
|
||||
int nDoS = state.GetDoS();
|
||||
if (nDoS > 0 && !via_compact_block) {
|
||||
LOCK(cs_main);
|
||||
|
|
Loading…
Add table
Reference in a new issue