From ea27696aeed8e76cfb82492f6f3665948d766fe5 Mon Sep 17 00:00:00 2001
From: PG Herveou <pgherveou@gmail.com>
Date: Mon, 20 Jan 2025 12:47:29 +0100
Subject: [PATCH] [pallet-revive] eth-rpc error logging (#7251)

Log error instead of failing with an error when block processing fails

---------

Co-authored-by: command-bot <>
---
 .../runtimes/assets/asset-hub-westend/src/lib.rs           | 2 +-
 prdoc/pr_7251.prdoc                                        | 7 +++++++
 substrate/frame/revive/rpc/src/client.rs                   | 4 +++-
 3 files changed, 11 insertions(+), 2 deletions(-)
 create mode 100644 prdoc/pr_7251.prdoc

diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs
index 41f29fe2c56..f56c4568f2d 100644
--- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs
+++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs
@@ -129,7 +129,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
 	spec_name: alloc::borrow::Cow::Borrowed("westmint"),
 	impl_name: alloc::borrow::Cow::Borrowed("westmint"),
 	authoring_version: 1,
-	spec_version: 1_017_004,
+	spec_version: 1_017_005,
 	impl_version: 0,
 	apis: RUNTIME_API_VERSIONS,
 	transaction_version: 16,
diff --git a/prdoc/pr_7251.prdoc b/prdoc/pr_7251.prdoc
new file mode 100644
index 00000000000..98e371dc940
--- /dev/null
+++ b/prdoc/pr_7251.prdoc
@@ -0,0 +1,7 @@
+title: '[pallet-revive] eth-rpc error logging'
+doc:
+- audience: Runtime Dev
+  description: Log error instead of failing with an error when block processing fails
+crates:
+- name: pallet-revive-eth-rpc
+  bump: minor
diff --git a/substrate/frame/revive/rpc/src/client.rs b/substrate/frame/revive/rpc/src/client.rs
index c61c5871f76..a5a022f9722 100644
--- a/substrate/frame/revive/rpc/src/client.rs
+++ b/substrate/frame/revive/rpc/src/client.rs
@@ -310,7 +310,9 @@ impl Client {
 			};
 
 			log::debug!(target: LOG_TARGET, "Pushing block: {}", block.number());
-			callback(block).await?;
+			if let Err(err) = callback(block).await {
+				log::error!(target: LOG_TARGET, "Failed to process block: {err:?}");
+			}
 		}
 
 		log::info!(target: LOG_TARGET, "Block subscription ended");
-- 
GitLab