Update arithmetization to beta-v3.1-rc6 and adapt Sequencer to the new version (#1194)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
This commit is contained in:
Fabio Di Fabio
2025-06-19 11:52:47 +02:00
committed by GitHub
parent c21b6d3d97
commit 0c508e3109
4 changed files with 37 additions and 19 deletions

View File

@@ -25,6 +25,7 @@ import net.consensys.linea.config.LineaRpcCliOptions;
import net.consensys.linea.config.LineaRpcConfiguration; import net.consensys.linea.config.LineaRpcConfiguration;
import net.consensys.linea.config.LineaTracerCliOptions; import net.consensys.linea.config.LineaTracerCliOptions;
import net.consensys.linea.config.LineaTracerConfiguration; import net.consensys.linea.config.LineaTracerConfiguration;
import net.consensys.linea.config.LineaTracerLineLimitConfiguration;
import net.consensys.linea.config.LineaTransactionPoolValidatorCliOptions; import net.consensys.linea.config.LineaTransactionPoolValidatorCliOptions;
import net.consensys.linea.config.LineaTransactionPoolValidatorConfiguration; import net.consensys.linea.config.LineaTransactionPoolValidatorConfiguration;
import net.consensys.linea.config.LineaTransactionSelectorCliOptions; 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.config.LineaTransactionValidatorConfiguration;
import net.consensys.linea.plugins.AbstractLineaSharedOptionsPlugin; import net.consensys.linea.plugins.AbstractLineaSharedOptionsPlugin;
import net.consensys.linea.plugins.LineaOptionsPluginConfiguration; 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 net.consensys.linea.utils.Compressor;
import org.hyperledger.besu.plugin.ServiceManager; import org.hyperledger.besu.plugin.ServiceManager;
import org.hyperledger.besu.plugin.services.BesuConfiguration; import org.hyperledger.besu.plugin.services.BesuConfiguration;
@@ -124,8 +127,16 @@ public abstract class AbstractLineaSharedPrivateOptionsPlugin
} }
public LineaTracerConfiguration tracerConfiguration() { public LineaTracerConfiguration tracerConfiguration() {
return (LineaTracerConfiguration) var tracerLineLimitConfig =
getConfigurationByKey(LineaTracerCliOptions.CONFIG_KEY).optionsConfig(); (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() { public LineaRejectedTxReportingConfiguration rejectedTxReportingConfiguration() {

View File

@@ -14,12 +14,10 @@ import net.consensys.linea.sequencer.modulelimit.ModuleLineCountValidator;
import picocli.CommandLine; import picocli.CommandLine;
public class LineaTracerCliOptions implements LineaCliOptions { 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 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 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( @CommandLine.Option(
names = {MODULE_LIMIT_FILE_PATH}, 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})") "Path to the toml file containing the module limits (default: ${DEFAULT-VALUE})")
private String moduleLimitFilePath = DEFAULT_MODULE_LIMIT_FILE_PATH; private String moduleLimitFilePath = DEFAULT_MODULE_LIMIT_FILE_PATH;
@CommandLine.Option(
names = {LIMITLESS_ENABLED},
hidden = true,
paramLabel = "<BOOLEAN>",
description =
"If the sequencer needs to use or not the limitless prover (default: ${DEFAULT-VALUE})")
private boolean limitlessEnabled = DEFAULT_LIMITLESS_ENABLED;
private LineaTracerCliOptions() {} private LineaTracerCliOptions() {}
/** /**
@@ -57,7 +47,6 @@ public class LineaTracerCliOptions implements LineaCliOptions {
public static LineaTracerCliOptions fromConfig(final LineaTracerConfiguration config) { public static LineaTracerCliOptions fromConfig(final LineaTracerConfiguration config) {
final LineaTracerCliOptions options = create(); final LineaTracerCliOptions options = create();
options.moduleLimitFilePath = config.moduleLimitsFilePath(); options.moduleLimitFilePath = config.moduleLimitsFilePath();
options.limitlessEnabled = config.isLimitless();
return options; return options;
} }
@@ -67,11 +56,10 @@ public class LineaTracerCliOptions implements LineaCliOptions {
* @return the Linea factory configuration * @return the Linea factory configuration
*/ */
@Override @Override
public LineaTracerConfiguration toDomainObject() { public LineaTracerLineLimitConfiguration toDomainObject() {
return LineaTracerConfiguration.builder() return LineaTracerLineLimitConfiguration.builder()
.moduleLimitsFilePath(moduleLimitFilePath) .moduleLimitsFilePath(moduleLimitFilePath)
.moduleLimitsMap(ModuleLineCountValidator.createLimitModules(moduleLimitFilePath)) .moduleLimitsMap(ModuleLineCountValidator.createLimitModules(moduleLimitFilePath))
.isLimitless(limitlessEnabled)
.build(); .build();
} }
@@ -79,7 +67,6 @@ public class LineaTracerCliOptions implements LineaCliOptions {
public String toString() { public String toString() {
return MoreObjects.toStringHelper(this) return MoreObjects.toStringHelper(this)
.add(MODULE_LIMIT_FILE_PATH, moduleLimitFilePath) .add(MODULE_LIMIT_FILE_PATH, moduleLimitFilePath)
.add(LIMITLESS_ENABLED, limitlessEnabled)
.toString(); .toString();
} }
} }

View File

@@ -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<String, Integer> moduleLimitsMap)
implements LineaOptionsConfiguration {}

View File

@@ -26,7 +26,7 @@ wiremock = "3.13.0"
logcaptor = "2.11.0" logcaptor = "2.11.0"
# Runtime # Runtime
arithmetization="beta-v3.1-rc5" arithmetization="beta-v3.1-rc6"
besu = "25.6.0-linea1" besu = "25.6.0-linea1"
blobCompressor = "1.2.2" blobCompressor = "1.2.2"
blobShnarfCalculator = "1.2.0" blobShnarfCalculator = "1.2.0"