pub trait Config: Config + Config {
    type LeafVersion: Get<MmrLeafVersion>;
    type BeefyAuthorityToMerkleLeaf: Convert<<Self as Config>::BeefyId, Vec<u8>>;
    type LeafExtra: Member + FullCodec;
    type BeefyDataProvider: BeefyDataProvider<Self::LeafExtra>;
}
Expand description

The module’s configuration trait.

Required Associated Types§

source

type LeafVersion: Get<MmrLeafVersion>

Current leaf version.

Specifies the version number added to every leaf that get’s appended to the MMR. Read more in MmrLeafVersion docs about versioning leaves.

source

type BeefyAuthorityToMerkleLeaf: Convert<<Self as Config>::BeefyId, Vec<u8>>

Convert BEEFY AuthorityId to a form that would end up in the Merkle Tree.

For instance for ECDSA (secp256k1) we want to store uncompressed public keys (65 bytes) and later to Ethereum Addresses (160 bits) to simplify using them on Ethereum chain, but the rest of the Substrate codebase is storing them compressed (33 bytes) for efficiency reasons.

source

type LeafExtra: Member + FullCodec

The type expected for the leaf extra data

source

type BeefyDataProvider: BeefyDataProvider<Self::LeafExtra>

Retrieve arbitrary data that should be added to the mmr leaf

Implementors§