Skip to content

Releases: hashgraph/hedera-json-rpc-relay

v0.9.0-rc2

03 Jun 03:42
9855973
Compare
Choose a tag to compare
v0.9.0-rc2 Pre-release
Pre-release

Full Changelog: v0.9.0-rc1...v0.9.1-rc1

v0.9.0-rc1

03 Jun 03:42
a81e52f
Compare
Choose a tag to compare
v0.9.0-rc1 Pre-release
Pre-release

Full Changelog: v0.8.0...v0.9.0-rc1

v0.8.0

29 Sep 17:56
66549ea
Compare
Choose a tag to compare

v0.8.0 of the Hedera JSON RPC Relay exposes improvements around relay cost reduction, tool support and E2E test coverage support for HIP 514 scenarios.

Rate Limit support by IP was added. In this case a simple in memory map is used to honor the thresholds defined for the requests per a given window of time. This is an initial attempt to allow relay operators to more fairly distribute relay access.

The eth_getBalance endpoint was updated to query the mirror node api/v1/account endpoint to retrieve real time balance updates. This reduces the number of calls to network nodes.

The relay acceptances tests now have E2E support for all HIP 514 precompile functions. Additionally, the tests were updated to utilize 0.30.0 of services and 0.64.0. mirror node images.

We expanded our exploration efforts with an example of a subgraph to showcase an initial example of how The Graph could be connected to Hedera.
As part of this effort some improvements to the relay were added such as ensuring a 15m gas limit was enforced to transaction submissions.

Enhancements

  • Bump 0.8.0 #570
  • Bump 0.8.0-rc2 #563
  • update nonce precheck logic (0.8) #558
  • Update eth_transactioncount to use mirror (0.8) #557
  • 540 capture calldata cp #546
  • Log fileId and file size for callData #541
  • Capture Ethereum transactions CallData details #540
  • eth_sendRawTransaction nonce precheck improvements #534
  • Update eth_getBalance to use mirror node #529
  • initial pass for tests #527
  • Limit gas to 15m for eth call #526
  • Add example subgraph #525
  • Enable pending acceptance tests #524
  • Add IERC transferFrom to HTS Precompile Acceptance Tests #523
  • Enable pending acceptance tests #521
  • Split acceptance tests into separate jobs #515
  • Split Acceptance test actions jobs #514
  • Limit the ethCall gas to 15_000_000, otherwise the call will fail #513
  • Set gas limit to 15_000_000 #511
  • update acceptance tests to use new signatures. Create new acceptance… #510
  • Add tests to cover the updated type signatures for HederaToken and createToken functions #509
  • Add subgraph example #500
  • Add IERC transferFrom to htsPrecompile approval acceptance tests #497
  • Add an example subgraph project in the relay #487
  • add acceptance tests for cryptoTransfer function #485
  • Bump mirror 0.64.0 and misc test setup fixes #484
  • Bump local node for services 0.30.0-alpha.0 and mirror 0.64.0-beta1 #483
  • Add Rate Limit Support #481
  • Bump 0.8.0-snapshot #480
  • Explore initial support for Trust Wallet #478
  • Add HTS Precompile tests for token check methods #468
  • Add HTS Precompile Acceptance Tests for Expiry Info methods #467
  • HTS precompile token key management tests #464
  • Update eth_getBalance with logic to call mirror node account endpoint #448
  • Add rate limit support #426
  • Add htsPrecompile acceptance tests support for token check methods #411
  • Add htsPrecompile acceptance test coverage for update token methods #410
  • Add preCompile acceptance test coverage for token key methods #409
  • Add htsPrecompile acceptance test support for expiry methods #408

Bug Fixes

  • Support block tags in getLogs() #532
  • Dapp tests freeze at account setup step #520
  • Dapp tests failing at account setup step #519
  • DApp Test stuck running bootstrap action step #503
  • DApp Test stuck running bootstrap action step #499
  • hardhat-example project isn't fully functional #488
  • eth_getLogs not handling non int block params #472
  • ethCall doesn’t work when gas limit is above 880k #437

Full Changelog: v0.7.0...v0.8.0

Contributors

We'd like to thank all the contributors who worked on this release!

v0.8.0-rc2

03 Jun 03:41
8cf6dba
Compare
Choose a tag to compare
v0.8.0-rc2 Pre-release
Pre-release

Full Changelog: v0.8.0-rc1...v0.8.0-rc2

v0.8.0-rc1

03 Jun 03:41
a880c87
Compare
Choose a tag to compare
v0.8.0-rc1 Pre-release
Pre-release

Full Changelog: v0.7.0...v0.8.0-rc1

v0.7.0

08 Sep 17:40
63b060d
Compare
Choose a tag to compare

v0.7.0 of the JSON RPC Relay brings improvements in the areas of troubleshooting, transaction precheck and scenario test coverage.

Troubleshooting of calls sees an improvement with the addition of the request-id to the call response. Developers can now take the request-id in an error response and use it to trace the logs through out the relay stack trace.

The Hedera Javascript SDK dependency was bumped to v2.18.0, with it bringing a fix regarding contract local queries. Relay accounts should now see more appropriate charges for local calls. Other minor dependency packages were also updated.

With upcoming token management precompile features the relay has added the 1st set of coverage support tests to help showcase HIP 514 function usage in local-node scenarios.

An improvement to the account balance precheck was added to handle scenarios where the account does not exist on the Hedera network. In this case the response highlights the issue to developers.

IERC20 approval allowance test coverage was added to showcase E2E usage of the redirect precompile flow.

Postman API tests saw a bug correction in which the eth_getBalance test was using the incorrect endpoint.

Enhancements

  • Bump 0.7.0-rc1 #479
  • Bump sdk to v2.18.0 #474
  • add trace id to error response messages #473
  • Trust Wallet Integration Check #471
  • Bump sdk version to 2.18.0 #469
  • Add HTS Precompile Acceptance Tests for KYC methods #463
  • Add HtsPrecompile test for token delete #461
  • Bump 0.6.0 #460
  • HTS precompile tests for token default status #459
  • Describe the invalid precomputed address issue in the tools readme #458
  • HTS precompile tests for wipe token methods #457
  • add htsprecompile acceptance tests for freeze/unfreeze #455
  • 402 htsprecompile acceptance tests for pause unpause #453
  • Add HtsPrecompile test support for getTokenCustomFees #452
  • Config variable handling update #451
  • Add htsPreCompile get tokenInfo acceptance tests #450
  • Add check for valid account in balance precheck #447
  • Add account check logic to balance precheck #446
  • Bump 0.7.0-snapshot #445
  • Add hts precompile approval/allowance tests #443
  • Pass back logs request id to caller #431
  • Add htsPrecompile acceptance test support for kyc methods #407
  • Add htsPrecompile acceptance test support for getCustomFees method #406
  • Add htsPrecompile acceptance test support for delete method #405
  • Add htsPrecompile acceptance test support for defaultStatus method #404
  • Add htsPrecompile acceptance test support for freeze/unfree methods #403
  • Add htsPreCompile acceptance tests support for pause/unpause methods #402
  • Add htsPreCompile acceptance tests support for wipe token methods #401
  • Add htsPreCompile get tokenInfo acceptance tests #400
  • Add htsPrecompile allowance/approval acceptance test #399
  • Update chart secret resource to use stringData #301
  • Add ERC20 allowance Interface call to erc spec tests #184

Bug Fixes

  • Fix postman eth_getBalance test & misc edits #466
  • Postman eth_getBalance calling incorrect endpoint #465
  • Precompute contract address on ethers deployment #193

Dependency Upgrades

  • Bump undici from 5.7.0 to 5.8.2 in /tools/hardhat-example #441
  • Bump terser from 5.14.1 to 5.14.2 in /dapp-example #356

Full Changelog: v0.6.0...v0.7.0

Contributors

We'd like to thank all the contributors who worked on this release!

v0.7.0-rc1

26 Apr 01:01
b856927
Compare
Choose a tag to compare
v0.7.0-rc1 Pre-release
Pre-release

Full Changelog: v0.6.0...v0.7.0-rc1

v0.6.0

25 Aug 01:02
6d27352
Compare
Choose a tag to compare

v0.6.0 brings eth_getStorageAt and eth_getCode endpoint updates, with additional focus on ETH dev tool documentation and performance testing.

The eth_getStorageAt was implemented with logic to retrieve the storage value at a given slot from the Mirror Node. This effort was done in advance to support inquiries of state once traceability information flows through the Mirror Node.

The eth_getCode endpoint was also updated to retrieve info from the Mirror Node first with the consensus node serving as a back up.

A trace id in the format of a UUID was added to help the tracing of requests through the relay. In this way relay runners can map a call through all components of the relay to help debugging efforts.

Documentation across all the ETH dev tools (truffle, web3js etc) were updated to provide clear instructions on how ETH devs may hook their tools to the Hedera network through the relay.

Support for the k6 performance testing tool was added. With this relay operators can now simulate a range of virtual users and calls against their endpoints to perform load testing and verify performance.

Enhancements

  • Bump 0.6.0-rc1 #444
  • Add support for k6 perf tests #436
  • Bump local node versions to alpha and release 0.29.0 candidates #435
  • Bump local node versions to alpha and release 0.29.0 candidates #434
  • Resolve issues with some fields in eth_getBlock #432
  • test: Acceptance tests seems inconsistent #430
  • Add truffle readme.md #429
  • Add web3js readme.md #428
  • Add comparison analysis table for supported tool #427
  • Add acceptance test support for hts precompile #424
  • Add trace id to logs #423
  • Enhance Doc and Test Coverage #421
  • Query mirror node for deployed_bytecode in eth_getCode #418
  • Updating README with example scrape config and note about getting the… #415
  • Add web3js tool doc README #413
  • Add truffle tool doc README #412
  • Add acceptance test support for HederaTokenService precompile #398
  • Bump 0.6.0-snapshot #397
  • acceptancetest check seems inconsistent #381
  • Comparison analysis table for supported tools #380
  • Add a trace id to logs #238
  • Add k6 performance test suite #138
  • Add monitoring support to Helm Chart #63
  • Implement eth_getStorageAt #52
  • Update eth_getCode to work with new mirror node implementation #27

