6 #ifndef BITCOIN_CONSENSUS_VALIDATION_H 7 #define BITCOIN_CONSENSUS_VALIDATION_H 16 static const unsigned char REJECT_MALFORMED = 0x01;
17 static const unsigned char REJECT_INVALID = 0x10;
18 static const unsigned char REJECT_OBSOLETE = 0x11;
19 static const unsigned char REJECT_DUPLICATE = 0x12;
20 static const unsigned char REJECT_NONSTANDARD = 0x40;
22 static const unsigned char REJECT_INSUFFICIENTFEE = 0x42;
23 static const unsigned char REJECT_CHECKPOINT = 0x43;
40 bool DoS(
int level,
bool ret =
false,
41 unsigned int chRejectCodeIn=0,
const std::string &strRejectReasonIn=
"",
42 bool corruptionIn=
false,
43 const std::string &strDebugMessageIn=
"") {
55 unsigned int _chRejectCode=0,
const std::string &_strRejectReason=
"",
56 const std::string &_strDebugMessage=
"") {
57 return DoS(0,
ret, _chRejectCode, _strRejectReason,
false, _strDebugMessage);
59 bool Error(
const std::string& strRejectReasonIn) {
96 static inline int64_t GetTransactionWeight(
const CTransaction& tx)
100 static inline int64_t GetBlockWeight(
const CBlock& block)
104 static inline int64_t GetTransactionInputWeight(
const CTxIn& txin)
110 #endif // BITCOIN_CONSENSUS_VALIDATION_H unsigned int chRejectCode
CScriptWitness scriptWitness
Only serialized through CTransaction.
enum CValidationState::mode_state mode
UniValue ret(UniValue::VARR)
network rule violation (DoS value may be set)
std::vector< std::vector< unsigned char > > stack
bool DoS(int level, bool ret=false, unsigned int chRejectCodeIn=0, const std::string &strRejectReasonIn="", bool corruptionIn=false, const std::string &strDebugMessageIn="")
bool IsInvalid(int &nDoSOut) const
size_t GetSerializeSize(const T &t, int nVersion=0)
void SetCorruptionPossible()
An input of a transaction.
std::string GetRejectReason() const
bool Error(const std::string &strRejectReasonIn)
Capture information about block/transaction validation.
std::string GetDebugMessage() const
unsigned int GetRejectCode() const
bool CorruptionPossible() const
std::string strRejectReason
The basic transaction that is broadcasted on the network and contained in blocks. ...
std::string strDebugMessage
bool Invalid(bool ret=false, unsigned int _chRejectCode=0, const std::string &_strRejectReason="", const std::string &_strDebugMessage="")