Changeset View
Changeset View
Standalone View
Standalone View
src/consensus/merkle.cpp
Show First 20 Lines • Show All 170 Lines • ▼ Show 20 Lines | uint256 ComputeMerkleRootFromBranch(const uint256 &leaf, | ||||
} | } | ||||
return hash; | return hash; | ||||
} | } | ||||
uint256 BlockMerkleRoot(const CBlock &block, bool *mutated) { | uint256 BlockMerkleRoot(const CBlock &block, bool *mutated) { | ||||
std::vector<uint256> leaves; | std::vector<uint256> leaves; | ||||
leaves.resize(block.vtx.size()); | leaves.resize(block.vtx.size()); | ||||
for (size_t s = 0; s < block.vtx.size(); s++) { | for (size_t s = 0; s < block.vtx.size(); s++) { | ||||
leaves[s] = block.vtx[s]->GetId(); | leaves[s] = block.vtx[s]->GetHash(); | ||||
} | } | ||||
return ComputeMerkleRoot(leaves, mutated); | return ComputeMerkleRoot(leaves, mutated); | ||||
} | } | ||||
std::vector<uint256> BlockMerkleBranch(const CBlock &block, uint32_t position) { | std::vector<uint256> BlockMerkleBranch(const CBlock &block, uint32_t position) { | ||||
std::vector<uint256> leaves; | std::vector<uint256> leaves; | ||||
leaves.resize(block.vtx.size()); | leaves.resize(block.vtx.size()); | ||||
for (size_t s = 0; s < block.vtx.size(); s++) { | for (size_t s = 0; s < block.vtx.size(); s++) { | ||||
leaves[s] = block.vtx[s]->GetId(); | leaves[s] = block.vtx[s]->GetHash(); | ||||
} | } | ||||
return ComputeMerkleBranch(leaves, position); | return ComputeMerkleBranch(leaves, position); | ||||
} | } |