diff options
| author | Pieter Wuille <[email protected]> | 2012-11-24 13:54:12 -0800 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2012-11-24 13:54:12 -0800 |
| commit | 7818d230a20c320473a9bfa5ebddc861724b917e (patch) | |
| tree | 85f87e323e37acd391b8f62d056761ad523ab1ed /src/main.cpp | |
| parent | Merge pull request #1980 from sipa/noreorgsame (diff) | |
| parent | Split off CBlockHeader from CBlock (diff) | |
| download | discoin-7818d230a20c320473a9bfa5ebddc861724b917e.tar.xz discoin-7818d230a20c320473a9bfa5ebddc861724b917e.zip | |
Merge pull request #2013 from sipa/blockheader
Split off CBlockHeader from CBlock
Diffstat (limited to 'src/main.cpp')
| -rw-r--r-- | src/main.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/main.cpp b/src/main.cpp index e2e993a13..4c2115688 100644 --- a/src/main.cpp +++ b/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), BlockHashStr(hashStop).c_str()); |