Skip to content

Releases: hashgraph/hedera-json-rpc-relay

v0.54.0

14 Aug 19:45
v0.54.0
e54f1b0
Compare
Choose a tag to compare

Overview

The latest release of the Hedera JSON-RPC Relay, v0.54.0, introduces several key enhancements and fixes that improve the overall functionality and reliability of the project.

Highlights of this release include the addition of an option to retrieve transaction records from either the Mirror Node or the Consensus Node, enhancing flexibility in data access. Furthermore, improvements in logging and the reuse of executetransaction for methods in sdkclient streamline the codebase for better performance.

Bug fixes, such as ensuring synthetic transactions are correctly populated on getBlock... routes, contribute to a more robust and error-resistant system.

This release also incorporates updates to dependencies and documentation, ensuring the project remains up-to-date and well-supported.

What's Changed

Enhancements

Bug Fixes

Documentation

Dependency Upgrades

  • build(deps): bump ws from 8.16.0 to 8.18.0 in /tools/web3js-example by @dependabot in #2713

New Contributors

Full Changelog: v0.53.0...v0.54.0

v0.53.0

06 Aug 15:27
v0.53.0
bdc7202
Compare
Choose a tag to compare

Release v0.53.0 adds more metrics around the JSON RPC Relay operator's transaction costs, as well as some refactoring of the SDK client that runs the transactions. The HBar Rate Limiter was tuned to focus more on the Relay's operator fees. More tests around the SDK Client as well as the HBar Rate Limiter are also included.

The implementation of the eth_getTransactionByHash JSON RPC method was also refactored to search contract logs by transaction hash. This facilitates the fetching of synthetic transactions in that method call.

Enhancements

  • feat: deprecate ETH_POPULATE_SYNTHETIC_CONTRACT_RESULTS env #2768
  • Deprecate ETH_POPULATE_SYNTHETIC_CONTRACT_RESULTS #2763
  • feat: search contract logs only by transaction hash #2762
  • feat: added logging to the HBAR rate limit class for more descriptive information. #2761
  • fix: captured and added FileInfo query costs to metrics and hbar rate limit class #2760
  • test: expand integration tests for SDK client #2756
  • fix: reduce hbar limit only by operator fees #2755
  • feat: reused executetransaction for methods in sdkclient and improved logging #2749
  • Expand integration tests for SDK client #2747
  • Reuse executeTransaction() for methods in SDKClient and improve logging #2746
  • Search contract logs only by transaction hash #2744
  • feat: replaced getRecord network calls with calls to mirror node to avoid SDK costs #2737
  • TransactionFee captured for executeTransaction has the total charged transaction fee in it, not just fees charged by Relay operator. #2729
  • feat: add real logsBloom where available #2720
  • feat: replaced getRecord network calls with calls to mirror node to avoid SDK costs #2712
  • test: add additional hbar limiter tests #2697
  • Enhance Hbar Limiter Acceptance tests #2696
  • chore: Implement memory leak detection in tests #2695
  • Add acceptance tests to verify transaction costs and metrics. #2691
  • feat: add logsBloom class #2684
  • Add logsBloom class #2683
  • Add real logsBloom where available #2666
  • Refactor the createFile code in a way the facilitates testability #2655
  • Implement a Memory Leak detection Test #2260

