diff --git a/sequencer/src/main/java/net/consensys/linea/sequencer/txpoolvalidation/validators/SimulationValidator.java b/sequencer/src/main/java/net/consensys/linea/sequencer/txpoolvalidation/validators/SimulationValidator.java index 503d9ef6..24c0fb63 100644 --- a/sequencer/src/main/java/net/consensys/linea/sequencer/txpoolvalidation/validators/SimulationValidator.java +++ b/sequencer/src/main/java/net/consensys/linea/sequencer/txpoolvalidation/validators/SimulationValidator.java @@ -99,21 +99,7 @@ public Optional validateTransaction( if (moduleLimitResult.getResult() != ModuleLineCountValidator.ModuleLineCountResult.VALID) { final String reason = handleModuleOverLimit(transaction, moduleLimitResult); - - // Report rejected transactions to the JSON-RPC manager - rejectedTxJsonRpcManager.ifPresent( - jsonRpcManager -> { - final String jsonRpcCall = - JsonRpcRequestBuilder.generateSaveRejectedTxJsonRpc( - jsonRpcManager.getNodeType(), - transaction, - Instant.now(), - Optional.empty(), // block number is not available - reason, - List.of()); - jsonRpcManager.submitNewJsonRpcCall(jsonRpcCall); - }); - + reportRejectedTransaction(transaction, reason); return Optional.of(reason); } @@ -124,19 +110,7 @@ public Optional validateTransaction( "Invalid transaction" + simulationResult.getInvalidReason().map(ir -> ": " + ir).orElse(""); log.debug(errMsg); - // Report rejected transactions to the JSON-RPC manager - rejectedTxJsonRpcManager.ifPresent( - jsonRpcManager -> { - final String jsonRpcCall = - JsonRpcRequestBuilder.generateSaveRejectedTxJsonRpc( - jsonRpcManager.getNodeType(), - transaction, - Instant.now(), - Optional.empty(), // block number is not available - errMsg, - List.of()); - jsonRpcManager.submitNewJsonRpcCall(jsonRpcCall); - }); + reportRejectedTransaction(transaction, errMsg); return Optional.of(errMsg); } if (!simulationResult.isSuccessful()) { @@ -147,19 +121,7 @@ public Optional validateTransaction( .map(rr -> ": " + rr.toHexString()) .orElse(""); log.debug(errMsg); - // Report rejected transactions to the JSON-RPC manager - rejectedTxJsonRpcManager.ifPresent( - jsonRpcManager -> { - final String jsonRpcCall = - JsonRpcRequestBuilder.generateSaveRejectedTxJsonRpc( - jsonRpcManager.getNodeType(), - transaction, - Instant.now(), - Optional.empty(), // block number is not available - errMsg, - List.of()); - jsonRpcManager.submitNewJsonRpcCall(jsonRpcCall); - }); + reportRejectedTransaction(transaction, errMsg); return Optional.of(errMsg); } } @@ -176,6 +138,21 @@ public Optional validateTransaction( return Optional.empty(); } + private void reportRejectedTransaction(final Transaction transaction, final String reason) { + rejectedTxJsonRpcManager.ifPresent( + jsonRpcManager -> { + final String jsonRpcCall = + JsonRpcRequestBuilder.generateSaveRejectedTxJsonRpc( + jsonRpcManager.getNodeType(), + transaction, + Instant.now(), + Optional.empty(), // block number is not available + reason, + List.of()); + jsonRpcManager.submitNewJsonRpcCall(jsonRpcCall); + }); + } + private void logSimulationResult( final Transaction transaction, final boolean isLocal,