mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-25 08:21:10 +00:00
Introduce set function into storage maps (#11564)
This commit is contained in:
@@ -151,6 +151,13 @@ where
|
||||
unhashed::get(&Self::storage_double_map_final_key(k1, k2)).ok_or(())
|
||||
}
|
||||
|
||||
fn set<KArg1: EncodeLike<K1>, KArg2: EncodeLike<K2>>(k1: KArg1, k2: KArg2, q: Self::Query) {
|
||||
match G::from_query_to_optional_value(q) {
|
||||
Some(v) => Self::insert(k1, k2, v),
|
||||
None => Self::remove(k1, k2),
|
||||
}
|
||||
}
|
||||
|
||||
fn take<KArg1, KArg2>(k1: KArg1, k2: KArg2) -> Self::Query
|
||||
where
|
||||
KArg1: EncodeLike<K1>,
|
||||
|
||||
@@ -245,6 +245,13 @@ impl<K: FullEncode, V: FullCodec, G: StorageMap<K, V>> storage::StorageMap<K, V>
|
||||
unhashed::get(Self::storage_map_final_key(key).as_ref()).ok_or(())
|
||||
}
|
||||
|
||||
fn set<KeyArg: EncodeLike<K>>(key: KeyArg, q: Self::Query) {
|
||||
match G::from_query_to_optional_value(q) {
|
||||
Some(v) => Self::insert(key, v),
|
||||
None => Self::remove(key),
|
||||
}
|
||||
}
|
||||
|
||||
fn insert<KeyArg: EncodeLike<K>, ValArg: EncodeLike<V>>(key: KeyArg, val: ValArg) {
|
||||
unhashed::put(Self::storage_map_final_key(key).as_ref(), &val)
|
||||
}
|
||||
|
||||
@@ -138,6 +138,13 @@ where
|
||||
unhashed::get(&Self::storage_n_map_final_key::<K, _>(key)).ok_or(())
|
||||
}
|
||||
|
||||
fn set<KArg: EncodeLikeTuple<K::KArg> + TupleToEncodedIter>(key: KArg, q: Self::Query) {
|
||||
match G::from_query_to_optional_value(q) {
|
||||
Some(v) => Self::insert(key, v),
|
||||
None => Self::remove(key),
|
||||
}
|
||||
}
|
||||
|
||||
fn take<KArg: EncodeLikeTuple<K::KArg> + TupleToEncodedIter>(key: KArg) -> Self::Query {
|
||||
let final_key = Self::storage_n_map_final_key::<K, _>(key);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user