• Keith Yeung's avatar
    Implement StorageNMap (#8635) · 033d8289
    Keith Yeung authored
    
    
    * 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: default avatarShawn Tabrizi <[email protected]>
    033d8289