Release version v0.28.0 of the Hedera JSON RPC Relay includes enhancements, such as support for synthetic transactions (transfers of HTS tokens), improved assessment of the cost of the getContractByteCode operation, web-sockets and eth_subscribe capability, a correct message for CONTRACT_REVERT, and Remix IDE support.
Additionally, there are important performance improvements, including httpAgent keepAlive configuration by default, an increased number of sockets for outgoing connections, and a cacheable DNS lookup resolver for outgoing requests. The eth_getTransactionCount function has also been refactored and optimized.
Finally, the release includes cleanup of test cases, pnpm dependencies, improved logging across classes, and documentation.
Enhancements
- Changed nulls for synthetic values when returning a synthetic transaction log #1564
- refactor getContractByteCode to set cost based on the sdk assessment … #1551
- Cherry pick 1518: construct synthetic contract result for HTS #1547
- refactor getContractByteCode to set cost based on the sdk assessment #1537
- subscriptions_enabled=true is necessary to enable the websockets func… #1536
- Bumping up hedera-local version to latest v2.11.0 #1529
- Bump Hedera-Local-Node version to Latest v2.11.0 #1528
- Bumping up hashgraph sdk version #1526
- Bumping up hashgraph sdk version to v.2.30.0 #1525
- Make setMaxQueryPayment configurable #1523
- Using better-lookup to improve dns resolution performance for each outgoing requests #1519
- Handles CONTRACT_REVERT properly by returning the message. #1510
- Implement a Cached DNS Lookup for MirrorNode Axios Client #1507
- Changes way of sending raw transaction instead of relay.call with rel… #1497
- Optimize eth_getTransactionCount #1496
- Add Remix IDE Support #1492
- Fix README and pnpm inconsistencies #1465
- Bump version 0.28.0-SNAPSHOT #1464
- Unify the methods used for sending transactions in relay acceptance tests #1402
- Missing
pnpm
dependency #1394 - Improve logging across classes #1244
- Relay returns 502 on contract deploys #1139
Bug Fixes
- Really big blocks with more than 20 pages (+2000 transactions) are returning 400 status #1570
- eth_getTransactionReceipt for synthetic transactions is failing on graph-node #1562
- Cherry-Pick: 1534 - Returned bytecode is incorrect after selfdestruct and recreation via … #1545
- Returned bytecode is incorrect after selfdestruct and recreation via create2 #1534
- Returned bytecode is incorrect after selfdestruct and recreation via create2 #1533
- eth_sendRawTransaction sometimes returns nonce too low due to eth_getTransactionCount returning wrong nonce #1513
- Improve handling of boolean cache retrieval and metric labels #1469
- ClientCache doesn't handle boolean retrieval well #1468
- Incorrect configuration in README #1461
- All Contract Deploys fails with INSUFFICIENT_TX_FEE #1373
- eth_getTransactionCount returning
502
error #1323 - static call to stateful function reverts with no bytes #517
Documentation
- Add Remix IDE in tools Readme.md #1509
Contributors
Thank you to all the contributors who worked on this release:
@AlfredoG87, @Ivo-Yankov, @Nana-EC, @ebadiere, @georgi-l95, @konstantinabl, @natanasow, @rustyShacklefurd, and @swirlds-automation
Full Changelog: https://github.com/hashgraph/hedera-json-rpc-relay/compare/v0.27.1...v0.28.0