mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-14 04:01:10 +00:00
Support multi-hash in multi-trie via PlainDB (#1106)
* Temporarily pin trie to #2 * Use generic and delay trait object casting Rust does not support super-trait upcasting * Add PlainDB impl for Ephemeral * Add PlainDB trait alias for completeness * Use PlainDB for test TrieBackendStorage fetch We always check overlay first for a storage fetch, which already checked null data. Using PlainDB here makes it work nicer with other PlainDB overlays. * Update trie reference * Use HashDBRef in places when approriate * Use PlainDBRef in places when approriate * Update trie crate reference * Remove unused HashDB::keys * Patch dependencies * Fix cargolock * Update cargo lock again
This commit is contained in:
committed by
Arkadiy Paronyan
parent
fa2e323478
commit
1ba7e35c18
@@ -48,7 +48,7 @@ impl<'a, S, H> ProvingBackendEssence<'a, S, H>
|
||||
|
||||
let map_e = |e| format!("Trie lookup error: {}", e);
|
||||
|
||||
read_trie_value_with(&eph, self.backend.root(), key, &mut *self.proof_recorder).map_err(map_e)
|
||||
read_trie_value_with::<H, _, Ephemeral<S, H>>(&eph, self.backend.root(), key, &mut *self.proof_recorder).map_err(map_e)
|
||||
}
|
||||
|
||||
pub fn child_storage(&mut self, storage_key: &[u8], key: &[u8]) -> Result<Option<Vec<u8>>, String> {
|
||||
@@ -74,7 +74,7 @@ impl<'a, S, H> ProvingBackendEssence<'a, S, H>
|
||||
|
||||
let mut iter = move || -> Result<(), Box<TrieError<H::Out>>> {
|
||||
let root = self.backend.root();
|
||||
record_all_keys::<H>(&eph, root, &mut *self.proof_recorder)
|
||||
record_all_keys::<H, _>(&eph, root, &mut *self.proof_recorder)
|
||||
};
|
||||
|
||||
if let Err(e) = iter() {
|
||||
|
||||
Reference in New Issue
Block a user