Switch srml-session keys to decl_storage! (#3184)

* Switch `srml-session` keys to `decl_storage!`

* Expose `DEDUP_KEY_PREFIX` in constants

* Fix test

* Bump spec version
This commit is contained in:
Bastian Köcher
2019-07-24 10:40:04 +02:00
committed by Gavin Wood
parent c8dab27f35
commit 5d58d583e3
14 changed files with 365 additions and 201 deletions
+10 -10
View File
@@ -29,7 +29,7 @@ srml_support::decl_module! {
}
srml_support::decl_storage!{
trait Store for Module<T: Trait> as Module {
trait Store for Module<T: Trait> as FinalKeys {
pub Value config(value): u32;
pub Map: map u32 => u32;
@@ -60,37 +60,37 @@ fn new_test_ext() -> runtime_io::TestExternalities<Blake2Hasher> {
fn final_keys() {
with_externalities(&mut new_test_ext(), || {
Value::put(1);
assert_eq!(unhashed::get::<u32>(&runtime_io::twox_128(b"Module Value")), Some(1u32));
assert_eq!(unhashed::get::<u32>(&runtime_io::twox_128(b"FinalKeys Value")), Some(1u32));
Map::insert(1, 2);
let mut k = b"Module Map".to_vec();
let mut k = b"FinalKeys Map".to_vec();
k.extend(1u32.encode());
assert_eq!(unhashed::get::<u32>(&runtime_io::blake2_256(&k)), Some(2u32));
Map2::insert(1, 2);
let mut k = b"Module Map2".to_vec();
let mut k = b"FinalKeys Map2".to_vec();
k.extend(1u32.encode());
assert_eq!(unhashed::get::<u32>(&runtime_io::twox_128(&k)), Some(2u32));
LinkedMap::insert(1, 2);
let mut k = b"Module LinkedMap".to_vec();
let mut k = b"FinalKeys LinkedMap".to_vec();
k.extend(1u32.encode());
assert_eq!(unhashed::get::<u32>(&runtime_io::blake2_256(&k)), Some(2u32));
LinkedMap2::insert(1, 2);
let mut k = b"Module LinkedMap2".to_vec();
let mut k = b"FinalKeys LinkedMap2".to_vec();
k.extend(1u32.encode());
assert_eq!(unhashed::get::<u32>(&runtime_io::twox_128(&k)), Some(2u32));
DoubleMap::insert(1, 2, 3);
let mut k = b"Module DoubleMap".to_vec();
DoubleMap::insert(&1, &2, &3);
let mut k = b"FinalKeys DoubleMap".to_vec();
k.extend(1u32.encode());
let mut k = runtime_io::blake2_256(&k).to_vec();
k.extend(&runtime_io::blake2_256(&2u32.encode()));
assert_eq!(unhashed::get::<u32>(&k), Some(3u32));
DoubleMap2::insert(1, 2, 3);
let mut k = b"Module DoubleMap2".to_vec();
DoubleMap2::insert(&1, &2, &3);
let mut k = b"FinalKeys DoubleMap2".to_vec();
k.extend(1u32.encode());
let mut k = runtime_io::twox_128(&k).to_vec();
k.extend(&runtime_io::blake2_128(&2u32.encode()));
+18 -18
View File
@@ -335,14 +335,14 @@ fn storage_instance_independance() {
module2::LinkedMap::<module2::Instance1>::key_for(1).to_vec(),
module2::LinkedMap::<module2::Instance2>::key_for(1).to_vec(),
module2::LinkedMap::<module2::Instance3>::key_for(1).to_vec(),
module2::DoubleMap::<module2::DefaultInstance>::prefix_for(1),
module2::DoubleMap::<module2::Instance1>::prefix_for(1).to_vec(),
module2::DoubleMap::<module2::Instance2>::prefix_for(1).to_vec(),
module2::DoubleMap::<module2::Instance3>::prefix_for(1).to_vec(),
module2::DoubleMap::<module2::DefaultInstance>::key_for(1, 1),
module2::DoubleMap::<module2::Instance1>::key_for(1, 1).to_vec(),
module2::DoubleMap::<module2::Instance2>::key_for(1, 1).to_vec(),
module2::DoubleMap::<module2::Instance3>::key_for(1, 1).to_vec(),
module2::DoubleMap::<module2::DefaultInstance>::prefix_for(&1),
module2::DoubleMap::<module2::Instance1>::prefix_for(&1).to_vec(),
module2::DoubleMap::<module2::Instance2>::prefix_for(&1).to_vec(),
module2::DoubleMap::<module2::Instance3>::prefix_for(&1).to_vec(),
module2::DoubleMap::<module2::DefaultInstance>::key_for(&1, &1),
module2::DoubleMap::<module2::Instance1>::key_for(&1, &1).to_vec(),
module2::DoubleMap::<module2::Instance2>::key_for(&1, &1).to_vec(),
module2::DoubleMap::<module2::Instance3>::key_for(&1, &1).to_vec(),
].iter() {
assert!(map.insert(key, ()).is_none())
}
@@ -396,15 +396,15 @@ fn storage_with_instance_basic_operation() {
let key1 = 1;
let key2 = 1;
assert_eq!(DoubleMap::exists(0, 0), true);
assert_eq!(DoubleMap::exists(key1, key2), false);
DoubleMap::insert(key1, key2, 1);
assert_eq!(DoubleMap::get(key1, key2), 1);
assert_eq!(DoubleMap::take(key1, key2), 1);
assert_eq!(DoubleMap::get(key1, key2), 0);
DoubleMap::mutate(key1, key2, |a| *a=2);
assert_eq!(DoubleMap::get(key1, key2), 2);
DoubleMap::remove(key1, key2);
assert_eq!(DoubleMap::get(key1, key2), 0);
assert_eq!(DoubleMap::exists(&0, &0), true);
assert_eq!(DoubleMap::exists(&key1, &key2), false);
DoubleMap::insert(&key1, &key2, &1);
assert_eq!(DoubleMap::get(&key1, &key2), 1);
assert_eq!(DoubleMap::take(&key1, &key2), 1);
assert_eq!(DoubleMap::get(&key1, &key2), 0);
DoubleMap::mutate(&key1, &key2, |a| *a=2);
assert_eq!(DoubleMap::get(&key1, &key2), 2);
DoubleMap::remove(&key1, &key2);
assert_eq!(DoubleMap::get(&key1, &key2), 0);
});
}