From 3fa5ba5d2bbe7f2ec6894207455409dfe1ad8df0 Mon Sep 17 00:00:00 2001 From: Ben Adams Date: Tue, 26 Dec 2023 08:50:53 +0000 Subject: [PATCH] Remove Duplicate call to TryGetPendingTransaction in RPC (#6420) --- src/Nethermind/Nethermind.Facade/BlockchainBridge.cs | 4 ++-- src/Nethermind/Nethermind.Facade/IBlockchainBridge.cs | 2 +- src/Nethermind/Nethermind.JsonRpc/Modules/Eth/EthRpcModule.cs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Nethermind/Nethermind.Facade/BlockchainBridge.cs b/src/Nethermind/Nethermind.Facade/BlockchainBridge.cs index 12346222d54..107bfc8df27 100644 --- a/src/Nethermind/Nethermind.Facade/BlockchainBridge.cs +++ b/src/Nethermind/Nethermind.Facade/BlockchainBridge.cs @@ -103,7 +103,7 @@ public Block? HeadBlock return (null, null, 0); } - public (TxReceipt? Receipt, Transaction Transaction, UInt256? baseFee) GetTransaction(Hash256 txHash) + public (TxReceipt? Receipt, Transaction Transaction, UInt256? baseFee) GetTransaction(Hash256 txHash, bool checkTxnPool = true) { Hash256 blockHash = _receiptFinder.FindBlockHash(txHash); if (blockHash is not null) @@ -113,7 +113,7 @@ public Block? HeadBlock return (txReceipt, block?.Transactions[txReceipt.Index], block?.BaseFeePerGas); } - if (_txPool.TryGetPendingTransaction(txHash, out Transaction? transaction)) + if (checkTxnPool && _txPool.TryGetPendingTransaction(txHash, out Transaction? transaction)) { return (null, transaction, null); } diff --git a/src/Nethermind/Nethermind.Facade/IBlockchainBridge.cs b/src/Nethermind/Nethermind.Facade/IBlockchainBridge.cs index f08d4dff8ab..aadb2440116 100644 --- a/src/Nethermind/Nethermind.Facade/IBlockchainBridge.cs +++ b/src/Nethermind/Nethermind.Facade/IBlockchainBridge.cs @@ -23,7 +23,7 @@ public interface IBlockchainBridge : ILogFinder Address? RecoverTxSender(Transaction tx); TxReceipt GetReceipt(Hash256 txHash); (TxReceipt? Receipt, TxGasInfo? GasInfo, int LogIndexStart) GetReceiptAndGasInfo(Hash256 txHash); - (TxReceipt? Receipt, Transaction Transaction, UInt256? baseFee) GetTransaction(Hash256 txHash); + (TxReceipt? Receipt, Transaction Transaction, UInt256? baseFee) GetTransaction(Hash256 txHash, bool checkTxnPool = true); BlockchainBridge.CallOutput Call(BlockHeader header, Transaction tx, CancellationToken cancellationToken); BlockchainBridge.CallOutput EstimateGas(BlockHeader header, Transaction tx, CancellationToken cancellationToken); BlockchainBridge.CallOutput CreateAccessList(BlockHeader header, Transaction tx, CancellationToken cancellationToken, bool optimize); diff --git a/src/Nethermind/Nethermind.JsonRpc/Modules/Eth/EthRpcModule.cs b/src/Nethermind/Nethermind.JsonRpc/Modules/Eth/EthRpcModule.cs index afd4212cd7d..792aba88345 100644 --- a/src/Nethermind/Nethermind.JsonRpc/Modules/Eth/EthRpcModule.cs +++ b/src/Nethermind/Nethermind.JsonRpc/Modules/Eth/EthRpcModule.cs @@ -388,7 +388,7 @@ public Task> eth_getTransactionByHash(Hash256 t TxReceipt receipt = null; // note that if transaction is pending then for sure no receipt is known if (transaction is null) { - (receipt, transaction, baseFee) = _blockchainBridge.GetTransaction(transactionHash); + (receipt, transaction, baseFee) = _blockchainBridge.GetTransaction(transactionHash, checkTxnPool: false); if (transaction is null) { return Task.FromResult(ResultWrapper.Success(null));