// Copyright (c) 2015-2018 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef BITCOIN_CONSENSUS_MERKLE_H #define BITCOIN_CONSENSUS_MERKLE_H #include #include #include #include #include uint256 ComputeMerkleRoot(std::vector hashes, bool* mutated = nullptr); /* * Compute the Merkle root of the transactions in a block. * *mutated is set to true if a duplicated subtree was found. */ uint256 BlockMerkleRoot(const CBlock& block, bool* mutated = nullptr); /* * Compute the Merkle root of the witness transactions in a block. * *mutated is set to true if a duplicated subtree was found. */ uint256 BlockWitnessMerkleRoot(const CBlock& block, bool* mutated = nullptr); #endif // BITCOIN_CONSENSUS_MERKLE_H