Trait StorageDoubleMap

Source
pub trait StorageDoubleMap {
    type KEY1: Decode + Encode;
    type KEY2: Decode + Encode;
    type VALUE: Decode;

    const PALLET_NAME: &str;
    const STORAGE_NAME: &str;
    const KEY1_HASHER: StorageHasher;
    const KEY2_HASHER: StorageHasher;

    // Provided methods
    fn encode_partial_key(key1: Self::KEY1) -> Vec<u8>  { ... }
    fn hex_encode_partial_key(key1: Self::KEY1) -> String { ... }
    fn encode_storage_key(key1: Self::KEY1, key2: Self::KEY2) -> Vec<u8>  { ... }
    fn hex_encode_storage_key(key1: Self::KEY1, key2: Self::KEY2) -> String { ... }
    fn decode_partial_key(value: &mut &[u8]) -> Result<Self::KEY1, Error> { ... }
    fn decode_storage_key(
        value: &mut &[u8],
    ) -> Result<(Self::KEY1, Self::KEY2), Error> { ... }
    fn decode_storage_value(value: &mut &[u8]) -> Result<Self::VALUE, Error> { ... }
}

Required Associated Constants§

Required Associated Types§

Provided Methods§

Source

fn encode_partial_key(key1: Self::KEY1) -> Vec<u8>

Source

fn hex_encode_partial_key(key1: Self::KEY1) -> String

Source

fn encode_storage_key(key1: Self::KEY1, key2: Self::KEY2) -> Vec<u8>

Source

fn hex_encode_storage_key(key1: Self::KEY1, key2: Self::KEY2) -> String

Source

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

Source

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

Source

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

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§