From ebbc0df773e64ef7acffd69717474084f5aff694 Mon Sep 17 00:00:00 2001 From: Danno Ferrin Date: Thu, 30 Mar 2023 17:34:37 -0600 Subject: [PATCH] Reduce EVM module dependencies (#5285) Refactor crypto, datatypes, and plugin-api to reduce plugin APIs in the EVM. Split crypto into crypto services and crypto algorithms Reverse the dependency between datatyps and plugin-api. Remove plugin Hash and Address types (use datatypes) Move PublicKey and Quantity into datatypes. Lots of changes to imports and build files, and some fromPlugin calls removed. Signed-off-by: Danno Ferrin Signed-off-by: Danno Ferrin Co-authored-by: Justin Florentine --- acceptance-tests/dsl/build.gradle | 2 +- .../dsl/node/ThreadBesuNodeRunner.java | 4 +- acceptance-tests/test-plugins/build.gradle | 2 +- .../TestPrivacyGroupGenesisProvider.java | 4 +- ...igningPrivateMarkerTransactionFactory.java | 6 +-- acceptance-tests/tests/build.gradle | 2 +- besu/build.gradle | 4 +- .../org/hyperledger/besu/RunnerBuilder.java | 2 +- .../org/hyperledger/besu/cli/BesuCommand.java | 4 +- .../besu/controller/BesuController.java | 2 +- .../controller/BesuControllerBuilder.java | 2 +- .../BftQueryPluginServiceFactory.java | 2 +- .../CliqueQueryPluginServiceFactory.java | 2 +- ...onsensusScheduleBesuControllerBuilder.java | 2 +- .../IbftQueryPluginServiceFactory.java | 2 +- .../TransitionBesuControllerBuilder.java | 2 +- .../besu/services/BesuEventsImpl.java | 8 +--- .../hyperledger/besu/PrivacyReorgTest.java | 2 +- .../org/hyperledger/besu/PrivacyTest.java | 2 +- .../hyperledger/besu/RunnerBuilderTest.java | 4 +- .../java/org/hyperledger/besu/RunnerTest.java | 4 +- .../chainexport/RlpBlockExporterTest.java | 2 +- .../chainimport/JsonBlockImporterTest.java | 2 +- .../chainimport/RlpBlockImporterTest.java | 2 +- .../besu/cli/CommandTestAbstract.java | 2 +- .../besu/cli/PublicKeySubCommandTest.java | 2 +- .../controller/BesuControllerBuilderTest.java | 2 +- .../MergeBesuControllerBuilderTest.java | 2 +- .../QbftBesuControllerBuilderTest.java | 4 +- .../TransitionControllerBuilderTest.java | 2 +- consensus/clique/build.gradle | 4 +- .../clique/CliqueProtocolSchedule.java | 2 +- .../blockcreation/CliqueBlockCreator.java | 2 +- .../blockcreation/CliqueMinerExecutor.java | 2 +- .../clique/CliqueProtocolScheduleTest.java | 4 +- .../blockcreation/CliqueBlockCreatorTest.java | 4 +- .../CliqueMinerExecutorTest.java | 4 +- consensus/common/build.gradle | 8 ++-- .../consensus/common/PoaQueryServiceImpl.java | 4 +- .../bft/queries/BftQueryServiceImpl.java | 4 +- .../bft/statemachine/BftFinalState.java | 2 +- .../bft/inttest/DefaultValidatorPeer.java | 2 +- .../common/bft/inttest/NetworkLayout.java | 4 +- .../common/bft/inttest/NodeParams.java | 2 +- .../common/bft/BftExtraDataFixture.java | 4 +- .../BftCoinbaseValidationRuleTest.java | 4 +- .../BftCommitSealsValidationRuleTest.java | 4 +- .../bft/queries/BftQueryServiceImplTest.java | 4 +- consensus/ibft/build.gradle | 6 +-- .../ibft/support/IntegrationTestHelpers.java | 2 +- .../ibft/support/TestContextBuilder.java | 2 +- .../besu/consensus/ibft/tests/GossipTest.java | 2 +- .../ibft/tests/SpuriousBehaviourTest.java | 4 +- .../tests/round/IbftRoundIntegrationTest.java | 4 +- .../ibft/payload/MessageFactory.java | 2 +- .../ibft/queries/IbftQueryServiceImpl.java | 4 +- .../ibft/statemachine/IbftRound.java | 2 +- .../consensus/ibft/BftBlockHashingTest.java | 4 +- .../consensus/ibft/IbftBlockHeaderUtils.java | 2 +- ...ockHeaderValidationRulesetFactoryTest.java | 4 +- .../besu/consensus/ibft/IbftGossipTest.java | 4 +- .../ibft/IbftProtocolScheduleTest.java | 4 +- .../besu/consensus/ibft/TestHelpers.java | 2 +- .../IbftBlockHeightManagerTest.java | 4 +- .../ibft/statemachine/IbftRoundTest.java | 4 +- .../RoundChangeArtifactsTest.java | 4 +- .../statemachine/RoundChangeManagerTest.java | 4 +- .../ibft/statemachine/RoundStateTest.java | 4 +- ...tureRoundProposalMessageValidatorTest.java | 2 +- .../ibft/validation/MessageValidatorTest.java | 4 +- ...ProposalBlockConsistencyValidatorTest.java | 2 +- .../RoundChangeCertificateValidatorTest.java | 4 +- .../RoundChangeMessageValidatorTest.java | 2 +- .../RoundChangeSignedDataValidatorTest.java | 4 +- .../validation/SignedDataValidatorTest.java | 4 +- consensus/ibftlegacy/build.gradle | 2 +- consensus/merge/build.gradle | 5 +- .../blockcreation/PayloadIdentifier.java | 2 +- consensus/qbft/build.gradle | 10 ++-- .../qbft/support/IntegrationTestHelpers.java | 2 +- .../qbft/support/TestContextBuilder.java | 2 +- .../besu/consensus/qbft/test/GossipTest.java | 2 +- .../qbft/test/SpuriousBehaviourTest.java | 4 +- .../qbft/test/ValidatorContractTest.java | 2 +- .../test/round/QbftRoundIntegrationTest.java | 4 +- .../qbft/payload/MessageFactory.java | 2 +- .../qbft/statemachine/QbftRound.java | 2 +- .../consensus/qbft/QbftBlockHeaderUtils.java | 2 +- ...ockHeaderValidationRulesetFactoryTest.java | 4 +- .../qbft/QbftProtocolScheduleTest.java | 4 +- .../qbft/messagewrappers/CommitTest.java | 4 +- .../qbft/messagewrappers/PrepareTest.java | 4 +- .../qbft/messagewrappers/ProposalTest.java | 4 +- .../qbft/messagewrappers/RoundChangeTest.java | 4 +- .../QbftBlockHeightManagerTest.java | 4 +- .../qbft/statemachine/QbftRoundTest.java | 4 +- .../qbft/statemachine/RoundStateTest.java | 4 +- .../ProposalPayloadValidatorTest.java | 4 +- .../consensus/qbft/validation/QbftNode.java | 4 +- .../RoundChangePayloadValidatorTest.java | 4 +- crypto/algorithms/build.gradle | 48 +++++++++++++++++++ .../besu/crypto/AbstractSECP256.java | 0 .../hyperledger/besu/crypto/BesuProvider.java | 0 .../besu/crypto/Blake2bfMessageDigest.java | 0 .../hyperledger/besu/crypto/ECPointUtil.java | 0 .../org/hyperledger/besu/crypto/Hash.java | 0 .../org/hyperledger/besu/crypto/KeyPair.java | 0 .../hyperledger/besu/crypto/KeyPairUtil.java | 0 .../besu/crypto/MessageDigestFactory.java | 0 .../hyperledger/besu/crypto/SECP256K1.java | 0 .../hyperledger/besu/crypto/SECP256R1.java | 0 .../besu/crypto/SECPPrivateKey.java | 0 .../besu/crypto/SECPPublicKey.java | 0 .../besu/crypto/SECPSignature.java | 0 .../besu/crypto/SecureRandomProvider.java | 0 .../besu/crypto/SignatureAlgorithm.java | 0 .../crypto/SignatureAlgorithmFactory.java | 0 .../besu/crypto/SignatureAlgorithmType.java | 0 .../crypto/altbn128/AbstractFieldPoint.java | 0 .../besu/crypto/altbn128/AbstractFqp.java | 0 .../crypto/altbn128/AltBn128Fq12Pairer.java | 0 .../crypto/altbn128/AltBn128Fq12Point.java | 0 .../crypto/altbn128/AltBn128Fq2Point.java | 0 .../besu/crypto/altbn128/AltBn128Point.java | 0 .../besu/crypto/altbn128/FieldElement.java | 0 .../besu/crypto/altbn128/FieldPoint.java | 0 .../hyperledger/besu/crypto/altbn128/Fq.java | 0 .../besu/crypto/altbn128/Fq12.java | 0 .../hyperledger/besu/crypto/altbn128/Fq2.java | 0 .../crypto/Blake2bfMessageDigestTest.java | 0 .../besu/crypto/ECPointUtilTest.java | 0 .../org/hyperledger/besu/crypto/HashTest.java | 0 .../hyperledger/besu/crypto/KeyPairTest.java | 0 .../besu/crypto/KeyPairUtilTest.java | 0 .../besu/crypto/SECP256K1Test.java | 0 .../besu/crypto/SECP256R1Test.java | 0 .../besu/crypto/SECPPrivateKeyTest.java | 0 .../besu/crypto/SECPPublicKeyTest.java | 0 .../besu/crypto/SECPSignatureTest.java | 0 .../crypto/SignatureAlgorithmFactoryTest.java | 0 .../crypto/SignatureAlgorithmTypeTest.java | 0 .../altbn128/AltBn128Fq12PairerTest.java | 0 .../altbn128/AltBn128Fq12PointTest.java | 0 .../crypto/altbn128/AltBn128Fq2PointTest.java | 0 .../crypto/altbn128/AltBn128PointTest.java | 0 .../besu/crypto/altbn128/Fq12Test.java | 0 .../besu/crypto/altbn128/Fq2Test.java | 0 .../besu/crypto/altbn128/FqTest.java | 0 .../src/test/resources/invalidPrivateKey.txt | 0 .../besu/crypto/eip152TestCases.csv | 0 .../besu/crypto/validPrivateKey.txt | 0 .../src/test/resources/validPrivateKey.txt | 0 crypto/build.gradle | 38 +-------------- crypto/services/build.gradle | 42 ++++++++++++++++ .../KeyPairSecurityModule.java | 12 +++-- .../besu/cryptoservices}/NodeKey.java | 7 ++- .../besu/cryptoservices}/NodeKeyUtils.java | 6 ++- .../KeyPairSecurityModuleTest.java | 8 +++- .../besu/cryptoservices}/NodeKeyTest.java | 6 ++- datatypes/build.gradle | 6 +-- .../hyperledger/besu/datatypes/Address.java | 12 +---- .../besu/datatypes/BLSPublicKey.java | 3 +- .../besu/datatypes/BLSSignature.java | 3 +- .../hyperledger/besu/datatypes/DataGas.java | 2 - .../org/hyperledger/besu/datatypes/GWei.java | 2 - .../org/hyperledger/besu/datatypes/Hash.java | 12 +---- .../besu/datatypes}/PublicKey.java | 5 +- .../hyperledger/besu/datatypes}/Quantity.java | 2 +- .../org/hyperledger/besu/datatypes/Wei.java | 2 - enclave/build.gradle | 2 +- ethereum/api/build.gradle | 4 +- .../eea/AbstractEeaSendRawTransaction.java | 4 +- .../api/query/StateBackupService.java | 2 +- .../JsonRpcHttpServiceRpcApisTest.java | 2 +- ethereum/blockcreation/build.gradle | 2 +- ethereum/core/build.gradle | 4 +- .../bonsai/BonsaiWorldStateProvider.java | 14 +++--- .../bonsai/worldview/BonsaiWorldState.java | 4 +- .../besu/ethereum/core/Deposit.java | 2 +- .../besu/ethereum/core/Difficulty.java | 2 +- .../besu/ethereum/core/LogWithMetadata.java | 6 +-- .../besu/ethereum/core/Synchronizer.java | 2 +- .../besu/ethereum/core/Transaction.java | 2 +- .../ethereum/core/TransactionReceipt.java | 2 +- .../mainnet/ClassicDifficultyCalculators.java | 2 +- .../mainnet/MainnetDifficultyCalculators.java | 2 +- .../FlexiblePrivacyPrecompiledContract.java | 5 +- .../privacy/PrivacyPrecompiledContract.java | 13 ++--- .../privacy/PrivateStateGenesisAllocator.java | 2 +- ...igningPrivateMarkerTransactionFactory.java | 2 +- ...igningPrivateMarkerTransactionFactory.java | 2 +- ...igningPrivateMarkerTransactionFactory.java | 3 +- .../ethereum/core/NonBesuBlockHeader.java | 6 +-- .../PrivateStateGenesisAllocatorTest.java | 4 +- ethereum/eth/build.gradle | 4 +- .../eth/sync/DefaultSynchronizer.java | 2 +- .../ethereum/eth/sync/state/SyncState.java | 2 +- .../ethereum/eth/transactions/TestNode.java | 4 +- ethereum/evmtool/build.gradle | 2 +- ethereum/p2p/build.gradle | 4 +- .../p2p/discovery/PeerDiscoveryAgent.java | 2 +- .../discovery/VertxPeerDiscoveryAgent.java | 2 +- .../p2p/discovery/internal/Packet.java | 2 +- .../internal/PeerDiscoveryController.java | 2 +- .../p2p/network/DefaultP2PNetwork.java | 2 +- .../ethereum/p2p/plain/PlainHandshaker.java | 2 +- .../besu/ethereum/p2p/rlpx/RlpxAgent.java | 2 +- .../netty/HandshakeHandlerInbound.java | 2 +- .../netty/HandshakeHandlerOutbound.java | 2 +- .../netty/NettyConnectionInitializer.java | 2 +- .../netty/NettyTLSConnectionInitializer.java | 2 +- .../p2p/rlpx/handshake/Handshaker.java | 2 +- .../ecies/ECIESEncryptionEngine.java | 2 +- .../rlpx/handshake/ecies/ECIESHandshaker.java | 2 +- .../handshake/ecies/EncryptedMessage.java | 2 +- .../ecies/InitiatorHandshakeMessageV1.java | 2 +- .../ecies/InitiatorHandshakeMessageV4.java | 2 +- .../p2p/discovery/PeerDiscoveryAgentTest.java | 4 +- .../PeerDiscoveryPacketSedesTest.java | 4 +- .../discovery/PeerDiscoveryTestHelper.java | 4 +- .../internal/MockPeerDiscoveryAgent.java | 2 +- .../internal/PeerDiscoveryControllerTest.java | 2 +- .../PeerDiscoveryTableRefreshTest.java | 2 +- .../p2p/network/DefaultP2PNetworkTest.java | 4 +- .../NetworkingServiceLifecycleTest.java | 4 +- .../ethereum/p2p/network/P2PNetworkTest.java | 4 +- .../p2p/network/P2PPlainNetworkTest.java | 4 +- .../besu/ethereum/p2p/rlpx/RlpxAgentTest.java | 2 +- .../NettyTLSConnectionInitializerTest.java | 2 +- .../handshake/ecies/ECIESHandshakeTest.java | 2 +- .../handshake/ecies/EncryptedMessageTest.java | 2 +- .../InitiatorHandshakeMessageV4Test.java | 2 +- ethereum/permissioning/build.gradle | 3 +- ethereum/referencetests/build.gradle | 4 +- .../ethereum/retesteth/DummySynchronizer.java | 2 +- ethereum/trie/build.gradle | 8 ++-- .../ethereum/trie/MerkleTrieException.java | 2 +- .../ethereum/trie/SnapPutVisitorTest.java | 2 +- ethereum/verkletrie/build.gradle | 3 +- evm/build.gradle | 16 ++++--- plugin-api/build.gradle | 3 +- .../hyperledger/besu/plugin/data/Address.java | 20 -------- .../besu/plugin/data/BlockHeader.java | 3 ++ .../hyperledger/besu/plugin/data/Deposit.java | 5 +- .../hyperledger/besu/plugin/data/Hash.java | 23 --------- .../org/hyperledger/besu/plugin/data/Log.java | 2 + .../besu/plugin/data/LogWithMetadata.java | 3 ++ .../plugin/data/PrivacyGenesisAccount.java | 3 ++ .../besu/plugin/data/PrivateTransaction.java | 3 ++ .../besu/plugin/data/Transaction.java | 3 ++ .../UnsignedPrivateMarkerTransaction.java | 3 ++ .../besu/plugin/data/Withdrawal.java | 3 ++ .../besu/plugin/services/BesuEvents.java | 2 +- .../services/metrics/PoAMetricsService.java | 2 +- .../PrivateMarkerTransactionFactory.java | 2 +- .../services/query/BftQueryService.java | 2 +- .../services/query/IbftQueryService.java | 2 +- .../services/query/PoaQueryService.java | 2 +- settings.gradle | 3 +- 259 files changed, 445 insertions(+), 418 deletions(-) create mode 100644 crypto/algorithms/build.gradle rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/AbstractSECP256.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/BesuProvider.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/Blake2bfMessageDigest.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/ECPointUtil.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/Hash.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/KeyPair.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/KeyPairUtil.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/MessageDigestFactory.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/SECP256K1.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/SECP256R1.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/SECPPrivateKey.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/SECPPublicKey.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/SECPSignature.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/SecureRandomProvider.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/SignatureAlgorithm.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/SignatureAlgorithmFactory.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/SignatureAlgorithmType.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/altbn128/AbstractFieldPoint.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/altbn128/AbstractFqp.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12Pairer.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12Point.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq2Point.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Point.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/altbn128/FieldElement.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/altbn128/FieldPoint.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/altbn128/Fq.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/altbn128/Fq12.java (100%) rename crypto/{ => algorithms}/src/main/java/org/hyperledger/besu/crypto/altbn128/Fq2.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/Blake2bfMessageDigestTest.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/ECPointUtilTest.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/HashTest.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/KeyPairTest.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/KeyPairUtilTest.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/SECP256K1Test.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/SECP256R1Test.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/SECPPrivateKeyTest.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/SECPPublicKeyTest.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/SECPSignatureTest.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/SignatureAlgorithmFactoryTest.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/SignatureAlgorithmTypeTest.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12PairerTest.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12PointTest.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq2PointTest.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128PointTest.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/altbn128/Fq12Test.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/altbn128/Fq2Test.java (100%) rename crypto/{ => algorithms}/src/test/java/org/hyperledger/besu/crypto/altbn128/FqTest.java (100%) rename crypto/{ => algorithms}/src/test/resources/invalidPrivateKey.txt (100%) rename crypto/{ => algorithms}/src/test/resources/org/hyperledger/besu/crypto/eip152TestCases.csv (100%) rename crypto/{ => algorithms}/src/test/resources/org/hyperledger/besu/crypto/validPrivateKey.txt (100%) rename crypto/{ => algorithms}/src/test/resources/validPrivateKey.txt (100%) create mode 100644 crypto/services/build.gradle rename crypto/{src/main/java/org/hyperledger/besu/crypto => services/src/main/java/org/hyperledger/besu/cryptoservices}/KeyPairSecurityModule.java (89%) rename crypto/{src/main/java/org/hyperledger/besu/crypto => services/src/main/java/org/hyperledger/besu/cryptoservices}/NodeKey.java (87%) rename crypto/{src/test-support/java/org/hyperledger/besu/crypto => services/src/test-support/java/org/hyperledger/besu/cryptoservices}/NodeKeyUtils.java (86%) rename crypto/{src/test/java/org/hyperledger/besu/crypto => services/src/test/java/org/hyperledger/besu/cryptoservices}/KeyPairSecurityModuleTest.java (85%) rename crypto/{src/test/java/org/hyperledger/besu/crypto => services/src/test/java/org/hyperledger/besu/cryptoservices}/NodeKeyTest.java (90%) rename {plugin-api/src/main/java/org/hyperledger/besu/plugin/data => datatypes/src/main/java/org/hyperledger/besu/datatypes}/PublicKey.java (89%) rename {plugin-api/src/main/java/org/hyperledger/besu/plugin/data => datatypes/src/main/java/org/hyperledger/besu/datatypes}/Quantity.java (97%) delete mode 100644 plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Address.java delete mode 100644 plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Hash.java diff --git a/acceptance-tests/dsl/build.gradle b/acceptance-tests/dsl/build.gradle index 9e69e5748..c619616ca 100644 --- a/acceptance-tests/dsl/build.gradle +++ b/acceptance-tests/dsl/build.gradle @@ -5,7 +5,7 @@ dependencies { implementation project(':consensus:common') implementation project(':consensus:ibft') implementation project(':consensus:qbft') - implementation project(':crypto') + implementation project(':crypto:services') implementation project(':enclave') implementation project(':ethereum:api') implementation project(':ethereum:blockcreation') diff --git a/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/ThreadBesuNodeRunner.java b/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/ThreadBesuNodeRunner.java index 12456d1b1..f743c558b 100644 --- a/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/ThreadBesuNodeRunner.java +++ b/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/ThreadBesuNodeRunner.java @@ -24,9 +24,9 @@ import org.hyperledger.besu.config.GenesisConfigFile; import org.hyperledger.besu.consensus.qbft.pki.PkiBlockCreationConfigurationProvider; import org.hyperledger.besu.controller.BesuController; import org.hyperledger.besu.controller.BesuControllerBuilder; -import org.hyperledger.besu.crypto.KeyPairSecurityModule; import org.hyperledger.besu.crypto.KeyPairUtil; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.KeyPairSecurityModule; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.GasLimitCalculator; import org.hyperledger.besu.ethereum.api.graphql.GraphQLConfiguration; import org.hyperledger.besu.ethereum.eth.EthProtocolConfiguration; diff --git a/acceptance-tests/test-plugins/build.gradle b/acceptance-tests/test-plugins/build.gradle index 16f2360a9..f9e960b49 100644 --- a/acceptance-tests/test-plugins/build.gradle +++ b/acceptance-tests/test-plugins/build.gradle @@ -3,7 +3,7 @@ dependencies { api 'org.slf4j:slf4j-api' implementation project(':besu') - implementation project(':crypto') + implementation project(':crypto:algorithms') implementation project(':datatypes') implementation project(':ethereum:core') implementation project(':ethereum:rlp') diff --git a/acceptance-tests/test-plugins/src/main/java/org/hyperledger/besu/tests/acceptance/plugins/privacy/TestPrivacyGroupGenesisProvider.java b/acceptance-tests/test-plugins/src/main/java/org/hyperledger/besu/tests/acceptance/plugins/privacy/TestPrivacyGroupGenesisProvider.java index b13b9d297..d763683ba 100644 --- a/acceptance-tests/test-plugins/src/main/java/org/hyperledger/besu/tests/acceptance/plugins/privacy/TestPrivacyGroupGenesisProvider.java +++ b/acceptance-tests/test-plugins/src/main/java/org/hyperledger/besu/tests/acceptance/plugins/privacy/TestPrivacyGroupGenesisProvider.java @@ -15,11 +15,11 @@ */ package org.hyperledger.besu.tests.acceptance.plugins.privacy; +import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.Quantity; import org.hyperledger.besu.datatypes.Wei; -import org.hyperledger.besu.plugin.data.Address; import org.hyperledger.besu.plugin.data.PrivacyGenesis; import org.hyperledger.besu.plugin.data.PrivacyGenesisAccount; -import org.hyperledger.besu.plugin.data.Quantity; import org.hyperledger.besu.plugin.services.privacy.PrivacyGroupGenesisProvider; import java.util.Collections; diff --git a/acceptance-tests/test-plugins/src/main/java/org/hyperledger/besu/tests/acceptance/plugins/privacy/TestSigningPrivateMarkerTransactionFactory.java b/acceptance-tests/test-plugins/src/main/java/org/hyperledger/besu/tests/acceptance/plugins/privacy/TestSigningPrivateMarkerTransactionFactory.java index 7c3ca223e..3ab57a28e 100644 --- a/acceptance-tests/test-plugins/src/main/java/org/hyperledger/besu/tests/acceptance/plugins/privacy/TestSigningPrivateMarkerTransactionFactory.java +++ b/acceptance-tests/test-plugins/src/main/java/org/hyperledger/besu/tests/acceptance/plugins/privacy/TestSigningPrivateMarkerTransactionFactory.java @@ -20,11 +20,11 @@ import org.hyperledger.besu.crypto.KeyPair; import org.hyperledger.besu.crypto.SECPPrivateKey; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.core.Transaction; import org.hyperledger.besu.ethereum.rlp.BytesValueRLPOutput; -import org.hyperledger.besu.plugin.data.Address; import org.hyperledger.besu.plugin.data.PrivateTransaction; import org.hyperledger.besu.plugin.data.TransactionType; import org.hyperledger.besu.plugin.data.UnsignedPrivateMarkerTransaction; @@ -65,9 +65,7 @@ public class TestSigningPrivateMarkerTransactionFactory implements PrivateMarker .gasPrice( unsignedPrivateMarkerTransaction.getGasPrice().map(Wei::fromQuantity).orElse(null)) .gasLimit(unsignedPrivateMarkerTransaction.getGasLimit()) - .to( - org.hyperledger.besu.datatypes.Address.fromPlugin( - unsignedPrivateMarkerTransaction.getTo().orElseThrow())) + .to(unsignedPrivateMarkerTransaction.getTo().orElseThrow()) .value(Wei.fromQuantity(unsignedPrivateMarkerTransaction.getValue())) .payload(unsignedPrivateMarkerTransaction.getPayload()) .signAndBuild(aliceFixedSigningKey); diff --git a/acceptance-tests/tests/build.gradle b/acceptance-tests/tests/build.gradle index 290efe618..71118ecbd 100644 --- a/acceptance-tests/tests/build.gradle +++ b/acceptance-tests/tests/build.gradle @@ -34,7 +34,7 @@ solidity { resolvePackages = false } dependencies { api 'org.slf4j:slf4j-api' - implementation project(':crypto') + implementation project(':crypto:algorithms') testImplementation project(':acceptance-tests:dsl') testImplementation project(':acceptance-tests:test-plugins') diff --git a/besu/build.gradle b/besu/build.gradle index dd0765a77..9d63c8f85 100644 --- a/besu/build.gradle +++ b/besu/build.gradle @@ -38,7 +38,7 @@ dependencies { implementation project(':consensus:ibftlegacy') implementation project(':consensus:merge') implementation project(':consensus:qbft') - implementation project(':crypto') + implementation project(':crypto:services') implementation project(':datatypes') implementation project(':enclave') implementation project(':ethereum:api') @@ -84,7 +84,7 @@ dependencies { runtimeOnly 'org.fusesource.jansi:jansi' // for color logging in windows testImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts') - testImplementation project(path: ':crypto', configuration: 'testSupportArtifacts') + testImplementation project(path: ':crypto:services', configuration: 'testSupportArtifacts') testImplementation project(':testutil') testImplementation 'com.google.auto.service:auto-service' diff --git a/besu/src/main/java/org/hyperledger/besu/RunnerBuilder.java b/besu/src/main/java/org/hyperledger/besu/RunnerBuilder.java index df94ac1bc..520245a19 100644 --- a/besu/src/main/java/org/hyperledger/besu/RunnerBuilder.java +++ b/besu/src/main/java/org/hyperledger/besu/RunnerBuilder.java @@ -25,7 +25,7 @@ import org.hyperledger.besu.cli.config.EthNetworkConfig; import org.hyperledger.besu.cli.config.NetworkName; import org.hyperledger.besu.consensus.merge.blockcreation.TransitionCoordinator; import org.hyperledger.besu.controller.BesuController; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.api.ApiConfiguration; import org.hyperledger.besu.ethereum.api.graphql.GraphQLConfiguration; diff --git a/besu/src/main/java/org/hyperledger/besu/cli/BesuCommand.java b/besu/src/main/java/org/hyperledger/besu/cli/BesuCommand.java index 67028fd4e..973c00c9d 100644 --- a/besu/src/main/java/org/hyperledger/besu/cli/BesuCommand.java +++ b/besu/src/main/java/org/hyperledger/besu/cli/BesuCommand.java @@ -97,11 +97,11 @@ import org.hyperledger.besu.controller.BesuController; import org.hyperledger.besu.controller.BesuControllerBuilder; import org.hyperledger.besu.crypto.Blake2bfMessageDigest; import org.hyperledger.besu.crypto.KeyPair; -import org.hyperledger.besu.crypto.KeyPairSecurityModule; import org.hyperledger.besu.crypto.KeyPairUtil; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; import org.hyperledger.besu.crypto.SignatureAlgorithmType; +import org.hyperledger.besu.cryptoservices.KeyPairSecurityModule; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; diff --git a/besu/src/main/java/org/hyperledger/besu/controller/BesuController.java b/besu/src/main/java/org/hyperledger/besu/controller/BesuController.java index 4992d316d..6736ab58c 100644 --- a/besu/src/main/java/org/hyperledger/besu/controller/BesuController.java +++ b/besu/src/main/java/org/hyperledger/besu/controller/BesuController.java @@ -21,7 +21,7 @@ import org.hyperledger.besu.config.GenesisConfigFile; import org.hyperledger.besu.config.GenesisConfigOptions; import org.hyperledger.besu.config.PowAlgorithm; import org.hyperledger.besu.config.QbftConfigOptions; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod; import org.hyperledger.besu.ethereum.api.jsonrpc.methods.JsonRpcMethods; diff --git a/besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java b/besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java index f3fe3c464..9f36965ef 100644 --- a/besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java +++ b/besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java @@ -22,7 +22,7 @@ import org.hyperledger.besu.config.GenesisConfigOptions; import org.hyperledger.besu.consensus.merge.MergeContext; import org.hyperledger.besu.consensus.merge.UnverifiedForkchoiceSupplier; import org.hyperledger.besu.consensus.qbft.pki.PkiBlockCreationConfiguration; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ConsensusContext; import org.hyperledger.besu.ethereum.ConsensusContextFactory; diff --git a/besu/src/main/java/org/hyperledger/besu/controller/BftQueryPluginServiceFactory.java b/besu/src/main/java/org/hyperledger/besu/controller/BftQueryPluginServiceFactory.java index d6df5c7fa..3de724571 100644 --- a/besu/src/main/java/org/hyperledger/besu/controller/BftQueryPluginServiceFactory.java +++ b/besu/src/main/java/org/hyperledger/besu/controller/BftQueryPluginServiceFactory.java @@ -18,7 +18,7 @@ import org.hyperledger.besu.consensus.common.bft.BftBlockInterface; import org.hyperledger.besu.consensus.common.bft.BftExtraDataCodec; import org.hyperledger.besu.consensus.common.bft.queries.BftQueryServiceImpl; import org.hyperledger.besu.consensus.common.validator.ValidatorProvider; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.chain.Blockchain; import org.hyperledger.besu.plugin.services.metrics.PoAMetricsService; import org.hyperledger.besu.plugin.services.query.BftQueryService; diff --git a/besu/src/main/java/org/hyperledger/besu/controller/CliqueQueryPluginServiceFactory.java b/besu/src/main/java/org/hyperledger/besu/controller/CliqueQueryPluginServiceFactory.java index ca56d64e4..5395e2426 100644 --- a/besu/src/main/java/org/hyperledger/besu/controller/CliqueQueryPluginServiceFactory.java +++ b/besu/src/main/java/org/hyperledger/besu/controller/CliqueQueryPluginServiceFactory.java @@ -17,7 +17,7 @@ package org.hyperledger.besu.controller; import org.hyperledger.besu.consensus.clique.CliqueBlockInterface; import org.hyperledger.besu.consensus.common.BlockInterface; import org.hyperledger.besu.consensus.common.PoaQueryServiceImpl; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.chain.Blockchain; import org.hyperledger.besu.plugin.services.metrics.PoAMetricsService; import org.hyperledger.besu.plugin.services.query.PoaQueryService; diff --git a/besu/src/main/java/org/hyperledger/besu/controller/ConsensusScheduleBesuControllerBuilder.java b/besu/src/main/java/org/hyperledger/besu/controller/ConsensusScheduleBesuControllerBuilder.java index 251dde942..e4d5761db 100644 --- a/besu/src/main/java/org/hyperledger/besu/controller/ConsensusScheduleBesuControllerBuilder.java +++ b/besu/src/main/java/org/hyperledger/besu/controller/ConsensusScheduleBesuControllerBuilder.java @@ -28,7 +28,7 @@ import org.hyperledger.besu.consensus.common.MigratingContext; import org.hyperledger.besu.consensus.common.MigratingMiningCoordinator; import org.hyperledger.besu.consensus.common.MigratingProtocolContext; import org.hyperledger.besu.consensus.qbft.pki.PkiBlockCreationConfiguration; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ConsensusContext; import org.hyperledger.besu.ethereum.ConsensusContextFactory; diff --git a/besu/src/main/java/org/hyperledger/besu/controller/IbftQueryPluginServiceFactory.java b/besu/src/main/java/org/hyperledger/besu/controller/IbftQueryPluginServiceFactory.java index e27a2c061..b02f9a519 100644 --- a/besu/src/main/java/org/hyperledger/besu/controller/IbftQueryPluginServiceFactory.java +++ b/besu/src/main/java/org/hyperledger/besu/controller/IbftQueryPluginServiceFactory.java @@ -18,7 +18,7 @@ import org.hyperledger.besu.consensus.common.bft.BftBlockInterface; import org.hyperledger.besu.consensus.common.bft.queries.BftQueryServiceImpl; import org.hyperledger.besu.consensus.common.validator.ValidatorProvider; import org.hyperledger.besu.consensus.ibft.queries.IbftQueryServiceImpl; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.chain.Blockchain; import org.hyperledger.besu.plugin.services.metrics.PoAMetricsService; import org.hyperledger.besu.plugin.services.query.BftQueryService; diff --git a/besu/src/main/java/org/hyperledger/besu/controller/TransitionBesuControllerBuilder.java b/besu/src/main/java/org/hyperledger/besu/controller/TransitionBesuControllerBuilder.java index 6eba8e943..3f7fca889 100644 --- a/besu/src/main/java/org/hyperledger/besu/controller/TransitionBesuControllerBuilder.java +++ b/besu/src/main/java/org/hyperledger/besu/controller/TransitionBesuControllerBuilder.java @@ -23,7 +23,7 @@ import org.hyperledger.besu.consensus.merge.TransitionContext; import org.hyperledger.besu.consensus.merge.TransitionProtocolSchedule; import org.hyperledger.besu.consensus.merge.blockcreation.TransitionCoordinator; import org.hyperledger.besu.consensus.qbft.pki.PkiBlockCreationConfiguration; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ConsensusContext; import org.hyperledger.besu.ethereum.ConsensusContextFactory; diff --git a/besu/src/main/java/org/hyperledger/besu/services/BesuEventsImpl.java b/besu/src/main/java/org/hyperledger/besu/services/BesuEventsImpl.java index 3a6b62d83..205b325ea 100644 --- a/besu/src/main/java/org/hyperledger/besu/services/BesuEventsImpl.java +++ b/besu/src/main/java/org/hyperledger/besu/services/BesuEventsImpl.java @@ -16,6 +16,7 @@ package org.hyperledger.besu.services; import static java.util.stream.Collectors.toUnmodifiableList; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.api.query.LogsQuery; import org.hyperledger.besu.ethereum.chain.Blockchain; import org.hyperledger.besu.ethereum.core.BlockBody; @@ -27,7 +28,6 @@ import org.hyperledger.besu.ethereum.eth.sync.state.SyncState; import org.hyperledger.besu.ethereum.eth.transactions.TransactionPool; import org.hyperledger.besu.evm.log.LogTopic; import org.hyperledger.besu.plugin.data.AddedBlockContext; -import org.hyperledger.besu.plugin.data.Address; import org.hyperledger.besu.plugin.data.BlockHeader; import org.hyperledger.besu.plugin.data.PropagatedBlockContext; import org.hyperledger.besu.plugin.services.BesuEvents; @@ -146,16 +146,12 @@ public class BesuEventsImpl implements BesuEvents { final List
addresses, final List> topics, final LogListener logListener) { - final List besuAddresses = - addresses.stream() - .map(org.hyperledger.besu.datatypes.Address::fromPlugin) - .collect(toUnmodifiableList()); final List> besuTopics = topics.stream() .map(subList -> subList.stream().map(LogTopic::wrap).collect(toUnmodifiableList())) .collect(toUnmodifiableList()); - final LogsQuery logsQuery = new LogsQuery(besuAddresses, besuTopics); + final LogsQuery logsQuery = new LogsQuery(addresses, besuTopics); return blockchain.observeLogs( logWithMetadata -> { diff --git a/besu/src/test/java/org/hyperledger/besu/PrivacyReorgTest.java b/besu/src/test/java/org/hyperledger/besu/PrivacyReorgTest.java index 7a2d7747a..51c2050da 100644 --- a/besu/src/test/java/org/hyperledger/besu/PrivacyReorgTest.java +++ b/besu/src/test/java/org/hyperledger/besu/PrivacyReorgTest.java @@ -24,9 +24,9 @@ import static org.mockito.Mockito.when; import org.hyperledger.besu.config.GenesisConfigFile; import org.hyperledger.besu.controller.BesuController; import org.hyperledger.besu.crypto.KeyPair; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.enclave.Enclave; diff --git a/besu/src/test/java/org/hyperledger/besu/PrivacyTest.java b/besu/src/test/java/org/hyperledger/besu/PrivacyTest.java index 2a891d26f..cc5f699c6 100644 --- a/besu/src/test/java/org/hyperledger/besu/PrivacyTest.java +++ b/besu/src/test/java/org/hyperledger/besu/PrivacyTest.java @@ -25,7 +25,7 @@ import static org.hyperledger.besu.plugin.services.storage.rocksdb.configuration import org.hyperledger.besu.config.GenesisConfigFile; import org.hyperledger.besu.controller.BesuController; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.enclave.EnclaveFactory; import org.hyperledger.besu.ethereum.GasLimitCalculator; diff --git a/besu/src/test/java/org/hyperledger/besu/RunnerBuilderTest.java b/besu/src/test/java/org/hyperledger/besu/RunnerBuilderTest.java index 9a95f9af0..a5d0362db 100644 --- a/besu/src/test/java/org/hyperledger/besu/RunnerBuilderTest.java +++ b/besu/src/test/java/org/hyperledger/besu/RunnerBuilderTest.java @@ -34,9 +34,9 @@ import org.hyperledger.besu.consensus.ibft.protocol.IbftSubProtocol; import org.hyperledger.besu.consensus.merge.blockcreation.MergeMiningCoordinator; import org.hyperledger.besu.consensus.merge.blockcreation.TransitionCoordinator; import org.hyperledger.besu.controller.BesuController; -import org.hyperledger.besu.crypto.KeyPairSecurityModule; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECP256K1; +import org.hyperledger.besu.cryptoservices.KeyPairSecurityModule; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.api.graphql.GraphQLConfiguration; diff --git a/besu/src/test/java/org/hyperledger/besu/RunnerTest.java b/besu/src/test/java/org/hyperledger/besu/RunnerTest.java index 76acf5374..72b9746b8 100644 --- a/besu/src/test/java/org/hyperledger/besu/RunnerTest.java +++ b/besu/src/test/java/org/hyperledger/besu/RunnerTest.java @@ -30,8 +30,8 @@ import org.hyperledger.besu.config.MergeConfigOptions; import org.hyperledger.besu.controller.BesuController; import org.hyperledger.besu.controller.MainnetBesuControllerBuilder; import org.hyperledger.besu.crypto.KeyPairUtil; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.ethereum.GasLimitCalculator; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.api.graphql.GraphQLConfiguration; diff --git a/besu/src/test/java/org/hyperledger/besu/chainexport/RlpBlockExporterTest.java b/besu/src/test/java/org/hyperledger/besu/chainexport/RlpBlockExporterTest.java index e42df7e2e..c1fc3867a 100644 --- a/besu/src/test/java/org/hyperledger/besu/chainexport/RlpBlockExporterTest.java +++ b/besu/src/test/java/org/hyperledger/besu/chainexport/RlpBlockExporterTest.java @@ -20,7 +20,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; import org.hyperledger.besu.chainimport.RlpBlockImporter; import org.hyperledger.besu.config.GenesisConfigFile; import org.hyperledger.besu.controller.BesuController; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.ethereum.GasLimitCalculator; import org.hyperledger.besu.ethereum.chain.Blockchain; import org.hyperledger.besu.ethereum.core.Block; diff --git a/besu/src/test/java/org/hyperledger/besu/chainimport/JsonBlockImporterTest.java b/besu/src/test/java/org/hyperledger/besu/chainimport/JsonBlockImporterTest.java index de20b2227..b49e66a79 100644 --- a/besu/src/test/java/org/hyperledger/besu/chainimport/JsonBlockImporterTest.java +++ b/besu/src/test/java/org/hyperledger/besu/chainimport/JsonBlockImporterTest.java @@ -21,7 +21,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; import org.hyperledger.besu.config.GenesisConfigFile; import org.hyperledger.besu.config.JsonUtil; import org.hyperledger.besu.controller.BesuController; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.GasLimitCalculator; diff --git a/besu/src/test/java/org/hyperledger/besu/chainimport/RlpBlockImporterTest.java b/besu/src/test/java/org/hyperledger/besu/chainimport/RlpBlockImporterTest.java index ee6543273..d7a4e2f20 100644 --- a/besu/src/test/java/org/hyperledger/besu/chainimport/RlpBlockImporterTest.java +++ b/besu/src/test/java/org/hyperledger/besu/chainimport/RlpBlockImporterTest.java @@ -21,7 +21,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; import org.hyperledger.besu.config.GenesisConfigFile; import org.hyperledger.besu.config.MergeConfigOptions; import org.hyperledger.besu.controller.BesuController; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.ethereum.GasLimitCalculator; import org.hyperledger.besu.ethereum.core.InMemoryKeyValueStorageProvider; import org.hyperledger.besu.ethereum.core.MiningParameters; diff --git a/besu/src/test/java/org/hyperledger/besu/cli/CommandTestAbstract.java b/besu/src/test/java/org/hyperledger/besu/cli/CommandTestAbstract.java index 49a0dc6bd..d46b54bf1 100644 --- a/besu/src/test/java/org/hyperledger/besu/cli/CommandTestAbstract.java +++ b/besu/src/test/java/org/hyperledger/besu/cli/CommandTestAbstract.java @@ -45,9 +45,9 @@ import org.hyperledger.besu.controller.BesuControllerBuilder; import org.hyperledger.besu.controller.NoopPluginServiceFactory; import org.hyperledger.besu.crypto.KeyPair; import org.hyperledger.besu.crypto.KeyPairUtil; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.api.graphql.GraphQLConfiguration; import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcConfiguration; diff --git a/besu/src/test/java/org/hyperledger/besu/cli/PublicKeySubCommandTest.java b/besu/src/test/java/org/hyperledger/besu/cli/PublicKeySubCommandTest.java index 65076f86b..3da574e8e 100644 --- a/besu/src/test/java/org/hyperledger/besu/cli/PublicKeySubCommandTest.java +++ b/besu/src/test/java/org/hyperledger/besu/cli/PublicKeySubCommandTest.java @@ -20,10 +20,10 @@ import static org.assertj.core.api.Assertions.contentOf; import org.hyperledger.besu.BesuInfo; import org.hyperledger.besu.crypto.KeyPair; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPPrivateKey; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.core.Util; import java.io.File; diff --git a/besu/src/test/java/org/hyperledger/besu/controller/BesuControllerBuilderTest.java b/besu/src/test/java/org/hyperledger/besu/controller/BesuControllerBuilderTest.java index 0b396b5b0..f14a94a88 100644 --- a/besu/src/test/java/org/hyperledger/besu/controller/BesuControllerBuilderTest.java +++ b/besu/src/test/java/org/hyperledger/besu/controller/BesuControllerBuilderTest.java @@ -28,7 +28,7 @@ import org.hyperledger.besu.config.EthashConfigOptions; import org.hyperledger.besu.config.GenesisConfigFile; import org.hyperledger.besu.config.GenesisConfigOptions; import org.hyperledger.besu.config.Keccak256ConfigOptions; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.GasLimitCalculator; import org.hyperledger.besu.ethereum.bonsai.cache.CachedMerkleTrieLoader; diff --git a/besu/src/test/java/org/hyperledger/besu/controller/MergeBesuControllerBuilderTest.java b/besu/src/test/java/org/hyperledger/besu/controller/MergeBesuControllerBuilderTest.java index e631e0b57..c050ee637 100644 --- a/besu/src/test/java/org/hyperledger/besu/controller/MergeBesuControllerBuilderTest.java +++ b/besu/src/test/java/org/hyperledger/besu/controller/MergeBesuControllerBuilderTest.java @@ -27,7 +27,7 @@ import org.hyperledger.besu.config.CheckpointConfigOptions; import org.hyperledger.besu.config.GenesisConfigFile; import org.hyperledger.besu.config.GenesisConfigOptions; import org.hyperledger.besu.consensus.merge.MergeContext; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.GasLimitCalculator; diff --git a/besu/src/test/java/org/hyperledger/besu/controller/QbftBesuControllerBuilderTest.java b/besu/src/test/java/org/hyperledger/besu/controller/QbftBesuControllerBuilderTest.java index a6ed26159..4e53aab14 100644 --- a/besu/src/test/java/org/hyperledger/besu/controller/QbftBesuControllerBuilderTest.java +++ b/besu/src/test/java/org/hyperledger/besu/controller/QbftBesuControllerBuilderTest.java @@ -31,8 +31,8 @@ import org.hyperledger.besu.consensus.common.validator.ValidatorProvider; import org.hyperledger.besu.consensus.qbft.MutableQbftConfigOptions; import org.hyperledger.besu.consensus.qbft.QbftExtraDataCodec; import org.hyperledger.besu.consensus.qbft.validator.ForkingValidatorProvider; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.GasLimitCalculator; diff --git a/besu/src/test/java/org/hyperledger/besu/controller/TransitionControllerBuilderTest.java b/besu/src/test/java/org/hyperledger/besu/controller/TransitionControllerBuilderTest.java index 83b6167d5..c6f895f34 100644 --- a/besu/src/test/java/org/hyperledger/besu/controller/TransitionControllerBuilderTest.java +++ b/besu/src/test/java/org/hyperledger/besu/controller/TransitionControllerBuilderTest.java @@ -27,7 +27,7 @@ import org.hyperledger.besu.consensus.merge.MergeContext; import org.hyperledger.besu.consensus.merge.PostMergeContext; import org.hyperledger.besu.consensus.merge.TransitionProtocolSchedule; import org.hyperledger.besu.consensus.merge.blockcreation.TransitionCoordinator; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.chain.MutableBlockchain; diff --git a/consensus/clique/build.gradle b/consensus/clique/build.gradle index 4b42c156a..b6c39a703 100644 --- a/consensus/clique/build.gradle +++ b/consensus/clique/build.gradle @@ -32,7 +32,7 @@ repositories { mavenCentral() } dependencies { implementation project(':config') implementation project(':consensus:common') - implementation project(':crypto') + implementation project(':crypto:services') implementation project(':datatypes') implementation project(':ethereum:api') implementation project(':ethereum:blockcreation') @@ -51,7 +51,7 @@ dependencies { implementation 'org.apache.tuweni:tuweni-units' testImplementation project(path: ':consensus:common', configuration: 'testArtifacts') - testImplementation project(path: ':crypto', configuration: 'testSupportArtifacts') + testImplementation project(path: ':crypto:services', configuration: 'testSupportArtifacts') testImplementation project(':metrics:core') testImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts') testImplementation project(':testutil') diff --git a/consensus/clique/src/main/java/org/hyperledger/besu/consensus/clique/CliqueProtocolSchedule.java b/consensus/clique/src/main/java/org/hyperledger/besu/consensus/clique/CliqueProtocolSchedule.java index a0aa080b9..f1f3f0b9b 100644 --- a/consensus/clique/src/main/java/org/hyperledger/besu/consensus/clique/CliqueProtocolSchedule.java +++ b/consensus/clique/src/main/java/org/hyperledger/besu/consensus/clique/CliqueProtocolSchedule.java @@ -17,7 +17,7 @@ package org.hyperledger.besu.consensus.clique; import org.hyperledger.besu.config.CliqueConfigOptions; import org.hyperledger.besu.config.GenesisConfigOptions; import org.hyperledger.besu.consensus.common.EpochManager; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.core.PrivacyParameters; diff --git a/consensus/clique/src/main/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockCreator.java b/consensus/clique/src/main/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockCreator.java index b3d3f3b94..861b7aad0 100644 --- a/consensus/clique/src/main/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockCreator.java +++ b/consensus/clique/src/main/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockCreator.java @@ -22,7 +22,7 @@ import org.hyperledger.besu.consensus.clique.CliqueContext; import org.hyperledger.besu.consensus.clique.CliqueExtraData; import org.hyperledger.besu.consensus.common.EpochManager; import org.hyperledger.besu.consensus.common.validator.ValidatorVote; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; diff --git a/consensus/clique/src/main/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueMinerExecutor.java b/consensus/clique/src/main/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueMinerExecutor.java index bf7016f3c..d9b7ed0e2 100644 --- a/consensus/clique/src/main/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueMinerExecutor.java +++ b/consensus/clique/src/main/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueMinerExecutor.java @@ -18,7 +18,7 @@ import org.hyperledger.besu.consensus.clique.CliqueContext; import org.hyperledger.besu.consensus.clique.CliqueExtraData; import org.hyperledger.besu.consensus.common.ConsensusHelpers; import org.hyperledger.besu.consensus.common.EpochManager; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.blockcreation.AbstractBlockScheduler; diff --git a/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/CliqueProtocolScheduleTest.java b/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/CliqueProtocolScheduleTest.java index ce483c1ec..ee9e610f3 100644 --- a/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/CliqueProtocolScheduleTest.java +++ b/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/CliqueProtocolScheduleTest.java @@ -22,8 +22,8 @@ import static org.mockito.Mockito.when; import org.hyperledger.besu.config.CliqueConfigOptions; import org.hyperledger.besu.config.GenesisConfigFile; import org.hyperledger.besu.config.GenesisConfigOptions; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.core.BlockHeader; diff --git a/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockCreatorTest.java b/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockCreatorTest.java index e286eaed5..8f3709b16 100644 --- a/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockCreatorTest.java +++ b/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockCreatorTest.java @@ -34,9 +34,9 @@ import org.hyperledger.besu.consensus.common.validator.ValidatorVote; import org.hyperledger.besu.consensus.common.validator.VoteProvider; import org.hyperledger.besu.consensus.common.validator.VoteType; import org.hyperledger.besu.crypto.KeyPair; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.ProtocolContext; diff --git a/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueMinerExecutorTest.java b/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueMinerExecutorTest.java index 18309a590..76caf56f5 100644 --- a/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueMinerExecutorTest.java +++ b/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueMinerExecutorTest.java @@ -28,8 +28,8 @@ import org.hyperledger.besu.consensus.clique.CliqueExtraData; import org.hyperledger.besu.consensus.clique.CliqueProtocolSchedule; import org.hyperledger.besu.consensus.common.EpochManager; import org.hyperledger.besu.consensus.common.validator.ValidatorProvider; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.ProtocolContext; diff --git a/consensus/common/build.gradle b/consensus/common/build.gradle index e19842fef..540cd7883 100644 --- a/consensus/common/build.gradle +++ b/consensus/common/build.gradle @@ -31,7 +31,7 @@ dependencies { api project(':plugin-api') implementation project(':config') - implementation project(':crypto') + implementation project(':crypto:services') implementation project(':datatypes') implementation project(':ethereum:api') implementation project(':ethereum:blockcreation') @@ -47,10 +47,10 @@ dependencies { implementation 'org.apache.tuweni:tuweni-bytes' testImplementation project(':config') - testImplementation project(':crypto') + testImplementation project(':crypto:algorithms') testImplementation project(':testutil') testImplementation project( path: ':ethereum:core', configuration: 'testSupportArtifacts') - testImplementation project( path: ':crypto', configuration: 'testSupportArtifacts') + testImplementation project( path: ':crypto:services', configuration: 'testSupportArtifacts') testImplementation project(':metrics:core') testImplementation 'junit:junit' @@ -61,7 +61,7 @@ dependencies { testRuntimeOnly 'org.junit.vintage:junit-vintage-engine' - testSupportImplementation project( path: ':crypto', configuration: 'testSupportArtifacts') + testSupportImplementation project( path: ':crypto:services', configuration: 'testSupportArtifacts') testSupportImplementation project( path: ':ethereum:core', configuration: 'testSupportArtifacts') testSupportImplementation 'org.mockito:mockito-core' testSupportImplementation 'org.assertj:assertj-core' diff --git a/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/PoaQueryServiceImpl.java b/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/PoaQueryServiceImpl.java index 0c13ebe5b..71d8871ef 100644 --- a/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/PoaQueryServiceImpl.java +++ b/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/PoaQueryServiceImpl.java @@ -14,9 +14,9 @@ */ package org.hyperledger.besu.consensus.common; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.chain.Blockchain; -import org.hyperledger.besu.plugin.data.Address; import org.hyperledger.besu.plugin.data.BlockHeader; import org.hyperledger.besu.plugin.services.metrics.PoAMetricsService; import org.hyperledger.besu.plugin.services.query.PoaQueryService; diff --git a/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/bft/queries/BftQueryServiceImpl.java b/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/bft/queries/BftQueryServiceImpl.java index f131b8bf8..55337cb5c 100644 --- a/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/bft/queries/BftQueryServiceImpl.java +++ b/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/bft/queries/BftQueryServiceImpl.java @@ -18,11 +18,11 @@ import org.hyperledger.besu.consensus.common.PoaQueryServiceImpl; import org.hyperledger.besu.consensus.common.bft.BftBlockInterface; import org.hyperledger.besu.consensus.common.bft.BftExtraData; import org.hyperledger.besu.consensus.common.validator.ValidatorProvider; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.chain.Blockchain; import org.hyperledger.besu.ethereum.core.BlockHeader; -import org.hyperledger.besu.plugin.data.Address; import org.hyperledger.besu.plugin.services.query.BftQueryService; import java.util.Collection; diff --git a/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/bft/statemachine/BftFinalState.java b/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/bft/statemachine/BftFinalState.java index 4dabe9b7b..13f695977 100644 --- a/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/bft/statemachine/BftFinalState.java +++ b/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/bft/statemachine/BftFinalState.java @@ -22,7 +22,7 @@ import org.hyperledger.besu.consensus.common.bft.blockcreation.BftBlockCreatorFa import org.hyperledger.besu.consensus.common.bft.blockcreation.ProposerSelector; import org.hyperledger.besu.consensus.common.bft.network.ValidatorMulticaster; import org.hyperledger.besu.consensus.common.validator.ValidatorProvider; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Address; import java.time.Clock; diff --git a/consensus/common/src/test-support/java/org/hyperledger/besu/consensus/common/bft/inttest/DefaultValidatorPeer.java b/consensus/common/src/test-support/java/org/hyperledger/besu/consensus/common/bft/inttest/DefaultValidatorPeer.java index 75208476c..aaa4b4a33 100644 --- a/consensus/common/src/test-support/java/org/hyperledger/besu/consensus/common/bft/inttest/DefaultValidatorPeer.java +++ b/consensus/common/src/test-support/java/org/hyperledger/besu/consensus/common/bft/inttest/DefaultValidatorPeer.java @@ -16,8 +16,8 @@ package org.hyperledger.besu.consensus.common.bft.inttest; import org.hyperledger.besu.consensus.common.bft.EventMultiplexer; import org.hyperledger.besu.consensus.common.bft.events.BftEvents; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPSignature; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.p2p.rlpx.connections.PeerConnection; diff --git a/consensus/common/src/test-support/java/org/hyperledger/besu/consensus/common/bft/inttest/NetworkLayout.java b/consensus/common/src/test-support/java/org/hyperledger/besu/consensus/common/bft/inttest/NetworkLayout.java index 0f0e3cba4..4fbeefcc8 100644 --- a/consensus/common/src/test-support/java/org/hyperledger/besu/consensus/common/bft/inttest/NetworkLayout.java +++ b/consensus/common/src/test-support/java/org/hyperledger/besu/consensus/common/bft/inttest/NetworkLayout.java @@ -14,8 +14,8 @@ */ package org.hyperledger.besu.consensus.common.bft.inttest; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.core.Util; diff --git a/consensus/common/src/test-support/java/org/hyperledger/besu/consensus/common/bft/inttest/NodeParams.java b/consensus/common/src/test-support/java/org/hyperledger/besu/consensus/common/bft/inttest/NodeParams.java index af88c6c2e..e384623cc 100644 --- a/consensus/common/src/test-support/java/org/hyperledger/besu/consensus/common/bft/inttest/NodeParams.java +++ b/consensus/common/src/test-support/java/org/hyperledger/besu/consensus/common/bft/inttest/NodeParams.java @@ -14,7 +14,7 @@ */ package org.hyperledger.besu.consensus.common.bft.inttest; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Address; public class NodeParams { diff --git a/consensus/common/src/test/java/org/hyperledger/besu/consensus/common/bft/BftExtraDataFixture.java b/consensus/common/src/test/java/org/hyperledger/besu/consensus/common/bft/BftExtraDataFixture.java index ede427c92..31bb7f17f 100644 --- a/consensus/common/src/test/java/org/hyperledger/besu/consensus/common/bft/BftExtraDataFixture.java +++ b/consensus/common/src/test/java/org/hyperledger/besu/consensus/common/bft/BftExtraDataFixture.java @@ -17,9 +17,9 @@ package org.hyperledger.besu.consensus.common.bft; import static java.util.Collections.emptyList; import static java.util.Collections.singletonList; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SECPSignature; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.core.BlockHeader; diff --git a/consensus/common/src/test/java/org/hyperledger/besu/consensus/common/bft/headervalidationrules/BftCoinbaseValidationRuleTest.java b/consensus/common/src/test/java/org/hyperledger/besu/consensus/common/bft/headervalidationrules/BftCoinbaseValidationRuleTest.java index 84bb2948f..d268c5144 100644 --- a/consensus/common/src/test/java/org/hyperledger/besu/consensus/common/bft/headervalidationrules/BftCoinbaseValidationRuleTest.java +++ b/consensus/common/src/test/java/org/hyperledger/besu/consensus/common/bft/headervalidationrules/BftCoinbaseValidationRuleTest.java @@ -17,8 +17,8 @@ package org.hyperledger.besu.consensus.common.bft.headervalidationrules; import static org.assertj.core.api.Assertions.assertThat; import static org.hyperledger.besu.consensus.common.bft.BftContextBuilder.setupContextWithValidators; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ProtocolContext; diff --git a/consensus/common/src/test/java/org/hyperledger/besu/consensus/common/bft/headervalidationrules/BftCommitSealsValidationRuleTest.java b/consensus/common/src/test/java/org/hyperledger/besu/consensus/common/bft/headervalidationrules/BftCommitSealsValidationRuleTest.java index 4a2b998a5..cae209bd6 100644 --- a/consensus/common/src/test/java/org/hyperledger/besu/consensus/common/bft/headervalidationrules/BftCommitSealsValidationRuleTest.java +++ b/consensus/common/src/test/java/org/hyperledger/besu/consensus/common/bft/headervalidationrules/BftCommitSealsValidationRuleTest.java @@ -23,8 +23,8 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import org.hyperledger.besu.consensus.common.bft.BftContext; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ProtocolContext; diff --git a/consensus/common/src/test/java/org/hyperledger/besu/consensus/common/bft/queries/BftQueryServiceImplTest.java b/consensus/common/src/test/java/org/hyperledger/besu/consensus/common/bft/queries/BftQueryServiceImplTest.java index e3f9caa0c..ab161c2c4 100644 --- a/consensus/common/src/test/java/org/hyperledger/besu/consensus/common/bft/queries/BftQueryServiceImplTest.java +++ b/consensus/common/src/test/java/org/hyperledger/besu/consensus/common/bft/queries/BftQueryServiceImplTest.java @@ -24,8 +24,8 @@ import org.hyperledger.besu.consensus.common.bft.BftBlockInterface; import org.hyperledger.besu.consensus.common.bft.BftExtraData; import org.hyperledger.besu.consensus.common.bft.BftExtraDataCodec; import org.hyperledger.besu.consensus.common.validator.ValidatorProvider; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.chain.Blockchain; diff --git a/consensus/ibft/build.gradle b/consensus/ibft/build.gradle index f21daec55..d5d76a1a2 100644 --- a/consensus/ibft/build.gradle +++ b/consensus/ibft/build.gradle @@ -30,7 +30,7 @@ jar { dependencies { implementation project(':consensus:common') implementation project(':config') - implementation project(':crypto') + implementation project(':crypto:services') implementation project(':datatypes') implementation project(':ethereum:api') implementation project(':ethereum:blockcreation') @@ -50,7 +50,7 @@ dependencies { integrationTestImplementation project(path: ':config', configuration: 'testSupportArtifacts') integrationTestImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts') - testImplementation project(path: ':crypto', configuration: 'testSupportArtifacts') + testImplementation project(path: ':crypto:services', configuration: 'testSupportArtifacts') testImplementation project(path: ':config', configuration: 'testSupportArtifacts') testImplementation project(path: ':consensus:common', configuration: 'testArtifacts') testImplementation project(path: ':consensus:common', configuration: 'testSupportArtifacts') @@ -60,7 +60,7 @@ dependencies { testImplementation project(':testutil') integrationTestImplementation project(path: ':consensus:common', configuration: 'testSupportArtifacts') - integrationTestImplementation project(path: ':crypto', configuration: 'testSupportArtifacts') + integrationTestImplementation project(path: ':crypto:services', configuration: 'testSupportArtifacts') integrationTestImplementation project(':metrics:core') integrationTestImplementation project(':testutil') diff --git a/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/support/IntegrationTestHelpers.java b/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/support/IntegrationTestHelpers.java index ae3139014..2586b7ad4 100644 --- a/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/support/IntegrationTestHelpers.java +++ b/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/support/IntegrationTestHelpers.java @@ -23,8 +23,8 @@ import org.hyperledger.besu.consensus.ibft.messagewrappers.Prepare; import org.hyperledger.besu.consensus.ibft.payload.CommitPayload; import org.hyperledger.besu.consensus.ibft.payload.MessageFactory; import org.hyperledger.besu.consensus.ibft.statemachine.PreparedRoundArtifacts; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPSignature; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.core.Block; import java.util.Optional; diff --git a/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/support/TestContextBuilder.java b/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/support/TestContextBuilder.java index dd6b94302..c0b85a434 100644 --- a/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/support/TestContextBuilder.java +++ b/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/support/TestContextBuilder.java @@ -61,7 +61,7 @@ import org.hyperledger.besu.consensus.ibft.statemachine.IbftBlockHeightManagerFa import org.hyperledger.besu.consensus.ibft.statemachine.IbftController; import org.hyperledger.besu.consensus.ibft.statemachine.IbftRoundFactory; import org.hyperledger.besu.consensus.ibft.validation.MessageValidatorFactory; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; diff --git a/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/tests/GossipTest.java b/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/tests/GossipTest.java index 01c9ab98b..d2658e4d6 100644 --- a/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/tests/GossipTest.java +++ b/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/tests/GossipTest.java @@ -32,7 +32,7 @@ import org.hyperledger.besu.consensus.ibft.support.RoundSpecificPeers; import org.hyperledger.besu.consensus.ibft.support.TestContext; import org.hyperledger.besu.consensus.ibft.support.TestContextBuilder; import org.hyperledger.besu.consensus.ibft.support.ValidatorPeer; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.ethereum.core.Block; import java.time.Clock; diff --git a/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/tests/SpuriousBehaviourTest.java b/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/tests/SpuriousBehaviourTest.java index 6f485a92b..5b65d6429 100644 --- a/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/tests/SpuriousBehaviourTest.java +++ b/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/tests/SpuriousBehaviourTest.java @@ -27,9 +27,9 @@ import org.hyperledger.besu.consensus.ibft.support.RoundSpecificPeers; import org.hyperledger.besu.consensus.ibft.support.TestContext; import org.hyperledger.besu.consensus.ibft.support.TestContextBuilder; import org.hyperledger.besu.consensus.ibft.support.ValidatorPeer; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SECPSignature; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.Util; diff --git a/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/tests/round/IbftRoundIntegrationTest.java b/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/tests/round/IbftRoundIntegrationTest.java index 3324e90c5..88669b915 100644 --- a/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/tests/round/IbftRoundIntegrationTest.java +++ b/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/tests/round/IbftRoundIntegrationTest.java @@ -34,10 +34,10 @@ import org.hyperledger.besu.consensus.ibft.payload.MessageFactory; import org.hyperledger.besu.consensus.ibft.statemachine.IbftRound; import org.hyperledger.besu.consensus.ibft.statemachine.RoundState; import org.hyperledger.besu.consensus.ibft.validation.MessageValidator; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SECPSignature; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.chain.MinedBlockObserver; diff --git a/consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/payload/MessageFactory.java b/consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/payload/MessageFactory.java index fe5a5fd9a..5e52dfcc5 100644 --- a/consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/payload/MessageFactory.java +++ b/consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/payload/MessageFactory.java @@ -22,8 +22,8 @@ import org.hyperledger.besu.consensus.ibft.messagewrappers.Prepare; import org.hyperledger.besu.consensus.ibft.messagewrappers.Proposal; import org.hyperledger.besu.consensus.ibft.messagewrappers.RoundChange; import org.hyperledger.besu.consensus.ibft.statemachine.PreparedRoundArtifacts; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPSignature; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.core.Block; diff --git a/consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/queries/IbftQueryServiceImpl.java b/consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/queries/IbftQueryServiceImpl.java index e4e4f1347..3683c6015 100644 --- a/consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/queries/IbftQueryServiceImpl.java +++ b/consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/queries/IbftQueryServiceImpl.java @@ -17,11 +17,11 @@ package org.hyperledger.besu.consensus.ibft.queries; import org.hyperledger.besu.consensus.common.PoaQueryServiceImpl; import org.hyperledger.besu.consensus.common.bft.BftBlockInterface; import org.hyperledger.besu.consensus.common.bft.BftExtraData; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.chain.Blockchain; import org.hyperledger.besu.ethereum.core.BlockHeader; -import org.hyperledger.besu.plugin.data.Address; import org.hyperledger.besu.plugin.services.query.IbftQueryService; import java.util.Collection; diff --git a/consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftRound.java b/consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftRound.java index 122a06ca4..3b40e563e 100644 --- a/consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftRound.java +++ b/consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftRound.java @@ -29,8 +29,8 @@ import org.hyperledger.besu.consensus.ibft.messagewrappers.Proposal; import org.hyperledger.besu.consensus.ibft.network.IbftMessageTransmitter; import org.hyperledger.besu.consensus.ibft.payload.MessageFactory; import org.hyperledger.besu.consensus.ibft.payload.RoundChangeCertificate; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPSignature; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.blockcreation.BlockCreator; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/BftBlockHashingTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/BftBlockHashingTest.java index b5c5a1b72..df726b3f6 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/BftBlockHashingTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/BftBlockHashingTest.java @@ -21,11 +21,11 @@ import org.hyperledger.besu.consensus.common.bft.BftBlockHashing; import org.hyperledger.besu.consensus.common.bft.BftBlockHeaderFunctions; import org.hyperledger.besu.consensus.common.bft.BftExtraData; import org.hyperledger.besu.consensus.common.bft.Vote; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SECPSignature; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.core.BlockHeader; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/IbftBlockHeaderUtils.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/IbftBlockHeaderUtils.java index 3e36d414e..dff11c1ff 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/IbftBlockHeaderUtils.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/IbftBlockHeaderUtils.java @@ -21,7 +21,7 @@ import org.hyperledger.besu.consensus.common.bft.BftExtraData; import org.hyperledger.besu.consensus.common.bft.BftExtraDataCodec; import org.hyperledger.besu.consensus.common.bft.BftExtraDataFixture; import org.hyperledger.besu.consensus.common.bft.Vote; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.core.BlockHeader; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/IbftBlockHeaderValidationRulesetFactoryTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/IbftBlockHeaderValidationRulesetFactoryTest.java index 5eaec7370..6c1bf8ed5 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/IbftBlockHeaderValidationRulesetFactoryTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/IbftBlockHeaderValidationRulesetFactoryTest.java @@ -23,8 +23,8 @@ import org.hyperledger.besu.consensus.common.bft.BftExtraData; import org.hyperledger.besu.consensus.common.bft.BftExtraDataCodec; import org.hyperledger.besu.consensus.common.bft.BftExtraDataFixture; import org.hyperledger.besu.consensus.common.bft.Vote; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/IbftGossipTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/IbftGossipTest.java index 2846d2869..7c5a3c38f 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/IbftGossipTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/IbftGossipTest.java @@ -22,8 +22,8 @@ import org.hyperledger.besu.consensus.common.bft.network.MockPeerFactory; import org.hyperledger.besu.consensus.common.bft.network.ValidatorMulticaster; import org.hyperledger.besu.consensus.ibft.messagedata.ProposalMessageData; import org.hyperledger.besu.consensus.ibft.messagedata.RoundChangeMessageData; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.core.AddressHelpers; import org.hyperledger.besu.ethereum.p2p.rlpx.connections.PeerConnection; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/IbftProtocolScheduleTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/IbftProtocolScheduleTest.java index 7960bbe40..080cfa138 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/IbftProtocolScheduleTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/IbftProtocolScheduleTest.java @@ -32,8 +32,8 @@ import org.hyperledger.besu.consensus.common.bft.BftContext; import org.hyperledger.besu.consensus.common.bft.BftExtraData; import org.hyperledger.besu.consensus.common.bft.BftExtraDataCodec; import org.hyperledger.besu.consensus.common.bft.MutableBftConfigOptions; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.core.BlockHeader; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/TestHelpers.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/TestHelpers.java index e5a60598b..ca1dfcbb2 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/TestHelpers.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/TestHelpers.java @@ -21,7 +21,7 @@ import org.hyperledger.besu.consensus.common.bft.ProposedBlockHelpers; import org.hyperledger.besu.consensus.ibft.messagewrappers.Proposal; import org.hyperledger.besu.consensus.ibft.messagewrappers.RoundChange; import org.hyperledger.besu.consensus.ibft.payload.MessageFactory; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.core.AddressHelpers; import org.hyperledger.besu.ethereum.core.Block; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftBlockHeightManagerTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftBlockHeightManagerTest.java index 777bac2c4..1fd93d61d 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftBlockHeightManagerTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftBlockHeightManagerTest.java @@ -52,9 +52,9 @@ import org.hyperledger.besu.consensus.ibft.payload.RoundChangeCertificate; import org.hyperledger.besu.consensus.ibft.validation.FutureRoundProposalMessageValidator; import org.hyperledger.besu.consensus.ibft.validation.MessageValidator; import org.hyperledger.besu.consensus.ibft.validation.MessageValidatorFactory; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ProtocolContext; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftRoundTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftRoundTest.java index 3826098ca..8023ff0a8 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftRoundTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftRoundTest.java @@ -39,10 +39,10 @@ import org.hyperledger.besu.consensus.ibft.network.IbftMessageTransmitter; import org.hyperledger.besu.consensus.ibft.payload.MessageFactory; import org.hyperledger.besu.consensus.ibft.payload.RoundChangeCertificate; import org.hyperledger.besu.consensus.ibft.validation.MessageValidator; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SECPSignature; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.blockcreation.BlockCreator.BlockCreationResult; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundChangeArtifactsTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundChangeArtifactsTest.java index 28c9b0f68..6f8de9077 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundChangeArtifactsTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundChangeArtifactsTest.java @@ -22,8 +22,8 @@ import org.hyperledger.besu.consensus.common.bft.ConsensusRoundIdentifier; import org.hyperledger.besu.consensus.common.bft.ProposedBlockHelpers; import org.hyperledger.besu.consensus.ibft.messagewrappers.RoundChange; import org.hyperledger.besu.consensus.ibft.payload.MessageFactory; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.ethereum.core.Block; import java.util.List; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundChangeManagerTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundChangeManagerTest.java index 634fde18a..4a850efad 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundChangeManagerTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundChangeManagerTest.java @@ -33,8 +33,8 @@ import org.hyperledger.besu.consensus.ibft.validation.ProposalBlockConsistencyVa import org.hyperledger.besu.consensus.ibft.validation.RoundChangeMessageValidator; import org.hyperledger.besu.consensus.ibft.validation.RoundChangePayloadValidator; import org.hyperledger.besu.consensus.ibft.validation.SignedDataValidator; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.Util; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundStateTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundStateTest.java index 00bf0371a..4ef23c3e2 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundStateTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundStateTest.java @@ -29,10 +29,10 @@ import org.hyperledger.besu.consensus.ibft.messagewrappers.Proposal; import org.hyperledger.besu.consensus.ibft.payload.MessageFactory; import org.hyperledger.besu.consensus.ibft.payload.PreparePayload; import org.hyperledger.besu.consensus.ibft.validation.MessageValidator; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.core.Block; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/FutureRoundProposalMessageValidatorTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/FutureRoundProposalMessageValidatorTest.java index 03b73e061..a7cfef362 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/FutureRoundProposalMessageValidatorTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/FutureRoundProposalMessageValidatorTest.java @@ -25,7 +25,7 @@ import org.hyperledger.besu.consensus.common.bft.ConsensusRoundIdentifier; import org.hyperledger.besu.consensus.common.bft.ProposedBlockHelpers; import org.hyperledger.besu.consensus.ibft.messagewrappers.Proposal; import org.hyperledger.besu.consensus.ibft.payload.MessageFactory; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.BlockHeader; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/MessageValidatorTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/MessageValidatorTest.java index 236c4552a..909d30b73 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/MessageValidatorTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/MessageValidatorTest.java @@ -32,8 +32,8 @@ import org.hyperledger.besu.consensus.ibft.messagewrappers.Prepare; import org.hyperledger.besu.consensus.ibft.messagewrappers.Proposal; import org.hyperledger.besu.consensus.ibft.payload.MessageFactory; import org.hyperledger.besu.consensus.ibft.payload.RoundChangeCertificate; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.BlockProcessingResult; import org.hyperledger.besu.ethereum.BlockValidator; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/ProposalBlockConsistencyValidatorTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/ProposalBlockConsistencyValidatorTest.java index a4c06e7c5..a3b1e7118 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/ProposalBlockConsistencyValidatorTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/ProposalBlockConsistencyValidatorTest.java @@ -25,7 +25,7 @@ import org.hyperledger.besu.consensus.common.bft.ProposedBlockHelpers; import org.hyperledger.besu.consensus.ibft.IbftExtraDataCodec; import org.hyperledger.besu.consensus.ibft.messagewrappers.Proposal; import org.hyperledger.besu.consensus.ibft.payload.MessageFactory; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.ethereum.core.Block; import java.util.Collections; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeCertificateValidatorTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeCertificateValidatorTest.java index dfc3a806b..32636e912 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeCertificateValidatorTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeCertificateValidatorTest.java @@ -31,8 +31,8 @@ import org.hyperledger.besu.consensus.ibft.payload.PreparedCertificate; import org.hyperledger.besu.consensus.ibft.payload.RoundChangeCertificate; import org.hyperledger.besu.consensus.ibft.statemachine.PreparedRoundArtifacts; import org.hyperledger.besu.consensus.ibft.validation.RoundChangePayloadValidator.MessageValidatorForHeightFactory; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.core.Block; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeMessageValidatorTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeMessageValidatorTest.java index 84f382771..83373f076 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeMessageValidatorTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeMessageValidatorTest.java @@ -24,7 +24,7 @@ import org.hyperledger.besu.consensus.common.bft.ConsensusRoundIdentifier; import org.hyperledger.besu.consensus.ibft.IbftExtraDataCodec; import org.hyperledger.besu.consensus.ibft.messagewrappers.RoundChange; import org.hyperledger.besu.consensus.ibft.payload.MessageFactory; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.junit.Test; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeSignedDataValidatorTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeSignedDataValidatorTest.java index 99fce4ade..3c436499d 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeSignedDataValidatorTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeSignedDataValidatorTest.java @@ -29,8 +29,8 @@ import org.hyperledger.besu.consensus.ibft.payload.MessageFactory; import org.hyperledger.besu.consensus.ibft.payload.PreparedCertificate; import org.hyperledger.besu.consensus.ibft.statemachine.PreparedRoundArtifacts; import org.hyperledger.besu.consensus.ibft.validation.RoundChangePayloadValidator.MessageValidatorForHeightFactory; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.core.Block; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/SignedDataValidatorTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/SignedDataValidatorTest.java index 037f51d3b..fd284574e 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/SignedDataValidatorTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/SignedDataValidatorTest.java @@ -25,8 +25,8 @@ import org.hyperledger.besu.consensus.ibft.messagewrappers.Commit; import org.hyperledger.besu.consensus.ibft.messagewrappers.Prepare; import org.hyperledger.besu.consensus.ibft.messagewrappers.Proposal; import org.hyperledger.besu.consensus.ibft.payload.MessageFactory; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.core.Block; diff --git a/consensus/ibftlegacy/build.gradle b/consensus/ibftlegacy/build.gradle index 926588166..3c4fdc8c5 100644 --- a/consensus/ibftlegacy/build.gradle +++ b/consensus/ibftlegacy/build.gradle @@ -16,7 +16,7 @@ dependencies { implementation project(':config') implementation project(':consensus:common') implementation project(':consensus:ibft') - implementation project(':crypto') + implementation project(':crypto:algorithms') implementation project(':datatypes') implementation project(':ethereum:api') implementation project(':ethereum:blockcreation') diff --git a/consensus/merge/build.gradle b/consensus/merge/build.gradle index 2dcccd2ba..1c52ee104 100644 --- a/consensus/merge/build.gradle +++ b/consensus/merge/build.gradle @@ -40,6 +40,7 @@ dependencies { implementation project(':ethereum:p2p') implementation project(':ethereum:trie') implementation project(':evm') + implementation project(':plugin-api') implementation project(':util') implementation 'com.fasterxml.jackson.core:jackson-databind' @@ -49,8 +50,8 @@ dependencies { implementation 'org.apache.tuweni:tuweni-units' testImplementation project(path: ':consensus:common', configuration: 'testArtifacts') - testImplementation project(':crypto') - testImplementation project(path: ':crypto', configuration: 'testSupportArtifacts') + testImplementation project(':crypto:algorithms') + testImplementation project(path: ':crypto:services', configuration: 'testSupportArtifacts') testImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts') testImplementation project(':metrics:core') testImplementation project(path: ':metrics:core', configuration: 'testSupportArtifacts') diff --git a/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/PayloadIdentifier.java b/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/PayloadIdentifier.java index 37678add9..9217ff5ec 100644 --- a/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/PayloadIdentifier.java +++ b/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/PayloadIdentifier.java @@ -16,7 +16,7 @@ package org.hyperledger.besu.consensus.merge.blockcreation; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; -import org.hyperledger.besu.plugin.data.Quantity; +import org.hyperledger.besu.datatypes.Quantity; import java.math.BigInteger; diff --git a/consensus/qbft/build.gradle b/consensus/qbft/build.gradle index 1bb4565a4..e2511ef31 100644 --- a/consensus/qbft/build.gradle +++ b/consensus/qbft/build.gradle @@ -30,7 +30,7 @@ jar { dependencies { implementation project(':config') implementation project(':consensus:common') - implementation project(':crypto') + implementation project(':crypto:services') implementation project(':datatypes') implementation project(':ethereum:api') implementation project(':ethereum:blockcreation') @@ -52,13 +52,13 @@ dependencies { integrationTestImplementation project(path: ':config', configuration: 'testSupportArtifacts') integrationTestImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts') - testImplementation project(path: ':crypto', configuration: 'testSupportArtifacts') + testImplementation project(path: ':crypto:services', configuration: 'testSupportArtifacts') testImplementation project(path: ':config', configuration: 'testSupportArtifacts') testImplementation project(path: ':consensus:common', configuration: 'testArtifacts') testImplementation project(path: ':consensus:common', configuration: 'testSupportArtifacts') testImplementation project(':ethereum:core') testImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts') - testImplementation project(':crypto') + testImplementation project(':crypto:algorithms') testImplementation project(':evm') testImplementation project(':metrics:core') testImplementation project(':testutil') @@ -71,8 +71,8 @@ dependencies { testRuntimeOnly 'org.junit.vintage:junit-vintage-engine' - integrationTestImplementation project(':crypto') - integrationTestImplementation project(path: ':crypto', configuration: 'testSupportArtifacts') + integrationTestImplementation project(':crypto:algorithms') + integrationTestImplementation project(path: ':crypto:services', configuration: 'testSupportArtifacts') integrationTestImplementation project(path: ':consensus:common', configuration: 'testSupportArtifacts') integrationTestImplementation project(':evm') integrationTestImplementation project(':metrics:core') diff --git a/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/support/IntegrationTestHelpers.java b/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/support/IntegrationTestHelpers.java index 5e847ff58..4a9f8e705 100644 --- a/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/support/IntegrationTestHelpers.java +++ b/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/support/IntegrationTestHelpers.java @@ -23,8 +23,8 @@ import org.hyperledger.besu.consensus.qbft.QbftExtraDataCodec; import org.hyperledger.besu.consensus.qbft.payload.CommitPayload; import org.hyperledger.besu.consensus.qbft.payload.MessageFactory; import org.hyperledger.besu.consensus.qbft.statemachine.PreparedCertificate; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPSignature; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.core.Block; public class IntegrationTestHelpers { diff --git a/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/support/TestContextBuilder.java b/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/support/TestContextBuilder.java index 6dfb03791..0a6337de7 100644 --- a/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/support/TestContextBuilder.java +++ b/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/support/TestContextBuilder.java @@ -73,7 +73,7 @@ import org.hyperledger.besu.consensus.qbft.validator.ForkingValidatorProvider; import org.hyperledger.besu.consensus.qbft.validator.TransactionValidatorProvider; import org.hyperledger.besu.consensus.qbft.validator.ValidatorContractController; import org.hyperledger.besu.consensus.qbft.validator.ValidatorModeTransitionLogger; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; diff --git a/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/test/GossipTest.java b/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/test/GossipTest.java index 25b552c10..fbe98de6b 100644 --- a/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/test/GossipTest.java +++ b/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/test/GossipTest.java @@ -30,7 +30,7 @@ import org.hyperledger.besu.consensus.qbft.support.RoundSpecificPeers; import org.hyperledger.besu.consensus.qbft.support.TestContext; import org.hyperledger.besu.consensus.qbft.support.TestContextBuilder; import org.hyperledger.besu.consensus.qbft.support.ValidatorPeer; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.ethereum.core.Block; import java.time.Clock; diff --git a/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/test/SpuriousBehaviourTest.java b/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/test/SpuriousBehaviourTest.java index 3a2525ec4..8f1bfb9a7 100644 --- a/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/test/SpuriousBehaviourTest.java +++ b/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/test/SpuriousBehaviourTest.java @@ -27,9 +27,9 @@ import org.hyperledger.besu.consensus.qbft.support.RoundSpecificPeers; import org.hyperledger.besu.consensus.qbft.support.TestContext; import org.hyperledger.besu.consensus.qbft.support.TestContextBuilder; import org.hyperledger.besu.consensus.qbft.support.ValidatorPeer; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SECPSignature; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.Util; diff --git a/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/test/ValidatorContractTest.java b/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/test/ValidatorContractTest.java index 705ebb933..a91ff3acb 100644 --- a/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/test/ValidatorContractTest.java +++ b/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/test/ValidatorContractTest.java @@ -31,7 +31,7 @@ import org.hyperledger.besu.consensus.qbft.support.RoundSpecificPeers; import org.hyperledger.besu.consensus.qbft.support.TestContext; import org.hyperledger.besu.consensus.qbft.support.TestContextBuilder; import org.hyperledger.besu.consensus.qbft.support.ValidatorPeer; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.BlockHeader; diff --git a/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/test/round/QbftRoundIntegrationTest.java b/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/test/round/QbftRoundIntegrationTest.java index cd75bb041..549717c59 100644 --- a/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/test/round/QbftRoundIntegrationTest.java +++ b/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/test/round/QbftRoundIntegrationTest.java @@ -36,10 +36,10 @@ import org.hyperledger.besu.consensus.qbft.payload.MessageFactory; import org.hyperledger.besu.consensus.qbft.statemachine.QbftRound; import org.hyperledger.besu.consensus.qbft.statemachine.RoundState; import org.hyperledger.besu.consensus.qbft.validation.MessageValidator; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SECPSignature; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.chain.MinedBlockObserver; diff --git a/consensus/qbft/src/main/java/org/hyperledger/besu/consensus/qbft/payload/MessageFactory.java b/consensus/qbft/src/main/java/org/hyperledger/besu/consensus/qbft/payload/MessageFactory.java index cb30231f3..860a4c9c4 100644 --- a/consensus/qbft/src/main/java/org/hyperledger/besu/consensus/qbft/payload/MessageFactory.java +++ b/consensus/qbft/src/main/java/org/hyperledger/besu/consensus/qbft/payload/MessageFactory.java @@ -22,8 +22,8 @@ import org.hyperledger.besu.consensus.qbft.messagewrappers.Prepare; import org.hyperledger.besu.consensus.qbft.messagewrappers.Proposal; import org.hyperledger.besu.consensus.qbft.messagewrappers.RoundChange; import org.hyperledger.besu.consensus.qbft.statemachine.PreparedCertificate; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPSignature; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.core.Block; diff --git a/consensus/qbft/src/main/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftRound.java b/consensus/qbft/src/main/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftRound.java index 50a9cf984..c31ee8be7 100644 --- a/consensus/qbft/src/main/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftRound.java +++ b/consensus/qbft/src/main/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftRound.java @@ -33,8 +33,8 @@ import org.hyperledger.besu.consensus.qbft.network.QbftMessageTransmitter; import org.hyperledger.besu.consensus.qbft.payload.MessageFactory; import org.hyperledger.besu.consensus.qbft.payload.PreparePayload; import org.hyperledger.besu.consensus.qbft.payload.RoundChangePayload; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPSignature; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.blockcreation.BlockCreator; diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/QbftBlockHeaderUtils.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/QbftBlockHeaderUtils.java index 516216fdf..1daed4c1d 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/QbftBlockHeaderUtils.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/QbftBlockHeaderUtils.java @@ -21,7 +21,7 @@ import org.hyperledger.besu.consensus.common.bft.BftExtraData; import org.hyperledger.besu.consensus.common.bft.BftExtraDataCodec; import org.hyperledger.besu.consensus.common.bft.BftExtraDataFixture; import org.hyperledger.besu.consensus.common.bft.Vote; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/QbftBlockHeaderValidationRulesetFactoryTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/QbftBlockHeaderValidationRulesetFactoryTest.java index bd147e164..8c310d970 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/QbftBlockHeaderValidationRulesetFactoryTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/QbftBlockHeaderValidationRulesetFactoryTest.java @@ -19,8 +19,8 @@ import static java.util.Collections.singletonList; import static org.assertj.core.api.Assertions.assertThat; import static org.hyperledger.besu.consensus.common.bft.BftContextBuilder.setupContextWithBftExtraDataEncoder; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/QbftProtocolScheduleTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/QbftProtocolScheduleTest.java index fb3aa2ce7..74c2e96c9 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/QbftProtocolScheduleTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/QbftProtocolScheduleTest.java @@ -27,8 +27,8 @@ import org.hyperledger.besu.config.QbftConfigOptions; import org.hyperledger.besu.consensus.common.ForkSpec; import org.hyperledger.besu.consensus.common.ForksSchedule; import org.hyperledger.besu.consensus.common.bft.BftExtraDataCodec; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.core.BlockHeader; diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/messagewrappers/CommitTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/messagewrappers/CommitTest.java index 9f43f50eb..71fa8eb64 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/messagewrappers/CommitTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/messagewrappers/CommitTest.java @@ -20,9 +20,9 @@ import org.hyperledger.besu.consensus.common.bft.ConsensusRoundIdentifier; import org.hyperledger.besu.consensus.common.bft.payload.SignedData; import org.hyperledger.besu.consensus.qbft.messagedata.QbftV1; import org.hyperledger.besu.consensus.qbft.payload.CommitPayload; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.core.Util; diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/messagewrappers/PrepareTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/messagewrappers/PrepareTest.java index 37dbf1c90..eb84a1ae6 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/messagewrappers/PrepareTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/messagewrappers/PrepareTest.java @@ -20,8 +20,8 @@ import org.hyperledger.besu.consensus.common.bft.ConsensusRoundIdentifier; import org.hyperledger.besu.consensus.common.bft.payload.SignedData; import org.hyperledger.besu.consensus.qbft.messagedata.QbftV1; import org.hyperledger.besu.consensus.qbft.payload.PreparePayload; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.core.Util; diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/messagewrappers/ProposalTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/messagewrappers/ProposalTest.java index 14dde662d..47f8eb2c1 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/messagewrappers/ProposalTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/messagewrappers/ProposalTest.java @@ -26,8 +26,8 @@ import org.hyperledger.besu.consensus.qbft.payload.PreparePayload; import org.hyperledger.besu.consensus.qbft.payload.PreparedRoundMetadata; import org.hyperledger.besu.consensus.qbft.payload.ProposalPayload; import org.hyperledger.besu.consensus.qbft.payload.RoundChangePayload; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.BlockBody; diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/messagewrappers/RoundChangeTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/messagewrappers/RoundChangeTest.java index 34c430801..33c6df8ff 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/messagewrappers/RoundChangeTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/messagewrappers/RoundChangeTest.java @@ -25,8 +25,8 @@ import org.hyperledger.besu.consensus.qbft.messagedata.QbftV1; import org.hyperledger.besu.consensus.qbft.payload.PreparePayload; import org.hyperledger.besu.consensus.qbft.payload.PreparedRoundMetadata; import org.hyperledger.besu.consensus.qbft.payload.RoundChangePayload; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.BlockBody; diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftBlockHeightManagerTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftBlockHeightManagerTest.java index 2d04e0187..daf083c8f 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftBlockHeightManagerTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftBlockHeightManagerTest.java @@ -52,9 +52,9 @@ import org.hyperledger.besu.consensus.qbft.payload.MessageFactory; import org.hyperledger.besu.consensus.qbft.validation.FutureRoundProposalMessageValidator; import org.hyperledger.besu.consensus.qbft.validation.MessageValidator; import org.hyperledger.besu.consensus.qbft.validation.MessageValidatorFactory; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ProtocolContext; diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftRoundTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftRoundTest.java index e17947b0d..3459e9110 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftRoundTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftRoundTest.java @@ -43,10 +43,10 @@ import org.hyperledger.besu.consensus.qbft.network.QbftMessageTransmitter; import org.hyperledger.besu.consensus.qbft.payload.MessageFactory; import org.hyperledger.besu.consensus.qbft.payload.PreparePayload; import org.hyperledger.besu.consensus.qbft.validation.MessageValidator; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SECPSignature; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.blockcreation.BlockCreator.BlockCreationResult; diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/RoundStateTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/RoundStateTest.java index f2c815eca..26205adf5 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/RoundStateTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/RoundStateTest.java @@ -29,10 +29,10 @@ import org.hyperledger.besu.consensus.qbft.messagewrappers.Proposal; import org.hyperledger.besu.consensus.qbft.payload.MessageFactory; import org.hyperledger.besu.consensus.qbft.payload.PreparePayload; import org.hyperledger.besu.consensus.qbft.validation.MessageValidator; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.core.Block; diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/validation/ProposalPayloadValidatorTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/validation/ProposalPayloadValidatorTest.java index 0e8d44a65..5e117cc6c 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/validation/ProposalPayloadValidatorTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/validation/ProposalPayloadValidatorTest.java @@ -33,8 +33,8 @@ import org.hyperledger.besu.consensus.qbft.payload.MessageFactory; import org.hyperledger.besu.consensus.qbft.pki.PkiQbftBlockHeaderFunctions; import org.hyperledger.besu.consensus.qbft.pki.PkiQbftExtraData; import org.hyperledger.besu.consensus.qbft.pki.PkiQbftExtraDataCodec; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.BlockProcessingResult; diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/validation/QbftNode.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/validation/QbftNode.java index ca6c75647..d66952b69 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/validation/QbftNode.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/validation/QbftNode.java @@ -15,8 +15,8 @@ package org.hyperledger.besu.consensus.qbft.validation; import org.hyperledger.besu.consensus.qbft.payload.MessageFactory; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.core.Util; diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/validation/RoundChangePayloadValidatorTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/validation/RoundChangePayloadValidatorTest.java index aadb78fd4..ae403fe0f 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/validation/RoundChangePayloadValidatorTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/validation/RoundChangePayloadValidatorTest.java @@ -20,9 +20,9 @@ import org.hyperledger.besu.consensus.common.bft.ConsensusRoundIdentifier; import org.hyperledger.besu.consensus.common.bft.payload.SignedData; import org.hyperledger.besu.consensus.qbft.payload.PreparedRoundMetadata; import org.hyperledger.besu.consensus.qbft.payload.RoundChangePayload; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SECPSignature; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Hash; import java.util.Optional; diff --git a/crypto/algorithms/build.gradle b/crypto/algorithms/build.gradle new file mode 100644 index 000000000..3421c990b --- /dev/null +++ b/crypto/algorithms/build.gradle @@ -0,0 +1,48 @@ +/* + * Copyright Hyperledger Besu Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +apply plugin: 'java-library' + +jar { + archiveBaseName = 'besu-crypto' + manifest { + attributes( + 'Specification-Title': archiveBaseName, + 'Specification-Version': project.version, + 'Implementation-Title': archiveBaseName, + 'Implementation-Version': calculateVersion(), + 'Automatic-Module-Name': 'org.hyperledger.besu.internal.crypto' + ) + } +} + +dependencies { + api 'org.bouncycastle:bcprov-jdk15on' + api 'org.slf4j:slf4j-api' + + implementation 'net.java.dev.jna:jna' + implementation 'org.apache.tuweni:tuweni-bytes' + implementation 'org.apache.tuweni:tuweni-units' + implementation 'org.hyperledger.besu:secp256k1' + implementation 'org.hyperledger.besu:secp256r1' + implementation 'org.hyperledger.besu:blake2bf' + implementation 'com.google.guava:guava' + + testImplementation 'junit:junit' + testImplementation 'org.assertj:assertj-core' + testImplementation 'org.junit.jupiter:junit-jupiter' + + testRuntimeOnly 'org.junit.vintage:junit-vintage-engine' +} diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/AbstractSECP256.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/AbstractSECP256.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/AbstractSECP256.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/AbstractSECP256.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/BesuProvider.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/BesuProvider.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/BesuProvider.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/BesuProvider.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/Blake2bfMessageDigest.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/Blake2bfMessageDigest.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/Blake2bfMessageDigest.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/Blake2bfMessageDigest.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/ECPointUtil.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/ECPointUtil.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/ECPointUtil.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/ECPointUtil.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/Hash.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/Hash.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/Hash.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/Hash.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/KeyPair.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/KeyPair.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/KeyPair.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/KeyPair.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/KeyPairUtil.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/KeyPairUtil.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/KeyPairUtil.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/KeyPairUtil.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/MessageDigestFactory.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/MessageDigestFactory.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/MessageDigestFactory.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/MessageDigestFactory.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/SECP256K1.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SECP256K1.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/SECP256K1.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SECP256K1.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/SECP256R1.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SECP256R1.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/SECP256R1.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SECP256R1.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/SECPPrivateKey.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SECPPrivateKey.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/SECPPrivateKey.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SECPPrivateKey.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/SECPPublicKey.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SECPPublicKey.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/SECPPublicKey.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SECPPublicKey.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/SECPSignature.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SECPSignature.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/SECPSignature.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SECPSignature.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/SecureRandomProvider.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SecureRandomProvider.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/SecureRandomProvider.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SecureRandomProvider.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/SignatureAlgorithm.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SignatureAlgorithm.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/SignatureAlgorithm.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SignatureAlgorithm.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/SignatureAlgorithmFactory.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SignatureAlgorithmFactory.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/SignatureAlgorithmFactory.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SignatureAlgorithmFactory.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/SignatureAlgorithmType.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SignatureAlgorithmType.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/SignatureAlgorithmType.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SignatureAlgorithmType.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/AbstractFieldPoint.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/AbstractFieldPoint.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/AbstractFieldPoint.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/AbstractFieldPoint.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/AbstractFqp.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/AbstractFqp.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/AbstractFqp.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/AbstractFqp.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12Pairer.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12Pairer.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12Pairer.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12Pairer.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12Point.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12Point.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12Point.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12Point.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq2Point.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq2Point.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq2Point.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq2Point.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Point.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Point.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Point.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/AltBn128Point.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/FieldElement.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/FieldElement.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/FieldElement.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/FieldElement.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/FieldPoint.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/FieldPoint.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/FieldPoint.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/FieldPoint.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/Fq.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/Fq.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/Fq.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/Fq.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/Fq12.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/Fq12.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/Fq12.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/Fq12.java diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/Fq2.java b/crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/Fq2.java similarity index 100% rename from crypto/src/main/java/org/hyperledger/besu/crypto/altbn128/Fq2.java rename to crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/altbn128/Fq2.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/Blake2bfMessageDigestTest.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/Blake2bfMessageDigestTest.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/Blake2bfMessageDigestTest.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/Blake2bfMessageDigestTest.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/ECPointUtilTest.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/ECPointUtilTest.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/ECPointUtilTest.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/ECPointUtilTest.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/HashTest.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/HashTest.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/HashTest.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/HashTest.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/KeyPairTest.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/KeyPairTest.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/KeyPairTest.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/KeyPairTest.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/KeyPairUtilTest.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/KeyPairUtilTest.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/KeyPairUtilTest.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/KeyPairUtilTest.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/SECP256K1Test.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/SECP256K1Test.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/SECP256K1Test.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/SECP256K1Test.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/SECP256R1Test.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/SECP256R1Test.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/SECP256R1Test.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/SECP256R1Test.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/SECPPrivateKeyTest.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/SECPPrivateKeyTest.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/SECPPrivateKeyTest.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/SECPPrivateKeyTest.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/SECPPublicKeyTest.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/SECPPublicKeyTest.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/SECPPublicKeyTest.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/SECPPublicKeyTest.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/SECPSignatureTest.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/SECPSignatureTest.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/SECPSignatureTest.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/SECPSignatureTest.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/SignatureAlgorithmFactoryTest.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/SignatureAlgorithmFactoryTest.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/SignatureAlgorithmFactoryTest.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/SignatureAlgorithmFactoryTest.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/SignatureAlgorithmTypeTest.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/SignatureAlgorithmTypeTest.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/SignatureAlgorithmTypeTest.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/SignatureAlgorithmTypeTest.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12PairerTest.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12PairerTest.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12PairerTest.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12PairerTest.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12PointTest.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12PointTest.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12PointTest.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq12PointTest.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq2PointTest.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq2PointTest.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq2PointTest.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128Fq2PointTest.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128PointTest.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128PointTest.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128PointTest.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/altbn128/AltBn128PointTest.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/altbn128/Fq12Test.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/altbn128/Fq12Test.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/altbn128/Fq12Test.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/altbn128/Fq12Test.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/altbn128/Fq2Test.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/altbn128/Fq2Test.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/altbn128/Fq2Test.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/altbn128/Fq2Test.java diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/altbn128/FqTest.java b/crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/altbn128/FqTest.java similarity index 100% rename from crypto/src/test/java/org/hyperledger/besu/crypto/altbn128/FqTest.java rename to crypto/algorithms/src/test/java/org/hyperledger/besu/crypto/altbn128/FqTest.java diff --git a/crypto/src/test/resources/invalidPrivateKey.txt b/crypto/algorithms/src/test/resources/invalidPrivateKey.txt similarity index 100% rename from crypto/src/test/resources/invalidPrivateKey.txt rename to crypto/algorithms/src/test/resources/invalidPrivateKey.txt diff --git a/crypto/src/test/resources/org/hyperledger/besu/crypto/eip152TestCases.csv b/crypto/algorithms/src/test/resources/org/hyperledger/besu/crypto/eip152TestCases.csv similarity index 100% rename from crypto/src/test/resources/org/hyperledger/besu/crypto/eip152TestCases.csv rename to crypto/algorithms/src/test/resources/org/hyperledger/besu/crypto/eip152TestCases.csv diff --git a/crypto/src/test/resources/org/hyperledger/besu/crypto/validPrivateKey.txt b/crypto/algorithms/src/test/resources/org/hyperledger/besu/crypto/validPrivateKey.txt similarity index 100% rename from crypto/src/test/resources/org/hyperledger/besu/crypto/validPrivateKey.txt rename to crypto/algorithms/src/test/resources/org/hyperledger/besu/crypto/validPrivateKey.txt diff --git a/crypto/src/test/resources/validPrivateKey.txt b/crypto/algorithms/src/test/resources/validPrivateKey.txt similarity index 100% rename from crypto/src/test/resources/validPrivateKey.txt rename to crypto/algorithms/src/test/resources/validPrivateKey.txt diff --git a/crypto/build.gradle b/crypto/build.gradle index c050a1327..0695c56e7 100644 --- a/crypto/build.gradle +++ b/crypto/build.gradle @@ -13,40 +13,4 @@ * SPDX-License-Identifier: Apache-2.0 */ -apply plugin: 'java-library' - -jar { - archiveBaseName = 'besu-crypto' - manifest { - attributes( - 'Specification-Title': archiveBaseName, - 'Specification-Version': project.version, - 'Implementation-Title': archiveBaseName, - 'Implementation-Version': calculateVersion(), - 'Automatic-Module-Name': 'org.hyperledger.besu.internal.crypto' - ) - } -} - -dependencies { - api project(':plugin-api') - - api 'org.bouncycastle:bcprov-jdk15on' - api 'org.slf4j:slf4j-api' - - implementation 'net.java.dev.jna:jna' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.apache.tuweni:tuweni-units' - implementation 'org.hyperledger.besu:secp256k1' - implementation 'org.hyperledger.besu:secp256r1' - implementation 'org.hyperledger.besu:blake2bf' - implementation 'com.google.guava:guava' - - testImplementation 'junit:junit' - testImplementation 'org.assertj:assertj-core' - testImplementation 'org.junit.jupiter:junit-jupiter' - - testRuntimeOnly 'org.junit.vintage:junit-vintage-engine' -} - -artifacts { testSupportArtifacts testSupportJar } +jar { enabled = false } diff --git a/crypto/services/build.gradle b/crypto/services/build.gradle new file mode 100644 index 000000000..f6e082836 --- /dev/null +++ b/crypto/services/build.gradle @@ -0,0 +1,42 @@ +/* + * Copyright Hyperledger Besu Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +apply plugin: 'java-library' + +jar { + archiveBaseName = 'besu-crypto-services' + manifest { + attributes( + 'Specification-Title': archiveBaseName, + 'Specification-Version': project.version, + 'Implementation-Title': archiveBaseName, + 'Implementation-Version': calculateVersion(), + 'Automatic-Module-Name': 'org.hyperledger.besu.internal.crypto' + ) + } +} + +dependencies { + api project(':crypto:algorithms') + api project(':plugin-api') + + testImplementation 'junit:junit' + testImplementation 'org.assertj:assertj-core' + testImplementation 'org.junit.jupiter:junit-jupiter' + + testRuntimeOnly 'org.junit.vintage:junit-vintage-engine' +} + +artifacts { testSupportArtifacts testSupportJar } diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/KeyPairSecurityModule.java b/crypto/services/src/main/java/org/hyperledger/besu/cryptoservices/KeyPairSecurityModule.java similarity index 89% rename from crypto/src/main/java/org/hyperledger/besu/crypto/KeyPairSecurityModule.java rename to crypto/services/src/main/java/org/hyperledger/besu/cryptoservices/KeyPairSecurityModule.java index 974e95824..97759b54c 100644 --- a/crypto/src/main/java/org/hyperledger/besu/crypto/KeyPairSecurityModule.java +++ b/crypto/services/src/main/java/org/hyperledger/besu/cryptoservices/KeyPairSecurityModule.java @@ -12,10 +12,14 @@ * * SPDX-License-Identifier: Apache-2.0 */ -package org.hyperledger.besu.crypto; - -import static org.hyperledger.besu.crypto.ECPointUtil.fromBouncyCastleECPoint; +package org.hyperledger.besu.cryptoservices; +import org.hyperledger.besu.crypto.ECPointUtil; +import org.hyperledger.besu.crypto.KeyPair; +import org.hyperledger.besu.crypto.SECPPublicKey; +import org.hyperledger.besu.crypto.SECPSignature; +import org.hyperledger.besu.crypto.SignatureAlgorithm; +import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; import org.hyperledger.besu.plugin.services.securitymodule.SecurityModule; import org.hyperledger.besu.plugin.services.securitymodule.SecurityModuleException; import org.hyperledger.besu.plugin.services.securitymodule.data.PublicKey; @@ -49,7 +53,7 @@ public class KeyPairSecurityModule implements SecurityModule { private PublicKey convertPublicKey(final SECPPublicKey publicKey) { try { return new PublicKeyImpl( - fromBouncyCastleECPoint(signatureAlgorithm.publicKeyAsEcPoint(publicKey))); + ECPointUtil.fromBouncyCastleECPoint(signatureAlgorithm.publicKeyAsEcPoint(publicKey))); } catch (final Exception e) { throw new SecurityModuleException( "Unexpected error while converting ECPoint: " + e.getMessage(), e); diff --git a/crypto/src/main/java/org/hyperledger/besu/crypto/NodeKey.java b/crypto/services/src/main/java/org/hyperledger/besu/cryptoservices/NodeKey.java similarity index 87% rename from crypto/src/main/java/org/hyperledger/besu/crypto/NodeKey.java rename to crypto/services/src/main/java/org/hyperledger/besu/cryptoservices/NodeKey.java index 3d1e4e215..698336d3f 100644 --- a/crypto/src/main/java/org/hyperledger/besu/crypto/NodeKey.java +++ b/crypto/services/src/main/java/org/hyperledger/besu/cryptoservices/NodeKey.java @@ -12,8 +12,13 @@ * * SPDX-License-Identifier: Apache-2.0 */ -package org.hyperledger.besu.crypto; +package org.hyperledger.besu.cryptoservices; +import org.hyperledger.besu.crypto.ECPointUtil; +import org.hyperledger.besu.crypto.SECPPublicKey; +import org.hyperledger.besu.crypto.SECPSignature; +import org.hyperledger.besu.crypto.SignatureAlgorithm; +import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; import org.hyperledger.besu.plugin.services.securitymodule.SecurityModule; import org.hyperledger.besu.plugin.services.securitymodule.data.Signature; diff --git a/crypto/src/test-support/java/org/hyperledger/besu/crypto/NodeKeyUtils.java b/crypto/services/src/test-support/java/org/hyperledger/besu/cryptoservices/NodeKeyUtils.java similarity index 86% rename from crypto/src/test-support/java/org/hyperledger/besu/crypto/NodeKeyUtils.java rename to crypto/services/src/test-support/java/org/hyperledger/besu/cryptoservices/NodeKeyUtils.java index b45c3c6c1..783bd35ac 100644 --- a/crypto/src/test-support/java/org/hyperledger/besu/crypto/NodeKeyUtils.java +++ b/crypto/services/src/test-support/java/org/hyperledger/besu/cryptoservices/NodeKeyUtils.java @@ -12,7 +12,11 @@ * * SPDX-License-Identifier: Apache-2.0 */ -package org.hyperledger.besu.crypto; +package org.hyperledger.besu.cryptoservices; + +import org.hyperledger.besu.crypto.KeyPair; +import org.hyperledger.besu.crypto.SignatureAlgorithm; +import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; import org.apache.tuweni.bytes.Bytes32; diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/KeyPairSecurityModuleTest.java b/crypto/services/src/test/java/org/hyperledger/besu/cryptoservices/KeyPairSecurityModuleTest.java similarity index 85% rename from crypto/src/test/java/org/hyperledger/besu/crypto/KeyPairSecurityModuleTest.java rename to crypto/services/src/test/java/org/hyperledger/besu/cryptoservices/KeyPairSecurityModuleTest.java index c9edf57d2..68d369ae5 100644 --- a/crypto/src/test/java/org/hyperledger/besu/crypto/KeyPairSecurityModuleTest.java +++ b/crypto/services/src/test/java/org/hyperledger/besu/cryptoservices/KeyPairSecurityModuleTest.java @@ -12,7 +12,13 @@ * * SPDX-License-Identifier: Apache-2.0 */ -package org.hyperledger.besu.crypto; +package org.hyperledger.besu.cryptoservices; + +import org.hyperledger.besu.crypto.ECPointUtil; +import org.hyperledger.besu.crypto.KeyPair; +import org.hyperledger.besu.crypto.KeyPairUtil; +import org.hyperledger.besu.crypto.SECPPublicKey; +import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; import java.io.File; import java.io.IOException; diff --git a/crypto/src/test/java/org/hyperledger/besu/crypto/NodeKeyTest.java b/crypto/services/src/test/java/org/hyperledger/besu/cryptoservices/NodeKeyTest.java similarity index 90% rename from crypto/src/test/java/org/hyperledger/besu/crypto/NodeKeyTest.java rename to crypto/services/src/test/java/org/hyperledger/besu/cryptoservices/NodeKeyTest.java index 47dbd71fb..07008f06c 100644 --- a/crypto/src/test/java/org/hyperledger/besu/crypto/NodeKeyTest.java +++ b/crypto/services/src/test/java/org/hyperledger/besu/cryptoservices/NodeKeyTest.java @@ -12,7 +12,11 @@ * * SPDX-License-Identifier: Apache-2.0 */ -package org.hyperledger.besu.crypto; +package org.hyperledger.besu.cryptoservices; + +import org.hyperledger.besu.crypto.KeyPair; +import org.hyperledger.besu.crypto.SignatureAlgorithm; +import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; import org.apache.tuweni.bytes.Bytes; import org.apache.tuweni.bytes.Bytes32; diff --git a/datatypes/build.gradle b/datatypes/build.gradle index 6b57f19ed..4f01d4af5 100644 --- a/datatypes/build.gradle +++ b/datatypes/build.gradle @@ -29,13 +29,13 @@ jar { } dependencies { - api project(':plugin-api') - compileOnly 'com.fasterxml.jackson.core:jackson-databind' - implementation project(':crypto') + implementation project(':crypto:algorithms') implementation project(':ethereum:rlp') implementation 'com.google.guava:guava' + implementation 'org.apache.tuweni:tuweni-bytes' + implementation 'org.apache.tuweni:tuweni-units' testImplementation 'junit:junit' testImplementation 'org.assertj:assertj-core' diff --git a/datatypes/src/main/java/org/hyperledger/besu/datatypes/Address.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/Address.java index d33ba109a..8862d9461 100644 --- a/datatypes/src/main/java/org/hyperledger/besu/datatypes/Address.java +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/Address.java @@ -28,7 +28,7 @@ import org.apache.tuweni.bytes.Bytes32; import org.apache.tuweni.bytes.DelegatingBytes; /** A 160-bits account address. */ -public class Address extends DelegatingBytes implements org.hyperledger.besu.plugin.data.Address { +public class Address extends DelegatingBytes { /** The constant SIZE. */ public static final int SIZE = 20; @@ -237,14 +237,4 @@ public class Address extends DelegatingBytes implements org.hyperledger.besu.plu out.endList(); }))); } - - /** - * Convert plugin Address to this Address type. - * - * @param address the address - * @return the address - */ - public static Address fromPlugin(final org.hyperledger.besu.plugin.data.Address address) { - return address instanceof Address ? (Address) address : wrap(address.copy()); - } } diff --git a/datatypes/src/main/java/org/hyperledger/besu/datatypes/BLSPublicKey.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/BLSPublicKey.java index 564cdec7d..32e29cfdf 100644 --- a/datatypes/src/main/java/org/hyperledger/besu/datatypes/BLSPublicKey.java +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/BLSPublicKey.java @@ -24,8 +24,7 @@ import org.apache.tuweni.bytes.Bytes; import org.apache.tuweni.bytes.DelegatingBytes; /** A BLS public key. */ -public class BLSPublicKey extends DelegatingBytes - implements org.hyperledger.besu.plugin.data.PublicKey { +public class BLSPublicKey extends DelegatingBytes implements PublicKey { /** The constant SIZE. */ public static final int SIZE = 48; diff --git a/datatypes/src/main/java/org/hyperledger/besu/datatypes/BLSSignature.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/BLSSignature.java index e01cbea87..050205c17 100644 --- a/datatypes/src/main/java/org/hyperledger/besu/datatypes/BLSSignature.java +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/BLSSignature.java @@ -24,8 +24,7 @@ import org.apache.tuweni.bytes.Bytes; import org.apache.tuweni.bytes.DelegatingBytes; /** A BLS Signature * */ -public class BLSSignature extends DelegatingBytes - implements org.hyperledger.besu.plugin.data.Signature { +public class BLSSignature extends DelegatingBytes { /** The constant SIZE. */ public static final int SIZE = 96; diff --git a/datatypes/src/main/java/org/hyperledger/besu/datatypes/DataGas.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/DataGas.java index 4cc831af0..6028403ed 100644 --- a/datatypes/src/main/java/org/hyperledger/besu/datatypes/DataGas.java +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/DataGas.java @@ -14,8 +14,6 @@ */ package org.hyperledger.besu.datatypes; -import org.hyperledger.besu.plugin.data.Quantity; - import java.math.BigInteger; import org.apache.tuweni.bytes.Bytes; diff --git a/datatypes/src/main/java/org/hyperledger/besu/datatypes/GWei.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/GWei.java index 0ebc6a9b8..75bba998b 100644 --- a/datatypes/src/main/java/org/hyperledger/besu/datatypes/GWei.java +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/GWei.java @@ -14,8 +14,6 @@ */ package org.hyperledger.besu.datatypes; -import org.hyperledger.besu.plugin.data.Quantity; - import java.math.BigInteger; import org.apache.tuweni.bytes.Bytes; diff --git a/datatypes/src/main/java/org/hyperledger/besu/datatypes/Hash.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/Hash.java index bdf982118..cb14101ac 100644 --- a/datatypes/src/main/java/org/hyperledger/besu/datatypes/Hash.java +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/Hash.java @@ -24,7 +24,7 @@ import org.apache.tuweni.bytes.Bytes32; import org.apache.tuweni.bytes.DelegatingBytes32; /** A 32-bytes hash value as used in Ethereum blocks, usually the result of the KEC algorithm. */ -public class Hash extends DelegatingBytes32 implements org.hyperledger.besu.plugin.data.Hash { +public class Hash extends DelegatingBytes32 { /** The constant ZERO. */ public static final Hash ZERO = new Hash(Bytes32.ZERO); @@ -98,14 +98,4 @@ public class Hash extends DelegatingBytes32 implements org.hyperledger.besu.plug public static Hash fromHexStringLenient(final String str) { return new Hash(Bytes32.fromHexStringLenient(str)); } - - /** - * From plugin hash. - * - * @param blockHash the block hash - * @return the hash - */ - public static Hash fromPlugin(final org.hyperledger.besu.plugin.data.Hash blockHash) { - return blockHash instanceof Hash ? (Hash) blockHash : wrap(blockHash); - } } diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/PublicKey.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/PublicKey.java similarity index 89% rename from plugin-api/src/main/java/org/hyperledger/besu/plugin/data/PublicKey.java rename to datatypes/src/main/java/org/hyperledger/besu/datatypes/PublicKey.java index bdf5d7b58..9fce4c1c2 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/PublicKey.java +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/PublicKey.java @@ -12,12 +12,9 @@ * * SPDX-License-Identifier: Apache-2.0 */ -package org.hyperledger.besu.plugin.data; - -import org.hyperledger.besu.plugin.Unstable; +package org.hyperledger.besu.datatypes; import org.apache.tuweni.bytes.Bytes; /** An interface for {@link Bytes} that also represents a public key */ -@Unstable public interface PublicKey extends Bytes {} diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Quantity.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/Quantity.java similarity index 97% rename from plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Quantity.java rename to datatypes/src/main/java/org/hyperledger/besu/datatypes/Quantity.java index dbc6a524c..38adce316 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Quantity.java +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/Quantity.java @@ -12,7 +12,7 @@ * * SPDX-License-Identifier: Apache-2.0 */ -package org.hyperledger.besu.plugin.data; +package org.hyperledger.besu.datatypes; import java.math.BigInteger; diff --git a/datatypes/src/main/java/org/hyperledger/besu/datatypes/Wei.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/Wei.java index 75fa19ee6..2e2a8ac4f 100644 --- a/datatypes/src/main/java/org/hyperledger/besu/datatypes/Wei.java +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/Wei.java @@ -14,8 +14,6 @@ */ package org.hyperledger.besu.datatypes; -import org.hyperledger.besu.plugin.data.Quantity; - import java.math.BigInteger; import java.util.Arrays; diff --git a/enclave/build.gradle b/enclave/build.gradle index 3988017a7..ff3343462 100644 --- a/enclave/build.gradle +++ b/enclave/build.gradle @@ -1,6 +1,6 @@ dependencies { api project(':util') - api project(':crypto') + api project(':crypto:algorithms') api 'org.slf4j:slf4j-api' implementation 'com.fasterxml.jackson.core:jackson-databind' diff --git a/ethereum/api/build.gradle b/ethereum/api/build.gradle index 4a0e03bc5..68b53a3b7 100644 --- a/ethereum/api/build.gradle +++ b/ethereum/api/build.gradle @@ -35,7 +35,7 @@ dependencies { implementation project(':config') implementation project(':consensus:merge') - implementation project(':crypto') + implementation project(':crypto:services') implementation project(':datatypes') implementation project(':enclave') implementation project(':ethereum:blockcreation') @@ -82,7 +82,7 @@ dependencies { testImplementation project(':config') testImplementation project(path: ':config', configuration: 'testSupportArtifacts') - testImplementation project(path: ':crypto', configuration: 'testSupportArtifacts') + testImplementation project(path: ':crypto:services', configuration: 'testSupportArtifacts') testImplementation project(path: ':ethereum:core', configuration: 'testArtifacts') testImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts') testImplementation project(':services:kvstore') diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/eea/AbstractEeaSendRawTransaction.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/eea/AbstractEeaSendRawTransaction.java index fc2624a27..22d8de533 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/eea/AbstractEeaSendRawTransaction.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/eea/AbstractEeaSendRawTransaction.java @@ -87,12 +87,12 @@ public abstract class AbstractEeaSendRawTransaction implements JsonRpcMethod { id, convertTransactionInvalidReason(validationResult.getInvalidReason())); } - final org.hyperledger.besu.plugin.data.Address sender = + final Address sender = privateMarkerTransactionFactory.getSender( privateTransaction, privacyIdProvider.getPrivacyUserId(user)); final Transaction privateMarkerTransaction = - createPrivateMarkerTransaction(Address.fromPlugin(sender), privateTransaction, user); + createPrivateMarkerTransaction(sender, privateTransaction, user); return transactionPool .addLocalTransaction(privateMarkerTransaction) diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/query/StateBackupService.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/query/StateBackupService.java index 192d9aec4..cd8b3a1e5 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/query/StateBackupService.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/query/StateBackupService.java @@ -20,6 +20,7 @@ import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkState; import org.hyperledger.besu.config.JsonUtil; +import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.chain.Blockchain; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.BlockHeader; @@ -33,7 +34,6 @@ import org.hyperledger.besu.ethereum.trie.TrieIterator.State; import org.hyperledger.besu.ethereum.trie.patricia.StoredMerklePatriciaTrie; import org.hyperledger.besu.ethereum.worldstate.StateTrieAccountValue; import org.hyperledger.besu.ethereum.worldstate.WorldStateStorage; -import org.hyperledger.besu.plugin.data.Hash; import org.hyperledger.besu.util.io.RollingFileWriter; import java.io.IOException; diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/JsonRpcHttpServiceRpcApisTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/JsonRpcHttpServiceRpcApisTest.java index 504d59171..64b4208f2 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/JsonRpcHttpServiceRpcApisTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/JsonRpcHttpServiceRpcApisTest.java @@ -21,7 +21,7 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import org.hyperledger.besu.config.StubGenesisConfigOptions; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.api.jsonrpc.health.HealthService; diff --git a/ethereum/blockcreation/build.gradle b/ethereum/blockcreation/build.gradle index 2e4374518..6ab57e513 100644 --- a/ethereum/blockcreation/build.gradle +++ b/ethereum/blockcreation/build.gradle @@ -14,7 +14,7 @@ jar { dependencies { implementation project(':config') - implementation project(':crypto') + implementation project(':crypto:algorithms') implementation project(':datatypes') implementation project(':ethereum:core') implementation project(':ethereum:eth') diff --git a/ethereum/core/build.gradle b/ethereum/core/build.gradle index 41c3f3ad5..99a0f7d17 100644 --- a/ethereum/core/build.gradle +++ b/ethereum/core/build.gradle @@ -33,7 +33,7 @@ dependencies { annotationProcessor 'org.openjdk.jmh:jmh-generator-annprocess' implementation project(':config') - implementation project(':crypto') + implementation project(':crypto:algorithms') implementation project(':datatypes') implementation project(':enclave') implementation project(':ethereum:rlp') @@ -105,7 +105,7 @@ dependencies { testSupportImplementation 'org.mockito:mockito-core' jmhImplementation project(path: ':config', configuration: 'testSupportArtifacts') - jmhImplementation project(':crypto') + jmhImplementation project(':crypto:algorithms') jmhImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts') jmhImplementation project(':ethereum:rlp') jmhImplementation project(':ethereum:trie') diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/BonsaiWorldStateProvider.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/BonsaiWorldStateProvider.java index 5a87cd52b..5f921a603 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/BonsaiWorldStateProvider.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/BonsaiWorldStateProvider.java @@ -94,10 +94,9 @@ public class BonsaiWorldStateProvider implements WorldStateArchive { blockchain .getBlockHeader(persistedState.worldStateBlockHash) .ifPresent( - blockHeader -> { - this.trieLogManager.addCachedLayer( - blockHeader, persistedState.worldStateRootHash, persistedState); - }); + blockHeader -> + this.trieLogManager.addCachedLayer( + blockHeader, persistedState.worldStateRootHash, persistedState)); } @VisibleForTesting @@ -114,10 +113,9 @@ public class BonsaiWorldStateProvider implements WorldStateArchive { blockchain .getBlockHeader(persistedState.worldStateBlockHash) .ifPresent( - blockHeader -> { - this.trieLogManager.addCachedLayer( - blockHeader, persistedState.worldStateRootHash, persistedState); - }); + blockHeader -> + this.trieLogManager.addCachedLayer( + blockHeader, persistedState.worldStateRootHash, persistedState)); } @Override diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/worldview/BonsaiWorldState.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/worldview/BonsaiWorldState.java index 0fb1ef086..bfedf65cd 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/worldview/BonsaiWorldState.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/worldview/BonsaiWorldState.java @@ -132,8 +132,8 @@ public class BonsaiWorldState * @param blockHeader block to use */ public void resetWorldStateTo(final BlockHeader blockHeader) { - worldStateBlockHash = Hash.fromPlugin(blockHeader.getBlockHash()); - worldStateRootHash = Hash.fromPlugin(blockHeader.getStateRoot()); + worldStateBlockHash = blockHeader.getBlockHash(); + worldStateRootHash = blockHeader.getStateRoot(); } @Override diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Deposit.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Deposit.java index 3e449ccd8..b01d6deee 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Deposit.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Deposit.java @@ -17,12 +17,12 @@ package org.hyperledger.besu.ethereum.core; import org.hyperledger.besu.datatypes.BLSPublicKey; import org.hyperledger.besu.datatypes.BLSSignature; import org.hyperledger.besu.datatypes.GWei; +import org.hyperledger.besu.datatypes.PublicKey; import org.hyperledger.besu.ethereum.core.encoding.DepositDecoder; import org.hyperledger.besu.ethereum.core.encoding.DepositEncoder; import org.hyperledger.besu.ethereum.rlp.RLP; import org.hyperledger.besu.ethereum.rlp.RLPInput; import org.hyperledger.besu.ethereum.rlp.RLPOutput; -import org.hyperledger.besu.plugin.data.PublicKey; import java.util.Objects; diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Difficulty.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Difficulty.java index e4039e744..f939c6109 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Difficulty.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Difficulty.java @@ -14,7 +14,7 @@ */ package org.hyperledger.besu.ethereum.core; -import org.hyperledger.besu.plugin.data.Quantity; +import org.hyperledger.besu.datatypes.Quantity; import java.math.BigInteger; diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/LogWithMetadata.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/LogWithMetadata.java index 8217216eb..57721af98 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/LogWithMetadata.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/LogWithMetadata.java @@ -193,10 +193,10 @@ public class LogWithMetadata extends Log return new LogWithMetadata( pluginObject.getLogIndex(), pluginObject.getBlockNumber(), - Hash.fromPlugin(pluginObject.getBlockHash()), - Hash.fromPlugin(pluginObject.getTransactionHash()), + pluginObject.getBlockHash(), + pluginObject.getTransactionHash(), pluginObject.getTransactionIndex(), - Address.fromPlugin(pluginObject.getLogger()), + pluginObject.getLogger(), pluginObject.getData(), pluginObject.getTopics().stream().map(LogTopic::create).collect(Collectors.toList()), pluginObject.isRemoved()); diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Synchronizer.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Synchronizer.java index 8034d9e1f..7d60c4d35 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Synchronizer.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Synchronizer.java @@ -14,7 +14,7 @@ */ package org.hyperledger.besu.ethereum.core; -import org.hyperledger.besu.plugin.data.Address; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.plugin.data.SyncStatus; import org.hyperledger.besu.plugin.services.BesuEvents; diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java index b3a6da738..50eba0e95 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java @@ -25,6 +25,7 @@ import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; +import org.hyperledger.besu.datatypes.Quantity; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.core.encoding.TransactionDecoder; import org.hyperledger.besu.ethereum.core.encoding.TransactionEncoder; @@ -34,7 +35,6 @@ import org.hyperledger.besu.ethereum.rlp.RLPInput; import org.hyperledger.besu.ethereum.rlp.RLPOutput; import org.hyperledger.besu.ethereum.transaction.GoQuorumPrivateTransactionDetector; import org.hyperledger.besu.evm.AccessListEntry; -import org.hyperledger.besu.plugin.data.Quantity; import org.hyperledger.besu.plugin.data.TransactionType; import java.math.BigInteger; diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/TransactionReceipt.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/TransactionReceipt.java index 0ed054a63..a3a08c45a 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/TransactionReceipt.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/TransactionReceipt.java @@ -14,6 +14,7 @@ */ package org.hyperledger.besu.ethereum.core; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.mainnet.TransactionReceiptType; import org.hyperledger.besu.ethereum.rlp.BytesValueRLPInput; @@ -23,7 +24,6 @@ import org.hyperledger.besu.ethereum.rlp.RLPInput; import org.hyperledger.besu.ethereum.rlp.RLPOutput; import org.hyperledger.besu.evm.log.Log; import org.hyperledger.besu.evm.log.LogsBloomFilter; -import org.hyperledger.besu.plugin.data.Address; import org.hyperledger.besu.plugin.data.TransactionType; import java.util.List; diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ClassicDifficultyCalculators.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ClassicDifficultyCalculators.java index 0e7e5d08a..9a8f30d01 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ClassicDifficultyCalculators.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ClassicDifficultyCalculators.java @@ -15,7 +15,7 @@ package org.hyperledger.besu.ethereum.mainnet; import org.hyperledger.besu.datatypes.Hash; -import org.hyperledger.besu.plugin.data.Quantity; +import org.hyperledger.besu.datatypes.Quantity; import java.math.BigInteger; diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetDifficultyCalculators.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetDifficultyCalculators.java index e482cb1cd..520f3d536 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetDifficultyCalculators.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetDifficultyCalculators.java @@ -15,8 +15,8 @@ package org.hyperledger.besu.ethereum.mainnet; import org.hyperledger.besu.datatypes.Hash; +import org.hyperledger.besu.datatypes.Quantity; import org.hyperledger.besu.ethereum.core.BlockHeader; -import org.hyperledger.besu.plugin.data.Quantity; import java.math.BigInteger; diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/precompiles/privacy/FlexiblePrivacyPrecompiledContract.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/precompiles/privacy/FlexiblePrivacyPrecompiledContract.java index ec8121949..0dd6863f9 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/precompiles/privacy/FlexiblePrivacyPrecompiledContract.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/precompiles/privacy/FlexiblePrivacyPrecompiledContract.java @@ -14,12 +14,12 @@ */ package org.hyperledger.besu.ethereum.mainnet.precompiles.privacy; -import static org.hyperledger.besu.datatypes.Hash.fromPlugin; import static org.hyperledger.besu.ethereum.core.PrivacyParameters.FLEXIBLE_PRIVACY_PROXY; import static org.hyperledger.besu.ethereum.mainnet.PrivateStateUtils.KEY_IS_PERSISTING_PRIVATE_STATE; import static org.hyperledger.besu.ethereum.mainnet.PrivateStateUtils.KEY_PRIVATE_METADATA_UPDATER; import static org.hyperledger.besu.ethereum.mainnet.PrivateStateUtils.KEY_TRANSACTION_HASH; +import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.enclave.Enclave; import org.hyperledger.besu.enclave.EnclaveClientException; import org.hyperledger.besu.enclave.types.PrivacyGroup; @@ -44,7 +44,6 @@ import org.hyperledger.besu.ethereum.worldstate.WorldStateArchive; import org.hyperledger.besu.evm.frame.MessageFrame; import org.hyperledger.besu.evm.gascalculator.GasCalculator; import org.hyperledger.besu.evm.worldstate.WorldUpdater; -import org.hyperledger.besu.plugin.data.Hash; import org.hyperledger.besu.util.Subscribers; import java.util.Base64; @@ -154,7 +153,7 @@ public class FlexiblePrivacyPrecompiledContract extends PrivacyPrecompiledContra privateStateRootResolver.resolveLastStateRoot(privacyGroupId, privateMetadataUpdater); final MutableWorldState disposablePrivateState = - privateWorldStateArchive.getMutable(fromPlugin(lastRootHash), null).get(); + privateWorldStateArchive.getMutable(lastRootHash, null).get(); final WorldUpdater privateWorldStateUpdater = disposablePrivateState.updater(); diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/precompiles/privacy/PrivacyPrecompiledContract.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/precompiles/privacy/PrivacyPrecompiledContract.java index 948551a60..b1a754c9f 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/precompiles/privacy/PrivacyPrecompiledContract.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/precompiles/privacy/PrivacyPrecompiledContract.java @@ -14,12 +14,12 @@ */ package org.hyperledger.besu.ethereum.mainnet.precompiles.privacy; -import static org.hyperledger.besu.datatypes.Hash.fromPlugin; import static org.hyperledger.besu.ethereum.mainnet.PrivateStateUtils.KEY_IS_PERSISTING_PRIVATE_STATE; import static org.hyperledger.besu.ethereum.mainnet.PrivateStateUtils.KEY_PRIVATE_METADATA_UPDATER; import static org.hyperledger.besu.ethereum.mainnet.PrivateStateUtils.KEY_TRANSACTION_HASH; import static org.hyperledger.besu.ethereum.privacy.PrivateStateRootResolver.EMPTY_ROOT_HASH; +import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.enclave.Enclave; import org.hyperledger.besu.enclave.EnclaveClientException; import org.hyperledger.besu.enclave.EnclaveConfigurationException; @@ -46,7 +46,6 @@ import org.hyperledger.besu.evm.gascalculator.GasCalculator; import org.hyperledger.besu.evm.precompile.AbstractPrecompiledContract; import org.hyperledger.besu.evm.tracing.OperationTracer; import org.hyperledger.besu.evm.worldstate.WorldUpdater; -import org.hyperledger.besu.plugin.data.Hash; import java.util.Base64; import java.util.Optional; @@ -116,8 +115,7 @@ public class PrivacyPrecompiledContract extends AbstractPrecompiledContract { return NO_RESULT; } - final org.hyperledger.besu.plugin.data.Hash pmtHash = - messageFrame.getContextVariable(KEY_TRANSACTION_HASH); + final Hash pmtHash = messageFrame.getContextVariable(KEY_TRANSACTION_HASH); final String key = input.toBase64String(); final ReceiveResponse receiveResponse; @@ -168,7 +166,7 @@ public class PrivacyPrecompiledContract extends AbstractPrecompiledContract { privateStateRootResolver.resolveLastStateRoot(privacyGroupId, privateMetadataUpdater); final MutableWorldState disposablePrivateState = - privateWorldStateArchive.getMutable(fromPlugin(lastRootHash), null).get(); + privateWorldStateArchive.getMutable(lastRootHash, null).get(); final WorldUpdater privateWorldStateUpdater = disposablePrivateState.updater(); @@ -219,7 +217,7 @@ public class PrivacyPrecompiledContract extends AbstractPrecompiledContract { } void storePrivateMetadata( - final org.hyperledger.besu.plugin.data.Hash commitmentHash, + final Hash commitmentHash, final Bytes32 privacyGroupId, final MutableWorldState disposablePrivateState, final PrivateMetadataUpdater privateMetadataUpdater, @@ -236,8 +234,7 @@ public class PrivacyPrecompiledContract extends AbstractPrecompiledContract { privateMetadataUpdater.updatePrivacyGroupHeadBlockMap(privacyGroupId); privateMetadataUpdater.addPrivateTransactionMetadata( privacyGroupId, - new PrivateTransactionMetadata( - fromPlugin(commitmentHash), disposablePrivateState.rootHash())); + new PrivateTransactionMetadata(commitmentHash, disposablePrivateState.rootHash())); } TransactionProcessingResult processPrivateTransaction( diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/privacy/PrivateStateGenesisAllocator.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/privacy/PrivateStateGenesisAllocator.java index 1ce016b09..1f84f210b 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/privacy/PrivateStateGenesisAllocator.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/privacy/PrivateStateGenesisAllocator.java @@ -68,7 +68,7 @@ public class PrivateStateGenesisAllocator { .getAccounts() .forEach( (genesisAccount) -> { - final Address address = Address.fromPlugin(genesisAccount.getAddress()); + final Address address = genesisAccount.getAddress(); if (address.toBigInteger().compareTo(BigInteger.valueOf(Byte.MAX_VALUE)) < 0) { LOG.warn( "Genesis address {} is in reserved range and may be overwritten", address); diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/privacy/markertransaction/FixedKeySigningPrivateMarkerTransactionFactory.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/privacy/markertransaction/FixedKeySigningPrivateMarkerTransactionFactory.java index 425371d25..daca31fad 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/privacy/markertransaction/FixedKeySigningPrivateMarkerTransactionFactory.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/privacy/markertransaction/FixedKeySigningPrivateMarkerTransactionFactory.java @@ -15,8 +15,8 @@ package org.hyperledger.besu.ethereum.privacy.markertransaction; import org.hyperledger.besu.crypto.KeyPair; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.core.Util; -import org.hyperledger.besu.plugin.data.Address; import org.hyperledger.besu.plugin.data.PrivateTransaction; import org.hyperledger.besu.plugin.data.UnsignedPrivateMarkerTransaction; import org.hyperledger.besu.plugin.services.privacy.PrivateMarkerTransactionFactory; diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/privacy/markertransaction/RandomSigningPrivateMarkerTransactionFactory.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/privacy/markertransaction/RandomSigningPrivateMarkerTransactionFactory.java index fd7e4ce21..7dce7e906 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/privacy/markertransaction/RandomSigningPrivateMarkerTransactionFactory.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/privacy/markertransaction/RandomSigningPrivateMarkerTransactionFactory.java @@ -17,7 +17,7 @@ package org.hyperledger.besu.ethereum.privacy.markertransaction; import org.hyperledger.besu.crypto.KeyPair; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; -import org.hyperledger.besu.plugin.data.Address; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.plugin.data.PrivateTransaction; import org.hyperledger.besu.plugin.data.UnsignedPrivateMarkerTransaction; import org.hyperledger.besu.plugin.services.privacy.PrivateMarkerTransactionFactory; diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/privacy/markertransaction/SigningPrivateMarkerTransactionFactory.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/privacy/markertransaction/SigningPrivateMarkerTransactionFactory.java index addd959a7..db5156a36 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/privacy/markertransaction/SigningPrivateMarkerTransactionFactory.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/privacy/markertransaction/SigningPrivateMarkerTransactionFactory.java @@ -15,7 +15,6 @@ package org.hyperledger.besu.ethereum.privacy.markertransaction; import org.hyperledger.besu.crypto.KeyPair; -import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.core.Transaction; import org.hyperledger.besu.ethereum.rlp.BytesValueRLPOutput; @@ -36,7 +35,7 @@ public class SigningPrivateMarkerTransactionFactory { .gasPrice( unsignedPrivateMarkerTransaction.getGasPrice().map(Wei::fromQuantity).orElse(null)) .gasLimit(unsignedPrivateMarkerTransaction.getGasLimit()) - .to(Address.fromPlugin(unsignedPrivateMarkerTransaction.getTo().get())) + .to(unsignedPrivateMarkerTransaction.getTo().get()) .value(Wei.fromQuantity(unsignedPrivateMarkerTransaction.getValue())) .payload(unsignedPrivateMarkerTransaction.getPayload()) .signAndBuild(signingKey); diff --git a/ethereum/core/src/test-support/java/org/hyperledger/besu/ethereum/core/NonBesuBlockHeader.java b/ethereum/core/src/test-support/java/org/hyperledger/besu/ethereum/core/NonBesuBlockHeader.java index e12912ddb..e8c1b58c6 100644 --- a/ethereum/core/src/test-support/java/org/hyperledger/besu/ethereum/core/NonBesuBlockHeader.java +++ b/ethereum/core/src/test-support/java/org/hyperledger/besu/ethereum/core/NonBesuBlockHeader.java @@ -14,10 +14,10 @@ */ package org.hyperledger.besu.ethereum.core; -import org.hyperledger.besu.plugin.data.Address; +import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.Hash; +import org.hyperledger.besu.datatypes.Quantity; import org.hyperledger.besu.plugin.data.BlockHeader; -import org.hyperledger.besu.plugin.data.Hash; -import org.hyperledger.besu.plugin.data.Quantity; import java.util.Optional; diff --git a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/privacy/PrivateStateGenesisAllocatorTest.java b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/privacy/PrivateStateGenesisAllocatorTest.java index 3023750fe..d44be21cd 100644 --- a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/privacy/PrivateStateGenesisAllocatorTest.java +++ b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/privacy/PrivateStateGenesisAllocatorTest.java @@ -23,6 +23,7 @@ import static org.hyperledger.besu.ethereum.privacy.group.FlexibleGroupManagemen import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; +import org.hyperledger.besu.datatypes.Quantity; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.core.InMemoryKeyValueStorageProvider; import org.hyperledger.besu.ethereum.core.MutableWorldState; @@ -31,7 +32,6 @@ import org.hyperledger.besu.evm.account.Account; import org.hyperledger.besu.evm.worldstate.WorldUpdater; import org.hyperledger.besu.plugin.data.PrivacyGenesis; import org.hyperledger.besu.plugin.data.PrivacyGenesisAccount; -import org.hyperledger.besu.plugin.data.Quantity; import java.util.Collections; import java.util.List; @@ -56,7 +56,7 @@ public class PrivateStateGenesisAllocatorTest { List.of( new PrivacyGenesisAccount() { @Override - public org.hyperledger.besu.plugin.data.Address getAddress() { + public Address getAddress() { return genesisAddress; } diff --git a/ethereum/eth/build.gradle b/ethereum/eth/build.gradle index 1636bf781..4cd367dbb 100644 --- a/ethereum/eth/build.gradle +++ b/ethereum/eth/build.gradle @@ -64,8 +64,8 @@ dependencies { testImplementation project(':config') testImplementation project(path: ':config', configuration: 'testSupportArtifacts') - testImplementation project(':crypto') - testImplementation project(path: ':crypto', configuration: 'testSupportArtifacts') + testImplementation project(':crypto:services') + testImplementation project(path: ':crypto:services', configuration: 'testSupportArtifacts') testImplementation project(path: ':ethereum:core', configuration: 'testArtifacts') testImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts') testImplementation project(':ethereum:mock-p2p') diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/sync/DefaultSynchronizer.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/sync/DefaultSynchronizer.java index 9a133d357..369093e19 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/sync/DefaultSynchronizer.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/sync/DefaultSynchronizer.java @@ -18,6 +18,7 @@ import static com.google.common.base.Preconditions.checkNotNull; import org.hyperledger.besu.consensus.merge.ForkchoiceEvent; import org.hyperledger.besu.consensus.merge.UnverifiedForkchoiceListener; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.bonsai.BonsaiWorldStateProvider; import org.hyperledger.besu.ethereum.core.Synchronizer; @@ -37,7 +38,6 @@ import org.hyperledger.besu.ethereum.storage.StorageProvider; import org.hyperledger.besu.ethereum.worldstate.Pruner; import org.hyperledger.besu.ethereum.worldstate.WorldStateStorage; import org.hyperledger.besu.metrics.BesuMetricCategory; -import org.hyperledger.besu.plugin.data.Address; import org.hyperledger.besu.plugin.data.SyncStatus; import org.hyperledger.besu.plugin.services.BesuEvents.SyncStatusListener; import org.hyperledger.besu.plugin.services.MetricsSystem; diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/sync/state/SyncState.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/sync/state/SyncState.java index a13910bb4..af71e2f1c 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/sync/state/SyncState.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/sync/state/SyncState.java @@ -14,6 +14,7 @@ */ package org.hyperledger.besu.ethereum.eth.sync.state; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.chain.Blockchain; import org.hyperledger.besu.ethereum.chain.ChainHead; import org.hyperledger.besu.ethereum.core.BlockHeader; @@ -26,7 +27,6 @@ import org.hyperledger.besu.ethereum.eth.manager.EthPeers; import org.hyperledger.besu.ethereum.eth.sync.fastsync.checkpoint.Checkpoint; import org.hyperledger.besu.ethereum.eth.sync.worldstate.WorldStateDownloadStatus; import org.hyperledger.besu.ethereum.p2p.rlpx.wire.messages.DisconnectMessage.DisconnectReason; -import org.hyperledger.besu.plugin.data.Address; import org.hyperledger.besu.plugin.data.SyncStatus; import org.hyperledger.besu.plugin.services.BesuEvents.InitialSyncCompletionListener; import org.hyperledger.besu.plugin.services.BesuEvents.SyncStatusListener; diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TestNode.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TestNode.java index 63493da4b..c14cd450f 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TestNode.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TestNode.java @@ -24,8 +24,8 @@ import static org.mockito.Mockito.when; import org.hyperledger.besu.config.GenesisConfigFile; import org.hyperledger.besu.crypto.KeyPair; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.chain.GenesisState; diff --git a/ethereum/evmtool/build.gradle b/ethereum/evmtool/build.gradle index 798a0bc0b..002d47fd1 100644 --- a/ethereum/evmtool/build.gradle +++ b/ethereum/evmtool/build.gradle @@ -38,7 +38,7 @@ dependencies { implementation project(':besu') implementation project(':config') - implementation project(':crypto') + implementation project(':crypto:algorithms') implementation project(':datatypes') implementation project(':ethereum:api') implementation project(':ethereum:core') diff --git a/ethereum/p2p/build.gradle b/ethereum/p2p/build.gradle index 9ecdafabd..7de85f6d8 100644 --- a/ethereum/p2p/build.gradle +++ b/ethereum/p2p/build.gradle @@ -30,7 +30,7 @@ jar { dependencies { api 'org.slf4j:slf4j-api' - implementation project(':crypto') + implementation project(':crypto:services') implementation project(':datatypes') implementation project(':ethereum:core') implementation project(':ethereum:rlp') @@ -66,7 +66,7 @@ dependencies { // test dependencies. testImplementation project(path: ':ethereum:core', configuration: 'testArtifacts') testImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts') - testImplementation project(path: ':crypto', configuration: 'testSupportArtifacts') + testImplementation project(path: ':crypto:services', configuration: 'testSupportArtifacts') testImplementation project(':testutil') testImplementation 'com.fasterxml.jackson.core:jackson-databind' diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/PeerDiscoveryAgent.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/PeerDiscoveryAgent.java index af39fb495..6c1812335 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/PeerDiscoveryAgent.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/PeerDiscoveryAgent.java @@ -18,9 +18,9 @@ import static com.google.common.base.Preconditions.checkArgument; import static java.nio.charset.StandardCharsets.UTF_8; import org.hyperledger.besu.crypto.Hash; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.forkid.ForkIdManager; import org.hyperledger.besu.ethereum.p2p.config.DiscoveryConfiguration; import org.hyperledger.besu.ethereum.p2p.discovery.internal.Packet; diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/VertxPeerDiscoveryAgent.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/VertxPeerDiscoveryAgent.java index cb8cf5063..b76d5758c 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/VertxPeerDiscoveryAgent.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/VertxPeerDiscoveryAgent.java @@ -17,7 +17,7 @@ package org.hyperledger.besu.ethereum.p2p.discovery; import static com.google.common.base.Preconditions.checkArgument; import static org.apache.tuweni.bytes.Bytes.wrapBuffer; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.forkid.ForkIdManager; import org.hyperledger.besu.ethereum.p2p.config.DiscoveryConfiguration; import org.hyperledger.besu.ethereum.p2p.discovery.internal.Packet; diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/Packet.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/Packet.java index 512fd9723..e7e113bfb 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/Packet.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/Packet.java @@ -18,11 +18,11 @@ import static com.google.common.base.Preconditions.checkArgument; import static org.hyperledger.besu.crypto.Hash.keccak256; import static org.hyperledger.besu.util.Preconditions.checkGuard; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPPublicKey; import org.hyperledger.besu.crypto.SECPSignature; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.p2p.discovery.PeerDiscoveryPacketDecodingException; import org.hyperledger.besu.ethereum.rlp.BytesValueRLPOutput; import org.hyperledger.besu.ethereum.rlp.RLP; diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/PeerDiscoveryController.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/PeerDiscoveryController.java index 592a5d8c8..0112030ba 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/PeerDiscoveryController.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/PeerDiscoveryController.java @@ -20,7 +20,7 @@ import static com.google.common.base.Preconditions.checkState; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.concurrent.TimeUnit.SECONDS; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.forkid.ForkId; import org.hyperledger.besu.ethereum.forkid.ForkIdManager; import org.hyperledger.besu.ethereum.p2p.discovery.DiscoveryPeer; diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/network/DefaultP2PNetwork.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/network/DefaultP2PNetwork.java index 613518f44..b188ec589 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/network/DefaultP2PNetwork.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/network/DefaultP2PNetwork.java @@ -17,7 +17,7 @@ package org.hyperledger.besu.ethereum.p2p.network; import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkState; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.chain.Blockchain; import org.hyperledger.besu.ethereum.chain.MutableBlockchain; import org.hyperledger.besu.ethereum.core.Util; diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/plain/PlainHandshaker.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/plain/PlainHandshaker.java index 94dc1de38..cc109c87d 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/plain/PlainHandshaker.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/plain/PlainHandshaker.java @@ -16,9 +16,9 @@ package org.hyperledger.besu.ethereum.p2p.plain; import static com.google.common.base.Preconditions.checkState; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPPublicKey; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.p2p.rlpx.handshake.HandshakeException; import org.hyperledger.besu.ethereum.p2p.rlpx.handshake.HandshakeSecrets; import org.hyperledger.besu.ethereum.p2p.rlpx.handshake.Handshaker; diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/RlpxAgent.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/RlpxAgent.java index 83fe0656b..9510c4a8b 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/RlpxAgent.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/RlpxAgent.java @@ -18,8 +18,8 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkState; import static java.util.Objects.isNull; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPPublicKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.p2p.config.RlpxConfiguration; import org.hyperledger.besu.ethereum.p2p.discovery.DiscoveryPeer; import org.hyperledger.besu.ethereum.p2p.peers.LocalNode; diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/HandshakeHandlerInbound.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/HandshakeHandlerInbound.java index 8b4bdeb1b..f51e4cb28 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/HandshakeHandlerInbound.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/HandshakeHandlerInbound.java @@ -14,7 +14,7 @@ */ package org.hyperledger.besu.ethereum.p2p.rlpx.connections.netty; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.p2p.peers.LocalNode; import org.hyperledger.besu.ethereum.p2p.rlpx.connections.PeerConnection; import org.hyperledger.besu.ethereum.p2p.rlpx.connections.PeerConnectionEventDispatcher; diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/HandshakeHandlerOutbound.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/HandshakeHandlerOutbound.java index 4f970627e..f59622268 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/HandshakeHandlerOutbound.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/HandshakeHandlerOutbound.java @@ -14,8 +14,8 @@ */ package org.hyperledger.besu.ethereum.p2p.rlpx.connections.netty; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.p2p.peers.LocalNode; import org.hyperledger.besu.ethereum.p2p.peers.Peer; import org.hyperledger.besu.ethereum.p2p.rlpx.connections.PeerConnection; diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/NettyConnectionInitializer.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/NettyConnectionInitializer.java index 35b2af16c..2f4f4dfbe 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/NettyConnectionInitializer.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/NettyConnectionInitializer.java @@ -14,7 +14,7 @@ */ package org.hyperledger.besu.ethereum.p2p.rlpx.connections.netty; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.p2p.config.RlpxConfiguration; import org.hyperledger.besu.ethereum.p2p.discovery.DiscoveryPeer; import org.hyperledger.besu.ethereum.p2p.peers.LocalNode; diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/NettyTLSConnectionInitializer.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/NettyTLSConnectionInitializer.java index 7acf79225..df3b44992 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/NettyTLSConnectionInitializer.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/NettyTLSConnectionInitializer.java @@ -17,7 +17,7 @@ package org.hyperledger.besu.ethereum.p2p.rlpx.connections.netty; import static org.hyperledger.besu.ethereum.p2p.rlpx.RlpxFrameConstants.LENGTH_FRAME_SIZE; import static org.hyperledger.besu.ethereum.p2p.rlpx.RlpxFrameConstants.LENGTH_MAX_MESSAGE_FRAME; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.p2p.config.RlpxConfiguration; import org.hyperledger.besu.ethereum.p2p.peers.LocalNode; import org.hyperledger.besu.ethereum.p2p.plain.PlainFramer; diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/Handshaker.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/Handshaker.java index 41df0ec41..19e9556bf 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/Handshaker.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/Handshaker.java @@ -14,8 +14,8 @@ */ package org.hyperledger.besu.ethereum.p2p.rlpx.handshake; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPPublicKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.p2p.rlpx.handshake.ecies.ECIESHandshaker; import java.util.Optional; diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/ECIESEncryptionEngine.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/ECIESEncryptionEngine.java index 963245500..523ad677a 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/ECIESEncryptionEngine.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/ECIESEncryptionEngine.java @@ -17,10 +17,10 @@ package org.hyperledger.besu.ethereum.p2p.rlpx.handshake.ecies; import static com.google.common.base.Preconditions.checkArgument; import org.hyperledger.besu.crypto.KeyPair; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPPublicKey; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.apache.tuweni.bytes.Bytes; import org.bouncycastle.crypto.BufferedBlockCipher; diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/ECIESHandshaker.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/ECIESHandshaker.java index d5620e9fe..0538e36aa 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/ECIESHandshaker.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/ECIESHandshaker.java @@ -19,11 +19,11 @@ import static org.apache.tuweni.bytes.Bytes.concatenate; import static org.hyperledger.besu.crypto.Hash.keccak256; import org.hyperledger.besu.crypto.KeyPair; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPPublicKey; import org.hyperledger.besu.crypto.SecureRandomProvider; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.p2p.rlpx.handshake.HandshakeException; import org.hyperledger.besu.ethereum.p2p.rlpx.handshake.HandshakeSecrets; import org.hyperledger.besu.ethereum.p2p.rlpx.handshake.Handshaker; diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/EncryptedMessage.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/EncryptedMessage.java index 307325848..eec3dcca8 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/EncryptedMessage.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/EncryptedMessage.java @@ -14,11 +14,11 @@ */ package org.hyperledger.besu.ethereum.p2p.rlpx.handshake.ecies; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPPublicKey; import org.hyperledger.besu.crypto.SecureRandomProvider; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; import java.nio.ByteBuffer; import java.security.SecureRandom; diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/InitiatorHandshakeMessageV1.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/InitiatorHandshakeMessageV1.java index b9b635bc5..eedf394e2 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/InitiatorHandshakeMessageV1.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/InitiatorHandshakeMessageV1.java @@ -18,11 +18,11 @@ import static com.google.common.base.Preconditions.checkState; import org.hyperledger.besu.crypto.Hash; import org.hyperledger.besu.crypto.KeyPair; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPPublicKey; import org.hyperledger.besu.crypto.SECPSignature; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; import com.google.common.base.Supplier; import com.google.common.base.Suppliers; diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/InitiatorHandshakeMessageV4.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/InitiatorHandshakeMessageV4.java index a1f9f4862..88791244e 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/InitiatorHandshakeMessageV4.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/InitiatorHandshakeMessageV4.java @@ -16,11 +16,11 @@ package org.hyperledger.besu.ethereum.p2p.rlpx.handshake.ecies; import org.hyperledger.besu.crypto.Hash; import org.hyperledger.besu.crypto.KeyPair; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SECPPublicKey; import org.hyperledger.besu.crypto.SECPSignature; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.rlp.BytesValueRLPInput; import org.hyperledger.besu.ethereum.rlp.BytesValueRLPOutput; import org.hyperledger.besu.ethereum.rlp.RLPInput; diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/PeerDiscoveryAgentTest.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/PeerDiscoveryAgentTest.java index 742b3ced9..7c2eb09e2 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/PeerDiscoveryAgentTest.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/PeerDiscoveryAgentTest.java @@ -24,10 +24,10 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import org.hyperledger.besu.crypto.KeyPair; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.ethereum.forkid.ForkId; import org.hyperledger.besu.ethereum.p2p.discovery.PeerDiscoveryTestHelper.AgentBuilder; import org.hyperledger.besu.ethereum.p2p.discovery.internal.FindNeighborsPacketData; diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/PeerDiscoveryPacketSedesTest.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/PeerDiscoveryPacketSedesTest.java index 14fbb8ea3..36773080a 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/PeerDiscoveryPacketSedesTest.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/PeerDiscoveryPacketSedesTest.java @@ -18,8 +18,8 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.assertj.core.data.Offset.offset; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.ethereum.p2p.discovery.internal.FindNeighborsPacketData; import org.hyperledger.besu.ethereum.p2p.discovery.internal.NeighborsPacketData; import org.hyperledger.besu.ethereum.p2p.discovery.internal.Packet; diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/PeerDiscoveryTestHelper.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/PeerDiscoveryTestHelper.java index a23c43914..e51b6320a 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/PeerDiscoveryTestHelper.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/PeerDiscoveryTestHelper.java @@ -19,8 +19,8 @@ import static java.util.Arrays.asList; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.forkid.ForkId; import org.hyperledger.besu.ethereum.forkid.ForkIdManager; diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/MockPeerDiscoveryAgent.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/MockPeerDiscoveryAgent.java index 87ca46b4e..ea6e1593b 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/MockPeerDiscoveryAgent.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/MockPeerDiscoveryAgent.java @@ -16,7 +16,7 @@ package org.hyperledger.besu.ethereum.p2p.discovery.internal; import static org.apache.tuweni.bytes.Bytes.wrapBuffer; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.core.InMemoryKeyValueStorageProvider; import org.hyperledger.besu.ethereum.forkid.ForkIdManager; import org.hyperledger.besu.ethereum.p2p.config.DiscoveryConfiguration; diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/PeerDiscoveryControllerTest.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/PeerDiscoveryControllerTest.java index 74afc00bb..bce73cdc6 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/PeerDiscoveryControllerTest.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/PeerDiscoveryControllerTest.java @@ -32,9 +32,9 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import org.hyperledger.besu.crypto.Hash; -import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.forkid.ForkId; import org.hyperledger.besu.ethereum.forkid.ForkIdManager; import org.hyperledger.besu.ethereum.p2p.discovery.DiscoveryPeer; diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/PeerDiscoveryTableRefreshTest.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/PeerDiscoveryTableRefreshTest.java index 6f6285f9a..d607d4d50 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/PeerDiscoveryTableRefreshTest.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/PeerDiscoveryTableRefreshTest.java @@ -23,7 +23,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.forkid.ForkIdManager; import org.hyperledger.besu.ethereum.p2p.discovery.DiscoveryPeer; import org.hyperledger.besu.ethereum.p2p.discovery.PeerDiscoveryStatus; diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/DefaultP2PNetworkTest.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/DefaultP2PNetworkTest.java index d0c865b34..bc75c31f3 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/DefaultP2PNetworkTest.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/DefaultP2PNetworkTest.java @@ -26,8 +26,8 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.ethereum.core.InMemoryKeyValueStorageProvider; import org.hyperledger.besu.ethereum.p2p.config.DiscoveryConfiguration; import org.hyperledger.besu.ethereum.p2p.config.NetworkingConfiguration; diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/NetworkingServiceLifecycleTest.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/NetworkingServiceLifecycleTest.java index e17ec170b..0069cb12d 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/NetworkingServiceLifecycleTest.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/NetworkingServiceLifecycleTest.java @@ -23,8 +23,8 @@ import static org.junit.Assume.assumeThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.chain.MutableBlockchain; import org.hyperledger.besu.ethereum.core.Block; diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/P2PNetworkTest.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/P2PNetworkTest.java index 7ed9038ee..2e1d99fc4 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/P2PNetworkTest.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/P2PNetworkTest.java @@ -21,8 +21,8 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.chain.MutableBlockchain; import org.hyperledger.besu.ethereum.core.Block; diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/P2PPlainNetworkTest.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/P2PPlainNetworkTest.java index da947efc3..8d86a20da 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/P2PPlainNetworkTest.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/network/P2PPlainNetworkTest.java @@ -23,8 +23,8 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import org.hyperledger.besu.crypto.NodeKey; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.chain.MutableBlockchain; import org.hyperledger.besu.ethereum.core.Block; diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/RlpxAgentTest.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/RlpxAgentTest.java index 07590bf79..a1b28e2fa 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/RlpxAgentTest.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/RlpxAgentTest.java @@ -30,8 +30,8 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import org.hyperledger.besu.crypto.KeyPair; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.ethereum.p2p.config.RlpxConfiguration; import org.hyperledger.besu.ethereum.p2p.discovery.DiscoveryPeer; import org.hyperledger.besu.ethereum.p2p.peers.DefaultPeer; diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/NettyTLSConnectionInitializerTest.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/NettyTLSConnectionInitializerTest.java index e7b5cacca..2c6102b48 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/NettyTLSConnectionInitializerTest.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/NettyTLSConnectionInitializerTest.java @@ -21,7 +21,7 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import org.hyperledger.besu.crypto.NodeKey; +import org.hyperledger.besu.cryptoservices.NodeKey; import org.hyperledger.besu.ethereum.p2p.config.RlpxConfiguration; import org.hyperledger.besu.ethereum.p2p.peers.LocalNode; import org.hyperledger.besu.ethereum.p2p.rlpx.connections.PeerConnectionEventDispatcher; diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/ECIESHandshakeTest.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/ECIESHandshakeTest.java index 76c6854fa..d9edbac9f 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/ECIESHandshakeTest.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/ECIESHandshakeTest.java @@ -17,9 +17,9 @@ package org.hyperledger.besu.ethereum.p2p.rlpx.handshake.ecies; import static org.assertj.core.api.Assertions.assertThat; import org.hyperledger.besu.crypto.KeyPair; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import org.hyperledger.besu.ethereum.p2p.rlpx.handshake.Handshaker.HandshakeStatus; import java.util.Optional; diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/EncryptedMessageTest.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/EncryptedMessageTest.java index fad8c2e66..7be227ab2 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/EncryptedMessageTest.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/EncryptedMessageTest.java @@ -15,8 +15,8 @@ package org.hyperledger.besu.ethereum.p2p.rlpx.handshake.ecies; import org.hyperledger.besu.crypto.KeyPair; -import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import java.util.concurrent.ThreadLocalRandom; diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/InitiatorHandshakeMessageV4Test.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/InitiatorHandshakeMessageV4Test.java index 73126b712..f795fe8af 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/InitiatorHandshakeMessageV4Test.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/InitiatorHandshakeMessageV4Test.java @@ -16,7 +16,7 @@ package org.hyperledger.besu.ethereum.p2p.rlpx.handshake.ecies; import org.hyperledger.besu.crypto.KeyPair; import org.hyperledger.besu.crypto.KeyPairUtil; -import org.hyperledger.besu.crypto.NodeKeyUtils; +import org.hyperledger.besu.cryptoservices.NodeKeyUtils; import java.io.File; import java.io.IOException; diff --git a/ethereum/permissioning/build.gradle b/ethereum/permissioning/build.gradle index e70ffa33e..5b10e216e 100644 --- a/ethereum/permissioning/build.gradle +++ b/ethereum/permissioning/build.gradle @@ -30,12 +30,13 @@ jar { dependencies { api 'org.slf4j:slf4j-api' - implementation project(':crypto') + implementation project(':crypto:algorithms') implementation project(':datatypes') implementation project(':ethereum:core') implementation project(':ethereum:p2p') implementation project(':evm') implementation project(':metrics:core') + implementation project(':plugin-api') implementation project(':util') implementation 'com.fasterxml.jackson.core:jackson-databind' diff --git a/ethereum/referencetests/build.gradle b/ethereum/referencetests/build.gradle index a1c2c8349..3693f7198 100644 --- a/ethereum/referencetests/build.gradle +++ b/ethereum/referencetests/build.gradle @@ -112,7 +112,7 @@ sourceSets { dependencies { implementation project(':config') - implementation project(':crypto') + implementation project(':crypto:algorithms') implementation project(':datatypes') implementation project(':ethereum:core') implementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts') @@ -131,6 +131,7 @@ dependencies { referenceTestImplementation project(path: ':ethereum:rlp', configuration: 'testSupportArtifacts') referenceTestImplementation project(path: ':ethereum:trie') referenceTestImplementation project(path: ':evm') + referenceTestImplementation project(path: ':plugin-api') referenceTestImplementation project(path: ':testutil') referenceTestImplementation project(path: ':util') // the following will be resolved via custom ivy repository declared in root build.gradle @@ -138,6 +139,7 @@ dependencies { referenceTestImplementation 'com.fasterxml.jackson.core:jackson-databind' referenceTestImplementation 'com.google.guava:guava' referenceTestImplementation 'org.apache.tuweni:tuweni-bytes' + referenceTestImplementation 'org.apache.tuweni:tuweni-units' referenceTestImplementation 'org.assertj:assertj-core' referenceTestImplementation 'org.junit.jupiter:junit-jupiter-api' referenceTestImplementation 'org.junit.jupiter:junit-jupiter-params' diff --git a/ethereum/retesteth/src/main/java/org/hyperledger/besu/ethereum/retesteth/DummySynchronizer.java b/ethereum/retesteth/src/main/java/org/hyperledger/besu/ethereum/retesteth/DummySynchronizer.java index cfce9e791..6b10f2c68 100644 --- a/ethereum/retesteth/src/main/java/org/hyperledger/besu/ethereum/retesteth/DummySynchronizer.java +++ b/ethereum/retesteth/src/main/java/org/hyperledger/besu/ethereum/retesteth/DummySynchronizer.java @@ -15,8 +15,8 @@ package org.hyperledger.besu.ethereum.retesteth; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.ethereum.core.Synchronizer; -import org.hyperledger.besu.plugin.data.Address; import org.hyperledger.besu.plugin.data.SyncStatus; import org.hyperledger.besu.plugin.services.BesuEvents; diff --git a/ethereum/trie/build.gradle b/ethereum/trie/build.gradle index e3e232edb..c671a75bf 100644 --- a/ethereum/trie/build.gradle +++ b/ethereum/trie/build.gradle @@ -28,16 +28,18 @@ jar { } dependencies { - implementation project(':crypto') + implementation project(':crypto:algorithms') + implementation project(':datatypes') implementation project(':ethereum:rlp') + implementation project(':plugin-api') - implementation "org.immutables:value-annotations" + implementation 'org.immutables:value-annotations' implementation 'com.google.guava:guava' implementation 'io.opentelemetry:opentelemetry-api' implementation 'org.apache.tuweni:tuweni-bytes' implementation 'org.bouncycastle:bcprov-jdk15on' - annotationProcessor "org.immutables:value" + annotationProcessor 'org.immutables:value' testImplementation project(':services:kvstore') testImplementation project(':testutil') diff --git a/ethereum/trie/src/main/java/org/hyperledger/besu/ethereum/trie/MerkleTrieException.java b/ethereum/trie/src/main/java/org/hyperledger/besu/ethereum/trie/MerkleTrieException.java index 517dec341..546b6c155 100644 --- a/ethereum/trie/src/main/java/org/hyperledger/besu/ethereum/trie/MerkleTrieException.java +++ b/ethereum/trie/src/main/java/org/hyperledger/besu/ethereum/trie/MerkleTrieException.java @@ -14,7 +14,7 @@ */ package org.hyperledger.besu.ethereum.trie; -import org.hyperledger.besu.plugin.data.Address; +import org.hyperledger.besu.datatypes.Address; import java.util.Optional; diff --git a/ethereum/trie/src/test/java/org/hyperledger/besu/ethereum/trie/SnapPutVisitorTest.java b/ethereum/trie/src/test/java/org/hyperledger/besu/ethereum/trie/SnapPutVisitorTest.java index 6d692c876..76381d918 100644 --- a/ethereum/trie/src/test/java/org/hyperledger/besu/ethereum/trie/SnapPutVisitorTest.java +++ b/ethereum/trie/src/test/java/org/hyperledger/besu/ethereum/trie/SnapPutVisitorTest.java @@ -19,11 +19,11 @@ import static org.mockito.ArgumentMatchers.anyByte; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.trie.patricia.BranchNode; import org.hyperledger.besu.ethereum.trie.patricia.ExtensionNode; import org.hyperledger.besu.ethereum.trie.patricia.LeafNode; import org.hyperledger.besu.ethereum.trie.patricia.StoredNodeFactory; -import org.hyperledger.besu.plugin.data.Hash; import java.util.ArrayList; import java.util.Optional; diff --git a/ethereum/verkletrie/build.gradle b/ethereum/verkletrie/build.gradle index a99e79c8c..0ca780ba8 100644 --- a/ethereum/verkletrie/build.gradle +++ b/ethereum/verkletrie/build.gradle @@ -28,7 +28,7 @@ jar { } dependencies { - implementation project(':crypto') + implementation project(':crypto:algorithms') implementation project(':ethereum:rlp') implementation project(':ethereum:trie') @@ -36,6 +36,7 @@ dependencies { implementation 'com.google.guava:guava' implementation 'io.opentelemetry:opentelemetry-api' implementation 'org.apache.tuweni:tuweni-bytes' + implementation 'org.apache.tuweni:tuweni-units' implementation 'org.bouncycastle:bcprov-jdk15on' implementation 'org.hyperledger.besu:ipa-multipoint' diff --git a/evm/build.gradle b/evm/build.gradle index 15025d367..639cf7e61 100644 --- a/evm/build.gradle +++ b/evm/build.gradle @@ -33,19 +33,21 @@ jar { dependencies { api 'org.slf4j:slf4j-api' - implementation project(':crypto') + implementation project(':crypto:algorithms') implementation project(':datatypes') implementation project(':ethereum:rlp') + + implementation 'com.github.ben-manes.caffeine:caffeine' implementation 'com.google.guava:guava' + implementation 'net.java.dev.jna:jna' + implementation 'org.apache.tuweni:tuweni-bytes' + implementation 'org.apache.tuweni:tuweni-units' + implementation 'org.hyperledger.besu:arithmetic' + implementation 'org.hyperledger.besu:bls12-381' + implementation 'tech.pegasys:jc-kzg-4844' compileOnly 'com.fasterxml.jackson.core:jackson-databind' - implementation 'org.apache.tuweni:tuweni-bytes' - implementation 'org.hyperledger.besu:arithmetic' - implementation 'org.hyperledger.besu:bls12-381' - implementation 'net.java.dev.jna:jna' - implementation 'com.github.ben-manes.caffeine:caffeine' - implementation 'tech.pegasys:jc-kzg-4844' testImplementation 'com.fasterxml.jackson.core:jackson-databind' testImplementation 'info.picocli:picocli' testImplementation 'junit:junit' diff --git a/plugin-api/build.gradle b/plugin-api/build.gradle index 273719725..a199a8145 100644 --- a/plugin-api/build.gradle +++ b/plugin-api/build.gradle @@ -28,6 +28,7 @@ jar { } dependencies { + api project(':datatypes') api 'org.apache.commons:commons-lang3' api 'org.apache.tuweni:tuweni-bytes' api 'org.apache.tuweni:tuweni-units' @@ -67,7 +68,7 @@ Calculated : ${currentHash} tasks.register('checkAPIChanges', FileStateChecker) { description = "Checks that the API for the Plugin-API project does not change without deliberate thought" files = sourceSets.main.allJava.files - knownHash = 'vz5PRyq9wgwq3+t6KI5Rv/UWeK8faWxTRM4kJcAvGN4=' + knownHash = 'QyxfU17c/+NmSzQTkJ4gfZrrGvnXuup3Gv2H6P45wjg=' } check.dependsOn('checkAPIChanges') diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Address.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Address.java deleted file mode 100644 index 175c56d96..000000000 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Address.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright ConsenSys AG. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - */ -package org.hyperledger.besu.plugin.data; - -import org.apache.tuweni.bytes.Bytes; - -/** An interface for {@link Bytes} that also represents an Ethereum account address. */ -public interface Address extends Bytes {} diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/BlockHeader.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/BlockHeader.java index ee4f5fe9d..4105bfd89 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/BlockHeader.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/BlockHeader.java @@ -14,6 +14,9 @@ */ package org.hyperledger.besu.plugin.data; +import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.Hash; +import org.hyperledger.besu.datatypes.Quantity; import org.hyperledger.besu.plugin.Unstable; import java.util.Optional; diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Deposit.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Deposit.java index 1a821c4bf..2fe82effe 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Deposit.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Deposit.java @@ -14,6 +14,9 @@ */ package org.hyperledger.besu.plugin.data; +import org.hyperledger.besu.datatypes.BLSSignature; +import org.hyperledger.besu.datatypes.PublicKey; +import org.hyperledger.besu.datatypes.Quantity; import org.hyperledger.besu.plugin.Unstable; import org.apache.tuweni.bytes.Bytes32; @@ -53,7 +56,7 @@ public interface Deposit { * * @return signature */ - Signature getSignature(); + BLSSignature getSignature(); /** * A monotonically increasing index, starting from 0 that increments by 1 per deposit to uniquely diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Hash.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Hash.java deleted file mode 100644 index a29b5dc22..000000000 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Hash.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright ConsenSys AG. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - */ -package org.hyperledger.besu.plugin.data; - -import org.apache.tuweni.bytes.Bytes32; - -/** - * A marker interface indicating that this {@link Bytes32} represents a hash of some sort. The - * particular algorithm depends on the source, it may be ripemd, keccak, or some other algorithm. - */ -public interface Hash extends Bytes32 {} diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Log.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Log.java index 5233143d4..0d4c4c6b6 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Log.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Log.java @@ -14,6 +14,8 @@ */ package org.hyperledger.besu.plugin.data; +import org.hyperledger.besu.datatypes.Address; + import java.util.List; import org.apache.tuweni.bytes.Bytes; diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/LogWithMetadata.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/LogWithMetadata.java index 8c3ea39a6..08a4f8627 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/LogWithMetadata.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/LogWithMetadata.java @@ -14,6 +14,9 @@ */ package org.hyperledger.besu.plugin.data; +import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.Hash; + import java.util.List; import org.apache.tuweni.bytes.Bytes; diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/PrivacyGenesisAccount.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/PrivacyGenesisAccount.java index 98526164f..3026d3801 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/PrivacyGenesisAccount.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/PrivacyGenesisAccount.java @@ -14,6 +14,9 @@ */ package org.hyperledger.besu.plugin.data; +import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.Quantity; + import java.util.Map; import org.apache.tuweni.bytes.Bytes; diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/PrivateTransaction.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/PrivateTransaction.java index e2a45b5e1..4ab171eca 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/PrivateTransaction.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/PrivateTransaction.java @@ -14,6 +14,9 @@ */ package org.hyperledger.besu.plugin.data; +import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.Quantity; + import java.math.BigInteger; import java.util.List; import java.util.Optional; diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Transaction.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Transaction.java index 7b75cdca1..3d7c9f367 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Transaction.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Transaction.java @@ -14,6 +14,9 @@ */ package org.hyperledger.besu.plugin.data; +import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.Hash; +import org.hyperledger.besu.datatypes.Quantity; import org.hyperledger.besu.plugin.Unstable; import java.math.BigInteger; diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/UnsignedPrivateMarkerTransaction.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/UnsignedPrivateMarkerTransaction.java index 904847925..6528eed7e 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/UnsignedPrivateMarkerTransaction.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/UnsignedPrivateMarkerTransaction.java @@ -14,6 +14,9 @@ */ package org.hyperledger.besu.plugin.data; +import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.Quantity; + import java.util.Optional; import org.apache.tuweni.bytes.Bytes; diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Withdrawal.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Withdrawal.java index 081301f73..ab4594eb3 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Withdrawal.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Withdrawal.java @@ -14,6 +14,9 @@ */ package org.hyperledger.besu.plugin.data; +import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.Quantity; + import org.apache.tuweni.units.bigints.UInt64; /** diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/BesuEvents.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/BesuEvents.java index ffa63e19a..e484d9475 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/BesuEvents.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/BesuEvents.java @@ -14,8 +14,8 @@ */ package org.hyperledger.besu.plugin.services; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.plugin.data.AddedBlockContext; -import org.hyperledger.besu.plugin.data.Address; import org.hyperledger.besu.plugin.data.LogWithMetadata; import org.hyperledger.besu.plugin.data.PropagatedBlockContext; import org.hyperledger.besu.plugin.data.SyncStatus; diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/metrics/PoAMetricsService.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/metrics/PoAMetricsService.java index 27e5f9982..390d42455 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/metrics/PoAMetricsService.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/metrics/PoAMetricsService.java @@ -14,7 +14,7 @@ */ package org.hyperledger.besu.plugin.services.metrics; -import org.hyperledger.besu.plugin.data.Address; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.plugin.data.BlockHeader; import org.hyperledger.besu.plugin.services.BesuService; diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/privacy/PrivateMarkerTransactionFactory.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/privacy/PrivateMarkerTransactionFactory.java index 5b1a6c859..cbb3a039f 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/privacy/PrivateMarkerTransactionFactory.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/privacy/PrivateMarkerTransactionFactory.java @@ -14,7 +14,7 @@ */ package org.hyperledger.besu.plugin.services.privacy; -import org.hyperledger.besu.plugin.data.Address; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.plugin.data.PrivateTransaction; import org.hyperledger.besu.plugin.data.UnsignedPrivateMarkerTransaction; diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/query/BftQueryService.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/query/BftQueryService.java index 315dc32c0..ce5aa9eae 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/query/BftQueryService.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/query/BftQueryService.java @@ -14,7 +14,7 @@ */ package org.hyperledger.besu.plugin.services.query; -import org.hyperledger.besu.plugin.data.Address; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.plugin.data.BlockHeader; import java.util.Collection; diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/query/IbftQueryService.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/query/IbftQueryService.java index 23868bf87..be249ea5b 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/query/IbftQueryService.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/query/IbftQueryService.java @@ -14,7 +14,7 @@ */ package org.hyperledger.besu.plugin.services.query; -import org.hyperledger.besu.plugin.data.Address; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.plugin.data.BlockHeader; import java.util.Collection; diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/query/PoaQueryService.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/query/PoaQueryService.java index fa2c444ec..be958894d 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/query/PoaQueryService.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/query/PoaQueryService.java @@ -14,7 +14,7 @@ */ package org.hyperledger.besu.plugin.services.query; -import org.hyperledger.besu.plugin.data.Address; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.plugin.data.BlockHeader; import org.hyperledger.besu.plugin.services.BesuService; diff --git a/settings.gradle b/settings.gradle index ee06a0203..2e553ce86 100644 --- a/settings.gradle +++ b/settings.gradle @@ -45,7 +45,8 @@ include 'consensus:ibftlegacy' include 'consensus:merge' include 'consensus:qbft' include 'datatypes' -include 'crypto' +include 'crypto:algorithms' +include 'crypto:services' include 'datatypes' include 'enclave' include 'evm'