From 61542a3e012b29563dd9632995dabdabca9f31ee Mon Sep 17 00:00:00 2001 From: Himess Date: Sat, 10 Jan 2026 23:37:02 +0300 Subject: [PATCH] refactor(trie): extract save_hashed_storages closure to function --- crates/optimism/trie/src/backfill.rs | 36 +++++++++++++++------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/crates/optimism/trie/src/backfill.rs b/crates/optimism/trie/src/backfill.rs index 5d7808bf7be..3d5ad26be96 100644 --- a/crates/optimism/trie/src/backfill.rs +++ b/crates/optimism/trie/src/backfill.rs @@ -197,6 +197,24 @@ async fn backfill< Ok(total_entries) } +/// Save hashed storages to storage. +async fn save_hashed_storages( + storage: &S, + entries: Vec<(B256, StorageEntry)>, +) -> Result<(), OpProofsStorageError> { + // Group entries by hashed address + let mut by_address: HashMap> = HashMap::default(); + for (address, entry) in entries { + by_address.entry(address).or_default().push((entry.key, entry.value)); + } + + // Store each address's storage entries + for (address, storages) in by_address { + storage.store_hashed_storages(address, storages).await?; + } + Ok(()) +} + impl<'a, Tx: DbTx, S: OpProofsStore + Send> BackfillJob<'a, Tx, S> { /// Create a new backfill job. pub const fn new(storage: S, tx: &'a Tx) -> Self { @@ -239,28 +257,12 @@ impl<'a, Tx: DbTx, S: OpProofsStore + Send> BackfillJob<'a, Tx, S> { let source = HashedStoragesIter::new(start_cursor); let storage = &self.storage; - let save_fn = - async |entries: Vec<(B256, StorageEntry)>| -> Result<(), OpProofsStorageError> { - // Group entries by hashed address - let mut by_address: HashMap> = - HashMap::default(); - for (address, entry) in entries { - by_address.entry(address).or_default().push((entry.key, entry.value)); - } - - // Store each address's storage entries - for (address, storages) in by_address { - storage.store_hashed_storages(address, storages).await?; - } - Ok(()) - }; - backfill( "hashed storage", source, BACKFILL_STORAGE_THRESHOLD, BACKFILL_LOG_THRESHOLD, - save_fn, + |entries| save_hashed_storages(storage, entries), ) .await?;