Used CountedStorageMap in pallet-staking (#10233)

* Removed counters and used CountedStorageMap instead.

* Little refactoring

* Update frame/staking/src/migrations.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* Removed redundant code to update counter for validator & nominator.

* Removed redundant code to update counter for validator & nominator.

* Removed unreachable code to inject the hashed prefix for nominator & validator.

* Removed redundant check for nominator & validator count.

* Generated `fn prefix_hash` for `CountedStorageMap`.

* Applied changes from `cargo fmt`

* Possible correct implementation of migration code

* Implemented fn module_prefix, storage_prefix and prefix_hash.

* Removed counted_map.rs

* Renamed `fn storage_prefix` to `storage_counter_prefix`.

* Update frame/support/src/storage/types/counted_map.rs

* Update frame/bags-list/remote-tests/src/snapshot.rs

* Update frame/support/src/storage/types/counted_map.rs

* Fixed errors.

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
This commit is contained in:
Ayevbeosa Iyamu
2021-12-07 10:21:27 +01:00
committed by GitHub
parent 9e9e18b161
commit 56fb1cfbb6
9 changed files with 74 additions and 82 deletions
@@ -98,6 +98,17 @@ where
OnEmpty: Get<QueryKind::Query> + 'static,
MaxValues: Get<Option<u32>>,
{
/// The key used to store the counter of the map.
pub fn counter_storage_final_key() -> [u8; 32] {
CounterFor::<Prefix>::hashed_key()
}
/// The prefix used to generate the key of the map.
pub fn map_storage_final_prefix() -> Vec<u8> {
use crate::storage::generator::StorageMap;
<Self as MapWrapper>::Map::prefix_hash()
}
/// Get the storage key used to fetch a value corresponding to a specific key.
pub fn hashed_key_for<KeyArg: EncodeLike<Key>>(key: KeyArg) -> Vec<u8> {
<Self as MapWrapper>::Map::hashed_key_for(key)