github hashgraph/hedera-mirror-node v0.78.0

latest releases: v0.117.1, v0.118.0-rc1, v0.116.1...
19 months ago

HIP-584 Mirror Evm Archive Node now has token precompile support. This was the last major piece of functionality needed for the /api/v1/contracts/call to be considered eth_call equivalent. The new API was added to the REST API's OpenAPI documentation so that it appears on our Swagger UI. A number of performance optimizations were worked on to make it scalable as well as various test improvements to verify its correctness. Various bugs were addressed including the proper handling of reverts. In the next few releases, we plan to fine tune contract call and implement contract gas estimation.

A large focus was put on performance and resiliency this release. On the performance front, we've optimized the list schedules REST API to be scalable on Citus. Performance tests can now trigger automatically via TestKube once the helm tests complete. Those same k6 performance tests were enhanced to automatically pick appropriate configuration values specific to the environment. The transaction hash table was partitioned and the ingest process made to insert hashes in parallel. This change dramatically speeds up the time to insert the optional transaction hashes. Similarly, an option was added to control which transaction types should cause a hash insertion.

On the resiliency front, the importer component was analyzed for any code paths that may cause record file processing to halt due to bad input from consensus nodes. Any such code was made to handle the error, log/notify, and move on to the next transaction. This change makes the mirror node ingestion more resilient and moves toward preferring availability over correctness. Partial mirror nodes that might become stuck due to having an incomplete address book can now continue to ingest with a new consensusMode property and logic. Partial mirror nodes will now also be able to have a corrected account and token balance even if the entity was missing a deleted flag. Finally, we were able to complete a longstanding refactoring effort to move all transaction specific logic to individual transaction handlers and fixed a number of bugs in the process.

There were a few important bugs fixed in this release that are worth noting. A fix was put in place to correct inaccurate fungible token total supply. Additionally, NFTs for deleted tokens no longer appear as active in the REST API.

Enhancements

  • Remove entity deletion check in balance migrations… #5736
  • Replace outdated actions in release automation workflow #5735
  • Move all transaction specific logic to transaction handlers #5734
  • Add Testkube Test Trigger for REST Test Suite #5733
  • Add cache for web3 precompiles #5721
  • Filter transaction hash by transaction type #5716
  • Support transaction hash ingestion filtered by transaction types #5714
  • Citus optimize list schedules query #5673
  • HIP-584: Extract remaining encoding and decoding utils needed for precompiles #5653
  • HIP-584: Add custom error for precompiles not supported #5634
  • Partition Transaction Hash Table V1 #5629
  • Add /api/v1/contracts/call to open API spec #5584
  • HIP-584: Acceptance tests for eth_call with precompile logic #5559
  • Remove Parsing Exceptions #5470
  • Remove entity deletion check in balance migrations #5464
  • Add token precompile support for contract call #5424
  • Validate correctness of exceptions thrown in record parser #5406
  • HIP-584: Provide unit tests for eth_call with token precompile calls #5302
  • Citus optimize list schedules query #5235
  • Replace semver-action in release automation workflow #5111
  • Auto trigger REST API performance test #5082
  • HIP-584: Provide mirror-node specific implementation for TokenAccessor #4502
  • Refactor transaction specific logic in EntityRecordItemListener into transaction handlers #1374

Bug Fixes

  • HIP-584: Fix flaky ERC acceptance tests behaviour (0.78) #5794
  • Refactor custom fee for contract call (0.78) #5778
  • HIP-584: Disable ERC acceptance tests by default (0.78) #5774
  • Fix incorrect fungible token total supply #5725
  • Fix NFTs for deleted tokens appearing as active in REST API #5711
  • HIP-584: Fix error handling of reverts for all cases #5708
  • Fix partial mirror nodes stuck with incomplete address book #5689
  • Fix several issues in k6 test suite #5686
  • HIP-584: Properly set data field in JSON Error response #5674
  • Incorrect fungible token total supply #5642
  • Transaction Hash Batch Inserter Fails #5633
  • Wrong token status returned from the mirror node endpoint /accounts/0.0.xxx/nfts #5623
  • Mirror node stuck after syncing ~1 week of transactions #5604
  • k6 tests not working. #5313

Dependency Upgrades

  • Bump io.swagger:swagger-annotations from 1.6.9 to 1.6.10 #5747
  • Bump software.amazon.awssdk:bom from 2.20.32 to 2.20.37 #5746
  • Bump vertxVersion from 4.4.0 to 4.4.1 #5745
  • Bump org.springdoc:springdoc-openapi-webflux-ui from 1.6.15 to 1.7.0 #5744
  • Bump org.openapitools:openapi-generator-gradle-plugin from 6.4.0 to 6.5.0 #5743
  • Bump com.hedera.hashgraph:hedera-protobuf-java-api from 0.35.0 to 0.36.1 #5741
  • Bump github.com/thanhpk/randstr from 1.0.4 to 1.0.5 in /hedera-mirror-rosetta #5740
  • Bump sinon from 15.0.2 to 15.0.3 in /hedera-mirror-rest #5739
  • Bump glob from 9.3.2 to 9.3.4 in /hedera-mirror-rest/check-state-proof #5738
  • Bump aws-sdk from 2.1343.0 to 2.1348.0 in /hedera-mirror-rest #5737
  • Bump qs from 6.11.0 to 6.11.1 #5727
  • Bump github.com/opencontainers/runc from 1.1.2 to 1.1.5 in /hedera-mirror-rosetta #5724
  • Bump com.bmuschko:gradle-docker-plugin from 9.2.1 to 9.3.0 #5707
  • Bump io.grpc:grpc-bom from 1.53.0 to 1.54.0 #5706
  • Bump org.owasp:dependency-check-gradle from 8.1.2 to 8.2.1 #5705
  • Bump io.freefair.gradle:lombok-plugin from 6.6.3 to 8.0.1 #5704
  • Bump com.google.cloud:spring-cloud-gcp-dependencies from 3.4.6 to 3.4.7 #5702
  • Bump io.cucumber:cucumber-bom from 7.11.1 to 7.11.2 #5701
  • Bump org.apache.commons:commons-compress from 1.22 to 1.23.0 #5699
  • Bump software.amazon.awssdk:bom from 2.20.27 to 2.20.32 #5698
  • Bump testcontainers from 9.2.1 to 9.3.0 in /hedera-mirror-rest #5697
  • Bump aws-sdk from 2.1338.0 to 2.1343.0 in /hedera-mirror-rest #5696
  • Bump jest from 29.4.3 to 29.5.0 in /hedera-mirror-rest #5695
  • Bump github.com/ethereum/go-ethereum from 1.11.4 to 1.11.5 in /hedera-mirror-rosetta #5694
  • Bump glob from 9.3.0 to 9.3.2 in /hedera-mirror-rest/check-state-proof #5693
  • Bump eslint-config-prettier from 8.7.0 to 8.8.0 in /hedera-mirror-rest #5692
  • Bump nodemon from 2.0.21 to 2.0.22 in /hedera-mirror-rest #5691
  • Bump nodemon from 2.0.21 to 2.0.22 in /hedera-mirror-rest/monitoring/monitor_apis #5690
  • Bump Spring Boot from 2.7.9 to 2.7.10 #5671
  • Bump versions for v0.78.0-SNAPSHOT #5646

Contributors

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

Don't miss a new hedera-mirror-node release

NewReleases is sending notifications on new releases.