Skip to content

Releases: hashgraph/hedera-json-rpc-relay

v0.10.0

25 Oct 17:46
3673a97
Compare
Choose a tag to compare

v0.10.0 of the Hedera JSON RPC Relay adds support to a new endpoint eth_maxPriorityFeePerGas as well as improvements to IHederaTokenService precompile contract access, rate limiting, subgraph support and metamask NFT support.

The eth_maxPriorityFeePerGas API endpoint was added to increase our coverage of the RPC API methods expected by tools.

The relay was updated to support direct calls to the IHederaTokenService precompile contract. eth_getCode calls to the IHederaTokenService contract won't fail and in this way developers can make calls to the contract from their dev tools using the contract address without requiring a wrapper contract on ledger to route the call.

Rate limiting logic continues to be improved, in this release a bug was fixed in which some clients were unnecessarily being throttled.

Subgraph support was also expanded and documentation updated to highlight the current extent of support - The Graph Integration. Advancements will continue to be made as they become possible with the Mirror EVM Archive Node.

A metamask issue was also resolved in which NFTs being loaded into Metamask were witnessing a UI stall due to limited Metamask logic. The relay was updating to support additional logic to better report serial details and support Metamask RPC calls.

Enhancements

  • Bump 0.10.0 #652
  • Bump 0.10.0-rc2 #646
  • Add missing python to node alpine base image (0.10) #643
  • Bump 0.10.0-rc1 #635
  • Update eth_getCode to handle call to iHTS address #629
  • Updated eth_getCode to support IHederaTokenService precompile direct call #628
  • Add logging and metrics to rate limit logic #622
  • Add logging and metrics to rate limit logic #621
  • Bump local node acceptance test images for 0.31.A #618
  • Bump local node acceptance test images for 0.31.A #617
  • Optimize eth_getLogs() #616
  • Bump apollo-server-core from 3.10.0 to 3.10.3 in /tools/truffle-example #615
  • Improve Rate Limiter Tiers for Development Tools #613
  • Add graph integration status #611
  • Improve tiered rate limit for dev tools #609
  • Update subgraph example docs #607
  • Review and enhance The Graph docs #601
  • Add support for eth_maxPriorityFeePerGas #595
  • Add TransactionRecordQuery calls to capture failed transaction costs #593
  • Capture missing costs from failed consensus node transactions #592
  • Remove Acceptance Tests and Dapp Test workaround #589
  • Bump 0.10.0-snapshot #587
  • Add support for eth_maxPriorityFeePerGas #586
  • Unit tests for HBAR Rate limit #584
  • HTS NFTs not supported in Metamask mobile wallet #583
  • Unit tests for HBAR Rate limit #582
  • Remove local node workaround for dapp and acceptance tests #507
  • Bump got and web3 in /tools/web3js-example #475

Bug Fixes

  • docker image build broken on missing python #639
  • Fix rate limit not reseting #637
  • Rate limiting cache occasionally not resetting after long periods #623
  • Handle null gas_used from contract results #610
  • Relay can't handle null gas_used #606
  • Revert reason in eth_call #604
  • Transfer HBAR with Metamask mobile app not working #602
  • Handle empty hex bloom in eth_getTransactionReceipt #600
  • eth_getTransactionReceipt - Return EthImpl.emptyBloom if receiptResponse.bloom == EthImpl.emptyHex #599
  • eth_getCode to return the redirect bytecode for HTS tokens #598
  • eth_getCode to return the redirect bytecode for HTS tokens #594
  • subgraph-example project startblock failed dependency #591
  • eth_getLogs - fromBlock and toBlock should default to latest #590
  • getLogs can't use topics filter without timestamp range #576
  • Dapp tests failing in CI #573
  • eth_getLogs does not return anything if filtered #494
  • Revert reason not sent back in reverted contract call #492

Full Changelog: v0.9.0...v0.10.0

Contributors

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

v0.10.0-rc1

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

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

v0.9.0

11 Oct 15:50
b9dc880
Compare
Choose a tag to compare

v0.9.0 of the Hedera JSON RPC Relay brings improvements to the eth_getBalance and eth_getTransactionCount as well as increased support for metrics and rate limiting.

eth_getBalance was updated with support to filter search based on blockNumberOrTag, thus allowing for historic balance queries against the Mirror Node.

eth_getTransactionCount was updated to query the Mirror Node instead on consensus nodes, further more reducing the expenses by the relay.

The relay rate limit logic was expanded to include HBAR rate limiting. Now access to relay calls can be more evenly spread by rate limiting accounts based on HBAR consumption.

The SDKClient transaction and transactionRecord execution logic was updated to use TransactionRecordQuery to help improve metrics and better capture costs for the relay account.

The Helm charts were updated to support rate limit configuration on deployment in kubernetes environments. With this relay runners can customize rate limit tier values and windows to their use case.

Multiple API response schema improvements were made to improve expected formats of outputs utilized by development client tools.

Enhancements

  • Bump 0.9.0 #603
  • Bump 0.9.0-rc2 #597
  • Add TransactionRecordQuery calls to capture failed transaction costs (0.9) #596
  • Bump 0.9.0-rc1 #588
  • Fix constants. Set effectiveGasPrice to 0 if null #581
  • Improve Koa and KoaJsonRpc classes #580
  • Dapp Tests Workaround #579
  • Add chart rate limit configuration support #578
  • Add HBAR Rate Limit support #575
  • Update Deployment Logic with Rate Limit Configs #571
  • process.env variables are undefined at the time of constants module initializations #562
  • eth_getTransactionReceipt: effectiveGasPrice has 0xNaN as value for non-eth transactions #561
  • Update acceptance test github action order #556
  • Update acceptance test github action order #555
  • Update eth_transactionaccount to use mirror #552
  • update eth_getTransactionCount to call mirror node #550
  • eth_getBalance search by blockNumberOrTag #549
  • Rate limit test workaround #548
  • Acceptance tests fail due to rate limiting logic #547
  • Bump services 0.30 and mirror 0.65.0-beta1 #544
  • bump acceptance test images for 0.30.0 release #543
  • Bump 0-9-0 snapshot #538
  • update nonce precheck logic #535
  • Update eth_getBalance to filter search based on blockNumberOrTag #531
  • Increase cohesion between koa and koaJsonRpc #530
  • Add rate limit by HBAR support #528

Bug Fixes

  • Nonce to 0 for Hedera native transactions #568
  • Nonce is null for hedera native transactions #566
  • return the evm address in the from field when calling getTransactionByHash #551
  • ECDSA alias not returned in eth_getTransactionByHash response #505
  • eth_getTransactionByHash yields null result #371

Full Changelog: v0.8.0...v0.9.0

Contributors

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

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