Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F10907537
merkle.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Subscribers
None
merkle.h
View Options
// Copyright (c) 2015 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_MERKLE
#define BITCOIN_MERKLE
#include
<cstdint>
#include
<vector>
#include
"primitives/block.h"
#include
"primitives/transaction.h"
#include
"uint256.h"
uint256
ComputeMerkleRoot
(
const
std
::
vector
<
uint256
>
&
leaves
,
bool
*
mutated
=
nullptr
);
std
::
vector
<
uint256
>
ComputeMerkleBranch
(
const
std
::
vector
<
uint256
>
&
leaves
,
uint32_t
position
);
uint256
ComputeMerkleRootFromBranch
(
const
uint256
&
leaf
,
const
std
::
vector
<
uint256
>
&
branch
,
uint32_t
position
);
/**
* 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 branch for the tree of transactions in a block, for a
* given position. This can be verified using ComputeMerkleRootFromBranch.
*/
std
::
vector
<
uint256
>
BlockMerkleBranch
(
const
CBlock
&
block
,
uint32_t
position
);
#endif
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Mon, Nov 25, 08:01 (1 d, 14 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4520686
Default Alt Text
merkle.h (1 KB)
Attached To
rSTAGING Bitcoin ABC staging
Event Timeline
Log In to Comment