macro_rules! wrap_storage_map {
    (storage: $storage: ident, name: $name: ident, key: $key: ty, value: $val: ty) => { ... };
Expand description

Creates new type with specified name and key-value types and implements MapStorage for it based on specified storage, which is a Substrate’s StorageMap.

This macro main purpose is to follow newtype pattern and avoid Substrate dependencies in gear_common.

Requires PhantomData be in scope: from std, core or sp_std.

Requires Config be in scope of the crate root where it called.

Has two implementations to provide auto addition of Counted logic (for Substrate’s CountedStorageMap) due to storage’s arguments difference.