This release is mainly focused around the area of data integrity and ensuring the data in the mirror node is consistent with consensus nodes. To this end, we added an errata database migration that only runs for mainnet and corrects three known issues that impacted the stream files. The state of the consensus nodes was never impacted, only the externalization of these changes to the stream files that the mirror node consumes.
To find the inconsistent data and ensure it stays consistent going forward, we added a new balance reconciliation job. This job runs nightly and compares the balance file information against the record file information to ensure they are in sync. It does three checks for each balance file: verifies the balance files add up to 50 billion hbars, verifies the aggregated hbar transfers match the balance file, and verifies the aggregated token transfers match the balance file. It can be disabled if not needed via hedera.mirror.importer.reconciliation.enabled=false
.
We also fixed a bug that caused transfers with a zero amount to show up for crypto create transactions with a zero initial balance. This was due entirely to our code inserting the extra transfers, not because of any problem in the stream files. We also fixed an REST API bug that caused the contract byte code to show up as double encoded to hex.
For the Rosetta API, we added account alias support to various endpoints. And we now support parsing contract results for precompiled contract functions like HTS functions. This capability is disabled by a feature flag and will be enabled in a future release.
Upgrading
This release contains a couple medium sized database migrations to correct the erroneous data in the database. It is expected to take about 45 minutes against a full mainnet database.
Enhancements
- Rosetta errata workaround #3389
- Add a balance reconciliation job #3387
- Support account alias in Rosetta #3361
- Add hashType to HashMismatchException message #3360
- Bump versions for v0.53.0-SNAPSHOT #3355
- Add an errata migration #3353
- Migration to handle mainnet errata #3352
- Rosetta errata workarounds #3349
- Rosetta alias support #3301
- Balance reconciliation job #3296
- Add ContractResults support for all transaction types #3285
- Support contract results for any transaction type #3243
Bug Fixes
- Fix failing actions (0.53) #3436
- Fix missing contract evm address #3407
- Some contract entity's evm address is missing #3406
- Fix Contract Bytecode double encode issue #3381
- Contract REST API double hex encodes bytecode #3379
- Remove crypto transfer for initial balance #3358
- Fix circular bean reference on startup #3357
- Verify logic of CTL for createCryptoAccount #770
Dependency Upgrades
- Bump github.com/go-playground/validator/v10 from 10.10.0 to 10.10.1 in /hedera-mirror-rosetta #3400
- Bump github.com/coinbase/rosetta-sdk-go from 0.7.3 to 0.7.4 in /hedera-mirror-rosetta #3399
- Bump software.amazon.awssdk:bom from 2.17.143 to 2.17.148 #3398
- Bump axios from 0.26.0 to 0.26.1 in /hedera-mirror-rest #3397
- Bump grpc.version from 1.44.1 to 1.45.0 #3396
- Bump express-openapi-validator from 4.13.5 to 4.13.6 in /hedera-mirror-rest #3395
- Bump jackson-dataformat-msgpack from 0.9.0 to 0.9.1 #3393
- Bump aws-sdk from 2.1087.0 to 2.1092.0 in /hedera-mirror-rest #3392
- Bump testcontainers from 8.2.0 to 8.4.0 in /hedera-mirror-rest #3391
- Bump mathjs from 10.1.1 to 10.4.0 in /hedera-mirror-rest #3385
- Bump mathjs from 10.1.1 to 10.4.0 in /hedera-mirror-rest/monitoring/monitor_apis #3383
- Bump log4js from 6.4.1 to 6.4.2 in /hedera-mirror-rest/check-state-proof #3377
- Bump gorm.io/gorm from 1.23.1 to 1.23.2 in /hedera-mirror-rosetta #3375
- Bump github.com/hashgraph/hedera-sdk-go/v2 from 2.9.0 to 2.10.0 in /hedera-mirror-rosetta #3374
- Bump aws-sdk from 2.1082.0 to 2.1087.0 in /hedera-mirror-rest #3373
- Bump log4js from 6.4.1 to 6.4.2 in /hedera-mirror-rest #3371
- Bump guava from 31.0.1-jre to 31.1-jre #3370
- Bump spring-native from 0.11.2 to 0.11.3 #3369
- Bump software.amazon.awssdk:bom from 2.17.138 to 2.17.143 #3367
- Bump log4js from 6.4.1 to 6.4.2 in /hedera-mirror-rest/monitoring/monitor_apis #3364
- Bump eslint-config-prettier from 8.4.0 to 8.5.0 in /hedera-mirror-rest #3362
Contributors
We'd like to thank all the contributors who worked on this release!