Bug Fixes

  • return 0x instead of 0x0 for non existing contract addresses given to… #419
  • eth_getBlockByNumber response sometimes has transactions with missing required values #417
  • eth_getCode returning 0x0 instead of 0x for non-contract addresses #394

Full ChangeLog: v0.5.0...v0.6.0

Contributors

We'd like to thank all the contributors who worked on this release!

v0.6.0-rc1

17 Aug 19:19
d884d3b
Compare
Choose a tag to compare
v0.6.0-rc1 Pre-release
Pre-release

Full Changelog: v0.5.0...v0.6.0-rc1

v0.5.0

05 Aug 14:17
ec5a6df
Compare
Choose a tag to compare

This release makes multiple strides in eth dev tool support, documentation and testing.

Ethereum dev tool example projects were added to showcase ethereum equivalence in which existing dev tools usually pointed at ethereum nodes are shown to function when pointing to the relay. These include Truffle & Web3js, with which contract deployment, execution and HBAR transfer are shown in running code samples.
Additionally, continuous integration automation support was added in github actions to ensure Hardhat, Truffle and Web3js integrations are verified on every PR and merge.

RPC API endpoint documentation was greatly improved with the addition of an OpenRPC document specification. This provides complete schema details on all calls and responses from the relay. The README was also updated to showcase the document in a UI playground that users can use to explore the relay endpoints.

Increased endpoint verification in newman tests is achieved by adding coverage for endpoints that make calls to consensus nodes but don't require current ledger state input properties. newman test tool configuration was also improved to allow easy runs against any endpoints.

Testing improvements continues to be a goal and run confidence was increased with great DApp and Acceptance test stability.

Enhancements

  • Bump v0.5.0 #420
  • Bump 0.5.0-rc1 #396
  • Increase newman postman tests coverage #393
  • Add consensus node calling endpoints to postman tests #392
  • add specific error classes for SDKClient and MirrorNodeCLient #382
  • Truffle <> relay compatibility #379
  • Document the blockHash filter for eth_getLogs #378
  • blockHash filter for eth_getLogs is not documented #376
  • remove mirrorNode.ts and dependencies #374
  • Ensure Schema compliance with execution-apis schema #372
  • Web3js <> relay compatibility #370
  • Add release acceptance tests tag support #365
  • Update node container image versions used in acceptance tests #362
  • Complete eth_getStorageAt implementation #361
  • Add an OpenRPC Document #360
  • Automate hardhat-relay test #359
  • Automate hardhat <> relay test #358
  • Complete eth_getStorageAt implementation #355
  • Add RPC API endpoint table #354
  • readme updated with new instructions for installing the helm chart #353
  • Ensure acceptance tests run on previewnet/testnet #351
  • Optimize parse transaction on prechecks #350
  • Optimize parse transaction on prechecks #349
  • Bump 0.5.0 SNAPSHOT #348
  • Add precheck for empty data and value less than one tinybar #346
  • Аdd a pre-check for empty data and value < 1 tinybar #342
  • Verify consistent passes of acceptance tests against previewnet/testnet #340
  • Verify consistent passes of DApp automated tests against previewnet/testnet #339
  • Update docker image version for services in acceptance tests #331
  • web3.js <> relay compatibility #313
  • Truffle <> relay compatibility #312
  • Ensure Schema compliance with execution-apis schema #295
  • Have a precheck when sending less than 1 tinybar #258
  • Remove use and references to mock MirrorNode #253
  • Add client error classes to streamline error handling #213
  • Document endpoint interactions for visibility #137
  • Deploy Mainnet relay instance using Helm #116
  • Add an OpenRPC Document #114
  • Explore tooling tests coverage #104

Bug Fixes

  • Calls with bad data should return an error response #390
  • Improve error handling for eth_getLogs #388
  • Calls with bad data to JSON RPC Relay should return an error response #385
  • eth_getLogs times out and returns internal errors #377
  • Support 'from' in 'eth_call' #375
  • eth_call does not respect the from field all the time #373
  • eth_getLogs does not respect blockhash filter #369
  • Metamask window does not popup on DApp tests #357
  • Metamask window does not popup on DApp tests #347
  • Align log with execution apis #343
  • Align transaction with ethereum execution apis #341
  • Align transaction with ethereum execution apis #338
  • Align log with execution apis #337

Full ChangeLog: v0.4.0...v0.5.0

Contributors

We'd like to thank all the contributors who worked on this release!