Skip to content

feat(crypto): add secp256r1 precompile and curve abstraction#19

Closed
Federico2014 wants to merge 98 commits intodevelopfrom
feature/add_secp256r1
Closed

feat(crypto): add secp256r1 precompile and curve abstraction#19
Federico2014 wants to merge 98 commits intodevelopfrom
feature/add_secp256r1

Conversation

@Federico2014
Copy link
Copy Markdown
Owner

@Federico2014 Federico2014 commented Apr 20, 2026

What does this PR do?

Adds secp256r1 (P-256/NIST) elliptic curve support to java-tron, including a new TVM precompiled contract for on-chain secp256r1 signature verification (RIP-7212 compatible).

  1. Added CurveParams interface (crypto module) to abstract EC curve parameters, making ECKey curve-agnostic
  2. Added Secp256k1Params and Secp256r1Params singletons implementing CurveParams — curve parameters are initialized once at class load time
  3. Extended ECKey with curve-parameterized constructors and factory methods (new ECKey(CurveParams), ECKey.fromPrivate(bytes, CurveParams)) so the same key operations work on both curves
  4. Updated ECKeyPairGenerator to accept CurveParams
  5. Added PrecompiledContracts.Secp256R1 at address 0x100, energy cost 6900 — accepts a 128-byte input (hash || r || s || pubkey_x || pubkey_y) and returns 0x01 on valid signature, 0x00 otherwise

Why are these changes required?

secp256r1 (also known as P-256) is the curve used by WebAuthn / passkeys and hardware security modules (e.g., Apple Secure Enclave, Android Keystore). Providing an on-chain precompile enables smart contracts to verify passkey signatures without prohibitive gas costs, which is the same motivation as RIP-7212.

Breaking Changes: None — all existing secp256k1 behavior is unchanged. The curve-parameterized APIs are additive.

This PR has been tested by:

  • Unit Tests — ECKeyR1Test (curve params, sign/verify, malleability, address recovery), Secp256R1ContractTest (test vectors JSON)
  • Build passes (./gradlew clean build -x test)

Extra details

Precompile address 0x100 (256) matches the RIP-7212 / Polygon/Optimism convention for secp256r1 verification.


Summary by cubic

Add secp256r1 (P-256) support and a new precompile for on-chain signature verification to enable passkey/WebAuthn signatures in smart contracts. ECKey is now curve-agnostic via a new curve abstraction, with no breaking changes.

  • New Features
    • Added CurveParams abstraction with Secp256k1Params and Secp256r1Params, making ECKey curve-agnostic.
    • Extended ECKey constructors/factories to accept curve params; updated ECKeyPairGenerator to use CurveParams.
    • Introduced PrecompiledContracts.Secp256R1 at address 0x100 (energy cost 6900); accepts 128-byte input (hash || r || s || pubkey_x || pubkey_y) and returns 0x01 on valid signatures, 0x00 otherwise; RIP-7212 compatible.
    • Added crypto helper Rsv and VMConstant.SIG_LENGTH for consistent signature handling.
    • No breaking changes; existing secp256k1 behavior is unchanged.

Written for commit b1426e6. Summary will update on new commits.

jwrct and others added 30 commits May 6, 2025 18:01
 feat(doc): update expired information for readme
  1. Bump commons-io from 2.11.0 to 2.18.0 to fix CVE-2024-47554.
  2. Bump jackson-databind from 2.13.4.2 to 2.18.3 to fix CVE-2023-35116, CVE-2025-52999.
  3. Bump java-util from 1.8.0 to 3.2.0 to fix CVE-2023-34610.
  4. Bump libp2p from 2.2.5 to 2.2.6.
  5. Bump jetty from 9.4.53 to 9.4.57 to fix CVE-2024-8184.
  6. Bump spring from 5.3.18 to 5.3.39 to fix CVE-2023-20863, CVE-2024-38820, CVE-2022-22968, CVE-2022-22970.
  7. Remove spring-tx, spring-web, hamcrest-junit, guice, java-sizeof, vavr.
feat(doc): update readme for telegram groups and doc link
  1. add missed config
  2. update seed ip list
      resolve implicit narrowing conversion and information exposure issues
halibobo1205 and others added 28 commits September 24, 2025 11:54
…ronprotocol#6453)

* feat(db): optimize the compatibility of obtaining transaction information
…6460)

