Implement StorageNMap (#8635)
* Implement StorageNMap
* Change copyright date to 2021
* Rewrite keys to use impl_for_tuples instead of recursion
* Implement prefix iteration on StorageNMap
* Implement EncodeLike for key arguments
* Rename KeyGenerator::Arg to KeyGenerator::KArg
* Support StorageNMap in decl_storage and #[pallet::storage] macros
* Use StorageNMap in assets pallet
* Support migrate_keys in StorageNMap
* Reduce line characters on select files
* Refactor crate imports in decl_storage macros
* Some more line char reductions and doc comment update
* Update UI test expectations
* Revert whitespace changes to untouched files
* Generate Key struct instead of a 1-tuple when only 1 pair of key and hasher is provided
* Revert formatting changes to unrelated files
* Introduce KeyGeneratorInner
* Add tests for StorageNMap in FRAMEv2 pallet macro
* Small fixes to unit tests for StorageNMap
* Bump runtime metadata version
* Remove unused import
* Update tests to use runtime metadata v13
* Introduce and use EncodeLikeTuple as a trait bound for KArg
* Add some rustdocs
* Revert usage of StorageNMap in assets pallet
* Make use of ext::PunctuatedTrailing
* Add rustdoc for final_hash
* Fix StorageNMap proc macro expansions for single key cases
* Create associated const in KeyGenerator for hasher metadata
* Refactor code according to comments from Basti
* Add module docs for generator/nmap.rs
* Re-export storage::Key as NMapKey in pallet prelude
* Seal the EncodeLikeTuple trait
* Extract sealing code out of key.rs
Co-authored-by:
Shawn Tabrizi <shawntabrizi@gmail.com>
Showing
- substrate/frame/metadata/src/lib.rs 12 additions, 5 deletionssubstrate/frame/metadata/src/lib.rs
- substrate/frame/support/procedural/src/pallet/expand/storage.rs 47 additions, 0 deletions...ate/frame/support/procedural/src/pallet/expand/storage.rs
- substrate/frame/support/procedural/src/pallet/parse/storage.rs 76 additions, 3 deletions...rate/frame/support/procedural/src/pallet/parse/storage.rs
- substrate/frame/support/procedural/src/storage/genesis_config/builder_def.rs 15 additions, 0 deletions...port/procedural/src/storage/genesis_config/builder_def.rs
- substrate/frame/support/procedural/src/storage/genesis_config/genesis_config_def.rs 4 additions, 0 deletions...ocedural/src/storage/genesis_config/genesis_config_def.rs
- substrate/frame/support/procedural/src/storage/genesis_config/mod.rs 2 additions, 4 deletions...rame/support/procedural/src/storage/genesis_config/mod.rs
- substrate/frame/support/procedural/src/storage/getters.rs 17 additions, 1 deletionsubstrate/frame/support/procedural/src/storage/getters.rs
- substrate/frame/support/procedural/src/storage/instance_trait.rs 2 additions, 1 deletion...te/frame/support/procedural/src/storage/instance_trait.rs
- substrate/frame/support/procedural/src/storage/metadata.rs 23 additions, 1 deletionsubstrate/frame/support/procedural/src/storage/metadata.rs
- substrate/frame/support/procedural/src/storage/mod.rs 72 additions, 15 deletionssubstrate/frame/support/procedural/src/storage/mod.rs
- substrate/frame/support/procedural/src/storage/parse.rs 32 additions, 2 deletionssubstrate/frame/support/procedural/src/storage/parse.rs
- substrate/frame/support/procedural/src/storage/print_pallet_upgrade.rs 9 additions, 0 deletions...me/support/procedural/src/storage/print_pallet_upgrade.rs
- substrate/frame/support/procedural/src/storage/storage_struct.rs 39 additions, 1 deletion...te/frame/support/procedural/src/storage/storage_struct.rs
- substrate/frame/support/src/lib.rs 6 additions, 3 deletionssubstrate/frame/support/src/lib.rs
- substrate/frame/support/src/storage/generator/mod.rs 2 additions, 0 deletionssubstrate/frame/support/src/storage/generator/mod.rs
- substrate/frame/support/src/storage/generator/nmap.rs 541 additions, 0 deletionssubstrate/frame/support/src/storage/generator/nmap.rs
- substrate/frame/support/src/storage/mod.rs 184 additions, 2 deletionssubstrate/frame/support/src/storage/mod.rs
- substrate/frame/support/src/storage/types/key.rs 957 additions, 0 deletionssubstrate/frame/support/src/storage/types/key.rs
- substrate/frame/support/src/storage/types/mod.rs 13 additions, 6 deletionssubstrate/frame/support/src/storage/types/mod.rs
- substrate/frame/support/src/storage/types/nmap.rs 995 additions, 0 deletionssubstrate/frame/support/src/storage/types/nmap.rs
Please register or sign in to comment