Releases: hashgraph/hedera-json-rpc-relay
v0.5.0
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 thefrom
field all the time #373eth_getLogs
does not respectblockhash
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
Full Changelog: v0.4.1...v0.5.0-rc1
v0.4.1
This release adds missing logic to set the senderAccountId
to the corresponding input from
field.
Enhancements
- Bump 0.4.1 #384
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
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
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 <[email protected]> Signed-off-by: Nana-EC <[email protected]> Co-authored-by: Nikolay Atanasow <[email protected]>
v0.4.0-rc1
Bump 0.4.0-rc1 (#352) Signed-off-by: Nana-EC <[email protected]>
v0.3.0
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
totokens.spec.ts
to includeHTS
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
andtransaction
#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
What's Changed
- Update balance precheck to handle large values by @Nana-EC in #329
- Bump 0.3.0-rc3 by @Nana-EC in #330
Full Changelog: v0.3.0-rc2...v0.3.0-rc3
v0.3.0-rc2
Full Changelog: v0.3.0-rc1...v0.3.0-rc2
v0.3.0-rc1
Full Changelog: v0.2.0...v0.3.0-rc1