Expand description

This crate implements a simple binary Merkle Tree utilities required for inter-op with Ethereum bridge & Solidity contract.

The implementation is optimised for usage within Substrate Runtime and supports no-std compilation targets.

Merkle Tree is constructed from arbitrary-length leaves, that are initially hashed using the same Hasher as the inner nodes. Inner nodes are created by concatenating child hashes and hashing again. The implementation does not perform any sorting of the input data (leaves) nor when inner nodes are created.

If the number of leaves is not even, last leave (hash of) is promoted to the upper layer.

Structs

A generated merkle proof.

Enums

Leaf node for proof verification.

Traits

API useful for BEEFY light clients.
Generic hasher trait.

Functions

Construct a Merkle Proof for leaves given by indices.
Construct a root hash of a Binary Merkle Tree created from given leaves.
Verify Merkle Proof correctness versus given root hash.

Type Definitions

Supported hashing output size.