github hashgraph/hedera-mirror-node v0.86.0

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

There was a ton of progress towards our goal capturing all entity changes. This release adds the highly requested feature of tracking the remaining hbar and fungible token allowances and showing it via the amount field on the REST API. Importantly, this tracking only applies to new or updated allowances. Existing allowances will see their remaining allowance adjusted appropriately in the next release.

Traditionally, the mirror node has only stored the aggregated transfers from the transaction record. Now in addition we store the itemized transfers from the transaction body by default and embed it within the transaction table. For partial mirror nodes, we now create entities during balance initialization. This means even if a mirror node starts up now this migration can be rerun to create every account and contract with accurate balance information. In the next release, we'll extend this to automatically rerun this migration when processing the first account balance file.

Finally, we added an entity_transaction join table to start tracking all entities associated with a transaction. This will enable us provide a better transaction search experience and find all transactions associated with an entity. This functionality is disabled in this release as we iterate on it to make it performant.

Support for Ethereum transaction type 1 as specified in EIP-2930 is now available. Previously only legacy and type 2 Ethereum transactions were supported. The new EIP-2930 transactions can be sent either directly to HAPI via an EthereumTransaction or via the JSON-RPC Relay.

HIP-584 EVM Archive node saw a large number of precompiles implemented. This includes all of the following:

  • approve
  • approveNFT
  • associateToken
  • associateTokens
  • burnToken
  • createFungibleToken
  • createFungibleTokenWithCustomFees
  • createNonFungibleToken
  • createNonFungibleTokenWithCustomFees
  • deleteToken
  • freezeToken
  • pauseToken
  • setApprovalForAll
  • transferFrom
  • transferFromNFT
  • transferNFT
  • transferNFTs
  • transferToken
  • transferTokens
  • unfreezeToken
  • unpauseToken

Enhancements

  • Add Entity Transaction #6521
  • HIP-584: Copy GetTxnRecordResourceUsage from services #6516
  • HIP-584: Copy token update logic #6510
  • HIP-584: Copy GetTxnRecordResourceUsage from services #6499
  • Update testnet bucket name for 2023-07 reset #6497
  • Update testnet bucket name for 2023-07 reset #6496
  • Add parsing support for EIP 2930 transactions #6495
  • Add EIP 2930 transaction parsing support to importer #6494
  • HIP-584: Add tests for eth_call functions with alias accounts #6479
  • Create entities during balance initialization #6467
  • HIP-584: ERC read-only precompiles enabler #6466
  • HIP-584: Add tests for eth_call with account alias address #6465
  • Apply spotless to all files #6459
  • HIP-584: Provide implementation for ERC transfer precompiles #6455
  • HIP-584: Copy Freeze/Unfreeze Logics and Precompiles #6453
  • HIP-584: copy SetApprovalForAllPrecompile #6452
  • HIP-584: Copied UnpauseLogic and UnpausePrecompile #6447
  • HIP-584: Copy ApprovePrecompile #6446
  • HIP-584: Copied PauseLogic and PausePrecompile #6445
  • HIP-584: modify HtsPrecompiledContract to work with write operations from dynamic context #6444
  • HIP-584: Enable shanghai support #6443
  • Remove long to Instant conversions in gRPC API #6429
  • Reduce unnecessary long to Instant conversion in gRPC API #6427
  • HIP-584: Refactor Precompiles #6420
  • HIP-584: Copy DeleteLogic and DeleteTokenPrecompile #6419
  • HIP-584: Copied RevokeKycPrecompile #6412
  • HIP-584: Copy TokenUpdateLogic #6393
  • HIP-584: Copy DeleteLogic #6391
  • HIP-584: Copy and adapt implementation for Create Token precompile Part 2 #6386
  • Replace non_fee_transfers with itemized transfers #6381
  • Track remaining crypto and fungible token allowances #6336
  • HIP-584: Copy UnpausePrecompile #6327
  • HIP-584: Copy PausePrecompile #6326
  • HIP-584: Copy UnpauseLogic #6325
  • HIP-584: Copy PauseLogic #6324
  • Add EntityTransaction #6303
  • Store the itemized transfers from the body #6301
  • HIP-584: Copy FreezeLogic and UnfreezeLogic #6237
  • HIP-584: Provide implementation for transfer precompiles - Part2 #6199
  • HIP-584: Provide implementation for RevokeKycPrecompile #5659
  • HIP-584: Provide implementation for freeze and unfreeze precompiles #5658
  • HIP-584: Provide implementation for DeleteTokenPrecompile #5657
  • HIP-584: Provide implementation for ERC transfer precompiles #5654
  • HIP-584: Copy implementation for approve precompiles #5652
  • HIP-584: Provide implementation for crypto transfer precompiles #5650
  • HIP-584: Provide implementation for create token precompiles #5649
  • Cannot Query Account Balances in v0.67.1 #4763
  • HIP-336 Track remaining crypto and fungible token allowances #3576

