From 66bfbf45b4516f2a42c341b9375c817949c3a3a1 Mon Sep 17 00:00:00 2001
From: dharjeezy <dharjeezy@gmail.com>
Date: Mon, 30 Dec 2024 23:23:47 +0100
Subject: [PATCH] arc in transaction param for pool

---
 substrate/client/network/transactions/src/config.rs | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/substrate/client/network/transactions/src/config.rs b/substrate/client/network/transactions/src/config.rs
index 239b76b5148..7c49cfa8d43 100644
--- a/substrate/client/network/transactions/src/config.rs
+++ b/substrate/client/network/transactions/src/config.rs
@@ -23,6 +23,7 @@ use sc_network::MAX_RESPONSE_SIZE;
 use sc_network_common::ExHashT;
 use sp_runtime::traits::Block as BlockT;
 use std::{collections::HashMap, future::Future, pin::Pin, time};
+use std::sync::Arc;
 
 /// Interval at which we propagate transactions;
 pub(crate) const PROPAGATE_TIMEOUT: time::Duration = time::Duration::from_millis(2900);
@@ -59,11 +60,11 @@ pub trait TransactionPool<H: ExHashT, B: BlockT>: Send + Sync {
 	/// Get transactions from the pool that are ready to be propagated.
 	fn transactions(&self) -> Vec<(H, B::Extrinsic)>;
 	/// Get hash of transaction.
-	fn hash_of(&self, transaction: &B::Extrinsic) -> H;
+	fn hash_of(&self, transaction: &Arc<B::Extrinsic>) -> H;
 	/// Import a transaction into the pool.
 	///
 	/// This will return future.
-	fn import(&self, transaction: B::Extrinsic) -> TransactionImportFuture;
+	fn import(&self, transaction: Arc<B::Extrinsic>) -> TransactionImportFuture;
 	/// Notify the pool about transactions broadcast.
 	fn on_broadcasted(&self, propagations: HashMap<H, Vec<String>>);
 	/// Get transaction by hash.
-- 
GitLab