From e00277cd8986e4500d39936264506407651d8eea Mon Sep 17 00:00:00 2001 From: Antoine Toulme Date: Tue, 11 Jul 2023 22:26:32 -0700 Subject: [PATCH] Update tuweni2.4.2 (#5684) * Revert "Revert "Update Tuweni to 2.4.1 (#5513)" (#5585)" This reverts commit 6111e1bbc36f6b8b19780412cc61f849b639e350. Signed-off-by: Antoine Toulme * update Tuweni to 2.4.2 Signed-off-by: Antoine Toulme --------- Signed-off-by: Antoine Toulme --- CHANGELOG.md | 1 + 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/build.gradle | 4 +- crypto/algorithms/build.gradle | 4 +- datatypes/build.gradle | 4 +- enclave/build.gradle | 2 +- ethereum/api/build.gradle | 8 +- ethereum/blockcreation/build.gradle | 4 +- ethereum/core/build.gradle | 14 +- .../ethereum/core/TransactionTestFixture.java | 3 +- .../core/encoding/WithdrawalEncoderTest.java | 3 +- ethereum/eth/build.gradle | 6 +- .../eth/sync/snapsync/RangeManagerTest.java | 4 +- .../layered/BaseTransactionPoolTest.java | 2 +- ethereum/ethstats/build.gradle | 2 +- ethereum/mock-p2p/build.gradle | 2 +- ethereum/p2p/build.gradle | 14 +- .../p2p/network/DefaultP2PNetwork.java | 12 +- .../p2p/network/DefaultP2PNetworkTest.java | 17 +- ethereum/permissioning/build.gradle | 6 +- ethereum/referencetests/build.gradle | 4 +- ethereum/retesteth/build.gradle | 4 +- 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 | 400 ++++++++++++++++++ gradle/versions.gradle | 9 +- pki/build.gradle | 2 +- plugin-api/build.gradle | 4 +- plugins/rocksdb/build.gradle | 2 +- privacy-contracts/build.gradle | 6 +- services/tasks/build.gradle | 2 +- testutil/build.gradle | 6 +- 42 files changed, 513 insertions(+), 98 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f507bc085d..8ffedd38d25 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - EvmTool now executes the `execution-spec-tests` via the `t8n` and `b11r`. See the [README](ethereum/evmtool/README.md) in EvmTool for more instructions. - Improve lifecycle management of the transaction pool [#5634](https://github.com/hyperledger/besu/pull/5634) - Add extension points in AbstractCreateOperation for EVM libraries to react to contract creations [#5656](https://github.com/hyperledger/besu/pull/5656) +- Update to Tuweni 2.4.2. [#5684](https://github.com/hyperledger/besu/pull/5684) ### Bug Fixes - Use the node's configuration to determine if DNS enode URLs are allowed in calls to `admin_addPeer` and `admin_removePeer` [#5584](https://github.com/hyperledger/besu/pull/5584) diff --git a/acceptance-tests/dsl/build.gradle b/acceptance-tests/dsl/build.gradle index d65de08b954..7aff9aaffb5 100644 --- a/acceptance-tests/dsl/build.gradle +++ b/acceptance-tests/dsl/build.gradle @@ -36,9 +36,9 @@ dependencies { implementation 'io.vertx:vertx-core' implementation 'junit:junit' implementation 'io.opentelemetry:opentelemetry-api' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-io' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio:tuweni-io' + implementation 'io.tmio: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 8b23195361d..cc4a54b009b 100644 --- a/acceptance-tests/tests/build.gradle +++ b/acceptance-tests/tests/build.gradle @@ -76,7 +76,7 @@ dependencies { testImplementation 'junit:junit' testImplementation 'org.apache.commons:commons-compress' testImplementation 'org.apache.logging.log4j:log4j-core' - testImplementation 'org.apache.tuweni:tuweni-crypto' + testImplementation 'io.tmio: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 969571b565c..73977d81ba7 100644 --- a/besu/build.gradle +++ b/besu/build.gradle @@ -70,10 +70,10 @@ dependencies { implementation 'io.vertx:vertx-web' implementation 'org.apache.commons:commons-lang3' implementation 'org.apache.logging.log4j:log4j-core' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-config' - implementation 'org.apache.tuweni:tuweni-toml' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio:tuweni-config' + implementation 'io.tmio:tuweni-toml' + implementation 'io.tmio:tuweni-units' implementation 'org.springframework.security:spring-security-crypto' implementation 'org.xerial.snappy:snappy-java' implementation 'tech.pegasys:jc-kzg-4844' @@ -92,8 +92,8 @@ dependencies { testImplementation 'io.opentelemetry:opentelemetry-api' testImplementation 'junit:junit' testImplementation 'org.apache.commons:commons-text' - testImplementation 'org.apache.tuweni:tuweni-bytes' - testImplementation 'org.apache.tuweni:tuweni-units' + testImplementation 'io.tmio:tuweni-bytes' + testImplementation 'io.tmio: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 842bf9e1322..acfbc83f43f 100644 --- a/config/build.gradle +++ b/config/build.gradle @@ -36,8 +36,8 @@ dependencies { implementation 'com.fasterxml.jackson.core:jackson-databind' implementation 'com.google.guava:guava' implementation 'info.picocli:picocli' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio:tuweni-units' testImplementation project(':testutil') diff --git a/consensus/clique/build.gradle b/consensus/clique/build.gradle index b6c39a703ae..4c5634f17c2 100644 --- a/consensus/clique/build.gradle +++ b/consensus/clique/build.gradle @@ -47,8 +47,8 @@ dependencies { implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' implementation 'com.fasterxml.jackson.core:jackson-databind' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio: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 540cd788315..49c73e7d176 100644 --- a/consensus/common/build.gradle +++ b/consensus/common/build.gradle @@ -44,7 +44,7 @@ dependencies { implementation 'com.fasterxml.jackson.core:jackson-databind' implementation 'com.google.guava:guava' - implementation 'org.apache.tuweni:tuweni-bytes' + implementation 'io.tmio:tuweni-bytes' testImplementation project(':config') testImplementation project(':crypto:algorithms') diff --git a/consensus/ibft/build.gradle b/consensus/ibft/build.gradle index 023d70c1626..dd05944803f 100644 --- a/consensus/ibft/build.gradle +++ b/consensus/ibft/build.gradle @@ -44,8 +44,8 @@ dependencies { implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' implementation 'com.fasterxml.jackson.core:jackson-databind' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio: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 50bf258ab9f..9476f09d9d7 100644 --- a/consensus/merge/build.gradle +++ b/consensus/merge/build.gradle @@ -46,8 +46,8 @@ dependencies { implementation 'com.fasterxml.jackson.core:jackson-databind' implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio:tuweni-units' testImplementation project(path: ':consensus:common', configuration: 'testArtifacts') testImplementation project(':crypto:algorithms') diff --git a/consensus/qbft/build.gradle b/consensus/qbft/build.gradle index 54647ef51db..bb3d9a3f894 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 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio: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 ad5346e2273..dcddb83be34 100644 --- a/crypto/algorithms/build.gradle +++ b/crypto/algorithms/build.gradle @@ -33,8 +33,8 @@ dependencies { api 'org.slf4j:slf4j-api' implementation 'net.java.dev.jna:jna' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio: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 2f4a0e02065..a55bf4e45c5 100644 --- a/datatypes/build.gradle +++ b/datatypes/build.gradle @@ -34,8 +34,8 @@ dependencies { implementation project(':crypto:algorithms') implementation project(':ethereum:rlp') implementation 'com.google.guava:guava' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio:tuweni-units' testImplementation 'org.assertj:assertj-core' testImplementation 'org.junit.jupiter:junit-jupiter' diff --git a/enclave/build.gradle b/enclave/build.gradle index 103d7f1ab1f..25aeb466d77 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 'org.apache.tuweni:tuweni-net' + implementation 'io.tmio:tuweni-net' runtimeOnly('org.bouncycastle:bcpkix-jdk18on') diff --git a/ethereum/api/build.gradle b/ethereum/api/build.gradle index 922dfd0ee6b..79accd5c5e1 100644 --- a/ethereum/api/build.gradle +++ b/ethereum/api/build.gradle @@ -64,10 +64,10 @@ dependencies { implementation 'io.vertx:vertx-web' implementation 'io.vertx:vertx-codegen' implementation 'com.fasterxml.jackson.core:jackson-databind' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-net' - implementation 'org.apache.tuweni:tuweni-toml' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio:tuweni-net' + implementation 'io.tmio:tuweni-toml' + implementation 'io.tmio:tuweni-units' implementation 'org.antlr:antlr4-runtime' implementation 'org.bouncycastle:bcprov-jdk18on' implementation 'org.springframework.security:spring-security-crypto' diff --git a/ethereum/blockcreation/build.gradle b/ethereum/blockcreation/build.gradle index 6ab57e51315..d813869db6a 100644 --- a/ethereum/blockcreation/build.gradle +++ b/ethereum/blockcreation/build.gradle @@ -24,8 +24,8 @@ dependencies { implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio:tuweni-units' testImplementation project(path: ':config', configuration: 'testSupportArtifacts') testImplementation project(path: ':ethereum:core', configuration: 'testArtifacts') diff --git a/ethereum/core/build.gradle b/ethereum/core/build.gradle index 2804b2648d0..4f2db3119d7 100644 --- a/ethereum/core/build.gradle +++ b/ethereum/core/build.gradle @@ -54,10 +54,10 @@ dependencies { implementation 'net.java.dev.jna:jna' implementation 'org.apache.commons:commons-lang3' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-concurrent' - implementation 'org.apache.tuweni:tuweni-units' - implementation 'org.apache.tuweni:tuweni-rlp' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio:tuweni-concurrent' + implementation 'io.tmio:tuweni-units' + implementation 'io.tmio:tuweni-rlp' implementation 'org.hyperledger.besu:bls12-381' implementation 'org.immutables:value-annotations' @@ -78,9 +78,9 @@ dependencies { testImplementation 'junit:junit' testImplementation 'org.apache.logging.log4j:log4j-core' - testImplementation 'org.apache.tuweni:tuweni-bytes' - testImplementation 'org.apache.tuweni:tuweni-io' - testImplementation 'org.apache.tuweni:tuweni-units' + testImplementation 'io.tmio:tuweni-bytes' + testImplementation 'io.tmio:tuweni-io' + testImplementation 'io.tmio:tuweni-units' testImplementation 'org.assertj:assertj-core' testImplementation 'org.junit.jupiter:junit-jupiter' testImplementation 'org.junit.jupiter:junit-jupiter-params' diff --git a/ethereum/core/src/test-support/java/org/hyperledger/besu/ethereum/core/TransactionTestFixture.java b/ethereum/core/src/test-support/java/org/hyperledger/besu/ethereum/core/TransactionTestFixture.java index d766abf1017..79307d2ebdc 100644 --- a/ethereum/core/src/test-support/java/org/hyperledger/besu/ethereum/core/TransactionTestFixture.java +++ b/ethereum/core/src/test-support/java/org/hyperledger/besu/ethereum/core/TransactionTestFixture.java @@ -32,7 +32,8 @@ public class TransactionTestFixture { private static final Hash DEFAULT_VERSIONED_HASH = Hash.wrap( Bytes32.wrap( - Bytes.concatenate(Bytes.fromHexString("0x01"), Bytes.repeat((byte) 42, 31)))); + Bytes.concatenate( + Bytes.fromHexString("0x01"), Bytes.fromHexString("2a".repeat(31))))); private TransactionType transactionType = TransactionType.FRONTIER; diff --git a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/core/encoding/WithdrawalEncoderTest.java b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/core/encoding/WithdrawalEncoderTest.java index 3c80cd78712..7dd79e229a0 100644 --- a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/core/encoding/WithdrawalEncoderTest.java +++ b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/core/encoding/WithdrawalEncoderTest.java @@ -29,8 +29,7 @@ class WithdrawalEncoderTest { "0xd8808094000000000000000000000000000000000000000080"; public static final String WITHDRAWAL_MAX_VALUE = "0xf088ffffffffffffffff88ffffffffffffffff94ffffffffffffffffffffffffffffffffffffffff88ffffffffffffffff"; - public static final Address MAX_ADDRESS = - Address.fromHexString(Bytes.repeat((byte) 0xff, 20).toHexString()); + public static final Address MAX_ADDRESS = Address.fromHexString("ff".repeat(20)); @Test void shouldEncodeWithdrawalForZeroCase() { diff --git a/ethereum/eth/build.gradle b/ethereum/eth/build.gradle index 0f68fc521d3..68a40750b7c 100644 --- a/ethereum/eth/build.gradle +++ b/ethereum/eth/build.gradle @@ -55,9 +55,9 @@ dependencies { implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' implementation 'org.apache.commons:commons-lang3' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-units' - implementation 'org.apache.tuweni:tuweni-rlp' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio:tuweni-units' + implementation 'io.tmio:tuweni-rlp' annotationProcessor "org.immutables:value" implementation "org.immutables:value-annotations" diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/snapsync/RangeManagerTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/snapsync/RangeManagerTest.java index 4e065c8ef22..e4e116b8a8c 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/snapsync/RangeManagerTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/snapsync/RangeManagerTest.java @@ -41,7 +41,7 @@ public final class RangeManagerTest { @Test public void testRemainingRangesEqualToOneWhenFirstRangeContainsMoreThanHalf() { TreeMap items = new TreeMap<>(); - items.put(Bytes32.repeat((byte) 0xbb), Bytes.wrap(new byte[] {0x03})); + items.put(Bytes32.fromHexString("bb".repeat(32)), Bytes.wrap(new byte[] {0x03})); int nbRanges = RangeManager.getRangeCount(RangeManager.MIN_RANGE, RangeManager.MAX_RANGE, items); assertThat(nbRanges).isEqualTo(1); @@ -50,7 +50,7 @@ public void testRemainingRangesEqualToOneWhenFirstRangeContainsMoreThanHalf() { @Test public void testRemainingRangesEqualToOneWhenFirstRangeContainsLessThanHalf() { TreeMap items = new TreeMap<>(); - items.put(Bytes32.repeat((byte) 0x77), Bytes.wrap(new byte[] {0x03})); + items.put(Bytes32.fromHexString("77".repeat(32)), Bytes.wrap(new byte[] {0x03})); int nbRanges = RangeManager.getRangeCount(RangeManager.MIN_RANGE, RangeManager.MAX_RANGE, items); assertThat(nbRanges).isEqualTo(2); diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseTransactionPoolTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseTransactionPoolTest.java index defafb1b369..b594d7a258b 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseTransactionPoolTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseTransactionPoolTest.java @@ -110,7 +110,7 @@ protected TransactionTestFixture prepareTransaction( .nonce(nonce) .type(type); if (payloadSize > 0) { - var payloadBytes = Bytes.repeat((byte) 1, payloadSize); + var payloadBytes = Bytes.fromHexString("01".repeat(payloadSize)); tx.payload(payloadBytes); } if (type.supports1559FeeMarket()) { diff --git a/ethereum/ethstats/build.gradle b/ethereum/ethstats/build.gradle index c361c16c860..52fe38473ce 100644 --- a/ethereum/ethstats/build.gradle +++ b/ethereum/ethstats/build.gradle @@ -34,7 +34,7 @@ dependencies { implementation 'com.google.guava:guava' implementation 'com.squareup.okhttp3:okhttp' implementation 'io.vertx:vertx-core' - implementation 'org.apache.tuweni:tuweni-bytes' + implementation 'io.tmio:tuweni-bytes' implementation project(':consensus:clique') implementation project(':config') diff --git a/ethereum/mock-p2p/build.gradle b/ethereum/mock-p2p/build.gradle index b73c0a051fd..bfab38e98c7 100644 --- a/ethereum/mock-p2p/build.gradle +++ b/ethereum/mock-p2p/build.gradle @@ -35,7 +35,7 @@ dependencies { implementation project(':util') implementation 'io.vertx:vertx-core' - implementation 'org.apache.tuweni:tuweni-bytes' + implementation 'io.tmio:tuweni-bytes' testImplementation 'junit:junit' testImplementation 'org.assertj:assertj-core' diff --git a/ethereum/p2p/build.gradle b/ethereum/p2p/build.gradle index 6d36dfd1c74..0775a51d2a9 100644 --- a/ethereum/p2p/build.gradle +++ b/ethereum/p2p/build.gradle @@ -45,17 +45,17 @@ dependencies { implementation 'io.prometheus:simpleclient' implementation 'io.vertx:vertx-core' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-crypto' - implementation('org.apache.tuweni:tuweni-devp2p') { + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio:tuweni-crypto' + implementation('io.tmio:tuweni-devp2p') { exclude group:'ch.qos.logback', module:'logback-classic' } - implementation('org.apache.tuweni:tuweni-dns-discovery'){ + implementation('io.tmio:tuweni-dns-discovery'){ exclude group:'ch.qos.logback', module:'logback-classic' } - implementation 'org.apache.tuweni:tuweni-io' - implementation 'org.apache.tuweni:tuweni-rlp' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-io' + implementation 'io.tmio:tuweni-rlp' + implementation 'io.tmio:tuweni-units' implementation 'org.jetbrains.kotlin:kotlin-stdlib' implementation 'org.owasp.encoder:encoder' implementation 'org.xerial.snappy:snappy-java' diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/network/DefaultP2PNetwork.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/network/DefaultP2PNetwork.java index 427093cb599..ec65934b297 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/network/DefaultP2PNetwork.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/network/DefaultP2PNetwork.java @@ -145,6 +145,7 @@ public class DefaultP2PNetwork implements P2PNetwork { private final AtomicBoolean stopped = new AtomicBoolean(false); private final CountDownLatch shutdownLatch = new CountDownLatch(2); private final Duration shutdownTimeout = Duration.ofSeconds(15); + private final Vertx vertx; private DNSDaemon dnsDaemon; /** @@ -163,6 +164,7 @@ public class DefaultP2PNetwork implements P2PNetwork { * @param maintainedPeers A collection of peers for which we are expected to maintain connections * @param reputationManager An object that inspect disconnections for misbehaving peers that can * then be blacklisted. + * @param vertx the Vert.x instance managing network resources */ DefaultP2PNetwork( final MutableLocalNode localNode, @@ -173,7 +175,8 @@ public class DefaultP2PNetwork implements P2PNetwork { final PeerPermissions peerPermissions, final NatService natService, final MaintainedPeers maintainedPeers, - final PeerDenylistManager reputationManager) { + final PeerDenylistManager reputationManager, + final Vertx vertx) { this.localNode = localNode; this.peerDiscoveryAgent = peerDiscoveryAgent; this.rlpxAgent = rlpxAgent; @@ -183,6 +186,7 @@ public class DefaultP2PNetwork implements P2PNetwork { this.nodeId = nodeKey.getPublicKey().getEncodedBytes(); this.peerPermissions = peerPermissions; + this.vertx = vertx; // set the requirement here that the number of peers be greater than the lower bound final int peerLowerBound = rlpxAgent.getPeerLowerBound(); @@ -229,7 +233,8 @@ public void start() { createDaemonListener(), 0L, 600000L, - config.getDnsDiscoveryServerOverride().orElse(null)); + config.getDnsDiscoveryServerOverride().orElse(null), + vertx); dnsDaemon.start(); }); @@ -535,7 +540,8 @@ private P2PNetwork doBuild() { peerPermissions, natService, maintainedPeers, - reputationManager); + reputationManager, + vertx); } private void validate() { diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/DefaultP2PNetworkTest.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/DefaultP2PNetworkTest.java index ffc1c84431b..00cbccb126a 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/DefaultP2PNetworkTest.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/DefaultP2PNetworkTest.java @@ -58,6 +58,9 @@ import java.util.stream.Collectors; import java.util.stream.Stream; +import io.vertx.core.Context; +import io.vertx.core.Vertx; +import io.vertx.core.dns.DnsClient; import org.apache.tuweni.bytes.Bytes32; import org.apache.tuweni.crypto.SECP256K1; import org.assertj.core.api.Assertions; @@ -348,8 +351,13 @@ public void shouldStartDnsDiscoveryWhenDnsURLIsConfigured() { final NetworkingConfiguration dnsConfig = when(spy(config).getDiscovery()).thenReturn(disco).getMock(); + Vertx vertx = mock(Vertx.class); + when(vertx.createDnsClient(any())).thenReturn(mock(DnsClient.class)); + when(vertx.getOrCreateContext()).thenReturn(mock(Context.class)); + // spy on DefaultP2PNetwork - final DefaultP2PNetwork testClass = (DefaultP2PNetwork) builder().config(dnsConfig).build(); + final DefaultP2PNetwork testClass = + (DefaultP2PNetwork) builder().vertx(vertx).config(dnsConfig).build(); testClass.start(); assertThat(testClass.getDnsDaemon()).isPresent(); @@ -366,7 +374,12 @@ public void shouldUseDnsServerOverrideIfPresent() { doReturn(disco).when(dnsConfig).getDiscovery(); doReturn(Optional.of("localhost")).when(dnsConfig).getDnsDiscoveryServerOverride(); - final DefaultP2PNetwork testClass = (DefaultP2PNetwork) builder().config(dnsConfig).build(); + Vertx vertx = mock(Vertx.class); + when(vertx.createDnsClient(any())).thenReturn(mock(DnsClient.class)); + when(vertx.getOrCreateContext()).thenReturn(mock(Context.class)); + + final DefaultP2PNetwork testClass = + (DefaultP2PNetwork) builder().config(dnsConfig).vertx(vertx).build(); testClass.start(); // ensure we used the dns server override config when building DNSDaemon: diff --git a/ethereum/permissioning/build.gradle b/ethereum/permissioning/build.gradle index 5b10e216ecf..a0493360a15 100644 --- a/ethereum/permissioning/build.gradle +++ b/ethereum/permissioning/build.gradle @@ -41,9 +41,9 @@ dependencies { implementation 'com.fasterxml.jackson.core:jackson-databind' implementation 'com.google.guava:guava' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-toml' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio:tuweni-toml' + implementation 'io.tmio:tuweni-units' implementation 'org.web3j:abi' testImplementation project(':config') diff --git a/ethereum/referencetests/build.gradle b/ethereum/referencetests/build.gradle index 49dc6109074..1aa1e2a2651 100644 --- a/ethereum/referencetests/build.gradle +++ b/ethereum/referencetests/build.gradle @@ -138,8 +138,8 @@ dependencies { referenceTestImplementation 'ethereum:execution-spec-tests:0.2.3:fixtures@tar.gz' referenceTestImplementation 'com.fasterxml.jackson.core:jackson-databind' referenceTestImplementation 'com.google.guava:guava' - referenceTestImplementation 'org.apache.tuweni:tuweni-bytes' - referenceTestImplementation 'org.apache.tuweni:tuweni-units' + referenceTestImplementation 'io.tmio:tuweni-bytes' + referenceTestImplementation 'io.tmio: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/retesteth/build.gradle b/ethereum/retesteth/build.gradle index 08d06932905..5bb9b1d8559 100644 --- a/ethereum/retesteth/build.gradle +++ b/ethereum/retesteth/build.gradle @@ -47,8 +47,8 @@ dependencies { implementation 'io.vertx:vertx-core' implementation 'io.vertx:vertx-web' implementation 'com.fasterxml.jackson.core:jackson-databind' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio:tuweni-units' testImplementation 'junit:junit' testImplementation 'org.assertj:assertj-core' diff --git a/ethereum/rlp/build.gradle b/ethereum/rlp/build.gradle index 678918d7cef..17303480e92 100644 --- a/ethereum/rlp/build.gradle +++ b/ethereum/rlp/build.gradle @@ -31,8 +31,8 @@ jar { dependencies { annotationProcessor 'org.openjdk.jmh:jmh-generator-annprocess' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio:tuweni-units' implementation 'com.google.guava:guava' diff --git a/ethereum/stratum/build.gradle b/ethereum/stratum/build.gradle index d462fb3f32d..5c7dfaed20d 100644 --- a/ethereum/stratum/build.gradle +++ b/ethereum/stratum/build.gradle @@ -41,8 +41,8 @@ dependencies { implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' implementation 'com.fasterxml.jackson.core:jackson-databind' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio: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 0477841563d..99f44680d92 100644 --- a/ethereum/trie/build.gradle +++ b/ethereum/trie/build.gradle @@ -36,7 +36,7 @@ dependencies { implementation 'org.immutables:value-annotations' implementation 'com.google.guava:guava' implementation 'io.opentelemetry:opentelemetry-api' - implementation 'org.apache.tuweni:tuweni-bytes' + implementation 'io.tmio:tuweni-bytes' implementation 'org.bouncycastle:bcprov-jdk18on' annotationProcessor 'org.immutables:value' @@ -46,7 +46,7 @@ dependencies { testImplementation 'com.fasterxml.jackson.core:jackson-databind' testImplementation 'junit:junit' - testImplementation 'org.apache.tuweni:tuweni-units' + testImplementation 'io.tmio: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 1d23538ed0c..642318e25c7 100644 --- a/ethereum/verkletrie/build.gradle +++ b/ethereum/verkletrie/build.gradle @@ -35,8 +35,8 @@ dependencies { implementation "org.immutables:value-annotations" implementation 'com.google.guava:guava' implementation 'io.opentelemetry:opentelemetry-api' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio: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 'junit:junit' - testImplementation 'org.apache.tuweni:tuweni-units' + testImplementation 'io.tmio: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 dd8760c1079..83caaae31b1 100644 --- a/evm/build.gradle +++ b/evm/build.gradle @@ -40,8 +40,8 @@ dependencies { implementation 'com.github.ben-manes.caffeine:caffeine' implementation 'com.google.guava:guava' implementation 'net.java.dev.jna:jna' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-units' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio:tuweni-units' implementation 'org.hyperledger.besu:arithmetic' implementation 'org.hyperledger.besu:bls12-381' implementation 'tech.pegasys:jc-kzg-4844' diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index a71f2bbff64..c9a2105d52d 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -467,6 +467,17 @@ + + + + + + + + + + + @@ -518,6 +529,14 @@ + + + + + + + + @@ -808,6 +827,9 @@ + + + @@ -2549,6 +2571,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2604,6 +2866,11 @@ + + + + + @@ -2630,6 +2897,14 @@ + + + + + + + + @@ -2638,11 +2913,24 @@ + + + + + + + + + + + + + @@ -2980,6 +3268,14 @@ + + + + + + + + @@ -2990,6 +3286,11 @@ + + + + + @@ -3006,6 +3307,14 @@ + + + + + + + + @@ -3354,6 +3663,14 @@ + + + + + + + + @@ -3386,6 +3703,14 @@ + + + + + + + + @@ -3410,6 +3735,14 @@ + + + + + + + + @@ -3450,6 +3783,14 @@ + + + + + + + + @@ -3466,6 +3807,14 @@ + + + + + + + + @@ -4526,6 +4875,14 @@ + + + + + + + + @@ -4563,11 +4920,24 @@ + + + + + + + + + + + + + @@ -4576,6 +4946,14 @@ + + + + + + + + @@ -4587,6 +4965,17 @@ + + + + + + + + + + + @@ -4598,6 +4987,17 @@ + + + + + + + + + + + diff --git a/gradle/versions.gradle b/gradle/versions.gradle index 0c677809ad3..4089bbb3014 100644 --- a/gradle/versions.gradle +++ b/gradle/versions.gradle @@ -16,7 +16,7 @@ dependencyManagement { dependencies { - dependencySet(group: 'org.antlr', version: '4.10.1') { + dependencySet(group: 'org.antlr', version: '4.11.1') { entry 'antlr4' entry 'antlr4-runtime' } @@ -133,7 +133,7 @@ dependencyManagement { entry 'log4j-slf4j2-impl' } - dependencySet(group: 'org.apache.tuweni', version: '2.3.1') { + dependencySet(group: 'io.tmio', version: '2.4.2') { entry 'tuweni-bytes' entry 'tuweni-config' entry 'tuweni-concurrent' @@ -147,11 +147,6 @@ dependencyManagement { entry 'tuweni-units' } - // commons-net is a transitive dependency of tuweni. - // Tuweni 2.3.1 has commons-net:3.8.0 which we force here to 3.9.0 - // Once tuweni is updated, can remove this line - dependency 'commons-net:commons-net:3.9.0' - dependency 'org.assertj:assertj-core:3.24.2' dependency 'org.awaitility:awaitility:4.2.0' diff --git a/pki/build.gradle b/pki/build.gradle index 3eab6aca046..c9021b3a83e 100644 --- a/pki/build.gradle +++ b/pki/build.gradle @@ -31,7 +31,7 @@ dependencies { api 'org.slf4j:slf4j-api' implementation 'com.google.guava:guava' - implementation 'org.apache.tuweni:tuweni-bytes' + implementation 'io.tmio:tuweni-bytes' implementation 'org.bouncycastle:bcpkix-jdk18on' testImplementation 'junit:junit' diff --git a/plugin-api/build.gradle b/plugin-api/build.gradle index f804c4a33cf..eef486e6c7b 100644 --- a/plugin-api/build.gradle +++ b/plugin-api/build.gradle @@ -30,8 +30,8 @@ jar { dependencies { api project(':datatypes') api 'org.apache.commons:commons-lang3' - api 'org.apache.tuweni:tuweni-bytes' - api 'org.apache.tuweni:tuweni-units' + api 'io.tmio:tuweni-bytes' + api 'io.tmio:tuweni-units' implementation 'com.google.guava:guava' implementation project(':evm') } diff --git a/plugins/rocksdb/build.gradle b/plugins/rocksdb/build.gradle index fa4b0e9f0e0..95e9b5087a3 100644 --- a/plugins/rocksdb/build.gradle +++ b/plugins/rocksdb/build.gradle @@ -45,7 +45,7 @@ dependencies { implementation 'info.picocli:picocli' implementation 'io.opentelemetry:opentelemetry-api' implementation 'io.prometheus:simpleclient' - implementation 'org.apache.tuweni:tuweni-bytes' + implementation 'io.tmio:tuweni-bytes' implementation 'org.rocksdb:rocksdbjni' implementation project(path: ':ethereum:core') diff --git a/privacy-contracts/build.gradle b/privacy-contracts/build.gradle index 65401fd753b..33e3176ce05 100644 --- a/privacy-contracts/build.gradle +++ b/privacy-contracts/build.gradle @@ -15,9 +15,9 @@ jar { enabled = true } dependencies { - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-io' - implementation 'org.apache.tuweni:tuweni-toml' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio:tuweni-io' + implementation 'io.tmio:tuweni-toml' implementation 'org.web3j:abi' implementation 'org.web3j:besu' } diff --git a/services/tasks/build.gradle b/services/tasks/build.gradle index 66784412dc8..5cfa2411f39 100644 --- a/services/tasks/build.gradle +++ b/services/tasks/build.gradle @@ -38,7 +38,7 @@ dependencies { implementation 'com.google.guava:guava' implementation 'io.vertx:vertx-core' - implementation 'org.apache.tuweni:tuweni-bytes' + implementation 'io.tmio:tuweni-bytes' testImplementation 'org.assertj:assertj-core' testImplementation 'org.junit.jupiter:junit-jupiter' diff --git a/testutil/build.gradle b/testutil/build.gradle index f235bb054f0..78cf879aca4 100644 --- a/testutil/build.gradle +++ b/testutil/build.gradle @@ -37,9 +37,9 @@ dependencies { implementation 'com.squareup.okhttp3:okhttp' implementation 'io.vertx:vertx-core' implementation 'org.junit.jupiter:junit-jupiter' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-io' - implementation 'org.apache.tuweni:tuweni-toml' + implementation 'io.tmio:tuweni-bytes' + implementation 'io.tmio:tuweni-io' + implementation 'io.tmio:tuweni-toml' implementation 'org.assertj:assertj-core' implementation 'org.mockito:mockito-core' implementation 'org.web3j:core'