Skip to content

Releases: hashgraph/hedera-smart-contracts

v0.9.0

12 Jul 22:50
bc73465
Compare
Choose a tag to compare

Overview

Release v0.9.0 brings significant updates and improvements to the Hedera Smart Contracts repository, enhancing functionality and ensuring better performance and stability. Key highlights include:

  • Support for Cancun Features: Added coverage for HIP-865 and HIP-867, providing new functionalities and improvements to the Hedera ecosystem.
  • Enhanced Crypto Transfer Support: Introduced cryptoTransfer to CryptoAllowance to showcase support in HIP-906, expanding the capabilities of crypto operations.
  • Tooling and Analysis: Enhanced tooling with the sevm precompile detection analysis tool and provided raw bytecode analysis reports, improving code quality and security.
  • Contract Structure Refinement: Renamed contracts/precompiles to contracts/system-contracts for better organization and clarity.
  • Dependency Upgrades: Updated various dependencies, including @hashgraph/hedera-local, @openzeppelin/hardhat-upgrades, and @nomicfoundation/solidity-analyzer, ensuring the latest features and security enhancements.

Enhancements

  • fix: renamed contracts/precompiles to contracts/system-contracts #848
  • Rename contracts/precompiles to contracts/system-contracts #846
  • fix: renamed .github/README.md to ./github/workflows_documentation.md #845
  • Rename .github/README.md as it's taking over the README of the repo #843
  • docs: add sevm precompile detection analysis tool #826
  • feat: added coverage for HIP-867 #822
  • Add Smart Contract Services Support for KZG Point Evaluation Precompiled Function (HIP-867) #821
  • feat: added example coverage for HIP-865 #816
  • fix: refactored precompile contracts and tests folders #811
  • Refactor precompile folder #810
  • fix: renamed IHRC to IHRC719 #808
  • feat: added cryptoTransfer to CryptoAllowance to showcase support in HIP906 #800
  • docs: Additional Slither AST note #777
  • docs: add README for upgrade-testing.yml workflow #776
  • feat: BLS Signature Verification Example #775
  • chore: add Solidity files for the Hedera Account Service #771
  • feat: raw bytecode analysing script #768
  • docs: tools analysis reports #767
  • feat: add upgrade testing workflow #757
  • ci: Update workflows for GHA best practices #742
  • test: ci migration testing #733
  • feat: added new StateRegistry contract to expose more state-related-scenarios #731
  • Create end to end tests for atomic crypto transfer #132

Bug Fixes

  • fix(slither): setting the correct path to the build in dc cofnig #830
  • fix: fixed ci failing test in System Dapp Contract #827
  • System Contract DApp CI tests are failing #817
  • fix: trying to fix Publish Results CI #778
  • fix: Turning on test now that mirror node issue #7036 is fixed. #722

