Trait StorageMap

Source
pub trait StorageMap {
    type KEY: Decode + Encode;
    type VALUE: Decode;

    const PALLET_NAME: &'static str;
    const STORAGE_NAME: &'static str;
    const KEY_HASHER: StorageHasher;

    // Provided methods
    fn encode_partial_key() -> [u8; 32] { ... }
    fn hex_encode_partial_key() -> String { ... }
    fn encode_storage_key(key: &Self::KEY) -> Vec<u8>  { ... }
    fn hex_encode_storage_key(key: &Self::KEY) -> String { ... }
    fn decode_storage_key(value: &mut &[u8]) -> Result<Self::KEY, Error> { ... }
    fn decode_storage_value(value: &mut &[u8]) -> Result<Self::VALUE, Error> { ... }
    fn fetch(
        client: &RpcClient,
        key: &Self::KEY,
        at: Option<H256>,
    ) -> impl Future<Output = Result<Option<Self::VALUE>, Error>> { ... }
    fn iter(client: RpcClient, block_hash: H256) -> StorageMapIterator<Self>
       where Self: Sized { ... }
}

Required Associated Constants§

Required Associated Types§

Provided Methods§

Source

fn encode_partial_key() -> [u8; 32]

Source

fn hex_encode_partial_key() -> String

Source

fn encode_storage_key(key: &Self::KEY) -> Vec<u8>

Source

fn hex_encode_storage_key(key: &Self::KEY) -> String

Source

fn decode_storage_key(value: &mut &[u8]) -> Result<Self::KEY, Error>

Source

fn decode_storage_value(value: &mut &[u8]) -> Result<Self::VALUE, Error>

Source

fn fetch( client: &RpcClient, key: &Self::KEY, at: Option<H256>, ) -> impl Future<Output = Result<Option<Self::VALUE>, Error>>

Source

fn iter(client: RpcClient, block_hash: H256) -> StorageMapIterator<Self>
where Self: Sized,

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 StorageMap for AppKeys

Source§

const PALLET_NAME: &'static str = "DataAvailability"

Source§

const STORAGE_NAME: &'static str = "AppKeys"

Source§

const KEY_HASHER: StorageHasher = StorageHasher::Blake2_128Concat

Source§

type KEY = Vec<u8>

Source§

type VALUE = AppKey

Source§

impl StorageMap for Account

Source§

const PALLET_NAME: &'static str = "System"

Source§

const STORAGE_NAME: &'static str = "Account"

Source§

const KEY_HASHER: StorageHasher = StorageHasher::Blake2_128Concat

Source§

type KEY = AccountId32

Source§

type VALUE = AccountInfo