Skip to content

Conversation

@Le-Caignec
Copy link
Contributor

@Le-Caignec Le-Caignec commented Oct 29, 2025

This PR upgrades OpenZeppelin Contracts from version 3.3.0 to 5.4.0 by removing the dual-version setup (@openzeppelin/contracts v3.3.0 and @openzeppelin/contracts-v5 alias) in favor of a single v5 installation.

Copilot AI review requested due to automatic review settings October 29, 2025 08:19
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR upgrades OpenZeppelin Contracts from version 3.3.0 to 5.4.0 by removing the dual-version setup (@openzeppelin/contracts v3.3.0 and @openzeppelin/contracts-v5 alias) in favor of a single v5 installation. The change removes a custom TimelockController implementation and adopts the official OpenZeppelin v5 TimelockController contract.

Key changes:

  • Replaced dual OpenZeppelin package setup with single v5.4.0 version
  • Updated all import paths from @openzeppelin/contracts-v5 to @openzeppelin/contracts
  • Removed custom TimelockController contract (Solidity 0.6) in favor of OpenZeppelin's v5 implementation
  • Updated hardhat config to compile OpenZeppelin's TimelockController for deployment

Reviewed Changes

Copilot reviewed 22 out of 23 changed files in this pull request and generated no comments.

Show a summary per file
File Description
package.json Updated OpenZeppelin dependency from dual v3.3.0/v5.0.2 setup to single v5.4.0, removed TimelockController exclusion
package-lock.json Updated lock file to reflect new OpenZeppelin v5.4.0 dependency resolution
hardhat.config.ts Updated import paths and added OpenZeppelin TimelockController to external compilation list
contracts/tools/TimelockController.sol Removed custom Solidity 0.6 implementation
contracts/registries/*.sol Updated import paths from @openzeppelin/contracts-v5 to @openzeppelin/contracts
contracts/libs/PocoStorageLib.sol Updated IERC20 import path
contracts/facets/*.sol Updated all OpenZeppelin import paths and reformatted IexecPoco1Facet contract declaration
contracts/tools/testing/*.sol Updated mock contract import paths
abis/contracts/registries/*.json Updated error definitions to match OpenZeppelin v5 (renamed Create2* errors to match new naming)
abis/contracts/facets/IexecPoco2Facet.json Removed MathOverflowedMulDiv error (no longer exposed in v5)
docs/solidity/index.md Reorganized documentation sections (content unchanged, only ordering)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Le-Caignec Le-Caignec changed the title Feat/clean dep feat: clean OpenZeppelin dual-version setup Oct 29, 2025
@Le-Caignec Le-Caignec marked this pull request as ready for review October 29, 2025 08:41
Copilot AI review requested due to automatic review settings October 29, 2025 08:42
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 23 out of 24 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Le-Caignec Le-Caignec self-assigned this Oct 29, 2025
Copilot AI review requested due to automatic review settings October 29, 2025 17:35
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 22 out of 23 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings October 30, 2025 08:17
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 24 out of 25 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov
Copy link

codecov bot commented Oct 30, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.32%. Comparing base (7f3ca8a) to head (fe2105e).

Additional details and impacted files
@@                           Coverage Diff                           @@
##           feature/make-v8-migration-non-breaking     #308   +/-   ##
=======================================================================
  Coverage                                   96.32%   96.32%           
=======================================================================
  Files                                          34       34           
  Lines                                        1117     1117           
  Branches                                      209      209           
=======================================================================
  Hits                                         1076     1076           
  Misses                                         41       41           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copilot AI review requested due to automatic review settings October 31, 2025 14:37
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 23 out of 24 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

address[] memory proposers,
address[] memory executors
) public {
) {
Copy link

Copilot AI Oct 31, 2025

Choose a reason for hiding this comment

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

[nitpick] The constructor visibility should be explicitly declared as public for clarity and consistency with Solidity best practices, even though constructors are implicitly public in Solidity 0.8.0+. This maintains compatibility with OpenZeppelin's TimelockController pattern and improves readability.

Suggested change
) {
) public {

Copilot uses AI. Check for mistakes.
…nd organization, consolidating interfaces and updating function signatures for improved readability
…ing in IexecERC20Core contract for better readability and maintainability
…solidate function signatures, and enhance clarity by introducing new methods for managing categories, datasets, and worker pools. This update also includes breaking changes to improve organization and maintainability.
…ate package.json to exclude TimelockController from build artifacts
…ry structure, consolidate interfaces, and enhance function signatures for better clarity and organization. This update includes breaking changes and new methods for managing categories, datasets, and worker pools.
Copilot AI review requested due to automatic review settings October 31, 2025 15:42
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 35 out of 36 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings October 31, 2025 15:48
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 35 out of 36 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

"version": "5.0.2",
"resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-5.0.2.tgz",
"integrity": "sha512-ytPc6eLGcHHnapAZ9S+5qsdomhjo6QBHTDRRBFfTxXIpsicMhVPouPgmUPebZZZGX7vt9USA+Z+0M0dSVtSUEA=="
"version": "5.4.0",
Copy link
Contributor

Choose a reason for hiding this comment

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

maybe issue here ? instead of "version": "5.0.2",

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I removed it and regenerated it from scratch, and I got the same file. What about you?
It seems correct to me.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 36 out of 37 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

…ith new error handling and function signatures. Add new error definitions in Errors.sol and Strings.sol. Introduce IERC165 and ERC165 interfaces. Update ERC20, ERC721, and related interfaces to reflect current standards. Enhance error handling in various contracts, including Create2 and ECDSA.
…arious platforms including solidity analyzers for darwin, freebsd, linux, and win32 environments
Copilot AI review requested due to automatic review settings November 4, 2025 16:17
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 49 out of 67 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants