Bitcoin Core 28.99.0
P2P Digital Currency
Public Member Functions | Public Attributes | Static Public Attributes | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
CBlockHeaderAndShortTxIDs Class Reference

#include <blockencodings.h>

Collaboration diagram for CBlockHeaderAndShortTxIDs:
[legend]

Public Member Functions

 CBlockHeaderAndShortTxIDs ()=default
 Dummy for deserialization. More...
 
 CBlockHeaderAndShortTxIDs (const CBlock &block, const uint64_t nonce)
 
uint64_t GetShortID (const Wtxid &wtxid) const
 
size_t BlockTxCount () const
 
 SERIALIZE_METHODS (CBlockHeaderAndShortTxIDs, obj)
 

Public Attributes

CBlockHeader header
 

Static Public Attributes

static constexpr int SHORTTXIDS_LENGTH = 6
 

Protected Attributes

std::vector< uint64_t > shorttxids
 
std::vector< PrefilledTransactionprefilledtxn
 

Private Member Functions

void FillShortTxIDSelector () const
 

Private Attributes

uint64_t shorttxidk0
 
uint64_t shorttxidk1
 
uint64_t nonce
 

Friends

class PartiallyDownloadedBlock
 

Detailed Description

Definition at line 91 of file blockencodings.h.

Constructor & Destructor Documentation

◆ CBlockHeaderAndShortTxIDs() [1/2]

CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs ( )
default

Dummy for deserialization.

◆ CBlockHeaderAndShortTxIDs() [2/2]

CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs ( const CBlock block,
const uint64_t  nonce 
)
Parameters
[in]nonceThis should be randomly generated, and is used for the siphash secret key

Definition at line 20 of file blockencodings.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ BlockTxCount()

size_t CBlockHeaderAndShortTxIDs::BlockTxCount ( ) const
inline

Definition at line 121 of file blockencodings.h.

Here is the caller graph for this function:

◆ FillShortTxIDSelector()

void CBlockHeaderAndShortTxIDs::FillShortTxIDSelector ( ) const
private

Definition at line 32 of file blockencodings.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetShortID()

uint64_t CBlockHeaderAndShortTxIDs::GetShortID ( const Wtxid wtxid) const

Definition at line 43 of file blockencodings.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SERIALIZE_METHODS()

CBlockHeaderAndShortTxIDs::SERIALIZE_METHODS ( CBlockHeaderAndShortTxIDs  ,
obj   
)
inline

Definition at line 123 of file blockencodings.h.

Here is the call graph for this function:

Friends And Related Function Documentation

◆ PartiallyDownloadedBlock

friend class PartiallyDownloadedBlock
friend

Definition at line 98 of file blockencodings.h.

Member Data Documentation

◆ header

CBlockHeader CBlockHeaderAndShortTxIDs::header

Definition at line 107 of file blockencodings.h.

◆ nonce

uint64_t CBlockHeaderAndShortTxIDs::nonce
private

Definition at line 94 of file blockencodings.h.

◆ prefilledtxn

std::vector<PrefilledTransaction> CBlockHeaderAndShortTxIDs::prefilledtxn
protected

Definition at line 102 of file blockencodings.h.

◆ shorttxidk0

uint64_t CBlockHeaderAndShortTxIDs::shorttxidk0
mutableprivate

Definition at line 93 of file blockencodings.h.

◆ shorttxidk1

uint64_t CBlockHeaderAndShortTxIDs::shorttxidk1
private

Definition at line 93 of file blockencodings.h.

◆ shorttxids

std::vector<uint64_t> CBlockHeaderAndShortTxIDs::shorttxids
protected

Definition at line 101 of file blockencodings.h.

◆ SHORTTXIDS_LENGTH

constexpr int CBlockHeaderAndShortTxIDs::SHORTTXIDS_LENGTH = 6
staticconstexpr

Definition at line 105 of file blockencodings.h.


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