Dependency Upgrades

  • build(deps): Bump actions/download-artifact from 4.1.7 to 4.1.8 #838
  • build(deps-dev): Bump @hashgraph/hedera-local from 2.27.0 to 2.27.1 #836
  • build(deps-dev): Bump ws from 7.4.6 to 7.5.10 #832
  • build(deps-dev): Bump @hashgraph/hedera-local from 2.26.2 to 2.27.0 #828
  • build(deps-dev): Bump @openzeppelin/hardhat-upgrades from 3.1.1 to 3.2.0 #823
  • build(deps): Bump ws and ethers in /system-contract-dapp-playground #818
  • build(deps-dev): Bump @hashgraph/sdk from 2.45.0 to 2.47.0 #809
  • build(deps-dev): Bump prettier from 3.3.1 to 3.3.2 #806
  • build(deps): Bump @nomicfoundation/solidity-analyzer from 0.1.1 to 0.1.2 #805
  • build(deps): Bump braces from 3.0.2 to 3.0.3 in /system-contract-dapp-playground #802
  • build(deps-dev): Bump braces from 3.0.2 to 3.0.3 #801
  • build(deps-dev): Bump @hashgraph/hedera-local from 2.25.2 to 2.26.2 #799
  • build(deps-dev): Bump prettier from 3.2.5 to 3.3.1 #796
  • build(deps): Bump actions/download-artifact from 3.0.2 to 4.1.7 #794
  • build(deps-dev): Bump @nomicfoundation/hardhat-chai-matchers from 2.0.6 to 2.0.7 #793
  • build(deps-dev): Bump @openzeppelin/hardhat-upgrades from 3.1.0 to 3.1.1 #791
  • build(deps-dev): Bump hardhat from 2.22.4 to 2.22.5 #790
  • ci: Updated source for conventional-pr-title-action #785
  • build(deps): Bump actions/download-artifact from 3.0.2 to 4.1.7 #779
  • build(deps): Bump actions/setup-node from 3 to 4 #774
  • build(deps): Bump actions/checkout from 3 to 4 #773
  • build(deps-dev): Bump prettier from 3.0.0 to 3.2.5 #762
  • build(deps-dev): Bump hardhat from 2.19.4 to 2.22.4 #755
  • build(deps-dev): Bump @nomicfoundation/hardhat-chai-matchers from 2.0.3 to 2.0.6 #753
  • build(deps-dev): Bump husky from 8.0.3 to 9.0.11 #752
  • build(deps): Bump actions/checkout from 4.1.5 to 4.1.6 #751
  • build(deps-dev): Bump @hashgraph/sdk from 2.41.0 to 2.45.0 #750
  • build(deps-dev): Bump @hashgraph/sdk from 2.41.0 to 2.44.0 #749
  • build(deps-dev): Bump @openzeppelin/hardhat-upgrades from 3.0.2 to 3.1.0 #748
  • build(deps-dev): Bump @nomicfoundation/hardhat-foundry from 1.1.1 to 1.1.2 #747
  • build(deps): Bump dotenv from 16.3.1 to 16.4.5 #746
  • build(deps): Bump elliptic from 6.5.4 to 6.5.5 #744
  • build(deps): Bump actions/checkout from 4.1.4 to 4.1.5 #743
  • build(deps): Bump next from 13.5.4 to 14.1.1 in /system-contract-dapp-playground #739
  • chore: bump local-node version #720
  • build(deps-dev): Bump undici from 5.28.3 to 5.28.4 #717

Contributors

Thank you to all the contributors who worked on this release:

@AlfredoG87, @Ivo-Yankov, @acuarica, @arianejasuwienas, @dependabot[bot], @ebadiere, @lukelee-sl, @natanasow, @quiet-node, and @rbarkerSL

v0.8.0

25 Mar 16:48
6a1e05f
Compare
Choose a tag to compare

Overview

The v0.8.0 release of the hashgraph/hedera-smart-contracts repository encompass a range of enhancements and refinements aimed at improving functionality and maintainability. Key highlights include the migration from ethers.js version 5.x to 6.x, ensuring compatibility and potentially benefiting from new features or optimizations.

Additionally, there's a focus on managing dependencies more efficiently, with updates to various packages and libraries. The introduction of the hardhat-abi-exporter plugin adds a streamlined approach to generating ABI-only artifacts, facilitating easier reference without cluttering the repository with unnecessary default artifacts.

Furthermore, efforts have been made to stabilize tests, enhance documentation, and clean up Solidity warnings, all contributing to a more robust and polished codebase. These changes collectively aim to elevate the overall quality and usability of the project.

