github hiero-ledger/hiero-mirror-node v0.152.0

9 hours ago

Having not been reset in over two years, testnet would take a long time for a mirror node to synchronize from genesis. To ease this burden, we now offer database snapshots for the testnet environment. The bootstrap tool has been updated to reflect this.

Work continues towards full block stream compatibility via support for a number of related HIPs. The new general service endpoint was added for HIP-1137 Block Node Discoverability. Additionally, the importer can now automatically watch for registered node transactions and update its list of subscribed block node endpoints. The mirror node now has basic support for HIP-1427 Wrapped Record Blocks as we work towards adding sidecars, signature verification, and amendments in the next release.

Support for HIP-1261 Simple Fees continues to gain steam with the addition of new state mode to the /api/v1/network/fees estimation API. This mode differs from the default intrinsic mode by querying state for the given transaction details. Work was also completed to support simple fees via the /api/v1/contracts/call REST API.

A new delegation_address field was added to the account REST APIs as defined in HIP-1340 EOA Code Delegation. The contract result REST APIs saw the addition of a new authorization_list field to improve support for Ethereum's Pectra upgrade. Finally, the /api/v1/contracts/call saw initial support for Pectra code delegations. Most of this work is behind a feature flag and will be enabled at a later time when consensus nodes finalize their support for Pectra.

There has been a large push to reduce our application memory, CPU, and image sizes to improve our resource usage in Solo. Towards that end, we have added initial GraalVM integration to compile our Java-based modules (gRPC, Importer, REST Java, and Web3) to native code. This dramatically improves our overall startup time for all modules from 59s to 14s. Memory-wise, it reduced the amount of memory consumed to 33% of its original. The overall memory footprint in Solo-based environments went from around 2 GiB down to 600 MiB as seen in the below screenshots. Preliminary results show a CPU reduction as well, but we're still quantifying exactly how much. In the next release, we'll start publishing official native images in GHCR so others can take advantage of these gains. Additionally, we integrated esbuild into the node.js based REST API to tree-shake its dependencies, resulting in a memory reduction from 285 MiB down to 150 MiB.

Original memory usage

Latest usage with native images

Enhancements

  • Bump minimum HAPI version for hooks to 0.73.0 (0.152) #13297
  • Add a one-shot TSS signature size log #13274
  • HIP-1137 Support general service endpoint #13262
  • HIP-1056 Support wrapped record blocks #13223
  • HIP-1340 Adapt the /contracts/* REST endpoints to work with EOA #13222
  • Switch from swagger-stats to opentelemetry #13209
  • Bootstrap testnet support #13204
  • Bundle our application using esbuild so it tree-shakes the app #13200
  • Configure importer, grpc, rest-java, and web3 to for native images #13168
  • HIP-1261 Add STATE mode #13153
  • HIP-1340: Adapt web3 for Pectra code delegations #13121
  • Enable simple fees in web3 #13113
  • HIP-1137 Config block nodes through discovered block node endpoints #13085
  • Enable hooks acceptance test #12814
  • Extend account REST APIs response with delegation_address field #12785

Bug Fixes

  • Downgrade hedera app to 0.72.0 #13269
  • Fix error message issue caused by minify in esBuild #13267
  • Fix mirror_web3 pgbouncer worker user connection lmit #13245
  • Allow using a smart contract sender in a contract call #13237
  • Fix vulnerabilities in GCP Marketplace deployer image #13224
  • Made weibar migration to async #13202
  • Add x permission back to copy-live-environment.sh #13182

Dependency Upgrades

  • Bump Jackson to 2.21.2 and 3.1.1 (0.152) #13290
  • Bump lodash from 4.18.0 to 4.18.1 #13275
  • Bump lodash to 4.18.0 #13266
  • Bump step-security/harden-runner from 2.16.0 to 2.16.1 in the dependencies group #13258
  • Bump org.hiero.block-node:protobuf-sources from 0.30.1 to 0.30.2 #13257
  • Bump org.flywaydb:flyway-database-postgresql from 12.2.0 to 12.3.0 #13256
  • Bump the dependencies group in /rosetta with 2 updates #13254
  • Bump io.github.mweirauch:micrometer-jvm-extras from 0.2.2 to 0.3.0 #13253
  • Bump software.amazon.awssdk:bom from 2.42.18 to 2.42.25 #13251
  • Bump rest dependencies #13241
  • Bump the dependencies group with 2 updates #13236
  • Bump com.diffplug.spotless:spotless-plugin-gradle from 8.3.0 to 8.4.0 #13235
  • Bump com.hedera.hashgraph:sdk from 2.67.0 to 2.68.0 #13234
  • Bump org.openapitools:openapi-generator-gradle-plugin from 7.20.0 to 7.21.0 #13232
  • Bump org.springframework.boot:spring-boot-gradle-plugin from 4.0.4 to 4.0.5 #13231
  • Bump com.hedera.cryptography:hedera-cryptography-wraps from 3.7.7 to 3.7.10 #13229
  • Bump org.hiero.block-node:protobuf-sources from 0.29.0 to 0.30.1 #13228
  • Bump org.flywaydb:flyway-database-postgresql from 12.1.1 to 12.2.0 #13226
  • Bump path-to-regexp from 8.3.0 to 8.4.0 in /rest/monitoring #13225
  • Bump picomatch from 2.3.1 to 2.3.2 in /tools/mirror-report #13217
  • Bump picomatch from 2.3.1 to 2.3.2 in /rest/monitoring #13216
  • Bump picomatch from 2.3.1 to 2.3.2 in /rest #13215
  • Bump github.com/hiero-ledger/hiero-sdk-go/v2 from 2.75.0 to 2.76.0 in /pinger in the dependencies group #13199
  • Bump github.com/jackc/pgx/v5 from 5.8.0 to 5.9.0 in /tools/bootstrap in the dependencies group #13198
  • Bump the dependencies group in /rest with 5 updates #13197
  • Bump the dependencies group in /rosetta with 2 updates #13196
  • Bump the dependencies group with 3 updates #13195
  • Bump io.grpc:grpc-bom from 1.79.0 to 1.80.0 #13194
  • Bump org.testcontainers:testcontainers-postgresql from 2.0.3 to 2.0.4 #13192
  • Bump org.springframework.boot:spring-boot-gradle-plugin from 4.0.3 to 4.0.4 #13190
  • Bump org.flywaydb:flyway-database-postgresql from 12.1.0 to 12.1.1 #13189
  • Bump software.amazon.awssdk:bom from 2.42.13 to 2.42.18 #13188
  • Bump dockerJavaVersion from 3.7.0 to 3.7.1 #13187
  • Bump gradle-wrapper from 9.4.0 to 9.4.1 #13186
  • Bump protobufVersion from 4.34.0 to 4.34.1 #13185
  • Bump versions for v0.152.0-SNAPSHOT #13174

Deployments

  • Enable opcode tracer for web3 in helmrelease.yaml #13309
  • Increase timeout from 10m to 30m in mainnet-staging-na helmrelease.yaml #13288
  • Bump mainnet-staging-na to v0.152.0-rc1 #13279
  • Bump performance to v0.152.0-rc1 #13277

Contributors

Thank you to all the contributors who worked on this release:

@ashumahajan
@bilyana-gospodinova
@IvanKavaldzhiev
@jnels124
@martingeorgiev1
@nirbosl
@sdimitrov9
@steven-sheehy
@xin-hedera

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

NewReleases is sending notifications on new releases.