Procházet zdrojové kódy

properly account for undefined requests (#2902)

Jayant Krishnamurthy před 3 měsíci
rodič
revize
e869010e05
3 změnil soubory, kde provedl 13 přidání a 9 odebrání
  1. 1 1
      Cargo.lock
  2. 1 1
      apps/fortuna/Cargo.toml
  3. 11 7
      apps/fortuna/src/chain/ethereum.rs

+ 1 - 1
Cargo.lock

@@ -3071,7 +3071,7 @@ dependencies = [
 
 [[package]]
 name = "fortuna"
-version = "8.2.3"
+version = "8.2.4"
 dependencies = [
  "anyhow",
  "axum 0.6.20",

+ 1 - 1
apps/fortuna/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "fortuna"
-version = "8.2.3"
+version = "8.2.4"
 edition = "2021"
 
 [lib]

+ 11 - 7
apps/fortuna/src/chain/ethereum.rs

@@ -274,13 +274,17 @@ impl<T: JsonRpcClient + 'static> EntropyReader for PythRandom<Provider<T>> {
             .get_request_v2(provider_address, sequence_number)
             .call()
             .await?;
-        Ok(Some(reader::Request {
-            provider: request.provider,
-            sequence_number: request.sequence_number,
-            block_number: request.block_number,
-            use_blockhash: request.use_blockhash,
-            callback_status: reader::RequestCallbackStatus::try_from(request.callback_status)?,
-        }))
+        if request.sequence_number == 0 {
+            Ok(None)
+        } else {
+            Ok(Some(reader::Request {
+                provider: request.provider,
+                sequence_number: request.sequence_number,
+                block_number: request.block_number,
+                use_blockhash: request.use_blockhash,
+                callback_status: reader::RequestCallbackStatus::try_from(request.callback_status)?,
+            }))
+        }
     }
 
     async fn get_block_number(&self, confirmed_block_status: BlockStatus) -> Result<BlockNumber> {