mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 12:51:02 +00:00
Set StateBackend::Transaction to PrefixedMemoryDB (#14612)
* Yep * Try to get it working everywhere * Make `from_raw_storage` start with an empty db * More fixes! * Make everything compile * Fix `child_storage_root` * Fix after merge * Cleanups * Update primitives/state-machine/src/overlayed_changes/mod.rs Co-authored-by: Davide Galassi <davxy@datawok.net> * Review comments * Fix issues * Silence warning * FMT * Clippy --------- Co-authored-by: Davide Galassi <davxy@datawok.net>
This commit is contained in:
@@ -30,6 +30,7 @@ use codec::Codec;
|
||||
use hash_db::HashDB;
|
||||
use hash_db::Hasher;
|
||||
use sp_core::storage::{ChildInfo, StateVersion};
|
||||
use sp_trie::PrefixedMemoryDB;
|
||||
#[cfg(feature = "std")]
|
||||
use sp_trie::{
|
||||
cache::{LocalTrieCache, TrieCache},
|
||||
@@ -377,7 +378,6 @@ where
|
||||
H::Out: Ord + Codec,
|
||||
{
|
||||
type Error = crate::DefaultError;
|
||||
type Transaction = S::Overlay;
|
||||
type TrieBackendStorage = S;
|
||||
type RawIter = crate::trie_backend_essence::RawIter<S, H, C>;
|
||||
|
||||
@@ -458,7 +458,7 @@ where
|
||||
&self,
|
||||
delta: impl Iterator<Item = (&'a [u8], Option<&'a [u8]>)>,
|
||||
state_version: StateVersion,
|
||||
) -> (H::Out, Self::Transaction)
|
||||
) -> (H::Out, PrefixedMemoryDB<H>)
|
||||
where
|
||||
H::Out: Ord,
|
||||
{
|
||||
@@ -470,7 +470,7 @@ where
|
||||
child_info: &ChildInfo,
|
||||
delta: impl Iterator<Item = (&'a [u8], Option<&'a [u8]>)>,
|
||||
state_version: StateVersion,
|
||||
) -> (H::Out, bool, Self::Transaction)
|
||||
) -> (H::Out, bool, PrefixedMemoryDB<H>)
|
||||
where
|
||||
H::Out: Ord,
|
||||
{
|
||||
@@ -529,7 +529,7 @@ pub mod tests {
|
||||
use sp_trie::{
|
||||
cache::{CacheSize, SharedTrieCache},
|
||||
trie_types::{TrieDBBuilder, TrieDBMutBuilderV0, TrieDBMutBuilderV1},
|
||||
KeySpacedDBMut, PrefixedKey, PrefixedMemoryDB, Trie, TrieCache, TrieMut,
|
||||
KeySpacedDBMut, PrefixedMemoryDB, Trie, TrieCache, TrieMut,
|
||||
};
|
||||
use std::iter;
|
||||
use trie_db::NodeCodec;
|
||||
@@ -1187,7 +1187,7 @@ pub mod tests {
|
||||
(Some(child_info_1.clone()), (28..65).map(|i| (vec![i], Some(vec![i]))).collect()),
|
||||
(Some(child_info_2.clone()), (10..15).map(|i| (vec![i], Some(vec![i]))).collect()),
|
||||
];
|
||||
let in_memory = new_in_mem::<BlakeTwo256, PrefixedKey<BlakeTwo256>>();
|
||||
let in_memory = new_in_mem::<BlakeTwo256>();
|
||||
let in_memory = in_memory.update(contents, state_version);
|
||||
let child_storage_keys = vec![child_info_1.to_owned(), child_info_2.to_owned()];
|
||||
let in_memory_root = in_memory
|
||||
@@ -1292,7 +1292,7 @@ pub mod tests {
|
||||
.collect(),
|
||||
),
|
||||
];
|
||||
let in_memory = new_in_mem::<BlakeTwo256, PrefixedKey<BlakeTwo256>>();
|
||||
let in_memory = new_in_mem::<BlakeTwo256>();
|
||||
let in_memory = in_memory.update(contents, state_version);
|
||||
let child_storage_keys = vec![child_info_1.to_owned()];
|
||||
let in_memory_root = in_memory
|
||||
@@ -1480,7 +1480,7 @@ pub mod tests {
|
||||
(Some(child_info_1.clone()), vec![(key.clone(), Some(child_trie_1_val.clone()))]),
|
||||
(Some(child_info_2.clone()), vec![(key.clone(), Some(child_trie_2_val.clone()))]),
|
||||
];
|
||||
let in_memory = new_in_mem::<BlakeTwo256, PrefixedKey<BlakeTwo256>>();
|
||||
let in_memory = new_in_mem::<BlakeTwo256>();
|
||||
let in_memory = in_memory.update(contents, state_version);
|
||||
let child_storage_keys = vec![child_info_1.to_owned(), child_info_2.to_owned()];
|
||||
let in_memory_root = in_memory
|
||||
|
||||
Reference in New Issue
Block a user