![]() |
Dash Core
0.12.2.1
P2P Digital Currency
|
#include "arith_uint256.h"
#include "primitives/block.h"
#include "pow.h"
#include "tinyformat.h"
#include "uint256.h"
#include <vector>
Go to the source code of this file.
Classes | |
struct | CDiskBlockPos |
class | CBlockIndex |
class | CDiskBlockIndex |
class | CChain |
Enumerations | |
enum | BlockStatus { BLOCK_VALID_UNKNOWN = 0, BLOCK_VALID_HEADER = 1, BLOCK_VALID_TREE = 2, BLOCK_VALID_TRANSACTIONS = 3, BLOCK_VALID_CHAIN = 4, BLOCK_VALID_SCRIPTS = 5, BLOCK_VALID_MASK, BLOCK_HAVE_DATA = 8, BLOCK_HAVE_UNDO = 16, BLOCK_HAVE_MASK = BLOCK_HAVE_DATA | BLOCK_HAVE_UNDO, BLOCK_FAILED_VALID = 32, BLOCK_FAILED_CHILD = 64, BLOCK_FAILED_MASK = BLOCK_FAILED_VALID | BLOCK_FAILED_CHILD } |
enum BlockStatus |
Enumerator | |
---|---|
BLOCK_VALID_UNKNOWN | Unused. |
BLOCK_VALID_HEADER | Parsed, version ok, hash satisfies claimed PoW, 1 <= vtx count <= max, timestamp not in future. |
BLOCK_VALID_TREE | All parent headers found, difficulty matches, timestamp >= median previous, checkpoint. Implies all parents are also at least TREE. |
BLOCK_VALID_TRANSACTIONS | Only first tx is coinbase, 2 <= coinbase input script length <= 100, transactions valid, no duplicate txids, sigops, size, merkle root. Implies all parents are at least TREE but not necessarily TRANSACTIONS. When all parent blocks also have TRANSACTIONS, CBlockIndex::nChainTx will be set. |
BLOCK_VALID_CHAIN | Outputs do not overspend inputs, no double spends, coinbase output ok, no immature coinbase spends, BIP30. Implies all parents are also at least CHAIN. |
BLOCK_VALID_SCRIPTS | Scripts & signatures ok. Implies all parents are also at least SCRIPTS. |
BLOCK_VALID_MASK | All validity bits. |
BLOCK_HAVE_DATA | |
BLOCK_HAVE_UNDO | full block available in blk*.dat |
BLOCK_HAVE_MASK | undo data available in rev*.dat |
BLOCK_FAILED_VALID | |
BLOCK_FAILED_CHILD | stage after last reached validness failed |
BLOCK_FAILED_MASK | descends from failed block |