pub trait StoragePrefixedMap<Value: FullCodec> {
    fn module_prefix() -> &'static [u8]
Notable traits for &'_ mut [u8]
impl<'_> Write for &'_ mut [u8]impl<'_> Read for &'_ [u8]
;
fn storage_prefix() -> &'static [u8]
Notable traits for &'_ mut [u8]
impl<'_> Write for &'_ mut [u8]impl<'_> Read for &'_ [u8]
; fn final_prefix() -> [u8; 32] { ... }
fn remove_all(limit: Option<u32>) -> KillStorageResult { ... }
fn iter_values() -> PrefixIterator<Value>
Notable traits for PrefixIterator<T, OnRemoval>
impl<T, OnRemoval: PrefixIteratorOnRemoval> Iterator for PrefixIterator<T, OnRemoval> type Item = T;
{ ... }
fn translate_values<OldValue: Decode, F: FnMut(OldValue) -> Option<Value>>(
        f: F
    ) { ... } }
Expand description

Trait for maps that store all its value after a unique prefix.

By default the final prefix is:

Twox128(module_prefix) ++ Twox128(storage_prefix)

Required methods

Module prefix. Used for generating final key.

Storage prefix. Used for generating final key.

Provided methods

Final full prefix that prefixes all keys.

Remove all value of the storage.

Iter over all value of the storage.

NOTE: If a value failed to decode because storage is corrupted then it is skipped.

Translate the values of all elements by a function f, in the map in no particular order. By returning None from f for an element, you’ll remove it from the map.

NOTE: If a value fail to decode because storage is corrupted then it is skipped.

Warning

This function must be used with care, before being updated the storage still contains the old type, thus other calls (such as get) will fail at decoding it.

Usage

This would typically be called inside the module implementation of on_runtime_upgrade.

Implementors