From bb6754c4337da00f4bcb63b1f6ab051886c6fdc3 Mon Sep 17 00:00:00 2001 From: GarmashAlex Date: Mon, 3 Nov 2025 09:20:44 +0300 Subject: [PATCH 1/2] Update nibbles.rs --- crates/common/trie/nibbles.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/crates/common/trie/nibbles.rs b/crates/common/trie/nibbles.rs index 6d17e488519..f77eaef2b47 100644 --- a/crates/common/trie/nibbles.rs +++ b/crates/common/trie/nibbles.rs @@ -93,9 +93,10 @@ impl Nibbles { /// If `prefix` is a prefix of self, move the offset after /// the prefix and return true, otherwise return false. pub fn skip_prefix(&mut self, prefix: &Nibbles) -> bool { - if self.len() >= prefix.len() && &self.data[..prefix.len()] == prefix.as_ref() { - self.data = self.data[prefix.len()..].to_vec(); - self.already_consumed.extend(&prefix.data); + let plen = prefix.len(); + if self.len() >= plen && &self.data[..plen] == prefix.as_ref() { + let consumed: Vec = self.data.drain(..plen).collect(); + self.already_consumed.extend(consumed); true } else { false From e5b15e497865c753d046edd41b0ebbec590353f4 Mon Sep 17 00:00:00 2001 From: GarmashAlex Date: Mon, 3 Nov 2025 09:21:27 +0300 Subject: [PATCH 2/2] Update extension.rs --- crates/common/trie/node/extension.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/common/trie/node/extension.rs b/crates/common/trie/node/extension.rs index 74d55719eb9..3aebf4e7ad1 100644 --- a/crates/common/trie/node/extension.rs +++ b/crates/common/trie/node/extension.rs @@ -228,7 +228,7 @@ impl ExtensionNode { let child_node = self.child.get_node(db, path.current())?.ok_or_else(|| { TrieError::InconsistentTree(Box::new( InconsistentTreeError::ExtensionNodeChildNotFound(ExtensionNodeErrorData { - node_hash: self.child.clone().compute_hash().finalize(), + node_hash: self.child.compute_hash().finalize(), extension_node_hash: self.compute_hash().finalize(), extension_node_prefix: self.prefix.clone(), node_path: path.current(),