diff --git a/besu-plugins/linea-sequencer/sequencer/src/main/java/net/consensys/linea/AbstractLineaSharedPrivateOptionsPlugin.java b/besu-plugins/linea-sequencer/sequencer/src/main/java/net/consensys/linea/AbstractLineaSharedPrivateOptionsPlugin.java index 2a6e8597..c2e0abbf 100644 --- a/besu-plugins/linea-sequencer/sequencer/src/main/java/net/consensys/linea/AbstractLineaSharedPrivateOptionsPlugin.java +++ b/besu-plugins/linea-sequencer/sequencer/src/main/java/net/consensys/linea/AbstractLineaSharedPrivateOptionsPlugin.java @@ -25,6 +25,7 @@ import net.consensys.linea.config.LineaRpcCliOptions; import net.consensys.linea.config.LineaRpcConfiguration; import net.consensys.linea.config.LineaTracerCliOptions; import net.consensys.linea.config.LineaTracerConfiguration; +import net.consensys.linea.config.LineaTracerLineLimitConfiguration; import net.consensys.linea.config.LineaTransactionPoolValidatorCliOptions; import net.consensys.linea.config.LineaTransactionPoolValidatorConfiguration; import net.consensys.linea.config.LineaTransactionSelectorCliOptions; @@ -33,6 +34,8 @@ import net.consensys.linea.config.LineaTransactionValidatorCliOptions; import net.consensys.linea.config.LineaTransactionValidatorConfiguration; import net.consensys.linea.plugins.AbstractLineaSharedOptionsPlugin; import net.consensys.linea.plugins.LineaOptionsPluginConfiguration; +import net.consensys.linea.plugins.config.LineaTracerSharedCliOptions; +import net.consensys.linea.plugins.config.LineaTracerSharedConfiguration; import net.consensys.linea.utils.Compressor; import org.hyperledger.besu.plugin.ServiceManager; import org.hyperledger.besu.plugin.services.BesuConfiguration; @@ -124,8 +127,16 @@ public abstract class AbstractLineaSharedPrivateOptionsPlugin } public LineaTracerConfiguration tracerConfiguration() { - return (LineaTracerConfiguration) - getConfigurationByKey(LineaTracerCliOptions.CONFIG_KEY).optionsConfig(); + var tracerLineLimitConfig = + (LineaTracerLineLimitConfiguration) + getConfigurationByKey(LineaTracerCliOptions.CONFIG_KEY).optionsConfig(); + var tracerSharedConfig = + (LineaTracerSharedConfiguration) + getConfigurationByKey(LineaTracerSharedCliOptions.CONFIG_KEY).optionsConfig(); + return new LineaTracerConfiguration( + tracerLineLimitConfig.moduleLimitsFilePath(), + tracerLineLimitConfig.moduleLimitsMap(), + tracerSharedConfig.isLimitless()); } public LineaRejectedTxReportingConfiguration rejectedTxReportingConfiguration() { diff --git a/besu-plugins/linea-sequencer/sequencer/src/main/java/net/consensys/linea/config/LineaTracerCliOptions.java b/besu-plugins/linea-sequencer/sequencer/src/main/java/net/consensys/linea/config/LineaTracerCliOptions.java index ab8aea4a..a45ddd20 100644 --- a/besu-plugins/linea-sequencer/sequencer/src/main/java/net/consensys/linea/config/LineaTracerCliOptions.java +++ b/besu-plugins/linea-sequencer/sequencer/src/main/java/net/consensys/linea/config/LineaTracerCliOptions.java @@ -14,12 +14,10 @@ import net.consensys.linea.sequencer.modulelimit.ModuleLineCountValidator; import picocli.CommandLine; public class LineaTracerCliOptions implements LineaCliOptions { - public static final String CONFIG_KEY = "tracer-config"; + public static final String CONFIG_KEY = "tracer-sequencer-config"; public static final String MODULE_LIMIT_FILE_PATH = "--plugin-linea-module-limit-file-path"; public static final String DEFAULT_MODULE_LIMIT_FILE_PATH = "moduleLimitFile.toml"; - public static final String LIMITLESS_ENABLED = "--plugin-linea-limitless-enabled"; - public static final boolean DEFAULT_LIMITLESS_ENABLED = false; @CommandLine.Option( names = {MODULE_LIMIT_FILE_PATH}, @@ -29,14 +27,6 @@ public class LineaTracerCliOptions implements LineaCliOptions { "Path to the toml file containing the module limits (default: ${DEFAULT-VALUE})") private String moduleLimitFilePath = DEFAULT_MODULE_LIMIT_FILE_PATH; - @CommandLine.Option( - names = {LIMITLESS_ENABLED}, - hidden = true, - paramLabel = "", - description = - "If the sequencer needs to use or not the limitless prover (default: ${DEFAULT-VALUE})") - private boolean limitlessEnabled = DEFAULT_LIMITLESS_ENABLED; - private LineaTracerCliOptions() {} /** @@ -57,7 +47,6 @@ public class LineaTracerCliOptions implements LineaCliOptions { public static LineaTracerCliOptions fromConfig(final LineaTracerConfiguration config) { final LineaTracerCliOptions options = create(); options.moduleLimitFilePath = config.moduleLimitsFilePath(); - options.limitlessEnabled = config.isLimitless(); return options; } @@ -67,11 +56,10 @@ public class LineaTracerCliOptions implements LineaCliOptions { * @return the Linea factory configuration */ @Override - public LineaTracerConfiguration toDomainObject() { - return LineaTracerConfiguration.builder() + public LineaTracerLineLimitConfiguration toDomainObject() { + return LineaTracerLineLimitConfiguration.builder() .moduleLimitsFilePath(moduleLimitFilePath) .moduleLimitsMap(ModuleLineCountValidator.createLimitModules(moduleLimitFilePath)) - .isLimitless(limitlessEnabled) .build(); } @@ -79,7 +67,6 @@ public class LineaTracerCliOptions implements LineaCliOptions { public String toString() { return MoreObjects.toStringHelper(this) .add(MODULE_LIMIT_FILE_PATH, moduleLimitFilePath) - .add(LIMITLESS_ENABLED, limitlessEnabled) .toString(); } } diff --git a/besu-plugins/linea-sequencer/sequencer/src/main/java/net/consensys/linea/config/LineaTracerLineLimitConfiguration.java b/besu-plugins/linea-sequencer/sequencer/src/main/java/net/consensys/linea/config/LineaTracerLineLimitConfiguration.java new file mode 100644 index 00000000..6935f7cd --- /dev/null +++ b/besu-plugins/linea-sequencer/sequencer/src/main/java/net/consensys/linea/config/LineaTracerLineLimitConfiguration.java @@ -0,0 +1,20 @@ +/* + * Copyright Consensys Software Inc. + * + * This file is dual-licensed under either the MIT license or Apache License 2.0. + * See the LICENSE-MIT and LICENSE-APACHE files in the repository root for details. + * + * SPDX-License-Identifier: MIT OR Apache-2.0 + */ + +package net.consensys.linea.config; + +import java.util.Map; +import lombok.Builder; +import net.consensys.linea.plugins.LineaOptionsConfiguration; + +/** The Linea tracer line limit configuration. */ +@Builder(toBuilder = true) +public record LineaTracerLineLimitConfiguration( + String moduleLimitsFilePath, Map moduleLimitsMap) + implements LineaOptionsConfiguration {} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e052d86b..6e1d34fa 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -26,7 +26,7 @@ wiremock = "3.13.0" logcaptor = "2.11.0" # Runtime -arithmetization="beta-v3.1-rc5" +arithmetization="beta-v3.1-rc6" besu = "25.6.0-linea1" blobCompressor = "1.2.2" blobShnarfCalculator = "1.2.0"