diff --git a/besu/src/main/java/org/hyperledger/besu/cli/config/NetworkName.java b/besu/src/main/java/org/hyperledger/besu/cli/config/NetworkName.java index d7215bf15c3..3295ad738a6 100644 --- a/besu/src/main/java/org/hyperledger/besu/cli/config/NetworkName.java +++ b/besu/src/main/java/org/hyperledger/besu/cli/config/NetworkName.java @@ -41,7 +41,7 @@ public enum NetworkName { KOTTI("/kotti.json", BigInteger.valueOf(6)), /** Mordor network name. */ MORDOR("/mordor.json", BigInteger.valueOf(7)), - + /** Linea l2 network name */ LINEA("/linea.json", BigInteger.valueOf(59140), false); private final String genesisFile; diff --git a/besu/src/main/java/org/hyperledger/besu/cli/options/unstable/LineaOptions.java b/besu/src/main/java/org/hyperledger/besu/cli/options/unstable/LineaOptions.java index 6316c6a166a..1a3544f0f24 100644 --- a/besu/src/main/java/org/hyperledger/besu/cli/options/unstable/LineaOptions.java +++ b/besu/src/main/java/org/hyperledger/besu/cli/options/unstable/LineaOptions.java @@ -9,11 +9,18 @@ import picocli.CommandLine; +/** + * Linea CLI options. + */ public class LineaOptions implements CLIOptions { private static final String TRANSACTION_MAX_CALLDATA_SIZE = "--Xtransaction-max-calldata-size"; private static final String BLOCK_MAX_CALLDATA_SIZE = "--Xblock-max-calldata-size"; - ; + /** + * Create linea options. + * + * @return the linea options + */ public static LineaOptions create() { return new LineaOptions(); } @@ -34,10 +41,20 @@ public static LineaOptions create() { "If specified, overrides the max size in bytes of the sum of all transaction calldata fields contained in a block, specified by the current hard fork") private Integer blockMaxCalldataSize; + /** + * Linea max transaction calldata size. + * + * @return optional max transaction calldata size. + */ public Optional getTransactionMaxCalldataSize() { return Optional.ofNullable(transactionMaxCalldataSize); } + /** + * Linea max block calldata size. + * + * @return optional max block calldata size. + */ public Optional getBlockMaxCalldataSize() { return Optional.ofNullable(blockMaxCalldataSize); } diff --git a/besu/src/main/java/org/hyperledger/besu/controller/BesuController.java b/besu/src/main/java/org/hyperledger/besu/controller/BesuController.java index 5ab6de2b2e0..bd3e6215fdc 100644 --- a/besu/src/main/java/org/hyperledger/besu/controller/BesuController.java +++ b/besu/src/main/java/org/hyperledger/besu/controller/BesuController.java @@ -284,6 +284,11 @@ public PluginServiceFactory getAdditionalPluginServices() { return additionalPluginServices; } + /** + * Gets linea-specific parameters + * + * @return configured LineaParameters + */ public LineaParameters getLineaParameters() { return lineaParameters; } diff --git a/besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java b/besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java index c06dc1beb47..1f92b2abad6 100644 --- a/besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java +++ b/besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java @@ -139,7 +139,7 @@ public abstract class BesuControllerBuilder implements MiningParameterOverrides protected ObservableMetricsSystem metricsSystem; /** The Privacy parameters. */ protected PrivacyParameters privacyParameters; - + /** The Linea parameters. */ protected LineaParameters lineaParameters = LineaParameters.DEFAULT; /** The Pki block creation configuration. */ protected Optional pkiBlockCreationConfiguration = @@ -1106,6 +1106,11 @@ protected List createPeerValidators(final ProtocolSchedule protoc protected abstract PluginServiceFactory createAdditionalPluginServices( final Blockchain blockchain, final ProtocolContext protocolContext); + /** + * Setter for LineaParameters . + * @param lineaParameters linea params to add to controller builder. + * @return the controller builder. + */ public BesuControllerBuilder lineaParameters(final LineaParameters lineaParameters) { this.lineaParameters = lineaParameters; return this; diff --git a/config/src/main/java/org/hyperledger/besu/config/GenesisConfigOptions.java b/config/src/main/java/org/hyperledger/besu/config/GenesisConfigOptions.java index 2b28bf04c16..8ee949ce60a 100644 --- a/config/src/main/java/org/hyperledger/besu/config/GenesisConfigOptions.java +++ b/config/src/main/java/org/hyperledger/besu/config/GenesisConfigOptions.java @@ -220,6 +220,11 @@ default boolean isConsensusMigration() { */ OptionalLong getMergeNetSplitBlockNumber(); + /** + * Gets linea block number. + * + * @return the merge net split block number + */ OptionalLong getLineaBlockNumber(); /** * Gets shanghai time. diff --git a/config/src/main/java/org/hyperledger/besu/config/StubGenesisConfigOptions.java b/config/src/main/java/org/hyperledger/besu/config/StubGenesisConfigOptions.java index f99e20223d1..736a915da23 100644 --- a/config/src/main/java/org/hyperledger/besu/config/StubGenesisConfigOptions.java +++ b/config/src/main/java/org/hyperledger/besu/config/StubGenesisConfigOptions.java @@ -585,6 +585,12 @@ public StubGenesisConfigOptions mergeNetSplitBlock(final long blockNumber) { return this; } + /** + * Linea stub genesis config options. + * + * @param blockNumber the block number + * @return the stub genesis config options + */ public StubGenesisConfigOptions lineaBlock(final long blockNumber) { lineaBlockNumber = OptionalLong.of(blockNumber); return this; diff --git a/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/MergeProtocolSchedule.java b/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/MergeProtocolSchedule.java index d0d6907ab12..f6b7738aaa9 100644 --- a/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/MergeProtocolSchedule.java +++ b/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/MergeProtocolSchedule.java @@ -57,6 +57,7 @@ public static ProtocolSchedule create( * @param config the config * @param privacyParameters the privacy parameters * @param isRevertReasonEnabled the is revert reason enabled + * @param lineaParameters parameters for linea * @return the protocol schedule */ public static ProtocolSchedule create(