Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump hardhat to 2.22 #1254

Open
wants to merge 20 commits into
base: develop
Choose a base branch
from
Open

Bump hardhat to 2.22 #1254

wants to merge 20 commits into from

Conversation

kronosapiens
Copy link
Member

@kronosapiens kronosapiens commented May 15, 2024

Closes #1228

Main

  • Update to Hardhat 2.22 and cancun hardfork
  • Remove calls to selfdestruct and update uninstall behavior for extensions
  • Make better use of ColonyExtension.sol base class and remove boilerplate from extension contracts

Misc

  • Miscellaneous improvements to coverage
  • Split up reputation-test-non-gnosis Circle job to reduce total build times
  • Make arguments to getMetatransactionNonce consistent among affected contracts

@kronosapiens kronosapiens marked this pull request as draft May 15, 2024 18:39
@kronosapiens kronosapiens force-pushed the maint/hardhat20 branch 3 times, most recently from 905c47b to 6181c43 Compare May 15, 2024 21:07
@kronosapiens kronosapiens marked this pull request as ready for review May 16, 2024 16:24
@kronosapiens kronosapiens force-pushed the maint/hardhat20 branch 3 times, most recently from 529bfe9 to 5271c41 Compare May 17, 2024 18:01
Copy link
Member

@area area left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make arguments to getMetatransactionNonce consistent among contracts

If this is the goal, then I believe you have missed:

  • ColonyNetworkAuction
  • IBasicMetaTransaction
  • CoinMachine
  • FundingQueue
  • TokenSupplier
  • Whitelist
  • VotingReputationStorage
  • VotingReputationMisaligned
  • TokenLocking

Did you not touch incrementMetatransactionNonce because it's internal, or some other reason?

Fun to see a refactor that reduces duplication to the extent the coverage thresholds fail so more tests have to be written, that's good to see 😄

.circleci/config.yml Show resolved Hide resolved
contracts/extensions/ColonyExtension.sol Outdated Show resolved Hide resolved
contracts/extensions/ColonyExtension.sol Show resolved Hide resolved
docs/interfaces/extensions/coinmachine.md Show resolved Hide resolved
.circleci/config.yml Show resolved Hide resolved
@kronosapiens
Copy link
Member Author

kronosapiens commented May 22, 2024

Thinking about this more, I'm not sure if there's much benefit to including uninstall as part of the extension interface in general. We can still support uninstallExtension at the network-level, but the implementation should be changed to:

  1. Remove all permissions from the extension in the colony
  2. Delete the extension from the installations mapping

I say this because we already have a deprecate function which does all of the restricting that we would add to an uninstall function, which makes me think that an uninstall which locks all functions would be mostly redundant.

If anything, the uninstall function on the extension should perform checks to see if we are ready to uninstall the extension via the network. I'm thinking of streaming payments here, where uninstall would simply error if there were unclaimed funds.

UPDATE: after discussing with @area we will delete both resolver and colony on "uninstall".

@kronosapiens kronosapiens force-pushed the maint/hardhat20 branch 5 times, most recently from 913f7ad to 55f3ef7 Compare June 4, 2024 14:10
@kronosapiens kronosapiens force-pushed the maint/hardhat20 branch 6 times, most recently from 041303f to 63f1a19 Compare June 5, 2024 18:41
@kronosapiens kronosapiens changed the title Bump hardhat to 2.20 Bump hardhat to 2.22 Jun 5, 2024
Copy link
Member

@area area left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TokenLocking, VotingReputationMisaligned have still not had their metatransaction arguments updated.

.circleci/config.yml Show resolved Hide resolved
contracts/extensions/CoinMachine.sol Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Unblock Hardhat version pinning
2 participants