diff --git a/runtime/src/validate_block/implementation.rs b/runtime/src/validate_block/implementation.rs index e81e6587de..b1135a215c 100644 --- a/runtime/src/validate_block/implementation.rs +++ b/runtime/src/validate_block/implementation.rs @@ -25,7 +25,7 @@ use sp_trie::{delta_trie_root, read_trie_value, Layout, MemoryDB}; use hash_db::{HashDB, EMPTY_PREFIX}; -use trie_db::{Trie, TrieDB}; +use trie_db::{Trie, TrieDB, TrieDBIterator}; use parachain::primitives::{HeadData, ValidationCode, ValidationParams, ValidationResult}; @@ -215,16 +215,8 @@ impl Storage for WitnessStorage { Err(_) => panic!(), }; - let mut iter = trie.iter().expect("Creates trie iterator"); - iter.seek(prefix).expect("Seek trie iterator"); - - for x in iter { + for x in TrieDBIterator::new_prefixed(&trie, prefix).expect("Creates trie iterator") { let (key, _) = x.expect("Iterating trie iterator"); - - if !key.starts_with(prefix) { - break; - } - self.overlay.insert(key, None); } }