Bitcoin Core  0.15.99
P2P Digital Currency
Public Member Functions | Public Attributes | Private Member Functions | List of all members
CMerkleBlock Class Reference

Used to relay blocks as header + vector<merkle branch> to filtered nodes. More...

#include <merkleblock.h>

Collaboration diagram for CMerkleBlock:
[legend]

Public Member Functions

 CMerkleBlock (const CBlock &block, CBloomFilter &filter)
 Create from a CBlock, filtering transactions according to filter Note that this will call IsRelevantAndUpdate on the filter for each transaction, thus the filter will likely be modified. More...
 
 CMerkleBlock (const CBlock &block, const std::set< uint256 > &txids)
 
 CMerkleBlock ()
 
template<typename Stream , typename Operation >
void SerializationOp (Stream &s, Operation ser_action)
 

Public Attributes

CBlockHeader header
 Public only for unit testing. More...
 
CPartialMerkleTree txn
 
std::vector< std::pair< unsigned int, uint256 > > vMatchedTxn
 Public only for unit testing and relay testing (not relayed). More...
 
 ADD_SERIALIZE_METHODS
 

Private Member Functions

 CMerkleBlock (const CBlock &block, CBloomFilter *filter, const std::set< uint256 > *txids)
 

Detailed Description

Used to relay blocks as header + vector<merkle branch> to filtered nodes.

NOTE: The class assumes that the given CBlock has at least 1 transaction. If the CBlock has 0 txs, it will hit an assertion.

Definition at line 127 of file merkleblock.h.

Constructor & Destructor Documentation

CMerkleBlock::CMerkleBlock ( const CBlock block,
CBloomFilter filter 
)
inline

Create from a CBlock, filtering transactions according to filter Note that this will call IsRelevantAndUpdate on the filter for each transaction, thus the filter will likely be modified.

Definition at line 147 of file merkleblock.h.

CMerkleBlock::CMerkleBlock ( const CBlock block,
const std::set< uint256 > &  txids 
)
inline

Definition at line 150 of file merkleblock.h.

CMerkleBlock::CMerkleBlock ( )
inline

Definition at line 152 of file merkleblock.h.

CMerkleBlock::CMerkleBlock ( const CBlock block,
CBloomFilter filter,
const std::set< uint256 > *  txids 
)
private

Definition at line 13 of file merkleblock.cpp.

Here is the call graph for this function:

Member Function Documentation

template<typename Stream , typename Operation >
void CMerkleBlock::SerializationOp ( Stream &  s,
Operation  ser_action 
)
inline

Definition at line 157 of file merkleblock.h.

Member Data Documentation

CMerkleBlock::ADD_SERIALIZE_METHODS

Definition at line 154 of file merkleblock.h.

CBlockHeader CMerkleBlock::header

Public only for unit testing.

Definition at line 131 of file merkleblock.h.

CPartialMerkleTree CMerkleBlock::txn

Definition at line 132 of file merkleblock.h.

std::vector<std::pair<unsigned int, uint256> > CMerkleBlock::vMatchedTxn

Public only for unit testing and relay testing (not relayed).

Used only when a bloom filter is specified to allow testing the transactions which matched the bloom filter.

Definition at line 140 of file merkleblock.h.


The documentation for this class was generated from the following files: