Releases: hashgraph/hedera-json-rpc-relay
v0.54.1
Overview
The latest release of the Hedera JSON-RPC Relay, v0.54.1, introduces a feature that verifies whether a caller is whitelisted against the HBAR rate limiter. This enhancement allows the Relay to permit a list of special, whitelisted projects and accounts to bypass HBAR rate limits.
What's Changed
Enhancements
- feat: added a solution to verify if a caller is whitelisted against the HBAR rate limiter by @quiet-node in #2832
Full Changelog: v0.54.0...v0.54.1
v0.54.0
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
- feat: reused executetransaction for methods in sdkclient and improved logging by @quiet-node in #2749
- fix: reduce hbar limit only by operator fees by @Ivo-Yankov in #2755
- fix: Code coverage report is not being uploaded by @victor-yanev in #2764
- chore: update local-node and sdk by @georgi-l95 in #2793
- feat: calculate
logsBloom
for synthetic transactions by @natanasow in #2785 - feat: added an option for retrieving transaction records from either the Mirror Node or the Consensus Node. by @quiet-node in #2782
- feat: Added request panels to the websocket dashboard. by @ebadiere in #2767
- feat: add Golang tests to workflow by @marcin-piela-ariane in #2679
Bug Fixes
- fix: populate synthetic transactions on
getBlock...
routes by @natanasow in #2784 - fix: Adds null check for param in validation by @konstantinabl in #2682
- fix: Makes ICacheClient return type promise and changes LRUCache accordingly by @konstantinabl in #2410
Documentation
- docs: Add documentation for debugging transactions by @victor-yanev in #2774
Dependency Upgrades
- build(deps): bump ws from 8.16.0 to 8.18.0 in /tools/web3js-example by @dependabot in #2713
New Contributors
- @marcin-piela-ariane made their first contribution in #2679
Full Changelog: v0.53.0...v0.54.0
v0.54.0-rc1
v0.54.0-rc1
v0.53.0
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
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:
Full Changelog: v0.52.0...v0.52.1
v0.52.0
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
- fix: Adds usage of internal cache for getFilterChanges by @konstantinabl in #2668
- fix: eth_getBlockTransactionCountByNumber is not supported in wss by @arianejasuwienas in #2650
- fix: estimate_gas doesn't reflect changes in mirror-node by @victor-yanev in #2409
- fix: gasprice of transactions denoted in tinybars by @natanasow in #2688
Dependency Upgrades
- build(deps): [Snyk] Security upgrade ethers from 5.7.2 to 6.0.0 by @swirlds-automation in #2607
- [Snyk] Upgrade web3 from 4.8.0 to 4.9.0 by @swirlds-automation in #2637
- [Snyk] Upgrade @hashgraph/sdk from 2.44.0 to 2.46.0 by @swirlds-automation in #2659
- build(deps): [Snyk] Security upgrade mocha from 9.2.2 to 10.6.0 by @swirlds-automation in #2660
- build(deps): [Snyk] Upgrade co-body from 6.1.0 to 6.2.0 by @swirlds-automation in #2661
Full Changelog: v0.51.0...v0.52.0
v0.52.0-rc2
v0.52.0-rc2
v0.51.3
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:
Full Changelog: v0.51.2...v0.51.3
v0.51.2
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:
Full Changelog: v0.51.1...v0.51.2
v0.52.0-rc1
v0.52.0-rc1