6 #ifndef BITCOIN_CONSENSUS_VALIDATION_H 7 #define BITCOIN_CONSENSUS_VALIDATION_H 112 unsigned int chRejectCodeIn=0,
const std::string &strRejectReasonIn=
"",
113 const std::string &strDebugMessageIn=
"") {
123 bool Error(
const std::string& strRejectReasonIn) {
162 #endif // BITCOIN_CONSENSUS_VALIDATION_H static int64_t GetTransactionWeight(const CTransaction &tx)
Definition: validation.h:148
ValidationInvalidReason GetReason() const
Definition: validation.h:138
invalid proof of work or time too old
invalid by consensus rules (excluding any below reasons)
static const int SERIALIZE_TRANSACTION_NO_WITNESS
Definition: transaction.h:15
Definition: transaction.h:63
static const int WITNESS_SCALE_FACTOR
Definition: consensus.h:21
ValidationInvalidReason m_reason
Definition: validation.h:105
std::string strDebugMessage
Definition: validation.h:108
this object was cached as being invalid, but we don't know why
std::string GetRejectReason() const
Definition: validation.h:140
static const unsigned char REJECT_INSUFFICIENTFEE
Definition: validation.h:22
bool Error(const std::string &strRejectReasonIn)
Definition: validation.h:123
ValidationInvalidReason
Definition: validation.h:30
Definition: validation.h:98
CValidationState()
Definition: validation.h:110
static const unsigned char REJECT_INVALID
Definition: validation.h:17
static const unsigned char REJECT_OBSOLETE
Definition: validation.h:18
A block this one builds on is invalid.
unsigned int chRejectCode
Definition: validation.h:107
static const unsigned char REJECT_CHECKPOINT
Definition: validation.h:23
size_t GetSerializeSize(const T &t, int nVersion=0)
Definition: serialize.h:992
We don't have the previous block the checked one is built on.
Definition: transaction.h:270
static int64_t GetTransactionInputWeight(const CTxIn &txin)
Definition: validation.h:156
std::vector< std::vector< unsigned char > > stack
Definition: script.h:574
everything ok
Definition: validation.h:101
static const unsigned char REJECT_NONSTANDARD
Definition: validation.h:20
the block's data didn't match the data committed to by the PoW
transaction spends a coinbase too early, or violates locktime/sequence locks
the block failed to meet one of our checkpoints
network rule violation (DoS value may be set)
Definition: validation.h:102
static const unsigned char REJECT_DUPLICATE
Definition: validation.h:19
unsigned int GetRejectCode() const
Definition: validation.h:139
bool IsValid() const
Definition: validation.h:129
enum CValidationState::mode_state mode
CScriptWitness scriptWitness
Only serialized through CTransaction.
Definition: transaction.h:69
run-time error
Definition: validation.h:103
static const int PROTOCOL_VERSION
Definition: version.h:12
bool IsInvalid() const
Definition: validation.h:132
didn't meet our local policy rules
a transaction was missing some of its inputs
signed long long int64_t
Definition: stdint.h:18
violated mempool's fee/size/descendant/RBF/etc limits
std::string GetDebugMessage() const
Definition: validation.h:141
mode_state
Definition: validation.h:100
bool IsError() const
Definition: validation.h:135
static const unsigned char REJECT_MALFORMED
Definition: validation.h:16
bool Invalid(ValidationInvalidReason reasonIn, bool ret=false, unsigned int chRejectCodeIn=0, const std::string &strRejectReasonIn="", const std::string &strDebugMessageIn="")
Definition: validation.h:111
static int64_t GetBlockWeight(const CBlock &block)
Definition: validation.h:152
std::string strRejectReason
Definition: validation.h:106
bool IsTransactionReason(ValidationInvalidReason r)
Definition: validation.h:70
block timestamp was > 2 hours in the future (or our clock is bad)
bool IsBlockReason(ValidationInvalidReason r)
Definition: validation.h:83