Changeset View
Changeset View
Standalone View
Standalone View
src/merkleblock.cpp
Show All 13 Lines | CMerkleBlock::CMerkleBlock(const CBlock &block, CBloomFilter &filter) { | ||||
std::vector<bool> vMatch; | std::vector<bool> vMatch; | ||||
std::vector<uint256> vHashes; | std::vector<uint256> vHashes; | ||||
vMatch.reserve(block.vtx.size()); | vMatch.reserve(block.vtx.size()); | ||||
vHashes.reserve(block.vtx.size()); | vHashes.reserve(block.vtx.size()); | ||||
for (unsigned int i = 0; i < block.vtx.size(); i++) { | for (unsigned int i = 0; i < block.vtx.size(); i++) { | ||||
const uint256 &txid = block.vtx[i]->GetId(); | const uint256 &txid = block.vtx[i]->GetHash(); | ||||
if (filter.IsRelevantAndUpdate(*block.vtx[i])) { | if (filter.IsRelevantAndUpdate(*block.vtx[i])) { | ||||
vMatch.push_back(true); | vMatch.push_back(true); | ||||
vMatchedTxn.push_back(std::make_pair(i, txid)); | vMatchedTxn.push_back(std::make_pair(i, txid)); | ||||
} else | } else | ||||
vMatch.push_back(false); | vMatch.push_back(false); | ||||
vHashes.push_back(txid); | vHashes.push_back(txid); | ||||
} | } | ||||
txn = CPartialMerkleTree(vHashes, vMatch); | txn = CPartialMerkleTree(vHashes, vMatch); | ||||
} | } | ||||
CMerkleBlock::CMerkleBlock(const CBlock &block, | CMerkleBlock::CMerkleBlock(const CBlock &block, | ||||
const std::set<uint256> &txids) { | const std::set<uint256> &txids) { | ||||
header = block.GetBlockHeader(); | header = block.GetBlockHeader(); | ||||
std::vector<bool> vMatch; | std::vector<bool> vMatch; | ||||
std::vector<uint256> vHashes; | std::vector<uint256> vHashes; | ||||
vMatch.reserve(block.vtx.size()); | vMatch.reserve(block.vtx.size()); | ||||
vHashes.reserve(block.vtx.size()); | vHashes.reserve(block.vtx.size()); | ||||
for (unsigned int i = 0; i < block.vtx.size(); i++) { | for (unsigned int i = 0; i < block.vtx.size(); i++) { | ||||
const uint256 &txid = block.vtx[i]->GetId(); | const uint256 &txid = block.vtx[i]->GetHash(); | ||||
if (txids.count(txid)) | if (txids.count(txid)) | ||||
vMatch.push_back(true); | vMatch.push_back(true); | ||||
else | else | ||||
vMatch.push_back(false); | vMatch.push_back(false); | ||||
vHashes.push_back(txid); | vHashes.push_back(txid); | ||||
} | } | ||||
txn = CPartialMerkleTree(vHashes, vMatch); | txn = CPartialMerkleTree(vHashes, vMatch); | ||||
▲ Show 20 Lines • Show All 138 Lines • Show Last 20 Lines |