github hashgraph/hedera-mirror-node v0.48.0

latest releases: v0.117.0, v0.117.0-rc1, v0.116.1...
2 years ago

HIP-206 adds a parent consensus timestamp to the transaction record for internal transactions that occur like HTS precompiles invoked from a smart contract. To round out the nonce support in the last release we added parent_consensus_timestamp to /api/v1/accounts/{id} and /api/v1/transactions. This field helps define the parent/child relationships between transactions.

HIP-226 describes the recently added contract results REST API. Each release we've been iterating and adding more functionality to the API until it matches the description in the HIP. This release adds the list of logs generated by a smart contract execution. Here's a sample of the new JSON response:

{
    "amount": 30,
    ...
    "logs": [
      {
        "address": "0x0000000000000000000000000000000000001389",
        "contract_id": "0.0.5001",
        "data": "0x0123",
        "index": 0,
        "topics": [
          "0x97c1fc0a6ed5551bc831571325e9bdb365d06803100dc20648640ba24ce69750",
          "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925",
          "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
          "0xe8d47b56e8cdfa95f871b19d4f50a857217c44a95502b0811a350fec1500dd67"
        ]
      },
      {
        "address": "0x000000000000000000000000000000000000138a",
        "contract_id": "0.0.5002",
        "data": "0x0123",
        "index": 1,
        "topics": [
          "0x97c1fc0a6ed5551bc831571325e9bdb365d06803100dc20648640ba24ce69750",
          "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
        ]
      }
    ]
  }

In the last release we added a new Web3 JSON-RPC API. With this release we've added a hedera-mirror-web3 Helm chart that can be used to deploy it on Kubernetes. Additional metrics were added to the Java module and a new Grafana dashboard was created to visualize them. The Web3 API was also added to the docker-compose file.

Upgrading

If you're upgrading an existing deployment of our Helm chart, there are a few breaking changes to keep in mind. First, we deploy the new Web3 API chart by default and it requires a mirror_web3 database user exist with read permission. Please create the new database user before upgrading or you can disable the hedera-mirror-web3 sub-chart.

We've upgraded the PodDisruptionBudget resources from policy/v1beta1 to policy/v1 and as a result now require Kubernetes 1.21 or greater. For the hedera-mirror chart, if you're using the optional postgresql sub-chart you must scale the PostgreSQL replicas down to one before initiating an upgrade in order to upgrade repmgr.

If you're using the hedera-mirror-common chart, there are a number of breaking changes in the community sub-charts it uses. Before upgrading, you will need to delete the prometheus-adapter and kube-state-metrics deployments. You'll also need to reinstall a few custom resource definitions. Run the below commands to do so:

kubectl delete deployment -l app.kubernetes.io/name=kube-state-metrics --cascade=orphan
kubectl delete deployment -l app=prometheus-adapter
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.53.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.53.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.53.1/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.53.1/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.53.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.53.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.53.1/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.53.1/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml

Enhancements

  • Add a Web3 API dashboard #3096
  • Remove rosetta token balance workaround #3088
  • Add logs to contract results REST API #3086
  • Add parent_consensus_timestamp to REST API #3063
  • Default maven to --also-make #3055
  • Bump versions for v0.48.0-SNAPSHOT #3053
  • Add a hedera-mirror-web3 Helm chart #3052
  • Support parent consensus timestamp in REST API #3043
  • Add logs to contract results API #3007
  • Rosetta deprecate token initial balance workaround #2997
  • Web3 Helm chart #2956

Bug Fixes

  • Fix OpenAPI bugs related to path parameters (0.48) #3134
  • Fixes after contract API review (0.48) #3133
  • Optimize NFT transfer history rest endpoint #3062
  • Fix auto created account alias not cached #3057
  • InvalidDatasetException: AccountID not present for alias #3056
  • Downgrade flyway from 8.0.4 to 7.15.0 for PostgreSQL 9.6 compatibility #3054
  • REST endpoint /tokens/:id/nfts/:serialNumber/transactions is slow #2792

Dependency Upgrades

  • Bump follow-redirects from 1.14.4 to 1.14.7 (0.48) #3136
  • Bump grpc-java from 1.43.1 to 1.43.2 (0.48) #3111
  • Bump github.com/go-playground/validator/v10 from 10.9.0 to 10.10.0 in /hedera-mirror-rosetta #3095
  • Bump mathjs from 10.0.1 to 10.0.2 in /hedera-mirror-rest #3094
  • Bump frontend-maven-plugin from 1.12.0 to 1.12.1 #3093
  • Bump eslint-plugin-import from 2.25.3 to 2.25.4 in /hedera-mirror-rest #3092
  • Bump aws-sdk-mock from 5.5.0 to 5.5.1 in /hedera-mirror-rest #3091
  • Bump eslint-plugin-jest from 25.3.0 to 25.3.4 in /hedera-mirror-rest #3090
  • Bump mathjs from 10.0.1 to 10.0.2 in /hedera-mirror-rest/monitoring/monitor_apis #3089
  • Bump log4j2 to 2.17.1 #3084
  • Bump software.amazon.awssdk:bom from 2.17.100 to 2.17.102 #3082
  • Bump spring-native from 0.11.0 to 0.11.1 #3080
  • Bump grpc.version from 1.43.0 to 1.43.1 #3078
  • Bump springdoc-openapi-webflux-ui from 1.6.2 to 1.6.3 #3077
  • Bump yargs from 17.3.0 to 17.3.1 in /hedera-mirror-rest/check-state-proof #3075
  • Bump asn1js from 2.1.1 to 2.2.0 in /hedera-mirror-rest #3073
  • Bump aws-sdk from 2.1046.0 to 2.1048.0 in /hedera-mirror-rest #3072
  • Bump mathjs from 10.0.0 to 10.0.1 in /hedera-mirror-rest #3071
  • Bump vertx-pg-client from 4.2.2 to 4.2.3 #3070
  • Bump spring-boot-starter-parent from 2.6.1 to 2.6.2 #3068
  • Bump spring-cloud-gcp-dependencies from 2.0.6 to 2.0.7 #3067
  • Bump pretty-quick from 3.1.2 to 3.1.3 in /hedera-mirror-rest #3066
  • Bump express-openapi-validator from 4.13.4 to 4.13.5 in /hedera-mirror-rest #3065
  • Bump mathjs from 10.0.0 to 10.0.1 in /hedera-mirror-rest/monitoring/monitor_apis #3064

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.