Skip to content

v0.56.0

Compare
Choose a tag to compare
@github-actions github-actions released this 05 May 17:46
· 7 commits to release/0.56 since this release
v0.56.0
830a347

This is a big release with support for six different Hedera Improvement Proposals. Most of these changes are on the ingest side of things and future releases will work on adding them to our APIs.

HIP-16 will enable contract expiry and brings a new auto renew account field that contains the account responsible for any renewal fees associated with the contract. The contract REST APIs now show this auto_renew_account field along with a new permanent_removal flag that is set to true when the system expires a contract.

We missed a requirement in our implementation of HIP-329 CREATE2 opcode to allow a HAPI client to do a native transfer of assets to a contract known only by its CREATE2 address. We fixed this logic gap and now support EVM addresses in a CryptoTransferTransaction.

HIP-336 saw further polish to our allowance support. Support for an optional spender ID parameter on our /api/v1/accounts/{id}/nfts?spender.id={id} REST API is now included.

HIP-410 brings with it the ability to wrap an Ethereum native transaction and submit it to Hedera. The mirror node can now parse this new EthereumTransaction along with the results from its execution. Any contracts created or results and logs generated by its execution will automatically show up on the relevant contract REST APIs. Support for specifying the contract initcode directly on a contract create was also added. To support Externally Owned Accounts (EOA) being able to submit Ethereum transactions, we now calculate and store the EVM address of the account's ECDSA secp256k1 alias. Finally, we added support for repeated topics in contract logs REST API to bring it more inline with the eth_getLogs JSON-RPC method. If you supply multiple different topic parameters (e.g. topic0 and topic1) it is considered an AND operation as before, but if pass repeated parameters like topic0=0x01&topic0=0x02&topic1=0x03 it means “(topic 0 is 0x01 or 0x02) and (topic 1 is 0x03)”.

HIP-415 is defining a block as the number of records files since stream start (AKA genesis). Since only mirror nodes have a full history, they will be used to provide consensus nodes the current block number to update their state. Since partial mirror nodes with an effective start date after stream start won't have all record files, they may contain an inconsistent value for their block number in contrast to other mirror nodes with all data. This release attempts to correct that with a migration to bring them inline with full mirror nodes so everyone has a consistent block number value.

HIP-423 Long term scheduled transactions enhances the existing scheduled transactions to allow time-based scheduling of transactions. This release adds ingest support for the new schedule-related fields. Next release will expose these fields via our existing schedule REST APIs.

Upgrading

As part of this release, we have finished upgrading our PostgreSQL databases to version 14 and have updated all tests to use that version as well. We recommend mirror node operators plan their migration to PostgreSQL 14 at their earliest convenience. More details on the upgrade process can be found in our database guide.

The migrations in this release are estimated to take up to 2 hours against a mainnet database. However, the migration that takes up the bulk of this time will only run if it needs to correct block numbers. This is only necessary if your mirror node is a partial mirror node and has an effective start date that occurs after the stream start.

Enhancements

  • Improve rest tests with customized configuration per spec #3703
  • Improve rest tests with customized configuration per test spec #3702
  • HIP-16 Support contract expiry #3701
  • Add ethereum nonce and evm address to entity #3677
  • Add Parent RecordItem link for easy parent child transaction consolidation #3676
  • Add support for repeated topics in contract logs REST API #3673
  • Add parent transaction reference logic to parser #3670
  • Upgrade PostgreSQL images to 14 #3667
  • Update localstack version #3661
  • Upgrade Localstack version #3660
  • Persist block transaction index #3657
  • Support EVM Address in CryptoTransferTransactionBody #3656
  • Support auto association slots for contracts #3628
  • HIP 410: Add parsing support for EthereumTransaction Types #3626
  • Support contract initcode #3625
  • Add Spender ID parameter to NFT REST API #3623
  • HIP-410 Support contract.initcode in REST API #3622
  • Parse long term scheduled transactions #3616
  • Support EVM address in CryptoTransferTransactionBody #3615
  • Bump versions for v0.56.0-SNAPSHOT #3613
  • HIP-336 Add Spender Id Parameter to REST API #3611
  • HIP-410 Add initcode to contract #3607
  • HIP-16 Support contract expiry #3606
  • Support auto-association slots for contracts #3605
  • HIP-410 Add ethereum nonce and EVM address to entity table #3592
  • HIP-423 Parse long term scheduled transactions #3590
  • Store block transaction index #3588
  • HIP-410 Parse EthereumTransaction #3583
  • Support repeated topics for contract logs API #3505

Bug Fixes

  • Fix Internal error with shard.realm.evmAddress in entityId parsing #3668
  • Dedup allowances in crypto approve allowance transaction handler #3663
  • Importer failed to persist nft allowance #3662
  • Internal error with shard.realm.evmAddress parameter to contract APIs #3658
  • Unable to clear a topic auto renew account #3624
  • fix record files block numbers #3621
  • Fix monitor not publishing if error on startup #3618
  • Monitor stops publishing if nodes inactive on startup #3617
  • Remove Rosetta upload artifact step #3614
  • Inconsistent block number for partial mirror nodes #3543

Documentation

  • Fix minor type in API docs #3620
  • Fix minor typo in OpenAPI #3619

Dependency Upgrades

  • Bump headlong from 6.1.1 to 6.2.0 #3715
  • Bump spring-cloud-dependencies from 2021.0.1 to 2021.0.2 #3713
  • Bump mathjs from 10.5.0 to 10.5.1 in /hedera-mirror-rest #3712
  • Bump axios from 0.26.1 to 0.27.2 in /hedera-mirror-rest #3710
  • Bump jest from 28.0.0 to 28.0.3 in /hedera-mirror-rest #3709
  • Bump software.amazon.awssdk:bom from 2.17.176 to 2.17.182 #3708
  • Bump supertest from 6.2.2 to 6.2.3 in /hedera-mirror-rest #3707
  • Bump aws-sdk-mock from 5.6.2 to 5.7.0 in /hedera-mirror-rest #3706
  • Bump cucumber.version from 7.3.3 to 7.3.4 #3705
  • Bump jest-circus from 28.0.0 to 28.0.3 in /hedera-mirror-rest #3704
  • Bump log4js from 6.4.5 to 6.4.6 in /hedera-mirror-rest/check-state-proof #3700
  • Bump @hashgraph/proto from 2.4.0 to 2.4.2 in /hedera-mirror-rest/check-state-proof #3698
  • Bump jest from 27.5.1 to 28.0.3 in /hedera-mirror-rest/check-state-proof #3697
  • Bump github.com/coinbase/rosetta-sdk-go from 0.7.8 to 0.7.9 in /hedera-mirror-rosetta #3696
  • Bump github.com/go-playground/validator/v10 from 10.10.1 to 10.11.0 in /hedera-mirror-rosetta #3695
  • Bump gorm.io/gorm from 1.23.4 to 1.23.5 in /hedera-mirror-rosetta #3694
  • Bump nodemon from 2.0.15 to 2.0.16 in /hedera-mirror-rest/monitoring/monitor_apis #3692
  • Bump log4js from 6.4.5 to 6.4.6 in /hedera-mirror-rest/monitoring/monitor_apis #3691
  • Bump jest from 27.5.1 to 28.0.3 in /hedera-mirror-rest/monitoring/monitor_apis #3689
  • Bump grpc.version from 1.45.1 to 1.46.0 #3688
  • Bump asn1js from 2.3.3 to 2.4.0 in /hedera-mirror-rest #3687
  • Bump cucumber.version from 7.3.2 to 7.3.3 #3686
  • Bump nodemon from 2.0.15 to 2.0.16 in /hedera-mirror-rest #3685
  • Bump log4js from 6.4.5 to 6.4.6 in /hedera-mirror-rest #3684
  • Bump testcontainers from 8.8.0 to 8.9.0 in /hedera-mirror-rest #3683
  • Bump express from 4.17.3 to 4.18.1 in /hedera-mirror-rest/monitoring/monitor_apis #3682
  • Bump express from 4.17.3 to 4.18.1 in /hedera-mirror-rest #3681
  • Bump eclipse-temurin 11.0.14 to 11.0.15 #3666
  • Bump jest-circus from 27.5.1 to 28.0.0 in /hedera-mirror-rest #3654
  • Bump dependency-check-maven from 7.0.4 to 7.1.0 #3653
  • Bump eslint-plugin-jest from 26.1.4 to 26.1.5 in /hedera-mirror-rest #3652
  • Bump jest from 27.5.1 to 28.0.0 in /hedera-mirror-rest #3651
  • Bump mathjs from 10.4.3 to 10.5.0 in /hedera-mirror-rest #3650
  • Bump asn1js from 2.3.2 to 2.3.3 in /hedera-mirror-rest #3649
  • Bump springdoc-openapi-webflux-ui from 1.6.7 to 1.6.8 #3648
  • Bump reporting-plugin from 7.2.0 to 7.3.0 #3647
  • Bump software.amazon.awssdk:bom from 2.17.172 to 2.17.176 #3646
  • Bump github.com/mitchellh/mapstructure from 1.4.3 to 1.5.0 in /hedera-mirror-rosetta #3645
  • Bump gorm.io/driver/postgres from 1.3.4 to 1.3.5 in /hedera-mirror-rosetta #3644
  • Bump github.com/hashgraph/hedera-sdk-go/v2 from 2.11.0 to 2.13.1 in /hedera-mirror-rosetta #3642
  • Bump @hashgraph/proto from 2.3.0 to 2.4.0 in /hedera-mirror-rest/check-state-proof #3641
  • Bump testcontainers from 8.7.1 to 8.8.0 in /hedera-mirror-rest #3640
  • Bump jest-junit from 13.1.0 to 13.2.0 in /hedera-mirror-rest #3639
  • Bump @hashgraph/proto from 2.3.0 to 2.4.0 in /hedera-mirror-rest #3638
  • Bump eslint-plugin-security from 1.4.0 to 1.5.0 in /hedera-mirror-rest #3637
  • Bump aws-sdk from 2.1116.0 to 2.1120.0 in /hedera-mirror-rest #3636
  • Bump spring-boot-starter-parent from 2.6.6 to 2.6.7 #3634
  • Bump protobuf-java from 3.20.0 to 3.20.1 #3633
  • Bump cucumber.version from 7.2.3 to 7.3.2 #3632
  • Bump mathjs from 10.4.3 to 10.5.0 in /hedera-mirror-rest/monitoring/monitor_apis #3631
  • Bump github.com/spf13/viper from 1.8.1 to 1.11.0 in /hedera-mirror-rosetta #3602

Contributors

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