Bug Fixes

  • Move session temp_buffers settings to HikariCP connection init sql #6556
  • Importer batch upserter fails #6555
  • Fix getNodes API attempting to update stake #6526
  • getNodes gRPC API returns Unknown error #6525
  • Fix acceptance test network downtime recovery #6524
  • Acceptance tests do not recover from consensus node downtime #6523
  • Fix slow contracts results REST API endpoint #6515
  • /contracts/results times out in k6 perf test #6513
  • HIP-584: Adapt resolving address for evm addressed contract with long zero address eth_call #6508
  • Fix slow entity stake history migration #6502
  • DB migration 1.83.1 entity stake history is very slow #6501
  • eth_call returns INTERNAL_ERROR when calling a contract by its long zero address #6498
  • HIP-584: Fix contractId key in contract call #6489
  • Check associated flag on token balance endpoint #6482
  • Token balance REST API shows dissociated accounts #6481
  • getTokenKey method returns empty struct for key of type ContractID #6478
  • HIP-584: Adapt Mirror Archive Node to respect alias addresses #6454
  • HIP-584: Calling eth_call with account alias address returns empty result #6451
  • HIP-584: fix RevokeKycPrecompile compilation error #6432
  • Optimize 10K TPS ingest performance #6295

Dependency Upgrades

  • Bump @aws-sdk/client-s3 from 3.374.0 to 3.379.1 in /hedera-mirror-rest #6543
  • Bump eslint-config-prettier from 8.8.0 to 8.9.0 in /hedera-mirror-rest #6542
  • Bump jest from 29.6.1 to 29.6.2 in /hedera-mirror-rest #6541
  • Bump jest from 29.6.1 to 29.6.2 in /hedera-mirror-rest/check-state-proof #6540
  • Bump node-fetch from 3.3.1 to 3.3.2 in /hedera-mirror-rest/check-state-proof #6539
  • Bump node-fetch from 3.3.1 to 3.3.2 in /hedera-mirror-rest/monitoring/monitor_apis #6538
  • Bump jest from 29.6.1 to 29.6.2 in /hedera-mirror-rest/monitoring/monitor_apis #6537
  • Bump mathjs from 11.9.0 to 11.9.1 in /hedera-mirror-rest/monitoring/monitor_apis #6536
  • Bump org.springframework.cloud:spring-cloud-dependencies from 2022.0.3 to 2022.0.4 #6534
  • Bump org.gradle:test-retry-gradle-plugin from 1.5.3 to 1.5.4 #6533
  • Bump software.amazon.awssdk:bom from 2.20.109 to 2.20.115 #6532
  • Bump io.grpc:grpc-bom from 1.56.1 to 1.57.0 #6531
  • Revert Dependabot sonarqube bump #6486
  • Revert bump org.sonarsource.scanner.gradle:sonarqube-gradle-plugin from 4.2.1.3168 to 4.3.0.3225 #6485
  • Bump mathjs from 11.9.0 to 11.9.1 in /hedera-mirror-rest #6480
  • Bump @aws-sdk/client-s3 from 3.370.0 to 3.374.0 in /hedera-mirror-rest #6477
  • Bump @hashgraph/proto from 2.12.0 to 2.13.0 in /hedera-mirror-rest #6476
  • Bump testcontainers from 9.10.1 to 9.12.0 in /hedera-mirror-rest #6475
  • Bump mathjs from 11.8.2 to 11.9.0 in /hedera-mirror-rest #6474
  • Bump mathjs from 11.8.2 to 11.9.0 in /hedera-mirror-rest/monitoring/monitor_apis #6473
  • Bump com.hedera.hashgraph:sdk from 2.25.0 to 2.26.0 #6472
  • Bump org.sonarsource.scanner.gradle:sonarqube-gradle-plugin from 4.2.1.3168 to 4.3.0.3225 #6471
  • Bump software.amazon.awssdk:bom from 2.20.103 to 2.20.109 #6470
  • Bump com.diffplug.spotless:spotless-plugin-gradle from 6.19.0 to 6.20.0 #6469
  • Bump @hashgraph/proto from 2.12.0 to 2.13.0 in /hedera-mirror-rest/check-state-proof #6468
  • Bump Spring Boot from 3.1.1 to 3.1.2 #6458
  • Bump Node.js from 18.16.0 to 18.17.0 #6457
  • Bump Gradle from 8.1.1 to 8.2.1 #6450
  • Bump versions for v0.86.0-SNAPSHOT #6431

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.