Add 30-seconds timeout rule as a workaround to prevent GRPC unit tests hanging at ThreadlessExecutor.waitAndDrain
* replace the Exception with TronError

* remove plaintext key
…tronprotocol#6472)

* feat(db/rocksdb): improve resource management with try-with-resources
* feat(db/rocksdb):reactor code for ReadOptions and Options
…nprotocol#6476)

- Add StatusPrinter for error details in load()
- Restore default logger config in TronErrorTest
* update libp2p from 2.2.6 to 2.2.7
* add pom file
* fix(doc): update x86 java start params
…col#6486)

* remove peer from PeerManager after testcase
* add coverage of NodeInfoServiceTest
…estruct_restriction

func(vm): optimize selfdestruct restriction
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 20, 2026

Important

Review skipped

Too many files!

This PR contains 300 files, which is 150 over the limit of 150.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: dd6ae76e-3563-4c13-a8b9-f57b58696dd0

📥 Commits

Reviewing files that changed from the base of the PR and between 208807d and b1426e6.

📒 Files selected for processing (300)
  • README.md
  • actuator/src/main/java/org/tron/core/actuator/ProposalCreateActuator.java
  • actuator/src/main/java/org/tron/core/actuator/ShieldedTransferActuator.java
  • actuator/src/main/java/org/tron/core/utils/ProposalUtil.java
  • actuator/src/main/java/org/tron/core/vm/EnergyCost.java
  • actuator/src/main/java/org/tron/core/vm/OperationActions.java
  • actuator/src/main/java/org/tron/core/vm/OperationRegistry.java
  • actuator/src/main/java/org/tron/core/vm/PrecompiledContracts.java
  • actuator/src/main/java/org/tron/core/vm/VM.java
  • actuator/src/main/java/org/tron/core/vm/VMConstant.java
  • actuator/src/main/java/org/tron/core/vm/config/ConfigLoader.java
  • actuator/src/main/java/org/tron/core/vm/program/ContractState.java
  • actuator/src/main/java/org/tron/core/vm/program/Memory.java
  • actuator/src/main/java/org/tron/core/vm/program/Program.java
  • actuator/src/main/java/org/tron/core/vm/program/invoke/ProgramInvokeImpl.java
  • actuator/src/main/java/org/tron/core/vm/repository/Repository.java
  • actuator/src/main/java/org/tron/core/vm/repository/RepositoryImpl.java
  • actuator/src/main/java/org/tron/core/vm/repository/Type.java
  • actuator/src/main/java/org/tron/core/vm/repository/Value.java
  • actuator/src/main/java/org/tron/core/vm/repository/WriteOptionsWrapper.java
  • build.gradle
  • chainbase/build.gradle
  • chainbase/src/main/java/org/tron/common/storage/WriteOptionsWrapper.java
  • chainbase/src/main/java/org/tron/common/storage/leveldb/LevelDbDataSourceImpl.java
  • chainbase/src/main/java/org/tron/common/storage/rocksdb/RocksDbDataSourceImpl.java
  • chainbase/src/main/java/org/tron/common/utils/LocalWitnesses.java
  • chainbase/src/main/java/org/tron/common/utils/StorageUtils.java
  • chainbase/src/main/java/org/tron/common/zksnark/JLibrustzcash.java
  • chainbase/src/main/java/org/tron/common/zksnark/JLibsodium.java
  • chainbase/src/main/java/org/tron/core/capsule/TransactionCapsule.java
  • chainbase/src/main/java/org/tron/core/capsule/utils/MarketUtils.java
  • chainbase/src/main/java/org/tron/core/db/TronDatabase.java
  • chainbase/src/main/java/org/tron/core/db/TronStoreWithRevoking.java
  • chainbase/src/main/java/org/tron/core/db/common/DbSourceInter.java
  • chainbase/src/main/java/org/tron/core/db/common/iterator/RockStoreIterator.java
  • chainbase/src/main/java/org/tron/core/db/common/iterator/StoreIterator.java
  • chainbase/src/main/java/org/tron/core/db2/common/LevelDB.java
  • chainbase/src/main/java/org/tron/core/db2/common/RocksDB.java
  • chainbase/src/main/java/org/tron/core/db2/common/TxCacheDB.java
  • chainbase/src/main/java/org/tron/core/db2/core/SnapshotManager.java
  • chainbase/src/main/java/org/tron/core/store/AccountStore.java
  • chainbase/src/main/java/org/tron/core/store/CheckPointV2Store.java
  • chainbase/src/main/java/org/tron/core/store/DynamicPropertiesStore.java
  • chainbase/src/main/java/org/tron/core/store/MarketPairPriceToOrderStore.java
  • chainbase/src/main/java/org/tron/core/store/WitnessStore.java
  • common/build.gradle
  • common/src/main/java/org/tron/common/exit/ExitManager.java
  • common/src/main/java/org/tron/common/log/LogService.java
  • common/src/main/java/org/tron/common/logsfilter/FilterQuery.java
  • common/src/main/java/org/tron/common/parameter/CommonParameter.java
  • common/src/main/java/org/tron/common/setting/RocksDbSettings.java
  • common/src/main/java/org/tron/common/utils/ByteArray.java
  • common/src/main/java/org/tron/common/utils/StringUtil.java
  • common/src/main/java/org/tron/common/utils/TimeoutInterceptor.java
  • common/src/main/java/org/tron/core/Constant.java
  • common/src/main/java/org/tron/core/config/CommonConfig.java
  • common/src/main/java/org/tron/core/config/Parameter.java
  • common/src/main/java/org/tron/core/config/args/Storage.java
  • common/src/main/java/org/tron/core/exception/MaintenanceUnavailableException.java
  • common/src/main/java/org/tron/core/exception/P2pException.java
  • common/src/main/java/org/tron/core/exception/TronError.java
  • common/src/main/java/org/tron/core/exception/jsonrpc/JsonRpcExceedLimitException.java
  • common/src/main/java/org/tron/core/exception/jsonrpc/JsonRpcException.java
  • common/src/main/java/org/tron/core/exception/jsonrpc/JsonRpcInternalException.java
  • common/src/main/java/org/tron/core/exception/jsonrpc/JsonRpcInvalidParamsException.java
  • common/src/main/java/org/tron/core/exception/jsonrpc/JsonRpcInvalidRequestException.java
  • common/src/main/java/org/tron/core/exception/jsonrpc/JsonRpcMethodNotFoundException.java
  • common/src/main/java/org/tron/core/exception/jsonrpc/JsonRpcTooManyResultException.java
  • common/src/main/java/org/tron/core/vm/config/VMConfig.java
  • crypto/src/main/java/org/tron/common/crypto/ECKey.java
  • crypto/src/main/java/org/tron/common/crypto/Rsv.java
  • crypto/src/main/java/org/tron/common/crypto/curveparams/CurveParams.java
  • crypto/src/main/java/org/tron/common/crypto/curveparams/Secp256k1Params.java
  • crypto/src/main/java/org/tron/common/crypto/curveparams/Secp256r1Params.java
  • crypto/src/main/java/org/tron/common/crypto/jce/ECKeyPairGenerator.java
  • crypto/src/main/java/org/tron/common/crypto/sm2/SM2.java
  • crypto/src/main/java/org/tron/common/crypto/zksnark/Fp12.java
  • crypto/src/main/java/org/tron/common/crypto/zksnark/Fp2.java
  • crypto/src/main/java/org/tron/common/crypto/zksnark/Fp6.java
  • docker/arm64/Dockerfile
  • framework/build.gradle
  • framework/src/main/java/org/tron/common/application/RpcService.java
  • framework/src/main/java/org/tron/common/application/TronApplicationContext.java
  • framework/src/main/java/org/tron/common/backup/BackupManager.java
  • framework/src/main/java/org/tron/common/logsfilter/EventPluginLoader.java
  • framework/src/main/java/org/tron/core/Wallet.java
  • framework/src/main/java/org/tron/core/config/args/Args.java
  • framework/src/main/java/org/tron/core/config/args/WitnessInitializer.java
  • framework/src/main/java/org/tron/core/consensus/ConsensusService.java
  • framework/src/main/java/org/tron/core/consensus/ProposalService.java
  • framework/src/main/java/org/tron/core/db/Manager.java
  • framework/src/main/java/org/tron/core/metrics/node/NodeMetricManager.java
  • framework/src/main/java/org/tron/core/net/P2pEventHandlerImpl.java
  • framework/src/main/java/org/tron/core/net/P2pRateLimiter.java
  • framework/src/main/java/org/tron/core/net/message/handshake/HelloMessage.java
  • framework/src/main/java/org/tron/core/net/messagehandler/FetchInvDataMsgHandler.java
  • framework/src/main/java/org/tron/core/net/messagehandler/SyncBlockChainMsgHandler.java
  • framework/src/main/java/org/tron/core/net/peer/PeerConnection.java
  • framework/src/main/java/org/tron/core/net/peer/PeerStatusCheck.java
  • framework/src/main/java/org/tron/core/net/service/handshake/HandshakeService.java
  • framework/src/main/java/org/tron/core/net/service/relay/RelayService.java
  • framework/src/main/java/org/tron/core/net/service/sync/SyncService.java
  • framework/src/main/java/org/tron/core/services/RpcApiService.java
  • framework/src/main/java/org/tron/core/services/event/BlockEventGet.java
  • framework/src/main/java/org/tron/core/services/event/HistoryEventService.java
  • framework/src/main/java/org/tron/core/services/http/FullNodeHttpApiService.java
  • framework/src/main/java/org/tron/core/services/http/GetPaginatedNowWitnessListServlet.java
  • framework/src/main/java/org/tron/core/services/http/GetProposalByIdServlet.java
  • framework/src/main/java/org/tron/core/services/http/solidity/SolidityNodeHttpApiService.java
  • framework/src/main/java/org/tron/core/services/interfaceOnSolidity/RpcApiServiceOnSolidity.java
  • framework/src/main/java/org/tron/core/services/interfaceOnSolidity/http/GetPaginatedNowWitnessListOnSolidityServlet.java
  • framework/src/main/java/org/tron/core/services/interfaceOnSolidity/http/solidity/HttpApiOnSolidityService.java
  • framework/src/main/java/org/tron/core/services/jsonrpc/JsonRpcApiUtil.java
  • framework/src/main/java/org/tron/core/services/jsonrpc/JsonRpcErrorResolver.java
  • framework/src/main/java/org/tron/core/services/jsonrpc/JsonRpcServlet.java
  • framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java
  • framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java
  • framework/src/main/java/org/tron/core/services/jsonrpc/filters/LogBlockQuery.java
  • framework/src/main/java/org/tron/core/services/jsonrpc/filters/LogFilter.java
  • framework/src/main/java/org/tron/core/services/jsonrpc/filters/LogFilterAndResult.java
  • framework/src/main/java/org/tron/core/services/jsonrpc/filters/LogFilterWrapper.java
  • framework/src/main/java/org/tron/core/services/jsonrpc/filters/LogMatch.java
  • framework/src/main/java/org/tron/core/services/jsonrpc/types/BuildArguments.java
  • framework/src/main/java/org/tron/core/services/jsonrpc/types/CallArguments.java
  • framework/src/main/java/org/tron/core/services/jsonrpc/types/TransactionReceipt.java
  • framework/src/main/java/org/tron/core/services/jsonrpc/types/TransactionResult.java
  • framework/src/main/java/org/tron/core/zen/ZksnarkInitService.java
  • framework/src/main/java/org/tron/program/DBConvert.java
  • framework/src/main/java/org/tron/program/FullNode.java
  • framework/src/main/java/org/tron/program/KeystoreFactory.java
  • framework/src/main/java/org/tron/program/SolidityNode.java
  • framework/src/main/java/org/tron/program/Version.java
  • framework/src/main/resources/config-localtest.conf
  • framework/src/main/resources/config.conf
  • framework/src/test/java/org/springframework/http/InvalidMediaTypeException.java
  • framework/src/test/java/org/springframework/http/MediaType.java
  • framework/src/test/java/org/tron/common/BaseTest.java
  • framework/src/test/java/org/tron/common/EntityTest.java
  • framework/src/test/java/org/tron/common/ParameterTest.java
  • framework/src/test/java/org/tron/common/backup/BackupServerTest.java
  • framework/src/test/java/org/tron/common/crypto/ECKeyR1Test.java
  • framework/src/test/java/org/tron/common/crypto/ECKeyTest.java
  • framework/src/test/java/org/tron/common/crypto/SM2KeyTest.java
  • framework/src/test/java/org/tron/common/logsfilter/NativeMessageQueueTest.java
  • framework/src/test/java/org/tron/common/runtime/vm/BatchValidateSignContractTest.java
  • framework/src/test/java/org/tron/common/runtime/vm/Create2Test.java
  • framework/src/test/java/org/tron/common/runtime/vm/OperationsTest.java
  • framework/src/test/java/org/tron/common/runtime/vm/Secp256R1ContractTest.java
  • framework/src/test/java/org/tron/common/runtime/vm/ValidateMultiSignContractTest.java
  • framework/src/test/java/org/tron/common/storage/CheckOrInitEngineTest.java
  • framework/src/test/java/org/tron/common/storage/leveldb/LevelDbDataSourceImplTest.java
  • framework/src/test/java/org/tron/common/storage/rocksdb/RocksDbDataSourceImplTest.java
  • framework/src/test/java/org/tron/common/utils/FileUtilTest.java
  • framework/src/test/java/org/tron/common/utils/HashCodeTest.java
  • framework/src/test/java/org/tron/common/utils/ObjectSizeUtilTest.java
  • framework/src/test/java/org/tron/common/utils/client/Configuration.java
  • framework/src/test/java/org/tron/common/utils/client/utils/HttpMethed.java
  • framework/src/test/java/org/tron/common/utils/client/utils/TransactionUtils.java
  • framework/src/test/java/org/tron/core/CoreExceptionTest.java
  • framework/src/test/java/org/tron/core/CreateCommonTransactionTest.java
  • framework/src/test/java/org/tron/core/ShieldWalletTest.java
  • framework/src/test/java/org/tron/core/ShieldedTRC20BuilderTest.java
  • framework/src/test/java/org/tron/core/WalletMockTest.java
  • framework/src/test/java/org/tron/core/WalletTest.java
  • framework/src/test/java/org/tron/core/actuator/ShieldedTransferActuatorTest.java
  • framework/src/test/java/org/tron/core/actuator/utils/ProposalUtilTest.java
  • framework/src/test/java/org/tron/core/actuator/vm/ProgramTraceListenerTest.java
  • framework/src/test/java/org/tron/core/actuator/vm/SerializersTest.java
  • framework/src/test/java/org/tron/core/capsule/BlockCapsuleTest.java
  • framework/src/test/java/org/tron/core/capsule/utils/ExchangeProcessorTest.java
  • framework/src/test/java/org/tron/core/config/args/ArgsTest.java
  • framework/src/test/java/org/tron/core/config/args/LocalWitnessTest.java
  • framework/src/test/java/org/tron/core/config/args/WitnessInitializerTest.java
  • framework/src/test/java/org/tron/core/db/AccountStoreTest.java
  • framework/src/test/java/org/tron/core/db/DBIteratorTest.java
  • framework/src/test/java/org/tron/core/db/ManagerTest.java
  • framework/src/test/java/org/tron/core/db/TransactionExpireTest.java
  • framework/src/test/java/org/tron/core/db/WitnessStoreTest.java
  • framework/src/test/java/org/tron/core/db2/ChainbaseTest.java
  • framework/src/test/java/org/tron/core/db2/CheckpointV2Test.java
  • framework/src/test/java/org/tron/core/db2/RevokingDbWithCacheNewValueTest.java
  • framework/src/test/java/org/tron/core/db2/SnapshotImplTest.java
  • framework/src/test/java/org/tron/core/db2/SnapshotManagerTest.java
  • framework/src/test/java/org/tron/core/db2/SnapshotRootTest.java
  • framework/src/test/java/org/tron/core/event/BlockEventGetTest.java
  • framework/src/test/java/org/tron/core/event/HistoryEventServiceTest.java
  • framework/src/test/java/org/tron/core/exception/TronErrorTest.java
  • framework/src/test/java/org/tron/core/jsonrpc/ApiUtilTest.java
  • framework/src/test/java/org/tron/core/jsonrpc/BloomTest.java
  • framework/src/test/java/org/tron/core/jsonrpc/ConcurrentHashMapTest.java
  • framework/src/test/java/org/tron/core/jsonrpc/JsonRpcTest.java
  • framework/src/test/java/org/tron/core/jsonrpc/JsonrpcServiceTest.java
  • framework/src/test/java/org/tron/core/jsonrpc/LogBlockQueryTest.java
  • framework/src/test/java/org/tron/core/jsonrpc/LogMatchExactlyTest.java
  • framework/src/test/java/org/tron/core/jsonrpc/SectionBloomStoreTest.java
  • framework/src/test/java/org/tron/core/metrics/prometheus/PrometheusApiServiceTest.java
  • framework/src/test/java/org/tron/core/net/BaseNet.java
  • framework/src/test/java/org/tron/core/net/BaseNetTest.java
  • framework/src/test/java/org/tron/core/net/P2pEventHandlerImplTest.java
  • framework/src/test/java/org/tron/core/net/P2pRateLimiterTest.java
  • framework/src/test/java/org/tron/core/net/messagehandler/FetchInvDataMsgHandlerTest.java
  • framework/src/test/java/org/tron/core/net/messagehandler/MessageHandlerTest.java
  • framework/src/test/java/org/tron/core/net/messagehandler/PbftMsgHandlerTest.java
  • framework/src/test/java/org/tron/core/net/messagehandler/SyncBlockChainMsgHandlerTest.java
  • framework/src/test/java/org/tron/core/net/peer/PeerConnectionTest.java
  • framework/src/test/java/org/tron/core/net/peer/PeerManagerTest.java
  • framework/src/test/java/org/tron/core/net/service/nodepersist/NodePersistServiceTest.java
  • framework/src/test/java/org/tron/core/net/services/AdvServiceTest.java
  • framework/src/test/java/org/tron/core/net/services/EffectiveCheckServiceTest.java
  • framework/src/test/java/org/tron/core/net/services/HandShakeServiceTest.java
  • framework/src/test/java/org/tron/core/net/services/RelayServiceTest.java
  • framework/src/test/java/org/tron/core/net/services/ResilienceServiceTest.java
  • framework/src/test/java/org/tron/core/net/services/SyncServiceTest.java
  • framework/src/test/java/org/tron/core/services/DelegationServiceTest.java
  • framework/src/test/java/org/tron/core/services/NodeInfoServiceTest.java
  • framework/src/test/java/org/tron/core/services/ProposalServiceTest.java
  • framework/src/test/java/org/tron/core/services/RpcApiServicesTest.java
  • framework/src/test/java/org/tron/core/services/WalletApiTest.java
  • framework/src/test/java/org/tron/core/services/filter/HttpApiAccessFilterTest.java
  • framework/src/test/java/org/tron/core/services/filter/LiteFnQueryGrpcInterceptorTest.java
  • framework/src/test/java/org/tron/core/services/filter/LiteFnQueryHttpFilterTest.java
  • framework/src/test/java/org/tron/core/services/filter/RpcApiAccessInterceptorTest.java
  • framework/src/test/java/org/tron/core/services/http/GetRewardServletTest.java
  • framework/src/test/java/org/tron/core/services/http/HttpServletTest.java
  • framework/src/test/java/org/tron/core/services/jsonrpc/BuildArgumentsTest.java
  • framework/src/test/java/org/tron/core/services/jsonrpc/CallArgumentsTest.java
  • framework/src/test/java/org/tron/core/services/jsonrpc/JsonRpcErrorResolverTest.java
  • framework/src/test/java/org/tron/core/services/jsonrpc/TransactionReceiptTest.java
  • framework/src/test/java/org/tron/core/services/jsonrpc/TransactionResultTest.java
  • framework/src/test/java/org/tron/core/services/stop/BlockTimeStopTest.java
  • framework/src/test/java/org/tron/core/services/stop/ConditionallyStopTest.java
  • framework/src/test/java/org/tron/core/zksnark/LibrustzcashTest.java
  • framework/src/test/java/org/tron/core/zksnark/SaplingNoteTest.java
  • framework/src/test/java/org/tron/core/zksnark/SendCoinShieldTest.java
  • framework/src/test/java/org/tron/core/zksnark/ShieldedReceiveTest.java
  • framework/src/test/java/org/tron/keystroe/CredentialsTest.java
  • framework/src/test/java/org/tron/program/DBConvertTest.java
  • framework/src/test/java/org/tron/program/SolidityNodeTest.java
  • framework/src/test/resources/config-localtest.conf
  • framework/src/test/resources/config-test-index.conf
  • framework/src/test/resources/config-test-mainnet.conf
  • framework/src/test/resources/config-test.conf
  • framework/src/test/resources/json/secp256r1-test-vectors.json
  • framework/src/test/resources/logback-test.xml
  • gradle/jdk17/java-tron.vmoptions
  • gradle/verification-metadata.xml
  • jitpack.yml
  • platform/build.gradle
  • platform/src/main/java/arm/org/tron/common/math/MathWrapper.java
  • platform/src/main/java/arm/org/tron/common/utils/MarketOrderPriceComparatorForRocksDB.java
  • platform/src/main/java/common/org/tron/common/arch/Arch.java
  • platform/src/main/java/common/org/tron/common/utils/MarketComparator.java
  • platform/src/main/java/common/org/tron/common/utils/MarketOrderPriceComparatorForLevelDB.java
  • platform/src/main/java/x86/org/tron/common/math/MathWrapper.java
  • platform/src/main/java/x86/org/tron/common/utils/MarketOrderPriceComparatorForRocksDB.java
  • plugins/README.md
  • plugins/build.gradle
  • plugins/src/main/java/arm/org/tron/plugins/ArchiveManifest.java
  • plugins/src/main/java/arm/org/tron/plugins/DbArchive.java
  • plugins/src/main/java/common/org/tron/plugins/Db.java
  • plugins/src/main/java/common/org/tron/plugins/DbConvert.java
  • plugins/src/main/java/common/org/tron/plugins/DbCopy.java
  • plugins/src/main/java/common/org/tron/plugins/DbLite.java
  • plugins/src/main/java/common/org/tron/plugins/DbMove.java
  • plugins/src/main/java/common/org/tron/plugins/DbRoot.java
  • plugins/src/main/java/common/org/tron/plugins/Toolkit.java
  • plugins/src/main/java/common/org/tron/plugins/utils/ByteArray.java
  • plugins/src/main/java/common/org/tron/plugins/utils/CryptoUitls.java
  • plugins/src/main/java/common/org/tron/plugins/utils/DBUtils.java
  • plugins/src/main/java/common/org/tron/plugins/utils/FileUtils.java
  • plugins/src/main/java/common/org/tron/plugins/utils/MarketUtils.java
  • plugins/src/main/java/common/org/tron/plugins/utils/MerkleRoot.java
  • plugins/src/main/java/common/org/tron/plugins/utils/Sha256Hash.java
  • plugins/src/main/java/common/org/tron/plugins/utils/db/DBInterface.java
  • plugins/src/main/java/common/org/tron/plugins/utils/db/DBIterator.java
  • plugins/src/main/java/common/org/tron/plugins/utils/db/DbTool.java
  • plugins/src/main/java/common/org/tron/plugins/utils/db/LevelDBImpl.java
  • plugins/src/main/java/common/org/tron/plugins/utils/db/LevelDBIterator.java
  • plugins/src/main/java/common/org/tron/plugins/utils/db/RockDBIterator.java
  • plugins/src/main/java/common/org/tron/plugins/utils/db/RocksDBImpl.java
  • plugins/src/main/java/org/tron/plugins/comparator/MarketOrderPriceComparatorForLevelDB.java
  • plugins/src/main/java/org/tron/plugins/comparator/MarketOrderPriceComparatorForRockDB.java
  • plugins/src/main/java/org/tron/plugins/utils/db/DBInterface.java
  • plugins/src/main/java/org/tron/plugins/utils/db/RocksDBImpl.java
  • plugins/src/main/java/x86/org/tron/plugins/ArchiveManifest.java
  • plugins/src/main/java/x86/org/tron/plugins/DbArchive.java
  • plugins/src/test/java/org/tron/plugins/DbCopyTest.java
  • plugins/src/test/java/org/tron/plugins/DbLiteTest.java
  • plugins/src/test/java/org/tron/plugins/DbMoveTest.java
  • plugins/src/test/java/org/tron/plugins/DbRootTest.java
  • plugins/src/test/java/org/tron/plugins/DbTest.java
  • plugins/src/test/java/org/tron/plugins/leveldb/ArchiveManifestTest.java
  • plugins/src/test/java/org/tron/plugins/leveldb/DbArchiveTest.java
  • plugins/src/test/java/org/tron/plugins/leveldb/DbConvertTest.java
  • plugins/src/test/java/org/tron/plugins/leveldb/DbLiteLevelDbTest.java
  • plugins/src/test/java/org/tron/plugins/leveldb/DbLiteLevelDbV2Test.java
  • plugins/src/test/java/org/tron/plugins/rocksdb/DbLiteRocksDbTest.java
  • plugins/src/test/java/org/tron/plugins/rocksdb/DbLiteRocksDbV2Test.java
  • plugins/src/test/resources/config.conf
  • protocol/build.gradle

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/add_secp256r1

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.