diff --git a/crates/trie/sparse/src/state.rs b/crates/trie/sparse/src/state.rs index 1d68f19cd7..0a9627df2c 100644 --- a/crates/trie/sparse/src/state.rs +++ b/crates/trie/sparse/src/state.rs @@ -728,7 +728,8 @@ where let nibbles = Nibbles::unpack(address); self.account_rlp_buf.clear(); account.into_trie_account(storage_root).encode(&mut self.account_rlp_buf); - self.update_account_leaf(nibbles, self.account_rlp_buf.clone(), provider_factory)?; + let rlp_encoded_account = core::mem::take(&mut self.account_rlp_buf); + self.update_account_leaf(nibbles, rlp_encoded_account, provider_factory)?; Ok(true) } @@ -781,7 +782,8 @@ where let nibbles = Nibbles::unpack(address); self.account_rlp_buf.clear(); trie_account.encode(&mut self.account_rlp_buf); - self.update_account_leaf(nibbles, self.account_rlp_buf.clone(), provider_factory)?; + let rlp_encoded_account = core::mem::take(&mut self.account_rlp_buf); + self.update_account_leaf(nibbles, rlp_encoded_account, provider_factory)?; Ok(true) }