From 928bf37297cb5a0a5ed5393f2bdb1503e46f18a4 Mon Sep 17 00:00:00 2001 From: katikatidimon <140461101+katikatidimon@users.noreply.github.com> Date: Tue, 27 Jan 2026 23:26:31 +0100 Subject: [PATCH] perf: avoid cloning prefix sets in `TrieWitness::compute` (#21352) --- crates/trie/trie/src/witness.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/trie/trie/src/witness.rs b/crates/trie/trie/src/witness.rs index de444815fe..1a2dbf2d6a 100644 --- a/crates/trie/trie/src/witness.rs +++ b/crates/trie/trie/src/witness.rs @@ -115,9 +115,10 @@ where } else { self.get_proof_targets(&state)? }; + let prefix_sets = core::mem::take(&mut self.prefix_sets); let multiproof = Proof::new(self.trie_cursor_factory.clone(), self.hashed_cursor_factory.clone()) - .with_prefix_sets_mut(self.prefix_sets.clone()) + .with_prefix_sets_mut(prefix_sets) .multiproof(proof_targets.clone())?; // No need to reconstruct the rest of the trie, we just need to include