Changelog

  • docs: Bump 0.8.0-SNAPSHOT by @quiet-node in #632
  • feat: added oz governor example (#540) by @quiet-node in #635
  • feat: Adding tests for Safe Remote Purchase contract by @stefan-stefanooov in #629
  • feat: Enhanced retries. Renamed functions. Bumped down retries to see how it behaves in CI. by @ebadiere in #584
  • chore: bump hedera-local version by @georgi-l95 in #605
  • build(deps-dev): Bump follow-redirects from 1.15.2 to 1.15.4 in /system-contract-dapp-playground by @dependabot in #639
  • build(deps-dev): Bump follow-redirects from 1.15.3 to 1.15.4 by @dependabot in #638
  • fix: updated current dependencies and migrate from ethersjs v5.x to v6.x (#642 #550) by @quiet-node in #644
  • fix: replaced OZUUPSUpgradableV4 with OZ UUPSUpgradeable V5 (#643) by @quiet-node in #645
  • feat: implement ihrc in hts system contract mocks (#478) by @mshakeg in #640
  • feat: re-compile artifacts by @natanasow in #657
  • feat: add workflow which allows to start tests against desired tag by @georgi-l95 in #649
  • feat: account nonce discrepancies tests by @natanasow in #654
  • fix: fixed networkNodeUrl and mirrorNode constant values by @quiet-node in #661
  • feat: added direct calls to native precompiles #647 by @stefan-stefanooov in #660
  • fix: removed ZeroHashes as private keys by @quiet-node in #662
  • feat: added negative test for Non existing addr and 'send', 'transfer', 'call' sol functions by @stefan-stefanooov in #664
  • chore: update local node by @georgi-l95 in #669
  • feat: added atomicHTS contract to showcase examples highlighting the utilization of the HIP-551 (#650) by @quiet-node in #666
  • fix: Add tests for calls to non existing accounts #670 by @stefan-stefanooov in #671
  • build(deps-dev): Bump undici from 5.28.2 to 5.28.3 by @dependabot in #679
  • feat: added a new flow to let users manually configure transactions' gas limit on the System Contract DApp by @quiet-node in #678
  • feat: stabilize flaky tests by @natanasow in #676
  • build(deps-dev): Bump @openzeppelin/contracts-upgradeable from 5.0.0 to 5.0.2 by @dependabot in #690
  • build(deps-dev): Bump @openzeppelin/contracts from 5.0.0 to 5.0.2 by @quiet-node in #691
  • feat: updated solidity version to be 0.8.23 by @quiet-node in #686
  • fix: fixed prerequisite-check with the correct contract artifacts by @quiet-node in #697
  • feat: added hardhat-abi-exporter plugin to generate ABI-only artifacts on compile by @quiet-node in #698
  • fix: removed gas config in hardhat.config.js (#392) by @quiet-node in #696
  • fix: removed custom gas limit for ERC1155 deploy transaction (#394) by @quiet-node in #695
  • feat: added dynamic feeAmount parameter to fungible and non-fungible token create with custom fee method by @quiet-node in #700
  • fix: tweaked .gitignore to ignore unnecessary default artifacts by @quiet-node in #699
  • build(deps-dev): Bump follow-redirects from 1.15.4 to 1.15.6 in /system-contract-dapp-playground by @dependabot in #704
  • build(deps-dev): Bump follow-redirects from 1.15.4 to 1.15.6 by @dependabot in #705
  • chore: cleaned up Solidity warnings by @quiet-node in #701
  • docs(update): bump 0.8.0-rc1 by @quiet-node in #712

Full Changelog: v0.7.0...v0.8.0

v0.8.0-rc1

25 Mar 16:03
6a1e05f
Compare
Choose a tag to compare
v0.8.0-rc1 Pre-release
Pre-release
docs(update): bump 0.8.0-rc1 (#712)

update(docs): bump 0.8.0-rc1

Signed-off-by: Logan Nguyen <[email protected]>

v0.7.0

15 Dec 21:12
c9651a5
Compare
Choose a tag to compare

Overview

The v0.7.0 release of the hashgraph/hedera-smart-contracts repository introduces a spectrum of enhancements and additions. The project is now updated to integrate the latest 5.0.0 version of OpenZeppelin contract packages. This update is complemented by a varied collection of smart contracts, illustrating the compatibility of Solidity at the language layer and the Yul inline-assembly. It also emphasizes support for OpenZeppelin standard contracts on the Hedera network. Furthermore, comprehensive test coverage has been implemented to meticulously verify the correct behavior of the aforementioned contracts. Additionally, new GitHub Actions workflows, including a PR title check workflow, have been introduced. The CI/CD pipeline has been improved with new tests, checks, and runners for enhanced efficiency.

Changelog

New Contributors

Full Changelog: v0.6.0...v0.7.0

v0.7.0-rc1

15 Dec 20:08
c9651a5
Compare
Choose a tag to compare
v0.7.0-rc1 Pre-release
Pre-release
docs: Bump 0.7.0-rc1 (#631)

update: Bump 0.6.0-rc1

Signed-off-by: Logan Nguyen <[email protected]>

v0.6.0

02 Nov 19:01
aea6f8a
Compare
Choose a tag to compare

Overview

Hedera Smart Contracts v0.6.0 marks the completion of the 4th phase of the System Contract DApp Playground project, incorporating expanded support for ERC721Mock, PrngSystemContract, and ExchangeRateMock contracts, along with the addition of a new Export Transaction to CSV feature. Learn more about the System Contract DApp Playground here.

This release also introduces a set of Solidity example contracts to enhance language coverage, ensures compatibility with the EVM.

Additionally, it implements precompile mock contracts and foundry mock utility test contracts, further enhancing the platform's capabilities

What's Changed

New Contributors

Full Changelog: v0.5.0...v0.6.0

v0.6.0-rc1

02 Nov 19:01
aea6f8a
Compare
Choose a tag to compare
v0.6.0-rc1 Pre-release
Pre-release
Bump 0.6.0-rc1 (#559)

Signed-off-by: Logan Nguyen <[email protected]>

v0.5.0

19 Sep 17:55
effa776
Compare
Choose a tag to compare

Release 0.5.0 of the Hedera smart contracts adds the system contract Dapp playground. Currently it covers HTS, ERC20, and IHRC719 contracts. This release also includes fixes around test coverage and stability, as well as an OpenZeppelin dependency upgrade.

Enhancements

  • dapp-feat: ERC721 TokenInformation feature complete (#322) #404
  • dapp-feat: IHRC/HIP719 feature complete (#371) #402
  • dapp-feat: Wipe Cached Transaction Results feature complete (#390) #398
  • dapp-feat: Transaction History Support feature complete (#368) #397
  • feat: added initial CI tasks for DApp Playground #395
  • [Smart Contract DApp] Phase 4 - Automation #390
  • [Smart Contract DApp] CI task for unit test #389
  • [Smart Contract DApp] production-ready build CI test #388
  • dapp-feat: TransferMultiTokens feature complete (#319) #384
  • dapp-feat: TransferToken feature complete (#319) #382
  • dapp-feat: CryptoTransfer feature complete (#319) #381
  • dapp-feat: finished integrating TokenTransfer API Methods (#319) #379
  • dapp-feat: QueryTokenRelation feature complete (#318) #378
  • dapp-feat: QueryTokenPermission feature complete (#318) #377
  • dapp-feat: QueryTokenSpecific feature complete #375
  • dapp-feat: TokenGeneralInfo feature complete (#318) #374
  • dapp-feat: added helper functions to help convert Proxy object into regular Typescript object for token query general information #373
  • dapp: HTS TokenQuery TokenValidity feature complete (#318) #372
  • [System Contract DApp] - Add contract interacting features to HRCContract #371
  • dapp-feat: finished integrating API methods for TokenQueryContract #370
  • dapp-feat: finished integrating ManageTokenDeduction APIs to interact with TokenManage contract #369
  • [System Contract DApp] Transaction History Support feature #368
  • dapp-feat: finished integrating ManageTokenRelation APIs to interact with TokenManage contract #367
  • dapp-feat: finished integrating ManageTokenStatus APIs to interact with TokenManage contract #366
  • 317 (token permission) add contract interacting features to token management contract contract #365
  • dapp-feat: finished integrating ManageTokenInfo APIs to interact with TokenManage contract #364
  • feat: added TokenManagementContract to the main layout #363
  • dapp-feat: added API methods for TokenManagementContract #362
  • feat: incorporated UI component for the TokenAssociation & GrantTokenKYC method #360
  • feat: incorporated UI component for the MintHederaToken method #359
  • feat: incorporated UI component for the NonFungibleTokenCreate method… #358
  • feat: incorporated a UI component for the FungibleTokenCreate method within the TokenCreateCustom contract. #357
  • feat: set up UI components and methods for integrating the tokenCreateCustom contract's methods into the DApp #356
  • feat: Added API and unit tests to facilitate token mint, token associating, and granting kyc for TokenCreateCustom contract #355
  • feat: Added API and unit tests to facilitate fungible and non-fungible token creations for TokenCreateCustom contract #354
  • feat: Added API and unit tests to facilitate fungible and non-fungible token creations for TokenCreateCustom contract #353
  • update: reorganized shared components logic in the system-contract-dapp #352
  • dapp-feat: added APIs, unit tests for token transfer and integrated new logic to Transfer UI component (#339) #351
  • feat: added APIs, unit tests for token permissions and integrated new logic to TokenPermissions UI component (#338) #349
  • feat: added APIs & unit tests to support minting tokens and querying token balance (#336 #337) #348
  • update: Update TokenCreateCustomContract to dynamically accept an off-chain keys array (#346) #347
  • dapp-feat: added APIs, unit tests for tokenInformation and integrated new logic to TokenInformation UI component (#335) #345
  • update: replaced tokenCreateCustomContract with tokenCreateContract in Hapi vs Ethereum test suite #344
  • test: added unit tests to fix #342 #343
  • [System Contract DApp - ERC20] Add APIs & unit tests to support transferring tokens #339
  • [System Contract DApp - ERC20] Add APIs & unit tests to support token permissions #338
  • [System Contract DApp - ERC20] Add APIs & unit tests to support querying token balances #337
  • [System Contract DApp - ERC20] Add APIs & unit tests to support minting tokens #336
  • [System Contract DApp - ERC20] Add APIs & unit tests to support querying token information #335
  • update: Added necessary interface for ERC20Mock contract (#332) & reworked logic for OneLineMethod and MultiLineMethod component (#333) #334
  • [System Contract DApp - ERC20] restyle and add more PageProps to OneLineMethod && MultiLineMethod component #333
  • [System Contract DApp - ERC20] add necessary interfaces for ERC20Mock contract #332
  • fixed: fixed contract types for contract interaction logic (#330) #331
  • [System Contract DApp - ERC20] fix contract types for contract interaction logic #330
  • feat: added necessary solidity methods and its unit tests for tokenCreateCustom.sol (#315) #328
  • feat: Added new UI component for ERC20Mock contract interactions (#325) #327
  • [System Contract DApp - ERC20] Add contract interacting APIs and Unit Tests #326
  • [System Contract DApp - ERC20] Add new UI component for contract interactions #325
  • [System Contract DApp] Add contract interacting features to ERC20Contract #321
  • [System Contract DApp] Add contract interacting features to TokenTransferContract contract #319
  • [System Contract DApp] Add contract interacting features to TokenQueryContract contract #318
  • [System Contract DApp] Add contract interacting features to TokenManagementContract contract #317
  • [System Contract DApp] Add contract interacting features to TokenCreateCustom contract #316
  • [System Contract DApp] Add necessary Solidity methods and its unit tests for TokenCreateCustom.sol [#315](https://github.com/hashgra...
Read more

v0.4.0

23 Jun 22:16
d87f461
Compare
Choose a tag to compare

v0.4.0 makes necessary updates to tests after the security fixes. It also adds example diamond pattern contracts, an example proxy upgradeable contract with HTS, example ecrecover with tests, and enhanced support for atomic crypto transfers in HTS.

This release also adds more tests in general and enhances supporting infrastructure.

Enhancements

  • Update contracts.maxNumWithHapiSigsAccess to 0 and update test (#245) #255
  • Update contracts.maxNumWithHapiSigsAccess to 0 and update test #245
  • Update contracts.maxNumWithHapiSigsAccess to 0 and update tests #235
  • ecrecover example and tests #234
  • Add tests for calling associate/dissociate via the HRC proxy contract #230
  • Add user support to run mixture of automation test suites #229
  • Redirect for token test fix #228
  • Add test reporting to pipelines #225
  • Add test reporting to pipelines #223
  • Remove constants from erc20 extension tests #222
  • Remove constants from erc20 extension tests #221
  • Adding missing license headers #217
  • Add tests for the ERC20 extensions #213
  • Add ERC1155 Tests to run in CI #211
  • Refactor constants in test #210
  • Refactor constants #209
  • SideCars File Tests #205
  • Redirect for token test failure #202
  • Redirect for token test failure #201
  • Bump 0.4.0-SNAPSHOT #191

Dependency Upgrades

  • Bump @openzeppelin/contracts from 4.8.2 to 4.8.3 #215
  • Bump @openzeppelin/contracts-upgradeable from 4.8.2 to 4.8.3 #214

Contributors

Thank you to all the contributors who worked on this release:

@Ivo-Yankov, @attest08, @dependabot[bot], @ebadiere, @georgi-l95, @isavov, @lukelee-sl, @natanasow, and @yiliev0

v0.3.0...v0.4.0

v0.3.0

31 Mar 15:59
75ef5ef
Compare
Choose a tag to compare

V0.3.0 of the Hedera Smart Contracts adds the precompile method table details:

  • Add README under HTS to capture name, hash, version, HIP and method interface

  • Add README under exchange rate to capture name, hash, version, HIP and method interface

  • Add README under PRNG to capture name, hash, version, HIP and method interface

  • Update main README to point to new READMEs

Enhancements

  • Cleanup unsupported functions #186
  • Add Precompile methods table details #181
  • Add tests for redirectForToken #179
  • Add diamond pattern contracts example #176
  • Add diamond pattern contracts example #174
  • HIP-583: Ethereum Transfer TX via Precompile #169
  • Multicaller tests #168
  • Document a list of all precompile functions #166
  • Add multicall tests #163
  • HIP-583: Ethereum Transfer TX via Precompile #161
  • HIP-583: Ethereum Contract Transfer TX #160
  • HIP-583: Ethereum Transfer TX #159
  • Extend updateTokenInfo test coverage #152
  • Add solidity and ABI files for redirectForToken() #150
  • Enhance updateTokenInfo test coverage #149
  • Add @nomicfoundation/solidity-analyzer dependency #145
  • Add Compare Test for HAPI vs Precompile Token #143
  • Edit tests to work with >=0.32.0 network node image #140
  • Edit tests to work with >= 0.32.0 network node image #139
  • Add System Contract ABI JSON files #137
  • Add ABI JSON file references for System Contracts #136
  • Add setApprovalForAll test from HIP-206 #129
  • Resolve coupling and clean contracts #126
  • Complete HIP 206 transfer test cases #125
  • ERC721 Test Coverage #124
  • ERC20 test coverage #121
  • HIP-584 EVM Module eth_call tests #119
  • HIP 206 create functions test coverage #118
  • Add TokenQueryContract test cases #117
  • Refactor example token contracts #114
  • Add TokenQueryContract test cases #113
  • Add a TokenInfoQuery Contract example #112
  • Update TokenManagementContract #111
  • Add a TokenTransferContract example #110
  • Consolidate Token Create function contract examples #109
  • Add management function test coverage #108
  • Complete HIP 206 create functions test coverage #107
  • Complete ERC721 coverage tests #106
  • Complete ERC20 coverage tests #105
  • Complete HIP 206 transfer test cases #104
  • removed all uses of uints from hedera token service selectors #99
  • Add npm artifact #92
  • Bump 0.3.0-SNAPSHOT #90
  • Enhance support for atomic crypto transfers #88
  • Update README with contribution details #86
  • Add proxy upgrade contract example w HTS #84
  • Cleanup hts-precompile #83
  • Add atomic crypto transfer HTS precompile support #69

Bug Fixes

  • Add solidity-analyzer dependency to package.json #142
  • Calling setApprovalForAll on HTS NFT Token is not working #130
  • INVALID_FULL_PREFIX_SIGNATURE_FOR_PRECOMPILE when calling transferFrom() #128
  • Specification of a key for HTS token via inheritance not working #64

Documentation

  • Update README with contribution details #87

Dependency Upgrades

  • Bump @xmldom/xmldom from 0.7.5 to 0.7.6 #116

Contributors

Thank you to all the contributors who worked on this release:

@Ivo-Yankov, @Nana-EC, @bgok, @dependabot[bot], @georg-getz, @georgi-l95, @lukelee-sl, and @natanasow

Full Changelog: v0.2.0...v0.3.0-rc1
hedera-smart-contracts-v0.3.0.zip