fuel_core_storage::blueprint

Trait SupportsMerkle

Source
pub trait SupportsMerkle<Key, M, S>: BlueprintInspect<M, S>
where Key: ?Sized, M: Mappable, S: KeyValueInspect,
{ // Required method fn root(storage: &S, key: &Key) -> StorageResult<MerkleRoot>; }
Expand description

It is an extension of the blueprint that supporting creation of the Merkle tree over the storage.

Required Methods§

Source

fn root(storage: &S, key: &Key) -> StorageResult<MerkleRoot>

Returns the root of the Merkle tree.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<M, S, KeyCodec, ValueCodec, Metadata, Nodes, Encoder> SupportsMerkle<<M as Mappable>::Key, M, S> for Merklized<KeyCodec, ValueCodec, Metadata, Nodes, Encoder>
where M: Mappable, S: KeyValueInspect + StorageInspect<Metadata, Error = Error>, Metadata: Mappable<Key = DenseMetadataKey<M::OwnedKey>, OwnedKey = DenseMetadataKey<M::OwnedKey>, Value = DenseMerkleMetadata, OwnedValue = DenseMerkleMetadata>, Self: BlueprintInspect<M, S>,

Source§

impl<M, S, KeyCodec, ValueCodec, Metadata, Nodes, KeyConverter> SupportsMerkle<<Metadata as Mappable>::Key, M, S> for Sparse<KeyCodec, ValueCodec, Metadata, Nodes, KeyConverter>
where M: Mappable, S: KeyValueInspect + StorageInspect<Metadata, Error = Error>, Metadata: Mappable<Value = SparseMerkleMetadata, OwnedValue = SparseMerkleMetadata>, Self: BlueprintInspect<M, S>,