From 66b5c97c804becc87fc0aab7bcec2625efef293b Mon Sep 17 00:00:00 2001 From: cheme Date: Thu, 7 May 2020 09:38:59 +0200 Subject: [PATCH] Align trie iteration to substrate. (#90) * Align trie iteration to substrate. * Can use expect on trie error, remove debug_assert --- cumulus/runtime/src/validate_block/implementation.rs | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/cumulus/runtime/src/validate_block/implementation.rs b/cumulus/runtime/src/validate_block/implementation.rs index e81e6587de..b1135a215c 100644 --- a/cumulus/runtime/src/validate_block/implementation.rs +++ b/cumulus/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); } }