Overview
The Hedera Smart Contracts v0.11.0 release introduces a significant enhancement with the resolution of IHRC632 and IHRC904 definitions, addressing long-standing gaps in the repository. This update provides clear definitions for HIP 632, 904, and 906, introducing dedicated interface contracts like IHRC632
, IHRC904
, and IHRC906
to define HIP-specific functions callable by contracts. It also differentiates facade contracts for direct interaction by both EOAs and contracts, ensuring clarity and modularity. Key additions include hbarAllowance()
and hbarApprove()
in IHRC906Facade.sol
, as well as new utility functions like getEvmAddressAlias()
and isAuthorizedRaw()
, which streamline integration with the system contract. This foundational work lays the groundwork for future compatibility and system contract refinements.
Beyond this major update, the release features several other enhancements, including an indexing tool for ERC contracts and improved test coverage for key functionalities like isAuthorizedRaw()
(HIP-632). Bug fixes and dependency upgrades, such as updates to @hashgraph/sdk
and @openzeppelin/hardhat-upgrades
, ensure stability and compatibility. Internal changes like the introduction of an ERC Registry indexing tool targeting localnet and improved CI workflows demonstrate ongoing efforts to make the codebase more robust and developer-friendly.
What's Changed
Enhancements
- ci: Update Permissions on smart-contracts workflows to update main by @rbarkerSL in #969
- fix: updated release automation workflow by @quiet-node in #976
- test: added test coverage to confirm key alias remain the same after key rotations by @quiet-node in #984
- feat: Skip issue matching for snyk and dependabot PRs. by @ebadiere in #982
- test: added E2E coverage for
isAuthorizedRaw()
in HIP-632. by @quiet-node in #997 - docs: added a design document outlining the ERC contract indexer by @quiet-node in #1033
- chore: initialized a new NPM project for the indexer tool by @quiet-node in #1043
- feat: added ContractScanner service class to handle fetching contracts from mirror node by @quiet-node in #1044
- feat: added categorizeERCContracts() method to detect and categorize ERC contracts by @quiet-node in #1048
- feat: added RegistryGenerator service class to export ERC token contracts by @quiet-node in #1050
- feat: added ConfigService service class to evaluate configurations. by @quiet-node in #1054
- feat: added an option for resolveStartingPoint() to fetch next pointer from disk by @quiet-node in #1057
- feat: added a main runner class as the entry point for the indexing tool by @quiet-node in #1058
- chore: update codeowners by @nadezhdapopovaa in #1053
- feat: added
getErcTokenInfo()
to retrieve detailed token information in the ERC Registry project. by @quiet-node in #1064 - feat: allowed ERC registry indexing tool to target localnet by @quiet-node in #1071
- test: added acceptance test to validate the e2e flow of the ERC Registry project by @quiet-node in #1073
- chore: added a list of files containing token information for ERC-20 and ERC-721 tokens on the Hedera networks by @quiet-node in #1075
- feat: Resolve IHRC632 and IHRC904 definitions by @Nana-EC in #1103
Dependency Upgrades
- build(deps-dev): Bump @hashgraph/hedera-local from 2.29.4 to 2.31.0 by @dependabot in #963
- build(deps-dev): Bump @openzeppelin/hardhat-upgrades from 3.3.0 to 3.4.0 by @dependabot in #959
- build(deps): Bump actions/checkout from 4.2.0 to 4.2.1 by @dependabot in #970
- ci: Bump actions/upload-artifact from 4.4.0 to 4.4.3 by @dependabot in #980
- build(deps-dev): Bump @openzeppelin/hardhat-upgrades from 3.4.0 to 3.5.0 by @dependabot in #985
- build(deps-dev): Bump @openzeppelin/contracts-upgradeable from 5.0.2 to 5.1.0 by @dependabot in #989
- build(deps): Bump actions/checkout from 4.2.1 to 4.2.2 by @dependabot in #994
- build(deps-dev): Bump @hashgraph/sdk from 2.51.0 to 2.52.0 by @dependabot in #988
- build(deps): Bump secp256k1 from 4.0.3 to 4.0.4 by @dependabot in #992
- build(deps): bump actions/setup-node from 4.0.4 to 4.1.0 by @dependabot in #995
- build(deps-dev): Bump hardhat from 2.22.12 to 2.22.13 by @dependabot in #979
- build(deps): Bump elliptic from 6.5.7 to 6.6.0 by @dependabot in #996
- build(deps-dev): Bump hardhat from 2.22.13 to 2.22.15 by @dependabot in #1003
- build(deps-dev): Bump @hashgraph/sdk from 2.52.0 to 2.53.0 by @dependabot in #1004
- chore: Upgraded references in github workflows by @ebadiere in #1009
- build(deps): Bump elliptic from 6.6.0 to 6.6.1 by @dependabot in #1015
- build(deps-dev): Bump hardhat from 2.22.15 to 2.22.16 by @dependabot in #1021
- build(deps): Bump cross-spawn from 7.0.3 to 7.0.6 in /system-contract-dapp-playground by @dependabot in #1023
- build(deps): Bump step-security/harden-runner from 2.10.1 to 2.10.2 by @dependabot in #1024
- build(deps-dev): Bump @hashgraph/hedera-local from 2.31.0 to 2.32.4 by @dependabot in #1017
- build(deps): Bump step-security/publish-unit-test-result-action from 2.17.0 to 2.18.0 by @dependabot in #1025
- build(deps-dev): Bump husky from 9.1.6 to 9.1.7 by @dependabot in #1022
- build(deps-dev): Bump @nomicfoundation/hardhat-foundry from 1.1.2 to 1.1.3 by @dependabot in #1020
- build(deps-dev): Bump prettier from 3.3.3 to 3.4.1 by @dependabot in #1031
- build(deps-dev): Bump @hashgraph/sdk from 2.53.0 to 2.54.2 by @dependabot in #1034
- build(deps-dev): Bump hardhat from 2.22.16 to 2.22.17 by @dependabot in #1045
- build(deps): Bump dotenv from 16.4.5 to 16.4.7 by @dependabot in #1046
- build(deps-dev): Bump @openzeppelin/hardhat-upgrades from 3.5.0 to 3.6.0 by @dependabot in #1032
- build(deps-dev): Bump prettier from 3.4.1 to 3.4.2 by @dependabot in #1049
- build(deps-dev): Bump @hashgraph/hedera-local from 2.32.5 to 2.32.6 by @dependabot in #1055
- build(deps-dev): Bump @openzeppelin/hardhat-upgrades from 3.6.0 to 3.7.0 by @dependabot in #1063
- build(deps-dev): Bump @hashgraph/sdk from 2.54.2 to 2.55.0 by @dependabot in #1069
- build(deps): Bump nanoid from 3.3.6 to 3.3.8 in /system-contract-dapp-playground by @dependabot in #1072
Internal Changes
- ci: Updating one of the actions to fix issues with inputs. by @san-est in #986
- ci: Add "contents" persmission and add hardened runner step by @mishomihov00 in #991
- ci: Update per Q3 audit findings by @mishomihov00 in #1002
- ci: replace release notes generator action with one maintained by stepsecurity by @PavelSBorisov #1027
New Contributors
- @mishomihov00 made their first contribution in #991
- @PavelSBorisov made their first contribution in #1027
- @nadezhdapopovaa made their first contribution in #1053
Full Changelog: v0.10.0...v0.11.0