Bug Fixes

  • fix: populate synthetic transactions on getBlock... routes (#2784) #2786
  • fix: populate synthetic transactions on getBlock... routes #2784
  • Revert "feat: deprecate ETH_POPULATE_SYNTHETIC_CONTRACT_RESULTS env… #2783
  • 2755 operator vs txn fees #2781
  • 2755 hbar operator fees #2779
  • feat: reused executetransaction for methods in sdkclient and improved… #2776
  • fix: reorganized executeTransaction and executeTransactionRecord to avoid capturing metrics twice #2742
  • WRONG_NONCE error capture metrics twice #2741
  • feat: track hbar expenses for submit tx #2705
  • Expand Hbar Limiter coverage #2703
  • fix: Updated the account from the 0.0.2 account to an account from th… #2690
  • fix: Adds null check for param in validation #2682
  • "Error raised during getCode for address null" is not returned in the response to the client and can cause confusion. #2376

Contributors

Thank you to all the contributors who worked on this release:

@Ivo-Yankov, @ebadiere, @georgi-l95, @konstantinabl, @natanasow, @quiet-node, and @victor-yanev

v0.52.1

24 Jul 21:44
v0.52.1
903de2b
Compare
Choose a tag to compare

Overview

The latest update to the Hedera JSON RPC Relay, version 0.52.1, introduces a solution to preemptively limit HBAR expenses based on the callDataSize of an eth_sendRawTransaction. This solution estimates the total transaction fee required to complete the eth_sendRawTransaction request based on the callDataSize. It then ensures that the transaction fee does not exceed the remaining budget of the relay operator's account beforehand. If the estimated fee surpasses the available budget, an HBAR_RATE_LIMIT_PREEMPTIVE_EXCEEDED error is triggered. This update represents another step in securing, patching, and improving issues related to HBAR leakage.

What's Changed

Enhancements

feat: added preemtiveCheck for HBAR ratelimit #2751

Contributors

Thank you to all the contributors who worked on this release:

@quiet-node

Full Changelog: v0.52.0...v0.52.1

v0.52.0

23 Jul 18:59
v0.52.0
b95bf52
Compare
Choose a tag to compare

Overview

The latest update to the Hedera JSON RPC Relay, v0.52.0, introduces a series of enhancements, critical bug fixes, and important dependency upgrades aimed at improving the overall functionality and performance of the system. This release demonstrates continued efforts to address HBAR rate limiter issues by enhancing tracking and visualization capabilities for HBAR transactions. Additional improvements and fixes are detailed below.

What's Changed

Enhancements

  • fix: net_version now reads chainId from config and return decimal value by @quiet-node in #2633
  • fix: Added metrics around the HBar rate limiter to better track the by @ebadiere in #2657
  • test: waffle tool example by @arianejasuwienas in #2640
  • feat: allowed eth_call to accept null/empty tx.to to simulate deploying smart contracts by @quiet-node in #2647
  • feat: add a tx gasPrice Buffer to reduce INSUFFICIENT_TX_FEE cases by @natanasow in #2692
  • feat: Checking in the updated grafana dashboard. It now includes additional HBar spend visuals. by @ebadiere in #2658

Bug Fixes

Dependency Upgrades

Full Changelog: v0.51.0...v0.52.0

v0.52.0-rc2

23 Jul 16:56
v0.52.0-rc2
c4b8a81
Compare
Choose a tag to compare
v0.52.0-rc2 Pre-release
Pre-release
v0.52.0-rc2

v0.51.3

19 Jul 19:48
v0.51.3
2a0f0dd
Compare
Choose a tag to compare

Overview

This new release, v0.51.3, introduces a hotfix to address the HBAR leakage issue by adding steps to capture transactionFee in metrics and the HBAR limiter class for the executeTransaction() and deleteFile() methods.

The fix utilizes the getRecord() method to retrieve the transactionFee in executeTransaction(). This method also exposes and throws errors caused by invalid transactions on the network, which were previously ignored. These errors were typically discovered only after repeated lookups on the mirror node, resulting in a total transaction time of more than 20 seconds in the worst cases. This error exposure helps reduce total transaction time by 98% for worst cases and ensures more accurate and secure handling of transactions.

Bug Fixes

fix: captured transactionFee in metrics and HBAR limiter class in executeTransaction and deleteFile (#2714)

Contributors

Thank you to all the contributors who worked on this release:

@quiet-node

Full Changelog: v0.51.2...v0.51.3

v0.51.2

18 Jul 03:45
v0.51.2
6c1418d
Compare
Choose a tag to compare

Overview

This new release, v0.51.2, introduces a hotfix to improve the HBAR leakage issue in FILE_APPEND transactions. The fix replaces the current .execute() method with .executeAll() for fileAppendTransaction, ensuring that all transactions are captured in the result. This update allows for secure and accurate monitoring of the total HBAR spent in FILE_APPEND transactions within the metrics and HBAR rate limiter class. Consequently, it improves the tracking of the HBAR burned rate in metrics, ensuring that the Relay operator account's balance is managed effectively.

Bug Fixes

fix: Hbar usage tracking when transaction is larger than FILE_APPEND_CHUNK_SIZE #2698

Contributors

Thank you to all the contributors who worked on this release:

@Ivo-Yankov

Full Changelog: v0.51.1...v0.51.2

v0.52.0-rc1

23 Jul 16:56
v0.52.0-rc1
58923ef
Compare
Choose a tag to compare
v0.52.0-rc1 Pre-release
Pre-release
v0.52.0-rc1

v0.51.1

08 Jul 15:38
v0.51.1
8f380a2
Compare
Choose a tag to compare

Release v0.51.1 includes enhancements to the HBar rate limiting around creating and appending to files, as well as exposing the HBar rate limiting through metrics. The net_version now returns the decimal value instead of the hexadecimal, and the debug endpoint debug_traceTransaction now works with the opcode logger. Bug fixes around the getFilterChanges using the internal cache, and preceding zeros from signature key values are also part of v0.51.1.

Enhancements

  • fix: Added metrics around the HBar rate limiter to better track the (… #2672
  • fix: net_version now reads chainId from config and return decimal value #2633
  • fix: debug_traceTransaction not working when we don't pass tracerConfig #2628
  • fix: reduced the SDK usage in batch 3 to stablize the batch #2625
  • feat: Rework how tooling tests and dapp are starting local-node #2617
  • build(deps): Bump versions for v0.51.0-SNAPSHOT #2608
  • feat: Golang JSON RPC methods usage example. #2586
  • feat: enhance debug_traceTransaction to work with Opcode Logger #2480
  • Enhance debug_traceTransaction to work with opcode Logger #2431

Bug Fixes

  • fix: Adds usage of internal cache for getFilterChanges (#2668) #2670
  • fix: issue when trying to perform transaction (#2663) #2669
  • fix: Adds usage of internal cache for getFilterChanges #2668
  • eth_newFilter / eth_getFilterChanges not working #2646
  • fix: Added HBar rate limiter to createFile #2634
  • Add rateLimiter to the create file in the sdkClient #2631
  • API method net_version returns hexadecimal result instead of decimal #2629
  • debug_traceTransaction not working when we don't pass tracerConfig #2627
  • fix: String preceding zeros from signature key values. #2623
  • fix: fixed unexpected returns for eth_getLog requests with zero address #2616
  • Requesting logs with ZERO address returns anonymous Events #2614
  • fix: reworked gas comparison logic #2611
  • baseFeePerGas is compared to a hard-coded value in batch 1 acceptance test #2610
  • 2500 failed to fetch transaction #2595
  • API Batch 3 is a flaky test. #2568
  • eth_getBlockByNumber failing with Error invoking RPC: Null entity ID #2557

Dependency Upgrades

  • build(deps): [Snyk] Security upgrade ethers from 6.13.0 to 6.13.1 #2624
  • build(deps): [Snyk] Upgrade ethers from 6.0.0 to 6.13.0 #2622
  • fix: Upgrade to node 20. #2621
  • build(deps): bump ws from 8.5.0 to 8.17.1 in /k6 #2620
  • build(deps): [Snyk] Security upgrade ethers from 6.0.0 to 6.13.1 #2612
  • build(deps): [Snyk] Security upgrade ethers from 5.7.2 to 6.0.0 #2609
  • build(deps): [Snyk] Upgrade @hashgraph/hedera-local from 2.23.0 to 2.26.2 #2558

Contributors

Thank you to all the contributors who worked on this release:

@arianejasuwienas, @dependabot[bot], @ebadiere, @georgi-l95, @konstantinabl, @natanasow, @quiet-node, @swirlds-automation, and @victor-yanev

v0.50.2

29 Jun 04:25
v0.50.2
56f4a61
Compare
Choose a tag to compare

Overview

Hedera JSON RPC Relay release v0.50.2 includes a significant enhancement and crucial bug fixes. The integration of the Opcode Logger provides detailed logging of opcode execution, enhancing the debugging process for developers by offering more granular insights into transaction traces.

Additionally, a crucial bug fix implements an HBar rate limiter for the createFile function for transactions with large calldata. This addition is essential for preventing excessive usage and potential abuse of the file creation process, including the fileAppend process, thereby enhancing the overall stability and performance of the system.

Enhancements

  • feat: enhance debug_traceTransaction to work with Opcode Logger #2480
  • fix: debug_traceTransaction not working when we don't pass tracerConfig #2628
  • fix: Added HBar rate limiter to createFile #2634

Contributors

Thank you to all the contributors who worked on this release:
@ebadiere @victor-yanev

Full Changelog: v0.50.1...v0.50.2