From 51b58aeaa0509637ab7c2bdc131a46e7c9a4a004 Mon Sep 17 00:00:00 2001 From: Simon Dudley Date: Wed, 19 Feb 2025 18:14:04 +1000 Subject: [PATCH 1/4] Pull in Consensys/tuweni release Includes: - reduce check argument args allocations - https://github.com/Consensys/tuweni/pull/10 which should reduce Integer and int[] and therefore gc pressure Signed-off-by: Simon Dudley --- acceptance-tests/dsl/build.gradle | 6 +- acceptance-tests/tests/build.gradle | 2 +- besu/build.gradle | 12 +-- config/build.gradle | 4 +- consensus/clique/build.gradle | 4 +- consensus/common/build.gradle | 2 +- consensus/ibft/build.gradle | 4 +- consensus/merge/build.gradle | 4 +- consensus/qbft-core/build.gradle | 2 +- consensus/qbft/build.gradle | 4 +- crypto/algorithms/build.gradle | 4 +- datatypes/build.gradle | 4 +- enclave/build.gradle | 2 +- ethereum/api/build.gradle | 12 +-- ethereum/blockcreation/build.gradle | 4 +- ethereum/core/build.gradle | 16 +-- ethereum/eth/build.gradle | 6 +- ethereum/ethstats/build.gradle | 2 +- ethereum/mock-p2p/build.gradle | 2 +- ethereum/p2p/build.gradle | 10 +- ethereum/permissioning/build.gradle | 6 +- ethereum/referencetests/build.gradle | 6 +- ethereum/rlp/build.gradle | 4 +- ethereum/stratum/build.gradle | 4 +- ethereum/trie/build.gradle | 4 +- ethereum/verkletrie/build.gradle | 6 +- evm/build.gradle | 4 +- gradle/verification-metadata.xml | 140 ++++++++++++++++++++++++++- platform/build.gradle | 18 ++-- plugin-api/build.gradle | 4 +- plugins/rocksdb/build.gradle | 2 +- privacy-contracts/build.gradle | 6 +- services/tasks/build.gradle | 2 +- testfuzz/build.gradle | 2 +- testutil/build.gradle | 6 +- 35 files changed, 227 insertions(+), 93 deletions(-) diff --git a/acceptance-tests/dsl/build.gradle b/acceptance-tests/dsl/build.gradle index 6602fda58b8..ac66901135c 100644 --- a/acceptance-tests/dsl/build.gradle +++ b/acceptance-tests/dsl/build.gradle @@ -32,9 +32,9 @@ dependencies { implementation 'io.reactivex.rxjava2:rxjava' implementation 'io.vertx:vertx-core' implementation 'io.opentelemetry:opentelemetry-api' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-io' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-io' + implementation 'io.consensys.protocols:tuweni-units' implementation 'org.assertj:assertj-core' implementation 'org.awaitility:awaitility' implementation 'org.java-websocket:Java-WebSocket' diff --git a/acceptance-tests/tests/build.gradle b/acceptance-tests/tests/build.gradle index 981bde4a6cd..aa3ce93b2ec 100644 --- a/acceptance-tests/tests/build.gradle +++ b/acceptance-tests/tests/build.gradle @@ -73,7 +73,7 @@ dependencies { testImplementation 'io.vertx:vertx-core' testImplementation 'org.apache.commons:commons-compress' testImplementation 'org.apache.logging.log4j:log4j-core' - testImplementation 'io.tmio:tuweni-crypto' + testImplementation 'io.consensys.protocols:tuweni-crypto' testImplementation 'org.assertj:assertj-core' testImplementation 'org.awaitility:awaitility' testImplementation 'org.junit.jupiter:junit-jupiter' diff --git a/besu/build.gradle b/besu/build.gradle index d1230b6974b..d0543e5406a 100644 --- a/besu/build.gradle +++ b/besu/build.gradle @@ -71,10 +71,10 @@ dependencies { implementation 'info.picocli:picocli' implementation 'io.vertx:vertx-core' implementation 'io.vertx:vertx-web' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-config' - implementation 'io.tmio:tuweni-toml' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-config' + implementation 'io.consensys.protocols:tuweni-toml' + implementation 'io.consensys.protocols:tuweni-units' implementation 'org.apache.commons:commons-lang3' implementation 'org.apache.logging.log4j:log4j-core' implementation 'org.hibernate.validator:hibernate-validator' @@ -97,8 +97,8 @@ dependencies { testImplementation 'io.opentelemetry:opentelemetry-api' testImplementation 'org.mockito:mockito-junit-jupiter' testImplementation 'org.apache.commons:commons-text' - testImplementation 'io.tmio:tuweni-bytes' - testImplementation 'io.tmio:tuweni-units' + testImplementation 'io.consensys.protocols:tuweni-bytes' + testImplementation 'io.consensys.protocols:tuweni-units' testImplementation 'org.assertj:assertj-core' testImplementation 'org.awaitility:awaitility' testImplementation 'org.junit.jupiter:junit-jupiter' diff --git a/config/build.gradle b/config/build.gradle index e269ce51fc9..62bac782f6a 100644 --- a/config/build.gradle +++ b/config/build.gradle @@ -38,8 +38,8 @@ dependencies { implementation 'com.google.guava:guava' implementation 'com.google.dagger:dagger' implementation 'info.picocli:picocli' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-units' implementation "org.immutables:value-annotations" annotationProcessor "org.immutables:value" annotationProcessor 'com.google.dagger:dagger-compiler' diff --git a/consensus/clique/build.gradle b/consensus/clique/build.gradle index d2fb44c6ef8..3f71cb6a323 100644 --- a/consensus/clique/build.gradle +++ b/consensus/clique/build.gradle @@ -48,8 +48,8 @@ dependencies { implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' implementation 'com.fasterxml.jackson.core:jackson-databind' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-units' testImplementation project(path: ':consensus:common', configuration: 'testArtifacts') testImplementation project(path: ':crypto:services', configuration: 'testSupportArtifacts') diff --git a/consensus/common/build.gradle b/consensus/common/build.gradle index 7a937f75733..d1f435abf1e 100644 --- a/consensus/common/build.gradle +++ b/consensus/common/build.gradle @@ -45,7 +45,7 @@ dependencies { implementation 'com.fasterxml.jackson.core:jackson-databind' implementation 'com.google.guava:guava' - implementation 'io.tmio:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-bytes' testImplementation project(':config') testImplementation project(':crypto:algorithms') diff --git a/consensus/ibft/build.gradle b/consensus/ibft/build.gradle index e95c8661431..52ba163b462 100644 --- a/consensus/ibft/build.gradle +++ b/consensus/ibft/build.gradle @@ -45,8 +45,8 @@ dependencies { implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' implementation 'com.fasterxml.jackson.core:jackson-databind' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-units' integrationTestImplementation project(path: ':config', configuration: 'testSupportArtifacts') integrationTestImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts') diff --git a/consensus/merge/build.gradle b/consensus/merge/build.gradle index e1b98e21e2e..aba161bf081 100644 --- a/consensus/merge/build.gradle +++ b/consensus/merge/build.gradle @@ -47,8 +47,8 @@ dependencies { implementation 'com.fasterxml.jackson.core:jackson-databind' implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-units' testImplementation project(path: ':consensus:common', configuration: 'testArtifacts') testImplementation project(':crypto:algorithms') diff --git a/consensus/qbft-core/build.gradle b/consensus/qbft-core/build.gradle index a4abc2d9061..4e1654d3993 100644 --- a/consensus/qbft-core/build.gradle +++ b/consensus/qbft-core/build.gradle @@ -37,7 +37,7 @@ dependencies { implementation project(':ethereum:rlp') implementation 'com.google.guava:guava' - implementation 'io.tmio:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-bytes' integrationTestImplementation project(path: ':config', configuration: 'testSupportArtifacts') integrationTestImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts') diff --git a/consensus/qbft/build.gradle b/consensus/qbft/build.gradle index 5481d9776e8..dce3660c949 100644 --- a/consensus/qbft/build.gradle +++ b/consensus/qbft/build.gradle @@ -45,8 +45,8 @@ dependencies { implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' implementation 'com.fasterxml.jackson.core:jackson-databind' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-units' implementation 'org.web3j:abi' integrationTestImplementation project(path: ':config', configuration: 'testSupportArtifacts') diff --git a/crypto/algorithms/build.gradle b/crypto/algorithms/build.gradle index 97b05bd71ea..07cca345940 100644 --- a/crypto/algorithms/build.gradle +++ b/crypto/algorithms/build.gradle @@ -34,8 +34,8 @@ dependencies { api 'org.slf4j:slf4j-api' implementation 'net.java.dev.jna:jna' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-units' implementation 'org.hyperledger.besu:secp256k1' implementation 'org.hyperledger.besu:secp256r1' implementation 'org.hyperledger.besu:blake2bf' diff --git a/datatypes/build.gradle b/datatypes/build.gradle index b1581b6c4b8..9b955ac3052 100644 --- a/datatypes/build.gradle +++ b/datatypes/build.gradle @@ -36,8 +36,8 @@ dependencies { implementation project(':crypto:algorithms') implementation project(':ethereum:rlp') implementation 'com.google.guava:guava' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-units' testImplementation 'org.assertj:assertj-core' testImplementation 'org.junit.jupiter:junit-jupiter' diff --git a/enclave/build.gradle b/enclave/build.gradle index 24aa1b2e64d..71f4fe01b1f 100644 --- a/enclave/build.gradle +++ b/enclave/build.gradle @@ -7,7 +7,7 @@ dependencies { implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' implementation 'io.vertx:vertx-web' - implementation 'io.tmio:tuweni-net' + implementation 'io.consensys.protocols:tuweni-net' runtimeOnly('org.bouncycastle:bcpkix-jdk18on') diff --git a/ethereum/api/build.gradle b/ethereum/api/build.gradle index 6bbfa531a99..cd35466813a 100644 --- a/ethereum/api/build.gradle +++ b/ethereum/api/build.gradle @@ -65,10 +65,10 @@ dependencies { implementation 'io.vertx:vertx-web' implementation 'io.vertx:vertx-codegen' implementation 'com.fasterxml.jackson.core:jackson-databind' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-net' - implementation 'io.tmio:tuweni-toml' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-net' + implementation 'io.consensys.protocols:tuweni-toml' + implementation 'io.consensys.protocols:tuweni-units' implementation 'org.antlr:antlr4-runtime' implementation 'org.bouncycastle:bcprov-jdk18on' implementation 'org.springframework.security:spring-security-crypto' @@ -76,8 +76,8 @@ dependencies { implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' implementation 'com.fasterxml.jackson.core:jackson-databind' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-units' implementation 'org.web3j:abi' implementation 'com.github.ben-manes.caffeine:caffeine' diff --git a/ethereum/blockcreation/build.gradle b/ethereum/blockcreation/build.gradle index 753cc12d185..79fbc476533 100644 --- a/ethereum/blockcreation/build.gradle +++ b/ethereum/blockcreation/build.gradle @@ -25,8 +25,8 @@ dependencies { implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-units' testImplementation project(':besu') testImplementation project(path: ':config', configuration: 'testSupportArtifacts') diff --git a/ethereum/core/build.gradle b/ethereum/core/build.gradle index c0f04a76441..ff7146b4caf 100644 --- a/ethereum/core/build.gradle +++ b/ethereum/core/build.gradle @@ -58,10 +58,10 @@ dependencies { implementation 'net.java.dev.jna:jna' implementation 'org.apache.commons:commons-lang3' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-concurrent' - implementation 'io.tmio:tuweni-units' - implementation 'io.tmio:tuweni-rlp' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-concurrent' + implementation 'io.consensys.protocols:tuweni-units' + implementation 'io.consensys.protocols:tuweni-rlp' implementation 'org.immutables:value-annotations' implementation 'tech.pegasys:jc-kzg-4844' @@ -78,9 +78,9 @@ dependencies { testImplementation project(path: ':plugins:rocksdb') testImplementation 'org.apache.logging.log4j:log4j-core' - testImplementation 'io.tmio:tuweni-bytes' - testImplementation 'io.tmio:tuweni-io' - testImplementation 'io.tmio:tuweni-units' + testImplementation 'io.consensys.protocols:tuweni-bytes' + testImplementation 'io.consensys.protocols:tuweni-io' + testImplementation 'io.consensys.protocols:tuweni-units' testImplementation 'org.assertj:assertj-core' testImplementation 'org.junit.jupiter:junit-jupiter' testImplementation 'org.junit.jupiter:junit-jupiter-params' @@ -94,7 +94,7 @@ dependencies { integrationTestImplementation 'org.assertj:assertj-core' integrationTestImplementation 'org.junit.jupiter:junit-jupiter-api' integrationTestImplementation 'org.mockito:mockito-core' - integrationTestImplementation 'io.tmio:tuweni-bytes' + integrationTestImplementation 'io.consensys.protocols:tuweni-bytes' integrationTestRuntimeOnly 'org.junit.jupiter:junit-jupiter' diff --git a/ethereum/eth/build.gradle b/ethereum/eth/build.gradle index 677783dfdff..00c2a12d638 100644 --- a/ethereum/eth/build.gradle +++ b/ethereum/eth/build.gradle @@ -56,9 +56,9 @@ dependencies { implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' implementation 'org.apache.commons:commons-lang3' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-units' - implementation 'io.tmio:tuweni-rlp' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-units' + implementation 'io.consensys.protocols:tuweni-rlp' implementation 'org.rocksdb:rocksdbjni' implementation 'com.github.ben-manes.caffeine:caffeine' implementation 'com.google.dagger:dagger' diff --git a/ethereum/ethstats/build.gradle b/ethereum/ethstats/build.gradle index 8f10b73b36d..4c49874e785 100644 --- a/ethereum/ethstats/build.gradle +++ b/ethereum/ethstats/build.gradle @@ -35,7 +35,7 @@ dependencies { implementation 'com.google.guava:guava' implementation 'com.squareup.okhttp3:okhttp' implementation 'io.vertx:vertx-core' - implementation 'io.tmio:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-bytes' implementation project(':consensus:clique') implementation project(':config') diff --git a/ethereum/mock-p2p/build.gradle b/ethereum/mock-p2p/build.gradle index a548d0cde77..fd70b890397 100644 --- a/ethereum/mock-p2p/build.gradle +++ b/ethereum/mock-p2p/build.gradle @@ -36,7 +36,7 @@ dependencies { implementation project(':util') implementation 'io.vertx:vertx-core' - implementation 'io.tmio:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-bytes' testImplementation 'org.assertj:assertj-core' testImplementation 'org.junit.jupiter:junit-jupiter' diff --git a/ethereum/p2p/build.gradle b/ethereum/p2p/build.gradle index 8633518a1a1..f1b7a2012ae 100644 --- a/ethereum/p2p/build.gradle +++ b/ethereum/p2p/build.gradle @@ -47,11 +47,11 @@ dependencies { implementation 'io.vertx:vertx-core' implementation 'javax.inject:javax.inject' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-crypto' - implementation 'io.tmio:tuweni-io' - implementation 'io.tmio:tuweni-rlp' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-crypto' + implementation 'io.consensys.protocols:tuweni-io' + implementation 'io.consensys.protocols:tuweni-rlp' + implementation 'io.consensys.protocols:tuweni-units' implementation 'org.apache.commons:commons-collections4' implementation 'org.jetbrains.kotlin:kotlin-stdlib' implementation 'org.owasp.encoder:encoder' diff --git a/ethereum/permissioning/build.gradle b/ethereum/permissioning/build.gradle index f404d70ede3..76c08cbfe52 100644 --- a/ethereum/permissioning/build.gradle +++ b/ethereum/permissioning/build.gradle @@ -42,9 +42,9 @@ dependencies { implementation 'com.fasterxml.jackson.core:jackson-databind' implementation 'com.google.guava:guava' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-toml' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-toml' + implementation 'io.consensys.protocols:tuweni-units' implementation 'org.web3j:abi' testImplementation project(':config') diff --git a/ethereum/referencetests/build.gradle b/ethereum/referencetests/build.gradle index b66a6310529..8555a6521ad 100644 --- a/ethereum/referencetests/build.gradle +++ b/ethereum/referencetests/build.gradle @@ -179,7 +179,7 @@ dependencies { implementation project(':evm') implementation project(':services:kvstore') - implementation 'io.tmio:tuweni-rlp' + implementation 'io.consensys.protocols:tuweni-rlp' implementation 'com.fasterxml.jackson.core:jackson-databind' implementation 'com.google.guava:guava' implementation 'com.google.dagger:dagger' @@ -201,8 +201,8 @@ dependencies { referenceTestImplementation 'ethereum:execution-spec-tests:4.0.0:fixtures_develop@tar.gz' referenceTestImplementation 'com.fasterxml.jackson.core:jackson-databind' referenceTestImplementation 'com.google.guava:guava' - referenceTestImplementation 'io.tmio:tuweni-bytes' - referenceTestImplementation 'io.tmio:tuweni-units' + referenceTestImplementation 'io.consensys.protocols:tuweni-bytes' + referenceTestImplementation 'io.consensys.protocols:tuweni-units' referenceTestImplementation 'org.assertj:assertj-core' referenceTestImplementation 'org.junit.jupiter:junit-jupiter-api' referenceTestImplementation 'org.junit.jupiter:junit-jupiter-params' diff --git a/ethereum/rlp/build.gradle b/ethereum/rlp/build.gradle index 7756e1bafa9..d58c4602f88 100644 --- a/ethereum/rlp/build.gradle +++ b/ethereum/rlp/build.gradle @@ -32,8 +32,8 @@ jar { dependencies { annotationProcessor 'org.openjdk.jmh:jmh-generator-annprocess' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-units' implementation 'com.google.guava:guava' jmh project(':util') diff --git a/ethereum/stratum/build.gradle b/ethereum/stratum/build.gradle index 83de6a8a5fc..e8bf7b40618 100644 --- a/ethereum/stratum/build.gradle +++ b/ethereum/stratum/build.gradle @@ -42,8 +42,8 @@ dependencies { implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' implementation 'com.fasterxml.jackson.core:jackson-databind' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-units' testImplementation project(path: ':metrics:core', configuration: 'testSupportArtifacts') testImplementation project(':testutil') diff --git a/ethereum/trie/build.gradle b/ethereum/trie/build.gradle index 080b9e8f51d..18416c8857d 100644 --- a/ethereum/trie/build.gradle +++ b/ethereum/trie/build.gradle @@ -37,7 +37,7 @@ dependencies { implementation 'org.immutables:value-annotations' implementation 'com.google.guava:guava' implementation 'io.opentelemetry:opentelemetry-api' - implementation 'io.tmio:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-bytes' implementation 'org.bouncycastle:bcprov-jdk18on' annotationProcessor 'org.immutables:value' @@ -46,7 +46,7 @@ dependencies { testImplementation project(':testutil') testImplementation 'com.fasterxml.jackson.core:jackson-databind' - testImplementation 'io.tmio:tuweni-units' + testImplementation 'io.consensys.protocols:tuweni-units' testImplementation 'org.assertj:assertj-core' testImplementation 'org.junit.jupiter:junit-jupiter' testImplementation 'org.mockito:mockito-core' diff --git a/ethereum/verkletrie/build.gradle b/ethereum/verkletrie/build.gradle index 00c7016fb63..7ae58bf0567 100644 --- a/ethereum/verkletrie/build.gradle +++ b/ethereum/verkletrie/build.gradle @@ -36,8 +36,8 @@ dependencies { implementation "org.immutables:value-annotations" implementation 'com.google.guava:guava' implementation 'io.opentelemetry:opentelemetry-api' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-units' implementation 'org.bouncycastle:bcprov-jdk18on' implementation 'org.hyperledger.besu:ipa-multipoint' @@ -48,7 +48,7 @@ dependencies { testImplementation 'com.fasterxml.jackson.core:jackson-databind' testImplementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml' - testImplementation 'io.tmio:tuweni-units' + testImplementation 'io.consensys.protocols:tuweni-units' testImplementation 'org.assertj:assertj-core' testImplementation 'org.junit.jupiter:junit-jupiter' testImplementation 'org.mockito:mockito-core' diff --git a/evm/build.gradle b/evm/build.gradle index c9506523f3d..2572c46fb93 100644 --- a/evm/build.gradle +++ b/evm/build.gradle @@ -41,8 +41,8 @@ dependencies { implementation 'com.github.ben-manes.caffeine:caffeine' implementation 'com.google.guava:guava' implementation 'net.java.dev.jna:jna' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-units' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-units' implementation 'org.hyperledger.besu:arithmetic' implementation'org.hyperledger.besu:gnark' implementation 'tech.pegasys:jc-kzg-4844' diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index e956f8713f2..53e4cc6a1b7 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -623,6 +623,17 @@ + + + + + + + + + + + @@ -706,6 +717,14 @@ + + + + + + + + @@ -1703,6 +1722,9 @@ + + + @@ -1835,12 +1857,12 @@ - - - + + + @@ -1877,6 +1899,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4547,11 +4641,24 @@ + + + + + + + + + + + + + @@ -4560,6 +4667,14 @@ + + + + + + + + @@ -6787,6 +6902,17 @@ + + + + + + + + + + + @@ -6828,6 +6954,14 @@ + + + + + + + + diff --git a/platform/build.gradle b/platform/build.gradle index 9140a84af5c..47008afdf3f 100644 --- a/platform/build.gradle +++ b/platform/build.gradle @@ -106,15 +106,15 @@ dependencies { api 'io.pkts:pkts-core:3.0.10' - api 'io.tmio:tuweni-bytes:2.4.2' - api 'io.tmio:tuweni-config:2.4.2' - api 'io.tmio:tuweni-concurrent:2.4.2' - api 'io.tmio:tuweni-crypto:2.4.2' - api 'io.tmio:tuweni-io:2.4.2' - api 'io.tmio:tuweni-net:2.4.2' - api 'io.tmio:tuweni-rlp:2.4.2' - api 'io.tmio:tuweni-toml:2.4.2' - api 'io.tmio:tuweni-units:2.4.2' + api 'io.consensys.protocols:tuweni-bytes:25.2.0' + api 'io.consensys.protocols:tuweni-config:25.2.0' + api 'io.consensys.protocols:tuweni-concurrent:25.2.0' + api 'io.consensys.protocols:tuweni-crypto:25.2.0' + api 'io.consensys.protocols:tuweni-io:25.2.0' + api 'io.consensys.protocols:tuweni-net:25.2.0' + api 'io.consensys.protocols:tuweni-rlp:25.2.0' + api 'io.consensys.protocols:tuweni-toml:25.2.0' + api 'io.consensys.protocols:tuweni-units:25.2.0' api 'net.java.dev.jna:jna:5.16.0' diff --git a/plugin-api/build.gradle b/plugin-api/build.gradle index fcb26f533d0..8ef6035a346 100644 --- a/plugin-api/build.gradle +++ b/plugin-api/build.gradle @@ -31,8 +31,8 @@ jar { dependencies { api project(':datatypes') api 'org.apache.commons:commons-lang3' - api 'io.tmio:tuweni-bytes' - api 'io.tmio:tuweni-units' + api 'io.consensys.protocols:tuweni-bytes' + api 'io.consensys.protocols:tuweni-units' implementation 'com.google.guava:guava' implementation project(':evm') compileOnly 'io.vertx:vertx-core' diff --git a/plugins/rocksdb/build.gradle b/plugins/rocksdb/build.gradle index a2315398e13..18c7d5f4d41 100644 --- a/plugins/rocksdb/build.gradle +++ b/plugins/rocksdb/build.gradle @@ -46,7 +46,7 @@ dependencies { implementation 'com.google.guava:guava' implementation 'info.picocli:picocli' implementation 'io.opentelemetry:opentelemetry-api' - implementation 'io.tmio:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-bytes' implementation 'org.rocksdb:rocksdbjni' implementation project(path: ':ethereum:core') diff --git a/privacy-contracts/build.gradle b/privacy-contracts/build.gradle index 33e3176ce05..8e44a949501 100644 --- a/privacy-contracts/build.gradle +++ b/privacy-contracts/build.gradle @@ -15,9 +15,9 @@ jar { enabled = true } dependencies { - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-io' - implementation 'io.tmio:tuweni-toml' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-io' + implementation 'io.consensys.protocols:tuweni-toml' implementation 'org.web3j:abi' implementation 'org.web3j:besu' } diff --git a/services/tasks/build.gradle b/services/tasks/build.gradle index c584c6987b3..6dce60c85d3 100644 --- a/services/tasks/build.gradle +++ b/services/tasks/build.gradle @@ -39,7 +39,7 @@ dependencies { implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' - implementation 'io.tmio:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-bytes' testImplementation 'org.assertj:assertj-core' testImplementation 'org.junit.jupiter:junit-jupiter' diff --git a/testfuzz/build.gradle b/testfuzz/build.gradle index 3346f3e56db..773801f16b5 100644 --- a/testfuzz/build.gradle +++ b/testfuzz/build.gradle @@ -41,7 +41,7 @@ dependencies { implementation 'com.fasterxml.jackson.core:jackson-databind' implementation 'com.google.guava:guava' implementation 'info.picocli:picocli' - implementation 'io.tmio:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-bytes' implementation 'org.jacoco:org.jacoco.agent' implementation 'org.jacoco:org.jacoco.core' } diff --git a/testutil/build.gradle b/testutil/build.gradle index 1663c366507..2363b0a2686 100644 --- a/testutil/build.gradle +++ b/testutil/build.gradle @@ -43,9 +43,9 @@ dependencies { implementation 'com.squareup.okhttp3:okhttp' implementation 'io.vertx:vertx-core' implementation 'org.junit.jupiter:junit-jupiter' - implementation 'io.tmio:tuweni-bytes' - implementation 'io.tmio:tuweni-io' - implementation 'io.tmio:tuweni-toml' + implementation 'io.consensys.protocols:tuweni-bytes' + implementation 'io.consensys.protocols:tuweni-io' + implementation 'io.consensys.protocols:tuweni-toml' implementation 'org.assertj:assertj-core' implementation 'org.mockito:mockito-core' implementation 'org.web3j:core' From f9159cc7a0bf690c425b5b19dedb79dc4d3e53ba Mon Sep 17 00:00:00 2001 From: Simon Dudley Date: Wed, 19 Feb 2025 18:30:01 +1000 Subject: [PATCH 2/4] changelog Signed-off-by: Simon Dudley --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fa4331f1374..4c4183b51b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,9 @@ - Allow plugins to propose transactions during block creation [#8268](https://github.com/hyperledger/besu/pull/8268) - Update `eth_getLogs` to return a `Block not found` error when the requested block is not found. [#8290](https://github.com/hyperledger/besu/pull/8290) - Improve Conflict Detection in Parallelization by Considering Slots to Reduce False Positives. [#7923](https://github.com/hyperledger/besu/pull/7923) +- Replace tuweni libs with https://github.com/Consensys/tuweni +- Performance: Consensys/tuweni 25.2.0 includes a signicant improvement that reduces memory allocations across Besu + ### Bug fixes - Upgrade Netty to version 4.1.118 to fix CVE-2025-24970 [#8275](https://github.com/hyperledger/besu/pull/8275) - Add missing RPC method `debug_accountRange` to `RpcMethod.java` and implemented its handler. [#8153](https://github.com/hyperledger/besu/issues/8153) From 1e7edbd2b9b7e0b5162d766186dc5a7ab9b31462 Mon Sep 17 00:00:00 2001 From: Simon Dudley Date: Fri, 21 Feb 2025 15:48:15 +1000 Subject: [PATCH 3/4] Switch version to tuweni 2.6.0 (semver) Signed-off-by: Simon Dudley --- gradle/verification-metadata.xml | 90 ++++++++++++++++---------------- platform/build.gradle | 18 +++---- 2 files changed, 54 insertions(+), 54 deletions(-) diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 53e4cc6a1b7..930228e1661 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -1899,76 +1899,76 @@ - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + diff --git a/platform/build.gradle b/platform/build.gradle index 47008afdf3f..13f5c5ea22a 100644 --- a/platform/build.gradle +++ b/platform/build.gradle @@ -106,15 +106,15 @@ dependencies { api 'io.pkts:pkts-core:3.0.10' - api 'io.consensys.protocols:tuweni-bytes:25.2.0' - api 'io.consensys.protocols:tuweni-config:25.2.0' - api 'io.consensys.protocols:tuweni-concurrent:25.2.0' - api 'io.consensys.protocols:tuweni-crypto:25.2.0' - api 'io.consensys.protocols:tuweni-io:25.2.0' - api 'io.consensys.protocols:tuweni-net:25.2.0' - api 'io.consensys.protocols:tuweni-rlp:25.2.0' - api 'io.consensys.protocols:tuweni-toml:25.2.0' - api 'io.consensys.protocols:tuweni-units:25.2.0' + api 'io.consensys.protocols:tuweni-bytes:2.6.0' + api 'io.consensys.protocols:tuweni-config:2.6.0' + api 'io.consensys.protocols:tuweni-concurrent:2.6.0' + api 'io.consensys.protocols:tuweni-crypto:2.6.0' + api 'io.consensys.protocols:tuweni-io:2.6.0' + api 'io.consensys.protocols:tuweni-net:2.6.0' + api 'io.consensys.protocols:tuweni-rlp:2.6.0' + api 'io.consensys.protocols:tuweni-toml:2.6.0' + api 'io.consensys.protocols:tuweni-units:2.6.0' api 'net.java.dev.jna:jna:5.16.0' From 95ca24090fbffbff366cc5bde95bb1aa4d9248a2 Mon Sep 17 00:00:00 2001 From: Simon Dudley Date: Thu, 6 Mar 2025 17:02:41 +1000 Subject: [PATCH 4/4] Exclude io.tmio.tuweni libs across all projects Signed-off-by: Simon Dudley --- build.gradle | 6 ++++++ ethereum/p2p/build.gradle | 8 +------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build.gradle b/build.gradle index 45256c4a65d..b92ee19c868 100644 --- a/build.gradle +++ b/build.gradle @@ -203,6 +203,12 @@ configure(allprojects - project(':platform')) { resolutionStrategy.capabilitiesResolution.withCapability('org.bouncycastle:bcpkix-jdk18on') { selectHighestVersion() } + + // transitive versions conflict with io.protocols.tuweni, prefer ours + exclude group: 'io.tmio', module: 'tuweni-bytes' + exclude group: 'io.tmio', module: 'tuweni-crypto' + exclude group: 'io.tmio', module: 'tuweni-rlp' + exclude group: 'io.tmio', module: 'tuweni-units' } diff --git a/ethereum/p2p/build.gradle b/ethereum/p2p/build.gradle index f1b7a2012ae..b9aad2646d3 100644 --- a/ethereum/p2p/build.gradle +++ b/ethereum/p2p/build.gradle @@ -60,13 +60,7 @@ dependencies { annotationProcessor "org.immutables:value" implementation "org.immutables:value-annotations" - implementation('tech.pegasys.discovery:discovery') { - // version conflicts, prefer ours - exclude group: 'org.apache.tuweni', module:'tuweni-bytes' - exclude group: 'org.apache.tuweni', module:'tuweni-crypto' - exclude group: 'org.apache.tuweni', module:'tuweni-rlp' - exclude group: 'org.apache.tuweni', module:'tuweni-units' - } + implementation 'tech.pegasys.discovery:discovery' // test dependencies. testImplementation project(path: ':ethereum:core', configuration: 'testArtifacts')