Skip to content

Releases: hashgraph/hedera-json-rpc-relay

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!

v0.5.0-rc1

01 Aug 22:08
f2e2e4c
Compare
Choose a tag to compare
v0.5.0-rc1 Pre-release
Pre-release

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

v0.4.1

27 Jul 03:40
c07fc11
Compare
Choose a tag to compare

This release adds missing logic to set the senderAccountId to the corresponding input from field.

Enhancements

Bug Fixes

  • Support 'from' in 'eth_call' (0.4) #383

Full Changelog: v0.4.0...v0.4.1

Contributors

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

v0.4.0

27 Jul 03:30
8cdc9cf
Compare
Choose a tag to compare

This release brings greater stability to the relay with Schema updates and initial Ethereum dev tool support.

The schema response formats for Transaction receipt and Logs were updated to match the Ethereum Execution APIs.

The eth_call endpoint logic was expanded to gracefully manage calls where the data field is left empty.
The eth_sendRawTransaction endpoint precheck logic was expanded to ensure the minimum gas requirement is satisfied.

Initial Ethereum tool support was explored with base coverage for Hardhat.
With this smart contracts can be deployed and executed on the Hedera Network by configuring Hardhat to route through the relay.

Deployment metrics coverage was expanded to note the relay operator account_id.

Acceptance and integration test coverage was also increased to provide greater confidence across deployments.

Enhancements

  • Bump 0.4.0 version #368
  • Bump 0.4.0-rc1 #352
  • Cannot estimate gasPrice on previewnet #345
  • Hardhat relay compatibility #334
  • Restore eth_sendRawTransaction acceptance test #322
  • Restore eth_sendRawTransaction large contract acceptance test #321
  • Add backup logic to generate keys as part of the flow #320
  • Add key generation support to Dapp bootstrap #319
  • Add support for optional data field on eth_call flow #317
  • Support undefined data param on eth_call #316
  • Hardhat <> relay compatibility #311
  • Add cache logic to capture static INVALID entity transaction failures #310
  • Bump 0.4.0-SNAPSHOT #308
  • HTS acceptance tests #298
  • Add account_id to rpc_relay_operator_balance metric #272
  • Allow Hardhat to deploy smart contracts #259
  • Add cache logic to capture static INVALID entity transaction failures #216
  • Add gas precheck to eth_sendRawTransaction #127

Bug Fixes

  • Align log with execution apis (0.4) #364
  • Align transaction with ethereum execution apis (0.4) #363
  • Align receipt with execution apis #332
  • Update balance precheck to better handle large accounts #328
  • Add lerna to dependency to support complete docker build and release #318
  • Fix schema mismatch for nums in eth_getTransactionReceipt response #315
  • Update eth_getLogs to utilize index across block transactions #314
  • hbars do not show in metamask with hedera-local-node #309
  • Validate and fix logIndex increment logic on eth_getLogs route #303
  • eth_getTransactionReceipt invalid response: hex string instead of uint #302
  • Server reporting missing result or error claims #237

Full Changelog: v0.3.0...v0.4.0

Contributors

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

v0.4.0-rc2

