You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuweni.apache.org by ji...@apache.org on 2019/04/02 20:36:33 UTC

[incubator-tuweni] branch master updated: Start of migration to ASF namespace... net.consensys.cava -> org.apache.tuweni

This is an automated email from the ASF dual-hosted git repository.

jim pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tuweni.git


The following commit(s) were added to refs/heads/master by this push:
     new e20ff92  Start of migration to ASF namespace... net.consensys.cava -> org.apache.tuweni
e20ff92 is described below

commit e20ff92ccf50fa2117112ac22057ffb1a460d35f
Author: Jim Jagielski <ji...@gmail.com>
AuthorDate: Tue Apr 2 16:35:48 2019 -0400

    Start of migration to ASF namespace... net.consensys.cava -> org.apache.tuweni
---
 PACKAGES.md                                        | 82 +++++++++++-----------
 README.md                                          |  4 +-
 build.gradle                                       |  6 +-
 .../net/consensys/cava/bytes/AbstractBytes.java    |  2 +-
 .../consensys/cava/bytes/ArrayWrappingBytes.java   |  2 +-
 .../consensys/cava/bytes/ArrayWrappingBytes32.java |  2 +-
 .../consensys/cava/bytes/ArrayWrappingBytes48.java |  2 +-
 .../consensys/cava/bytes/BufferWrappingBytes.java  |  2 +-
 .../consensys/cava/bytes/ByteBufWrappingBytes.java |  2 +-
 .../cava/bytes/ByteBufferWrappingBytes.java        |  2 +-
 .../main/java/net/consensys/cava/bytes/Bytes.java  |  2 +-
 .../java/net/consensys/cava/bytes/Bytes32.java     |  2 +-
 .../java/net/consensys/cava/bytes/Bytes48.java     |  2 +-
 .../java/net/consensys/cava/bytes/BytesValues.java |  2 +-
 .../consensys/cava/bytes/ConcatenatedBytes.java    |  2 +-
 .../consensys/cava/bytes/DelegatingBytes32.java    |  2 +-
 .../consensys/cava/bytes/DelegatingBytes48.java    |  2 +-
 .../cava/bytes/DelegatingMutableBytes32.java       |  2 +-
 .../cava/bytes/DelegatingMutableBytes48.java       |  2 +-
 .../cava/bytes/MutableArrayWrappingBytes.java      |  2 +-
 .../cava/bytes/MutableArrayWrappingBytes32.java    |  2 +-
 .../cava/bytes/MutableArrayWrappingBytes48.java    |  2 +-
 .../cava/bytes/MutableBufferWrappingBytes.java     |  2 +-
 .../cava/bytes/MutableByteBufWrappingBytes.java    |  2 +-
 .../cava/bytes/MutableByteBufferWrappingBytes.java |  2 +-
 .../net/consensys/cava/bytes/MutableBytes.java     |  2 +-
 .../net/consensys/cava/bytes/MutableBytes32.java   |  2 +-
 .../net/consensys/cava/bytes/MutableBytes48.java   |  2 +-
 .../net/consensys/cava/bytes/package-info.java     |  4 +-
 .../net/consensys/cava/bytes/BufferBytesTest.java  |  2 +-
 .../net/consensys/cava/bytes/ByteBufBytesTest.java |  2 +-
 .../consensys/cava/bytes/ByteBufferBytesTest.java  |  2 +-
 .../java/net/consensys/cava/bytes/Bytes32Test.java |  2 +-
 .../java/net/consensys/cava/bytes/Bytes48Test.java |  2 +-
 .../java/net/consensys/cava/bytes/BytesTest.java   |  2 +-
 .../net/consensys/cava/bytes/CommonBytesTests.java |  2 +-
 .../cava/bytes/ConcatenatedBytesTest.java          |  6 +-
 .../cava/concurrent/coroutines/AsyncCompletion.kt  |  6 +-
 .../cava/concurrent/coroutines/AsyncResult.kt      |  6 +-
 .../cava/concurrent/coroutines/CoroutineLatch.kt   |  2 +-
 .../cava/concurrent/coroutines/Retryable.kt        |  2 +-
 .../concurrent/coroutines/CoroutineLatchTest.kt    |  2 +-
 .../cava/concurrent/coroutines/RetryableTest.kt    |  2 +-
 .../consensys/cava/concurrent/AsyncCompletion.java |  2 +-
 .../net/consensys/cava/concurrent/AsyncResult.java |  2 +-
 .../consensys/cava/concurrent/AtomicSlotMap.java   |  2 +-
 .../concurrent/CompletableAsyncCompletion.java     |  2 +-
 .../cava/concurrent/CompletableAsyncResult.java    |  2 +-
 .../DefaultCompletableAsyncCompletion.java         |  2 +-
 .../concurrent/DefaultCompletableAsyncResult.java  |  2 +-
 .../net/consensys/cava/concurrent/ExpiringMap.java |  2 +-
 .../net/consensys/cava/concurrent/ExpiringSet.java |  2 +-
 .../consensys/cava/concurrent/package-info.java    |  4 +-
 .../cava/concurrent/AtomicSlotMapTest.java         |  2 +-
 .../DefaultCompletableAsyncCompletionTest.java     |  2 +-
 .../DefaultCompletableAsyncResultTest.java         |  2 +-
 .../consensys/cava/concurrent/ExpiringMapTest.java |  2 +-
 .../consensys/cava/concurrent/ExpiringSetTest.java |  2 +-
 .../net/consensys/cava/config/Configuration.java   |  6 +-
 .../consensys/cava/config/ConfigurationError.java  |  2 +-
 .../consensys/cava/config/ConfigurationErrors.java |  2 +-
 .../cava/config/ConfigurationValidator.java        |  2 +-
 .../consensys/cava/config/DocumentPosition.java    |  2 +-
 .../consensys/cava/config/EmptyConfiguration.java  |  4 +-
 .../InvalidConfigurationPropertyTypeException.java |  2 +-
 .../config/NoConfigurationPropertyException.java   |  2 +-
 .../consensys/cava/config/PropertyValidator.java   |  6 +-
 .../consensys/cava/config/PropertyValidators.java  |  6 +-
 .../java/net/consensys/cava/config/Schema.java     |  2 +-
 .../net/consensys/cava/config/SchemaBuilder.java   |  4 +-
 .../cava/config/TomlBackedConfiguration.java       | 16 ++---
 .../net/consensys/cava/config/TomlSerializer.java  |  6 +-
 .../net/consensys/cava/config/package-info.java    |  4 +-
 .../cava/config/PropertyValidatorTest.java         |  2 +-
 .../consensys/cava/config/SchemaBuilderTest.java   |  6 +-
 .../cava/config/TomlBackedConfigurationTest.java   |  6 +-
 .../main/java/net/consensys/cava/crypto/Hash.java  |  6 +-
 .../InvalidSEC256K1SecretKeyStoreException.java    |  2 +-
 .../java/net/consensys/cava/crypto/SECP256K1.java  | 18 ++---
 .../consensys/cava/crypto/mikuli/AtePairing.java   |  2 +-
 .../net/consensys/cava/crypto/mikuli/BLS12381.java |  4 +-
 .../net/consensys/cava/crypto/mikuli/G1Point.java  |  4 +-
 .../net/consensys/cava/crypto/mikuli/G2Point.java  |  4 +-
 .../net/consensys/cava/crypto/mikuli/GTPoint.java  |  2 +-
 .../net/consensys/cava/crypto/mikuli/Group.java    |  2 +-
 .../net/consensys/cava/crypto/mikuli/KeyPair.java  |  2 +-
 .../consensys/cava/crypto/mikuli/PublicKey.java    |  4 +-
 .../net/consensys/cava/crypto/mikuli/Scalar.java   |  2 +-
 .../consensys/cava/crypto/mikuli/SecretKey.java    |  4 +-
 .../consensys/cava/crypto/mikuli/Signature.java    |  4 +-
 .../cava/crypto/mikuli/SignatureAndPublicKey.java  |  2 +-
 .../consensys/cava/crypto/mikuli/package-info.java |  4 +-
 .../net/consensys/cava/crypto/package-info.java    |  4 +-
 .../consensys/cava/crypto/sodium/AES256GCM.java    |  4 +-
 .../consensys/cava/crypto/sodium/Allocated.java    |  4 +-
 .../net/consensys/cava/crypto/sodium/Auth.java     |  4 +-
 .../java/net/consensys/cava/crypto/sodium/Box.java |  4 +-
 .../consensys/cava/crypto/sodium/Concatenate.java  |  2 +-
 .../sodium/DefaultDetachedEncryptionResult.java    |  4 +-
 .../crypto/sodium/DetachedEncryptionResult.java    |  4 +-
 .../consensys/cava/crypto/sodium/DiffieHelman.java |  4 +-
 .../consensys/cava/crypto/sodium/GenericHash.java  |  4 +-
 .../consensys/cava/crypto/sodium/HMACSHA256.java   |  4 +-
 .../consensys/cava/crypto/sodium/HMACSHA512.java   |  4 +-
 .../cava/crypto/sodium/HMACSHA512256.java          |  4 +-
 .../cava/crypto/sodium/KeyDerivation.java          |  4 +-
 .../consensys/cava/crypto/sodium/KeyExchange.java  |  4 +-
 .../consensys/cava/crypto/sodium/LibSodium.java    |  2 +-
 .../consensys/cava/crypto/sodium/PasswordHash.java |  4 +-
 .../consensys/cava/crypto/sodium/SHA256Hash.java   |  4 +-
 .../consensys/cava/crypto/sodium/SecretBox.java    |  4 +-
 .../cava/crypto/sodium/SecretDecryptionStream.java |  4 +-
 .../cava/crypto/sodium/SecretEncryptionStream.java |  4 +-
 .../consensys/cava/crypto/sodium/Signature.java    |  4 +-
 .../net/consensys/cava/crypto/sodium/Sodium.java   |  2 +-
 .../cava/crypto/sodium/SodiumException.java        |  2 +-
 .../cava/crypto/sodium/SodiumVersion.java          |  2 +-
 .../cava/crypto/sodium/XChaCha20Poly1305.java      |  4 +-
 .../consensys/cava/crypto/sodium/package-info.java |  6 +-
 .../java/net/consensys/cava/crypto/HashTest.java   |  6 +-
 .../net/consensys/cava/crypto/SECP256K1Test.java   | 22 +++---
 .../cava/crypto/mikuli/SignatureTest.java          |  4 +-
 .../cava/crypto/sodium/AES256GCMTest.java          |  2 +-
 .../cava/crypto/sodium/AllocatedTest.java          |  4 +-
 .../net/consensys/cava/crypto/sodium/AuthTest.java |  2 +-
 .../net/consensys/cava/crypto/sodium/BoxTest.java  |  2 +-
 .../cava/crypto/sodium/ConcatenateTest.java        |  4 +-
 .../cava/crypto/sodium/DiffieHelmanTest.java       |  2 +-
 .../cava/crypto/sodium/GenericHashTest.java        |  4 +-
 .../cava/crypto/sodium/HMACSHA256Test.java         |  4 +-
 .../cava/crypto/sodium/HMACSHA512256Test.java      |  4 +-
 .../cava/crypto/sodium/HMACSHA512Test.java         |  4 +-
 .../cava/crypto/sodium/KeyDerivationTest.java      |  6 +-
 .../cava/crypto/sodium/PasswordHashTest.java       | 10 +--
 .../cava/crypto/sodium/SHA256HashTest.java         |  4 +-
 .../cava/crypto/sodium/SecretBoxTest.java          |  2 +-
 .../cava/crypto/sodium/SignatureTest.java          |  4 +-
 .../consensys/cava/crypto/sodium/SodiumTest.java   |  2 +-
 .../cava/crypto/sodium/XChaCha20Poly1305Test.java  |  2 +-
 .../consensys/cava/devp2p/AtomicLongProperty.kt    |  2 +-
 .../net/consensys/cava/devp2p/DiscoveryService.kt  | 26 +++----
 .../kotlin/net/consensys/cava/devp2p/Endpoint.kt   |  8 +--
 .../kotlin/net/consensys/cava/devp2p/EnodeUri.kt   |  6 +-
 .../main/kotlin/net/consensys/cava/devp2p/Node.kt  |  8 +--
 .../kotlin/net/consensys/cava/devp2p/Packet.kt     | 18 ++---
 .../kotlin/net/consensys/cava/devp2p/PacketType.kt |  8 +--
 .../main/kotlin/net/consensys/cava/devp2p/Peer.kt  |  4 +-
 .../net/consensys/cava/devp2p/PeerRepository.kt    |  8 +--
 .../net/consensys/cava/devp2p/PeerRoutingTable.kt  |  8 +--
 .../cava/devp2p/DiscoveryServiceJavaTest.java      | 10 +--
 .../consensys/cava/devp2p/DiscoveryServiceTest.kt  |  8 +--
 .../net/consensys/cava/devp2p/EndpointTest.kt      |  4 +-
 .../cava/devp2p/EphemeralPeerRepositoryTest.kt     |  6 +-
 .../consensys/cava/devp2p/FindNodePacketTest.kt    |  8 +--
 .../consensys/cava/devp2p/NeighborsPacketTest.kt   |  8 +--
 .../net/consensys/cava/devp2p/PingPacketTest.kt    |  8 +--
 .../net/consensys/cava/devp2p/PongPacketTest.kt    | 10 +--
 .../cava/eth/reference/BlockRLPTestSuite.java      | 28 ++++----
 .../cava/eth/reference/MerkleTrieTestSuite.java    | 10 +--
 .../cava/eth/reference/RLPReferenceTestSuite.java  | 14 ++--
 .../consensys/cava/eth/reference/SSZTestSuite.java | 10 +--
 .../cava/eth/reference/TransactionTestSuite.java   | 14 ++--
 .../cava/eth/repository/BlockHeaderFields.kt       |  2 +-
 .../cava/eth/repository/BlockchainIndex.kt         | 42 +++++------
 .../cava/eth/repository/BlockchainRepository.kt    | 18 ++---
 .../eth/repository/TransactionReceiptFields.kt     |  2 +-
 .../cava/eth/repository/BlockchainIndexTest.kt     | 32 ++++-----
 .../eth/repository/BlockchainRepositoryTest.kt     | 40 +++++------
 .../main/java/net/consensys/cava/eth/Address.java  |  4 +-
 .../main/java/net/consensys/cava/eth/Block.java    | 12 ++--
 .../java/net/consensys/cava/eth/BlockBody.java     | 12 ++--
 .../java/net/consensys/cava/eth/BlockHeader.java   | 14 ++--
 eth/src/main/java/net/consensys/cava/eth/Hash.java |  8 +--
 eth/src/main/java/net/consensys/cava/eth/Log.java  | 10 +--
 .../net/consensys/cava/eth/LogsBloomFilter.java    | 12 ++--
 .../java/net/consensys/cava/eth/Transaction.java   | 24 +++----
 .../net/consensys/cava/eth/TransactionReceipt.java | 12 ++--
 .../java/net/consensys/cava/eth/package-info.java  |  4 +-
 .../java/net/consensys/cava/eth/BlockBodyTest.java | 10 +--
 .../net/consensys/cava/eth/BlockHeaderTest.java    | 10 +--
 .../java/net/consensys/cava/eth/BlockTest.java     | 10 +--
 .../test/java/net/consensys/cava/eth/LogTest.java  |  8 +--
 .../consensys/cava/eth/LogsBloomFilterTest.java    |  8 +--
 .../consensys/cava/eth/TransactionReceiptTest.java | 10 +--
 .../net/consensys/cava/eth/TransactionTest.java    | 16 ++---
 io/src/main/java/net/consensys/cava/io/Base64.java |  4 +-
 .../java/net/consensys/cava/io/IOConsumer.java     |  2 +-
 .../net/consensys/cava/io/NullOutputStream.java    |  2 +-
 .../main/java/net/consensys/cava/io/Resources.java |  4 +-
 .../main/java/net/consensys/cava/io/Streams.java   |  2 +-
 .../java/net/consensys/cava/io/file/Files.java     |  4 +-
 .../net/consensys/cava/io/file/package-info.java   |  4 +-
 .../java/net/consensys/cava/io/package-info.java   |  4 +-
 .../java/net/consensys/cava/io/Base64Test.java     |  4 +-
 .../java/net/consensys/cava/io/ResourcesTest.java  |  2 +-
 .../java/net/consensys/cava/io/StreamsTest.java    |  4 +-
 .../java/net/consensys/cava/io/file/FilesTest.java | 10 +--
 .../cava/junit/BouncyCastleExtension.java          |  2 +-
 .../java/net/consensys/cava/junit/LuceneIndex.java |  2 +-
 .../consensys/cava/junit/LuceneIndexWriter.java    |  2 +-
 .../cava/junit/LuceneIndexWriterExtension.java     |  2 +-
 .../java/net/consensys/cava/junit/RedisPort.java   |  2 +-
 .../consensys/cava/junit/RedisServerExtension.java |  2 +-
 .../net/consensys/cava/junit/TempDirectory.java    |  2 +-
 .../cava/junit/TempDirectoryExtension.java         |  4 +-
 .../net/consensys/cava/junit/VertxExtension.java   |  2 +-
 .../net/consensys/cava/junit/VertxInstance.java    |  2 +-
 .../net/consensys/cava/junit/package-info.java     |  4 +-
 .../cava/junit/LuceneIndexWriterExtensionTest.java |  2 +-
 .../cava/junit/RedisServerExtensionTest.java       |  2 +-
 .../cava/junit/TempDirectoryExtensionTest.java     |  2 +-
 .../cava/kademlia/KademliaRoutingTable.kt          |  2 +-
 .../cava/kademlia/KademliaRoutingTableTest.kt      |  2 +-
 .../cava/kademlia/LogarithmicDistanceTest.kt       |  2 +-
 .../consensys/cava/kademlia/OrderedInsertTest.kt   |  2 +-
 .../net/consensys/cava/kv/RedisBytesCodec.java     |  4 +-
 .../java/net/consensys/cava/kv/package-info.java   |  4 +-
 .../consensys/cava/kv/InfinispanKeyValueStore.kt   |  4 +-
 .../kotlin/net/consensys/cava/kv/KeyValueStore.kt  | 12 ++--
 .../net/consensys/cava/kv/LevelDBKeyValueStore.kt  |  4 +-
 .../net/consensys/cava/kv/MapDBKeyValueStore.kt    |  4 +-
 .../net/consensys/cava/kv/MapKeyValueStore.kt      |  4 +-
 .../net/consensys/cava/kv/RedisKeyValueStore.kt    |  4 +-
 .../net/consensys/cava/kv/RocksDBKeyValueStore.kt  |  4 +-
 .../net/consensys/cava/kv/SQLKeyValueStore.kt      |  4 +-
 .../net/consensys/cava/kv/KeyValueStoreTest.java   | 10 +--
 .../consensys/cava/kv/RedisKeyValueStoreTest.java  | 10 +--
 .../net/consensys/cava/kv/KeyValueStoreSpec.kt     |  8 +--
 .../net/consensys/cava/les/BlockBodiesMessage.kt   |  8 +--
 .../net/consensys/cava/les/BlockHeadersMessage.kt  |  8 +--
 .../consensys/cava/les/GetBlockBodiesMessage.kt    |  8 +--
 .../consensys/cava/les/GetBlockHeadersMessage.kt   | 10 +--
 .../net/consensys/cava/les/GetReceiptsMessage.kt   |  8 +--
 .../kotlin/net/consensys/cava/les/LESPeerState.kt  |  4 +-
 .../consensys/cava/les/LESSubProtocolHandler.kt    | 26 +++----
 .../net/consensys/cava/les/LESSubprotocol.kt       | 16 ++---
 .../kotlin/net/consensys/cava/les/LightClient.kt   | 12 ++--
 .../net/consensys/cava/les/ReceiptsMessage.kt      |  8 +--
 .../kotlin/net/consensys/cava/les/StatusMessage.kt | 10 +--
 .../cava/les/LESSubProtocolHandlerTest.kt          | 54 +++++++-------
 .../net/consensys/cava/les/LESSubprotocolTest.kt   | 18 ++---
 .../kotlin/net/consensys/cava/les/MessagesTest.kt  | 34 ++++-----
 .../net/consensys/cava/trie/CompactEncoding.java   |  6 +-
 .../java/net/consensys/cava/trie/package-info.java |  4 +-
 .../kotlin/net/consensys/cava/trie/BranchNode.kt   | 12 ++--
 .../net/consensys/cava/trie/DefaultNodeFactory.kt  |  4 +-
 .../net/consensys/cava/trie/ExtensionNode.kt       | 10 +--
 .../kotlin/net/consensys/cava/trie/GetVisitor.kt   |  4 +-
 .../kotlin/net/consensys/cava/trie/LeafNode.kt     | 10 +--
 .../net/consensys/cava/trie/MerklePatriciaTrie.kt  | 12 ++--
 .../net/consensys/cava/trie/MerkleStorage.kt       | 12 ++--
 .../consensys/cava/trie/MerkleStorageException.kt  |  2 +-
 .../kotlin/net/consensys/cava/trie/MerkleTrie.kt   | 18 ++---
 .../main/kotlin/net/consensys/cava/trie/Node.kt    |  6 +-
 .../kotlin/net/consensys/cava/trie/NodeFactory.kt  |  4 +-
 .../kotlin/net/consensys/cava/trie/NodeVisitor.kt  |  4 +-
 .../kotlin/net/consensys/cava/trie/NullNode.kt     | 10 +--
 .../kotlin/net/consensys/cava/trie/PutVisitor.kt   |  4 +-
 .../net/consensys/cava/trie/RemoveVisitor.kt       |  4 +-
 .../cava/trie/StoredMerklePatriciaTrie.kt          | 10 +--
 .../kotlin/net/consensys/cava/trie/StoredNode.kt   |  8 +--
 .../net/consensys/cava/trie/StoredNodeFactory.kt   | 12 ++--
 .../consensys/cava/trie/CompactEncodingTest.java   |  4 +-
 .../cava/trie/MerklePatriciaTrieJavaTest.java      |  8 +--
 .../trie/MerklePatriciaTriePerformanceTest.java    | 14 ++--
 .../trie/StoredMerklePatriciaTrieJavaTest.java     | 12 ++--
 .../cava/trie/MerklePatriciaTrieKotlinTest.kt      |  6 +-
 .../trie/StoredMerklePatriciaTrieKotlinTest.kt     |  8 +--
 .../cava/net/coroutines/CoroutineByteChannel.kt    |  2 +-
 .../cava/net/coroutines/CoroutineChannelGroup.kt   |  2 +-
 .../net/coroutines/CoroutineDatagramChannel.kt     |  2 +-
 .../cava/net/coroutines/CoroutineNetworkChannel.kt |  2 +-
 .../cava/net/coroutines/CoroutineSelector.kt       |  2 +-
 .../net/coroutines/CoroutineServerSocketChannel.kt |  2 +-
 .../cava/net/coroutines/CoroutineSocketChannel.kt  |  2 +-
 .../cava/net/coroutines/SelectorTest.java          |  2 +-
 .../net/coroutines/CoroutineChannelGroupTest.kt    |  2 +-
 .../net/coroutines/CoroutineDatagramChannelTest.kt |  2 +-
 .../cava/net/coroutines/CoroutineSelectorTest.kt   |  2 +-
 .../net/coroutines/CoroutineSocketChannelTest.kt   |  2 +-
 .../java/net/consensys/cava/net/package-info.java  |  4 +-
 .../net/tls/ClientFingerprintTrustManager.java     |  6 +-
 .../net/tls/DelegatingTrustManagerFactory.java     |  2 +-
 .../net/tls/FileBackedFingerprintRepository.java   |  8 +--
 .../cava/net/tls/FingerprintRepository.java        |  4 +-
 .../net/tls/ServerFingerprintTrustManager.java     |  6 +-
 .../cava/net/tls/SingleTrustManagerFactory.java    |  2 +-
 .../main/java/net/consensys/cava/net/tls/TLS.java  |  6 +-
 .../cava/net/tls/TLSEnvironmentException.java      |  2 +-
 .../cava/net/tls/TrustManagerFactories.java        |  2 +-
 .../cava/net/tls/TrustManagerFactoryWrapper.java   |  2 +-
 .../consensys/cava/net/tls/VertxTrustOptions.java  |  2 +-
 .../net/consensys/cava/net/tls/package-info.java   |  2 +-
 .../cava/net/tls/ClientCaOrRecordTest.java         | 16 ++---
 .../consensys/cava/net/tls/ClientCaOrTofuTest.java | 16 ++---
 .../cava/net/tls/ClientCaOrWhitelistTest.java      | 14 ++--
 .../consensys/cava/net/tls/ClientRecordTest.java   | 16 ++---
 .../net/consensys/cava/net/tls/ClientTofuTest.java | 16 ++---
 .../cava/net/tls/ClientWhitelistTest.java          | 14 ++--
 .../tls/FileBackedFingerprintRepositoryTest.java   |  8 +--
 .../cava/net/tls/InsecureTrustOptions.java         |  2 +-
 .../consensys/cava/net/tls/SecurityTestUtils.java  |  4 +-
 .../cava/net/tls/ServerCaOrRecordTest.java         | 14 ++--
 .../consensys/cava/net/tls/ServerCaOrTofaTest.java | 14 ++--
 .../cava/net/tls/ServerCaOrWhitelistTest.java      | 12 ++--
 .../consensys/cava/net/tls/ServerRecordTest.java   | 14 ++--
 .../net/consensys/cava/net/tls/ServerTofaTest.java | 14 ++--
 .../cava/net/tls/ServerWhitelistTest.java          | 12 ++--
 .../java/net/consensys/cava/net/tls/TLSTest.java   | 10 +--
 .../cava/plumtree/EphemeralPeerRepository.java     |  2 +-
 .../consensys/cava/plumtree/MessageHashing.java    |  4 +-
 .../net/consensys/cava/plumtree/MessageSender.java |  4 +-
 .../java/net/consensys/cava/plumtree/Peer.java     |  2 +-
 .../consensys/cava/plumtree/PeerRepository.java    |  2 +-
 .../java/net/consensys/cava/plumtree/State.java    |  4 +-
 .../net/consensys/cava/plumtree/StateActor.java    |  2 +-
 .../consensys/cava/plumtree/StateActorFactory.java |  2 +-
 .../net/consensys/cava/plumtree/package-info.java  |  4 +-
 .../net/consensys/cava/plumtree/StateTest.java     | 10 +--
 .../consensys/cava/rlp/AccumulatingRLPWriter.java  | 10 +--
 .../consensys/cava/rlp/ByteBufferRLPWriter.java    | 10 +--
 .../net/consensys/cava/rlp/BytesRLPReader.java     |  4 +-
 .../net/consensys/cava/rlp/BytesRLPWriter.java     |  4 +-
 .../consensys/cava/rlp/DelegatingRLPWriter.java    |  6 +-
 .../net/consensys/cava/rlp/EndOfRLPException.java  |  2 +-
 .../cava/rlp/InvalidRLPEncodingException.java      |  2 +-
 .../cava/rlp/InvalidRLPTypeException.java          |  2 +-
 rlp/src/main/java/net/consensys/cava/rlp/RLP.java  |  4 +-
 .../java/net/consensys/cava/rlp/RLPException.java  |  2 +-
 .../java/net/consensys/cava/rlp/RLPReader.java     |  6 +-
 .../java/net/consensys/cava/rlp/RLPWriter.java     |  6 +-
 .../java/net/consensys/cava/rlp/package-info.java  |  4 +-
 .../consensys/cava/rlp/ByteBufferWriterTest.java   |  8 +--
 .../net/consensys/cava/rlp/BytesRLPReaderTest.java |  6 +-
 .../net/consensys/cava/rlp/BytesRLPWriterTest.java |  8 +--
 .../cava/rlpx/EthereumIESEncryptionEngine.java     |  2 +-
 .../net/consensys/cava/rlpx/HandshakeMessage.java  |  6 +-
 .../cava/rlpx/InitiatorHandshakeMessage.java       | 18 ++---
 .../consensys/cava/rlpx/InvalidMACException.java   |  2 +-
 .../cava/rlpx/MemoryWireConnectionsRepository.java |  4 +-
 .../net/consensys/cava/rlpx/RLPxConnection.java    | 16 ++---
 .../consensys/cava/rlpx/RLPxConnectionFactory.java | 26 +++----
 .../java/net/consensys/cava/rlpx/RLPxMessage.java  |  4 +-
 .../java/net/consensys/cava/rlpx/RLPxService.java  | 12 ++--
 .../cava/rlpx/ResponderHandshakeMessage.java       | 10 +--
 .../cava/rlpx/WireConnectionRepository.java        |  6 +-
 .../java/net/consensys/cava/rlpx/package-info.java |  4 +-
 .../cava/rlpx/vertx/VertxRLPxService.java          | 40 +++++------
 .../consensys/cava/rlpx/vertx/package-info.java    |  4 +-
 .../net/consensys/cava/rlpx/wire/Capability.java   |  2 +-
 .../rlpx/wire/DefaultSubProtocolIdentifier.java    |  2 +-
 .../cava/rlpx/wire/DefaultWireConnection.java      | 10 +--
 .../cava/rlpx/wire/DisconnectMessage.java          |  6 +-
 .../consensys/cava/rlpx/wire/DisconnectReason.java |  2 +-
 .../net/consensys/cava/rlpx/wire/HelloMessage.java |  6 +-
 .../net/consensys/cava/rlpx/wire/PingMessage.java  |  4 +-
 .../net/consensys/cava/rlpx/wire/PongMessage.java  |  4 +-
 .../net/consensys/cava/rlpx/wire/SubProtocol.java  |  4 +-
 .../cava/rlpx/wire/SubProtocolHandler.java         |  6 +-
 .../cava/rlpx/wire/SubProtocolIdentifier.java      |  2 +-
 .../consensys/cava/rlpx/wire/WireConnection.java   |  2 +-
 .../cava/rlpx/wire/WireProtocolMessage.java        |  4 +-
 .../net/consensys/cava/rlpx/wire/package-info.java |  4 +-
 .../cava/rlpx/RLPxConnectionFactoryTest.java       | 16 ++---
 .../cava/rlpx/vertx/VertxAcceptanceTest.java       | 30 ++++----
 .../cava/rlpx/vertx/VertxRLPxServiceTest.java      | 14 ++--
 .../cava/rlpx/wire/DefaultWireConnectionTest.java  | 10 +--
 .../cava/rlpx/wire/DisconnectMessageTest.java      |  4 +-
 .../consensys/cava/rlpx/wire/HelloMessageTest.java |  4 +-
 .../net/consensys/cava/rlpx/wire/PingPongTest.java | 12 ++--
 .../wire/RLPxConnectionMessageExchangeTest.java    | 16 ++---
 .../cava/scuttlebutt/discovery/LocalIdentity.java  |  8 +--
 .../ScuttlebuttLocalDiscoveryService.java          |  6 +-
 .../cava/scuttlebutt/discovery/package-info.java   |  4 +-
 .../scuttlebutt/discovery/LocalIdentityTest.java   |  6 +-
 .../ScuttlebuttLocalDiscoveryServiceTest.java      | 12 ++--
 .../scuttlebutt/handshake/HandshakeException.java  |  2 +-
 .../SecureScuttlebuttHandshakeClient.java          | 26 +++----
 .../SecureScuttlebuttHandshakeServer.java          | 22 +++---
 .../handshake/SecureScuttlebuttStream.java         | 10 +--
 .../handshake/SecureScuttlebuttStreamClient.java   |  4 +-
 .../handshake/SecureScuttlebuttStreamServer.java   |  4 +-
 .../scuttlebutt/handshake/StreamException.java     |  2 +-
 .../cava/scuttlebutt/handshake/package-info.java   |  4 +-
 .../scuttlebutt/handshake/vertx/ClientHandler.java |  4 +-
 .../handshake/vertx/ClientHandlerFactory.java      |  4 +-
 .../vertx/SecureScuttlebuttVertxClient.java        | 28 ++++----
 .../vertx/SecureScuttlebuttVertxServer.java        | 22 +++---
 .../scuttlebutt/handshake/vertx/ServerHandler.java |  4 +-
 .../handshake/vertx/ServerHandlerFactory.java      |  4 +-
 .../scuttlebutt/handshake/vertx/package-info.java  |  4 +-
 .../SecureScuttlebuttHandshakeClientTest.java      | 18 ++---
 .../handshake/SecureScuttlebuttStreamTest.java     | 10 +--
 .../handshake/vertx/VertxIntegrationTest.java      | 16 ++---
 .../consensys/cava/scuttlebutt/rpc/RPCCodec.java   |  4 +-
 .../consensys/cava/scuttlebutt/rpc/RPCFlag.java    |  2 +-
 .../consensys/cava/scuttlebutt/rpc/RPCMessage.java |  4 +-
 .../scuttlebutt/rpc/PatchworkIntegrationTest.java  | 20 +++---
 .../cava/scuttlebutt/rpc/RPCEncodingTest.java      |  4 +-
 .../cava/scuttlebutt/rpc/RPCFlagTest.java          |  2 +-
 .../cava/scuttlebutt/Ed25519KeyPairIdentity.java   |  8 +--
 .../cava/scuttlebutt/Ed25519PublicKeyIdentity.java |  8 +--
 .../net/consensys/cava/scuttlebutt/Identity.java   |  8 +--
 .../net/consensys/cava/scuttlebutt/Invite.java     |  4 +-
 .../cava/scuttlebutt/SECP256K1KeyPairIdentity.java |  8 +--
 .../scuttlebutt/SECP256K1PublicKeyIdentity.java    |  8 +--
 .../consensys/cava/scuttlebutt/package-info.java   |  4 +-
 .../consensys/cava/scuttlebutt/IdentityTest.java   | 12 ++--
 .../net/consensys/cava/scuttlebutt/InviteTest.java |  6 +-
 .../consensys/cava/ssz/ByteBufferSSZWriter.java    |  4 +-
 .../net/consensys/cava/ssz/BytesSSZReader.java     |  8 +--
 .../net/consensys/cava/ssz/BytesSSZWriter.java     |  4 +-
 .../net/consensys/cava/ssz/EndOfSSZException.java  |  2 +-
 .../cava/ssz/InvalidSSZTypeException.java          |  2 +-
 ssz/src/main/java/net/consensys/cava/ssz/SSZ.java  | 12 ++--
 .../java/net/consensys/cava/ssz/SSZException.java  |  2 +-
 .../java/net/consensys/cava/ssz/SSZReader.java     |  8 +--
 .../java/net/consensys/cava/ssz/SSZWriter.java     |  8 +--
 .../java/net/consensys/cava/ssz/package-info.java  |  4 +-
 .../cava/ssz/experimental/BytesSSZReader.kt        | 10 +--
 .../cava/ssz/experimental/BytesSSZWriter.kt        | 10 +--
 .../net/consensys/cava/ssz/experimental/SSZ.kt     | 22 +++---
 .../consensys/cava/ssz/experimental/SSZReader.kt   | 14 ++--
 .../consensys/cava/ssz/experimental/SSZWriter.kt   | 10 +--
 .../consensys/cava/ssz/ByteBufferWriterTest.java   |  8 +--
 .../net/consensys/cava/ssz/BytesSSZReaderTest.java |  8 +--
 .../net/consensys/cava/ssz/BytesSSZWriterTest.java | 10 +--
 .../net/consensys/cava/ssz/HashTreeRootTest.java   | 10 +--
 .../net/consensys/cava/ssz/experimental/SSZTest.kt |  4 +-
 toml/README.md                                     |  6 +-
 .../net/consensys/cava/toml/internal/TomlLexer.g4  |  2 +-
 .../net/consensys/cava/toml/internal/TomlParser.g4 |  2 +-
 .../cava/toml/AccumulatingErrorListener.java       |  6 +-
 .../java/net/consensys/cava/toml/ArrayVisitor.java |  8 +--
 .../net/consensys/cava/toml/ErrorReporter.java     |  2 +-
 .../consensys/cava/toml/InlineTableVisitor.java    | 10 +--
 .../net/consensys/cava/toml/JsonSerializer.java    |  4 +-
 .../java/net/consensys/cava/toml/KeyVisitor.java   |  8 +--
 .../java/net/consensys/cava/toml/LineVisitor.java  | 16 ++---
 .../net/consensys/cava/toml/LocalDateVisitor.java  | 10 +--
 .../net/consensys/cava/toml/LocalTimeVisitor.java  | 12 ++--
 .../net/consensys/cava/toml/MutableTomlArray.java  |  6 +-
 .../net/consensys/cava/toml/MutableTomlTable.java  |  8 +--
 .../main/java/net/consensys/cava/toml/Parser.java  |  6 +-
 .../consensys/cava/toml/QuotedStringVisitor.java   | 14 ++--
 .../java/net/consensys/cava/toml/TokenName.java    |  4 +-
 .../main/java/net/consensys/cava/toml/Toml.java    |  2 +-
 .../java/net/consensys/cava/toml/TomlArray.java    |  4 +-
 .../cava/toml/TomlInvalidTypeException.java        |  2 +-
 .../net/consensys/cava/toml/TomlParseError.java    |  2 +-
 .../net/consensys/cava/toml/TomlParseResult.java   |  2 +-
 .../java/net/consensys/cava/toml/TomlPosition.java |  2 +-
 .../java/net/consensys/cava/toml/TomlTable.java    |  8 +--
 .../java/net/consensys/cava/toml/TomlType.java     |  2 +-
 .../java/net/consensys/cava/toml/TomlVersion.java  |  2 +-
 .../java/net/consensys/cava/toml/ValueVisitor.java | 42 +++++------
 .../net/consensys/cava/toml/ZoneOffsetVisitor.java |  8 +--
 .../java/net/consensys/cava/toml/package-info.java |  4 +-
 .../consensys/cava/toml/MutableTomlArrayTest.java  |  4 +-
 .../consensys/cava/toml/MutableTomlTableTest.java  |  4 +-
 .../net/consensys/cava/toml/TokenNameTest.java     |  4 +-
 .../java/net/consensys/cava/toml/TomlTest.java     |  2 +-
 .../cava/units/bigints/BaseUInt256Value.java       |  6 +-
 .../cava/units/bigints/BaseUInt384Value.java       |  6 +-
 .../cava/units/bigints/BaseUInt64Value.java        |  4 +-
 .../net/consensys/cava/units/bigints/UInt256.java  | 10 +--
 .../cava/units/bigints/UInt256Domain.java          |  2 +-
 .../consensys/cava/units/bigints/UInt256Value.java |  6 +-
 .../cava/units/bigints/UInt256ValueDomain.java     |  2 +-
 .../net/consensys/cava/units/bigints/UInt256s.java |  2 +-
 .../net/consensys/cava/units/bigints/UInt384.java  | 10 +--
 .../cava/units/bigints/UInt384Domain.java          |  2 +-
 .../consensys/cava/units/bigints/UInt384Value.java |  6 +-
 .../cava/units/bigints/UInt384ValueDomain.java     |  2 +-
 .../net/consensys/cava/units/bigints/UInt384s.java |  2 +-
 .../net/consensys/cava/units/bigints/UInt64.java   |  6 +-
 .../consensys/cava/units/bigints/UInt64Domain.java |  2 +-
 .../consensys/cava/units/bigints/UInt64Value.java  |  4 +-
 .../cava/units/bigints/UInt64ValueDomain.java      |  2 +-
 .../net/consensys/cava/units/bigints/UInt64s.java  |  2 +-
 .../consensys/cava/units/bigints/package-info.java |  2 +-
 .../net/consensys/cava/units/ethereum/Gas.java     |  8 +--
 .../net/consensys/cava/units/ethereum/Wei.java     |  6 +-
 .../cava/units/ethereum/package-info.java          |  2 +-
 .../net/consensys/cava/units/package-info.java     |  4 +-
 .../cava/units/bigints/BaseUInt256ValueTest.java   |  4 +-
 .../cava/units/bigints/BaseUInt384ValueTest.java   |  4 +-
 .../cava/units/bigints/BaseUInt64ValueTest.java    |  4 +-
 .../consensys/cava/units/bigints/UInt256Test.java  |  4 +-
 .../consensys/cava/units/bigints/UInt384Test.java  |  4 +-
 .../consensys/cava/units/bigints/UInt64Test.java   |  4 +-
 .../net/consensys/cava/units/ethereum/GasTest.java |  2 +-
 .../net/consensys/cava/units/ethereum/WeiTest.java |  2 +-
 493 files changed, 1621 insertions(+), 1621 deletions(-)

diff --git a/PACKAGES.md b/PACKAGES.md
index 0ecbe08..5b874f6 100644
--- a/PACKAGES.md
+++ b/PACKAGES.md
@@ -2,136 +2,136 @@
 
 In the spirit of [Google Guava](https://github.com/google/guava/), Cava is a set of libraries and other tools to aid development of blockchain and other decentralized software in Java and other JVM languages.
 
-# Package net.consensys.cava.bytes
+# Package org.apache.tuweni.bytes
 
 Classes and utilities for working with byte arrays.
 
-These classes are included in the complete Cava distribution, or separately when using the gradle dependency `net.consensys.cava:cava-bytes` (`cava-bytes.jar`).
+These classes are included in the complete Cava distribution, or separately when using the gradle dependency `org.apache.tuweni:cava-bytes` (`cava-bytes.jar`).
 
-# Package net.consensys.cava.concurrent
+# Package org.apache.tuweni.concurrent
 
 Classes and utilities for working with concurrency.
 
-These classes are included in the complete Cava distribution, or separately when using the gradle dependency `net.consensys.cava:cava-concurrent` (`cava-concurrent.jar`).
+These classes are included in the complete Cava distribution, or separately when using the gradle dependency `org.apache.tuweni:cava-concurrent` (`cava-concurrent.jar`).
 
-# Package net.consensys.cava.concurrent.coroutines
+# Package org.apache.tuweni.concurrent.coroutines
 
-Extensions for mapping [AsyncResult][net.consensys.cava.concurrent.AsyncResult] and [AsyncCompletion][net.consensys.cava.concurrent.AsyncCompletion] objects to and from Kotlin coroutines.
+Extensions for mapping [AsyncResult][org.apache.tuweni.concurrent.AsyncResult] and [AsyncCompletion][org.apache.tuweni.concurrent.AsyncCompletion] objects to and from Kotlin coroutines.
 
-# Package net.consensys.cava.config
+# Package org.apache.tuweni.config
 
 A general-purpose library for managing configuration data.
 
-These classes are included in the complete Cava distribution, or separately when using the gradle dependency `net.consensys.cava:cava-config` (`cava-config.jar`).
+These classes are included in the complete Cava distribution, or separately when using the gradle dependency `org.apache.tuweni:cava-config` (`cava-config.jar`).
 
-# Package net.consensys.cava.crypto
+# Package org.apache.tuweni.crypto
 
 Classes and utilities for working with cryptography.
 
-These classes are included in the complete Cava distribution, or separately when using the gradle dependency `net.consensys.cava:cava-crypto` (`cava-crypto.jar`).
+These classes are included in the complete Cava distribution, or separately when using the gradle dependency `org.apache.tuweni:cava-crypto` (`cava-crypto.jar`).
 
-# Package net.consensys.cava.crypto.sodium
+# Package org.apache.tuweni.crypto.sodium
 
 Classes and utilities for working with the sodium native library.
 
-Classes and utilities in this package provide an interface to the native Sodium crypto library (https://www.libsodium.org/), which must be installed on the same system as the JVM. It will be searched for in common library locations, or its it can be loaded explicitly using [net.consensys.cava.crypto.sodium.Sodium.loadLibrary].
+Classes and utilities in this package provide an interface to the native Sodium crypto library (https://www.libsodium.org/), which must be installed on the same system as the JVM. It will be searched for in common library locations, or its it can be loaded explicitly using [org.apache.tuweni.crypto.sodium.Sodium.loadLibrary].
 
 Classes in this package depend upon the JNR-FFI library, which is not automatically included when using the complete Cava distribution. See https://github.com/jnr/jnr-ffi. JNR-FFI can be included using the gradle dependency `com.github.jnr:jnr-ffi`.
 
-# Package net.consensys.cava.devp2p
+# Package org.apache.tuweni.devp2p
 
 Kotlin coroutine based implementation of the Ethereum ÐΞVp2p protocol.
 
-These classes are included in the complete Cava distribution, or separately when using the gradle dependency `net.consensys.cava:cava-devp2p` (`cava-devp2p.jar`).
+These classes are included in the complete Cava distribution, or separately when using the gradle dependency `org.apache.tuweni:cava-devp2p` (`cava-devp2p.jar`).
 
-# Package net.consensys.cava.eth
+# Package org.apache.tuweni.eth
 
 Classes and utilities for working in the Ethereum domain.
 
-These classes are included in the complete Cava distribution, or separately when using the gradle dependency `net.consensys.cava:cava-eth` (`cava-eth.jar`).
+These classes are included in the complete Cava distribution, or separately when using the gradle dependency `org.apache.tuweni:cava-eth` (`cava-eth.jar`).
 
-# Package net.consensys.cava.io
+# Package org.apache.tuweni.io
 
 Classes and utilities for handling file and network IO.
 
-These classes are included in the complete Cava distribution, or separately when using the gradle dependency `net.consensys.cava:cava-io` (`cava-io.jar`).
+These classes are included in the complete Cava distribution, or separately when using the gradle dependency `org.apache.tuweni:cava-io` (`cava-io.jar`).
 
-# Package net.consensys.cava.io.file
+# Package org.apache.tuweni.io.file
 
 General utilities for working with files and the filesystem.
 
-# Package net.consensys.cava.junit
+# Package org.apache.tuweni.junit
 
 Utilities for better junit testing.
 
-These classes are included in the complete Cava distribution, or separately when using the gradle dependency `net.consensys.cava:cava-junit` (`cava-junit.jar`).
+These classes are included in the complete Cava distribution, or separately when using the gradle dependency `org.apache.tuweni:cava-junit` (`cava-junit.jar`).
 
-# Package net.consensys.cava.kademlia
+# Package org.apache.tuweni.kademlia
 
 An implementation of the kademlia distributed hash (routing) table.
 
-These classes are included in the complete Cava distribution, or separately when using the gradle dependency `net.consensys.cava:cava-kademlia` (`cava-kademlia.jar`).
+These classes are included in the complete Cava distribution, or separately when using the gradle dependency `org.apache.tuweni:cava-kademlia` (`cava-kademlia.jar`).
 
-# Package net.consensys.cava.kv
+# Package org.apache.tuweni.kv
 
 Classes and utilities for working with key/value stores.
 
-These classes are included in the complete Cava distribution, or separately when using the gradle dependency `net.consensys.cava:cava-kv` (`cava-kv.jar`).
+These classes are included in the complete Cava distribution, or separately when using the gradle dependency `org.apache.tuweni:cava-kv` (`cava-kv.jar`).
 
-# Package net.consensys.cava.net
+# Package org.apache.tuweni.net
 
 Classes and utilities for working with networking.
 
-These classes are included in the complete Cava distribution, or separately when using the gradle dependency `net.consensys.cava:cava-net` (`cava-net.jar`).
+These classes are included in the complete Cava distribution, or separately when using the gradle dependency `org.apache.tuweni:cava-net` (`cava-net.jar`).
 
-# Package net.consensys.cava.net.coroutines
+# Package org.apache.tuweni.net.coroutines
 
 Classes and utilities for coroutine based networking.
 
-These classes are included in the complete Cava distribution, or separately when using the gradle dependency `net.consensys.cava:cava-net-coroutines` (`cava-net-coroutines.jar`).
+These classes are included in the complete Cava distribution, or separately when using the gradle dependency `org.apache.tuweni:cava-net-coroutines` (`cava-net-coroutines.jar`).
 
-# Package net.consensys.cava.net.tls
+# Package org.apache.tuweni.net.tls
 
 Utilities for doing fingerprint based TLS certificate checking.
 
-# Package net.consensys.cava.rlp
+# Package org.apache.tuweni.rlp
 
 Recursive Length Prefix (RLP) encoding and decoding.
 
 An implementation of the Ethereum Recursive Length Prefix (RLP) algorithm, as described at https://github.com/ethereum/wiki/wiki/RLP.
 
-These classes are included in the complete Cava distribution, or separately when using the gradle dependency `net.consensys.cava:cava-rlp` (`cava-rlp.jar`).
+These classes are included in the complete Cava distribution, or separately when using the gradle dependency `org.apache.tuweni:cava-rlp` (`cava-rlp.jar`).
 
-# Package net.consensys.cava.toml
+# Package org.apache.tuweni.toml
 
 A parser for Tom's Obvious, Minimal Language (TOML).
 
 A parser and semantic checker for Tom's Obvious, Minimal Language (TOML), as described at https://github.com/toml-lang/toml/.
 
-These classes are included in the complete Cava distribution, or separately when using the gradle dependency `net.consensys.cava:cava-toml` (cava-toml.jar).
+These classes are included in the complete Cava distribution, or separately when using the gradle dependency `org.apache.tuweni:cava-toml` (cava-toml.jar).
 
-# Package net.consensys.cava.trie
+# Package org.apache.tuweni.trie
 
 Merkle Trie implementations.
 
 Implementations of the Ethereum Patricia Trie, as described at https://github.com/ethereum/wiki/wiki/Patricia-Tree.
 
-These classes are included in the complete Cava distribution, or separately when using the gradle dependency `net.consensys.cava:cava-merkle-trie` (`cava-merkle-trie.jar`).
+These classes are included in the complete Cava distribution, or separately when using the gradle dependency `org.apache.tuweni:cava-merkle-trie` (`cava-merkle-trie.jar`).
 
-# Package net.consensys.cava.trie
+# Package org.apache.tuweni.trie
 
 Merkle Trie implementations using Kotlin coroutines.
 
-# Package net.consensys.cava.units
+# Package org.apache.tuweni.units
 
 Classes and utilities for working with 256 bit integers and Ethereum units.
 
-These classes are included in the complete Cava distribution, or separately when using the gradle dependency `net.consensys.cava:cava-units` (`cava-units.jar`).
+These classes are included in the complete Cava distribution, or separately when using the gradle dependency `org.apache.tuweni:cava-units` (`cava-units.jar`).
 
-# Package net.consensys.cava.units.bigints
+# Package org.apache.tuweni.units.bigints
 
 Classes and utilities for working with 256 bit integers.
 
-# Package net.consensys.cava.units.ethereum
+# Package org.apache.tuweni.units.ethereum
 
 Classes and utilities for working with Ethereum units.
diff --git a/README.md b/README.md
index e4ce4b9..fdf8286 100644
--- a/README.md
+++ b/README.md
@@ -21,13 +21,13 @@ You can import all modules using the cava jar.
 With Maven:
 ```xml
 <dependency>
-  <groupId>net.consensys.cava</groupId>
+  <groupId>org.apache.tuweni</groupId>
   <artifactId>cava</artifactId>
   <version>0.6.0</version>
 </dependency>
 ```
 
-With Gradle: `compile 'net.consensys.cava:cava:0.6.0'`
+With Gradle: `compile 'org.apache.tuweni:cava:0.6.0'`
 
 [PACKAGES.md](PACKAGES.md) contains the list of modules and instructions to import them separately.
 
diff --git a/build.gradle b/build.gradle
index 94eaa36..892128b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -97,7 +97,7 @@ subprojects {
       removeUnusedImports()
       licenseHeaderFile rootProject.file('gradle/spotless.license.java')
       eclipse().configFile(rootProject.file('gradle/eclipse-java-consensys-style.xml'))
-      importOrder 'net.consensys', 'java', ''
+      importOrder 'org.apache', 'java', ''
       endWithNewline()
     }
     kotlin {
@@ -298,7 +298,7 @@ allprojects {
             artifact sourcesJar { classifier 'sources' }
           }
           artifact dokkaJar { classifier 'javadoc' }
-          groupId 'net.consensys.cava'
+          groupId 'org.apache.tuweni'
           artifactId project.jar.baseName
           version project.version
 
@@ -340,7 +340,7 @@ allprojects {
             def addDependencyNode = { dep, optional ->
               def dependencyNode = dependenciesNode.appendNode('dependency')
               if (dep instanceof ProjectDependency) {
-                dependencyNode.appendNode('groupId', 'net.consensys.cava')
+                dependencyNode.appendNode('groupId', 'org.apache.tuweni')
                 dependencyNode.appendNode('artifactId', rootProject.name + '-' + dep.name)
                 dependencyNode.appendNode('version', dep.version)
               } else {
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/AbstractBytes.java b/bytes/src/main/java/net/consensys/cava/bytes/AbstractBytes.java
index 614962f..25c186e 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/AbstractBytes.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/AbstractBytes.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 /**
  * An abstract {@link Bytes} value that provides implementations of {@link #equals(Object)}, {@link #hashCode()} and
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/ArrayWrappingBytes.java b/bytes/src/main/java/net/consensys/cava/bytes/ArrayWrappingBytes.java
index 2fa1c29..1fa0439 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/ArrayWrappingBytes.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/ArrayWrappingBytes.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkElementIndex;
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/ArrayWrappingBytes32.java b/bytes/src/main/java/net/consensys/cava/bytes/ArrayWrappingBytes32.java
index fa60064..babc70c 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/ArrayWrappingBytes32.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/ArrayWrappingBytes32.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/ArrayWrappingBytes48.java b/bytes/src/main/java/net/consensys/cava/bytes/ArrayWrappingBytes48.java
index 8f33bae..6f64a17 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/ArrayWrappingBytes48.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/ArrayWrappingBytes48.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/BufferWrappingBytes.java b/bytes/src/main/java/net/consensys/cava/bytes/BufferWrappingBytes.java
index 197937d..2563cc3 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/BufferWrappingBytes.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/BufferWrappingBytes.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkElementIndex;
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/ByteBufWrappingBytes.java b/bytes/src/main/java/net/consensys/cava/bytes/ByteBufWrappingBytes.java
index 4031f38..f2be78f 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/ByteBufWrappingBytes.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/ByteBufWrappingBytes.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkElementIndex;
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/ByteBufferWrappingBytes.java b/bytes/src/main/java/net/consensys/cava/bytes/ByteBufferWrappingBytes.java
index 53547da..26607b4 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/ByteBufferWrappingBytes.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/ByteBufferWrappingBytes.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkElementIndex;
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/Bytes.java b/bytes/src/main/java/net/consensys/cava/bytes/Bytes.java
index 40340a0..91c1df9 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/Bytes.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/Bytes.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkElementIndex;
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/Bytes32.java b/bytes/src/main/java/net/consensys/cava/bytes/Bytes32.java
index f962f52..da6a6ef 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/Bytes32.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/Bytes32.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkNotNull;
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/Bytes48.java b/bytes/src/main/java/net/consensys/cava/bytes/Bytes48.java
index c75b91f..ae00c9b 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/Bytes48.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/Bytes48.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkNotNull;
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/BytesValues.java b/bytes/src/main/java/net/consensys/cava/bytes/BytesValues.java
index 4bde33e..13b78f9 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/BytesValues.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/BytesValues.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/ConcatenatedBytes.java b/bytes/src/main/java/net/consensys/cava/bytes/ConcatenatedBytes.java
index c12a189..b678ce9 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/ConcatenatedBytes.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/ConcatenatedBytes.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkElementIndex;
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/DelegatingBytes32.java b/bytes/src/main/java/net/consensys/cava/bytes/DelegatingBytes32.java
index c1603b8..061fddc 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/DelegatingBytes32.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/DelegatingBytes32.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/DelegatingBytes48.java b/bytes/src/main/java/net/consensys/cava/bytes/DelegatingBytes48.java
index b89cbea..62dcaeb 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/DelegatingBytes48.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/DelegatingBytes48.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/DelegatingMutableBytes32.java b/bytes/src/main/java/net/consensys/cava/bytes/DelegatingMutableBytes32.java
index a273db8..278414f 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/DelegatingMutableBytes32.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/DelegatingMutableBytes32.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/DelegatingMutableBytes48.java b/bytes/src/main/java/net/consensys/cava/bytes/DelegatingMutableBytes48.java
index a16e82b..7e8dfe7 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/DelegatingMutableBytes48.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/DelegatingMutableBytes48.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/MutableArrayWrappingBytes.java b/bytes/src/main/java/net/consensys/cava/bytes/MutableArrayWrappingBytes.java
index 4dc30d2..8474e0d 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/MutableArrayWrappingBytes.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/MutableArrayWrappingBytes.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkElementIndex;
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/MutableArrayWrappingBytes32.java b/bytes/src/main/java/net/consensys/cava/bytes/MutableArrayWrappingBytes32.java
index c54aeaf..d5ead47 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/MutableArrayWrappingBytes32.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/MutableArrayWrappingBytes32.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 final class MutableArrayWrappingBytes32 extends MutableArrayWrappingBytes implements MutableBytes32 {
 
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/MutableArrayWrappingBytes48.java b/bytes/src/main/java/net/consensys/cava/bytes/MutableArrayWrappingBytes48.java
index 62b8b4f..a716e06 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/MutableArrayWrappingBytes48.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/MutableArrayWrappingBytes48.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 final class MutableArrayWrappingBytes48 extends MutableArrayWrappingBytes implements MutableBytes48 {
 
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/MutableBufferWrappingBytes.java b/bytes/src/main/java/net/consensys/cava/bytes/MutableBufferWrappingBytes.java
index b1feff5..5fbb600 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/MutableBufferWrappingBytes.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/MutableBufferWrappingBytes.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkElementIndex;
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/MutableByteBufWrappingBytes.java b/bytes/src/main/java/net/consensys/cava/bytes/MutableByteBufWrappingBytes.java
index 6fe907d..e2f6e4d 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/MutableByteBufWrappingBytes.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/MutableByteBufWrappingBytes.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkElementIndex;
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/MutableByteBufferWrappingBytes.java b/bytes/src/main/java/net/consensys/cava/bytes/MutableByteBufferWrappingBytes.java
index 283e33a..2d6e521 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/MutableByteBufferWrappingBytes.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/MutableByteBufferWrappingBytes.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkElementIndex;
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/MutableBytes.java b/bytes/src/main/java/net/consensys/cava/bytes/MutableBytes.java
index 3ef2f85..e9717cf 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/MutableBytes.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/MutableBytes.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkElementIndex;
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/MutableBytes32.java b/bytes/src/main/java/net/consensys/cava/bytes/MutableBytes32.java
index b055c37..4b5f891 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/MutableBytes32.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/MutableBytes32.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/MutableBytes48.java b/bytes/src/main/java/net/consensys/cava/bytes/MutableBytes48.java
index 2e267e8..801e94c 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/MutableBytes48.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/MutableBytes48.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/bytes/src/main/java/net/consensys/cava/bytes/package-info.java b/bytes/src/main/java/net/consensys/cava/bytes/package-info.java
index 3707b77..b357932 100644
--- a/bytes/src/main/java/net/consensys/cava/bytes/package-info.java
+++ b/bytes/src/main/java/net/consensys/cava/bytes/package-info.java
@@ -3,9 +3,9 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-bytes' (cava-bytes.jar).
+ * 'org.apache.tuweni:cava-bytes' (cava-bytes.jar).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/bytes/src/test/java/net/consensys/cava/bytes/BufferBytesTest.java b/bytes/src/test/java/net/consensys/cava/bytes/BufferBytesTest.java
index db1719e..f7b2a20 100644
--- a/bytes/src/test/java/net/consensys/cava/bytes/BufferBytesTest.java
+++ b/bytes/src/test/java/net/consensys/cava/bytes/BufferBytesTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import io.vertx.core.buffer.Buffer;
 
diff --git a/bytes/src/test/java/net/consensys/cava/bytes/ByteBufBytesTest.java b/bytes/src/test/java/net/consensys/cava/bytes/ByteBufBytesTest.java
index 06096eb..1057610 100644
--- a/bytes/src/test/java/net/consensys/cava/bytes/ByteBufBytesTest.java
+++ b/bytes/src/test/java/net/consensys/cava/bytes/ByteBufBytesTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import io.netty.buffer.Unpooled;
 
diff --git a/bytes/src/test/java/net/consensys/cava/bytes/ByteBufferBytesTest.java b/bytes/src/test/java/net/consensys/cava/bytes/ByteBufferBytesTest.java
index 554f086..83fce73 100644
--- a/bytes/src/test/java/net/consensys/cava/bytes/ByteBufferBytesTest.java
+++ b/bytes/src/test/java/net/consensys/cava/bytes/ByteBufferBytesTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import java.nio.ByteBuffer;
 
diff --git a/bytes/src/test/java/net/consensys/cava/bytes/Bytes32Test.java b/bytes/src/test/java/net/consensys/cava/bytes/Bytes32Test.java
index 04df458..28f2ab6 100644
--- a/bytes/src/test/java/net/consensys/cava/bytes/Bytes32Test.java
+++ b/bytes/src/test/java/net/consensys/cava/bytes/Bytes32Test.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
diff --git a/bytes/src/test/java/net/consensys/cava/bytes/Bytes48Test.java b/bytes/src/test/java/net/consensys/cava/bytes/Bytes48Test.java
index 89ca1d2..bde9bdb 100644
--- a/bytes/src/test/java/net/consensys/cava/bytes/Bytes48Test.java
+++ b/bytes/src/test/java/net/consensys/cava/bytes/Bytes48Test.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
diff --git a/bytes/src/test/java/net/consensys/cava/bytes/BytesTest.java b/bytes/src/test/java/net/consensys/cava/bytes/BytesTest.java
index eb1d0a5..7236b88 100644
--- a/bytes/src/test/java/net/consensys/cava/bytes/BytesTest.java
+++ b/bytes/src/test/java/net/consensys/cava/bytes/BytesTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static java.nio.ByteOrder.LITTLE_ENDIAN;
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
diff --git a/bytes/src/test/java/net/consensys/cava/bytes/CommonBytesTests.java b/bytes/src/test/java/net/consensys/cava/bytes/CommonBytesTests.java
index b16c74a..993135b 100644
--- a/bytes/src/test/java/net/consensys/cava/bytes/CommonBytesTests.java
+++ b/bytes/src/test/java/net/consensys/cava/bytes/CommonBytesTests.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/bytes/src/test/java/net/consensys/cava/bytes/ConcatenatedBytesTest.java b/bytes/src/test/java/net/consensys/cava/bytes/ConcatenatedBytesTest.java
index f3b09e8..38d26fd 100644
--- a/bytes/src/test/java/net/consensys/cava/bytes/ConcatenatedBytesTest.java
+++ b/bytes/src/test/java/net/consensys/cava/bytes/ConcatenatedBytesTest.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.bytes;
+package org.apache.tuweni.bytes;
 
-import static net.consensys.cava.bytes.Bytes.fromHexString;
-import static net.consensys.cava.bytes.Bytes.wrap;
+import static org.apache.tuweni.bytes.Bytes.fromHexString;
+import static org.apache.tuweni.bytes.Bytes.wrap;
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git a/concurrent-coroutines/src/main/kotlin/net/consensys/cava/concurrent/coroutines/AsyncCompletion.kt b/concurrent-coroutines/src/main/kotlin/net/consensys/cava/concurrent/coroutines/AsyncCompletion.kt
index 4cd0969..2033576 100644
--- a/concurrent-coroutines/src/main/kotlin/net/consensys/cava/concurrent/coroutines/AsyncCompletion.kt
+++ b/concurrent-coroutines/src/main/kotlin/net/consensys/cava/concurrent/coroutines/AsyncCompletion.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent.coroutines
+package org.apache.tuweni.concurrent.coroutines
 
 import kotlinx.coroutines.CancellableContinuation
 import kotlinx.coroutines.CompletableDeferred
@@ -24,8 +24,8 @@ import kotlinx.coroutines.Job
 import kotlinx.coroutines.ObsoleteCoroutinesApi
 import kotlinx.coroutines.newCoroutineContext
 import kotlinx.coroutines.suspendCancellableCoroutine
-import net.consensys.cava.concurrent.AsyncCompletion
-import net.consensys.cava.concurrent.CompletableAsyncCompletion
+import org.apache.tuweni.concurrent.AsyncCompletion
+import org.apache.tuweni.concurrent.CompletableAsyncCompletion
 import java.util.concurrent.CancellationException
 import java.util.concurrent.CompletionException
 import java.util.function.Consumer
diff --git a/concurrent-coroutines/src/main/kotlin/net/consensys/cava/concurrent/coroutines/AsyncResult.kt b/concurrent-coroutines/src/main/kotlin/net/consensys/cava/concurrent/coroutines/AsyncResult.kt
index 7149b2e..9508d69 100644
--- a/concurrent-coroutines/src/main/kotlin/net/consensys/cava/concurrent/coroutines/AsyncResult.kt
+++ b/concurrent-coroutines/src/main/kotlin/net/consensys/cava/concurrent/coroutines/AsyncResult.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent.coroutines
+package org.apache.tuweni.concurrent.coroutines
 
 import kotlinx.coroutines.CancellableContinuation
 import kotlinx.coroutines.CompletableDeferred
@@ -24,8 +24,8 @@ import kotlinx.coroutines.Job
 import kotlinx.coroutines.ObsoleteCoroutinesApi
 import kotlinx.coroutines.newCoroutineContext
 import kotlinx.coroutines.suspendCancellableCoroutine
-import net.consensys.cava.concurrent.AsyncResult
-import net.consensys.cava.concurrent.CompletableAsyncResult
+import org.apache.tuweni.concurrent.AsyncResult
+import org.apache.tuweni.concurrent.CompletableAsyncResult
 import java.util.concurrent.CancellationException
 import java.util.concurrent.CompletionException
 import java.util.function.BiConsumer
diff --git a/concurrent-coroutines/src/main/kotlin/net/consensys/cava/concurrent/coroutines/CoroutineLatch.kt b/concurrent-coroutines/src/main/kotlin/net/consensys/cava/concurrent/coroutines/CoroutineLatch.kt
index ec609e1..1723644 100644
--- a/concurrent-coroutines/src/main/kotlin/net/consensys/cava/concurrent/coroutines/CoroutineLatch.kt
+++ b/concurrent-coroutines/src/main/kotlin/net/consensys/cava/concurrent/coroutines/CoroutineLatch.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent.coroutines
+package org.apache.tuweni.concurrent.coroutines
 
 import kotlinx.coroutines.suspendCancellableCoroutine
 import java.util.concurrent.atomic.AtomicInteger
diff --git a/concurrent-coroutines/src/main/kotlin/net/consensys/cava/concurrent/coroutines/Retryable.kt b/concurrent-coroutines/src/main/kotlin/net/consensys/cava/concurrent/coroutines/Retryable.kt
index 498e85b..49d92a2 100644
--- a/concurrent-coroutines/src/main/kotlin/net/consensys/cava/concurrent/coroutines/Retryable.kt
+++ b/concurrent-coroutines/src/main/kotlin/net/consensys/cava/concurrent/coroutines/Retryable.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent.coroutines
+package org.apache.tuweni.concurrent.coroutines
 
 import kotlinx.coroutines.CancellationException
 import kotlinx.coroutines.CompletableDeferred
diff --git a/concurrent-coroutines/src/test/kotlin/net/consensys/cava/concurrent/coroutines/CoroutineLatchTest.kt b/concurrent-coroutines/src/test/kotlin/net/consensys/cava/concurrent/coroutines/CoroutineLatchTest.kt
index a61094c..07899fb 100644
--- a/concurrent-coroutines/src/test/kotlin/net/consensys/cava/concurrent/coroutines/CoroutineLatchTest.kt
+++ b/concurrent-coroutines/src/test/kotlin/net/consensys/cava/concurrent/coroutines/CoroutineLatchTest.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent.coroutines
+package org.apache.tuweni.concurrent.coroutines
 
 import kotlinx.coroutines.TimeoutCancellationException
 import kotlinx.coroutines.async
diff --git a/concurrent-coroutines/src/test/kotlin/net/consensys/cava/concurrent/coroutines/RetryableTest.kt b/concurrent-coroutines/src/test/kotlin/net/consensys/cava/concurrent/coroutines/RetryableTest.kt
index f29cb96..c6f71f8 100644
--- a/concurrent-coroutines/src/test/kotlin/net/consensys/cava/concurrent/coroutines/RetryableTest.kt
+++ b/concurrent-coroutines/src/test/kotlin/net/consensys/cava/concurrent/coroutines/RetryableTest.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent.coroutines
+package org.apache.tuweni.concurrent.coroutines
 
 import kotlinx.coroutines.CoroutineExceptionHandler
 import kotlinx.coroutines.delay
diff --git a/concurrent/src/main/java/net/consensys/cava/concurrent/AsyncCompletion.java b/concurrent/src/main/java/net/consensys/cava/concurrent/AsyncCompletion.java
index cf97b6c..77b2471 100644
--- a/concurrent/src/main/java/net/consensys/cava/concurrent/AsyncCompletion.java
+++ b/concurrent/src/main/java/net/consensys/cava/concurrent/AsyncCompletion.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent;
+package org.apache.tuweni.concurrent;
 
 import static java.util.Objects.requireNonNull;
 
diff --git a/concurrent/src/main/java/net/consensys/cava/concurrent/AsyncResult.java b/concurrent/src/main/java/net/consensys/cava/concurrent/AsyncResult.java
index b039e77..d3214e3 100644
--- a/concurrent/src/main/java/net/consensys/cava/concurrent/AsyncResult.java
+++ b/concurrent/src/main/java/net/consensys/cava/concurrent/AsyncResult.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent;
+package org.apache.tuweni.concurrent;
 
 import static java.util.Objects.requireNonNull;
 
diff --git a/concurrent/src/main/java/net/consensys/cava/concurrent/AtomicSlotMap.java b/concurrent/src/main/java/net/consensys/cava/concurrent/AtomicSlotMap.java
index 8a8a487..6b6eba2 100644
--- a/concurrent/src/main/java/net/consensys/cava/concurrent/AtomicSlotMap.java
+++ b/concurrent/src/main/java/net/consensys/cava/concurrent/AtomicSlotMap.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent;
+package org.apache.tuweni.concurrent;
 
 import static java.util.Objects.requireNonNull;
 
diff --git a/concurrent/src/main/java/net/consensys/cava/concurrent/CompletableAsyncCompletion.java b/concurrent/src/main/java/net/consensys/cava/concurrent/CompletableAsyncCompletion.java
index e546b7b..49fe75e 100644
--- a/concurrent/src/main/java/net/consensys/cava/concurrent/CompletableAsyncCompletion.java
+++ b/concurrent/src/main/java/net/consensys/cava/concurrent/CompletableAsyncCompletion.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent;
+package org.apache.tuweni.concurrent;
 
 /**
  * An {@link AsyncCompletion} that can later be completed successfully or with a provided exception.
diff --git a/concurrent/src/main/java/net/consensys/cava/concurrent/CompletableAsyncResult.java b/concurrent/src/main/java/net/consensys/cava/concurrent/CompletableAsyncResult.java
index 5dfddb5..0665519 100644
--- a/concurrent/src/main/java/net/consensys/cava/concurrent/CompletableAsyncResult.java
+++ b/concurrent/src/main/java/net/consensys/cava/concurrent/CompletableAsyncResult.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent;
+package org.apache.tuweni.concurrent;
 
 import javax.annotation.Nullable;
 
diff --git a/concurrent/src/main/java/net/consensys/cava/concurrent/DefaultCompletableAsyncCompletion.java b/concurrent/src/main/java/net/consensys/cava/concurrent/DefaultCompletableAsyncCompletion.java
index 7dddb17..e4ae055 100644
--- a/concurrent/src/main/java/net/consensys/cava/concurrent/DefaultCompletableAsyncCompletion.java
+++ b/concurrent/src/main/java/net/consensys/cava/concurrent/DefaultCompletableAsyncCompletion.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent;
+package org.apache.tuweni.concurrent;
 
 import static java.util.Objects.requireNonNull;
 
diff --git a/concurrent/src/main/java/net/consensys/cava/concurrent/DefaultCompletableAsyncResult.java b/concurrent/src/main/java/net/consensys/cava/concurrent/DefaultCompletableAsyncResult.java
index 3073026..37bc55c 100644
--- a/concurrent/src/main/java/net/consensys/cava/concurrent/DefaultCompletableAsyncResult.java
+++ b/concurrent/src/main/java/net/consensys/cava/concurrent/DefaultCompletableAsyncResult.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent;
+package org.apache.tuweni.concurrent;
 
 import static java.util.Objects.requireNonNull;
 
diff --git a/concurrent/src/main/java/net/consensys/cava/concurrent/ExpiringMap.java b/concurrent/src/main/java/net/consensys/cava/concurrent/ExpiringMap.java
index 5b1bd21..2e4cbbd 100644
--- a/concurrent/src/main/java/net/consensys/cava/concurrent/ExpiringMap.java
+++ b/concurrent/src/main/java/net/consensys/cava/concurrent/ExpiringMap.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent;
+package org.apache.tuweni.concurrent;
 
 import static java.util.Objects.requireNonNull;
 
diff --git a/concurrent/src/main/java/net/consensys/cava/concurrent/ExpiringSet.java b/concurrent/src/main/java/net/consensys/cava/concurrent/ExpiringSet.java
index 05d0bdd..5163714 100644
--- a/concurrent/src/main/java/net/consensys/cava/concurrent/ExpiringSet.java
+++ b/concurrent/src/main/java/net/consensys/cava/concurrent/ExpiringSet.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent;
+package org.apache.tuweni.concurrent;
 
 import static java.util.Objects.requireNonNull;
 
diff --git a/concurrent/src/main/java/net/consensys/cava/concurrent/package-info.java b/concurrent/src/main/java/net/consensys/cava/concurrent/package-info.java
index 136ab2b..c0f9c47 100644
--- a/concurrent/src/main/java/net/consensys/cava/concurrent/package-info.java
+++ b/concurrent/src/main/java/net/consensys/cava/concurrent/package-info.java
@@ -3,9 +3,9 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-concurrent' (cava-concurrent.jar).
+ * 'org.apache.tuweni:cava-concurrent' (cava-concurrent.jar).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.concurrent;
+package org.apache.tuweni.concurrent;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/concurrent/src/test/java/net/consensys/cava/concurrent/AtomicSlotMapTest.java b/concurrent/src/test/java/net/consensys/cava/concurrent/AtomicSlotMapTest.java
index d813bd8..ee08bb2 100644
--- a/concurrent/src/test/java/net/consensys/cava/concurrent/AtomicSlotMapTest.java
+++ b/concurrent/src/test/java/net/consensys/cava/concurrent/AtomicSlotMapTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent;
+package org.apache.tuweni.concurrent;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git a/concurrent/src/test/java/net/consensys/cava/concurrent/DefaultCompletableAsyncCompletionTest.java b/concurrent/src/test/java/net/consensys/cava/concurrent/DefaultCompletableAsyncCompletionTest.java
index 504d86d..17fbb89 100644
--- a/concurrent/src/test/java/net/consensys/cava/concurrent/DefaultCompletableAsyncCompletionTest.java
+++ b/concurrent/src/test/java/net/consensys/cava/concurrent/DefaultCompletableAsyncCompletionTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent;
+package org.apache.tuweni.concurrent;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.fail;
diff --git a/concurrent/src/test/java/net/consensys/cava/concurrent/DefaultCompletableAsyncResultTest.java b/concurrent/src/test/java/net/consensys/cava/concurrent/DefaultCompletableAsyncResultTest.java
index 1d1cbeb..002c6bf 100644
--- a/concurrent/src/test/java/net/consensys/cava/concurrent/DefaultCompletableAsyncResultTest.java
+++ b/concurrent/src/test/java/net/consensys/cava/concurrent/DefaultCompletableAsyncResultTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent;
+package org.apache.tuweni.concurrent;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.fail;
diff --git a/concurrent/src/test/java/net/consensys/cava/concurrent/ExpiringMapTest.java b/concurrent/src/test/java/net/consensys/cava/concurrent/ExpiringMapTest.java
index cacc43e..2a58b53 100644
--- a/concurrent/src/test/java/net/consensys/cava/concurrent/ExpiringMapTest.java
+++ b/concurrent/src/test/java/net/consensys/cava/concurrent/ExpiringMapTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent;
+package org.apache.tuweni.concurrent;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git a/concurrent/src/test/java/net/consensys/cava/concurrent/ExpiringSetTest.java b/concurrent/src/test/java/net/consensys/cava/concurrent/ExpiringSetTest.java
index d619c2a..99837ae 100644
--- a/concurrent/src/test/java/net/consensys/cava/concurrent/ExpiringSetTest.java
+++ b/concurrent/src/test/java/net/consensys/cava/concurrent/ExpiringSetTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.concurrent;
+package org.apache.tuweni.concurrent;
 
 import static org.junit.jupiter.api.Assertions.*;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/config/src/main/java/net/consensys/cava/config/Configuration.java b/config/src/main/java/net/consensys/cava/config/Configuration.java
index fbf1608..83aed67 100644
--- a/config/src/main/java/net/consensys/cava/config/Configuration.java
+++ b/config/src/main/java/net/consensys/cava/config/Configuration.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
 import static java.util.Objects.requireNonNull;
-import static net.consensys.cava.toml.Toml.canonicalDottedKey;
+import static org.apache.tuweni.toml.Toml.canonicalDottedKey;
 
-import net.consensys.cava.toml.Toml;
+import org.apache.tuweni.toml.Toml;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/config/src/main/java/net/consensys/cava/config/ConfigurationError.java b/config/src/main/java/net/consensys/cava/config/ConfigurationError.java
index 3c9283c..646b8b1 100644
--- a/config/src/main/java/net/consensys/cava/config/ConfigurationError.java
+++ b/config/src/main/java/net/consensys/cava/config/ConfigurationError.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
 import javax.annotation.Nullable;
 
diff --git a/config/src/main/java/net/consensys/cava/config/ConfigurationErrors.java b/config/src/main/java/net/consensys/cava/config/ConfigurationErrors.java
index d7f2df1..5fce1c8 100644
--- a/config/src/main/java/net/consensys/cava/config/ConfigurationErrors.java
+++ b/config/src/main/java/net/consensys/cava/config/ConfigurationErrors.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/config/src/main/java/net/consensys/cava/config/ConfigurationValidator.java b/config/src/main/java/net/consensys/cava/config/ConfigurationValidator.java
index 43d56a9..4b2a70e 100644
--- a/config/src/main/java/net/consensys/cava/config/ConfigurationValidator.java
+++ b/config/src/main/java/net/consensys/cava/config/ConfigurationValidator.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
 import java.util.List;
 
diff --git a/config/src/main/java/net/consensys/cava/config/DocumentPosition.java b/config/src/main/java/net/consensys/cava/config/DocumentPosition.java
index 1ab1bca..e7ccfbf 100644
--- a/config/src/main/java/net/consensys/cava/config/DocumentPosition.java
+++ b/config/src/main/java/net/consensys/cava/config/DocumentPosition.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
 
 /**
diff --git a/config/src/main/java/net/consensys/cava/config/EmptyConfiguration.java b/config/src/main/java/net/consensys/cava/config/EmptyConfiguration.java
index 0c38102..020152b 100644
--- a/config/src/main/java/net/consensys/cava/config/EmptyConfiguration.java
+++ b/config/src/main/java/net/consensys/cava/config/EmptyConfiguration.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
-import static net.consensys.cava.config.Configuration.canonicalKey;
+import static org.apache.tuweni.config.Configuration.canonicalKey;
 
 import java.io.IOException;
 import java.util.Collections;
diff --git a/config/src/main/java/net/consensys/cava/config/InvalidConfigurationPropertyTypeException.java b/config/src/main/java/net/consensys/cava/config/InvalidConfigurationPropertyTypeException.java
index 27cd06b..d81e5ec 100644
--- a/config/src/main/java/net/consensys/cava/config/InvalidConfigurationPropertyTypeException.java
+++ b/config/src/main/java/net/consensys/cava/config/InvalidConfigurationPropertyTypeException.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
 import javax.annotation.Nullable;
 
diff --git a/config/src/main/java/net/consensys/cava/config/NoConfigurationPropertyException.java b/config/src/main/java/net/consensys/cava/config/NoConfigurationPropertyException.java
index 7d19453..6ed89ff 100644
--- a/config/src/main/java/net/consensys/cava/config/NoConfigurationPropertyException.java
+++ b/config/src/main/java/net/consensys/cava/config/NoConfigurationPropertyException.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
 /**
  * An exception thrown when a requested configuration property is not found.
diff --git a/config/src/main/java/net/consensys/cava/config/PropertyValidator.java b/config/src/main/java/net/consensys/cava/config/PropertyValidator.java
index 17295d7..fa03b17 100644
--- a/config/src/main/java/net/consensys/cava/config/PropertyValidator.java
+++ b/config/src/main/java/net/consensys/cava/config/PropertyValidator.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
-import static net.consensys.cava.config.ConfigurationErrors.noErrors;
-import static net.consensys.cava.config.ConfigurationErrors.singleError;
+import static org.apache.tuweni.config.ConfigurationErrors.noErrors;
+import static org.apache.tuweni.config.ConfigurationErrors.singleError;
 
 import java.net.MalformedURLException;
 import java.net.URL;
diff --git a/config/src/main/java/net/consensys/cava/config/PropertyValidators.java b/config/src/main/java/net/consensys/cava/config/PropertyValidators.java
index a5bceb8..e576e6b 100644
--- a/config/src/main/java/net/consensys/cava/config/PropertyValidators.java
+++ b/config/src/main/java/net/consensys/cava/config/PropertyValidators.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
-import static net.consensys.cava.config.ConfigurationErrors.noErrors;
-import static net.consensys.cava.config.ConfigurationErrors.singleError;
+import static org.apache.tuweni.config.ConfigurationErrors.noErrors;
+import static org.apache.tuweni.config.ConfigurationErrors.singleError;
 
 final class PropertyValidators {
   private PropertyValidators() {}
diff --git a/config/src/main/java/net/consensys/cava/config/Schema.java b/config/src/main/java/net/consensys/cava/config/Schema.java
index 6ddeee2..309df3a 100644
--- a/config/src/main/java/net/consensys/cava/config/Schema.java
+++ b/config/src/main/java/net/consensys/cava/config/Schema.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
 import static java.util.Objects.requireNonNull;
 
diff --git a/config/src/main/java/net/consensys/cava/config/SchemaBuilder.java b/config/src/main/java/net/consensys/cava/config/SchemaBuilder.java
index 8e1b0a9..5fe2f69 100644
--- a/config/src/main/java/net/consensys/cava/config/SchemaBuilder.java
+++ b/config/src/main/java/net/consensys/cava/config/SchemaBuilder.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
 import static java.util.Objects.requireNonNull;
-import static net.consensys.cava.config.Configuration.canonicalKey;
+import static org.apache.tuweni.config.Configuration.canonicalKey;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/config/src/main/java/net/consensys/cava/config/TomlBackedConfiguration.java b/config/src/main/java/net/consensys/cava/config/TomlBackedConfiguration.java
index 65634a4..5db73b4 100644
--- a/config/src/main/java/net/consensys/cava/config/TomlBackedConfiguration.java
+++ b/config/src/main/java/net/consensys/cava/config/TomlBackedConfiguration.java
@@ -10,16 +10,16 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
-import static net.consensys.cava.toml.Toml.joinKeyPath;
-import static net.consensys.cava.toml.Toml.parseDottedKey;
+import static org.apache.tuweni.toml.Toml.joinKeyPath;
+import static org.apache.tuweni.toml.Toml.parseDottedKey;
 
-import net.consensys.cava.toml.TomlArray;
-import net.consensys.cava.toml.TomlInvalidTypeException;
-import net.consensys.cava.toml.TomlParseResult;
-import net.consensys.cava.toml.TomlPosition;
-import net.consensys.cava.toml.TomlTable;
+import org.apache.tuweni.toml.TomlArray;
+import org.apache.tuweni.toml.TomlInvalidTypeException;
+import org.apache.tuweni.toml.TomlParseResult;
+import org.apache.tuweni.toml.TomlPosition;
+import org.apache.tuweni.toml.TomlTable;
 
 import java.io.IOException;
 import java.util.ArrayList;
diff --git a/config/src/main/java/net/consensys/cava/config/TomlSerializer.java b/config/src/main/java/net/consensys/cava/config/TomlSerializer.java
index 71dcc69..68f17ec 100644
--- a/config/src/main/java/net/consensys/cava/config/TomlSerializer.java
+++ b/config/src/main/java/net/consensys/cava/config/TomlSerializer.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
-import static net.consensys.cava.config.Configuration.canonicalKey;
+import static org.apache.tuweni.config.Configuration.canonicalKey;
 
-import net.consensys.cava.toml.Toml;
+import org.apache.tuweni.toml.Toml;
 
 import java.io.IOException;
 import java.util.Collections;
diff --git a/config/src/main/java/net/consensys/cava/config/package-info.java b/config/src/main/java/net/consensys/cava/config/package-info.java
index cde800a..96dd6ce 100644
--- a/config/src/main/java/net/consensys/cava/config/package-info.java
+++ b/config/src/main/java/net/consensys/cava/config/package-info.java
@@ -2,9 +2,9 @@
  * A general-purpose library for managing configuration data.
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-config' (cava-config.jar).
+ * 'org.apache.tuweni:cava-config' (cava-config.jar).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.config;
+package org.apache.tuweni.config;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/config/src/test/java/net/consensys/cava/config/PropertyValidatorTest.java b/config/src/test/java/net/consensys/cava/config/PropertyValidatorTest.java
index 67cd4d8..b32e06a 100644
--- a/config/src/test/java/net/consensys/cava/config/PropertyValidatorTest.java
+++ b/config/src/test/java/net/consensys/cava/config/PropertyValidatorTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/config/src/test/java/net/consensys/cava/config/SchemaBuilderTest.java b/config/src/test/java/net/consensys/cava/config/SchemaBuilderTest.java
index 036e8a6..438cfab 100644
--- a/config/src/test/java/net/consensys/cava/config/SchemaBuilderTest.java
+++ b/config/src/test/java/net/consensys/cava/config/SchemaBuilderTest.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
-import static net.consensys.cava.config.ConfigurationErrors.noErrors;
-import static net.consensys.cava.config.ConfigurationErrors.singleError;
+import static org.apache.tuweni.config.ConfigurationErrors.noErrors;
+import static org.apache.tuweni.config.ConfigurationErrors.singleError;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
diff --git a/config/src/test/java/net/consensys/cava/config/TomlBackedConfigurationTest.java b/config/src/test/java/net/consensys/cava/config/TomlBackedConfigurationTest.java
index b987212..3b46833 100644
--- a/config/src/test/java/net/consensys/cava/config/TomlBackedConfigurationTest.java
+++ b/config/src/test/java/net/consensys/cava/config/TomlBackedConfigurationTest.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.config;
+package org.apache.tuweni.config;
 
-import static net.consensys.cava.config.ConfigurationErrors.noErrors;
-import static net.consensys.cava.config.ConfigurationErrors.singleError;
+import static org.apache.tuweni.config.ConfigurationErrors.noErrors;
+import static org.apache.tuweni.config.ConfigurationErrors.singleError;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNull;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/Hash.java b/crypto/src/main/java/net/consensys/cava/crypto/Hash.java
index 7576d3d..e660343 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/Hash.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/Hash.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.crypto;
+package org.apache.tuweni.crypto;
 
 import static java.util.Objects.requireNonNull;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
 
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/InvalidSEC256K1SecretKeyStoreException.java b/crypto/src/main/java/net/consensys/cava/crypto/InvalidSEC256K1SecretKeyStoreException.java
index 6f9a241..641b297 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/InvalidSEC256K1SecretKeyStoreException.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/InvalidSEC256K1SecretKeyStoreException.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto;
+package org.apache.tuweni.crypto;
 
 /**
  * Exception thrown when reading a store that contains an invalid SEC256K1 private keys.
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/SECP256K1.java b/crypto/src/main/java/net/consensys/cava/crypto/SECP256K1.java
index 3291ed6..3d0b0ee 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/SECP256K1.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/SECP256K1.java
@@ -10,20 +10,20 @@
  * 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 net.consensys.cava.crypto;
+package org.apache.tuweni.crypto;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static java.nio.file.StandardOpenOption.READ;
-import static net.consensys.cava.crypto.Hash.keccak256;
-import static net.consensys.cava.crypto.SECP256K1.Parameters.CURVE;
-import static net.consensys.cava.io.file.Files.atomicReplace;
-
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.bytes.MutableBytes;
-import net.consensys.cava.units.bigints.UInt256;
+import static org.apache.tuweni.crypto.Hash.keccak256;
+import static org.apache.tuweni.crypto.SECP256K1.Parameters.CURVE;
+import static org.apache.tuweni.io.file.Files.atomicReplace;
+
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.bytes.MutableBytes;
+import org.apache.tuweni.units.bigints.UInt256;
 
 import java.io.IOException;
 import java.math.BigInteger;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/AtePairing.java b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/AtePairing.java
index 2485a96..f5e84b0 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/AtePairing.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/AtePairing.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.mikuli;
+package org.apache.tuweni.crypto.mikuli;
 
 import org.apache.milagro.amcl.BLS381.FP12;
 import org.apache.milagro.amcl.BLS381.PAIR;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/BLS12381.java b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/BLS12381.java
index f8d933d..a867f60 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/BLS12381.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/BLS12381.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.crypto.mikuli;
+package org.apache.tuweni.crypto.mikuli;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import org.apache.milagro.amcl.BLS381.ECP;
 import org.apache.milagro.amcl.BLS381.ECP2;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/G1Point.java b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/G1Point.java
index 2278baa..e472f83 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/G1Point.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/G1Point.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.crypto.mikuli;
+package org.apache.tuweni.crypto.mikuli;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.Objects;
 
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/G2Point.java b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/G2Point.java
index 1fc5714..fafb509 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/G2Point.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/G2Point.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.crypto.mikuli;
+package org.apache.tuweni.crypto.mikuli;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.Objects;
 
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/GTPoint.java b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/GTPoint.java
index 1fb4212..e19bf37 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/GTPoint.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/GTPoint.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.mikuli;
+package org.apache.tuweni.crypto.mikuli;
 
 import java.util.Objects;
 
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/Group.java b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/Group.java
index 70c848f..30a67f2 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/Group.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/Group.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.mikuli;
+package org.apache.tuweni.crypto.mikuli;
 
 /**
  * Group is an interface that define the allowed mathematical operators
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/KeyPair.java b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/KeyPair.java
index be09ffc..6ea890b 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/KeyPair.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/KeyPair.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.mikuli;
+package org.apache.tuweni.crypto.mikuli;
 
 import org.apache.milagro.amcl.BLS381.BIG;
 import org.apache.milagro.amcl.BLS381.ECP;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/PublicKey.java b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/PublicKey.java
index e5a18f7..5ba81ff 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/PublicKey.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/PublicKey.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.crypto.mikuli;
+package org.apache.tuweni.crypto.mikuli;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.List;
 import java.util.Objects;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/Scalar.java b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/Scalar.java
index f31606a..ae2de0a 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/Scalar.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/Scalar.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.mikuli;
+package org.apache.tuweni.crypto.mikuli;
 
 import java.util.Objects;
 
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/SecretKey.java b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/SecretKey.java
index 632cc8a..2bbb86c 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/SecretKey.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/SecretKey.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.crypto.mikuli;
+package org.apache.tuweni.crypto.mikuli;
 
 import static org.apache.milagro.amcl.BLS381.BIG.MODBYTES;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.Objects;
 
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/Signature.java b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/Signature.java
index a0fd5ed..0a37427 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/Signature.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/Signature.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.crypto.mikuli;
+package org.apache.tuweni.crypto.mikuli;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.List;
 import java.util.Objects;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/SignatureAndPublicKey.java b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/SignatureAndPublicKey.java
index 4042c45..14d66a9 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/SignatureAndPublicKey.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/SignatureAndPublicKey.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.mikuli;
+package org.apache.tuweni.crypto.mikuli;
 
 import java.util.List;
 
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/package-info.java b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/package-info.java
index 247a408..a299598 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/mikuli/package-info.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/mikuli/package-info.java
@@ -3,9 +3,9 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-crypto' (cava-crypto.jar).
+ * 'org.apache.tuweni:cava-crypto' (cava-crypto.jar).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.crypto.mikuli;
+package org.apache.tuweni.crypto.mikuli;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/package-info.java b/crypto/src/main/java/net/consensys/cava/crypto/package-info.java
index 805e45b..ba26899 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/package-info.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/package-info.java
@@ -3,6 +3,6 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-crypto' (cava-crypto.jar).
+ * 'org.apache.tuweni:cava-crypto' (cava-crypto.jar).
  */
-package net.consensys.cava.crypto;
+package org.apache.tuweni.crypto;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/AES256GCM.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/AES256GCM.java
index caf6b72..1ce47c2 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/AES256GCM.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/AES256GCM.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.Arrays;
 import javax.annotation.Nullable;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/Allocated.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/Allocated.java
index e553e98..ed28dd6 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/Allocated.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/Allocated.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static com.google.common.base.Preconditions.checkState;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import javax.annotation.Nullable;
 import javax.security.auth.Destroyable;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/Auth.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/Auth.java
index fff9f2d..eb21f25 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/Auth.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/Auth.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import javax.security.auth.Destroyable;
 
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/Box.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/Box.java
index cc4d35e..bbabb8e 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/Box.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/Box.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.Objects;
 import javax.annotation.Nullable;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/Concatenate.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/Concatenate.java
index 3b190c1..e1cba0c 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/Concatenate.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/Concatenate.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/DefaultDetachedEncryptionResult.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/DefaultDetachedEncryptionResult.java
index 59f6168..4ae6ff0 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/DefaultDetachedEncryptionResult.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/DefaultDetachedEncryptionResult.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 final class DefaultDetachedEncryptionResult implements DetachedEncryptionResult {
 
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/DetachedEncryptionResult.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/DetachedEncryptionResult.java
index 8837179..d06512a 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/DetachedEncryptionResult.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/DetachedEncryptionResult.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 /**
  * The result from a detached encryption.
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/DiffieHelman.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/DiffieHelman.java
index f3f3f4e..16d8e35 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/DiffieHelman.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/DiffieHelman.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkState;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.Objects;
 import javax.security.auth.Destroyable;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/GenericHash.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/GenericHash.java
index d4745d5..4930efb 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/GenericHash.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/GenericHash.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.Objects;
 import javax.security.auth.Destroyable;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/HMACSHA256.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/HMACSHA256.java
index 352fc95..531618a 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/HMACSHA256.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/HMACSHA256.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import javax.security.auth.Destroyable;
 
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/HMACSHA512.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/HMACSHA512.java
index c033708..9c7c3eb 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/HMACSHA512.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/HMACSHA512.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import javax.security.auth.Destroyable;
 
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/HMACSHA512256.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/HMACSHA512256.java
index bd70ac4..25437ef 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/HMACSHA512256.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/HMACSHA512256.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import javax.security.auth.Destroyable;
 
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/KeyDerivation.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/KeyDerivation.java
index 2578be5..117c931 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/KeyDerivation.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/KeyDerivation.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static com.google.common.base.Preconditions.checkState;
 import static java.nio.charset.StandardCharsets.UTF_8;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.Arrays;
 import javax.security.auth.Destroyable;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/KeyExchange.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/KeyExchange.java
index c8ffe8f..1890d74 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/KeyExchange.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/KeyExchange.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkState;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.Objects;
 import javax.annotation.Nullable;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/LibSodium.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/LibSodium.java
index 9655988..54471a1 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/LibSodium.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/LibSodium.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import javax.annotation.Nullable;
 
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/PasswordHash.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/PasswordHash.java
index 2d188a9..9c92401 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/PasswordHash.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/PasswordHash.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import javax.annotation.Nullable;
 
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/SHA256Hash.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/SHA256Hash.java
index c95dd23..952c1ca 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/SHA256Hash.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/SHA256Hash.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.Objects;
 import javax.security.auth.Destroyable;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/SecretBox.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/SecretBox.java
index 29d5759..4583d79 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/SecretBox.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/SecretBox.java
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static java.util.Objects.requireNonNull;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.Arrays;
 import javax.annotation.Nullable;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/SecretDecryptionStream.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/SecretDecryptionStream.java
index 584f74a..2b14fcf 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/SecretDecryptionStream.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/SecretDecryptionStream.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import javax.security.auth.Destroyable;
 
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/SecretEncryptionStream.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/SecretEncryptionStream.java
index d045cd2..1da6361 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/SecretEncryptionStream.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/SecretEncryptionStream.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import javax.security.auth.Destroyable;
 
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/Signature.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/Signature.java
index 07c597b..b443b14 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/Signature.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/Signature.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 // Documentation copied under the ISC License, from
 // https://github.com/jedisct1/libsodium-doc/blob/424b7480562c2e063bc8c52c452ef891621c8480/public-key_cryptography/public-key_signatures.md
 
 import static com.google.common.base.Preconditions.checkArgument;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.Arrays;
 import java.util.Objects;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/Sodium.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/Sodium.java
index 14c915c..163b7e3 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/Sodium.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/Sodium.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static java.util.Objects.requireNonNull;
 
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/SodiumException.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/SodiumException.java
index 6da067c..87800dd 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/SodiumException.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/SodiumException.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 /**
  * An exception that is thrown when an error occurs using the native sodium library.
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/SodiumVersion.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/SodiumVersion.java
index d006edb..982c437 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/SodiumVersion.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/SodiumVersion.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 /**
  * Details of a sodium native library version.
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/XChaCha20Poly1305.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/XChaCha20Poly1305.java
index 9cf9ae0..4af499b 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/XChaCha20Poly1305.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/XChaCha20Poly1305.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkState;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import javax.annotation.Nullable;
 import javax.security.auth.Destroyable;
diff --git a/crypto/src/main/java/net/consensys/cava/crypto/sodium/package-info.java b/crypto/src/main/java/net/consensys/cava/crypto/sodium/package-info.java
index 22b04db..ca8224b 100644
--- a/crypto/src/main/java/net/consensys/cava/crypto/sodium/package-info.java
+++ b/crypto/src/main/java/net/consensys/cava/crypto/sodium/package-info.java
@@ -5,8 +5,8 @@
  * Classes and utilities in this package provide an interface to the native Sodium crypto library
  * (https://www.libsodium.org/), which must be installed on the same system as the JVM. It will be searched for in
  * common library locations, or it can be loaded explicitly using
- * {@link net.consensys.cava.crypto.sodium.Sodium#searchLibrary(java.nio.file.Path...)} or
- * {@link net.consensys.cava.crypto.sodium.Sodium#loadLibrary(java.nio.file.Path)}.
+ * {@link org.apache.tuweni.crypto.sodium.Sodium#searchLibrary(java.nio.file.Path...)} or
+ * {@link org.apache.tuweni.crypto.sodium.Sodium#loadLibrary(java.nio.file.Path)}.
  *
  * <p>
  * Classes in this package also depend upon the JNR-FFI library being available on the classpath, along with its
@@ -14,6 +14,6 @@
  * 'com.github.jnr:jnr-ffi'.
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/HashTest.java b/crypto/src/test/java/net/consensys/cava/crypto/HashTest.java
index 44dcb8f..7bcd54a 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/HashTest.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/HashTest.java
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.crypto;
+package org.apache.tuweni.crypto;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.jupiter.api.Assertions.*;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.junit.BouncyCastleExtension;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.junit.BouncyCastleExtension;
 
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/SECP256K1Test.java b/crypto/src/test/java/net/consensys/cava/crypto/SECP256K1Test.java
index 78592c4..3cc61af 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/SECP256K1Test.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/SECP256K1Test.java
@@ -10,21 +10,21 @@
  * 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 net.consensys.cava.crypto;
+package org.apache.tuweni.crypto;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
-import static net.consensys.cava.bytes.Bytes.fromHexString;
+import static org.apache.tuweni.bytes.Bytes.fromHexString;
 import static org.junit.jupiter.api.Assertions.*;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.crypto.SECP256K1.KeyPair;
-import net.consensys.cava.crypto.SECP256K1.PublicKey;
-import net.consensys.cava.crypto.SECP256K1.SecretKey;
-import net.consensys.cava.crypto.SECP256K1.Signature;
-import net.consensys.cava.junit.BouncyCastleExtension;
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.crypto.SECP256K1.KeyPair;
+import org.apache.tuweni.crypto.SECP256K1.PublicKey;
+import org.apache.tuweni.crypto.SECP256K1.SecretKey;
+import org.apache.tuweni.crypto.SECP256K1.Signature;
+import org.apache.tuweni.junit.BouncyCastleExtension;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
 
 import java.math.BigInteger;
 import java.nio.file.Files;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/mikuli/SignatureTest.java b/crypto/src/test/java/net/consensys/cava/crypto/mikuli/SignatureTest.java
index b16576b..266731c 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/mikuli/SignatureTest.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/mikuli/SignatureTest.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.crypto.mikuli;
+package org.apache.tuweni.crypto.mikuli;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/AES256GCMTest.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/AES256GCMTest.java
index 82be56f..b84da6e 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/AES256GCMTest.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/AES256GCMTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/AllocatedTest.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/AllocatedTest.java
index b079cd9..b47c550 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/AllocatedTest.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/AllocatedTest.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/AuthTest.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/AuthTest.java
index 70a6d33..2053b73 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/AuthTest.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/AuthTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/BoxTest.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/BoxTest.java
index a0882ea..d6e0217 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/BoxTest.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/BoxTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/ConcatenateTest.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/ConcatenateTest.java
index 9cec40b..84dec45 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/ConcatenateTest.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/ConcatenateTest.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/DiffieHelmanTest.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/DiffieHelmanTest.java
index c469b74..591ae07 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/DiffieHelmanTest.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/DiffieHelmanTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/GenericHashTest.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/GenericHashTest.java
index 080ed9f..2e6947a 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/GenericHashTest.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/GenericHashTest.java
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/HMACSHA256Test.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/HMACSHA256Test.java
index 1faf9c9..597bd70 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/HMACSHA256Test.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/HMACSHA256Test.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/HMACSHA512256Test.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/HMACSHA512256Test.java
index 0ed1dc2..9107aa2 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/HMACSHA512256Test.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/HMACSHA512256Test.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/HMACSHA512Test.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/HMACSHA512Test.java
index d191880..b6a1f6c 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/HMACSHA512Test.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/HMACSHA512Test.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/KeyDerivationTest.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/KeyDerivationTest.java
index df8cb6b..edf0fc5 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/KeyDerivationTest.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/KeyDerivationTest.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.crypto.sodium.KeyDerivation.MasterKey;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.crypto.sodium.KeyDerivation.MasterKey;
 
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/PasswordHashTest.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/PasswordHashTest.java
index 8ac0aed..899c6df 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/PasswordHashTest.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/PasswordHashTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -19,10 +19,10 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.crypto.sodium.PasswordHash.Algorithm;
-import net.consensys.cava.crypto.sodium.PasswordHash.Salt;
-import net.consensys.cava.crypto.sodium.PasswordHash.VerificationResult;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.crypto.sodium.PasswordHash.Algorithm;
+import org.apache.tuweni.crypto.sodium.PasswordHash.Salt;
+import org.apache.tuweni.crypto.sodium.PasswordHash.VerificationResult;
 
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/SHA256HashTest.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/SHA256HashTest.java
index 1360f39..46e542f 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/SHA256HashTest.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/SHA256HashTest.java
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/SecretBoxTest.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/SecretBoxTest.java
index b465111..79d6a56 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/SecretBoxTest.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/SecretBoxTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/SignatureTest.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/SignatureTest.java
index 7fe5be7..bb79c0a 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/SignatureTest.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/SignatureTest.java
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/SodiumTest.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/SodiumTest.java
index 0ba65ba..42761cc 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/SodiumTest.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/SodiumTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
diff --git a/crypto/src/test/java/net/consensys/cava/crypto/sodium/XChaCha20Poly1305Test.java b/crypto/src/test/java/net/consensys/cava/crypto/sodium/XChaCha20Poly1305Test.java
index a53fabd..672c5e1 100644
--- a/crypto/src/test/java/net/consensys/cava/crypto/sodium/XChaCha20Poly1305Test.java
+++ b/crypto/src/test/java/net/consensys/cava/crypto/sodium/XChaCha20Poly1305Test.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.crypto.sodium;
+package org.apache.tuweni.crypto.sodium;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
diff --git a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/AtomicLongProperty.kt b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/AtomicLongProperty.kt
index ecd23f4..aeac65f 100644
--- a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/AtomicLongProperty.kt
+++ b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/AtomicLongProperty.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.devp2p
+package org.apache.tuweni.devp2p
 
 import java.util.concurrent.atomic.AtomicLong
 import kotlin.reflect.KProperty
diff --git a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/DiscoveryService.kt b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/DiscoveryService.kt
index 8d2d9b2..446b689 100644
--- a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/DiscoveryService.kt
+++ b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/DiscoveryService.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.devp2p
+package org.apache.tuweni.devp2p
 
 import com.google.common.cache.Cache
 import com.google.common.cache.CacheBuilder
@@ -36,18 +36,18 @@ import kotlinx.coroutines.launch
 import kotlinx.coroutines.withTimeout
 import kotlinx.coroutines.withTimeoutOrNull
 import kotlinx.coroutines.yield
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.concurrent.AsyncCompletion
-import net.consensys.cava.concurrent.AsyncResult
-import net.consensys.cava.concurrent.coroutines.CoroutineLatch
-import net.consensys.cava.concurrent.coroutines.asyncCompletion
-import net.consensys.cava.concurrent.coroutines.asyncResult
-import net.consensys.cava.crypto.SECP256K1
-import net.consensys.cava.kademlia.orderedInsert
-import net.consensys.cava.kademlia.xorDistCmp
-import net.consensys.cava.net.coroutines.CommonCoroutineGroup
-import net.consensys.cava.net.coroutines.CoroutineChannelGroup
-import net.consensys.cava.net.coroutines.CoroutineDatagramChannel
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.concurrent.AsyncCompletion
+import org.apache.tuweni.concurrent.AsyncResult
+import org.apache.tuweni.concurrent.coroutines.CoroutineLatch
+import org.apache.tuweni.concurrent.coroutines.asyncCompletion
+import org.apache.tuweni.concurrent.coroutines.asyncResult
+import org.apache.tuweni.crypto.SECP256K1
+import org.apache.tuweni.kademlia.orderedInsert
+import org.apache.tuweni.kademlia.xorDistCmp
+import org.apache.tuweni.net.coroutines.CommonCoroutineGroup
+import org.apache.tuweni.net.coroutines.CoroutineChannelGroup
+import org.apache.tuweni.net.coroutines.CoroutineDatagramChannel
 import org.logl.LogMessage.patternFormat
 import org.logl.LoggerProvider
 import java.io.IOException
diff --git a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/Endpoint.kt b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/Endpoint.kt
index 5068f16..82d312b 100644
--- a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/Endpoint.kt
+++ b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/Endpoint.kt
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.devp2p
+package org.apache.tuweni.devp2p
 
-import net.consensys.cava.rlp.RLPException
-import net.consensys.cava.rlp.RLPReader
-import net.consensys.cava.rlp.RLPWriter
+import org.apache.tuweni.rlp.RLPException
+import org.apache.tuweni.rlp.RLPReader
+import org.apache.tuweni.rlp.RLPWriter
 import java.net.InetAddress
 import java.net.InetSocketAddress
 import java.net.UnknownHostException
diff --git a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/EnodeUri.kt b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/EnodeUri.kt
index 43072dd..f57b129 100644
--- a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/EnodeUri.kt
+++ b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/EnodeUri.kt
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.devp2p
+package org.apache.tuweni.devp2p
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.crypto.SECP256K1
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.crypto.SECP256K1
 import java.net.URI
 import java.util.regex.Pattern
 
diff --git a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/Node.kt b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/Node.kt
index 33e174d..a316be2 100644
--- a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/Node.kt
+++ b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/Node.kt
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.devp2p
+package org.apache.tuweni.devp2p
 
-import net.consensys.cava.crypto.SECP256K1
-import net.consensys.cava.rlp.RLPReader
-import net.consensys.cava.rlp.RLPWriter
+import org.apache.tuweni.crypto.SECP256K1
+import org.apache.tuweni.rlp.RLPReader
+import org.apache.tuweni.rlp.RLPWriter
 
 internal data class Node(
   val endpoint: Endpoint,
diff --git a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/Packet.kt b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/Packet.kt
index 4ccd6cc..89e354a 100644
--- a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/Packet.kt
+++ b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/Packet.kt
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.devp2p
-
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.crypto.Hash
-import net.consensys.cava.crypto.SECP256K1
-import net.consensys.cava.rlp.RLP
-import net.consensys.cava.rlp.RLPException
-import net.consensys.cava.rlp.RLPWriter
+package org.apache.tuweni.devp2p
+
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.crypto.Hash
+import org.apache.tuweni.crypto.SECP256K1
+import org.apache.tuweni.rlp.RLP
+import org.apache.tuweni.rlp.RLPException
+import org.apache.tuweni.rlp.RLPWriter
 import java.nio.ByteBuffer
 
 internal class DecodingException(message: String, cause: Throwable? = null) : Exception(message, cause)
diff --git a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/PacketType.kt b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/PacketType.kt
index 3c73f4d..6a569dd 100644
--- a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/PacketType.kt
+++ b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/PacketType.kt
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.devp2p
+package org.apache.tuweni.devp2p
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.crypto.SECP256K1
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.crypto.SECP256K1
 
 internal enum class PacketType(
   val typeId: Byte
diff --git a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/Peer.kt b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/Peer.kt
index b72dab7..4b81fa6 100644
--- a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/Peer.kt
+++ b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/Peer.kt
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.devp2p
+package org.apache.tuweni.devp2p
 
-import net.consensys.cava.crypto.SECP256K1
+import org.apache.tuweni.crypto.SECP256K1
 
 /**
  * An Ethereum P2P network peer.
diff --git a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/PeerRepository.kt b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/PeerRepository.kt
index c872ced..464a3d3 100644
--- a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/PeerRepository.kt
+++ b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/PeerRepository.kt
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.devp2p
+package org.apache.tuweni.devp2p
 
 import kotlinx.coroutines.GlobalScope
-import net.consensys.cava.concurrent.AsyncResult
-import net.consensys.cava.concurrent.coroutines.asyncResult
-import net.consensys.cava.crypto.SECP256K1
+import org.apache.tuweni.concurrent.AsyncResult
+import org.apache.tuweni.concurrent.coroutines.asyncResult
+import org.apache.tuweni.crypto.SECP256K1
 import java.net.URI
 import java.util.concurrent.ConcurrentHashMap
 
diff --git a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/PeerRoutingTable.kt b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/PeerRoutingTable.kt
index a587a46..4c5a771 100644
--- a/devp2p/src/main/kotlin/net/consensys/cava/devp2p/PeerRoutingTable.kt
+++ b/devp2p/src/main/kotlin/net/consensys/cava/devp2p/PeerRoutingTable.kt
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.devp2p
+package org.apache.tuweni.devp2p
 
 import com.google.common.cache.Cache
 import com.google.common.cache.CacheBuilder
-import net.consensys.cava.crypto.Hash.keccak256
-import net.consensys.cava.crypto.SECP256K1
-import net.consensys.cava.kademlia.KademliaRoutingTable
+import org.apache.tuweni.crypto.Hash.keccak256
+import org.apache.tuweni.crypto.SECP256K1
+import org.apache.tuweni.kademlia.KademliaRoutingTable
 
 /**
  * A routing table for ÐΞVp2p peers.
diff --git a/devp2p/src/test/java/net/consensys/cava/devp2p/DiscoveryServiceJavaTest.java b/devp2p/src/test/java/net/consensys/cava/devp2p/DiscoveryServiceJavaTest.java
index 5784ffa..512a6d8 100644
--- a/devp2p/src/test/java/net/consensys/cava/devp2p/DiscoveryServiceJavaTest.java
+++ b/devp2p/src/test/java/net/consensys/cava/devp2p/DiscoveryServiceJavaTest.java
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.devp2p;
+package org.apache.tuweni.devp2p;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.concurrent.AsyncCompletion;
-import net.consensys.cava.concurrent.AsyncResult;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.junit.BouncyCastleExtension;
+import org.apache.tuweni.concurrent.AsyncCompletion;
+import org.apache.tuweni.concurrent.AsyncResult;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.junit.BouncyCastleExtension;
 
 import java.net.URI;
 import java.util.Collections;
diff --git a/devp2p/src/test/kotlin/net/consensys/cava/devp2p/DiscoveryServiceTest.kt b/devp2p/src/test/kotlin/net/consensys/cava/devp2p/DiscoveryServiceTest.kt
index 275ce75..a32e2cc 100644
--- a/devp2p/src/test/kotlin/net/consensys/cava/devp2p/DiscoveryServiceTest.kt
+++ b/devp2p/src/test/kotlin/net/consensys/cava/devp2p/DiscoveryServiceTest.kt
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.devp2p
+package org.apache.tuweni.devp2p
 
 import kotlinx.coroutines.delay
 import kotlinx.coroutines.runBlocking
-import net.consensys.cava.crypto.SECP256K1
-import net.consensys.cava.junit.BouncyCastleExtension
-import net.consensys.cava.net.coroutines.CoroutineDatagramChannel
+import org.apache.tuweni.crypto.SECP256K1
+import org.apache.tuweni.junit.BouncyCastleExtension
+import org.apache.tuweni.net.coroutines.CoroutineDatagramChannel
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Assertions.assertFalse
 import org.junit.jupiter.api.Assertions.assertNotNull
diff --git a/devp2p/src/test/kotlin/net/consensys/cava/devp2p/EndpointTest.kt b/devp2p/src/test/kotlin/net/consensys/cava/devp2p/EndpointTest.kt
index 798bb58..b142a48 100644
--- a/devp2p/src/test/kotlin/net/consensys/cava/devp2p/EndpointTest.kt
+++ b/devp2p/src/test/kotlin/net/consensys/cava/devp2p/EndpointTest.kt
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.devp2p
+package org.apache.tuweni.devp2p
 
-import net.consensys.cava.rlp.RLP
+import org.apache.tuweni.rlp.RLP
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Assertions.assertNotEquals
 import org.junit.jupiter.api.Test
diff --git a/devp2p/src/test/kotlin/net/consensys/cava/devp2p/EphemeralPeerRepositoryTest.kt b/devp2p/src/test/kotlin/net/consensys/cava/devp2p/EphemeralPeerRepositoryTest.kt
index c4b7d48..6da2e40 100644
--- a/devp2p/src/test/kotlin/net/consensys/cava/devp2p/EphemeralPeerRepositoryTest.kt
+++ b/devp2p/src/test/kotlin/net/consensys/cava/devp2p/EphemeralPeerRepositoryTest.kt
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.devp2p
+package org.apache.tuweni.devp2p
 
 import kotlinx.coroutines.runBlocking
-import net.consensys.cava.crypto.SECP256K1
-import net.consensys.cava.junit.BouncyCastleExtension
+import org.apache.tuweni.crypto.SECP256K1
+import org.apache.tuweni.junit.BouncyCastleExtension
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Assertions.assertNotNull
 import org.junit.jupiter.api.Assertions.assertNull
diff --git a/devp2p/src/test/kotlin/net/consensys/cava/devp2p/FindNodePacketTest.kt b/devp2p/src/test/kotlin/net/consensys/cava/devp2p/FindNodePacketTest.kt
index c768fc8..87d3d2f 100644
--- a/devp2p/src/test/kotlin/net/consensys/cava/devp2p/FindNodePacketTest.kt
+++ b/devp2p/src/test/kotlin/net/consensys/cava/devp2p/FindNodePacketTest.kt
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.devp2p
+package org.apache.tuweni.devp2p
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.crypto.SECP256K1
-import net.consensys.cava.junit.BouncyCastleExtension
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.crypto.SECP256K1
+import org.apache.tuweni.junit.BouncyCastleExtension
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Assertions.assertTrue
 import org.junit.jupiter.api.Test
diff --git a/devp2p/src/test/kotlin/net/consensys/cava/devp2p/NeighborsPacketTest.kt b/devp2p/src/test/kotlin/net/consensys/cava/devp2p/NeighborsPacketTest.kt
index f620aa8..bcb222c 100644
--- a/devp2p/src/test/kotlin/net/consensys/cava/devp2p/NeighborsPacketTest.kt
+++ b/devp2p/src/test/kotlin/net/consensys/cava/devp2p/NeighborsPacketTest.kt
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.devp2p
+package org.apache.tuweni.devp2p
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.crypto.SECP256K1
-import net.consensys.cava.junit.BouncyCastleExtension
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.crypto.SECP256K1
+import org.apache.tuweni.junit.BouncyCastleExtension
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Assertions.assertTrue
 import org.junit.jupiter.api.Test
diff --git a/devp2p/src/test/kotlin/net/consensys/cava/devp2p/PingPacketTest.kt b/devp2p/src/test/kotlin/net/consensys/cava/devp2p/PingPacketTest.kt
index bcbbb16..32705b4 100644
--- a/devp2p/src/test/kotlin/net/consensys/cava/devp2p/PingPacketTest.kt
+++ b/devp2p/src/test/kotlin/net/consensys/cava/devp2p/PingPacketTest.kt
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.devp2p
+package org.apache.tuweni.devp2p
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.crypto.SECP256K1
-import net.consensys.cava.junit.BouncyCastleExtension
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.crypto.SECP256K1
+import org.apache.tuweni.junit.BouncyCastleExtension
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Assertions.assertTrue
 import org.junit.jupiter.api.Test
diff --git a/devp2p/src/test/kotlin/net/consensys/cava/devp2p/PongPacketTest.kt b/devp2p/src/test/kotlin/net/consensys/cava/devp2p/PongPacketTest.kt
index dea1630..f5ac011 100644
--- a/devp2p/src/test/kotlin/net/consensys/cava/devp2p/PongPacketTest.kt
+++ b/devp2p/src/test/kotlin/net/consensys/cava/devp2p/PongPacketTest.kt
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.devp2p
+package org.apache.tuweni.devp2p
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.crypto.SECP256K1
-import net.consensys.cava.junit.BouncyCastleExtension
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.crypto.SECP256K1
+import org.apache.tuweni.junit.BouncyCastleExtension
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Assertions.assertTrue
 import org.junit.jupiter.api.Test
diff --git a/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/BlockRLPTestSuite.java b/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/BlockRLPTestSuite.java
index 0625cd7..036bec8 100644
--- a/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/BlockRLPTestSuite.java
+++ b/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/BlockRLPTestSuite.java
@@ -10,24 +10,24 @@
  * 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 net.consensys.cava.eth.reference;
+package org.apache.tuweni.eth.reference;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.crypto.SECP256K1.Signature;
-import net.consensys.cava.eth.Address;
-import net.consensys.cava.eth.Block;
-import net.consensys.cava.eth.BlockBody;
-import net.consensys.cava.eth.BlockHeader;
-import net.consensys.cava.eth.Hash;
-import net.consensys.cava.eth.Transaction;
-import net.consensys.cava.io.Resources;
-import net.consensys.cava.junit.BouncyCastleExtension;
-import net.consensys.cava.units.bigints.UInt256;
-import net.consensys.cava.units.ethereum.Gas;
-import net.consensys.cava.units.ethereum.Wei;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.crypto.SECP256K1.Signature;
+import org.apache.tuweni.eth.Address;
+import org.apache.tuweni.eth.Block;
+import org.apache.tuweni.eth.BlockBody;
+import org.apache.tuweni.eth.BlockHeader;
+import org.apache.tuweni.eth.Hash;
+import org.apache.tuweni.eth.Transaction;
+import org.apache.tuweni.io.Resources;
+import org.apache.tuweni.junit.BouncyCastleExtension;
+import org.apache.tuweni.units.bigints.UInt256;
+import org.apache.tuweni.units.ethereum.Gas;
+import org.apache.tuweni.units.ethereum.Wei;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/MerkleTrieTestSuite.java b/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/MerkleTrieTestSuite.java
index 3380618..1d0739c 100644
--- a/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/MerkleTrieTestSuite.java
+++ b/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/MerkleTrieTestSuite.java
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.eth.reference;
+package org.apache.tuweni.eth.reference;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.io.Resources;
-import net.consensys.cava.junit.BouncyCastleExtension;
-import net.consensys.cava.trie.MerklePatriciaTrie;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.io.Resources;
+import org.apache.tuweni.junit.BouncyCastleExtension;
+import org.apache.tuweni.trie.MerklePatriciaTrie;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/RLPReferenceTestSuite.java b/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/RLPReferenceTestSuite.java
index 2f29d2a..69aee9d 100644
--- a/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/RLPReferenceTestSuite.java
+++ b/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/RLPReferenceTestSuite.java
@@ -10,17 +10,17 @@
  * 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 net.consensys.cava.eth.reference;
+package org.apache.tuweni.eth.reference;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.io.Resources;
-import net.consensys.cava.rlp.RLP;
-import net.consensys.cava.rlp.RLPException;
-import net.consensys.cava.rlp.RLPReader;
-import net.consensys.cava.rlp.RLPWriter;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.io.Resources;
+import org.apache.tuweni.rlp.RLP;
+import org.apache.tuweni.rlp.RLPException;
+import org.apache.tuweni.rlp.RLPReader;
+import org.apache.tuweni.rlp.RLPWriter;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/SSZTestSuite.java b/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/SSZTestSuite.java
index 7c6690e..11ae68f 100644
--- a/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/SSZTestSuite.java
+++ b/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/SSZTestSuite.java
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.eth.reference;
+package org.apache.tuweni.eth.reference;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.io.Resources;
-import net.consensys.cava.ssz.SSZ;
-import net.consensys.cava.ssz.SSZException;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.io.Resources;
+import org.apache.tuweni.ssz.SSZ;
+import org.apache.tuweni.ssz.SSZException;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/TransactionTestSuite.java b/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/TransactionTestSuite.java
index 79463dc..e9abadc 100644
--- a/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/TransactionTestSuite.java
+++ b/eth-reference-tests/src/test/java/net/consensys/cava/eth/reference/TransactionTestSuite.java
@@ -10,18 +10,18 @@
  * 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 net.consensys.cava.eth.reference;
+package org.apache.tuweni.eth.reference;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.eth.Address;
-import net.consensys.cava.eth.Transaction;
-import net.consensys.cava.io.Resources;
-import net.consensys.cava.junit.BouncyCastleExtension;
-import net.consensys.cava.rlp.RLPException;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.eth.Address;
+import org.apache.tuweni.eth.Transaction;
+import org.apache.tuweni.io.Resources;
+import org.apache.tuweni.junit.BouncyCastleExtension;
+import org.apache.tuweni.rlp.RLPException;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/eth-repository/src/main/kotlin/net/consensys/cava/eth/repository/BlockHeaderFields.kt b/eth-repository/src/main/kotlin/net/consensys/cava/eth/repository/BlockHeaderFields.kt
index 76df17f..afe6279 100644
--- a/eth-repository/src/main/kotlin/net/consensys/cava/eth/repository/BlockHeaderFields.kt
+++ b/eth-repository/src/main/kotlin/net/consensys/cava/eth/repository/BlockHeaderFields.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.eth.repository
+package org.apache.tuweni.eth.repository
 
 /**
  * Block header index fields.
diff --git a/eth-repository/src/main/kotlin/net/consensys/cava/eth/repository/BlockchainIndex.kt b/eth-repository/src/main/kotlin/net/consensys/cava/eth/repository/BlockchainIndex.kt
index af6ba5c..7ab7f7e 100644
--- a/eth-repository/src/main/kotlin/net/consensys/cava/eth/repository/BlockchainIndex.kt
+++ b/eth-repository/src/main/kotlin/net/consensys/cava/eth/repository/BlockchainIndex.kt
@@ -10,27 +10,27 @@
  * 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 net.consensys.cava.eth.repository
-
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.eth.Address
-import net.consensys.cava.eth.BlockHeader
-import net.consensys.cava.eth.Hash
-import net.consensys.cava.eth.TransactionReceipt
-import net.consensys.cava.eth.repository.BlockHeaderFields.COINBASE
-import net.consensys.cava.eth.repository.BlockHeaderFields.DIFFICULTY
-import net.consensys.cava.eth.repository.BlockHeaderFields.EXTRA_DATA
-import net.consensys.cava.eth.repository.BlockHeaderFields.GAS_LIMIT
-import net.consensys.cava.eth.repository.BlockHeaderFields.GAS_USED
-import net.consensys.cava.eth.repository.BlockHeaderFields.NUMBER
-import net.consensys.cava.eth.repository.BlockHeaderFields.OMMERS_HASH
-import net.consensys.cava.eth.repository.BlockHeaderFields.PARENT_HASH
-import net.consensys.cava.eth.repository.BlockHeaderFields.STATE_ROOT
-import net.consensys.cava.eth.repository.BlockHeaderFields.TIMESTAMP
-import net.consensys.cava.eth.repository.BlockHeaderFields.TOTAL_DIFFICULTY
-import net.consensys.cava.units.bigints.UInt256
-import net.consensys.cava.units.ethereum.Gas
+package org.apache.tuweni.eth.repository
+
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.eth.Address
+import org.apache.tuweni.eth.BlockHeader
+import org.apache.tuweni.eth.Hash
+import org.apache.tuweni.eth.TransactionReceipt
+import org.apache.tuweni.eth.repository.BlockHeaderFields.COINBASE
+import org.apache.tuweni.eth.repository.BlockHeaderFields.DIFFICULTY
+import org.apache.tuweni.eth.repository.BlockHeaderFields.EXTRA_DATA
+import org.apache.tuweni.eth.repository.BlockHeaderFields.GAS_LIMIT
+import org.apache.tuweni.eth.repository.BlockHeaderFields.GAS_USED
+import org.apache.tuweni.eth.repository.BlockHeaderFields.NUMBER
+import org.apache.tuweni.eth.repository.BlockHeaderFields.OMMERS_HASH
+import org.apache.tuweni.eth.repository.BlockHeaderFields.PARENT_HASH
+import org.apache.tuweni.eth.repository.BlockHeaderFields.STATE_ROOT
+import org.apache.tuweni.eth.repository.BlockHeaderFields.TIMESTAMP
+import org.apache.tuweni.eth.repository.BlockHeaderFields.TOTAL_DIFFICULTY
+import org.apache.tuweni.units.bigints.UInt256
+import org.apache.tuweni.units.ethereum.Gas
 import org.apache.lucene.document.Document
 import org.apache.lucene.document.Field
 import org.apache.lucene.document.NumericDocValuesField
diff --git a/eth-repository/src/main/kotlin/net/consensys/cava/eth/repository/BlockchainRepository.kt b/eth-repository/src/main/kotlin/net/consensys/cava/eth/repository/BlockchainRepository.kt
index 29821d7..a899b62 100644
--- a/eth-repository/src/main/kotlin/net/consensys/cava/eth/repository/BlockchainRepository.kt
+++ b/eth-repository/src/main/kotlin/net/consensys/cava/eth/repository/BlockchainRepository.kt
@@ -10,16 +10,16 @@
  * 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 net.consensys.cava.eth.repository
+package org.apache.tuweni.eth.repository
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.eth.Block
-import net.consensys.cava.eth.BlockBody
-import net.consensys.cava.eth.BlockHeader
-import net.consensys.cava.eth.Hash
-import net.consensys.cava.eth.TransactionReceipt
-import net.consensys.cava.kv.KeyValueStore
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.eth.Block
+import org.apache.tuweni.eth.BlockBody
+import org.apache.tuweni.eth.BlockHeader
+import org.apache.tuweni.eth.Hash
+import org.apache.tuweni.eth.TransactionReceipt
+import org.apache.tuweni.kv.KeyValueStore
 
 /**
  * Repository housing blockchain information.
diff --git a/eth-repository/src/main/kotlin/net/consensys/cava/eth/repository/TransactionReceiptFields.kt b/eth-repository/src/main/kotlin/net/consensys/cava/eth/repository/TransactionReceiptFields.kt
index 407b080..b574096 100644
--- a/eth-repository/src/main/kotlin/net/consensys/cava/eth/repository/TransactionReceiptFields.kt
+++ b/eth-repository/src/main/kotlin/net/consensys/cava/eth/repository/TransactionReceiptFields.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.eth.repository
+package org.apache.tuweni.eth.repository
 
 /**
  * Transaction receipt index fields.
diff --git a/eth-repository/src/test/kotlin/net/consensys/cava/eth/repository/BlockchainIndexTest.kt b/eth-repository/src/test/kotlin/net/consensys/cava/eth/repository/BlockchainIndexTest.kt
index 7e34ae5..fa9b3d3 100644
--- a/eth-repository/src/test/kotlin/net/consensys/cava/eth/repository/BlockchainIndexTest.kt
+++ b/eth-repository/src/test/kotlin/net/consensys/cava/eth/repository/BlockchainIndexTest.kt
@@ -10,22 +10,22 @@
  * 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 net.consensys.cava.eth.repository
-
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.eth.Address
-import net.consensys.cava.eth.BlockHeader
-import net.consensys.cava.eth.Hash
-import net.consensys.cava.eth.Log
-import net.consensys.cava.eth.LogsBloomFilter
-import net.consensys.cava.eth.TransactionReceipt
-import net.consensys.cava.junit.BouncyCastleExtension
-import net.consensys.cava.junit.LuceneIndex
-import net.consensys.cava.junit.LuceneIndexWriter
-import net.consensys.cava.junit.LuceneIndexWriterExtension
-import net.consensys.cava.units.bigints.UInt256
-import net.consensys.cava.units.ethereum.Gas
+package org.apache.tuweni.eth.repository
+
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.eth.Address
+import org.apache.tuweni.eth.BlockHeader
+import org.apache.tuweni.eth.Hash
+import org.apache.tuweni.eth.Log
+import org.apache.tuweni.eth.LogsBloomFilter
+import org.apache.tuweni.eth.TransactionReceipt
+import org.apache.tuweni.junit.BouncyCastleExtension
+import org.apache.tuweni.junit.LuceneIndex
+import org.apache.tuweni.junit.LuceneIndexWriter
+import org.apache.tuweni.junit.LuceneIndexWriterExtension
+import org.apache.tuweni.units.bigints.UInt256
+import org.apache.tuweni.units.ethereum.Gas
 import org.apache.lucene.index.DirectoryReader
 import org.apache.lucene.index.IndexWriter
 import org.apache.lucene.index.Term
diff --git a/eth-repository/src/test/kotlin/net/consensys/cava/eth/repository/BlockchainRepositoryTest.kt b/eth-repository/src/test/kotlin/net/consensys/cava/eth/repository/BlockchainRepositoryTest.kt
index c1aaff7..0ab22ee 100644
--- a/eth-repository/src/test/kotlin/net/consensys/cava/eth/repository/BlockchainRepositoryTest.kt
+++ b/eth-repository/src/test/kotlin/net/consensys/cava/eth/repository/BlockchainRepositoryTest.kt
@@ -10,28 +10,28 @@
  * 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 net.consensys.cava.eth.repository
+package org.apache.tuweni.eth.repository
 
 import kotlinx.coroutines.runBlocking
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.crypto.SECP256K1
-import net.consensys.cava.eth.Address
-import net.consensys.cava.eth.Block
-import net.consensys.cava.eth.BlockBody
-import net.consensys.cava.eth.BlockHeader
-import net.consensys.cava.eth.Hash
-import net.consensys.cava.eth.Log
-import net.consensys.cava.eth.LogsBloomFilter
-import net.consensys.cava.eth.Transaction
-import net.consensys.cava.eth.TransactionReceipt
-import net.consensys.cava.junit.BouncyCastleExtension
-import net.consensys.cava.junit.LuceneIndexWriter
-import net.consensys.cava.junit.LuceneIndexWriterExtension
-import net.consensys.cava.kv.MapKeyValueStore
-import net.consensys.cava.units.bigints.UInt256
-import net.consensys.cava.units.ethereum.Gas
-import net.consensys.cava.units.ethereum.Wei
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.crypto.SECP256K1
+import org.apache.tuweni.eth.Address
+import org.apache.tuweni.eth.Block
+import org.apache.tuweni.eth.BlockBody
+import org.apache.tuweni.eth.BlockHeader
+import org.apache.tuweni.eth.Hash
+import org.apache.tuweni.eth.Log
+import org.apache.tuweni.eth.LogsBloomFilter
+import org.apache.tuweni.eth.Transaction
+import org.apache.tuweni.eth.TransactionReceipt
+import org.apache.tuweni.junit.BouncyCastleExtension
+import org.apache.tuweni.junit.LuceneIndexWriter
+import org.apache.tuweni.junit.LuceneIndexWriterExtension
+import org.apache.tuweni.kv.MapKeyValueStore
+import org.apache.tuweni.units.bigints.UInt256
+import org.apache.tuweni.units.ethereum.Gas
+import org.apache.tuweni.units.ethereum.Wei
 import org.apache.lucene.index.IndexWriter
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Test
diff --git a/eth/src/main/java/net/consensys/cava/eth/Address.java b/eth/src/main/java/net/consensys/cava/eth/Address.java
index c42f29b..ce9ece3 100644
--- a/eth/src/main/java/net/consensys/cava/eth/Address.java
+++ b/eth/src/main/java/net/consensys/cava/eth/Address.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import com.google.common.base.Objects;
 
diff --git a/eth/src/main/java/net/consensys/cava/eth/Block.java b/eth/src/main/java/net/consensys/cava/eth/Block.java
index 0b62fcf..3629d7e 100644
--- a/eth/src/main/java/net/consensys/cava/eth/Block.java
+++ b/eth/src/main/java/net/consensys/cava/eth/Block.java
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
 import static java.util.Objects.requireNonNull;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.rlp.RLP;
-import net.consensys.cava.rlp.RLPException;
-import net.consensys.cava.rlp.RLPReader;
-import net.consensys.cava.rlp.RLPWriter;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.rlp.RLP;
+import org.apache.tuweni.rlp.RLPException;
+import org.apache.tuweni.rlp.RLPReader;
+import org.apache.tuweni.rlp.RLPWriter;
 
 import com.google.common.base.Objects;
 
diff --git a/eth/src/main/java/net/consensys/cava/eth/BlockBody.java b/eth/src/main/java/net/consensys/cava/eth/BlockBody.java
index f5f9c17..418f4c7 100644
--- a/eth/src/main/java/net/consensys/cava/eth/BlockBody.java
+++ b/eth/src/main/java/net/consensys/cava/eth/BlockBody.java
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
 import static java.util.Objects.requireNonNull;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.rlp.RLP;
-import net.consensys.cava.rlp.RLPException;
-import net.consensys.cava.rlp.RLPReader;
-import net.consensys.cava.rlp.RLPWriter;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.rlp.RLP;
+import org.apache.tuweni.rlp.RLPException;
+import org.apache.tuweni.rlp.RLPReader;
+import org.apache.tuweni.rlp.RLPWriter;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/eth/src/main/java/net/consensys/cava/eth/BlockHeader.java b/eth/src/main/java/net/consensys/cava/eth/BlockHeader.java
index 26b2d1f..03436fe 100644
--- a/eth/src/main/java/net/consensys/cava/eth/BlockHeader.java
+++ b/eth/src/main/java/net/consensys/cava/eth/BlockHeader.java
@@ -10,16 +10,16 @@
  * 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 net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
 import static java.util.Objects.requireNonNull;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.rlp.RLP;
-import net.consensys.cava.rlp.RLPReader;
-import net.consensys.cava.rlp.RLPWriter;
-import net.consensys.cava.units.bigints.UInt256;
-import net.consensys.cava.units.ethereum.Gas;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.rlp.RLP;
+import org.apache.tuweni.rlp.RLPReader;
+import org.apache.tuweni.rlp.RLPWriter;
+import org.apache.tuweni.units.bigints.UInt256;
+import org.apache.tuweni.units.ethereum.Gas;
 
 import java.time.Instant;
 import javax.annotation.Nullable;
diff --git a/eth/src/main/java/net/consensys/cava/eth/Hash.java b/eth/src/main/java/net/consensys/cava/eth/Hash.java
index 752bbb5..774a44c 100644
--- a/eth/src/main/java/net/consensys/cava/eth/Hash.java
+++ b/eth/src/main/java/net/consensys/cava/eth/Hash.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
-import static net.consensys.cava.crypto.Hash.keccak256;
+import static org.apache.tuweni.crypto.Hash.keccak256;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
 
 import com.google.common.base.Objects;
 
diff --git a/eth/src/main/java/net/consensys/cava/eth/Log.java b/eth/src/main/java/net/consensys/cava/eth/Log.java
index a66d350..a89d91f 100644
--- a/eth/src/main/java/net/consensys/cava/eth/Log.java
+++ b/eth/src/main/java/net/consensys/cava/eth/Log.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.rlp.RLPReader;
-import net.consensys.cava.rlp.RLPWriter;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.rlp.RLPReader;
+import org.apache.tuweni.rlp.RLPWriter;
 
 import java.util.List;
 import java.util.Objects;
diff --git a/eth/src/main/java/net/consensys/cava/eth/LogsBloomFilter.java b/eth/src/main/java/net/consensys/cava/eth/LogsBloomFilter.java
index 8e6c227..47e8dad 100644
--- a/eth/src/main/java/net/consensys/cava/eth/LogsBloomFilter.java
+++ b/eth/src/main/java/net/consensys/cava/eth/LogsBloomFilter.java
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static net.consensys.cava.crypto.Hash.keccak256;
+import static org.apache.tuweni.crypto.Hash.keccak256;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.bytes.MutableBytes;
-import net.consensys.cava.rlp.RLPReader;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.bytes.MutableBytes;
+import org.apache.tuweni.rlp.RLPReader;
 
 import java.util.Collection;
 
diff --git a/eth/src/main/java/net/consensys/cava/eth/Transaction.java b/eth/src/main/java/net/consensys/cava/eth/Transaction.java
index 7c79800..7058444 100644
--- a/eth/src/main/java/net/consensys/cava/eth/Transaction.java
+++ b/eth/src/main/java/net/consensys/cava/eth/Transaction.java
@@ -10,21 +10,21 @@
  * 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 net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
-import static net.consensys.cava.crypto.Hash.keccak256;
-
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.rlp.RLP;
-import net.consensys.cava.rlp.RLPException;
-import net.consensys.cava.rlp.RLPReader;
-import net.consensys.cava.rlp.RLPWriter;
-import net.consensys.cava.units.bigints.UInt256;
-import net.consensys.cava.units.ethereum.Gas;
-import net.consensys.cava.units.ethereum.Wei;
+import static org.apache.tuweni.crypto.Hash.keccak256;
+
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.rlp.RLP;
+import org.apache.tuweni.rlp.RLPException;
+import org.apache.tuweni.rlp.RLPReader;
+import org.apache.tuweni.rlp.RLPWriter;
+import org.apache.tuweni.units.bigints.UInt256;
+import org.apache.tuweni.units.ethereum.Gas;
+import org.apache.tuweni.units.ethereum.Wei;
 
 import java.math.BigInteger;
 import javax.annotation.Nullable;
diff --git a/eth/src/main/java/net/consensys/cava/eth/TransactionReceipt.java b/eth/src/main/java/net/consensys/cava/eth/TransactionReceipt.java
index b5459cc..d37bbe0 100644
--- a/eth/src/main/java/net/consensys/cava/eth/TransactionReceipt.java
+++ b/eth/src/main/java/net/consensys/cava/eth/TransactionReceipt.java
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.rlp.RLP;
-import net.consensys.cava.rlp.RLPReader;
-import net.consensys.cava.rlp.RLPWriter;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.rlp.RLP;
+import org.apache.tuweni.rlp.RLPReader;
+import org.apache.tuweni.rlp.RLPWriter;
 
 import java.util.List;
 import java.util.Objects;
diff --git a/eth/src/main/java/net/consensys/cava/eth/package-info.java b/eth/src/main/java/net/consensys/cava/eth/package-info.java
index 56c95f5..d53aa08 100644
--- a/eth/src/main/java/net/consensys/cava/eth/package-info.java
+++ b/eth/src/main/java/net/consensys/cava/eth/package-info.java
@@ -3,9 +3,9 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-eth' (cava-eth.jar).
+ * 'org.apache.tuweni:cava-eth' (cava-eth.jar).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/eth/src/test/java/net/consensys/cava/eth/BlockBodyTest.java b/eth/src/test/java/net/consensys/cava/eth/BlockBodyTest.java
index 995a600..9c43640 100644
--- a/eth/src/test/java/net/consensys/cava/eth/BlockBodyTest.java
+++ b/eth/src/test/java/net/consensys/cava/eth/BlockBodyTest.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
-import static net.consensys.cava.eth.BlockHeaderTest.generateBlockHeader;
-import static net.consensys.cava.eth.TransactionTest.generateTransaction;
+import static org.apache.tuweni.eth.BlockHeaderTest.generateBlockHeader;
+import static org.apache.tuweni.eth.TransactionTest.generateTransaction;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.junit.BouncyCastleExtension;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.junit.BouncyCastleExtension;
 
 import java.util.Arrays;
 
diff --git a/eth/src/test/java/net/consensys/cava/eth/BlockHeaderTest.java b/eth/src/test/java/net/consensys/cava/eth/BlockHeaderTest.java
index 5d6eca4..cc56aae 100644
--- a/eth/src/test/java/net/consensys/cava/eth/BlockHeaderTest.java
+++ b/eth/src/test/java/net/consensys/cava/eth/BlockHeaderTest.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.junit.BouncyCastleExtension;
-import net.consensys.cava.units.bigints.UInt256;
-import net.consensys.cava.units.ethereum.Gas;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.junit.BouncyCastleExtension;
+import org.apache.tuweni.units.bigints.UInt256;
+import org.apache.tuweni.units.ethereum.Gas;
 
 import java.time.Instant;
 import java.time.temporal.ChronoUnit;
diff --git a/eth/src/test/java/net/consensys/cava/eth/BlockTest.java b/eth/src/test/java/net/consensys/cava/eth/BlockTest.java
index ceec95f..232a007 100644
--- a/eth/src/test/java/net/consensys/cava/eth/BlockTest.java
+++ b/eth/src/test/java/net/consensys/cava/eth/BlockTest.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
-import static net.consensys.cava.eth.BlockHeaderTest.generateBlockHeader;
-import static net.consensys.cava.eth.TransactionTest.generateTransaction;
+import static org.apache.tuweni.eth.BlockHeaderTest.generateBlockHeader;
+import static org.apache.tuweni.eth.TransactionTest.generateTransaction;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.junit.BouncyCastleExtension;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.junit.BouncyCastleExtension;
 
 import java.util.Arrays;
 
diff --git a/eth/src/test/java/net/consensys/cava/eth/LogTest.java b/eth/src/test/java/net/consensys/cava/eth/LogTest.java
index cfa3c70..9ceab83 100644
--- a/eth/src/test/java/net/consensys/cava/eth/LogTest.java
+++ b/eth/src/test/java/net/consensys/cava/eth/LogTest.java
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.rlp.RLP;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.rlp.RLP;
 
 import java.util.Arrays;
 
diff --git a/eth/src/test/java/net/consensys/cava/eth/LogsBloomFilterTest.java b/eth/src/test/java/net/consensys/cava/eth/LogsBloomFilterTest.java
index e18d2ea..ee5c3d0 100644
--- a/eth/src/test/java/net/consensys/cava/eth/LogsBloomFilterTest.java
+++ b/eth/src/test/java/net/consensys/cava/eth/LogsBloomFilterTest.java
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.junit.BouncyCastleExtension;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.junit.BouncyCastleExtension;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/eth/src/test/java/net/consensys/cava/eth/TransactionReceiptTest.java b/eth/src/test/java/net/consensys/cava/eth/TransactionReceiptTest.java
index c490779..299154e 100644
--- a/eth/src/test/java/net/consensys/cava/eth/TransactionReceiptTest.java
+++ b/eth/src/test/java/net/consensys/cava/eth/TransactionReceiptTest.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.junit.BouncyCastleExtension;
-import net.consensys.cava.rlp.RLP;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.junit.BouncyCastleExtension;
+import org.apache.tuweni.rlp.RLP;
 
 import java.util.Arrays;
 import java.util.Collections;
diff --git a/eth/src/test/java/net/consensys/cava/eth/TransactionTest.java b/eth/src/test/java/net/consensys/cava/eth/TransactionTest.java
index 3628957..3962550 100644
--- a/eth/src/test/java/net/consensys/cava/eth/TransactionTest.java
+++ b/eth/src/test/java/net/consensys/cava/eth/TransactionTest.java
@@ -10,17 +10,17 @@
  * 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 net.consensys.cava.eth;
+package org.apache.tuweni.eth;
 
-import static net.consensys.cava.crypto.Hash.keccak256;
+import static org.apache.tuweni.crypto.Hash.keccak256;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.junit.BouncyCastleExtension;
-import net.consensys.cava.units.bigints.UInt256;
-import net.consensys.cava.units.ethereum.Gas;
-import net.consensys.cava.units.ethereum.Wei;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.junit.BouncyCastleExtension;
+import org.apache.tuweni.units.bigints.UInt256;
+import org.apache.tuweni.units.ethereum.Gas;
+import org.apache.tuweni.units.ethereum.Wei;
 
 import java.math.BigInteger;
 
diff --git a/io/src/main/java/net/consensys/cava/io/Base64.java b/io/src/main/java/net/consensys/cava/io/Base64.java
index 065f32d..521a61b 100644
--- a/io/src/main/java/net/consensys/cava/io/Base64.java
+++ b/io/src/main/java/net/consensys/cava/io/Base64.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.io;
+package org.apache.tuweni.io;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static java.util.Objects.requireNonNull;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 /**
  * Utility methods for encoding and decoding base64 strings.
diff --git a/io/src/main/java/net/consensys/cava/io/IOConsumer.java b/io/src/main/java/net/consensys/cava/io/IOConsumer.java
index ffea2dc..3ba9bbc 100644
--- a/io/src/main/java/net/consensys/cava/io/IOConsumer.java
+++ b/io/src/main/java/net/consensys/cava/io/IOConsumer.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.io;
+package org.apache.tuweni.io;
 
 import java.io.IOException;
 
diff --git a/io/src/main/java/net/consensys/cava/io/NullOutputStream.java b/io/src/main/java/net/consensys/cava/io/NullOutputStream.java
index 4d9d21d..c4254b6 100644
--- a/io/src/main/java/net/consensys/cava/io/NullOutputStream.java
+++ b/io/src/main/java/net/consensys/cava/io/NullOutputStream.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.io;
+package org.apache.tuweni.io;
 
 import java.io.OutputStream;
 
diff --git a/io/src/main/java/net/consensys/cava/io/Resources.java b/io/src/main/java/net/consensys/cava/io/Resources.java
index 6307cfb..8c37c82 100644
--- a/io/src/main/java/net/consensys/cava/io/Resources.java
+++ b/io/src/main/java/net/consensys/cava/io/Resources.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.io;
+package org.apache.tuweni.io;
 
-import static net.consensys.cava.io.Streams.enumerationStream;
+import static org.apache.tuweni.io.Streams.enumerationStream;
 
 import java.io.IOException;
 import java.io.UncheckedIOException;
diff --git a/io/src/main/java/net/consensys/cava/io/Streams.java b/io/src/main/java/net/consensys/cava/io/Streams.java
index 7161651..d8f3726 100644
--- a/io/src/main/java/net/consensys/cava/io/Streams.java
+++ b/io/src/main/java/net/consensys/cava/io/Streams.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.io;
+package org.apache.tuweni.io;
 
 import static java.util.Objects.requireNonNull;
 
diff --git a/io/src/main/java/net/consensys/cava/io/file/Files.java b/io/src/main/java/net/consensys/cava/io/file/Files.java
index dc7fa94..d342054 100644
--- a/io/src/main/java/net/consensys/cava/io/file/Files.java
+++ b/io/src/main/java/net/consensys/cava/io/file/Files.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.io.file;
+package org.apache.tuweni.io.file;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 import static java.nio.charset.StandardCharsets.UTF_8;
@@ -20,7 +20,7 @@ import static java.nio.file.StandardCopyOption.ATOMIC_MOVE;
 import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
 import static java.util.Objects.requireNonNull;
 
-import net.consensys.cava.io.IOConsumer;
+import org.apache.tuweni.io.IOConsumer;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/io/src/main/java/net/consensys/cava/io/file/package-info.java b/io/src/main/java/net/consensys/cava/io/file/package-info.java
index dff43ec..a074b93 100644
--- a/io/src/main/java/net/consensys/cava/io/file/package-info.java
+++ b/io/src/main/java/net/consensys/cava/io/file/package-info.java
@@ -3,9 +3,9 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-io' (cava-io.jar).
+ * 'org.apache.tuweni:cava-io' (cava-io.jar).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.io.file;
+package org.apache.tuweni.io.file;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/io/src/main/java/net/consensys/cava/io/package-info.java b/io/src/main/java/net/consensys/cava/io/package-info.java
index 66e5346..7786a7a 100644
--- a/io/src/main/java/net/consensys/cava/io/package-info.java
+++ b/io/src/main/java/net/consensys/cava/io/package-info.java
@@ -3,9 +3,9 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-io' (cava-io.jar).
+ * 'org.apache.tuweni:cava-io' (cava-io.jar).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.io;
+package org.apache.tuweni.io;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/io/src/test/java/net/consensys/cava/io/Base64Test.java b/io/src/test/java/net/consensys/cava/io/Base64Test.java
index 292238a..3e277d4 100644
--- a/io/src/test/java/net/consensys/cava/io/Base64Test.java
+++ b/io/src/test/java/net/consensys/cava/io/Base64Test.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.io;
+package org.apache.tuweni.io;
 
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/io/src/test/java/net/consensys/cava/io/ResourcesTest.java b/io/src/test/java/net/consensys/cava/io/ResourcesTest.java
index 39da6b5..551481f 100644
--- a/io/src/test/java/net/consensys/cava/io/ResourcesTest.java
+++ b/io/src/test/java/net/consensys/cava/io/ResourcesTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.io;
+package org.apache.tuweni.io;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git a/io/src/test/java/net/consensys/cava/io/StreamsTest.java b/io/src/test/java/net/consensys/cava/io/StreamsTest.java
index 78db91f..662255c 100644
--- a/io/src/test/java/net/consensys/cava/io/StreamsTest.java
+++ b/io/src/test/java/net/consensys/cava/io/StreamsTest.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.io;
+package org.apache.tuweni.io;
 
-import static net.consensys.cava.io.Streams.enumerationStream;
+import static org.apache.tuweni.io.Streams.enumerationStream;
 import static org.junit.jupiter.api.Assertions.*;
 
 import java.util.Arrays;
diff --git a/io/src/test/java/net/consensys/cava/io/file/FilesTest.java b/io/src/test/java/net/consensys/cava/io/file/FilesTest.java
index d7b3209..611ee30 100644
--- a/io/src/test/java/net/consensys/cava/io/file/FilesTest.java
+++ b/io/src/test/java/net/consensys/cava/io/file/FilesTest.java
@@ -10,16 +10,16 @@
  * 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 net.consensys.cava.io.file;
+package org.apache.tuweni.io.file;
 
-import static net.consensys.cava.io.file.Files.copyResource;
-import static net.consensys.cava.io.file.Files.deleteRecursively;
+import static org.apache.tuweni.io.file.Files.copyResource;
+import static org.apache.tuweni.io.file.Files.deleteRecursively;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
diff --git a/junit/src/main/java/net/consensys/cava/junit/BouncyCastleExtension.java b/junit/src/main/java/net/consensys/cava/junit/BouncyCastleExtension.java
index e37275d..af88b86 100644
--- a/junit/src/main/java/net/consensys/cava/junit/BouncyCastleExtension.java
+++ b/junit/src/main/java/net/consensys/cava/junit/BouncyCastleExtension.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.junit;
+package org.apache.tuweni.junit;
 
 import java.security.Security;
 
diff --git a/junit/src/main/java/net/consensys/cava/junit/LuceneIndex.java b/junit/src/main/java/net/consensys/cava/junit/LuceneIndex.java
index 4737257..3aacea4 100644
--- a/junit/src/main/java/net/consensys/cava/junit/LuceneIndex.java
+++ b/junit/src/main/java/net/consensys/cava/junit/LuceneIndex.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.junit;
+package org.apache.tuweni.junit;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
diff --git a/junit/src/main/java/net/consensys/cava/junit/LuceneIndexWriter.java b/junit/src/main/java/net/consensys/cava/junit/LuceneIndexWriter.java
index 0139511..3576a1a 100644
--- a/junit/src/main/java/net/consensys/cava/junit/LuceneIndexWriter.java
+++ b/junit/src/main/java/net/consensys/cava/junit/LuceneIndexWriter.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.junit;
+package org.apache.tuweni.junit;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
diff --git a/junit/src/main/java/net/consensys/cava/junit/LuceneIndexWriterExtension.java b/junit/src/main/java/net/consensys/cava/junit/LuceneIndexWriterExtension.java
index 12cf0b6..d9a4dc6 100644
--- a/junit/src/main/java/net/consensys/cava/junit/LuceneIndexWriterExtension.java
+++ b/junit/src/main/java/net/consensys/cava/junit/LuceneIndexWriterExtension.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.junit;
+package org.apache.tuweni.junit;
 
 import java.io.IOException;
 import java.io.UncheckedIOException;
diff --git a/junit/src/main/java/net/consensys/cava/junit/RedisPort.java b/junit/src/main/java/net/consensys/cava/junit/RedisPort.java
index 681fd32..e80deb2 100644
--- a/junit/src/main/java/net/consensys/cava/junit/RedisPort.java
+++ b/junit/src/main/java/net/consensys/cava/junit/RedisPort.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.junit;
+package org.apache.tuweni.junit;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
diff --git a/junit/src/main/java/net/consensys/cava/junit/RedisServerExtension.java b/junit/src/main/java/net/consensys/cava/junit/RedisServerExtension.java
index f403b52..198f228 100644
--- a/junit/src/main/java/net/consensys/cava/junit/RedisServerExtension.java
+++ b/junit/src/main/java/net/consensys/cava/junit/RedisServerExtension.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.junit;
+package org.apache.tuweni.junit;
 
 import java.io.IOException;
 import java.net.InetAddress;
diff --git a/junit/src/main/java/net/consensys/cava/junit/TempDirectory.java b/junit/src/main/java/net/consensys/cava/junit/TempDirectory.java
index 77208b5..96b88c3 100644
--- a/junit/src/main/java/net/consensys/cava/junit/TempDirectory.java
+++ b/junit/src/main/java/net/consensys/cava/junit/TempDirectory.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.junit;
+package org.apache.tuweni.junit;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
diff --git a/junit/src/main/java/net/consensys/cava/junit/TempDirectoryExtension.java b/junit/src/main/java/net/consensys/cava/junit/TempDirectoryExtension.java
index 71a8736..5a09cea 100644
--- a/junit/src/main/java/net/consensys/cava/junit/TempDirectoryExtension.java
+++ b/junit/src/main/java/net/consensys/cava/junit/TempDirectoryExtension.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.junit;
+package org.apache.tuweni.junit;
 
 import static java.nio.file.Files.createTempDirectory;
-import static net.consensys.cava.io.file.Files.deleteRecursively;
+import static org.apache.tuweni.io.file.Files.deleteRecursively;
 
 import java.io.IOException;
 import java.io.UncheckedIOException;
diff --git a/junit/src/main/java/net/consensys/cava/junit/VertxExtension.java b/junit/src/main/java/net/consensys/cava/junit/VertxExtension.java
index d953ccd..fc6f133 100644
--- a/junit/src/main/java/net/consensys/cava/junit/VertxExtension.java
+++ b/junit/src/main/java/net/consensys/cava/junit/VertxExtension.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.junit;
+package org.apache.tuweni.junit;
 
 import io.vertx.core.Vertx;
 import org.junit.jupiter.api.extension.AfterAllCallback;
diff --git a/junit/src/main/java/net/consensys/cava/junit/VertxInstance.java b/junit/src/main/java/net/consensys/cava/junit/VertxInstance.java
index 06cd51e..6414404 100644
--- a/junit/src/main/java/net/consensys/cava/junit/VertxInstance.java
+++ b/junit/src/main/java/net/consensys/cava/junit/VertxInstance.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.junit;
+package org.apache.tuweni.junit;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
diff --git a/junit/src/main/java/net/consensys/cava/junit/package-info.java b/junit/src/main/java/net/consensys/cava/junit/package-info.java
index 240f51f..2281450 100644
--- a/junit/src/main/java/net/consensys/cava/junit/package-info.java
+++ b/junit/src/main/java/net/consensys/cava/junit/package-info.java
@@ -3,6 +3,6 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-junit' (cava-junit.jar).
+ * 'org.apache.tuweni:cava-junit' (cava-junit.jar).
  */
-package net.consensys.cava.junit;
+package org.apache.tuweni.junit;
diff --git a/junit/src/test/java/net/consensys/cava/junit/LuceneIndexWriterExtensionTest.java b/junit/src/test/java/net/consensys/cava/junit/LuceneIndexWriterExtensionTest.java
index ef56bee..beb9298 100644
--- a/junit/src/test/java/net/consensys/cava/junit/LuceneIndexWriterExtensionTest.java
+++ b/junit/src/test/java/net/consensys/cava/junit/LuceneIndexWriterExtensionTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.junit;
+package org.apache.tuweni.junit;
 
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/junit/src/test/java/net/consensys/cava/junit/RedisServerExtensionTest.java b/junit/src/test/java/net/consensys/cava/junit/RedisServerExtensionTest.java
index 8aa85e6..e94e228 100644
--- a/junit/src/test/java/net/consensys/cava/junit/RedisServerExtensionTest.java
+++ b/junit/src/test/java/net/consensys/cava/junit/RedisServerExtensionTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.junit;
+package org.apache.tuweni.junit;
 
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/junit/src/test/java/net/consensys/cava/junit/TempDirectoryExtensionTest.java b/junit/src/test/java/net/consensys/cava/junit/TempDirectoryExtensionTest.java
index fef6a0d..ef7e31e 100644
--- a/junit/src/test/java/net/consensys/cava/junit/TempDirectoryExtensionTest.java
+++ b/junit/src/test/java/net/consensys/cava/junit/TempDirectoryExtensionTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.junit;
+package org.apache.tuweni.junit;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
diff --git a/kademlia/src/main/kotlin/net/consensys/cava/kademlia/KademliaRoutingTable.kt b/kademlia/src/main/kotlin/net/consensys/cava/kademlia/KademliaRoutingTable.kt
index 14d5138..6efd83f 100644
--- a/kademlia/src/main/kotlin/net/consensys/cava/kademlia/KademliaRoutingTable.kt
+++ b/kademlia/src/main/kotlin/net/consensys/cava/kademlia/KademliaRoutingTable.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.kademlia
+package org.apache.tuweni.kademlia
 
 import com.google.common.cache.Cache
 import com.google.common.cache.CacheBuilder
diff --git a/kademlia/src/test/kotlin/net/consensys/cava/kademlia/KademliaRoutingTableTest.kt b/kademlia/src/test/kotlin/net/consensys/cava/kademlia/KademliaRoutingTableTest.kt
index 632f79f..862dbdd 100644
--- a/kademlia/src/test/kotlin/net/consensys/cava/kademlia/KademliaRoutingTableTest.kt
+++ b/kademlia/src/test/kotlin/net/consensys/cava/kademlia/KademliaRoutingTableTest.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.kademlia
+package org.apache.tuweni.kademlia
 
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Assertions.assertFalse
diff --git a/kademlia/src/test/kotlin/net/consensys/cava/kademlia/LogarithmicDistanceTest.kt b/kademlia/src/test/kotlin/net/consensys/cava/kademlia/LogarithmicDistanceTest.kt
index ee85b25..9d3c02d 100644
--- a/kademlia/src/test/kotlin/net/consensys/cava/kademlia/LogarithmicDistanceTest.kt
+++ b/kademlia/src/test/kotlin/net/consensys/cava/kademlia/LogarithmicDistanceTest.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.kademlia
+package org.apache.tuweni.kademlia
 
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Test
diff --git a/kademlia/src/test/kotlin/net/consensys/cava/kademlia/OrderedInsertTest.kt b/kademlia/src/test/kotlin/net/consensys/cava/kademlia/OrderedInsertTest.kt
index 1bb4d84..e915abb 100644
--- a/kademlia/src/test/kotlin/net/consensys/cava/kademlia/OrderedInsertTest.kt
+++ b/kademlia/src/test/kotlin/net/consensys/cava/kademlia/OrderedInsertTest.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.kademlia
+package org.apache.tuweni.kademlia
 
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Test
diff --git a/kv/src/main/java/net/consensys/cava/kv/RedisBytesCodec.java b/kv/src/main/java/net/consensys/cava/kv/RedisBytesCodec.java
index f2ef687..000fafc 100644
--- a/kv/src/main/java/net/consensys/cava/kv/RedisBytesCodec.java
+++ b/kv/src/main/java/net/consensys/cava/kv/RedisBytesCodec.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.kv;
+package org.apache.tuweni.kv;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.nio.ByteBuffer;
 import javax.annotation.Nullable;
diff --git a/kv/src/main/java/net/consensys/cava/kv/package-info.java b/kv/src/main/java/net/consensys/cava/kv/package-info.java
index f01abc4..14cac5a 100644
--- a/kv/src/main/java/net/consensys/cava/kv/package-info.java
+++ b/kv/src/main/java/net/consensys/cava/kv/package-info.java
@@ -3,9 +3,9 @@
  *
  * <p>
  * These classes are included in the complete Cava distribution, or separately when using the gradle dependency
- * `net.consensys.cava:cava-kv` (`cava-kv.jar`).
+ * `org.apache.tuweni:cava-kv` (`cava-kv.jar`).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.kv;
+package org.apache.tuweni.kv;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/kv/src/main/kotlin/net/consensys/cava/kv/InfinispanKeyValueStore.kt b/kv/src/main/kotlin/net/consensys/cava/kv/InfinispanKeyValueStore.kt
index 7d89d0f..4dca781 100644
--- a/kv/src/main/kotlin/net/consensys/cava/kv/InfinispanKeyValueStore.kt
+++ b/kv/src/main/kotlin/net/consensys/cava/kv/InfinispanKeyValueStore.kt
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.kv
+package org.apache.tuweni.kv
 
 import kotlinx.coroutines.future.await
-import net.consensys.cava.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes
 import org.infinispan.Cache
 
 /**
diff --git a/kv/src/main/kotlin/net/consensys/cava/kv/KeyValueStore.kt b/kv/src/main/kotlin/net/consensys/cava/kv/KeyValueStore.kt
index cb6f59a..7a447e5 100644
--- a/kv/src/main/kotlin/net/consensys/cava/kv/KeyValueStore.kt
+++ b/kv/src/main/kotlin/net/consensys/cava/kv/KeyValueStore.kt
@@ -10,16 +10,16 @@
  * 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 net.consensys.cava.kv
+package org.apache.tuweni.kv
 
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.GlobalScope
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.concurrent.AsyncCompletion
-import net.consensys.cava.concurrent.AsyncResult
-import net.consensys.cava.concurrent.coroutines.asyncCompletion
-import net.consensys.cava.concurrent.coroutines.asyncResult
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.concurrent.AsyncCompletion
+import org.apache.tuweni.concurrent.AsyncResult
+import org.apache.tuweni.concurrent.coroutines.asyncCompletion
+import org.apache.tuweni.concurrent.coroutines.asyncResult
 import java.io.Closeable
 
 /**
diff --git a/kv/src/main/kotlin/net/consensys/cava/kv/LevelDBKeyValueStore.kt b/kv/src/main/kotlin/net/consensys/cava/kv/LevelDBKeyValueStore.kt
index 503b97f..b3d76cc 100644
--- a/kv/src/main/kotlin/net/consensys/cava/kv/LevelDBKeyValueStore.kt
+++ b/kv/src/main/kotlin/net/consensys/cava/kv/LevelDBKeyValueStore.kt
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.kv
+package org.apache.tuweni.kv
 
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.withContext
-import net.consensys.cava.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes
 import org.fusesource.leveldbjni.JniDBFactory
 import org.iq80.leveldb.DB
 import org.iq80.leveldb.Options
diff --git a/kv/src/main/kotlin/net/consensys/cava/kv/MapDBKeyValueStore.kt b/kv/src/main/kotlin/net/consensys/cava/kv/MapDBKeyValueStore.kt
index da90d65..44862da 100644
--- a/kv/src/main/kotlin/net/consensys/cava/kv/MapDBKeyValueStore.kt
+++ b/kv/src/main/kotlin/net/consensys/cava/kv/MapDBKeyValueStore.kt
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.kv
+package org.apache.tuweni.kv
 
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.withContext
-import net.consensys.cava.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes
 import org.mapdb.DB
 import org.mapdb.DBMaker
 import org.mapdb.DataInput2
diff --git a/kv/src/main/kotlin/net/consensys/cava/kv/MapKeyValueStore.kt b/kv/src/main/kotlin/net/consensys/cava/kv/MapKeyValueStore.kt
index aa547e8..7989ee7 100644
--- a/kv/src/main/kotlin/net/consensys/cava/kv/MapKeyValueStore.kt
+++ b/kv/src/main/kotlin/net/consensys/cava/kv/MapKeyValueStore.kt
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.kv
+package org.apache.tuweni.kv
 
-import net.consensys.cava.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes
 
 /**
  * A key-value store backed by an in-memory Map.
diff --git a/kv/src/main/kotlin/net/consensys/cava/kv/RedisKeyValueStore.kt b/kv/src/main/kotlin/net/consensys/cava/kv/RedisKeyValueStore.kt
index e683cdf..3636199 100644
--- a/kv/src/main/kotlin/net/consensys/cava/kv/RedisKeyValueStore.kt
+++ b/kv/src/main/kotlin/net/consensys/cava/kv/RedisKeyValueStore.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.kv
+package org.apache.tuweni.kv
 
 import io.lettuce.core.RedisClient
 import io.lettuce.core.RedisURI
@@ -18,7 +18,7 @@ import io.lettuce.core.api.StatefulRedisConnection
 import io.lettuce.core.api.async.RedisAsyncCommands
 import io.lettuce.core.codec.RedisCodec
 import kotlinx.coroutines.future.await
-import net.consensys.cava.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes
 import java.net.InetAddress
 import java.util.concurrent.CompletionStage
 
diff --git a/kv/src/main/kotlin/net/consensys/cava/kv/RocksDBKeyValueStore.kt b/kv/src/main/kotlin/net/consensys/cava/kv/RocksDBKeyValueStore.kt
index e6f2232..21d0bbc 100644
--- a/kv/src/main/kotlin/net/consensys/cava/kv/RocksDBKeyValueStore.kt
+++ b/kv/src/main/kotlin/net/consensys/cava/kv/RocksDBKeyValueStore.kt
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.kv
+package org.apache.tuweni.kv
 
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.withContext
-import net.consensys.cava.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes
 import org.rocksdb.Options
 import org.rocksdb.RocksDB
 import java.io.IOException
diff --git a/kv/src/main/kotlin/net/consensys/cava/kv/SQLKeyValueStore.kt b/kv/src/main/kotlin/net/consensys/cava/kv/SQLKeyValueStore.kt
index f38f908..fa2e035 100644
--- a/kv/src/main/kotlin/net/consensys/cava/kv/SQLKeyValueStore.kt
+++ b/kv/src/main/kotlin/net/consensys/cava/kv/SQLKeyValueStore.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.kv
+package org.apache.tuweni.kv
 
 import com.jolbox.bonecp.BoneCP
 import com.jolbox.bonecp.BoneCPConfig
@@ -18,7 +18,7 @@ import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.guava.await
 import kotlinx.coroutines.withContext
-import net.consensys.cava.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes
 import java.io.IOException
 
 /**
diff --git a/kv/src/test/java/net/consensys/cava/kv/KeyValueStoreTest.java b/kv/src/test/java/net/consensys/cava/kv/KeyValueStoreTest.java
index bf6b91e..f1671ee 100644
--- a/kv/src/test/java/net/consensys/cava/kv/KeyValueStoreTest.java
+++ b/kv/src/test/java/net/consensys/cava/kv/KeyValueStoreTest.java
@@ -10,16 +10,16 @@
  * 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 net.consensys.cava.kv;
+package org.apache.tuweni.kv;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.concurrent.AsyncCompletion;
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.concurrent.AsyncCompletion;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
 
 import java.nio.file.Path;
 import java.util.HashMap;
diff --git a/kv/src/test/java/net/consensys/cava/kv/RedisKeyValueStoreTest.java b/kv/src/test/java/net/consensys/cava/kv/RedisKeyValueStoreTest.java
index 5d223cb..c31e8e9 100644
--- a/kv/src/test/java/net/consensys/cava/kv/RedisKeyValueStoreTest.java
+++ b/kv/src/test/java/net/consensys/cava/kv/RedisKeyValueStoreTest.java
@@ -10,16 +10,16 @@
  * 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 net.consensys.cava.kv;
+package org.apache.tuweni.kv;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.concurrent.AsyncCompletion;
-import net.consensys.cava.junit.RedisPort;
-import net.consensys.cava.junit.RedisServerExtension;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.concurrent.AsyncCompletion;
+import org.apache.tuweni.junit.RedisPort;
+import org.apache.tuweni.junit.RedisServerExtension;
 
 import java.net.InetAddress;
 
diff --git a/kv/src/test/kotlin/net/consensys/cava/kv/KeyValueStoreSpec.kt b/kv/src/test/kotlin/net/consensys/cava/kv/KeyValueStoreSpec.kt
index ea593ad..585c7ca 100644
--- a/kv/src/test/kotlin/net/consensys/cava/kv/KeyValueStoreSpec.kt
+++ b/kv/src/test/kotlin/net/consensys/cava/kv/KeyValueStoreSpec.kt
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.kv
+package org.apache.tuweni.kv
 
 import com.google.common.io.MoreFiles
 import com.google.common.io.RecursiveDeleteOption
 import com.winterbe.expekt.should
 import kotlinx.coroutines.runBlocking
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.kv.Vars.foo
-import net.consensys.cava.kv.Vars.foobar
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.kv.Vars.foo
+import org.apache.tuweni.kv.Vars.foobar
 import org.infinispan.Cache
 import org.infinispan.configuration.cache.ConfigurationBuilder
 import org.infinispan.manager.DefaultCacheManager
diff --git a/les/src/main/kotlin/net/consensys/cava/les/BlockBodiesMessage.kt b/les/src/main/kotlin/net/consensys/cava/les/BlockBodiesMessage.kt
index b4da508..44fc7cf 100644
--- a/les/src/main/kotlin/net/consensys/cava/les/BlockBodiesMessage.kt
+++ b/les/src/main/kotlin/net/consensys/cava/les/BlockBodiesMessage.kt
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.les
+package org.apache.tuweni.les
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.eth.BlockBody
-import net.consensys.cava.rlp.RLP
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.eth.BlockBody
+import org.apache.tuweni.rlp.RLP
 
 internal data class BlockBodiesMessage(
   val reqID: Long,
diff --git a/les/src/main/kotlin/net/consensys/cava/les/BlockHeadersMessage.kt b/les/src/main/kotlin/net/consensys/cava/les/BlockHeadersMessage.kt
index 6e1a02d..81402cc 100644
--- a/les/src/main/kotlin/net/consensys/cava/les/BlockHeadersMessage.kt
+++ b/les/src/main/kotlin/net/consensys/cava/les/BlockHeadersMessage.kt
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.les
+package org.apache.tuweni.les
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.eth.BlockHeader
-import net.consensys.cava.rlp.RLP
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.eth.BlockHeader
+import org.apache.tuweni.rlp.RLP
 
 internal data class BlockHeadersMessage(
   val reqID: Long,
diff --git a/les/src/main/kotlin/net/consensys/cava/les/GetBlockBodiesMessage.kt b/les/src/main/kotlin/net/consensys/cava/les/GetBlockBodiesMessage.kt
index 6e7b16e..f009c45 100644
--- a/les/src/main/kotlin/net/consensys/cava/les/GetBlockBodiesMessage.kt
+++ b/les/src/main/kotlin/net/consensys/cava/les/GetBlockBodiesMessage.kt
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.les
+package org.apache.tuweni.les
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.eth.Hash
-import net.consensys.cava.rlp.RLP
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.eth.Hash
+import org.apache.tuweni.rlp.RLP
 
 internal data class GetBlockBodiesMessage(val reqID: Long, val blockHashes: List<Hash>) {
 
diff --git a/les/src/main/kotlin/net/consensys/cava/les/GetBlockHeadersMessage.kt b/les/src/main/kotlin/net/consensys/cava/les/GetBlockHeadersMessage.kt
index f566970..532b330 100644
--- a/les/src/main/kotlin/net/consensys/cava/les/GetBlockHeadersMessage.kt
+++ b/les/src/main/kotlin/net/consensys/cava/les/GetBlockHeadersMessage.kt
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.les
+package org.apache.tuweni.les
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.rlp.RLP
-import net.consensys.cava.units.bigints.UInt256
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.rlp.RLP
+import org.apache.tuweni.units.bigints.UInt256
 
 internal data class GetBlockHeadersMessage(val reqID: Long, val queries: List<BlockHeaderQuery>) {
 
diff --git a/les/src/main/kotlin/net/consensys/cava/les/GetReceiptsMessage.kt b/les/src/main/kotlin/net/consensys/cava/les/GetReceiptsMessage.kt
index 24b0970..4d4a3ff 100644
--- a/les/src/main/kotlin/net/consensys/cava/les/GetReceiptsMessage.kt
+++ b/les/src/main/kotlin/net/consensys/cava/les/GetReceiptsMessage.kt
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.les
+package org.apache.tuweni.les
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.eth.Hash
-import net.consensys.cava.rlp.RLP
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.eth.Hash
+import org.apache.tuweni.rlp.RLP
 
 internal data class GetReceiptsMessage(val reqID: Long, val blockHashes: List<Hash>) {
 
diff --git a/les/src/main/kotlin/net/consensys/cava/les/LESPeerState.kt b/les/src/main/kotlin/net/consensys/cava/les/LESPeerState.kt
index 0bba3b9..b865026 100644
--- a/les/src/main/kotlin/net/consensys/cava/les/LESPeerState.kt
+++ b/les/src/main/kotlin/net/consensys/cava/les/LESPeerState.kt
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.les
+package org.apache.tuweni.les
 
-import net.consensys.cava.eth.Hash
+import org.apache.tuweni.eth.Hash
 import java.util.concurrent.ConcurrentHashMap
 
 internal class LESPeerState {
diff --git a/les/src/main/kotlin/net/consensys/cava/les/LESSubProtocolHandler.kt b/les/src/main/kotlin/net/consensys/cava/les/LESSubProtocolHandler.kt
index e660c17..fdc25b9 100644
--- a/les/src/main/kotlin/net/consensys/cava/les/LESSubProtocolHandler.kt
+++ b/les/src/main/kotlin/net/consensys/cava/les/LESSubProtocolHandler.kt
@@ -10,22 +10,22 @@
  * 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 net.consensys.cava.les
+package org.apache.tuweni.les
 
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.concurrent.AsyncCompletion
-import net.consensys.cava.concurrent.coroutines.asyncCompletion
-import net.consensys.cava.eth.BlockBody
-import net.consensys.cava.eth.BlockHeader
-import net.consensys.cava.eth.TransactionReceipt
-import net.consensys.cava.eth.repository.BlockchainRepository
-import net.consensys.cava.rlpx.RLPxService
-import net.consensys.cava.rlpx.wire.DisconnectReason
-import net.consensys.cava.rlpx.wire.SubProtocolHandler
-import net.consensys.cava.rlpx.wire.SubProtocolIdentifier
-import net.consensys.cava.units.bigints.UInt256
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.concurrent.AsyncCompletion
+import org.apache.tuweni.concurrent.coroutines.asyncCompletion
+import org.apache.tuweni.eth.BlockBody
+import org.apache.tuweni.eth.BlockHeader
+import org.apache.tuweni.eth.TransactionReceipt
+import org.apache.tuweni.eth.repository.BlockchainRepository
+import org.apache.tuweni.rlpx.RLPxService
+import org.apache.tuweni.rlpx.wire.DisconnectReason
+import org.apache.tuweni.rlpx.wire.SubProtocolHandler
+import org.apache.tuweni.rlpx.wire.SubProtocolIdentifier
+import org.apache.tuweni.units.bigints.UInt256
 import java.util.TreeSet
 import java.util.concurrent.ConcurrentHashMap
 import kotlin.collections.ArrayList
diff --git a/les/src/main/kotlin/net/consensys/cava/les/LESSubprotocol.kt b/les/src/main/kotlin/net/consensys/cava/les/LESSubprotocol.kt
index 91db81d..9b2b643 100644
--- a/les/src/main/kotlin/net/consensys/cava/les/LESSubprotocol.kt
+++ b/les/src/main/kotlin/net/consensys/cava/les/LESSubprotocol.kt
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.les
+package org.apache.tuweni.les
 
 import kotlinx.coroutines.Dispatchers
-import net.consensys.cava.eth.repository.BlockchainRepository
-import net.consensys.cava.rlpx.RLPxService
-import net.consensys.cava.rlpx.wire.SubProtocol
-import net.consensys.cava.rlpx.wire.SubProtocolHandler
-import net.consensys.cava.rlpx.wire.SubProtocolIdentifier
-import net.consensys.cava.units.bigints.UInt256
+import org.apache.tuweni.eth.repository.BlockchainRepository
+import org.apache.tuweni.rlpx.RLPxService
+import org.apache.tuweni.rlpx.wire.SubProtocol
+import org.apache.tuweni.rlpx.wire.SubProtocolHandler
+import org.apache.tuweni.rlpx.wire.SubProtocolIdentifier
+import org.apache.tuweni.units.bigints.UInt256
 
 /**
  * The LES subprotocol entry point class, to be used in conjunction with RLPxService
@@ -27,7 +27,7 @@ import net.consensys.cava.units.bigints.UInt256
  * This subprotocol is implemented after the specification presented on the *
  * [Ethereum wiki.](https://github.com/ethereum/wiki/wiki/Light-client-protocol)
  *
- * @see net.consensys.cava.rlpx.RLPxService
+ * @see org.apache.tuweni.rlpx.RLPxService
  */
 class LESSubprotocol
 /**
diff --git a/les/src/main/kotlin/net/consensys/cava/les/LightClient.kt b/les/src/main/kotlin/net/consensys/cava/les/LightClient.kt
index f8af681..11d544f 100644
--- a/les/src/main/kotlin/net/consensys/cava/les/LightClient.kt
+++ b/les/src/main/kotlin/net/consensys/cava/les/LightClient.kt
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.les
+package org.apache.tuweni.les
 
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.eth.BlockBody
-import net.consensys.cava.eth.BlockHeader
-import net.consensys.cava.eth.Hash
-import net.consensys.cava.eth.TransactionReceipt
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.eth.BlockBody
+import org.apache.tuweni.eth.BlockHeader
+import org.apache.tuweni.eth.Hash
+import org.apache.tuweni.eth.TransactionReceipt
 
 /**
  * Calls to LES functions from the point of view of the consumer of the subprotocol.
diff --git a/les/src/main/kotlin/net/consensys/cava/les/ReceiptsMessage.kt b/les/src/main/kotlin/net/consensys/cava/les/ReceiptsMessage.kt
index eaab50e..e0c2a07 100644
--- a/les/src/main/kotlin/net/consensys/cava/les/ReceiptsMessage.kt
+++ b/les/src/main/kotlin/net/consensys/cava/les/ReceiptsMessage.kt
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.les
+package org.apache.tuweni.les
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.eth.TransactionReceipt
-import net.consensys.cava.rlp.RLP
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.eth.TransactionReceipt
+import org.apache.tuweni.rlp.RLP
 
 internal data class ReceiptsMessage(
   val reqID: Long,
diff --git a/les/src/main/kotlin/net/consensys/cava/les/StatusMessage.kt b/les/src/main/kotlin/net/consensys/cava/les/StatusMessage.kt
index 01c4ef8..ade38b2 100644
--- a/les/src/main/kotlin/net/consensys/cava/les/StatusMessage.kt
+++ b/les/src/main/kotlin/net/consensys/cava/les/StatusMessage.kt
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.les
+package org.apache.tuweni.les
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.rlp.RLP
-import net.consensys.cava.units.bigints.UInt256
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.rlp.RLP
+import org.apache.tuweni.units.bigints.UInt256
 
 /**
  *
diff --git a/les/src/test/kotlin/net/consensys/cava/les/LESSubProtocolHandlerTest.kt b/les/src/test/kotlin/net/consensys/cava/les/LESSubProtocolHandlerTest.kt
index 9e2a5e5..ffda803 100644
--- a/les/src/test/kotlin/net/consensys/cava/les/LESSubProtocolHandlerTest.kt
+++ b/les/src/test/kotlin/net/consensys/cava/les/LESSubProtocolHandlerTest.kt
@@ -10,35 +10,35 @@
  * 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 net.consensys.cava.les
+package org.apache.tuweni.les
 
 import kotlinx.coroutines.runBlocking
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.concurrent.AsyncCompletion
-import net.consensys.cava.concurrent.coroutines.await
-import net.consensys.cava.crypto.SECP256K1
-import net.consensys.cava.eth.Address
-import net.consensys.cava.eth.Block
-import net.consensys.cava.eth.BlockBody
-import net.consensys.cava.eth.BlockHeader
-import net.consensys.cava.eth.Hash
-import net.consensys.cava.eth.Transaction
-import net.consensys.cava.eth.repository.BlockchainIndex
-import net.consensys.cava.eth.repository.BlockchainRepository
-import net.consensys.cava.junit.BouncyCastleExtension
-import net.consensys.cava.junit.LuceneIndexWriter
-import net.consensys.cava.junit.LuceneIndexWriterExtension
-import net.consensys.cava.junit.VertxExtension
-import net.consensys.cava.kv.MapKeyValueStore
-import net.consensys.cava.les.LESSubprotocol.Companion.LES_ID
-import net.consensys.cava.rlpx.RLPxService
-import net.consensys.cava.rlpx.WireConnectionRepository
-import net.consensys.cava.rlpx.wire.DisconnectReason
-import net.consensys.cava.rlpx.wire.SubProtocolIdentifier
-import net.consensys.cava.units.bigints.UInt256
-import net.consensys.cava.units.ethereum.Gas
-import net.consensys.cava.units.ethereum.Wei
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.concurrent.AsyncCompletion
+import org.apache.tuweni.concurrent.coroutines.await
+import org.apache.tuweni.crypto.SECP256K1
+import org.apache.tuweni.eth.Address
+import org.apache.tuweni.eth.Block
+import org.apache.tuweni.eth.BlockBody
+import org.apache.tuweni.eth.BlockHeader
+import org.apache.tuweni.eth.Hash
+import org.apache.tuweni.eth.Transaction
+import org.apache.tuweni.eth.repository.BlockchainIndex
+import org.apache.tuweni.eth.repository.BlockchainRepository
+import org.apache.tuweni.junit.BouncyCastleExtension
+import org.apache.tuweni.junit.LuceneIndexWriter
+import org.apache.tuweni.junit.LuceneIndexWriterExtension
+import org.apache.tuweni.junit.VertxExtension
+import org.apache.tuweni.kv.MapKeyValueStore
+import org.apache.tuweni.les.LESSubprotocol.Companion.LES_ID
+import org.apache.tuweni.rlpx.RLPxService
+import org.apache.tuweni.rlpx.WireConnectionRepository
+import org.apache.tuweni.rlpx.wire.DisconnectReason
+import org.apache.tuweni.rlpx.wire.SubProtocolIdentifier
+import org.apache.tuweni.units.bigints.UInt256
+import org.apache.tuweni.units.ethereum.Gas
+import org.apache.tuweni.units.ethereum.Wei
 import org.apache.lucene.index.IndexWriter
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Assertions.assertNotNull
diff --git a/les/src/test/kotlin/net/consensys/cava/les/LESSubprotocolTest.kt b/les/src/test/kotlin/net/consensys/cava/les/LESSubprotocolTest.kt
index c80a862..ed7283d 100644
--- a/les/src/test/kotlin/net/consensys/cava/les/LESSubprotocolTest.kt
+++ b/les/src/test/kotlin/net/consensys/cava/les/LESSubprotocolTest.kt
@@ -10,16 +10,16 @@
  * 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 net.consensys.cava.les
+package org.apache.tuweni.les
 
-import net.consensys.cava.eth.repository.BlockchainIndex
-import net.consensys.cava.eth.repository.BlockchainRepository
-import net.consensys.cava.junit.LuceneIndexWriter
-import net.consensys.cava.junit.LuceneIndexWriterExtension
-import net.consensys.cava.junit.TempDirectoryExtension
-import net.consensys.cava.kv.MapKeyValueStore
-import net.consensys.cava.rlpx.wire.SubProtocolIdentifier
-import net.consensys.cava.units.bigints.UInt256
+import org.apache.tuweni.eth.repository.BlockchainIndex
+import org.apache.tuweni.eth.repository.BlockchainRepository
+import org.apache.tuweni.junit.LuceneIndexWriter
+import org.apache.tuweni.junit.LuceneIndexWriterExtension
+import org.apache.tuweni.junit.TempDirectoryExtension
+import org.apache.tuweni.kv.MapKeyValueStore
+import org.apache.tuweni.rlpx.wire.SubProtocolIdentifier
+import org.apache.tuweni.units.bigints.UInt256
 import org.apache.lucene.index.IndexWriter
 import org.junit.jupiter.api.Assertions.assertFalse
 import org.junit.jupiter.api.Assertions.assertTrue
diff --git a/les/src/test/kotlin/net/consensys/cava/les/MessagesTest.kt b/les/src/test/kotlin/net/consensys/cava/les/MessagesTest.kt
index c221c8c..5ef5f99 100644
--- a/les/src/test/kotlin/net/consensys/cava/les/MessagesTest.kt
+++ b/les/src/test/kotlin/net/consensys/cava/les/MessagesTest.kt
@@ -10,23 +10,23 @@
  * 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 net.consensys.cava.les
-
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.crypto.SECP256K1
-import net.consensys.cava.eth.Address
-import net.consensys.cava.eth.BlockBody
-import net.consensys.cava.eth.BlockHeader
-import net.consensys.cava.eth.Hash
-import net.consensys.cava.eth.Log
-import net.consensys.cava.eth.LogsBloomFilter
-import net.consensys.cava.eth.Transaction
-import net.consensys.cava.eth.TransactionReceipt
-import net.consensys.cava.junit.BouncyCastleExtension
-import net.consensys.cava.units.bigints.UInt256
-import net.consensys.cava.units.ethereum.Gas
-import net.consensys.cava.units.ethereum.Wei
+package org.apache.tuweni.les
+
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.crypto.SECP256K1
+import org.apache.tuweni.eth.Address
+import org.apache.tuweni.eth.BlockBody
+import org.apache.tuweni.eth.BlockHeader
+import org.apache.tuweni.eth.Hash
+import org.apache.tuweni.eth.Log
+import org.apache.tuweni.eth.LogsBloomFilter
+import org.apache.tuweni.eth.Transaction
+import org.apache.tuweni.eth.TransactionReceipt
+import org.apache.tuweni.junit.BouncyCastleExtension
+import org.apache.tuweni.units.bigints.UInt256
+import org.apache.tuweni.units.ethereum.Gas
+import org.apache.tuweni.units.ethereum.Wei
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Test
 import org.junit.jupiter.api.extension.ExtendWith
diff --git a/merkle-trie/src/main/java/net/consensys/cava/trie/CompactEncoding.java b/merkle-trie/src/main/java/net/consensys/cava/trie/CompactEncoding.java
index 2a694a4..863bbcd 100644
--- a/merkle-trie/src/main/java/net/consensys/cava/trie/CompactEncoding.java
+++ b/merkle-trie/src/main/java/net/consensys/cava/trie/CompactEncoding.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.trie;
+package org.apache.tuweni.trie;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.MutableBytes;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.MutableBytes;
 
 /**
  * Compact (Hex-prefix) encoding and decoding.
diff --git a/merkle-trie/src/main/java/net/consensys/cava/trie/package-info.java b/merkle-trie/src/main/java/net/consensys/cava/trie/package-info.java
index ad898e4..f689298 100644
--- a/merkle-trie/src/main/java/net/consensys/cava/trie/package-info.java
+++ b/merkle-trie/src/main/java/net/consensys/cava/trie/package-info.java
@@ -6,9 +6,9 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-merkle-trie' (cava-merkle-trie.jar).
+ * 'org.apache.tuweni:cava-merkle-trie' (cava-merkle-trie.jar).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.trie;
+package org.apache.tuweni.trie;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/BranchNode.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/BranchNode.kt
index 75493ad..8433ec5 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/BranchNode.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/BranchNode.kt
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.bytes.MutableBytes
-import net.consensys.cava.crypto.Hash.keccak256
-import net.consensys.cava.rlp.RLP
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.bytes.MutableBytes
+import org.apache.tuweni.crypto.Hash.keccak256
+import org.apache.tuweni.rlp.RLP
 import java.lang.ref.WeakReference
 
 private val NULL_NODE: NullNode<*> = NullNode.instance<Any>()
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/DefaultNodeFactory.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/DefaultNodeFactory.kt
index b091731..c01fb3d 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/DefaultNodeFactory.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/DefaultNodeFactory.kt
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
-import net.consensys.cava.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes
 import java.util.Collections
 
 internal class DefaultNodeFactory<V>(private val valueSerializer: (V) -> Bytes) :
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/ExtensionNode.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/ExtensionNode.kt
index 773ef4e..fac849d 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/ExtensionNode.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/ExtensionNode.kt
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.crypto.Hash.keccak256
-import net.consensys.cava.rlp.RLP
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.crypto.Hash.keccak256
+import org.apache.tuweni.rlp.RLP
 import java.lang.ref.WeakReference
 
 internal class ExtensionNode<V>(
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/GetVisitor.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/GetVisitor.kt
index 95d5887..b5787d8 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/GetVisitor.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/GetVisitor.kt
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
-import net.consensys.cava.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes
 
 internal class GetVisitor<V> : NodeVisitor<V> {
 
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/LeafNode.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/LeafNode.kt
index 1b653fa..9f739f6 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/LeafNode.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/LeafNode.kt
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.crypto.Hash.keccak256
-import net.consensys.cava.rlp.RLP
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.crypto.Hash.keccak256
+import org.apache.tuweni.rlp.RLP
 import java.lang.ref.WeakReference
 
 internal class LeafNode<V>(
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/MerklePatriciaTrie.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/MerklePatriciaTrie.kt
index ed2d2a6..fb7a617 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/MerklePatriciaTrie.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/MerklePatriciaTrie.kt
@@ -10,16 +10,16 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.runBlocking
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.concurrent.AsyncCompletion
-import net.consensys.cava.concurrent.AsyncResult
-import net.consensys.cava.trie.CompactEncoding.bytesToPath
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.concurrent.AsyncCompletion
+import org.apache.tuweni.concurrent.AsyncResult
+import org.apache.tuweni.trie.CompactEncoding.bytesToPath
 import java.util.function.Function
 import kotlin.text.Charsets.UTF_8
 
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/MerkleStorage.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/MerkleStorage.kt
index bcea694..e1da35d 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/MerkleStorage.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/MerkleStorage.kt
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.concurrent.AsyncCompletion
-import net.consensys.cava.concurrent.AsyncResult
-import net.consensys.cava.concurrent.coroutines.await
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.concurrent.AsyncCompletion
+import org.apache.tuweni.concurrent.AsyncResult
+import org.apache.tuweni.concurrent.coroutines.await
 
 /**
  * Storage for use in a [StoredMerklePatriciaTrie].
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/MerkleStorageException.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/MerkleStorageException.kt
index 97bf150..26eb23f 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/MerkleStorageException.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/MerkleStorageException.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
 /**
  * This exception is thrown when there is an issue retrieving or decoding values from [MerkleStorage].
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/MerkleTrie.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/MerkleTrie.kt
index d938d63..25317c0 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/MerkleTrie.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/MerkleTrie.kt
@@ -10,19 +10,19 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.GlobalScope
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.concurrent.AsyncCompletion
-import net.consensys.cava.concurrent.AsyncResult
-import net.consensys.cava.concurrent.coroutines.asyncCompletion
-import net.consensys.cava.concurrent.coroutines.asyncResult
-import net.consensys.cava.crypto.Hash
-import net.consensys.cava.rlp.RLP
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.concurrent.AsyncCompletion
+import org.apache.tuweni.concurrent.AsyncResult
+import org.apache.tuweni.concurrent.coroutines.asyncCompletion
+import org.apache.tuweni.concurrent.coroutines.asyncResult
+import org.apache.tuweni.crypto.Hash
+import org.apache.tuweni.rlp.RLP
 
 // Workaround for a javadoc generation issue - extracting these method bodies out of the default method and into
 // private funcs appears to resolve it. It would be good to remove this workaround one day.
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/Node.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/Node.kt
index d3e18ce..39e746a 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/Node.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/Node.kt
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
 
 internal interface Node<V> {
 
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/NodeFactory.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/NodeFactory.kt
index 2410091..138067c 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/NodeFactory.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/NodeFactory.kt
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
-import net.consensys.cava.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes
 
 internal interface NodeFactory<V> {
 
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/NodeVisitor.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/NodeVisitor.kt
index 3f627ab..1ebd1f3 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/NodeVisitor.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/NodeVisitor.kt
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
-import net.consensys.cava.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes
 
 internal interface NodeVisitor<V> {
 
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/NullNode.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/NullNode.kt
index ddf0467..f1f54b4 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/NullNode.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/NullNode.kt
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.crypto.Hash.keccak256
-import net.consensys.cava.rlp.RLP
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.crypto.Hash.keccak256
+import org.apache.tuweni.rlp.RLP
 
 internal class NullNode<V> private constructor() : Node<V> {
 
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/PutVisitor.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/PutVisitor.kt
index 9bdb650..9f4bbec 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/PutVisitor.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/PutVisitor.kt
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
-import net.consensys.cava.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes
 
 internal class PutVisitor<V>(
   private val nodeFactory: NodeFactory<V>,
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/RemoveVisitor.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/RemoveVisitor.kt
index 205ffec..fc78951 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/RemoveVisitor.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/RemoveVisitor.kt
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
-import net.consensys.cava.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes
 
 internal class RemoveVisitor<V> : NodeVisitor<V> {
 
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/StoredMerklePatriciaTrie.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/StoredMerklePatriciaTrie.kt
index 7eb9209..5932bf7 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/StoredMerklePatriciaTrie.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/StoredMerklePatriciaTrie.kt
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.trie.CompactEncoding.bytesToPath
-import net.consensys.cava.trie.MerkleTrie.Companion.EMPTY_TRIE_ROOT_HASH
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.trie.CompactEncoding.bytesToPath
+import org.apache.tuweni.trie.MerkleTrie.Companion.EMPTY_TRIE_ROOT_HASH
 import java.util.function.Function
 
 /**
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/StoredNode.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/StoredNode.kt
index a07b87e..3567e89 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/StoredNode.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/StoredNode.kt
@@ -10,16 +10,16 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
 import kotlinx.coroutines.CoroutineStart
 import kotlinx.coroutines.Deferred
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.GlobalScope
 import kotlinx.coroutines.async
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.rlp.RLP
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.rlp.RLP
 import java.lang.ref.SoftReference
 import java.util.concurrent.atomic.AtomicReference
 
diff --git a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/StoredNodeFactory.kt b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/StoredNodeFactory.kt
index 3a268a2..8fadf86 100644
--- a/merkle-trie/src/main/kotlin/net/consensys/cava/trie/StoredNodeFactory.kt
+++ b/merkle-trie/src/main/kotlin/net/consensys/cava/trie/StoredNodeFactory.kt
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.rlp.RLP
-import net.consensys.cava.rlp.RLPException
-import net.consensys.cava.rlp.RLPReader
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.rlp.RLP
+import org.apache.tuweni.rlp.RLPException
+import org.apache.tuweni.rlp.RLPReader
 import java.util.Collections
 
 internal class StoredNodeFactory<V>(
diff --git a/merkle-trie/src/test/java/net/consensys/cava/trie/CompactEncodingTest.java b/merkle-trie/src/test/java/net/consensys/cava/trie/CompactEncodingTest.java
index 7fcc4f7..05c95e2 100644
--- a/merkle-trie/src/test/java/net/consensys/cava/trie/CompactEncodingTest.java
+++ b/merkle-trie/src/test/java/net/consensys/cava/trie/CompactEncodingTest.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.trie;
+package org.apache.tuweni.trie;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/merkle-trie/src/test/java/net/consensys/cava/trie/MerklePatriciaTrieJavaTest.java b/merkle-trie/src/test/java/net/consensys/cava/trie/MerklePatriciaTrieJavaTest.java
index 4cb78fd..0191945 100644
--- a/merkle-trie/src/test/java/net/consensys/cava/trie/MerklePatriciaTrieJavaTest.java
+++ b/merkle-trie/src/test/java/net/consensys/cava/trie/MerklePatriciaTrieJavaTest.java
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.trie;
+package org.apache.tuweni.trie;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.junit.BouncyCastleExtension;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.junit.BouncyCastleExtension;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/merkle-trie/src/test/java/net/consensys/cava/trie/MerklePatriciaTriePerformanceTest.java b/merkle-trie/src/test/java/net/consensys/cava/trie/MerklePatriciaTriePerformanceTest.java
index f5e48aa..bcacfac 100644
--- a/merkle-trie/src/test/java/net/consensys/cava/trie/MerklePatriciaTriePerformanceTest.java
+++ b/merkle-trie/src/test/java/net/consensys/cava/trie/MerklePatriciaTriePerformanceTest.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.trie;
+package org.apache.tuweni.trie;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.concurrent.AsyncCompletion;
-import net.consensys.cava.concurrent.AsyncResult;
-import net.consensys.cava.concurrent.CompletableAsyncCompletion;
-import net.consensys.cava.junit.BouncyCastleExtension;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.concurrent.AsyncCompletion;
+import org.apache.tuweni.concurrent.AsyncResult;
+import org.apache.tuweni.concurrent.CompletableAsyncCompletion;
+import org.apache.tuweni.junit.BouncyCastleExtension;
 
 import java.security.SecureRandom;
 import java.util.ArrayList;
diff --git a/merkle-trie/src/test/java/net/consensys/cava/trie/StoredMerklePatriciaTrieJavaTest.java b/merkle-trie/src/test/java/net/consensys/cava/trie/StoredMerklePatriciaTrieJavaTest.java
index dcdc1af..b75fd2b 100644
--- a/merkle-trie/src/test/java/net/consensys/cava/trie/StoredMerklePatriciaTrieJavaTest.java
+++ b/merkle-trie/src/test/java/net/consensys/cava/trie/StoredMerklePatriciaTrieJavaTest.java
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.trie;
+package org.apache.tuweni.trie;
 
 import static org.junit.jupiter.api.Assertions.*;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.concurrent.AsyncCompletion;
-import net.consensys.cava.concurrent.AsyncResult;
-import net.consensys.cava.junit.BouncyCastleExtension;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.concurrent.AsyncCompletion;
+import org.apache.tuweni.concurrent.AsyncResult;
+import org.apache.tuweni.junit.BouncyCastleExtension;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/merkle-trie/src/test/kotlin/net/consensys/cava/trie/MerklePatriciaTrieKotlinTest.kt b/merkle-trie/src/test/kotlin/net/consensys/cava/trie/MerklePatriciaTrieKotlinTest.kt
index 95263e3..1573044 100644
--- a/merkle-trie/src/test/kotlin/net/consensys/cava/trie/MerklePatriciaTrieKotlinTest.kt
+++ b/merkle-trie/src/test/kotlin/net/consensys/cava/trie/MerklePatriciaTrieKotlinTest.kt
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
 import kotlinx.coroutines.runBlocking
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.junit.BouncyCastleExtension
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.junit.BouncyCastleExtension
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Assertions.assertNotEquals
 import org.junit.jupiter.api.Assertions.assertNull
diff --git a/merkle-trie/src/test/kotlin/net/consensys/cava/trie/StoredMerklePatriciaTrieKotlinTest.kt b/merkle-trie/src/test/kotlin/net/consensys/cava/trie/StoredMerklePatriciaTrieKotlinTest.kt
index ee08044..ccd64c1 100644
--- a/merkle-trie/src/test/kotlin/net/consensys/cava/trie/StoredMerklePatriciaTrieKotlinTest.kt
+++ b/merkle-trie/src/test/kotlin/net/consensys/cava/trie/StoredMerklePatriciaTrieKotlinTest.kt
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.trie
+package org.apache.tuweni.trie
 
 import kotlinx.coroutines.runBlocking
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.bytes.Bytes32
-import net.consensys.cava.junit.BouncyCastleExtension
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.junit.BouncyCastleExtension
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Assertions.assertNotEquals
 import org.junit.jupiter.api.Assertions.assertNull
diff --git a/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineByteChannel.kt b/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineByteChannel.kt
index 5c9e87b..55766d2 100644
--- a/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineByteChannel.kt
+++ b/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineByteChannel.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.coroutines
+package org.apache.tuweni.net.coroutines
 
 import java.io.IOException
 import java.nio.ByteBuffer
diff --git a/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineChannelGroup.kt b/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineChannelGroup.kt
index 83e62e7..c4ac4f3 100644
--- a/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineChannelGroup.kt
+++ b/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineChannelGroup.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.coroutines
+package org.apache.tuweni.net.coroutines
 
 import org.logl.LoggerProvider
 import java.nio.channels.Channel
diff --git a/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineDatagramChannel.kt b/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineDatagramChannel.kt
index fbb40ea..73eba14 100644
--- a/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineDatagramChannel.kt
+++ b/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineDatagramChannel.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.coroutines
+package org.apache.tuweni.net.coroutines
 
 import java.io.IOException
 import java.net.SocketAddress
diff --git a/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineNetworkChannel.kt b/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineNetworkChannel.kt
index 6af3efa..ff82a42 100644
--- a/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineNetworkChannel.kt
+++ b/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineNetworkChannel.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.coroutines
+package org.apache.tuweni.net.coroutines
 
 import java.io.IOException
 import java.net.InetAddress
diff --git a/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineSelector.kt b/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineSelector.kt
index 11c8bc3..82acf44 100644
--- a/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineSelector.kt
+++ b/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineSelector.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.coroutines
+package org.apache.tuweni.net.coroutines
 
 import com.google.common.util.concurrent.ThreadFactoryBuilder
 import kotlinx.coroutines.CancellableContinuation
diff --git a/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineServerSocketChannel.kt b/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineServerSocketChannel.kt
index 8234413..3ee3dd6 100644
--- a/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineServerSocketChannel.kt
+++ b/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineServerSocketChannel.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.coroutines
+package org.apache.tuweni.net.coroutines
 
 import java.io.IOException
 import java.net.SocketAddress
diff --git a/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineSocketChannel.kt b/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineSocketChannel.kt
index b402e00..11141c4 100644
--- a/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineSocketChannel.kt
+++ b/net-coroutines/src/main/kotlin/net/consensys/cava/net/coroutines/CoroutineSocketChannel.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.coroutines
+package org.apache.tuweni.net.coroutines
 
 import java.io.IOException
 import java.net.SocketAddress
diff --git a/net-coroutines/src/test/java/net/consensys/cava/net/coroutines/SelectorTest.java b/net-coroutines/src/test/java/net/consensys/cava/net/coroutines/SelectorTest.java
index 6e5e30f..3e2ed10 100644
--- a/net-coroutines/src/test/java/net/consensys/cava/net/coroutines/SelectorTest.java
+++ b/net-coroutines/src/test/java/net/consensys/cava/net/coroutines/SelectorTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.coroutines;
+package org.apache.tuweni.net.coroutines;
 
 import static java.nio.channels.SelectionKey.OP_READ;
 import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git a/net-coroutines/src/test/kotlin/net/consensys/cava/net/coroutines/CoroutineChannelGroupTest.kt b/net-coroutines/src/test/kotlin/net/consensys/cava/net/coroutines/CoroutineChannelGroupTest.kt
index 2cd9261..630087b 100644
--- a/net-coroutines/src/test/kotlin/net/consensys/cava/net/coroutines/CoroutineChannelGroupTest.kt
+++ b/net-coroutines/src/test/kotlin/net/consensys/cava/net/coroutines/CoroutineChannelGroupTest.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.coroutines
+package org.apache.tuweni.net.coroutines
 
 import kotlinx.coroutines.async
 import kotlinx.coroutines.runBlocking
diff --git a/net-coroutines/src/test/kotlin/net/consensys/cava/net/coroutines/CoroutineDatagramChannelTest.kt b/net-coroutines/src/test/kotlin/net/consensys/cava/net/coroutines/CoroutineDatagramChannelTest.kt
index 9b41aaa..3a8d0a7 100644
--- a/net-coroutines/src/test/kotlin/net/consensys/cava/net/coroutines/CoroutineDatagramChannelTest.kt
+++ b/net-coroutines/src/test/kotlin/net/consensys/cava/net/coroutines/CoroutineDatagramChannelTest.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.coroutines
+package org.apache.tuweni.net.coroutines
 
 import kotlinx.coroutines.async
 import kotlinx.coroutines.runBlocking
diff --git a/net-coroutines/src/test/kotlin/net/consensys/cava/net/coroutines/CoroutineSelectorTest.kt b/net-coroutines/src/test/kotlin/net/consensys/cava/net/coroutines/CoroutineSelectorTest.kt
index 5cbe114..e1a948e 100644
--- a/net-coroutines/src/test/kotlin/net/consensys/cava/net/coroutines/CoroutineSelectorTest.kt
+++ b/net-coroutines/src/test/kotlin/net/consensys/cava/net/coroutines/CoroutineSelectorTest.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.coroutines
+package org.apache.tuweni.net.coroutines
 
 import kotlinx.coroutines.CancellationException
 import kotlinx.coroutines.CoroutineStart
diff --git a/net-coroutines/src/test/kotlin/net/consensys/cava/net/coroutines/CoroutineSocketChannelTest.kt b/net-coroutines/src/test/kotlin/net/consensys/cava/net/coroutines/CoroutineSocketChannelTest.kt
index 70bf6dc..7764abf 100644
--- a/net-coroutines/src/test/kotlin/net/consensys/cava/net/coroutines/CoroutineSocketChannelTest.kt
+++ b/net-coroutines/src/test/kotlin/net/consensys/cava/net/coroutines/CoroutineSocketChannelTest.kt
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.coroutines
+package org.apache.tuweni.net.coroutines
 
 import kotlinx.coroutines.async
 import kotlinx.coroutines.runBlocking
diff --git a/net/src/main/java/net/consensys/cava/net/package-info.java b/net/src/main/java/net/consensys/cava/net/package-info.java
index 3839d81..6184ac4 100644
--- a/net/src/main/java/net/consensys/cava/net/package-info.java
+++ b/net/src/main/java/net/consensys/cava/net/package-info.java
@@ -3,6 +3,6 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-net' (cava-net.jar).
+ * 'org.apache.tuweni:cava-net' (cava-net.jar).
  */
-package net.consensys.cava.net;
+package org.apache.tuweni.net;
diff --git a/net/src/main/java/net/consensys/cava/net/tls/ClientFingerprintTrustManager.java b/net/src/main/java/net/consensys/cava/net/tls/ClientFingerprintTrustManager.java
index d3b11c7..dc8f365 100644
--- a/net/src/main/java/net/consensys/cava/net/tls/ClientFingerprintTrustManager.java
+++ b/net/src/main/java/net/consensys/cava/net/tls/ClientFingerprintTrustManager.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
 import static java.lang.String.format;
-import static net.consensys.cava.net.tls.TLS.certificateFingerprint;
+import static org.apache.tuweni.net.tls.TLS.certificateFingerprint;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.net.Socket;
 import java.security.cert.CertificateException;
diff --git a/net/src/main/java/net/consensys/cava/net/tls/DelegatingTrustManagerFactory.java b/net/src/main/java/net/consensys/cava/net/tls/DelegatingTrustManagerFactory.java
index 59b67d1..68bf5ab 100644
--- a/net/src/main/java/net/consensys/cava/net/tls/DelegatingTrustManagerFactory.java
+++ b/net/src/main/java/net/consensys/cava/net/tls/DelegatingTrustManagerFactory.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
 import static java.util.Objects.requireNonNull;
 
diff --git a/net/src/main/java/net/consensys/cava/net/tls/FileBackedFingerprintRepository.java b/net/src/main/java/net/consensys/cava/net/tls/FileBackedFingerprintRepository.java
index 33fc83a..fb75c77 100644
--- a/net/src/main/java/net/consensys/cava/net/tls/FileBackedFingerprintRepository.java
+++ b/net/src/main/java/net/consensys/cava/net/tls/FileBackedFingerprintRepository.java
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
 import static java.nio.file.Files.createDirectories;
-import static net.consensys.cava.io.file.Files.atomicReplace;
-import static net.consensys.cava.io.file.Files.createFileIfMissing;
+import static org.apache.tuweni.io.file.Files.atomicReplace;
+import static org.apache.tuweni.io.file.Files.createFileIfMissing;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.io.IOException;
 import java.nio.file.Files;
diff --git a/net/src/main/java/net/consensys/cava/net/tls/FingerprintRepository.java b/net/src/main/java/net/consensys/cava/net/tls/FingerprintRepository.java
index 9aa48cb..952b26c 100644
--- a/net/src/main/java/net/consensys/cava/net/tls/FingerprintRepository.java
+++ b/net/src/main/java/net/consensys/cava/net/tls/FingerprintRepository.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 /**
  * Repository of remote peer fingerprints.
diff --git a/net/src/main/java/net/consensys/cava/net/tls/ServerFingerprintTrustManager.java b/net/src/main/java/net/consensys/cava/net/tls/ServerFingerprintTrustManager.java
index 81c106a..c1270da 100644
--- a/net/src/main/java/net/consensys/cava/net/tls/ServerFingerprintTrustManager.java
+++ b/net/src/main/java/net/consensys/cava/net/tls/ServerFingerprintTrustManager.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
 import static java.lang.String.format;
-import static net.consensys.cava.net.tls.TLS.certificateFingerprint;
+import static org.apache.tuweni.net.tls.TLS.certificateFingerprint;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.net.InetSocketAddress;
 import java.net.Socket;
diff --git a/net/src/main/java/net/consensys/cava/net/tls/SingleTrustManagerFactory.java b/net/src/main/java/net/consensys/cava/net/tls/SingleTrustManagerFactory.java
index 54e5f81..2f9c820 100644
--- a/net/src/main/java/net/consensys/cava/net/tls/SingleTrustManagerFactory.java
+++ b/net/src/main/java/net/consensys/cava/net/tls/SingleTrustManagerFactory.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
 import java.security.KeyStore;
 import javax.net.ssl.ManagerFactoryParameters;
diff --git a/net/src/main/java/net/consensys/cava/net/tls/TLS.java b/net/src/main/java/net/consensys/cava/net/tls/TLS.java
index c83f97a..d81b7dd 100644
--- a/net/src/main/java/net/consensys/cava/net/tls/TLS.java
+++ b/net/src/main/java/net/consensys/cava/net/tls/TLS.java
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static java.nio.file.Files.createDirectories;
-import static net.consensys.cava.crypto.Hash.sha2_256;
+import static org.apache.tuweni.crypto.Hash.sha2_256;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
diff --git a/net/src/main/java/net/consensys/cava/net/tls/TLSEnvironmentException.java b/net/src/main/java/net/consensys/cava/net/tls/TLSEnvironmentException.java
index 2f98375..91d0202 100644
--- a/net/src/main/java/net/consensys/cava/net/tls/TLSEnvironmentException.java
+++ b/net/src/main/java/net/consensys/cava/net/tls/TLSEnvironmentException.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
 final class TLSEnvironmentException extends RuntimeException {
 
diff --git a/net/src/main/java/net/consensys/cava/net/tls/TrustManagerFactories.java b/net/src/main/java/net/consensys/cava/net/tls/TrustManagerFactories.java
index 6182017..ccb22cf 100644
--- a/net/src/main/java/net/consensys/cava/net/tls/TrustManagerFactories.java
+++ b/net/src/main/java/net/consensys/cava/net/tls/TrustManagerFactories.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
 import static java.util.Objects.requireNonNull;
 
diff --git a/net/src/main/java/net/consensys/cava/net/tls/TrustManagerFactoryWrapper.java b/net/src/main/java/net/consensys/cava/net/tls/TrustManagerFactoryWrapper.java
index f284c8d..642a9fd 100644
--- a/net/src/main/java/net/consensys/cava/net/tls/TrustManagerFactoryWrapper.java
+++ b/net/src/main/java/net/consensys/cava/net/tls/TrustManagerFactoryWrapper.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
 import javax.net.ssl.TrustManagerFactory;
 
diff --git a/net/src/main/java/net/consensys/cava/net/tls/VertxTrustOptions.java b/net/src/main/java/net/consensys/cava/net/tls/VertxTrustOptions.java
index ac32883..35156c1 100644
--- a/net/src/main/java/net/consensys/cava/net/tls/VertxTrustOptions.java
+++ b/net/src/main/java/net/consensys/cava/net/tls/VertxTrustOptions.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
 import java.nio.file.Path;
 import javax.net.ssl.TrustManagerFactory;
diff --git a/net/src/main/java/net/consensys/cava/net/tls/package-info.java b/net/src/main/java/net/consensys/cava/net/tls/package-info.java
index 0a8a620..72ec9ed 100644
--- a/net/src/main/java/net/consensys/cava/net/tls/package-info.java
+++ b/net/src/main/java/net/consensys/cava/net/tls/package-info.java
@@ -2,6 +2,6 @@
  * Utilities for doing fingerprint based TLS certificate checking.
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/net/src/test/java/net/consensys/cava/net/tls/ClientCaOrRecordTest.java b/net/src/test/java/net/consensys/cava/net/tls/ClientCaOrRecordTest.java
index 75b740c..9d8b0a8 100644
--- a/net/src/test/java/net/consensys/cava/net/tls/ClientCaOrRecordTest.java
+++ b/net/src/test/java/net/consensys/cava/net/tls/ClientCaOrRecordTest.java
@@ -10,17 +10,17 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
-import static net.consensys.cava.net.tls.SecurityTestUtils.DUMMY_FINGERPRINT;
-import static net.consensys.cava.net.tls.SecurityTestUtils.startServer;
-import static net.consensys.cava.net.tls.TLS.certificateHexFingerprint;
+import static org.apache.tuweni.net.tls.SecurityTestUtils.DUMMY_FINGERPRINT;
+import static org.apache.tuweni.net.tls.SecurityTestUtils.startServer;
+import static org.apache.tuweni.net.tls.TLS.certificateHexFingerprint;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
diff --git a/net/src/test/java/net/consensys/cava/net/tls/ClientCaOrTofuTest.java b/net/src/test/java/net/consensys/cava/net/tls/ClientCaOrTofuTest.java
index 767d3d3..421ca68 100644
--- a/net/src/test/java/net/consensys/cava/net/tls/ClientCaOrTofuTest.java
+++ b/net/src/test/java/net/consensys/cava/net/tls/ClientCaOrTofuTest.java
@@ -10,19 +10,19 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
-import static net.consensys.cava.net.tls.SecurityTestUtils.DUMMY_FINGERPRINT;
-import static net.consensys.cava.net.tls.SecurityTestUtils.startServer;
-import static net.consensys.cava.net.tls.TLS.certificateHexFingerprint;
+import static org.apache.tuweni.net.tls.SecurityTestUtils.DUMMY_FINGERPRINT;
+import static org.apache.tuweni.net.tls.SecurityTestUtils.startServer;
+import static org.apache.tuweni.net.tls.TLS.certificateHexFingerprint;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
diff --git a/net/src/test/java/net/consensys/cava/net/tls/ClientCaOrWhitelistTest.java b/net/src/test/java/net/consensys/cava/net/tls/ClientCaOrWhitelistTest.java
index 5a7b94c..21c0ce0 100644
--- a/net/src/test/java/net/consensys/cava/net/tls/ClientCaOrWhitelistTest.java
+++ b/net/src/test/java/net/consensys/cava/net/tls/ClientCaOrWhitelistTest.java
@@ -10,18 +10,18 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
-import static net.consensys.cava.net.tls.SecurityTestUtils.startServer;
-import static net.consensys.cava.net.tls.TLS.certificateHexFingerprint;
+import static org.apache.tuweni.net.tls.SecurityTestUtils.startServer;
+import static org.apache.tuweni.net.tls.TLS.certificateHexFingerprint;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
diff --git a/net/src/test/java/net/consensys/cava/net/tls/ClientRecordTest.java b/net/src/test/java/net/consensys/cava/net/tls/ClientRecordTest.java
index 56beddd..b34d1fd 100644
--- a/net/src/test/java/net/consensys/cava/net/tls/ClientRecordTest.java
+++ b/net/src/test/java/net/consensys/cava/net/tls/ClientRecordTest.java
@@ -10,17 +10,17 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
-import static net.consensys.cava.net.tls.SecurityTestUtils.DUMMY_FINGERPRINT;
-import static net.consensys.cava.net.tls.SecurityTestUtils.startServer;
-import static net.consensys.cava.net.tls.TLS.certificateHexFingerprint;
+import static org.apache.tuweni.net.tls.SecurityTestUtils.DUMMY_FINGERPRINT;
+import static org.apache.tuweni.net.tls.SecurityTestUtils.startServer;
+import static org.apache.tuweni.net.tls.TLS.certificateHexFingerprint;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
diff --git a/net/src/test/java/net/consensys/cava/net/tls/ClientTofuTest.java b/net/src/test/java/net/consensys/cava/net/tls/ClientTofuTest.java
index 7eaa37d..12ab3cc 100644
--- a/net/src/test/java/net/consensys/cava/net/tls/ClientTofuTest.java
+++ b/net/src/test/java/net/consensys/cava/net/tls/ClientTofuTest.java
@@ -10,19 +10,19 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
-import static net.consensys.cava.net.tls.SecurityTestUtils.DUMMY_FINGERPRINT;
-import static net.consensys.cava.net.tls.SecurityTestUtils.startServer;
-import static net.consensys.cava.net.tls.TLS.certificateHexFingerprint;
+import static org.apache.tuweni.net.tls.SecurityTestUtils.DUMMY_FINGERPRINT;
+import static org.apache.tuweni.net.tls.SecurityTestUtils.startServer;
+import static org.apache.tuweni.net.tls.TLS.certificateHexFingerprint;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
diff --git a/net/src/test/java/net/consensys/cava/net/tls/ClientWhitelistTest.java b/net/src/test/java/net/consensys/cava/net/tls/ClientWhitelistTest.java
index 98b12c7..e436d37 100644
--- a/net/src/test/java/net/consensys/cava/net/tls/ClientWhitelistTest.java
+++ b/net/src/test/java/net/consensys/cava/net/tls/ClientWhitelistTest.java
@@ -10,18 +10,18 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
-import static net.consensys.cava.net.tls.SecurityTestUtils.startServer;
-import static net.consensys.cava.net.tls.TLS.certificateHexFingerprint;
+import static org.apache.tuweni.net.tls.SecurityTestUtils.startServer;
+import static org.apache.tuweni.net.tls.TLS.certificateHexFingerprint;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
diff --git a/net/src/test/java/net/consensys/cava/net/tls/FileBackedFingerprintRepositoryTest.java b/net/src/test/java/net/consensys/cava/net/tls/FileBackedFingerprintRepositoryTest.java
index d71418e..9edf535 100644
--- a/net/src/test/java/net/consensys/cava/net/tls/FileBackedFingerprintRepositoryTest.java
+++ b/net/src/test/java/net/consensys/cava/net/tls/FileBackedFingerprintRepositoryTest.java
@@ -10,16 +10,16 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
 
 import java.io.IOException;
 import java.nio.file.Files;
diff --git a/net/src/test/java/net/consensys/cava/net/tls/InsecureTrustOptions.java b/net/src/test/java/net/consensys/cava/net/tls/InsecureTrustOptions.java
index 522bfd8..04a434f 100644
--- a/net/src/test/java/net/consensys/cava/net/tls/InsecureTrustOptions.java
+++ b/net/src/test/java/net/consensys/cava/net/tls/InsecureTrustOptions.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
 import javax.net.ssl.TrustManagerFactory;
 
diff --git a/net/src/test/java/net/consensys/cava/net/tls/SecurityTestUtils.java b/net/src/test/java/net/consensys/cava/net/tls/SecurityTestUtils.java
index 9898ba4..40e60e0 100644
--- a/net/src/test/java/net/consensys/cava/net/tls/SecurityTestUtils.java
+++ b/net/src/test/java/net/consensys/cava/net/tls/SecurityTestUtils.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
-import static net.consensys.cava.net.tls.TLS.readPemFile;
+import static org.apache.tuweni.net.tls.TLS.readPemFile;
 
 import java.io.ByteArrayInputStream;
 import java.io.File;
diff --git a/net/src/test/java/net/consensys/cava/net/tls/ServerCaOrRecordTest.java b/net/src/test/java/net/consensys/cava/net/tls/ServerCaOrRecordTest.java
index a851b22..ffb87d2 100644
--- a/net/src/test/java/net/consensys/cava/net/tls/ServerCaOrRecordTest.java
+++ b/net/src/test/java/net/consensys/cava/net/tls/ServerCaOrRecordTest.java
@@ -10,16 +10,16 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
-import static net.consensys.cava.net.tls.SecurityTestUtils.DUMMY_FINGERPRINT;
-import static net.consensys.cava.net.tls.TLS.certificateHexFingerprint;
+import static org.apache.tuweni.net.tls.SecurityTestUtils.DUMMY_FINGERPRINT;
+import static org.apache.tuweni.net.tls.TLS.certificateHexFingerprint;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
diff --git a/net/src/test/java/net/consensys/cava/net/tls/ServerCaOrTofaTest.java b/net/src/test/java/net/consensys/cava/net/tls/ServerCaOrTofaTest.java
index df591f2..eca35f1 100644
--- a/net/src/test/java/net/consensys/cava/net/tls/ServerCaOrTofaTest.java
+++ b/net/src/test/java/net/consensys/cava/net/tls/ServerCaOrTofaTest.java
@@ -10,18 +10,18 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
-import static net.consensys.cava.net.tls.SecurityTestUtils.DUMMY_FINGERPRINT;
-import static net.consensys.cava.net.tls.TLS.certificateHexFingerprint;
+import static org.apache.tuweni.net.tls.SecurityTestUtils.DUMMY_FINGERPRINT;
+import static org.apache.tuweni.net.tls.TLS.certificateHexFingerprint;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
diff --git a/net/src/test/java/net/consensys/cava/net/tls/ServerCaOrWhitelistTest.java b/net/src/test/java/net/consensys/cava/net/tls/ServerCaOrWhitelistTest.java
index 8f992b5..ac54cf7 100644
--- a/net/src/test/java/net/consensys/cava/net/tls/ServerCaOrWhitelistTest.java
+++ b/net/src/test/java/net/consensys/cava/net/tls/ServerCaOrWhitelistTest.java
@@ -10,17 +10,17 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
-import static net.consensys.cava.net.tls.TLS.certificateHexFingerprint;
+import static org.apache.tuweni.net.tls.TLS.certificateHexFingerprint;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
diff --git a/net/src/test/java/net/consensys/cava/net/tls/ServerRecordTest.java b/net/src/test/java/net/consensys/cava/net/tls/ServerRecordTest.java
index 16e203d..d0a919a 100644
--- a/net/src/test/java/net/consensys/cava/net/tls/ServerRecordTest.java
+++ b/net/src/test/java/net/consensys/cava/net/tls/ServerRecordTest.java
@@ -10,16 +10,16 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
-import static net.consensys.cava.net.tls.SecurityTestUtils.DUMMY_FINGERPRINT;
-import static net.consensys.cava.net.tls.TLS.certificateHexFingerprint;
+import static org.apache.tuweni.net.tls.SecurityTestUtils.DUMMY_FINGERPRINT;
+import static org.apache.tuweni.net.tls.TLS.certificateHexFingerprint;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
diff --git a/net/src/test/java/net/consensys/cava/net/tls/ServerTofaTest.java b/net/src/test/java/net/consensys/cava/net/tls/ServerTofaTest.java
index 6e7507c..7ba3124 100644
--- a/net/src/test/java/net/consensys/cava/net/tls/ServerTofaTest.java
+++ b/net/src/test/java/net/consensys/cava/net/tls/ServerTofaTest.java
@@ -10,18 +10,18 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
-import static net.consensys.cava.net.tls.SecurityTestUtils.DUMMY_FINGERPRINT;
-import static net.consensys.cava.net.tls.TLS.certificateHexFingerprint;
+import static org.apache.tuweni.net.tls.SecurityTestUtils.DUMMY_FINGERPRINT;
+import static org.apache.tuweni.net.tls.TLS.certificateHexFingerprint;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
diff --git a/net/src/test/java/net/consensys/cava/net/tls/ServerWhitelistTest.java b/net/src/test/java/net/consensys/cava/net/tls/ServerWhitelistTest.java
index a3a1af5..72c9e75 100644
--- a/net/src/test/java/net/consensys/cava/net/tls/ServerWhitelistTest.java
+++ b/net/src/test/java/net/consensys/cava/net/tls/ServerWhitelistTest.java
@@ -10,17 +10,17 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
-import static net.consensys.cava.net.tls.TLS.certificateHexFingerprint;
+import static org.apache.tuweni.net.tls.TLS.certificateHexFingerprint;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
diff --git a/net/src/test/java/net/consensys/cava/net/tls/TLSTest.java b/net/src/test/java/net/consensys/cava/net/tls/TLSTest.java
index d08ed11..e583819 100644
--- a/net/src/test/java/net/consensys/cava/net/tls/TLSTest.java
+++ b/net/src/test/java/net/consensys/cava/net/tls/TLSTest.java
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.net.tls;
+package org.apache.tuweni.net.tls;
 
-import static net.consensys.cava.net.tls.TLS.readPemFile;
+import static org.apache.tuweni.net.tls.TLS.readPemFile;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.junit.BouncyCastleExtension;
-import net.consensys.cava.junit.TempDirectory;
-import net.consensys.cava.junit.TempDirectoryExtension;
+import org.apache.tuweni.junit.BouncyCastleExtension;
+import org.apache.tuweni.junit.TempDirectory;
+import org.apache.tuweni.junit.TempDirectoryExtension;
 
 import java.io.ByteArrayInputStream;
 import java.nio.file.Files;
diff --git a/plumtree/src/main/java/net/consensys/cava/plumtree/EphemeralPeerRepository.java b/plumtree/src/main/java/net/consensys/cava/plumtree/EphemeralPeerRepository.java
index e1a3499..529ea63 100644
--- a/plumtree/src/main/java/net/consensys/cava/plumtree/EphemeralPeerRepository.java
+++ b/plumtree/src/main/java/net/consensys/cava/plumtree/EphemeralPeerRepository.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.plumtree;
+package org.apache.tuweni.plumtree;
 
 import java.util.ArrayList;
 import java.util.Collection;
diff --git a/plumtree/src/main/java/net/consensys/cava/plumtree/MessageHashing.java b/plumtree/src/main/java/net/consensys/cava/plumtree/MessageHashing.java
index 5d2dfb0..1026507 100644
--- a/plumtree/src/main/java/net/consensys/cava/plumtree/MessageHashing.java
+++ b/plumtree/src/main/java/net/consensys/cava/plumtree/MessageHashing.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.plumtree;
+package org.apache.tuweni.plumtree;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 /**
  * Produces an identifiable footprint for a message (generally a hash) that can be passed on to other peers to identify
diff --git a/plumtree/src/main/java/net/consensys/cava/plumtree/MessageSender.java b/plumtree/src/main/java/net/consensys/cava/plumtree/MessageSender.java
index bc583e7..bd3a100 100644
--- a/plumtree/src/main/java/net/consensys/cava/plumtree/MessageSender.java
+++ b/plumtree/src/main/java/net/consensys/cava/plumtree/MessageSender.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.plumtree;
+package org.apache.tuweni.plumtree;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import javax.annotation.Nullable;
 
diff --git a/plumtree/src/main/java/net/consensys/cava/plumtree/Peer.java b/plumtree/src/main/java/net/consensys/cava/plumtree/Peer.java
index c9d8fc9..652daa7 100644
--- a/plumtree/src/main/java/net/consensys/cava/plumtree/Peer.java
+++ b/plumtree/src/main/java/net/consensys/cava/plumtree/Peer.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.plumtree;
+package org.apache.tuweni.plumtree;
 
 public class Peer {
 }
diff --git a/plumtree/src/main/java/net/consensys/cava/plumtree/PeerRepository.java b/plumtree/src/main/java/net/consensys/cava/plumtree/PeerRepository.java
index 3281d4a..057e8a6 100644
--- a/plumtree/src/main/java/net/consensys/cava/plumtree/PeerRepository.java
+++ b/plumtree/src/main/java/net/consensys/cava/plumtree/PeerRepository.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.plumtree;
+package org.apache.tuweni.plumtree;
 
 import java.util.Collection;
 import java.util.List;
diff --git a/plumtree/src/main/java/net/consensys/cava/plumtree/State.java b/plumtree/src/main/java/net/consensys/cava/plumtree/State.java
index 14a6852..0e5e569 100644
--- a/plumtree/src/main/java/net/consensys/cava/plumtree/State.java
+++ b/plumtree/src/main/java/net/consensys/cava/plumtree/State.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.plumtree;
+package org.apache.tuweni.plumtree;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/plumtree/src/main/java/net/consensys/cava/plumtree/StateActor.java b/plumtree/src/main/java/net/consensys/cava/plumtree/StateActor.java
index 65bf93d..b4c4350 100644
--- a/plumtree/src/main/java/net/consensys/cava/plumtree/StateActor.java
+++ b/plumtree/src/main/java/net/consensys/cava/plumtree/StateActor.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.plumtree;
+package org.apache.tuweni.plumtree;
 
 public interface StateActor {
 }
diff --git a/plumtree/src/main/java/net/consensys/cava/plumtree/StateActorFactory.java b/plumtree/src/main/java/net/consensys/cava/plumtree/StateActorFactory.java
index 04599be..d83ed72 100644
--- a/plumtree/src/main/java/net/consensys/cava/plumtree/StateActorFactory.java
+++ b/plumtree/src/main/java/net/consensys/cava/plumtree/StateActorFactory.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.plumtree;
+package org.apache.tuweni.plumtree;
 
 public interface StateActorFactory {
 
diff --git a/plumtree/src/main/java/net/consensys/cava/plumtree/package-info.java b/plumtree/src/main/java/net/consensys/cava/plumtree/package-info.java
index dbab1b4..cfcfbb4 100644
--- a/plumtree/src/main/java/net/consensys/cava/plumtree/package-info.java
+++ b/plumtree/src/main/java/net/consensys/cava/plumtree/package-info.java
@@ -3,9 +3,9 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-plumtree' (cava-plumtree.jar).
+ * 'org.apache.tuweni:cava-plumtree' (cava-plumtree.jar).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.plumtree;
+package org.apache.tuweni.plumtree;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/plumtree/src/test/java/net/consensys/cava/plumtree/StateTest.java b/plumtree/src/test/java/net/consensys/cava/plumtree/StateTest.java
index a0127a5..a70b91f 100644
--- a/plumtree/src/test/java/net/consensys/cava/plumtree/StateTest.java
+++ b/plumtree/src/test/java/net/consensys/cava/plumtree/StateTest.java
@@ -10,16 +10,16 @@
  * 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 net.consensys.cava.plumtree;
+package org.apache.tuweni.plumtree;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.crypto.Hash;
-import net.consensys.cava.junit.BouncyCastleExtension;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.crypto.Hash;
+import org.apache.tuweni.junit.BouncyCastleExtension;
 
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/rlp/src/main/java/net/consensys/cava/rlp/AccumulatingRLPWriter.java b/rlp/src/main/java/net/consensys/cava/rlp/AccumulatingRLPWriter.java
index 0f1ba8a..a63985b 100644
--- a/rlp/src/main/java/net/consensys/cava/rlp/AccumulatingRLPWriter.java
+++ b/rlp/src/main/java/net/consensys/cava/rlp/AccumulatingRLPWriter.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.rlp;
+package org.apache.tuweni.rlp;
 
 import static java.util.Objects.requireNonNull;
-import static net.consensys.cava.rlp.RLP.encodeByteArray;
-import static net.consensys.cava.rlp.RLP.encodeLength;
-import static net.consensys.cava.rlp.RLP.encodeNumber;
+import static org.apache.tuweni.rlp.RLP.encodeByteArray;
+import static org.apache.tuweni.rlp.RLP.encodeLength;
+import static org.apache.tuweni.rlp.RLP.encodeNumber;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.ArrayDeque;
 import java.util.Deque;
diff --git a/rlp/src/main/java/net/consensys/cava/rlp/ByteBufferRLPWriter.java b/rlp/src/main/java/net/consensys/cava/rlp/ByteBufferRLPWriter.java
index 40b8d0b..6d8b9a5 100644
--- a/rlp/src/main/java/net/consensys/cava/rlp/ByteBufferRLPWriter.java
+++ b/rlp/src/main/java/net/consensys/cava/rlp/ByteBufferRLPWriter.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.rlp;
+package org.apache.tuweni.rlp;
 
 import static java.util.Objects.requireNonNull;
-import static net.consensys.cava.rlp.RLP.encodeByteArray;
-import static net.consensys.cava.rlp.RLP.encodeLength;
-import static net.consensys.cava.rlp.RLP.encodeNumber;
+import static org.apache.tuweni.rlp.RLP.encodeByteArray;
+import static org.apache.tuweni.rlp.RLP.encodeLength;
+import static org.apache.tuweni.rlp.RLP.encodeNumber;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.nio.BufferOverflowException;
 import java.nio.ByteBuffer;
diff --git a/rlp/src/main/java/net/consensys/cava/rlp/BytesRLPReader.java b/rlp/src/main/java/net/consensys/cava/rlp/BytesRLPReader.java
index f603460..2158dd4 100644
--- a/rlp/src/main/java/net/consensys/cava/rlp/BytesRLPReader.java
+++ b/rlp/src/main/java/net/consensys/cava/rlp/BytesRLPReader.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.rlp;
+package org.apache.tuweni.rlp;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.function.Function;
 
diff --git a/rlp/src/main/java/net/consensys/cava/rlp/BytesRLPWriter.java b/rlp/src/main/java/net/consensys/cava/rlp/BytesRLPWriter.java
index 70683f6..be80f68 100644
--- a/rlp/src/main/java/net/consensys/cava/rlp/BytesRLPWriter.java
+++ b/rlp/src/main/java/net/consensys/cava/rlp/BytesRLPWriter.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.rlp;
+package org.apache.tuweni.rlp;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.Deque;
 
diff --git a/rlp/src/main/java/net/consensys/cava/rlp/DelegatingRLPWriter.java b/rlp/src/main/java/net/consensys/cava/rlp/DelegatingRLPWriter.java
index 9ea7ed6..4d8fb68 100644
--- a/rlp/src/main/java/net/consensys/cava/rlp/DelegatingRLPWriter.java
+++ b/rlp/src/main/java/net/consensys/cava/rlp/DelegatingRLPWriter.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.rlp;
+package org.apache.tuweni.rlp;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.units.bigints.UInt256;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.units.bigints.UInt256;
 
 import java.math.BigInteger;
 import java.util.function.Consumer;
diff --git a/rlp/src/main/java/net/consensys/cava/rlp/EndOfRLPException.java b/rlp/src/main/java/net/consensys/cava/rlp/EndOfRLPException.java
index 85733e0..8874067 100644
--- a/rlp/src/main/java/net/consensys/cava/rlp/EndOfRLPException.java
+++ b/rlp/src/main/java/net/consensys/cava/rlp/EndOfRLPException.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.rlp;
+package org.apache.tuweni.rlp;
 
 /**
  * Indicates the end of the RLP source has been reached unexpectedly.
diff --git a/rlp/src/main/java/net/consensys/cava/rlp/InvalidRLPEncodingException.java b/rlp/src/main/java/net/consensys/cava/rlp/InvalidRLPEncodingException.java
index 4dd3e7f..4963021 100644
--- a/rlp/src/main/java/net/consensys/cava/rlp/InvalidRLPEncodingException.java
+++ b/rlp/src/main/java/net/consensys/cava/rlp/InvalidRLPEncodingException.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.rlp;
+package org.apache.tuweni.rlp;
 
 /**
  * Indicates that invalid RLP encoding was encountered.
diff --git a/rlp/src/main/java/net/consensys/cava/rlp/InvalidRLPTypeException.java b/rlp/src/main/java/net/consensys/cava/rlp/InvalidRLPTypeException.java
index 7d881aa..fc832b6 100644
--- a/rlp/src/main/java/net/consensys/cava/rlp/InvalidRLPTypeException.java
+++ b/rlp/src/main/java/net/consensys/cava/rlp/InvalidRLPTypeException.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.rlp;
+package org.apache.tuweni.rlp;
 
 /**
  * Indicates that an unexpected type was encountered when decoding RLP.
diff --git a/rlp/src/main/java/net/consensys/cava/rlp/RLP.java b/rlp/src/main/java/net/consensys/cava/rlp/RLP.java
index 1212668..593f2c8 100644
--- a/rlp/src/main/java/net/consensys/cava/rlp/RLP.java
+++ b/rlp/src/main/java/net/consensys/cava/rlp/RLP.java
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.rlp;
+package org.apache.tuweni.rlp;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static java.util.Objects.requireNonNull;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.math.BigInteger;
 import java.nio.BufferOverflowException;
diff --git a/rlp/src/main/java/net/consensys/cava/rlp/RLPException.java b/rlp/src/main/java/net/consensys/cava/rlp/RLPException.java
index d4d28d7..956b890 100644
--- a/rlp/src/main/java/net/consensys/cava/rlp/RLPException.java
+++ b/rlp/src/main/java/net/consensys/cava/rlp/RLPException.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.rlp;
+package org.apache.tuweni.rlp;
 
 /**
  * Base type for all RLP encoding and decoding exceptions.
diff --git a/rlp/src/main/java/net/consensys/cava/rlp/RLPReader.java b/rlp/src/main/java/net/consensys/cava/rlp/RLPReader.java
index fab766d..259b0df 100644
--- a/rlp/src/main/java/net/consensys/cava/rlp/RLPReader.java
+++ b/rlp/src/main/java/net/consensys/cava/rlp/RLPReader.java
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.rlp;
+package org.apache.tuweni.rlp;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static java.util.Objects.requireNonNull;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.units.bigints.UInt256;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.units.bigints.UInt256;
 
 import java.math.BigInteger;
 import java.util.ArrayList;
diff --git a/rlp/src/main/java/net/consensys/cava/rlp/RLPWriter.java b/rlp/src/main/java/net/consensys/cava/rlp/RLPWriter.java
index e96946f..0a3fb43 100644
--- a/rlp/src/main/java/net/consensys/cava/rlp/RLPWriter.java
+++ b/rlp/src/main/java/net/consensys/cava/rlp/RLPWriter.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.rlp;
+package org.apache.tuweni.rlp;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.units.bigints.UInt256;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.units.bigints.UInt256;
 
 import java.math.BigInteger;
 import java.util.List;
diff --git a/rlp/src/main/java/net/consensys/cava/rlp/package-info.java b/rlp/src/main/java/net/consensys/cava/rlp/package-info.java
index e2a7f69..8859488 100644
--- a/rlp/src/main/java/net/consensys/cava/rlp/package-info.java
+++ b/rlp/src/main/java/net/consensys/cava/rlp/package-info.java
@@ -5,9 +5,9 @@
  * <a href="https://github.com/ethereum/wiki/wiki/RLP">https://github.com/ethereum/wiki/wiki/RLP</a>.
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-rlp' (cava-rlp.jar).
+ * 'org.apache.tuweni:cava-rlp' (cava-rlp.jar).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.rlp;
+package org.apache.tuweni.rlp;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/rlp/src/test/java/net/consensys/cava/rlp/ByteBufferWriterTest.java b/rlp/src/test/java/net/consensys/cava/rlp/ByteBufferWriterTest.java
index e1ec120..226177c 100644
--- a/rlp/src/test/java/net/consensys/cava/rlp/ByteBufferWriterTest.java
+++ b/rlp/src/test/java/net/consensys/cava/rlp/ByteBufferWriterTest.java
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.rlp;
+package org.apache.tuweni.rlp;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
-import static net.consensys.cava.bytes.Bytes.fromHexString;
+import static org.apache.tuweni.bytes.Bytes.fromHexString;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.units.bigints.UInt256;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.units.bigints.UInt256;
 
 import java.math.BigInteger;
 import java.nio.ByteBuffer;
diff --git a/rlp/src/test/java/net/consensys/cava/rlp/BytesRLPReaderTest.java b/rlp/src/test/java/net/consensys/cava/rlp/BytesRLPReaderTest.java
index da76137..5df20a4 100644
--- a/rlp/src/test/java/net/consensys/cava/rlp/BytesRLPReaderTest.java
+++ b/rlp/src/test/java/net/consensys/cava/rlp/BytesRLPReaderTest.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.rlp;
+package org.apache.tuweni.rlp;
 
-import static net.consensys.cava.bytes.Bytes.fromHexString;
+import static org.apache.tuweni.bytes.Bytes.fromHexString;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.math.BigInteger;
 import java.util.Arrays;
diff --git a/rlp/src/test/java/net/consensys/cava/rlp/BytesRLPWriterTest.java b/rlp/src/test/java/net/consensys/cava/rlp/BytesRLPWriterTest.java
index baa4d3e..cf6cc72 100644
--- a/rlp/src/test/java/net/consensys/cava/rlp/BytesRLPWriterTest.java
+++ b/rlp/src/test/java/net/consensys/cava/rlp/BytesRLPWriterTest.java
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.rlp;
+package org.apache.tuweni.rlp;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
-import static net.consensys.cava.bytes.Bytes.fromHexString;
+import static org.apache.tuweni.bytes.Bytes.fromHexString;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.units.bigints.UInt256;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.units.bigints.UInt256;
 
 import java.math.BigInteger;
 import java.util.Arrays;
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/EthereumIESEncryptionEngine.java b/rlpx/src/main/java/net/consensys/cava/rlpx/EthereumIESEncryptionEngine.java
index 8a47f04..bb7afe2 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/EthereumIESEncryptionEngine.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/EthereumIESEncryptionEngine.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.rlpx;
+package org.apache.tuweni.rlpx;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/HandshakeMessage.java b/rlpx/src/main/java/net/consensys/cava/rlpx/HandshakeMessage.java
index 13f1688..29c9d9a 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/HandshakeMessage.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/HandshakeMessage.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.rlpx;
+package org.apache.tuweni.rlpx;
 
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.crypto.SECP256K1;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.crypto.SECP256K1;
 
 /**
  * Contents of a message sent as part of a RLPx handshake.
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/InitiatorHandshakeMessage.java b/rlpx/src/main/java/net/consensys/cava/rlpx/InitiatorHandshakeMessage.java
index 623c2c9..ef5e601 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/InitiatorHandshakeMessage.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/InitiatorHandshakeMessage.java
@@ -10,16 +10,16 @@
  * 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 net.consensys.cava.rlpx;
+package org.apache.tuweni.rlpx;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.crypto.SECP256K1.KeyPair;
-import net.consensys.cava.crypto.SECP256K1.PublicKey;
-import net.consensys.cava.crypto.SECP256K1.SecretKey;
-import net.consensys.cava.crypto.SECP256K1.Signature;
-import net.consensys.cava.rlp.RLP;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.crypto.SECP256K1.KeyPair;
+import org.apache.tuweni.crypto.SECP256K1.PublicKey;
+import org.apache.tuweni.crypto.SECP256K1.SecretKey;
+import org.apache.tuweni.crypto.SECP256K1.Signature;
+import org.apache.tuweni.rlp.RLP;
 
 /**
  * The initial message sent during a RLPx handshake.
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/InvalidMACException.java b/rlpx/src/main/java/net/consensys/cava/rlpx/InvalidMACException.java
index c2f19a4..20fd4a5 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/InvalidMACException.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/InvalidMACException.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.rlpx;
+package org.apache.tuweni.rlpx;
 
 /**
  * Exception thrown when the message contents do not match the Message Authentication Code.
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/MemoryWireConnectionsRepository.java b/rlpx/src/main/java/net/consensys/cava/rlpx/MemoryWireConnectionsRepository.java
index 0548d3c..7c2ba46 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/MemoryWireConnectionsRepository.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/MemoryWireConnectionsRepository.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.rlpx;
+package org.apache.tuweni.rlpx;
 
-import net.consensys.cava.rlpx.wire.WireConnection;
+import org.apache.tuweni.rlpx.wire.WireConnection;
 
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/RLPxConnection.java b/rlpx/src/main/java/net/consensys/cava/rlpx/RLPxConnection.java
index d61953d..0bba653 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/RLPxConnection.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/RLPxConnection.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.rlpx;
-
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.bytes.MutableBytes;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.rlp.RLP;
-import net.consensys.cava.rlpx.wire.HelloMessage;
+package org.apache.tuweni.rlpx;
+
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.bytes.MutableBytes;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.rlp.RLP;
+import org.apache.tuweni.rlpx.wire.HelloMessage;
 
 import java.io.IOException;
 import java.util.Arrays;
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/RLPxConnectionFactory.java b/rlpx/src/main/java/net/consensys/cava/rlpx/RLPxConnectionFactory.java
index 1afad76..2c7ab36 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/RLPxConnectionFactory.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/RLPxConnectionFactory.java
@@ -10,19 +10,19 @@
  * 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 net.consensys.cava.rlpx;
-
-import static net.consensys.cava.bytes.Bytes.concatenate;
-import static net.consensys.cava.crypto.Hash.keccak256;
-import static net.consensys.cava.crypto.SECP256K1.Parameters.CURVE;
-import static net.consensys.cava.crypto.SECP256K1.calculateKeyAgreement;
-
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.concurrent.AsyncResult;
-import net.consensys.cava.crypto.SECP256K1.KeyPair;
-import net.consensys.cava.crypto.SECP256K1.PublicKey;
-import net.consensys.cava.crypto.SECP256K1.SecretKey;
+package org.apache.tuweni.rlpx;
+
+import static org.apache.tuweni.bytes.Bytes.concatenate;
+import static org.apache.tuweni.crypto.Hash.keccak256;
+import static org.apache.tuweni.crypto.SECP256K1.Parameters.CURVE;
+import static org.apache.tuweni.crypto.SECP256K1.calculateKeyAgreement;
+
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.concurrent.AsyncResult;
+import org.apache.tuweni.crypto.SECP256K1.KeyPair;
+import org.apache.tuweni.crypto.SECP256K1.PublicKey;
+import org.apache.tuweni.crypto.SECP256K1.SecretKey;
 
 import java.math.BigInteger;
 import java.security.SecureRandom;
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/RLPxMessage.java b/rlpx/src/main/java/net/consensys/cava/rlpx/RLPxMessage.java
index f117a2d..5e47aed 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/RLPxMessage.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/RLPxMessage.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.rlpx;
+package org.apache.tuweni.rlpx;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.Objects;
 
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/RLPxService.java b/rlpx/src/main/java/net/consensys/cava/rlpx/RLPxService.java
index 1863b23..72d2603 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/RLPxService.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/RLPxService.java
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.rlpx;
+package org.apache.tuweni.rlpx;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.concurrent.AsyncCompletion;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.rlpx.wire.DisconnectReason;
-import net.consensys.cava.rlpx.wire.SubProtocolIdentifier;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.concurrent.AsyncCompletion;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.rlpx.wire.DisconnectReason;
+import org.apache.tuweni.rlpx.wire.SubProtocolIdentifier;
 
 import java.net.InetSocketAddress;
 
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/ResponderHandshakeMessage.java b/rlpx/src/main/java/net/consensys/cava/rlpx/ResponderHandshakeMessage.java
index 165aa55..b0343e1 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/ResponderHandshakeMessage.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/ResponderHandshakeMessage.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.rlpx;
+package org.apache.tuweni.rlpx;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.crypto.SECP256K1.PublicKey;
-import net.consensys.cava.rlp.RLP;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.crypto.SECP256K1.PublicKey;
+import org.apache.tuweni.rlp.RLP;
 
 /**
  * The decrypted contents of a handshake response message.
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/WireConnectionRepository.java b/rlpx/src/main/java/net/consensys/cava/rlpx/WireConnectionRepository.java
index 872f6ad..45827be 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/WireConnectionRepository.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/WireConnectionRepository.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.rlpx;
+package org.apache.tuweni.rlpx;
 
-import net.consensys.cava.rlpx.wire.WireConnection;
+import org.apache.tuweni.rlpx.wire.WireConnection;
 
 /**
  * A repository managing wire connections.
@@ -29,7 +29,7 @@ public interface WireConnectionRepository {
 
   /**
    * Gets a wire connection by its identifier, as provided by
-   * <code>net.consensys.cava.rlpx.wire.DefaultWireConnection#id</code>
+   * <code>org.apache.tuweni.rlpx.wire.DefaultWireConnection#id</code>
    * 
    * @param id the identifier of the wire connection
    * @return the wire connection associated with the identifier, or <code>null</code> if no such wire connection exists.
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/package-info.java b/rlpx/src/main/java/net/consensys/cava/rlpx/package-info.java
index 7826860..e574b4a 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/package-info.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/package-info.java
@@ -3,10 +3,10 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-rlpx' (cava-rlpx.jar).
+ * 'org.apache.tuweni:cava-rlpx' (cava-rlpx.jar).
  */
 @ParametersAreNonnullByDefault
 
-package net.consensys.cava.rlpx;
+package org.apache.tuweni.rlpx;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/vertx/VertxRLPxService.java b/rlpx/src/main/java/net/consensys/cava/rlpx/vertx/VertxRLPxService.java
index 2f02d92..2ecb989 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/vertx/VertxRLPxService.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/vertx/VertxRLPxService.java
@@ -10,26 +10,26 @@
  * 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 net.consensys.cava.rlpx.vertx;
-
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.concurrent.AsyncCompletion;
-import net.consensys.cava.concurrent.CompletableAsyncCompletion;
-import net.consensys.cava.crypto.SECP256K1.KeyPair;
-import net.consensys.cava.crypto.SECP256K1.PublicKey;
-import net.consensys.cava.rlpx.HandshakeMessage;
-import net.consensys.cava.rlpx.MemoryWireConnectionsRepository;
-import net.consensys.cava.rlpx.RLPxConnection;
-import net.consensys.cava.rlpx.RLPxConnectionFactory;
-import net.consensys.cava.rlpx.RLPxService;
-import net.consensys.cava.rlpx.WireConnectionRepository;
-import net.consensys.cava.rlpx.wire.DefaultWireConnection;
-import net.consensys.cava.rlpx.wire.DisconnectReason;
-import net.consensys.cava.rlpx.wire.SubProtocol;
-import net.consensys.cava.rlpx.wire.SubProtocolHandler;
-import net.consensys.cava.rlpx.wire.SubProtocolIdentifier;
-import net.consensys.cava.rlpx.wire.WireConnection;
+package org.apache.tuweni.rlpx.vertx;
+
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.concurrent.AsyncCompletion;
+import org.apache.tuweni.concurrent.CompletableAsyncCompletion;
+import org.apache.tuweni.crypto.SECP256K1.KeyPair;
+import org.apache.tuweni.crypto.SECP256K1.PublicKey;
+import org.apache.tuweni.rlpx.HandshakeMessage;
+import org.apache.tuweni.rlpx.MemoryWireConnectionsRepository;
+import org.apache.tuweni.rlpx.RLPxConnection;
+import org.apache.tuweni.rlpx.RLPxConnectionFactory;
+import org.apache.tuweni.rlpx.RLPxService;
+import org.apache.tuweni.rlpx.WireConnectionRepository;
+import org.apache.tuweni.rlpx.wire.DefaultWireConnection;
+import org.apache.tuweni.rlpx.wire.DisconnectReason;
+import org.apache.tuweni.rlpx.wire.SubProtocol;
+import org.apache.tuweni.rlpx.wire.SubProtocolHandler;
+import org.apache.tuweni.rlpx.wire.SubProtocolIdentifier;
+import org.apache.tuweni.rlpx.wire.WireConnection;
 
 import java.net.InetSocketAddress;
 import java.util.LinkedHashMap;
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/vertx/package-info.java b/rlpx/src/main/java/net/consensys/cava/rlpx/vertx/package-info.java
index 3536718..fd4aa85 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/vertx/package-info.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/vertx/package-info.java
@@ -3,10 +3,10 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-rlpx' (cava-rlpx.jar).
+ * 'org.apache.tuweni:cava-rlpx' (cava-rlpx.jar).
  */
 @ParametersAreNonnullByDefault
 
-package net.consensys.cava.rlpx.vertx;
+package org.apache.tuweni.rlpx.vertx;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/Capability.java b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/Capability.java
index 68b88ad..e763418 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/Capability.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/Capability.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
 import java.util.Objects;
 
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/DefaultSubProtocolIdentifier.java b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/DefaultSubProtocolIdentifier.java
index c3d73a3..adaa68f 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/DefaultSubProtocolIdentifier.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/DefaultSubProtocolIdentifier.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
 /**
  * Default implementation of a sub protocol identifier
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/DefaultWireConnection.java b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/DefaultWireConnection.java
index 008639c..1c64e26 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/DefaultWireConnection.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/DefaultWireConnection.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.concurrent.AsyncCompletion;
-import net.consensys.cava.concurrent.CompletableAsyncCompletion;
-import net.consensys.cava.rlpx.RLPxMessage;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.concurrent.AsyncCompletion;
+import org.apache.tuweni.concurrent.CompletableAsyncCompletion;
+import org.apache.tuweni.rlpx.RLPxMessage;
 
 import java.util.LinkedHashMap;
 import java.util.List;
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/DisconnectMessage.java b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/DisconnectMessage.java
index 0a282af..2d3b2ad 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/DisconnectMessage.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/DisconnectMessage.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.rlp.RLP;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.rlp.RLP;
 
 final class DisconnectMessage implements WireProtocolMessage {
 
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/DisconnectReason.java b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/DisconnectReason.java
index d2d1486..fe1b959 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/DisconnectReason.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/DisconnectReason.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
 /**
  * Enumeration of all reasons disconnect may happen.
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/HelloMessage.java b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/HelloMessage.java
index 6b26cb7..06b9f2a 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/HelloMessage.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/HelloMessage.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.rlp.RLP;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.rlp.RLP;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/PingMessage.java b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/PingMessage.java
index 0bf5ecb..5edd7e3 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/PingMessage.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/PingMessage.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 final class PingMessage implements WireProtocolMessage {
 
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/PongMessage.java b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/PongMessage.java
index 55c4ba8..3b955b1 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/PongMessage.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/PongMessage.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 final class PongMessage implements WireProtocolMessage {
 
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/SubProtocol.java b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/SubProtocol.java
index bcbf4df..aea446b 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/SubProtocol.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/SubProtocol.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
 
-import net.consensys.cava.rlpx.RLPxService;
+import org.apache.tuweni.rlpx.RLPxService;
 
 /**
  * Defines a subprotocol to be used for wire connections
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/SubProtocolHandler.java b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/SubProtocolHandler.java
index f58ba68..4018c75 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/SubProtocolHandler.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/SubProtocolHandler.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.concurrent.AsyncCompletion;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.concurrent.AsyncCompletion;
 
 /**
  * Handler managing messages and new connections of peers related for a given subprotocol.
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/SubProtocolIdentifier.java b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/SubProtocolIdentifier.java
index 37319c7..7d11c67 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/SubProtocolIdentifier.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/SubProtocolIdentifier.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
 /**
  * Identifier of a subprotocol, comprised of a name and version.
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/WireConnection.java b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/WireConnection.java
index 6d64b89..f9376af 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/WireConnection.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/WireConnection.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
 
 /**
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/WireProtocolMessage.java b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/WireProtocolMessage.java
index 9b5fb4d..e5e87e4 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/WireProtocolMessage.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/WireProtocolMessage.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 /**
  * A set of bytes made available to a subprotocol after it has been successfully decrypted.
diff --git a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/package-info.java b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/package-info.java
index da25d49..1c37089 100644
--- a/rlpx/src/main/java/net/consensys/cava/rlpx/wire/package-info.java
+++ b/rlpx/src/main/java/net/consensys/cava/rlpx/wire/package-info.java
@@ -3,10 +3,10 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-rlpx' (cava-rlpx.jar).
+ * 'org.apache.tuweni:cava-rlpx' (cava-rlpx.jar).
  */
 @ParametersAreNonnullByDefault
 
-package net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/rlpx/src/test/java/net/consensys/cava/rlpx/RLPxConnectionFactoryTest.java b/rlpx/src/test/java/net/consensys/cava/rlpx/RLPxConnectionFactoryTest.java
index be78e61..ec38ae6 100644
--- a/rlpx/src/test/java/net/consensys/cava/rlpx/RLPxConnectionFactoryTest.java
+++ b/rlpx/src/test/java/net/consensys/cava/rlpx/RLPxConnectionFactoryTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.rlpx;
+package org.apache.tuweni.rlpx;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -18,13 +18,13 @@ import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.concurrent.AsyncResult;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.crypto.SECP256K1.KeyPair;
-import net.consensys.cava.crypto.SECP256K1.SecretKey;
-import net.consensys.cava.junit.BouncyCastleExtension;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.concurrent.AsyncResult;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.crypto.SECP256K1.KeyPair;
+import org.apache.tuweni.crypto.SECP256K1.SecretKey;
+import org.apache.tuweni.junit.BouncyCastleExtension;
 
 import java.security.SecureRandom;
 import java.util.concurrent.TimeUnit;
diff --git a/rlpx/src/test/java/net/consensys/cava/rlpx/vertx/VertxAcceptanceTest.java b/rlpx/src/test/java/net/consensys/cava/rlpx/vertx/VertxAcceptanceTest.java
index 4e5e80a..501a53f 100644
--- a/rlpx/src/test/java/net/consensys/cava/rlpx/vertx/VertxAcceptanceTest.java
+++ b/rlpx/src/test/java/net/consensys/cava/rlpx/vertx/VertxAcceptanceTest.java
@@ -10,26 +10,26 @@
  * 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 net.consensys.cava.rlpx.vertx;
+package org.apache.tuweni.rlpx.vertx;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.concurrent.AsyncCompletion;
-import net.consensys.cava.concurrent.CompletableAsyncCompletion;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.junit.BouncyCastleExtension;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
-import net.consensys.cava.rlpx.MemoryWireConnectionsRepository;
-import net.consensys.cava.rlpx.RLPxService;
-import net.consensys.cava.rlpx.wire.DefaultWireConnection;
-import net.consensys.cava.rlpx.wire.SubProtocol;
-import net.consensys.cava.rlpx.wire.SubProtocolHandler;
-import net.consensys.cava.rlpx.wire.SubProtocolIdentifier;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.concurrent.AsyncCompletion;
+import org.apache.tuweni.concurrent.CompletableAsyncCompletion;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.junit.BouncyCastleExtension;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
+import org.apache.tuweni.rlpx.MemoryWireConnectionsRepository;
+import org.apache.tuweni.rlpx.RLPxService;
+import org.apache.tuweni.rlpx.wire.DefaultWireConnection;
+import org.apache.tuweni.rlpx.wire.SubProtocol;
+import org.apache.tuweni.rlpx.wire.SubProtocolHandler;
+import org.apache.tuweni.rlpx.wire.SubProtocolIdentifier;
 
 import java.io.BufferedWriter;
 import java.io.OutputStreamWriter;
diff --git a/rlpx/src/test/java/net/consensys/cava/rlpx/vertx/VertxRLPxServiceTest.java b/rlpx/src/test/java/net/consensys/cava/rlpx/vertx/VertxRLPxServiceTest.java
index 19691fa..c715afe 100644
--- a/rlpx/src/test/java/net/consensys/cava/rlpx/vertx/VertxRLPxServiceTest.java
+++ b/rlpx/src/test/java/net/consensys/cava/rlpx/vertx/VertxRLPxServiceTest.java
@@ -10,19 +10,19 @@
  * 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 net.consensys.cava.rlpx.vertx;
+package org.apache.tuweni.rlpx.vertx;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.concurrent.AsyncCompletion;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.junit.BouncyCastleExtension;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
-import net.consensys.cava.rlpx.MemoryWireConnectionsRepository;
+import org.apache.tuweni.concurrent.AsyncCompletion;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.junit.BouncyCastleExtension;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
+import org.apache.tuweni.rlpx.MemoryWireConnectionsRepository;
 
 import java.io.BufferedWriter;
 import java.io.OutputStreamWriter;
diff --git a/rlpx/src/test/java/net/consensys/cava/rlpx/wire/DefaultWireConnectionTest.java b/rlpx/src/test/java/net/consensys/cava/rlpx/wire/DefaultWireConnectionTest.java
index 23b6464..eb271da 100644
--- a/rlpx/src/test/java/net/consensys/cava/rlpx/wire/DefaultWireConnectionTest.java
+++ b/rlpx/src/test/java/net/consensys/cava/rlpx/wire/DefaultWireConnectionTest.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.junit.BouncyCastleExtension;
-import net.consensys.cava.rlpx.RLPxMessage;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.junit.BouncyCastleExtension;
+import org.apache.tuweni.rlpx.RLPxMessage;
 
 import java.util.Collections;
 import java.util.LinkedHashMap;
diff --git a/rlpx/src/test/java/net/consensys/cava/rlpx/wire/DisconnectMessageTest.java b/rlpx/src/test/java/net/consensys/cava/rlpx/wire/DisconnectMessageTest.java
index 39f1ab4..780fc7e 100644
--- a/rlpx/src/test/java/net/consensys/cava/rlpx/wire/DisconnectMessageTest.java
+++ b/rlpx/src/test/java/net/consensys/cava/rlpx/wire/DisconnectMessageTest.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/rlpx/src/test/java/net/consensys/cava/rlpx/wire/HelloMessageTest.java b/rlpx/src/test/java/net/consensys/cava/rlpx/wire/HelloMessageTest.java
index f155206..8ce6bbe 100644
--- a/rlpx/src/test/java/net/consensys/cava/rlpx/wire/HelloMessageTest.java
+++ b/rlpx/src/test/java/net/consensys/cava/rlpx/wire/HelloMessageTest.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.Collections;
 
diff --git a/rlpx/src/test/java/net/consensys/cava/rlpx/wire/PingPongTest.java b/rlpx/src/test/java/net/consensys/cava/rlpx/wire/PingPongTest.java
index 3f1a197..10a2000 100644
--- a/rlpx/src/test/java/net/consensys/cava/rlpx/wire/PingPongTest.java
+++ b/rlpx/src/test/java/net/consensys/cava/rlpx/wire/PingPongTest.java
@@ -10,18 +10,18 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.concurrent.AsyncCompletion;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.junit.BouncyCastleExtension;
-import net.consensys.cava.rlpx.RLPxMessage;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.concurrent.AsyncCompletion;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.junit.BouncyCastleExtension;
+import org.apache.tuweni.rlpx.RLPxMessage;
 
 import java.util.LinkedHashMap;
 import java.util.concurrent.atomic.AtomicReference;
diff --git a/rlpx/src/test/java/net/consensys/cava/rlpx/wire/RLPxConnectionMessageExchangeTest.java b/rlpx/src/test/java/net/consensys/cava/rlpx/wire/RLPxConnectionMessageExchangeTest.java
index 1f4d78b..548cd90 100644
--- a/rlpx/src/test/java/net/consensys/cava/rlpx/wire/RLPxConnectionMessageExchangeTest.java
+++ b/rlpx/src/test/java/net/consensys/cava/rlpx/wire/RLPxConnectionMessageExchangeTest.java
@@ -10,18 +10,18 @@
  * 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 net.consensys.cava.rlpx.wire;
+package org.apache.tuweni.rlpx.wire;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.concurrent.AsyncResult;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.junit.BouncyCastleExtension;
-import net.consensys.cava.rlpx.RLPxConnection;
-import net.consensys.cava.rlpx.RLPxConnectionFactory;
-import net.consensys.cava.rlpx.RLPxMessage;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.concurrent.AsyncResult;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.junit.BouncyCastleExtension;
+import org.apache.tuweni.rlpx.RLPxConnection;
+import org.apache.tuweni.rlpx.RLPxConnectionFactory;
+import org.apache.tuweni.rlpx.RLPxMessage;
 
 import java.util.Arrays;
 import java.util.concurrent.TimeUnit;
diff --git a/scuttlebutt-discovery/src/main/java/net/consensys/cava/scuttlebutt/discovery/LocalIdentity.java b/scuttlebutt-discovery/src/main/java/net/consensys/cava/scuttlebutt/discovery/LocalIdentity.java
index 28a7018..65a9691 100644
--- a/scuttlebutt-discovery/src/main/java/net/consensys/cava/scuttlebutt/discovery/LocalIdentity.java
+++ b/scuttlebutt-discovery/src/main/java/net/consensys/cava/scuttlebutt/discovery/LocalIdentity.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.scuttlebutt.discovery;
+package org.apache.tuweni.scuttlebutt.discovery;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.crypto.sodium.Signature;
-import net.consensys.cava.scuttlebutt.Identity;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.crypto.sodium.Signature;
+import org.apache.tuweni.scuttlebutt.Identity;
 
 import java.net.InetSocketAddress;
 import java.util.Objects;
diff --git a/scuttlebutt-discovery/src/main/java/net/consensys/cava/scuttlebutt/discovery/ScuttlebuttLocalDiscoveryService.java b/scuttlebutt-discovery/src/main/java/net/consensys/cava/scuttlebutt/discovery/ScuttlebuttLocalDiscoveryService.java
index 4afe6cd..c04e2cc 100644
--- a/scuttlebutt-discovery/src/main/java/net/consensys/cava/scuttlebutt/discovery/ScuttlebuttLocalDiscoveryService.java
+++ b/scuttlebutt-discovery/src/main/java/net/consensys/cava/scuttlebutt/discovery/ScuttlebuttLocalDiscoveryService.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.scuttlebutt.discovery;
+package org.apache.tuweni.scuttlebutt.discovery;
 
-import net.consensys.cava.concurrent.AsyncCompletion;
-import net.consensys.cava.concurrent.CompletableAsyncCompletion;
+import org.apache.tuweni.concurrent.AsyncCompletion;
+import org.apache.tuweni.concurrent.CompletableAsyncCompletion;
 
 import java.net.InetAddress;
 import java.util.ArrayList;
diff --git a/scuttlebutt-discovery/src/main/java/net/consensys/cava/scuttlebutt/discovery/package-info.java b/scuttlebutt-discovery/src/main/java/net/consensys/cava/scuttlebutt/discovery/package-info.java
index 7548cd7..96415e1 100644
--- a/scuttlebutt-discovery/src/main/java/net/consensys/cava/scuttlebutt/discovery/package-info.java
+++ b/scuttlebutt-discovery/src/main/java/net/consensys/cava/scuttlebutt/discovery/package-info.java
@@ -6,9 +6,9 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-scuttlebutt-discovery' (cava-scuttlebutt-discovery.jar).
+ * 'org.apache.tuweni:cava-scuttlebutt-discovery' (cava-scuttlebutt-discovery.jar).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.scuttlebutt.discovery;
+package org.apache.tuweni.scuttlebutt.discovery;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/scuttlebutt-discovery/src/test/java/net/consensys/cava/scuttlebutt/discovery/LocalIdentityTest.java b/scuttlebutt-discovery/src/test/java/net/consensys/cava/scuttlebutt/discovery/LocalIdentityTest.java
index d3c12bd..65bdbe7 100644
--- a/scuttlebutt-discovery/src/test/java/net/consensys/cava/scuttlebutt/discovery/LocalIdentityTest.java
+++ b/scuttlebutt-discovery/src/test/java/net/consensys/cava/scuttlebutt/discovery/LocalIdentityTest.java
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.scuttlebutt.discovery;
+package org.apache.tuweni.scuttlebutt.discovery;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import net.consensys.cava.crypto.sodium.Sodium;
-import net.consensys.cava.scuttlebutt.Identity;
+import org.apache.tuweni.crypto.sodium.Sodium;
+import org.apache.tuweni.scuttlebutt.Identity;
 
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
diff --git a/scuttlebutt-discovery/src/test/java/net/consensys/cava/scuttlebutt/discovery/ScuttlebuttLocalDiscoveryServiceTest.java b/scuttlebutt-discovery/src/test/java/net/consensys/cava/scuttlebutt/discovery/ScuttlebuttLocalDiscoveryServiceTest.java
index aa1faf0..f5af1a5 100644
--- a/scuttlebutt-discovery/src/test/java/net/consensys/cava/scuttlebutt/discovery/ScuttlebuttLocalDiscoveryServiceTest.java
+++ b/scuttlebutt-discovery/src/test/java/net/consensys/cava/scuttlebutt/discovery/ScuttlebuttLocalDiscoveryServiceTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.scuttlebutt.discovery;
+package org.apache.tuweni.scuttlebutt.discovery;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -18,11 +18,11 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import net.consensys.cava.concurrent.AsyncCompletion;
-import net.consensys.cava.crypto.sodium.Sodium;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
-import net.consensys.cava.scuttlebutt.Identity;
+import org.apache.tuweni.concurrent.AsyncCompletion;
+import org.apache.tuweni.crypto.sodium.Sodium;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
+import org.apache.tuweni.scuttlebutt.Identity;
 
 import java.io.BufferedWriter;
 import java.io.OutputStreamWriter;
diff --git a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/HandshakeException.java b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/HandshakeException.java
index ca7b92e..4f1ac41 100644
--- a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/HandshakeException.java
+++ b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/HandshakeException.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.scuttlebutt.handshake;
+package org.apache.tuweni.scuttlebutt.handshake;
 
 /**
  * Exceptions thrown during handshake because of invalid messages or different network identifiers.
diff --git a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttHandshakeClient.java b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttHandshakeClient.java
index 0eda1db..c4b3bc3 100644
--- a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttHandshakeClient.java
+++ b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttHandshakeClient.java
@@ -10,20 +10,20 @@
  * 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 net.consensys.cava.scuttlebutt.handshake;
+package org.apache.tuweni.scuttlebutt.handshake;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.crypto.sodium.Allocated;
-import net.consensys.cava.crypto.sodium.Box;
-import net.consensys.cava.crypto.sodium.Concatenate;
-import net.consensys.cava.crypto.sodium.DiffieHelman;
-import net.consensys.cava.crypto.sodium.HMACSHA512256;
-import net.consensys.cava.crypto.sodium.SHA256Hash;
-import net.consensys.cava.crypto.sodium.SecretBox;
-import net.consensys.cava.crypto.sodium.Signature;
-import net.consensys.cava.scuttlebutt.Identity;
-import net.consensys.cava.scuttlebutt.Invite;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.crypto.sodium.Allocated;
+import org.apache.tuweni.crypto.sodium.Box;
+import org.apache.tuweni.crypto.sodium.Concatenate;
+import org.apache.tuweni.crypto.sodium.DiffieHelman;
+import org.apache.tuweni.crypto.sodium.HMACSHA512256;
+import org.apache.tuweni.crypto.sodium.SHA256Hash;
+import org.apache.tuweni.crypto.sodium.SecretBox;
+import org.apache.tuweni.crypto.sodium.Signature;
+import org.apache.tuweni.scuttlebutt.Identity;
+import org.apache.tuweni.scuttlebutt.Invite;
 
 /**
  * Class responsible for performing a Secure Scuttlebutt handshake with a remote peer, as defined in the
diff --git a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttHandshakeServer.java b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttHandshakeServer.java
index fe8c0c8..1d5df38 100644
--- a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttHandshakeServer.java
+++ b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttHandshakeServer.java
@@ -10,18 +10,18 @@
  * 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 net.consensys.cava.scuttlebutt.handshake;
+package org.apache.tuweni.scuttlebutt.handshake;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.crypto.sodium.Allocated;
-import net.consensys.cava.crypto.sodium.Box;
-import net.consensys.cava.crypto.sodium.Concatenate;
-import net.consensys.cava.crypto.sodium.DiffieHelman;
-import net.consensys.cava.crypto.sodium.HMACSHA512256;
-import net.consensys.cava.crypto.sodium.SHA256Hash;
-import net.consensys.cava.crypto.sodium.SecretBox;
-import net.consensys.cava.crypto.sodium.Signature;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.crypto.sodium.Allocated;
+import org.apache.tuweni.crypto.sodium.Box;
+import org.apache.tuweni.crypto.sodium.Concatenate;
+import org.apache.tuweni.crypto.sodium.DiffieHelman;
+import org.apache.tuweni.crypto.sodium.HMACSHA512256;
+import org.apache.tuweni.crypto.sodium.SHA256Hash;
+import org.apache.tuweni.crypto.sodium.SecretBox;
+import org.apache.tuweni.crypto.sodium.Signature;
 
 /**
  * Class responsible for performing a Secure Scuttlebutt handshake with a remote peer, as defined in the
diff --git a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttStream.java b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttStream.java
index 3e4ba92..91632d6 100644
--- a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttStream.java
+++ b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttStream.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.scuttlebutt.handshake;
+package org.apache.tuweni.scuttlebutt.handshake;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.MutableBytes;
-import net.consensys.cava.crypto.sodium.SHA256Hash;
-import net.consensys.cava.crypto.sodium.SecretBox;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.MutableBytes;
+import org.apache.tuweni.crypto.sodium.SHA256Hash;
+import org.apache.tuweni.crypto.sodium.SecretBox;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttStreamClient.java b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttStreamClient.java
index 9eb8fb8..3db0ad8 100644
--- a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttStreamClient.java
+++ b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttStreamClient.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.scuttlebutt.handshake;
+package org.apache.tuweni.scuttlebutt.handshake;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 /**
  * Interface used to encrypt and decrypt messages to and from a server.
diff --git a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttStreamServer.java b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttStreamServer.java
index 416512d..07cd41b 100644
--- a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttStreamServer.java
+++ b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttStreamServer.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.scuttlebutt.handshake;
+package org.apache.tuweni.scuttlebutt.handshake;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 /**
  * Interface used to encrypt and decrypt messages to and from a client.
diff --git a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/StreamException.java b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/StreamException.java
index 794ca5f..e70179a 100644
--- a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/StreamException.java
+++ b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/StreamException.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.scuttlebutt.handshake;
+package org.apache.tuweni.scuttlebutt.handshake;
 
 public final class StreamException extends RuntimeException {
 
diff --git a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/package-info.java b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/package-info.java
index 185594b..e219a8e 100644
--- a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/package-info.java
+++ b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/package-info.java
@@ -6,9 +6,9 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-scuttlebutt-handshake' (cava-scuttlebutt-handshake.jar).
+ * 'org.apache.tuweni:cava-scuttlebutt-handshake' (cava-scuttlebutt-handshake.jar).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.scuttlebutt.handshake;
+package org.apache.tuweni.scuttlebutt.handshake;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/ClientHandler.java b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/ClientHandler.java
index 70e184b..c0e0cc8 100644
--- a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/ClientHandler.java
+++ b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/ClientHandler.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.scuttlebutt.handshake.vertx;
+package org.apache.tuweni.scuttlebutt.handshake.vertx;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 /**
  * Handler managing a stream over SecureScuttlebutt originating from the Vert.x client
diff --git a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/ClientHandlerFactory.java b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/ClientHandlerFactory.java
index f23e5ca..048bd2b 100644
--- a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/ClientHandlerFactory.java
+++ b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/ClientHandlerFactory.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.scuttlebutt.handshake.vertx;
+package org.apache.tuweni.scuttlebutt.handshake.vertx;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.function.Consumer;
 
diff --git a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/SecureScuttlebuttVertxClient.java b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/SecureScuttlebuttVertxClient.java
index 71df380..ffc1492 100644
--- a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/SecureScuttlebuttVertxClient.java
+++ b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/SecureScuttlebuttVertxClient.java
@@ -10,20 +10,20 @@
  * 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 net.consensys.cava.scuttlebutt.handshake.vertx;
-
-
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.concurrent.AsyncCompletion;
-import net.consensys.cava.concurrent.AsyncResult;
-import net.consensys.cava.concurrent.CompletableAsyncResult;
-import net.consensys.cava.crypto.sodium.Signature;
-import net.consensys.cava.scuttlebutt.handshake.HandshakeException;
-import net.consensys.cava.scuttlebutt.handshake.SecureScuttlebuttHandshakeClient;
-import net.consensys.cava.scuttlebutt.handshake.SecureScuttlebuttStreamClient;
-import net.consensys.cava.scuttlebutt.handshake.SecureScuttlebuttStreamServer;
-import net.consensys.cava.scuttlebutt.handshake.StreamException;
+package org.apache.tuweni.scuttlebutt.handshake.vertx;
+
+
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.concurrent.AsyncCompletion;
+import org.apache.tuweni.concurrent.AsyncResult;
+import org.apache.tuweni.concurrent.CompletableAsyncResult;
+import org.apache.tuweni.crypto.sodium.Signature;
+import org.apache.tuweni.scuttlebutt.handshake.HandshakeException;
+import org.apache.tuweni.scuttlebutt.handshake.SecureScuttlebuttHandshakeClient;
+import org.apache.tuweni.scuttlebutt.handshake.SecureScuttlebuttStreamClient;
+import org.apache.tuweni.scuttlebutt.handshake.SecureScuttlebuttStreamServer;
+import org.apache.tuweni.scuttlebutt.handshake.StreamException;
 
 import io.vertx.core.Vertx;
 import io.vertx.core.buffer.Buffer;
diff --git a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/SecureScuttlebuttVertxServer.java b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/SecureScuttlebuttVertxServer.java
index 95249db..fce6768 100644
--- a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/SecureScuttlebuttVertxServer.java
+++ b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/SecureScuttlebuttVertxServer.java
@@ -10,17 +10,17 @@
  * 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 net.consensys.cava.scuttlebutt.handshake.vertx;
-
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.concurrent.AsyncCompletion;
-import net.consensys.cava.concurrent.CompletableAsyncCompletion;
-import net.consensys.cava.crypto.sodium.Signature;
-import net.consensys.cava.scuttlebutt.handshake.HandshakeException;
-import net.consensys.cava.scuttlebutt.handshake.SecureScuttlebuttHandshakeServer;
-import net.consensys.cava.scuttlebutt.handshake.SecureScuttlebuttStreamServer;
-import net.consensys.cava.scuttlebutt.handshake.StreamException;
+package org.apache.tuweni.scuttlebutt.handshake.vertx;
+
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.concurrent.AsyncCompletion;
+import org.apache.tuweni.concurrent.CompletableAsyncCompletion;
+import org.apache.tuweni.crypto.sodium.Signature;
+import org.apache.tuweni.scuttlebutt.handshake.HandshakeException;
+import org.apache.tuweni.scuttlebutt.handshake.SecureScuttlebuttHandshakeServer;
+import org.apache.tuweni.scuttlebutt.handshake.SecureScuttlebuttStreamServer;
+import org.apache.tuweni.scuttlebutt.handshake.StreamException;
 
 import java.net.InetSocketAddress;
 
diff --git a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/ServerHandler.java b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/ServerHandler.java
index 163dbd9..b5a9277 100644
--- a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/ServerHandler.java
+++ b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/ServerHandler.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.scuttlebutt.handshake.vertx;
+package org.apache.tuweni.scuttlebutt.handshake.vertx;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 /**
  * Handler managing a stream over SecureScuttlebutt originating from the Vert.x server
diff --git a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/ServerHandlerFactory.java b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/ServerHandlerFactory.java
index 9528571..e50baa8 100644
--- a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/ServerHandlerFactory.java
+++ b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/ServerHandlerFactory.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.scuttlebutt.handshake.vertx;
+package org.apache.tuweni.scuttlebutt.handshake.vertx;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.function.Consumer;
 
diff --git a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/package-info.java b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/package-info.java
index ae7e59b..ba15361 100644
--- a/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/package-info.java
+++ b/scuttlebutt-handshake/src/main/java/net/consensys/cava/scuttlebutt/handshake/vertx/package-info.java
@@ -6,9 +6,9 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-scuttlebutt-handshake' (cava-scuttlebutt-handshake.jar).
+ * 'org.apache.tuweni:cava-scuttlebutt-handshake' (cava-scuttlebutt-handshake.jar).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.scuttlebutt.handshake.vertx;
+package org.apache.tuweni.scuttlebutt.handshake.vertx;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/scuttlebutt-handshake/src/test/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttHandshakeClientTest.java b/scuttlebutt-handshake/src/test/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttHandshakeClientTest.java
index a0ea4e9..3870ee6 100644
--- a/scuttlebutt-handshake/src/test/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttHandshakeClientTest.java
+++ b/scuttlebutt-handshake/src/test/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttHandshakeClientTest.java
@@ -10,20 +10,20 @@
  * 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 net.consensys.cava.scuttlebutt.handshake;
+package org.apache.tuweni.scuttlebutt.handshake;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.crypto.sodium.SecretBox;
-import net.consensys.cava.crypto.sodium.Signature;
-import net.consensys.cava.crypto.sodium.Sodium;
-import net.consensys.cava.junit.BouncyCastleExtension;
-import net.consensys.cava.scuttlebutt.Identity;
-import net.consensys.cava.scuttlebutt.Invite;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.crypto.sodium.SecretBox;
+import org.apache.tuweni.crypto.sodium.Signature;
+import org.apache.tuweni.crypto.sodium.Sodium;
+import org.apache.tuweni.junit.BouncyCastleExtension;
+import org.apache.tuweni.scuttlebutt.Identity;
+import org.apache.tuweni.scuttlebutt.Invite;
 
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
diff --git a/scuttlebutt-handshake/src/test/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttStreamTest.java b/scuttlebutt-handshake/src/test/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttStreamTest.java
index 2b475c4..93b052c 100644
--- a/scuttlebutt-handshake/src/test/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttStreamTest.java
+++ b/scuttlebutt-handshake/src/test/java/net/consensys/cava/scuttlebutt/handshake/SecureScuttlebuttStreamTest.java
@@ -10,17 +10,17 @@
  * 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 net.consensys.cava.scuttlebutt.handshake;
+package org.apache.tuweni.scuttlebutt.handshake;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.crypto.sodium.SHA256Hash;
-import net.consensys.cava.crypto.sodium.Sodium;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.crypto.sodium.SHA256Hash;
+import org.apache.tuweni.crypto.sodium.Sodium;
 
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
diff --git a/scuttlebutt-handshake/src/test/java/net/consensys/cava/scuttlebutt/handshake/vertx/VertxIntegrationTest.java b/scuttlebutt-handshake/src/test/java/net/consensys/cava/scuttlebutt/handshake/vertx/VertxIntegrationTest.java
index b6eb21b..84f8780 100644
--- a/scuttlebutt-handshake/src/test/java/net/consensys/cava/scuttlebutt/handshake/vertx/VertxIntegrationTest.java
+++ b/scuttlebutt-handshake/src/test/java/net/consensys/cava/scuttlebutt/handshake/vertx/VertxIntegrationTest.java
@@ -10,20 +10,20 @@
  * 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 net.consensys.cava.scuttlebutt.handshake.vertx;
+package org.apache.tuweni.scuttlebutt.handshake.vertx;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.crypto.sodium.Signature;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
-import net.consensys.cava.scuttlebutt.rpc.RPCCodec;
-import net.consensys.cava.scuttlebutt.rpc.RPCFlag;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.crypto.sodium.Signature;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
+import org.apache.tuweni.scuttlebutt.rpc.RPCCodec;
+import org.apache.tuweni.scuttlebutt.rpc.RPCFlag;
 
 import java.io.BufferedWriter;
 import java.io.OutputStreamWriter;
diff --git a/scuttlebutt-rpc/src/main/java/net/consensys/cava/scuttlebutt/rpc/RPCCodec.java b/scuttlebutt-rpc/src/main/java/net/consensys/cava/scuttlebutt/rpc/RPCCodec.java
index 4164deb..bf63217 100644
--- a/scuttlebutt-rpc/src/main/java/net/consensys/cava/scuttlebutt/rpc/RPCCodec.java
+++ b/scuttlebutt-rpc/src/main/java/net/consensys/cava/scuttlebutt/rpc/RPCCodec.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.scuttlebutt.rpc;
+package org.apache.tuweni.scuttlebutt.rpc;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.nio.ByteBuffer;
 import java.nio.charset.StandardCharsets;
diff --git a/scuttlebutt-rpc/src/main/java/net/consensys/cava/scuttlebutt/rpc/RPCFlag.java b/scuttlebutt-rpc/src/main/java/net/consensys/cava/scuttlebutt/rpc/RPCFlag.java
index 0c94b93..3ab2088 100644
--- a/scuttlebutt-rpc/src/main/java/net/consensys/cava/scuttlebutt/rpc/RPCFlag.java
+++ b/scuttlebutt-rpc/src/main/java/net/consensys/cava/scuttlebutt/rpc/RPCFlag.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.scuttlebutt.rpc;
+package org.apache.tuweni.scuttlebutt.rpc;
 
 /**
  * Defines constants for dealing with SecureScuttlebutt RPC flags.
diff --git a/scuttlebutt-rpc/src/main/java/net/consensys/cava/scuttlebutt/rpc/RPCMessage.java b/scuttlebutt-rpc/src/main/java/net/consensys/cava/scuttlebutt/rpc/RPCMessage.java
index 2a4c426..3cb7553 100644
--- a/scuttlebutt-rpc/src/main/java/net/consensys/cava/scuttlebutt/rpc/RPCMessage.java
+++ b/scuttlebutt-rpc/src/main/java/net/consensys/cava/scuttlebutt/rpc/RPCMessage.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.scuttlebutt.rpc;
+package org.apache.tuweni.scuttlebutt.rpc;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.io.IOException;
 
diff --git a/scuttlebutt-rpc/src/test/java/net/consensys/cava/scuttlebutt/rpc/PatchworkIntegrationTest.java b/scuttlebutt-rpc/src/test/java/net/consensys/cava/scuttlebutt/rpc/PatchworkIntegrationTest.java
index 60d6194..4e8ef97 100644
--- a/scuttlebutt-rpc/src/test/java/net/consensys/cava/scuttlebutt/rpc/PatchworkIntegrationTest.java
+++ b/scuttlebutt-rpc/src/test/java/net/consensys/cava/scuttlebutt/rpc/PatchworkIntegrationTest.java
@@ -10,22 +10,22 @@
  * 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 net.consensys.cava.scuttlebutt.rpc;
+package org.apache.tuweni.scuttlebutt.rpc;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.concurrent.AsyncResult;
-import net.consensys.cava.crypto.sodium.Signature;
-import net.consensys.cava.io.Base64;
-import net.consensys.cava.junit.VertxExtension;
-import net.consensys.cava.junit.VertxInstance;
-import net.consensys.cava.scuttlebutt.handshake.vertx.ClientHandler;
-import net.consensys.cava.scuttlebutt.handshake.vertx.SecureScuttlebuttVertxClient;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.concurrent.AsyncResult;
+import org.apache.tuweni.crypto.sodium.Signature;
+import org.apache.tuweni.io.Base64;
+import org.apache.tuweni.junit.VertxExtension;
+import org.apache.tuweni.junit.VertxInstance;
+import org.apache.tuweni.scuttlebutt.handshake.vertx.ClientHandler;
+import org.apache.tuweni.scuttlebutt.handshake.vertx.SecureScuttlebuttVertxClient;
 
 import java.io.BufferedWriter;
 import java.io.File;
diff --git a/scuttlebutt-rpc/src/test/java/net/consensys/cava/scuttlebutt/rpc/RPCEncodingTest.java b/scuttlebutt-rpc/src/test/java/net/consensys/cava/scuttlebutt/rpc/RPCEncodingTest.java
index 2596b38..872118b 100644
--- a/scuttlebutt-rpc/src/test/java/net/consensys/cava/scuttlebutt/rpc/RPCEncodingTest.java
+++ b/scuttlebutt-rpc/src/test/java/net/consensys/cava/scuttlebutt/rpc/RPCEncodingTest.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.scuttlebutt.rpc;
+package org.apache.tuweni.scuttlebutt.rpc;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.nio.charset.StandardCharsets;
 
diff --git a/scuttlebutt-rpc/src/test/java/net/consensys/cava/scuttlebutt/rpc/RPCFlagTest.java b/scuttlebutt-rpc/src/test/java/net/consensys/cava/scuttlebutt/rpc/RPCFlagTest.java
index 0938956..4a50ec1 100644
--- a/scuttlebutt-rpc/src/test/java/net/consensys/cava/scuttlebutt/rpc/RPCFlagTest.java
+++ b/scuttlebutt-rpc/src/test/java/net/consensys/cava/scuttlebutt/rpc/RPCFlagTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.scuttlebutt.rpc;
+package org.apache.tuweni.scuttlebutt.rpc;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git a/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/Ed25519KeyPairIdentity.java b/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/Ed25519KeyPairIdentity.java
index 31d07cf..fcc9173 100644
--- a/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/Ed25519KeyPairIdentity.java
+++ b/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/Ed25519KeyPairIdentity.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.scuttlebutt;
+package org.apache.tuweni.scuttlebutt;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.crypto.sodium.Signature;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.crypto.sodium.Signature;
 
 import java.util.Objects;
 
diff --git a/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/Ed25519PublicKeyIdentity.java b/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/Ed25519PublicKeyIdentity.java
index 80d51fd..300e51a 100644
--- a/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/Ed25519PublicKeyIdentity.java
+++ b/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/Ed25519PublicKeyIdentity.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.scuttlebutt;
+package org.apache.tuweni.scuttlebutt;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.crypto.sodium.Signature;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.crypto.sodium.Signature;
 
 import java.util.Objects;
 
diff --git a/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/Identity.java b/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/Identity.java
index fd4c970..5bcdcce 100644
--- a/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/Identity.java
+++ b/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/Identity.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.scuttlebutt;
+package org.apache.tuweni.scuttlebutt;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.crypto.sodium.Signature;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.crypto.sodium.Signature;
 
 /**
  * A Scuttlebutt identity, backed by a public key.
diff --git a/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/Invite.java b/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/Invite.java
index 257db2b..2b17fcd 100644
--- a/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/Invite.java
+++ b/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/Invite.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.scuttlebutt;
+package org.apache.tuweni.scuttlebutt;
 
-import net.consensys.cava.crypto.sodium.Signature;
+import org.apache.tuweni.crypto.sodium.Signature;
 
 /**
  * An invite code as defined by the Secure Scuttlebutt protocol guide.
diff --git a/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/SECP256K1KeyPairIdentity.java b/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/SECP256K1KeyPairIdentity.java
index df2fa3b..9b11bee 100644
--- a/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/SECP256K1KeyPairIdentity.java
+++ b/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/SECP256K1KeyPairIdentity.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.scuttlebutt;
+package org.apache.tuweni.scuttlebutt;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.crypto.sodium.Signature;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.crypto.sodium.Signature;
 
 import java.util.Objects;
 
diff --git a/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/SECP256K1PublicKeyIdentity.java b/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/SECP256K1PublicKeyIdentity.java
index ebd7797..1868bd9 100644
--- a/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/SECP256K1PublicKeyIdentity.java
+++ b/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/SECP256K1PublicKeyIdentity.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.scuttlebutt;
+package org.apache.tuweni.scuttlebutt;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.crypto.sodium.Signature;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.crypto.sodium.Signature;
 
 import java.util.Objects;
 
diff --git a/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/package-info.java b/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/package-info.java
index 312be37..d440d98 100644
--- a/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/package-info.java
+++ b/scuttlebutt/src/main/java/net/consensys/cava/scuttlebutt/package-info.java
@@ -6,9 +6,9 @@
  *
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-scuttlebutt' (cava-scuttlebutt.jar).
+ * 'org.apache.tuweni:cava-scuttlebutt' (cava-scuttlebutt.jar).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.scuttlebutt;
+package org.apache.tuweni.scuttlebutt;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/scuttlebutt/src/test/java/net/consensys/cava/scuttlebutt/IdentityTest.java b/scuttlebutt/src/test/java/net/consensys/cava/scuttlebutt/IdentityTest.java
index f69a419..036138f 100644
--- a/scuttlebutt/src/test/java/net/consensys/cava/scuttlebutt/IdentityTest.java
+++ b/scuttlebutt/src/test/java/net/consensys/cava/scuttlebutt/IdentityTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.scuttlebutt;
+package org.apache.tuweni.scuttlebutt;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -19,11 +19,11 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.crypto.SECP256K1;
-import net.consensys.cava.crypto.sodium.Signature;
-import net.consensys.cava.crypto.sodium.Sodium;
-import net.consensys.cava.junit.BouncyCastleExtension;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.crypto.SECP256K1;
+import org.apache.tuweni.crypto.sodium.Signature;
+import org.apache.tuweni.crypto.sodium.Sodium;
+import org.apache.tuweni.junit.BouncyCastleExtension;
 
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
diff --git a/scuttlebutt/src/test/java/net/consensys/cava/scuttlebutt/InviteTest.java b/scuttlebutt/src/test/java/net/consensys/cava/scuttlebutt/InviteTest.java
index 201823f..ef7a7c6 100644
--- a/scuttlebutt/src/test/java/net/consensys/cava/scuttlebutt/InviteTest.java
+++ b/scuttlebutt/src/test/java/net/consensys/cava/scuttlebutt/InviteTest.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.scuttlebutt;
+package org.apache.tuweni.scuttlebutt;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import net.consensys.cava.crypto.sodium.Signature;
-import net.consensys.cava.crypto.sodium.Sodium;
+import org.apache.tuweni.crypto.sodium.Signature;
+import org.apache.tuweni.crypto.sodium.Sodium;
 
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
diff --git a/ssz/src/main/java/net/consensys/cava/ssz/ByteBufferSSZWriter.java b/ssz/src/main/java/net/consensys/cava/ssz/ByteBufferSSZWriter.java
index fcaa63e..9de08a1 100644
--- a/ssz/src/main/java/net/consensys/cava/ssz/ByteBufferSSZWriter.java
+++ b/ssz/src/main/java/net/consensys/cava/ssz/ByteBufferSSZWriter.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.ssz;
+package org.apache.tuweni.ssz;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.nio.ByteBuffer;
 
diff --git a/ssz/src/main/java/net/consensys/cava/ssz/BytesSSZReader.java b/ssz/src/main/java/net/consensys/cava/ssz/BytesSSZReader.java
index 7767654..6516d64 100644
--- a/ssz/src/main/java/net/consensys/cava/ssz/BytesSSZReader.java
+++ b/ssz/src/main/java/net/consensys/cava/ssz/BytesSSZReader.java
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.ssz;
+package org.apache.tuweni.ssz;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.nio.ByteOrder.LITTLE_ENDIAN;
 import static java.nio.charset.StandardCharsets.UTF_8;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.units.bigints.UInt256;
-import net.consensys.cava.units.bigints.UInt384;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.units.bigints.UInt256;
+import org.apache.tuweni.units.bigints.UInt384;
 
 import java.math.BigInteger;
 import java.util.ArrayList;
diff --git a/ssz/src/main/java/net/consensys/cava/ssz/BytesSSZWriter.java b/ssz/src/main/java/net/consensys/cava/ssz/BytesSSZWriter.java
index 821f17b..397b358 100644
--- a/ssz/src/main/java/net/consensys/cava/ssz/BytesSSZWriter.java
+++ b/ssz/src/main/java/net/consensys/cava/ssz/BytesSSZWriter.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.ssz;
+package org.apache.tuweni.ssz;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/ssz/src/main/java/net/consensys/cava/ssz/EndOfSSZException.java b/ssz/src/main/java/net/consensys/cava/ssz/EndOfSSZException.java
index e965290..d40bbb8 100644
--- a/ssz/src/main/java/net/consensys/cava/ssz/EndOfSSZException.java
+++ b/ssz/src/main/java/net/consensys/cava/ssz/EndOfSSZException.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.ssz;
+package org.apache.tuweni.ssz;
 
 /**
  * Indicates the end of the SSZ source has been reached unexpectedly.
diff --git a/ssz/src/main/java/net/consensys/cava/ssz/InvalidSSZTypeException.java b/ssz/src/main/java/net/consensys/cava/ssz/InvalidSSZTypeException.java
index 7178687..c6fdc72 100644
--- a/ssz/src/main/java/net/consensys/cava/ssz/InvalidSSZTypeException.java
+++ b/ssz/src/main/java/net/consensys/cava/ssz/InvalidSSZTypeException.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.ssz;
+package org.apache.tuweni.ssz;
 
 /**
  * Indicates that an unexpected type was encountered when decoding SSZ.
diff --git a/ssz/src/main/java/net/consensys/cava/ssz/SSZ.java b/ssz/src/main/java/net/consensys/cava/ssz/SSZ.java
index ef1420c..f1a62af 100644
--- a/ssz/src/main/java/net/consensys/cava/ssz/SSZ.java
+++ b/ssz/src/main/java/net/consensys/cava/ssz/SSZ.java
@@ -10,18 +10,18 @@
  * 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 net.consensys.cava.ssz;
+package org.apache.tuweni.ssz;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.nio.ByteOrder.LITTLE_ENDIAN;
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static java.util.Objects.requireNonNull;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.crypto.Hash;
-import net.consensys.cava.units.bigints.UInt256;
-import net.consensys.cava.units.bigints.UInt384;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.crypto.Hash;
+import org.apache.tuweni.units.bigints.UInt256;
+import org.apache.tuweni.units.bigints.UInt384;
 
 import java.math.BigInteger;
 import java.nio.BufferOverflowException;
diff --git a/ssz/src/main/java/net/consensys/cava/ssz/SSZException.java b/ssz/src/main/java/net/consensys/cava/ssz/SSZException.java
index 8e46fd7..bdc876f 100644
--- a/ssz/src/main/java/net/consensys/cava/ssz/SSZException.java
+++ b/ssz/src/main/java/net/consensys/cava/ssz/SSZException.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.ssz;
+package org.apache.tuweni.ssz;
 
 /**
  * Base type for all SSZ encoding and decoding exceptions.
diff --git a/ssz/src/main/java/net/consensys/cava/ssz/SSZReader.java b/ssz/src/main/java/net/consensys/cava/ssz/SSZReader.java
index 3497149..f82722b 100644
--- a/ssz/src/main/java/net/consensys/cava/ssz/SSZReader.java
+++ b/ssz/src/main/java/net/consensys/cava/ssz/SSZReader.java
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.ssz;
+package org.apache.tuweni.ssz;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.units.bigints.UInt256;
-import net.consensys.cava.units.bigints.UInt384;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.units.bigints.UInt256;
+import org.apache.tuweni.units.bigints.UInt384;
 
 import java.math.BigInteger;
 import java.util.List;
diff --git a/ssz/src/main/java/net/consensys/cava/ssz/SSZWriter.java b/ssz/src/main/java/net/consensys/cava/ssz/SSZWriter.java
index a9026e7..0ee7e82 100644
--- a/ssz/src/main/java/net/consensys/cava/ssz/SSZWriter.java
+++ b/ssz/src/main/java/net/consensys/cava/ssz/SSZWriter.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.ssz;
+package org.apache.tuweni.ssz;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.units.bigints.UInt256;
-import net.consensys.cava.units.bigints.UInt384;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.units.bigints.UInt256;
+import org.apache.tuweni.units.bigints.UInt384;
 
 import java.math.BigInteger;
 import java.util.List;
diff --git a/ssz/src/main/java/net/consensys/cava/ssz/package-info.java b/ssz/src/main/java/net/consensys/cava/ssz/package-info.java
index a70179d..74c66a9 100644
--- a/ssz/src/main/java/net/consensys/cava/ssz/package-info.java
+++ b/ssz/src/main/java/net/consensys/cava/ssz/package-info.java
@@ -5,9 +5,9 @@
  * "https://github.com/ethereum/eth2.0-specs/blob/master/specs/simple-serialize.md">https://github.com/ethereum/eth2.0-specs/blob/master/specs/simple-serialize.md</a>.
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-ssz' (cava-ssz.jar).
+ * 'org.apache.tuweni:cava-ssz' (cava-ssz.jar).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.ssz;
+package org.apache.tuweni.ssz;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/BytesSSZReader.kt b/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/BytesSSZReader.kt
index 42600ec..23a5310 100644
--- a/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/BytesSSZReader.kt
+++ b/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/BytesSSZReader.kt
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.ssz.experimental
+package org.apache.tuweni.ssz.experimental
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.units.bigints.UInt256
-import net.consensys.cava.units.bigints.UInt384
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.units.bigints.UInt256
+import org.apache.tuweni.units.bigints.UInt384
 import java.math.BigInteger
 
 @ExperimentalUnsignedTypes
-internal class BytesSSZReader(private val delegate: net.consensys.cava.ssz.SSZReader) : SSZReader {
+internal class BytesSSZReader(private val delegate: org.apache.tuweni.ssz.SSZReader) : SSZReader {
   override fun readBytes(limit: Int): Bytes =
     delegate.readBytes(limit)
 
diff --git a/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/BytesSSZWriter.kt b/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/BytesSSZWriter.kt
index 8b161bc..218786c 100644
--- a/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/BytesSSZWriter.kt
+++ b/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/BytesSSZWriter.kt
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.ssz.experimental
+package org.apache.tuweni.ssz.experimental
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.units.bigints.UInt256
-import net.consensys.cava.units.bigints.UInt384
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.units.bigints.UInt256
+import org.apache.tuweni.units.bigints.UInt384
 import java.math.BigInteger
 
 @ExperimentalUnsignedTypes
-internal class BytesSSZWriter(private val delegate: net.consensys.cava.ssz.SSZWriter) : SSZWriter {
+internal class BytesSSZWriter(private val delegate: org.apache.tuweni.ssz.SSZWriter) : SSZWriter {
   override fun writeSSZ(value: Bytes) =
     delegate.writeSSZ(value)
 
diff --git a/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/SSZ.kt b/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/SSZ.kt
index a48f275..28ef22d 100644
--- a/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/SSZ.kt
+++ b/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/SSZ.kt
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.ssz.experimental
+package org.apache.tuweni.ssz.experimental
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.ssz.EndOfSSZException
-import net.consensys.cava.ssz.InvalidSSZTypeException
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.ssz.EndOfSSZException
+import org.apache.tuweni.ssz.InvalidSSZTypeException
 import java.nio.BufferOverflowException
 import java.nio.ByteBuffer
 import java.nio.ReadOnlyBufferException
@@ -33,7 +33,7 @@ object SSZ {
    * @param fn A consumer that will be provided with a {@link SSZWriter} that can consume values.
    * @return The SSZ encoding in a {@link Bytes} value.
    */
-  fun encode(fn: (SSZWriter) -> Unit): Bytes = net.consensys.cava.ssz.SSZ.encode { w -> fn(BytesSSZWriter(w)) }
+  fun encode(fn: (SSZWriter) -> Unit): Bytes = org.apache.tuweni.ssz.SSZ.encode { w -> fn(BytesSSZWriter(w)) }
 
   /**
    * Encode values to a {@link ByteBuffer}.
@@ -46,7 +46,7 @@ object SSZ {
    * @throws ReadOnlyBufferException If the provided buffer is read-only.
    */
   fun <T : ByteBuffer> encodeTo(buffer: T, fn: (SSZWriter) -> Unit): T =
-    net.consensys.cava.ssz.SSZ.encodeTo(buffer) { w -> fn(BytesSSZWriter(w)) }
+    org.apache.tuweni.ssz.SSZ.encodeTo(buffer) { w -> fn(BytesSSZWriter(w)) }
 
   /**
    * Encode an unsigned integer to a {@link Bytes} value.
@@ -57,7 +57,7 @@ object SSZ {
    * @throws IllegalArgumentException If the value is too large for the specified {@code bitLength}.
    */
   fun encodeUInt(value: UInt, bitLength: Int): Bytes =
-    net.consensys.cava.ssz.SSZ.encodeULong(value.toLong(), bitLength)
+    org.apache.tuweni.ssz.SSZ.encodeULong(value.toLong(), bitLength)
 
   /**
    * Encode an unsigned long integer to a {@link Bytes} value.
@@ -68,7 +68,7 @@ object SSZ {
    * @throws IllegalArgumentException If the value is too large for the specified {@code bitLength}.
    */
   fun encodeULong(value: ULong, bitLength: Int): Bytes =
-    net.consensys.cava.ssz.SSZ.encodeULong(value.toLong(), bitLength)
+    org.apache.tuweni.ssz.SSZ.encodeULong(value.toLong(), bitLength)
 
   /**
    * Encode an 8-bit unsigned integer to a {@link Bytes} value.
@@ -117,7 +117,7 @@ object SSZ {
    * @return The result from the reading function.
    */
   fun <T> decode(source: Bytes, fn: (SSZReader) -> T): T =
-    net.consensys.cava.ssz.SSZ.decode(source) { r -> fn(BytesSSZReader(r)) }
+    org.apache.tuweni.ssz.SSZ.decode(source) { r -> fn(BytesSSZReader(r)) }
 
   /**
    * Read a SSZ encoded unsigned integer from a {@link Bytes} value.
@@ -130,7 +130,7 @@ object SSZ {
    * @throws EndOfSSZException If there are no more SSZ values to read.
    */
   fun decodeUInt(source: Bytes, bitLength: Int): UInt =
-    net.consensys.cava.ssz.SSZ.decodeUInt(source, bitLength).toUInt()
+    org.apache.tuweni.ssz.SSZ.decodeUInt(source, bitLength).toUInt()
 
   /**
    * Read a SSZ encoded unsigned long integer from a {@link Bytes} value.
@@ -143,7 +143,7 @@ object SSZ {
    * @throws EndOfSSZException If there are no more SSZ values to read.
    */
   fun decodeULong(source: Bytes, bitLength: Int): ULong =
-    net.consensys.cava.ssz.SSZ.decodeULong(source, bitLength).toULong()
+    org.apache.tuweni.ssz.SSZ.decodeULong(source, bitLength).toULong()
 
   /**
    * Read an 8-bit unsigned integer from the SSZ source.
diff --git a/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/SSZReader.kt b/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/SSZReader.kt
index bc0429e..7c0954b 100644
--- a/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/SSZReader.kt
+++ b/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/SSZReader.kt
@@ -10,20 +10,20 @@
  * 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 net.consensys.cava.ssz.experimental
+package org.apache.tuweni.ssz.experimental
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.ssz.EndOfSSZException
-import net.consensys.cava.ssz.InvalidSSZTypeException
-import net.consensys.cava.units.bigints.UInt256
-import net.consensys.cava.units.bigints.UInt384
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.ssz.EndOfSSZException
+import org.apache.tuweni.ssz.InvalidSSZTypeException
+import org.apache.tuweni.units.bigints.UInt256
+import org.apache.tuweni.units.bigints.UInt384
 import java.math.BigInteger
 import java.nio.charset.StandardCharsets.UTF_8
 
 /**
  * A reader for consuming values from an SSZ encoded source.
  */
-// Does not extend net.consensys.cava.ssz.SSZReader (unlike SSZWriter) as the return types vary for the UInt methods.
+// Does not extend org.apache.tuweni.ssz.SSZReader (unlike SSZWriter) as the return types vary for the UInt methods.
 @ExperimentalUnsignedTypes
 interface SSZReader {
 
diff --git a/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/SSZWriter.kt b/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/SSZWriter.kt
index 50adf5d..11b9e9c 100644
--- a/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/SSZWriter.kt
+++ b/ssz/src/main/kotlin/net/consensys/cava/ssz/experimental/SSZWriter.kt
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.ssz.experimental
+package org.apache.tuweni.ssz.experimental
 
-import net.consensys.cava.bytes.Bytes
-import net.consensys.cava.ssz.SSZ
-import net.consensys.cava.units.bigints.UInt256
-import net.consensys.cava.units.bigints.UInt384
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.ssz.SSZ
+import org.apache.tuweni.units.bigints.UInt256
+import org.apache.tuweni.units.bigints.UInt384
 import java.math.BigInteger
 
 @ExperimentalUnsignedTypes
diff --git a/ssz/src/test/java/net/consensys/cava/ssz/ByteBufferWriterTest.java b/ssz/src/test/java/net/consensys/cava/ssz/ByteBufferWriterTest.java
index 11dd3cf..ae9392f 100644
--- a/ssz/src/test/java/net/consensys/cava/ssz/ByteBufferWriterTest.java
+++ b/ssz/src/test/java/net/consensys/cava/ssz/ByteBufferWriterTest.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.ssz;
+package org.apache.tuweni.ssz;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
-import static net.consensys.cava.bytes.Bytes.fromHexString;
+import static org.apache.tuweni.bytes.Bytes.fromHexString;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.units.bigints.UInt256;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.units.bigints.UInt256;
 
 import java.math.BigInteger;
 import java.nio.ByteBuffer;
diff --git a/ssz/src/test/java/net/consensys/cava/ssz/BytesSSZReaderTest.java b/ssz/src/test/java/net/consensys/cava/ssz/BytesSSZReaderTest.java
index 18dfdf5..c2eec4f 100644
--- a/ssz/src/test/java/net/consensys/cava/ssz/BytesSSZReaderTest.java
+++ b/ssz/src/test/java/net/consensys/cava/ssz/BytesSSZReaderTest.java
@@ -10,15 +10,15 @@
  * 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 net.consensys.cava.ssz;
+package org.apache.tuweni.ssz;
 
-import static net.consensys.cava.bytes.Bytes.fromHexString;
+import static org.apache.tuweni.bytes.Bytes.fromHexString;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes48;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes48;
 
 import java.math.BigInteger;
 import java.util.Arrays;
diff --git a/ssz/src/test/java/net/consensys/cava/ssz/BytesSSZWriterTest.java b/ssz/src/test/java/net/consensys/cava/ssz/BytesSSZWriterTest.java
index 399e05d..e0ddf3b 100644
--- a/ssz/src/test/java/net/consensys/cava/ssz/BytesSSZWriterTest.java
+++ b/ssz/src/test/java/net/consensys/cava/ssz/BytesSSZWriterTest.java
@@ -10,17 +10,17 @@
  * 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 net.consensys.cava.ssz;
+package org.apache.tuweni.ssz;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
-import static net.consensys.cava.bytes.Bytes.fromHexString;
+import static org.apache.tuweni.bytes.Bytes.fromHexString;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.units.bigints.UInt256;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.units.bigints.UInt256;
 
 import java.math.BigInteger;
 import java.util.Arrays;
diff --git a/ssz/src/test/java/net/consensys/cava/ssz/HashTreeRootTest.java b/ssz/src/test/java/net/consensys/cava/ssz/HashTreeRootTest.java
index 47cbd15..1ea9ea8 100644
--- a/ssz/src/test/java/net/consensys/cava/ssz/HashTreeRootTest.java
+++ b/ssz/src/test/java/net/consensys/cava/ssz/HashTreeRootTest.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.ssz;
+package org.apache.tuweni.ssz;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.crypto.Hash;
-import net.consensys.cava.junit.BouncyCastleExtension;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.crypto.Hash;
+import org.apache.tuweni.junit.BouncyCastleExtension;
 
 import org.bouncycastle.util.Arrays;
 import org.junit.jupiter.api.Test;
diff --git a/ssz/src/test/kotlin/net/consensys/cava/ssz/experimental/SSZTest.kt b/ssz/src/test/kotlin/net/consensys/cava/ssz/experimental/SSZTest.kt
index c758256..6ec0115 100644
--- a/ssz/src/test/kotlin/net/consensys/cava/ssz/experimental/SSZTest.kt
+++ b/ssz/src/test/kotlin/net/consensys/cava/ssz/experimental/SSZTest.kt
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.ssz.experimental
+package org.apache.tuweni.ssz.experimental
 
-import net.consensys.cava.bytes.Bytes.fromHexString
+import org.apache.tuweni.bytes.Bytes.fromHexString
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Test
 
diff --git a/toml/README.md b/toml/README.md
index 8c1513f..9d59977 100644
--- a/toml/README.md
+++ b/toml/README.md
@@ -30,19 +30,19 @@ It can also be included independently, using the cava-toml jar, which is publish
 With Maven:
 ```
 <dependency>
-  <groupId>net.consensys.cava</groupId>
+  <groupId>org.apache.tuweni</groupId>
   <artifactId>cava-toml</artifactId>
   <version>0.6.0</version>
 </dependency>
 ```
 
-With Gradle: `compile 'net.consensys.cava:cava-toml:0.6.0'`
+With Gradle: `compile 'org.apache.tuweni:cava-toml:0.6.0'`
 
 ## Links
 
 - [GitHub project](https://github.com/consensys/cava)
 - [Online Java documentation](https://consensys.github.io/cava/docs/java/latest/net/consensys/cava/toml/package-summary.html)
-- [Online Kotlin documentation](https://consensys.github.io/cava/docs/kotlin/latest/cava/net.consensys.cava.toml/index.html)
+- [Online Kotlin documentation](https://consensys.github.io/cava/docs/kotlin/latest/cava/org.apache.tuweni.toml/index.html)
 - [Issue tracker: Report a defect or feature request](https://github.com/google/cava/issues/new)
 - [StackOverflow: Ask "how-to" and "why-didn't-it-work" questions](https://stackoverflow.com/questions/ask?tags=cava+toml+java)
 - [cava-discuss: For open-ended questions and discussion](http://groups.google.com/group/cava-discuss)
diff --git a/toml/src/main/antlr/net/consensys/cava/toml/internal/TomlLexer.g4 b/toml/src/main/antlr/net/consensys/cava/toml/internal/TomlLexer.g4
index 327c2ab..875a604 100644
--- a/toml/src/main/antlr/net/consensys/cava/toml/internal/TomlLexer.g4
+++ b/toml/src/main/antlr/net/consensys/cava/toml/internal/TomlLexer.g4
@@ -5,7 +5,7 @@ channels { COMMENTS, WHITESPACE }
 tokens { TripleQuotationMark, TripleApostrophe, StringChar, Comma }
 
 @header {
-package net.consensys.cava.toml.internal;
+package org.apache.tuweni.toml.internal;
 }
 
 @members {
diff --git a/toml/src/main/antlr/net/consensys/cava/toml/internal/TomlParser.g4 b/toml/src/main/antlr/net/consensys/cava/toml/internal/TomlParser.g4
index f9dc122..810b75a 100644
--- a/toml/src/main/antlr/net/consensys/cava/toml/internal/TomlParser.g4
+++ b/toml/src/main/antlr/net/consensys/cava/toml/internal/TomlParser.g4
@@ -3,7 +3,7 @@ parser grammar TomlParser;
 options { tokenVocab=TomlLexer; }
 
 @header {
-package net.consensys.cava.toml.internal;
+package org.apache.tuweni.toml.internal;
 }
 
 // Document parser
diff --git a/toml/src/main/java/net/consensys/cava/toml/AccumulatingErrorListener.java b/toml/src/main/java/net/consensys/cava/toml/AccumulatingErrorListener.java
index d261128..05dc52b 100644
--- a/toml/src/main/java/net/consensys/cava/toml/AccumulatingErrorListener.java
+++ b/toml/src/main/java/net/consensys/cava/toml/AccumulatingErrorListener.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
-import static net.consensys.cava.toml.TomlPosition.positionAt;
+import static org.apache.tuweni.toml.TomlPosition.positionAt;
 
-import net.consensys.cava.toml.internal.TomlLexer;
+import org.apache.tuweni.toml.internal.TomlLexer;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/toml/src/main/java/net/consensys/cava/toml/ArrayVisitor.java b/toml/src/main/java/net/consensys/cava/toml/ArrayVisitor.java
index e207599..bd9cb0d 100644
--- a/toml/src/main/java/net/consensys/cava/toml/ArrayVisitor.java
+++ b/toml/src/main/java/net/consensys/cava/toml/ArrayVisitor.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
-import net.consensys.cava.toml.internal.TomlParser.ArrayValueContext;
-import net.consensys.cava.toml.internal.TomlParser.ValContext;
-import net.consensys.cava.toml.internal.TomlParserBaseVisitor;
+import org.apache.tuweni.toml.internal.TomlParser.ArrayValueContext;
+import org.apache.tuweni.toml.internal.TomlParser.ValContext;
+import org.apache.tuweni.toml.internal.TomlParserBaseVisitor;
 
 final class ArrayVisitor extends TomlParserBaseVisitor<MutableTomlArray> {
 
diff --git a/toml/src/main/java/net/consensys/cava/toml/ErrorReporter.java b/toml/src/main/java/net/consensys/cava/toml/ErrorReporter.java
index 6562dde..458e000 100644
--- a/toml/src/main/java/net/consensys/cava/toml/ErrorReporter.java
+++ b/toml/src/main/java/net/consensys/cava/toml/ErrorReporter.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
 interface ErrorReporter {
   void reportError(TomlParseError error);
diff --git a/toml/src/main/java/net/consensys/cava/toml/InlineTableVisitor.java b/toml/src/main/java/net/consensys/cava/toml/InlineTableVisitor.java
index 0d8febb..22de053 100644
--- a/toml/src/main/java/net/consensys/cava/toml/InlineTableVisitor.java
+++ b/toml/src/main/java/net/consensys/cava/toml/InlineTableVisitor.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
-import net.consensys.cava.toml.internal.TomlParser.KeyContext;
-import net.consensys.cava.toml.internal.TomlParser.KeyvalContext;
-import net.consensys.cava.toml.internal.TomlParser.ValContext;
-import net.consensys.cava.toml.internal.TomlParserBaseVisitor;
+import org.apache.tuweni.toml.internal.TomlParser.KeyContext;
+import org.apache.tuweni.toml.internal.TomlParser.KeyvalContext;
+import org.apache.tuweni.toml.internal.TomlParser.ValContext;
+import org.apache.tuweni.toml.internal.TomlParserBaseVisitor;
 
 import java.util.List;
 
diff --git a/toml/src/main/java/net/consensys/cava/toml/JsonSerializer.java b/toml/src/main/java/net/consensys/cava/toml/JsonSerializer.java
index f404da8..1b1d59f 100644
--- a/toml/src/main/java/net/consensys/cava/toml/JsonSerializer.java
+++ b/toml/src/main/java/net/consensys/cava/toml/JsonSerializer.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
 import static java.util.Objects.requireNonNull;
-import static net.consensys.cava.toml.TomlType.typeFor;
+import static org.apache.tuweni.toml.TomlType.typeFor;
 
 import java.io.IOException;
 import java.util.Collections;
diff --git a/toml/src/main/java/net/consensys/cava/toml/KeyVisitor.java b/toml/src/main/java/net/consensys/cava/toml/KeyVisitor.java
index 980c58a..2cc1d33 100644
--- a/toml/src/main/java/net/consensys/cava/toml/KeyVisitor.java
+++ b/toml/src/main/java/net/consensys/cava/toml/KeyVisitor.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
-import net.consensys.cava.toml.internal.TomlParser.QuotedKeyContext;
-import net.consensys.cava.toml.internal.TomlParser.UnquotedKeyContext;
-import net.consensys.cava.toml.internal.TomlParserBaseVisitor;
+import org.apache.tuweni.toml.internal.TomlParser.QuotedKeyContext;
+import org.apache.tuweni.toml.internal.TomlParser.UnquotedKeyContext;
+import org.apache.tuweni.toml.internal.TomlParserBaseVisitor;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/toml/src/main/java/net/consensys/cava/toml/LineVisitor.java b/toml/src/main/java/net/consensys/cava/toml/LineVisitor.java
index 2660ea0..71cffc0 100644
--- a/toml/src/main/java/net/consensys/cava/toml/LineVisitor.java
+++ b/toml/src/main/java/net/consensys/cava/toml/LineVisitor.java
@@ -10,16 +10,16 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
-import static net.consensys.cava.toml.TomlVersion.V0_4_0;
+import static org.apache.tuweni.toml.TomlVersion.V0_4_0;
 
-import net.consensys.cava.toml.internal.TomlParser.ArrayTableContext;
-import net.consensys.cava.toml.internal.TomlParser.KeyContext;
-import net.consensys.cava.toml.internal.TomlParser.KeyvalContext;
-import net.consensys.cava.toml.internal.TomlParser.StandardTableContext;
-import net.consensys.cava.toml.internal.TomlParser.ValContext;
-import net.consensys.cava.toml.internal.TomlParserBaseVisitor;
+import org.apache.tuweni.toml.internal.TomlParser.ArrayTableContext;
+import org.apache.tuweni.toml.internal.TomlParser.KeyContext;
+import org.apache.tuweni.toml.internal.TomlParser.KeyvalContext;
+import org.apache.tuweni.toml.internal.TomlParser.StandardTableContext;
+import org.apache.tuweni.toml.internal.TomlParser.ValContext;
+import org.apache.tuweni.toml.internal.TomlParserBaseVisitor;
 
 import java.util.List;
 
diff --git a/toml/src/main/java/net/consensys/cava/toml/LocalDateVisitor.java b/toml/src/main/java/net/consensys/cava/toml/LocalDateVisitor.java
index 8f1e0cf..3dcab41 100644
--- a/toml/src/main/java/net/consensys/cava/toml/LocalDateVisitor.java
+++ b/toml/src/main/java/net/consensys/cava/toml/LocalDateVisitor.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
-import net.consensys.cava.toml.internal.TomlParser.DayContext;
-import net.consensys.cava.toml.internal.TomlParser.MonthContext;
-import net.consensys.cava.toml.internal.TomlParser.YearContext;
-import net.consensys.cava.toml.internal.TomlParserBaseVisitor;
+import org.apache.tuweni.toml.internal.TomlParser.DayContext;
+import org.apache.tuweni.toml.internal.TomlParser.MonthContext;
+import org.apache.tuweni.toml.internal.TomlParser.YearContext;
+import org.apache.tuweni.toml.internal.TomlParserBaseVisitor;
 
 import java.time.DateTimeException;
 import java.time.LocalDate;
diff --git a/toml/src/main/java/net/consensys/cava/toml/LocalTimeVisitor.java b/toml/src/main/java/net/consensys/cava/toml/LocalTimeVisitor.java
index 365e88d..7a38523 100644
--- a/toml/src/main/java/net/consensys/cava/toml/LocalTimeVisitor.java
+++ b/toml/src/main/java/net/consensys/cava/toml/LocalTimeVisitor.java
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
-import net.consensys.cava.toml.internal.TomlParser.HourContext;
-import net.consensys.cava.toml.internal.TomlParser.MinuteContext;
-import net.consensys.cava.toml.internal.TomlParser.SecondContext;
-import net.consensys.cava.toml.internal.TomlParser.SecondFractionContext;
-import net.consensys.cava.toml.internal.TomlParserBaseVisitor;
+import org.apache.tuweni.toml.internal.TomlParser.HourContext;
+import org.apache.tuweni.toml.internal.TomlParser.MinuteContext;
+import org.apache.tuweni.toml.internal.TomlParser.SecondContext;
+import org.apache.tuweni.toml.internal.TomlParser.SecondFractionContext;
+import org.apache.tuweni.toml.internal.TomlParserBaseVisitor;
 
 import java.time.LocalTime;
 
diff --git a/toml/src/main/java/net/consensys/cava/toml/MutableTomlArray.java b/toml/src/main/java/net/consensys/cava/toml/MutableTomlArray.java
index f2b8ca2..72a9cdb 100644
--- a/toml/src/main/java/net/consensys/cava/toml/MutableTomlArray.java
+++ b/toml/src/main/java/net/consensys/cava/toml/MutableTomlArray.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
 import static java.util.Objects.requireNonNull;
-import static net.consensys.cava.toml.TomlType.typeFor;
-import static net.consensys.cava.toml.TomlType.typeNameFor;
+import static org.apache.tuweni.toml.TomlType.typeFor;
+import static org.apache.tuweni.toml.TomlType.typeNameFor;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/toml/src/main/java/net/consensys/cava/toml/MutableTomlTable.java b/toml/src/main/java/net/consensys/cava/toml/MutableTomlTable.java
index b0651a5..b3e1f4d 100644
--- a/toml/src/main/java/net/consensys/cava/toml/MutableTomlTable.java
+++ b/toml/src/main/java/net/consensys/cava/toml/MutableTomlTable.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
-import static net.consensys.cava.toml.Parser.parseDottedKey;
-import static net.consensys.cava.toml.TomlPosition.positionAt;
-import static net.consensys.cava.toml.TomlType.typeFor;
+import static org.apache.tuweni.toml.Parser.parseDottedKey;
+import static org.apache.tuweni.toml.TomlPosition.positionAt;
+import static org.apache.tuweni.toml.TomlType.typeFor;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/toml/src/main/java/net/consensys/cava/toml/Parser.java b/toml/src/main/java/net/consensys/cava/toml/Parser.java
index 4cc07c4..24de490 100644
--- a/toml/src/main/java/net/consensys/cava/toml/Parser.java
+++ b/toml/src/main/java/net/consensys/cava/toml/Parser.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
-import net.consensys.cava.toml.internal.TomlLexer;
-import net.consensys.cava.toml.internal.TomlParser;
+import org.apache.tuweni.toml.internal.TomlLexer;
+import org.apache.tuweni.toml.internal.TomlParser;
 
 import java.util.List;
 import java.util.Map;
diff --git a/toml/src/main/java/net/consensys/cava/toml/QuotedStringVisitor.java b/toml/src/main/java/net/consensys/cava/toml/QuotedStringVisitor.java
index 410e378..ff55658 100644
--- a/toml/src/main/java/net/consensys/cava/toml/QuotedStringVisitor.java
+++ b/toml/src/main/java/net/consensys/cava/toml/QuotedStringVisitor.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
-import net.consensys.cava.toml.internal.TomlParser.BasicUnescapedContext;
-import net.consensys.cava.toml.internal.TomlParser.EscapedContext;
-import net.consensys.cava.toml.internal.TomlParser.LiteralBodyContext;
-import net.consensys.cava.toml.internal.TomlParser.MlBasicUnescapedContext;
-import net.consensys.cava.toml.internal.TomlParser.MlLiteralBodyContext;
-import net.consensys.cava.toml.internal.TomlParserBaseVisitor;
+import org.apache.tuweni.toml.internal.TomlParser.BasicUnescapedContext;
+import org.apache.tuweni.toml.internal.TomlParser.EscapedContext;
+import org.apache.tuweni.toml.internal.TomlParser.LiteralBodyContext;
+import org.apache.tuweni.toml.internal.TomlParser.MlBasicUnescapedContext;
+import org.apache.tuweni.toml.internal.TomlParser.MlLiteralBodyContext;
+import org.apache.tuweni.toml.internal.TomlParserBaseVisitor;
 
 final class QuotedStringVisitor extends TomlParserBaseVisitor<StringBuilder> {
 
diff --git a/toml/src/main/java/net/consensys/cava/toml/TokenName.java b/toml/src/main/java/net/consensys/cava/toml/TokenName.java
index 32dc131..744a8fd 100644
--- a/toml/src/main/java/net/consensys/cava/toml/TokenName.java
+++ b/toml/src/main/java/net/consensys/cava/toml/TokenName.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
-import net.consensys.cava.toml.internal.TomlLexer;
+import org.apache.tuweni.toml.internal.TomlLexer;
 
 import java.util.Arrays;
 import java.util.BitSet;
diff --git a/toml/src/main/java/net/consensys/cava/toml/Toml.java b/toml/src/main/java/net/consensys/cava/toml/Toml.java
index e0205f1..d4b2def 100644
--- a/toml/src/main/java/net/consensys/cava/toml/Toml.java
+++ b/toml/src/main/java/net/consensys/cava/toml/Toml.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
 import static java.util.Objects.requireNonNull;
 
diff --git a/toml/src/main/java/net/consensys/cava/toml/TomlArray.java b/toml/src/main/java/net/consensys/cava/toml/TomlArray.java
index b776ca2..94c92c5 100644
--- a/toml/src/main/java/net/consensys/cava/toml/TomlArray.java
+++ b/toml/src/main/java/net/consensys/cava/toml/TomlArray.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
-import static net.consensys.cava.toml.TomlType.typeNameFor;
+import static org.apache.tuweni.toml.TomlType.typeNameFor;
 
 import java.io.IOException;
 import java.io.UncheckedIOException;
diff --git a/toml/src/main/java/net/consensys/cava/toml/TomlInvalidTypeException.java b/toml/src/main/java/net/consensys/cava/toml/TomlInvalidTypeException.java
index b9a7b1e..d62e685 100644
--- a/toml/src/main/java/net/consensys/cava/toml/TomlInvalidTypeException.java
+++ b/toml/src/main/java/net/consensys/cava/toml/TomlInvalidTypeException.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
 /**
  * An exception thrown when an invalid type is encountered.
diff --git a/toml/src/main/java/net/consensys/cava/toml/TomlParseError.java b/toml/src/main/java/net/consensys/cava/toml/TomlParseError.java
index 91fbf22..933872a 100644
--- a/toml/src/main/java/net/consensys/cava/toml/TomlParseError.java
+++ b/toml/src/main/java/net/consensys/cava/toml/TomlParseError.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
 /**
  * An error that occurred while parsing.
diff --git a/toml/src/main/java/net/consensys/cava/toml/TomlParseResult.java b/toml/src/main/java/net/consensys/cava/toml/TomlParseResult.java
index 5055ed7..30c0449 100644
--- a/toml/src/main/java/net/consensys/cava/toml/TomlParseResult.java
+++ b/toml/src/main/java/net/consensys/cava/toml/TomlParseResult.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
 import java.util.List;
 
diff --git a/toml/src/main/java/net/consensys/cava/toml/TomlPosition.java b/toml/src/main/java/net/consensys/cava/toml/TomlPosition.java
index 077df50..3f8d796 100644
--- a/toml/src/main/java/net/consensys/cava/toml/TomlPosition.java
+++ b/toml/src/main/java/net/consensys/cava/toml/TomlPosition.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
 import org.antlr.v4.runtime.ParserRuleContext;
 import org.antlr.v4.runtime.Token;
diff --git a/toml/src/main/java/net/consensys/cava/toml/TomlTable.java b/toml/src/main/java/net/consensys/cava/toml/TomlTable.java
index 2543366..72e482c 100644
--- a/toml/src/main/java/net/consensys/cava/toml/TomlTable.java
+++ b/toml/src/main/java/net/consensys/cava/toml/TomlTable.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
 import static java.util.Objects.requireNonNull;
-import static net.consensys.cava.toml.Parser.parseDottedKey;
-import static net.consensys.cava.toml.Toml.joinKeyPath;
-import static net.consensys.cava.toml.TomlType.typeNameFor;
+import static org.apache.tuweni.toml.Parser.parseDottedKey;
+import static org.apache.tuweni.toml.Toml.joinKeyPath;
+import static org.apache.tuweni.toml.TomlType.typeNameFor;
 
 import java.io.IOException;
 import java.io.UncheckedIOException;
diff --git a/toml/src/main/java/net/consensys/cava/toml/TomlType.java b/toml/src/main/java/net/consensys/cava/toml/TomlType.java
index 0ca68cf..a77071e 100644
--- a/toml/src/main/java/net/consensys/cava/toml/TomlType.java
+++ b/toml/src/main/java/net/consensys/cava/toml/TomlType.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
 import java.time.LocalDate;
 import java.time.LocalDateTime;
diff --git a/toml/src/main/java/net/consensys/cava/toml/TomlVersion.java b/toml/src/main/java/net/consensys/cava/toml/TomlVersion.java
index 307e807..d360aa9 100644
--- a/toml/src/main/java/net/consensys/cava/toml/TomlVersion.java
+++ b/toml/src/main/java/net/consensys/cava/toml/TomlVersion.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
 import javax.annotation.Nullable;
 
diff --git a/toml/src/main/java/net/consensys/cava/toml/ValueVisitor.java b/toml/src/main/java/net/consensys/cava/toml/ValueVisitor.java
index afd0e88..3a51f68 100644
--- a/toml/src/main/java/net/consensys/cava/toml/ValueVisitor.java
+++ b/toml/src/main/java/net/consensys/cava/toml/ValueVisitor.java
@@ -10,27 +10,27 @@
  * 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 net.consensys.cava.toml;
-
-import net.consensys.cava.toml.internal.TomlParser.ArrayContext;
-import net.consensys.cava.toml.internal.TomlParser.ArrayValuesContext;
-import net.consensys.cava.toml.internal.TomlParser.BinIntContext;
-import net.consensys.cava.toml.internal.TomlParser.DecIntContext;
-import net.consensys.cava.toml.internal.TomlParser.FalseBoolContext;
-import net.consensys.cava.toml.internal.TomlParser.HexIntContext;
-import net.consensys.cava.toml.internal.TomlParser.InlineTableContext;
-import net.consensys.cava.toml.internal.TomlParser.InlineTableValuesContext;
-import net.consensys.cava.toml.internal.TomlParser.LocalDateContext;
-import net.consensys.cava.toml.internal.TomlParser.LocalDateTimeContext;
-import net.consensys.cava.toml.internal.TomlParser.LocalTimeContext;
-import net.consensys.cava.toml.internal.TomlParser.OctIntContext;
-import net.consensys.cava.toml.internal.TomlParser.OffsetDateTimeContext;
-import net.consensys.cava.toml.internal.TomlParser.RegularFloatContext;
-import net.consensys.cava.toml.internal.TomlParser.RegularFloatInfContext;
-import net.consensys.cava.toml.internal.TomlParser.RegularFloatNaNContext;
-import net.consensys.cava.toml.internal.TomlParser.StringContext;
-import net.consensys.cava.toml.internal.TomlParser.TrueBoolContext;
-import net.consensys.cava.toml.internal.TomlParserBaseVisitor;
+package org.apache.tuweni.toml;
+
+import org.apache.tuweni.toml.internal.TomlParser.ArrayContext;
+import org.apache.tuweni.toml.internal.TomlParser.ArrayValuesContext;
+import org.apache.tuweni.toml.internal.TomlParser.BinIntContext;
+import org.apache.tuweni.toml.internal.TomlParser.DecIntContext;
+import org.apache.tuweni.toml.internal.TomlParser.FalseBoolContext;
+import org.apache.tuweni.toml.internal.TomlParser.HexIntContext;
+import org.apache.tuweni.toml.internal.TomlParser.InlineTableContext;
+import org.apache.tuweni.toml.internal.TomlParser.InlineTableValuesContext;
+import org.apache.tuweni.toml.internal.TomlParser.LocalDateContext;
+import org.apache.tuweni.toml.internal.TomlParser.LocalDateTimeContext;
+import org.apache.tuweni.toml.internal.TomlParser.LocalTimeContext;
+import org.apache.tuweni.toml.internal.TomlParser.OctIntContext;
+import org.apache.tuweni.toml.internal.TomlParser.OffsetDateTimeContext;
+import org.apache.tuweni.toml.internal.TomlParser.RegularFloatContext;
+import org.apache.tuweni.toml.internal.TomlParser.RegularFloatInfContext;
+import org.apache.tuweni.toml.internal.TomlParser.RegularFloatNaNContext;
+import org.apache.tuweni.toml.internal.TomlParser.StringContext;
+import org.apache.tuweni.toml.internal.TomlParser.TrueBoolContext;
+import org.apache.tuweni.toml.internal.TomlParserBaseVisitor;
 
 import java.time.LocalDate;
 import java.time.LocalDateTime;
diff --git a/toml/src/main/java/net/consensys/cava/toml/ZoneOffsetVisitor.java b/toml/src/main/java/net/consensys/cava/toml/ZoneOffsetVisitor.java
index 2725439..882ee1f 100644
--- a/toml/src/main/java/net/consensys/cava/toml/ZoneOffsetVisitor.java
+++ b/toml/src/main/java/net/consensys/cava/toml/ZoneOffsetVisitor.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
-import net.consensys.cava.toml.internal.TomlParser.HourOffsetContext;
-import net.consensys.cava.toml.internal.TomlParser.MinuteOffsetContext;
-import net.consensys.cava.toml.internal.TomlParserBaseVisitor;
+import org.apache.tuweni.toml.internal.TomlParser.HourOffsetContext;
+import org.apache.tuweni.toml.internal.TomlParser.MinuteOffsetContext;
+import org.apache.tuweni.toml.internal.TomlParserBaseVisitor;
 
 import java.time.DateTimeException;
 import java.time.ZoneOffset;
diff --git a/toml/src/main/java/net/consensys/cava/toml/package-info.java b/toml/src/main/java/net/consensys/cava/toml/package-info.java
index c447812..cf51f82 100644
--- a/toml/src/main/java/net/consensys/cava/toml/package-info.java
+++ b/toml/src/main/java/net/consensys/cava/toml/package-info.java
@@ -5,9 +5,9 @@
  * <a href="https://github.com/toml-lang/toml/">https://github.com/toml-lang/toml/</a>.
  * <p>
  * These classes are included in the standard Cava distribution, or separately when using the gradle dependency
- * 'net.consensys.cava:cava-toml' (cava-toml.jar).
+ * 'org.apache.tuweni:cava-toml' (cava-toml.jar).
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/toml/src/test/java/net/consensys/cava/toml/MutableTomlArrayTest.java b/toml/src/test/java/net/consensys/cava/toml/MutableTomlArrayTest.java
index ee120eb..a8c4726 100644
--- a/toml/src/test/java/net/consensys/cava/toml/MutableTomlArrayTest.java
+++ b/toml/src/test/java/net/consensys/cava/toml/MutableTomlArrayTest.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
-import static net.consensys.cava.toml.TomlPosition.positionAt;
+import static org.apache.tuweni.toml.TomlPosition.positionAt;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertThrows;
diff --git a/toml/src/test/java/net/consensys/cava/toml/MutableTomlTableTest.java b/toml/src/test/java/net/consensys/cava/toml/MutableTomlTableTest.java
index 3012a70..e99908c 100644
--- a/toml/src/test/java/net/consensys/cava/toml/MutableTomlTableTest.java
+++ b/toml/src/test/java/net/consensys/cava/toml/MutableTomlTableTest.java
@@ -10,9 +10,9 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
-import static net.consensys.cava.toml.TomlPosition.positionAt;
+import static org.apache.tuweni.toml.TomlPosition.positionAt;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
diff --git a/toml/src/test/java/net/consensys/cava/toml/TokenNameTest.java b/toml/src/test/java/net/consensys/cava/toml/TokenNameTest.java
index 56b43a9..2150abf 100644
--- a/toml/src/test/java/net/consensys/cava/toml/TokenNameTest.java
+++ b/toml/src/test/java/net/consensys/cava/toml/TokenNameTest.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import net.consensys.cava.toml.internal.TomlLexer;
+import org.apache.tuweni.toml.internal.TomlLexer;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/toml/src/test/java/net/consensys/cava/toml/TomlTest.java b/toml/src/test/java/net/consensys/cava/toml/TomlTest.java
index 0ebe81c..a240af3 100644
--- a/toml/src/test/java/net/consensys/cava/toml/TomlTest.java
+++ b/toml/src/test/java/net/consensys/cava/toml/TomlTest.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.toml;
+package org.apache.tuweni.toml;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/BaseUInt256Value.java b/units/src/main/java/net/consensys/cava/units/bigints/BaseUInt256Value.java
index 7ad087a..f5720d2 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/BaseUInt256Value.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/BaseUInt256Value.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 import static java.util.Objects.requireNonNull;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
 
 import java.math.BigInteger;
 import java.util.function.Function;
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/BaseUInt384Value.java b/units/src/main/java/net/consensys/cava/units/bigints/BaseUInt384Value.java
index 7972dbf..ff27cde 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/BaseUInt384Value.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/BaseUInt384Value.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 import static java.util.Objects.requireNonNull;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes48;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes48;
 
 import java.math.BigInteger;
 import java.util.function.Function;
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/BaseUInt64Value.java b/units/src/main/java/net/consensys/cava/units/bigints/BaseUInt64Value.java
index 37c5664..39afc45 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/BaseUInt64Value.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/BaseUInt64Value.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 import static java.util.Objects.requireNonNull;
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.math.BigInteger;
 import java.util.function.Function;
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/UInt256.java b/units/src/main/java/net/consensys/cava/units/bigints/UInt256.java
index f8d008a..476c0fd 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/UInt256.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/UInt256.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
-import net.consensys.cava.bytes.MutableBytes;
-import net.consensys.cava.bytes.MutableBytes32;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.bytes.MutableBytes;
+import org.apache.tuweni.bytes.MutableBytes32;
 
 import java.math.BigInteger;
 import java.util.Arrays;
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/UInt256Domain.java b/units/src/main/java/net/consensys/cava/units/bigints/UInt256Domain.java
index 78710d1..10800f5 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/UInt256Domain.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/UInt256Domain.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 import com.google.common.collect.DiscreteDomain;
 
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/UInt256Value.java b/units/src/main/java/net/consensys/cava/units/bigints/UInt256Value.java
index 1a2f7a7..cf1bad0 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/UInt256Value.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/UInt256Value.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes32;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes32;
 
 import java.math.BigInteger;
 
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/UInt256ValueDomain.java b/units/src/main/java/net/consensys/cava/units/bigints/UInt256ValueDomain.java
index bea5b82..47f88b3 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/UInt256ValueDomain.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/UInt256ValueDomain.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 import java.util.function.Function;
 
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/UInt256s.java b/units/src/main/java/net/consensys/cava/units/bigints/UInt256s.java
index 1a2a0d5..2173390 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/UInt256s.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/UInt256s.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 /** Static utility methods on UInt256 values. */
 public final class UInt256s {
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/UInt384.java b/units/src/main/java/net/consensys/cava/units/bigints/UInt384.java
index 1909fea..62b0983 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/UInt384.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/UInt384.java
@@ -10,14 +10,14 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes48;
-import net.consensys.cava.bytes.MutableBytes;
-import net.consensys.cava.bytes.MutableBytes48;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes48;
+import org.apache.tuweni.bytes.MutableBytes;
+import org.apache.tuweni.bytes.MutableBytes48;
 
 import java.math.BigInteger;
 import java.util.Arrays;
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/UInt384Domain.java b/units/src/main/java/net/consensys/cava/units/bigints/UInt384Domain.java
index 872ae14..5c2287f 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/UInt384Domain.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/UInt384Domain.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 import com.google.common.collect.DiscreteDomain;
 
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/UInt384Value.java b/units/src/main/java/net/consensys/cava/units/bigints/UInt384Value.java
index dcc9da3..b0b74a8 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/UInt384Value.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/UInt384Value.java
@@ -10,11 +10,11 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.Bytes48;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes48;
 
 import java.math.BigInteger;
 
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/UInt384ValueDomain.java b/units/src/main/java/net/consensys/cava/units/bigints/UInt384ValueDomain.java
index 217f36c..a5fb1bb 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/UInt384ValueDomain.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/UInt384ValueDomain.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 import java.util.function.Function;
 
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/UInt384s.java b/units/src/main/java/net/consensys/cava/units/bigints/UInt384s.java
index 6d4788e..828ce45 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/UInt384s.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/UInt384s.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 /** Static utility methods on UInt384 values. */
 public final class UInt384s {
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/UInt64.java b/units/src/main/java/net/consensys/cava/units/bigints/UInt64.java
index 78d58c3..9577e08 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/UInt64.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/UInt64.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.MutableBytes;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.MutableBytes;
 
 import java.math.BigInteger;
 
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/UInt64Domain.java b/units/src/main/java/net/consensys/cava/units/bigints/UInt64Domain.java
index cbf8fc1..6734fc6 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/UInt64Domain.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/UInt64Domain.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 import com.google.common.collect.DiscreteDomain;
 
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/UInt64Value.java b/units/src/main/java/net/consensys/cava/units/bigints/UInt64Value.java
index e9e5551..d8b71e9 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/UInt64Value.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/UInt64Value.java
@@ -10,10 +10,10 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 
-import net.consensys.cava.bytes.Bytes;
+import org.apache.tuweni.bytes.Bytes;
 
 import java.math.BigInteger;
 
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/UInt64ValueDomain.java b/units/src/main/java/net/consensys/cava/units/bigints/UInt64ValueDomain.java
index f3f9d22..3025494 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/UInt64ValueDomain.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/UInt64ValueDomain.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 import java.util.function.Function;
 
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/UInt64s.java b/units/src/main/java/net/consensys/cava/units/bigints/UInt64s.java
index 18e19e8..b1648e1 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/UInt64s.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/UInt64s.java
@@ -10,7 +10,7 @@
  * 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 net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 /** Static utility methods on UInt64 values. */
 public final class UInt64s {
diff --git a/units/src/main/java/net/consensys/cava/units/bigints/package-info.java b/units/src/main/java/net/consensys/cava/units/bigints/package-info.java
index 5350331..cd26027 100644
--- a/units/src/main/java/net/consensys/cava/units/bigints/package-info.java
+++ b/units/src/main/java/net/consensys/cava/units/bigints/package-info.java
@@ -2,6 +2,6 @@
  * Classes and utilities for working with 256 bit integers.
  */
 @ParametersAreNonnullByDefault
-package net.consensys.cava.units.bigints;
+package org.apache.tuweni.units.bigints;
 
 import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/units/src/main/java/net/consensys/cava/units/ethereum/Gas.java b/units/src/main/java/net/consensys/cava/units/ethereum/Gas.java
index fa06a3b..3c6d335 100644
--- a/units/src/main/java/net/consensys/cava/units/ethereum/Gas.java
+++ b/units/src/main/java/net/consensys/cava/units/ethereum/Gas.java
@@ -10,13 +10,13 @@
  * 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 net.consensys.cava.units.ethereum;
+package org.apache.tuweni.units.ethereum;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
-import net.consensys.cava.bytes.Bytes;
-import net.consensys.cava.bytes.MutableBytes;
-import net.consensys.cava.units.bigints.UInt256;
+import org.apache.tuweni.bytes.Bytes;
+import org.apache.tuweni.bytes.MutableBytes;
+import org.apache.tuweni.units.bigints.UInt256;
 
 import java.math.BigInteger;
 
diff --git a/units/src/main/java/net/consensys/cava/units/ethereum/Wei.java b/units/src/main/java/net/consensys/cava/units/ethereum/Wei.java
index 1beb12f..03331ed 100644
--- a/units/src/main/java/net/consensys/cava/units/ethereum/Wei.java
+++ b/units/src/main/java/net/consensys/cava/units/ethereum/Wei.java
@@ -10,12 +10,12 @@
  * 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 net.consensys.cava.units.ethereum;
+package org.apache.tuweni.units.ethereum;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
-import net.consensys.cava.units.bigints.BaseUInt256Value;
-import net.consensys.cava.units.bigints.UInt256;
+import org.apache.tuweni.units.bigints.BaseUInt256Value;
+import org.apache.tuweni.units.bigints.UInt256;
 
 import java.math.BigInteger;
 
diff --git a/units/src/main/java/net/consensys/cava/units/ethereum/package-info.java b/units/src/main/java/net/consensys/cava/units/ethereum/package-info.java
index 0b2e044..1853a65 100644
--- a/units/src/main/java/net/consensys/cava/units/ethereum/package-info.java
+++ b/units/src/main/java/net/consensys/cava/units/ethereum/package-info.java
@@ -2,6 +2,6 @@
  * Classes and utilities for working with Ethereum units.
... 159 lines suppressed ...


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tuweni.apache.org
For additional commands, e-mail: commits-help@tuweni.apache.org