From 90ae424e3c5e6c31e6196f2e3c84c65eff9b1977 Mon Sep 17 00:00:00 2001
From: Peter Zhang <peter@0g.ai>
Date: Wed, 19 Mar 2025 18:27:37 +0800
Subject: [PATCH] return nothing if tx of seq is pruned

---
 node/storage-async/src/lib.rs | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/node/storage-async/src/lib.rs b/node/storage-async/src/lib.rs
index b564f42..9160a84 100644
--- a/node/storage-async/src/lib.rs
+++ b/node/storage-async/src/lib.rs
@@ -67,8 +67,15 @@ impl Store {
 
     pub async fn get_tx_by_data_root(&self, data_root: &DataRoot) -> Result<Option<Transaction>> {
         let root = *data_root;
-        self.spawn(move |store| store.get_tx_by_data_root(&root))
-            .await
+        
+        let res = self.spawn(move |store| store.get_tx_by_data_root(&root))
+            .await?;
+        if let Some(tx) = res.clone() {
+            if self.store.check_tx_pruned(tx.seq)? {
+                return Ok(None);
+            }
+        }
+        Ok(res)
     }
 
     pub async fn get_config_decoded<K: AsRef<[u8]> + Send + Sync, T: Decode + Send + 'static>(