From c33f5ec8c41d9574a18b16c69af0832553941830 Mon Sep 17 00:00:00 2001 From: Fabio Di Fabio Date: Thu, 18 Jul 2024 12:43:27 +0200 Subject: [PATCH] Penalize invalid transient txs Signed-off-by: Fabio Di Fabio --- gradle.properties | 2 +- gradle/dist.gradle | 2 +- sequencer/build.gradle | 2 ++ .../LineaTransactionSelectionResult.java | 27 ++++++++++++------- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/gradle.properties b/gradle.properties index 22c1394c..06fa0a18 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ releaseVersion=0.1.4-test29 -besuVersion=24.6-develop-752aeff +besuVersion=27.0-fdf besuArtifactGroup=io.consensys.linea-besu distributionIdentifier=besu-sequencer-plugins distributionBaseUrl=https://artifacts.consensys.net/public/linea-besu/raw/names/linea-besu.tar.gz/versions/ diff --git a/gradle/dist.gradle b/gradle/dist.gradle index b879d53c..1d161e1a 100644 --- a/gradle/dist.gradle +++ b/gradle/dist.gradle @@ -27,7 +27,7 @@ tasks.register('javadocJar', Jar) { from javadoc.destinationDir } -def lineaBesuDistTar = new File(buildDir, rootProject.besuFilename) +def lineaBesuDistTar = new File(new File(buildDir, "tmp"), rootProject.besuFilename) tasks.register('copyLocalLineaBesu', Copy) { onlyIf { diff --git a/sequencer/build.gradle b/sequencer/build.gradle index 4a553358..e1a0a927 100644 --- a/sequencer/build.gradle +++ b/sequencer/build.gradle @@ -62,10 +62,12 @@ dependencies { implementation 'org.hibernate.validator:hibernate-validator' testImplementation "${besuArtifactGroup}:evm" + testImplementation "${besuArtifactGroup}:plugin-api" testImplementation "${besuArtifactGroup}:besu-datatypes" testImplementation "${besuArtifactGroup}.internal:core:${besuVersion}" testImplementation "${besuArtifactGroup}.internal:rlp:${besuVersion}" testImplementation "${besuArtifactGroup}.internal:core:${besuVersion}" + testImplementation "${besuArtifactGroup}.internal:algorithms:${besuVersion}" } configurations { diff --git a/sequencer/src/main/java/net/consensys/linea/sequencer/txselection/LineaTransactionSelectionResult.java b/sequencer/src/main/java/net/consensys/linea/sequencer/txselection/LineaTransactionSelectionResult.java index 8605dd5c..b3bbf931 100644 --- a/sequencer/src/main/java/net/consensys/linea/sequencer/txselection/LineaTransactionSelectionResult.java +++ b/sequencer/src/main/java/net/consensys/linea/sequencer/txselection/LineaTransactionSelectionResult.java @@ -18,22 +18,24 @@ public class LineaTransactionSelectionResult extends TransactionSelectionResult { private enum LineaStatus implements TransactionSelectionResult.Status { - BLOCK_CALLDATA_OVERFLOW(false, false), - BLOCK_MODULE_LINE_COUNT_FULL(true, false), - TX_GAS_EXCEEDS_USER_MAX_BLOCK_GAS(false, true), - TX_TOO_LARGE_FOR_REMAINING_USER_GAS(false, false), - TX_MODULE_LINE_COUNT_OVERFLOW(false, true), - TX_MODULE_LINE_COUNT_OVERFLOW_CACHED(false, true), - TX_UNPROFITABLE(false, false), - TX_UNPROFITABLE_UPFRONT(false, false), - TX_UNPROFITABLE_RETRY_LIMIT(false, false); + BLOCK_CALLDATA_OVERFLOW(false, false, false), + BLOCK_MODULE_LINE_COUNT_FULL(true, false, false), + TX_GAS_EXCEEDS_USER_MAX_BLOCK_GAS(false, true, true), + TX_TOO_LARGE_FOR_REMAINING_USER_GAS(false, false, true), + TX_MODULE_LINE_COUNT_OVERFLOW(false, true, true), + TX_MODULE_LINE_COUNT_OVERFLOW_CACHED(false, true, true), + TX_UNPROFITABLE(false, false, true), + TX_UNPROFITABLE_UPFRONT(false, false, true), + TX_UNPROFITABLE_RETRY_LIMIT(false, false, false); private final boolean stop; private final boolean discard; + private final boolean penalize; - LineaStatus(boolean stop, boolean discard) { + LineaStatus(boolean stop, boolean discard, boolean penalize) { this.stop = stop; this.discard = discard; + this.penalize = penalize; } @Override @@ -45,6 +47,11 @@ public boolean stop() { public boolean discard() { return discard; } + + @Override + public boolean penalize() { + return penalize; + } } protected LineaTransactionSelectionResult(LineaStatus status) {