04 Aug 22:35
10c6823
Compare
Choose a tag to compare
v0.4.0-rc2 Pre-release
Pre-release
Align log with execution apis (0.4) (#364)

CHerry-pick #337 to release/0.4

Update log response integers to be hexadecimals

Signed-off-by: Nikolay Atanasow <n.atanasow94@gmail.com>
Signed-off-by: Nana-EC <nana@swirldslabs.com>

Co-authored-by: Nikolay Atanasow <n.atanasow94@gmail.com>

v0.4.0-rc1

04 Aug 22:34
37d5eb6
Compare
Choose a tag to compare
v0.4.0-rc1 Pre-release
Pre-release
Bump 0.4.0-rc1 (#352)

Signed-off-by: Nana-EC <nana@swirldslabs.com>

v0.3.0

13 Jul 17:17
ba3131c
Compare
Choose a tag to compare

v0.3.0 brings large transaction, improved in relay prechecks and expanded acceptance tests with ERC 20 coverage.
The release continues on the goal to provide strong foundational functionality for the relay and make initial steps towards optimal features.

The eth_sendRawTransaction endpoint now supports large transactions (usually seen with contract deplyment) that exceed the Hedera transaction size support.

The eth_feeHistory endpoint was updated to use the mirror node APIs more completely, this moves away from the static logic initially provided.

Multiple prechecks (chainId, balance, gas) were added to reduce the latency between a users submission of transactions that would not make it to consensus and their reported status, this also reduces the load on the network and thus operator expense.

Initial updates were made to increase response schema compliance with the eth execution apis schema.

Logging and metrics have seen continued improvements with an attempt to increase log readbility and capture operator balance changes over time across transactions and queries.

Multiple deployment related changes were added to increase Helm deployment and configuration support.

A large push was also made to increase test coverage by the additon of service node mocking integration tests and a suite of ERC20 acceptance tests.

Enhancements

  • Bump version to 0.3.0 #335
  • Bump 0.3.0-rc3 #330
  • Bump 0.3.0-rc2 #326
  • Bump 0.3.0-rc1 #307
  • Implement gasLimit Precheck #304
  • Helm chart chain id fix #299
  • Improve logging, metrics and error handling #297
  • Add balance precheck to eth_sendRawtransaction #293
  • Add acceptance test support for eth_getLogs #292
  • Add gas precheck to eth_sendRawTransaction #291
  • eth_call acceptance tests #290
  • ChainId precheck #288
  • DApp tests not working on public networks #286
  • Implement eth_sendRawTransaction for large Ethereum TXs #281
  • Extend/change the erc20.spec.ts to tokens.spec.ts to include HTS tokens #280
  • Update feeHistory exchangeRate logic to use MirrorNode #278
  • Expand DApp SDK client to support non local envs #275
  • DApp example tests should support non local SDK envs #274
  • Add retry logic to MirrorNodeClient calls #271
  • Freezes after tx.wait() or contract.deployed() #269
  • Fix block root properties default hash formats #263
  • Add eth_feeHistory and eth_gasPrice acceptance tests #257
  • Add eth_feeHistory and eth_gasPrice acceptance tests #255
  • Add support for empty ENV variables on deployment #254
  • Deployment selector env and secrets improvements #252
  • Deployment selector env and secrets #249
  • Bump v0.3.0-SNAPSHOT #248
  • Bump v0.3.0-SNAPSHOT #247
  • Add erc20.spec.test #241
  • Add erc20.spec.test #231
  • Enhance assertions of blocks and transaction #230
  • Add an eth_call acceptance test #218
  • Implement gasLimit Precheck #215
  • Add retry logic to mirrorNodeClient calls #203
  • Add acceptance test support for getLogs #140
  • Add balance precheck to eth_sendRawtransaction #130
  • Add chain_id precheck to eth_sendRawTransaction #129
  • Add gasLimit precheck to eth_sendRawTransaction #128
  • Deploy Testnet relay instance using Helm #115
  • Explore ECDSA onboarding UX flow #111
  • Deploy previewnet relay instance using Helm #110
  • Deploy Integration relay instance using Helm #109
  • Update feeHistory exchangeRate logic to use MirrorNode #85
  • Implement eth_sendRawTransaction for large Ethereum TXns #15

Bug Fixes

  • Update balance precheck to handle large values #329
  • Balance prechecks failing when balance uses exponent #327
  • Update eth_getLogs to utilize index across block transactions (0.3) #325
  • Add lerna to dependency to support complete docker build and release (0.3) #323
  • Helm deployments don't handle integer CHAIN_ID values #300
  • Ensure transactionHash and blockHash are hash32 #294
  • eth_getLogs transactionHash + blockHash not hash32 #289
  • DApp tests not working on public networks #285
  • Remove/modify retry logic for MirrorNodeClient calls #284
  • 268 fix get logs #270
  • invalid eth_getLogs response, required property transactionHash is missing #268
  • Improve MirrorNodeClient 500 handling #262
  • MirrorNode Response logic doesn't handle missing status code #261
  • Fix nonce zerohexbytes regression #260
  • Block schema violations #256
  • Return gasPrice as baseFeePerGas on blocks route #251
  • Return gasPrice as baseFeePerGas on getBlocks route #250
  • Investigate why ethers tx submission does not work #227
  • invalid block nonce #149

Full Changelog: v0.2.0...v0.3.0

Contributors

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

v0.3.0-rc3

13 Jul 16:31
75a794c
Compare
Choose a tag to compare
v0.3.0-rc3 Pre-release
Pre-release

What's Changed

Full Changelog: v0.3.0-rc2...v0.3.0-rc3