diff --git a/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/EpochTransitionBenchmark.java b/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/EpochTransitionBenchmark.java index 3da21780a53..9d9d17c550f 100644 --- a/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/EpochTransitionBenchmark.java +++ b/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/EpochTransitionBenchmark.java @@ -32,7 +32,7 @@ import org.openjdk.jmh.annotations.Warmup; import org.openjdk.jmh.infra.Blackhole; import tech.pegasys.teku.benchmarks.gen.BlockIO; -import tech.pegasys.teku.benchmarks.gen.BlsKeyPairIO; +import tech.pegasys.teku.benchmarks.gen.KeyFileGenerator; import tech.pegasys.teku.benchmarks.util.CustomRunner; import tech.pegasys.teku.bls.BLSKeyPair; import tech.pegasys.teku.bls.BLSSignatureVerifier; @@ -102,11 +102,8 @@ public void init() throws Exception { + "_validators_" + validatorsCount + ".ssz.gz"; - String keysFile = "/bls-key-pairs/bls-key-pairs-400k-seed-0.txt.gz"; - System.out.println("Generating keypairs from " + keysFile); - List validatorKeys = - BlsKeyPairIO.createReaderForResource(keysFile).readAll(validatorsCount); + final List validatorKeys = KeyFileGenerator.readValidatorKeys(validatorsCount); final BlockImportNotifications blockImportNotifications = mock(BlockImportNotifications.class); epochProcessor = spec.getGenesisSpec().getEpochProcessor(); diff --git a/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/ProcessSyncAggregateBenchmark.java b/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/ProcessSyncAggregateBenchmark.java index c07387be96f..a406d14b150 100644 --- a/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/ProcessSyncAggregateBenchmark.java +++ b/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/ProcessSyncAggregateBenchmark.java @@ -29,8 +29,7 @@ import org.openjdk.jmh.annotations.State; import org.openjdk.jmh.annotations.Threads; import org.openjdk.jmh.annotations.Warmup; -import tech.pegasys.teku.benchmarks.gen.BlsKeyPairIO; -import tech.pegasys.teku.benchmarks.gen.BlsKeyPairIO.Reader; +import tech.pegasys.teku.benchmarks.gen.KeyFileGenerator; import tech.pegasys.teku.bls.BLSKeyPair; import tech.pegasys.teku.bls.BLSSignature; import tech.pegasys.teku.bls.BLSSignatureVerifier; @@ -71,13 +70,8 @@ public void init() throws Exception { + "_validators_" + validatorsCount + ".ssz.gz"; - String keysFile = "/bls-key-pairs/bls-key-pairs-400k-seed-0.txt.gz"; - System.out.println("Generating keypairs from " + keysFile); - List validatorKeys; - try (final Reader reader = BlsKeyPairIO.createReaderForResource(keysFile)) { - validatorKeys = reader.readAll(validatorsCount); - } + final List validatorKeys = KeyFileGenerator.readValidatorKeys(validatorsCount); final DataStructureUtil dataStructureUtil = new DataStructureUtil(spec); state = diff --git a/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/ProfilingRun.java b/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/ProfilingRun.java index e9a24e8df28..0f54cd54644 100644 --- a/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/ProfilingRun.java +++ b/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/ProfilingRun.java @@ -26,7 +26,7 @@ import org.junit.jupiter.api.Test; import tech.pegasys.teku.benchmarks.gen.BlockIO; import tech.pegasys.teku.benchmarks.gen.BlockIO.Reader; -import tech.pegasys.teku.benchmarks.gen.BlsKeyPairIO; +import tech.pegasys.teku.benchmarks.gen.KeyFileGenerator; import tech.pegasys.teku.bls.BLSKeyPair; import tech.pegasys.teku.bls.BLSPublicKey; import tech.pegasys.teku.bls.BLSSignatureVerifier; @@ -80,11 +80,7 @@ public void importBlocks() throws Exception { + validatorsCount + ".ssz.gz"; - System.out.println("Generating keypairs..."); - - List validatorKeys = - BlsKeyPairIO.createReaderForResource("/bls-key-pairs/bls-key-pairs-200k-seed-0.txt.gz") - .readAll(validatorsCount); + List validatorKeys = KeyFileGenerator.readValidatorKeys(validatorsCount); BeaconState initialState = new GenesisStateBuilder() @@ -165,20 +161,16 @@ public void importBlocksMemProfiling() throws Exception { AbstractBlockProcessor.depositSignatureVerifier = BLSSignatureVerifier.NO_OP; - int validatorsCount = 32 * 1024; + final int validatorsCount = 32 * 1024; - String blocksFile = + final String blocksFile = "/blocks/blocks_epoch_" + spec.getSlotsPerEpoch(UInt64.ZERO) + "_validators_" + validatorsCount + ".ssz.gz"; - System.out.println("Generating keypairs..."); - - List validatorKeys = - BlsKeyPairIO.createReaderForResource("/bls-key-pairs/bls-key-pairs-200k-seed-0.txt.gz") - .readAll(validatorsCount); + final List validatorKeys = KeyFileGenerator.readValidatorKeys(validatorsCount); BeaconState initialState = new GenesisStateBuilder() @@ -191,8 +183,8 @@ public void importBlocksMemProfiling() throws Exception { while (true) { final BlockImportNotifications blockImportNotifications = mock(BlockImportNotifications.class); - RecentChainData recentChainData = MemoryOnlyRecentChainData.create(); - BeaconChainUtil localChain = + final RecentChainData recentChainData = MemoryOnlyRecentChainData.create(); + final BeaconChainUtil localChain = BeaconChainUtil.create(spec, recentChainData, validatorKeys, false); recentChainData.initializeFromGenesis(initialState, UInt64.ZERO); initialState = null; diff --git a/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/TransitionBenchmark.java b/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/TransitionBenchmark.java index f92821b3fa4..798505c1cad 100644 --- a/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/TransitionBenchmark.java +++ b/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/TransitionBenchmark.java @@ -30,7 +30,7 @@ import org.openjdk.jmh.annotations.Threads; import org.openjdk.jmh.annotations.Warmup; import tech.pegasys.teku.benchmarks.gen.BlockIO; -import tech.pegasys.teku.benchmarks.gen.BlsKeyPairIO; +import tech.pegasys.teku.benchmarks.gen.KeyFileGenerator; import tech.pegasys.teku.bls.BLSKeyPair; import tech.pegasys.teku.bls.BLSSignatureVerifier; import tech.pegasys.teku.infrastructure.async.eventthread.InlineEventThread; @@ -82,11 +82,8 @@ public void init() throws Exception { + "_validators_" + validatorsCount + ".ssz.gz"; - String keysFile = "/bls-key-pairs/bls-key-pairs-400k-seed-0.txt.gz"; - System.out.println("Generating keypairs from " + keysFile); - List validatorKeys = - BlsKeyPairIO.createReaderForResource(keysFile).readAll(validatorsCount); + final List validatorKeys = KeyFileGenerator.readValidatorKeys(validatorsCount); final BlockImportNotifications blockImportNotifications = mock(BlockImportNotifications.class); wsValidator = WeakSubjectivityFactory.lenientValidator(); diff --git a/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/gen/Generator.java b/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/gen/BlockArchiveGenerator.java similarity index 52% rename from eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/gen/Generator.java rename to eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/gen/BlockArchiveGenerator.java index cbcf9aacb42..ccf87bf4ac9 100644 --- a/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/gen/Generator.java +++ b/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/gen/BlockArchiveGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright Consensys Software Inc., 2022 + * Copyright Consensys Software Inc., 2023 * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at @@ -13,19 +13,12 @@ package tech.pegasys.teku.benchmarks.gen; -import java.io.File; -import java.util.ArrayList; import java.util.Collections; -import java.util.Iterator; import java.util.List; import java.util.Optional; -import java.util.stream.Collectors; -import java.util.stream.IntStream; -import org.junit.jupiter.api.Test; -import tech.pegasys.teku.benchmarks.gen.BlockIO.Writer; import tech.pegasys.teku.bls.BLSKeyPair; import tech.pegasys.teku.bls.BLSSignatureVerifier; -import tech.pegasys.teku.bls.BLSTestUtil; +import tech.pegasys.teku.infrastructure.time.SystemTimeProvider; import tech.pegasys.teku.infrastructure.unsigned.UInt64; import tech.pegasys.teku.spec.Spec; import tech.pegasys.teku.spec.TestSpecFactory; @@ -39,28 +32,64 @@ import tech.pegasys.teku.storage.client.MemoryOnlyRecentChainData; import tech.pegasys.teku.storage.client.RecentChainData; -/** - * Utility class for generating BLS keypairs and blocks files Test methods need to be run manually - */ -public class Generator { +public class BlockArchiveGenerator { + public static void main(String[] args) throws Exception { + int validatorCount = 32_768; + int epochCount = 50; + if (args.length == 2) { + // read cli positional args + try { + validatorCount = Integer.parseInt(args[0]); + } catch (Exception e) { + dieUsage(Optional.of("Failed to parse validatorCount: " + e.getMessage())); + } + try { + epochCount = Integer.parseInt(args[1]); + } catch (Exception e) { + dieUsage(Optional.of("Failed to parse epochCount: " + e.getMessage())); + } + } else if (args.length != 0) { + dieUsage(Optional.empty()); + } - @Test - public void generateBlocks() throws Exception { - final Spec spec = TestSpecFactory.createMainnetAltair(); + if (validatorCount < 1 || validatorCount > 3_276_800) { + dieUsage( + Optional.of( + "Expected validator count (" + + validatorCount + + ") to be in range 0 < validatorCount < 3_276_801")); + } else if (epochCount < 1 || epochCount > 100) { + dieUsage( + Optional.of( + "Expected epoch count (" + epochCount + ") to be in range 0 < epochCount < 100")); + } + System.out.println("Validator count: " + validatorCount); + System.out.println("Epochs: " + epochCount); - AbstractBlockProcessor.depositSignatureVerifier = BLSSignatureVerifier.NO_OP; + generateBlocks(validatorCount, epochCount); + } - System.out.println("Generating keypairs..."); - int validatorsCount = 400000; + private static void dieUsage(final Optional maybeContext) { + maybeContext.ifPresent(System.out::println); + System.out.println("Usage: blockArchiveGenerator "); + System.exit(2); + } - List validatorKeys = - BlsKeyPairIO.createReaderForResource("/bls-key-pairs/bls-key-pairs-400k-seed-0.txt.gz") - .readAll(validatorsCount); + private static void generateBlocks(final int validatorsCount, final int epochLimit) + throws Exception { + final Spec spec = TestSpecFactory.createMainnetAltair(); - System.out.println("Keypairs done."); + AbstractBlockProcessor.depositSignatureVerifier = BLSSignatureVerifier.NO_OP; - RecentChainData localStorage = MemoryOnlyRecentChainData.create(spec); - BeaconChainUtil localChain = + final List validatorKeys = KeyFileGenerator.readValidatorKeys(validatorsCount); + final RecentChainData localStorage = MemoryOnlyRecentChainData.create(spec); + final AttestationGenerator attestationGenerator = new AttestationGenerator(spec, validatorKeys); + final int slotsPerEpoch = spec.getGenesisSpecConfig().getSlotsPerEpoch(); + final String blocksFile = + String.format( + "blocks_%sEpochs_%sBlocksPerEpoch_%sValidators.ssz.gz", + epochLimit, slotsPerEpoch, validatorsCount); + final BeaconChainUtil localChain = BeaconChainUtil.builder() .specProvider(spec) .recentChainData(localStorage) @@ -68,20 +97,21 @@ public void generateBlocks() throws Exception { .signDeposits(false) .build(); localChain.initializeStorage(); - AttestationGenerator attestationGenerator = new AttestationGenerator(spec, validatorKeys); UInt64 currentSlot = localStorage.getHeadSlot(); List attestations = Collections.emptyList(); - final int slotsPerEpoch = spec.getGenesisSpecConfig().getSlotsPerEpoch(); - String blocksFile = - "blocks_epoch_" + slotsPerEpoch + "_validators_" + validatorsCount + ".ssz.gz"; + System.out.printf( + "Generating blocks for %s epochs, %s slots per epoch.%n", epochLimit, slotsPerEpoch); + + final SystemTimeProvider timeProvider = new SystemTimeProvider(); - try (Writer writer = BlockIO.createFileWriter(blocksFile)) { + try (BlockIO.Writer writer = BlockIO.createFileWriter(blocksFile)) { - for (int j = 0; j < 50; j++) { + for (int j = 0; j < epochLimit; j++) { + System.out.println(" => Processing epoch " + j); for (int i = 0; i < slotsPerEpoch; i++) { - long s = System.currentTimeMillis(); + final UInt64 slotStart = timeProvider.getTimeInMillis(); currentSlot = currentSlot.plus(UInt64.ONE); final SignedBeaconBlock block = @@ -101,58 +131,22 @@ public void generateBlocks() throws Exception { : attestationGenerator.getAttestationsForSlot(postState, currentSlot); System.out.println( - "Processed: " + currentSlot + ", " + (System.currentTimeMillis() - s) + " ms"); + " -> Processed: " + + currentSlot + + ", " + + (timeProvider.getTimeInMillis().minusMinZero(slotStart)) + + " ms"); } Optional bestState = localStorage.retrieveBlockState(localStorage.getBestBlockRoot().orElse(null)).join(); - System.out.println("Epoch done: " + bestState); + final long epoch = j; + bestState.ifPresent( + beaconState -> + System.out.printf( + " => Epoch done: %s, Best State slot: %s, state hash: %s%n", + epoch, beaconState.getSlot(), beaconState.hashTreeRoot())); } } } - - @Test - public void generateKeyPairs() throws Exception { - int randomSeed = 0; - int limitK = 400; - File outFile = new File("bls-key-pairs-" + limitK + "k-seed-" + randomSeed + ".txt"); - Iterator keyPairIterator = - IntStream.range(randomSeed, randomSeed + Integer.MAX_VALUE) - .mapToObj(BLSTestUtil::randomKeyPair) - .iterator(); - - System.out.println("Generating keypairs..."); - try (BlsKeyPairIO.Writer writer = BlsKeyPairIO.createWriter(outFile, keyPairIterator::next)) { - for (int i = 0; i < limitK; i++) { - writer.write(1024); - System.out.println("Generated " + (i + 1) + "K"); - } - } - - // check - try (BlsKeyPairIO.Reader reader = BlsKeyPairIO.createReaderForFile(outFile)) { - for (BLSKeyPair keyPair : reader.withLimit(10)) { - System.out.println(keyPair); - } - } - } - - String getCommittees(final Spec spec, BeaconState state) { - UInt64 cnt = spec.getCommitteeCountPerSlot(state, spec.getCurrentEpoch(state)); - List> committees = new ArrayList<>(); - for (UInt64 index = UInt64.ZERO; index.compareTo(cnt) < 0; index = index.plus(UInt64.ONE)) { - - committees.add(spec.getBeaconCommittee(state, state.getSlot(), index)); - } - - return "[" - + committees.stream() - .map(com -> com.stream().map(i -> "" + i).collect(Collectors.joining(","))) - .collect(Collectors.joining("],[")) - + "]"; - } - - public static void main(String[] args) throws Exception { - new Generator().generateBlocks(); - } } diff --git a/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/gen/KeyFileGenerator.java b/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/gen/KeyFileGenerator.java new file mode 100644 index 00000000000..86bbb688785 --- /dev/null +++ b/eth-benchmark-tests/src/jmh/java/tech/pegasys/teku/benchmarks/gen/KeyFileGenerator.java @@ -0,0 +1,117 @@ +/* + * Copyright Consensys Software Inc., 2022 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + +package tech.pegasys.teku.benchmarks.gen; + +import java.io.File; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Optional; +import java.util.stream.IntStream; +import tech.pegasys.teku.bls.BLSKeyPair; +import tech.pegasys.teku.bls.BLSTestUtil; + +/** + * Utility class for generating BLS keypairs and blocks files Test methods need to be run manually + */ +public class KeyFileGenerator { + + public static void main(String[] args) throws Exception { + final int randomSeed = 0; + final Iterator keyPairIterator = + IntStream.range(randomSeed, randomSeed + Integer.MAX_VALUE) + .mapToObj(BLSTestUtil::randomKeyPair) + .iterator(); + + int limit = 400; + if (args.length == 1) { + // read cli positional args + try { + limit = Integer.parseInt(args[0]); + } catch (Exception e) { + dieUsage(Optional.of("Failed to parse limit: " + e.getMessage())); + } + } else if (args.length > 0) { + dieUsage(Optional.empty()); + } + System.out.println("Generating " + (limit * 1024) + " keys, at 400K keys per file."); + int offset = 0; + while (offset < limit) { + final int rangeMax = Math.min(offset + 400, limit); + generateKeyPairs(offset, rangeMax, keyPairIterator); + offset = rangeMax; + } + } + + private static void dieUsage(final Optional maybeContext) { + maybeContext.ifPresent(System.out::println); + System.out.println("Usage: keyFileGenerator "); + System.exit(2); + } + + // Used by other processes to read the keys generated and stored in bls-key-pairs + // can specify up to 3_276_800 keys and a list will be returned to the caller + public static List readValidatorKeys(int limit) { + if (limit > 3_276_800) { + System.out.println( + "Only resource files up to 3200K validators has been generated, insufficient stored keys to satisfy request."); + throw new IllegalStateException("Cannot continue"); + } + System.out.println("Loading keypairs..."); + final List validatorKeys = new ArrayList<>(); + + final List resources = + List.of( + "bls-key-pairs-0-400k.txt.gz", + "bls-key-pairs-400-800k.txt.gz", + "bls-key-pairs-800-1200k.txt.gz", + "bls-key-pairs-1200-1600k.txt.gz", + "bls-key-pairs-1600-2000k.txt.gz", + "bls-key-pairs-2000-2400k.txt.gz", + "bls-key-pairs-2400-2800k.txt.gz", + "bls-key-pairs-2800-3200k.txt.gz"); + for (String resource : resources) { + System.out.println(" -> " + resource); + final int currentReaderLimit = limit - validatorKeys.size(); + try (BlsKeyPairIO.Reader reader = + BlsKeyPairIO.createReaderForResource("/bls-key-pairs/" + resource)) { + validatorKeys.addAll(reader.readAll(currentReaderLimit)); + } catch (Exception e) { + System.out.println("Failed to read resource " + resource + ": " + e.getMessage()); + } + if (validatorKeys.size() == limit) { + break; + } + } + + System.out.println(validatorKeys.size() + " Keypairs loaded."); + return validatorKeys; + } + + private static void generateKeyPairs( + final int startPosition, final int limitK, final Iterator keyPairIterator) + throws Exception { + File outFile = new File("bls-key-pairs-" + startPosition + "-" + limitK + "k.txt"); + + System.out.println(" -> Generating keypairs from " + startPosition + "..."); + try (BlsKeyPairIO.Writer writer = BlsKeyPairIO.createWriter(outFile, keyPairIterator::next)) { + for (int i = startPosition; i < limitK; i++) { + writer.write(1024); + if (i % 50 == 49) { + System.out.println(" -> Generated " + (i + 1) + "K"); + } + } + } + } +} diff --git a/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-400k-seed-0.txt.gz b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-0-400k.txt.gz similarity index 99% rename from eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-400k-seed-0.txt.gz rename to eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-0-400k.txt.gz index 02302b18b37..a7e16251355 100644 Binary files a/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-400k-seed-0.txt.gz and b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-0-400k.txt.gz differ diff --git a/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-1200-1600k.txt.gz b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-1200-1600k.txt.gz new file mode 100644 index 00000000000..b9ad03e18a8 Binary files /dev/null and b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-1200-1600k.txt.gz differ diff --git a/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-1600-2000k.txt.gz b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-1600-2000k.txt.gz new file mode 100644 index 00000000000..0f1b4484b0b Binary files /dev/null and b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-1600-2000k.txt.gz differ diff --git a/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-2000-2400k.txt.gz b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-2000-2400k.txt.gz new file mode 100644 index 00000000000..1d6bb3c5e89 Binary files /dev/null and b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-2000-2400k.txt.gz differ diff --git a/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-200k-seed-0.txt.gz b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-200k-seed-0.txt.gz deleted file mode 100644 index c0d8816a76c..00000000000 Binary files a/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-200k-seed-0.txt.gz and /dev/null differ diff --git a/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-2400-2800k.txt.gz b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-2400-2800k.txt.gz new file mode 100644 index 00000000000..9a7cae91847 Binary files /dev/null and b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-2400-2800k.txt.gz differ diff --git a/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-2800-3200k.txt.gz b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-2800-3200k.txt.gz new file mode 100644 index 00000000000..135062ee3ec Binary files /dev/null and b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-2800-3200k.txt.gz differ diff --git a/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-400-800k.txt.gz b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-400-800k.txt.gz new file mode 100644 index 00000000000..505b2503623 Binary files /dev/null and b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-400-800k.txt.gz differ diff --git a/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-800-1200k.txt.gz b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-800-1200k.txt.gz new file mode 100644 index 00000000000..b87de9afcb8 Binary files /dev/null and b/eth-benchmark-tests/src/jmh/resources/bls-key-pairs/bls-key-pairs-800-1200k.txt.gz differ diff --git a/gradle/trivyignore.txt b/gradle/trivyignore.txt index a31f4e5f622..8c2f2da5552 100644 --- a/gradle/trivyignore.txt +++ b/gradle/trivyignore.txt @@ -1,4 +1,5 @@ # TRIVY IGNORE FILE # The following comment is an example of how CVE entries should be used in this file: -# CVE-2022-0123 \ No newline at end of file +# CVE-2022-0123 +CVE-2023-39017