@ -6,25 +6,23 @@
@@ -6,25 +6,23 @@
# ifndef BITCOIN_CONSENSUS_CONSENSUS_H
# define BITCOIN_CONSENSUS_CONSENSUS_H
# include <stdlib.h>
# include <stdint.h>
/** The maximum allowed size for a serialized block, in bytes (only for buffer size limits) */
static const unsigned int MAX_BLOCK_SERIALIZED_SIZE = 4000000 ;
/** The maximum allowed weight for a block, see BIP 141 (network rule) */
static const unsigned int MAX_BLOCK_WEIGHT = 4000000 ;
/**
* The maximum allowed size for a block excluding witness data , in bytes ( network rule ) .
* This parameter is largely superfluous because it is directly implied by the above block
* weight limit , even when BIP 141 is not active . It continues to exist for use in
* various early tests that run before the witness data has been checked .
* All tests related to it could be removed without breaking consensus compatibility .
*/
static const unsigned int MAX_BLOCK_BASE_SIZE = 1000000 ;
/** The maximum allowed number of signature check operations in a block (network rule) */
static const int64_t MAX_BLOCK_SIGOPS_COST = 80000 ;
/** Coinbase transaction outputs can only be spent after this number of new blocks (network rule) */
static const int COINBASE_MATURITY = 100 ;
static const int WITNESS_SCALE_FACTOR = 4 ;
static const size_t MIN_TRANSACTION_WEIGHT = WITNESS_SCALE_FACTOR * 60 ; // 60 is the lower bound for the size of a valid serialized CTransaction
static const size_t MIN_SERIALIZEABLE_TRANSACTION_WEIGHT = WITNESS_SCALE_FACTOR * 10 ; // 10 is the lower bound for the size of a serialized CTransaction
/** Flags for nSequence and nLockTime locks */
enum {
/* Interpret sequence numbers as relative lock-time constraints. */