mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-19 06:43:45 +01:00
Split off CBlockHeader from CBlock
Cleaner and removes the need for the application-specific flags in serialize.h.
This commit is contained in:
16
src/main.cpp
16
src/main.cpp
@@ -998,21 +998,16 @@ CBlockIndex* FindBlockByHeight(int nHeight)
|
||||
return pblockindex;
|
||||
}
|
||||
|
||||
bool CBlock::ReadFromDisk(const CBlockIndex* pindex, bool fReadTransactions)
|
||||
bool CBlock::ReadFromDisk(const CBlockIndex* pindex)
|
||||
{
|
||||
if (!fReadTransactions)
|
||||
{
|
||||
*this = pindex->GetBlockHeader();
|
||||
return true;
|
||||
}
|
||||
if (!ReadFromDisk(pindex->GetBlockPos(), fReadTransactions))
|
||||
if (!ReadFromDisk(pindex->GetBlockPos()))
|
||||
return false;
|
||||
if (GetHash() != pindex->GetBlockHash())
|
||||
return error("CBlock::ReadFromDisk() : GetHash() doesn't match index");
|
||||
return true;
|
||||
}
|
||||
|
||||
uint256 static GetOrphanRoot(const CBlock* pblock)
|
||||
uint256 static GetOrphanRoot(const CBlockHeader* pblock)
|
||||
{
|
||||
// Work back to the first block in the orphan chain
|
||||
while (mapOrphanBlocks.count(pblock->hashPrevBlock))
|
||||
@@ -1059,7 +1054,7 @@ unsigned int ComputeMinWork(unsigned int nBase, int64 nTime)
|
||||
return bnResult.GetCompact();
|
||||
}
|
||||
|
||||
unsigned int static GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlock *pblock)
|
||||
unsigned int static GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock)
|
||||
{
|
||||
unsigned int nProofOfWorkLimit = bnProofOfWorkLimit.GetCompact();
|
||||
|
||||
@@ -1233,7 +1228,7 @@ bool ConnectBestBlock() {
|
||||
} while(true);
|
||||
}
|
||||
|
||||
void CBlock::UpdateTime(const CBlockIndex* pindexPrev)
|
||||
void CBlockHeader::UpdateTime(const CBlockIndex* pindexPrev)
|
||||
{
|
||||
nTime = max(pindexPrev->GetMedianTimePast()+1, GetAdjustedTime());
|
||||
|
||||
@@ -3072,6 +3067,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
|
||||
pindex = pindex->pnext;
|
||||
}
|
||||
|
||||
// we must use CBlocks, as CBlockHeaders won't include the 0x00 nTx count at the end
|
||||
vector<CBlock> vHeaders;
|
||||
int nLimit = 2000;
|
||||
printf("getheaders %d to %s\n", (pindex ? pindex->nHeight : -1), hashStop.ToString().substr(0,20).c_str());
|
||||
|
||||
Reference in New Issue
Block a user