feat: replace erc1538 naming to diamond proxy naming - #226
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## feature/diamond #226 +/- ##
===================================================
- Coverage 83.85% 79.36% -4.50%
===================================================
Files 36 37 +1
Lines 1109 1173 +64
Branches 225 236 +11
===================================================
+ Hits 930 931 +1
- Misses 179 242 +63 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull Request Overview
This PR migrates the codebase from ERC1538 naming conventions to Diamond proxy (ERC2535) naming conventions. The migration updates contract references, module names, configuration keys, and deployment scripts to reflect the transition from "modules/delegates" to "facets" and from "ERC1538Proxy" to "DiamondProxy".
- Renames all contract modules from "Delegate" to "Facet" (e.g.,
IexecMaintenanceDelegate→IexecMaintenanceFacet) - Updates configuration keys from
ERC1538ProxytoDiamondProxywhile maintaining backward compatibility - Migrates base contracts from
DelegateBasetoFacetBase
Reviewed Changes
Copilot reviewed 54 out of 54 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| utils/proxy-tools.ts | Updated JSDoc comments to reference Diamond proxy instead of ERC1538 |
| utils/config.ts | Added DiamondProxy configuration while keeping ERC1538Proxy as deprecated |
| test/utils/*.ts | Updated test utilities to use DiamondProxy configuration and naming |
| test/byContract/IexecPocoBoost/*.ts | Migrated test files to use new Facet naming conventions |
| scripts/*.ts | Updated deployment and configuration scripts to use Diamond proxy naming |
| contracts/modules/facets/*.sol | New facet contracts replacing delegate contracts with updated inheritance |
| contracts/modules/delegates/*.sol | Removed old delegate contracts |
| contracts/modules/FacetBase*.sol | Updated base contracts with new naming and documentation |
| hardhat.config.ts | Updated soldoc exclusion paths to use facets instead of delegates |
| deploy/*.ts | Updated deployment scripts to use Diamond proxy and facet naming |
| .github/workflows/*.yml | Updated CI workflow comments to reference DiamondProxy |
Comments suppressed due to low confidence (3)
test/utils/hardhat-fixture-deployer.ts:62
- The deployment name 'Diamond' is inconsistent with the variable name 'newProxyAddress' and the log message 'DiamondProxy'. Consider using 'DiamondProxy' as the deployment name for consistency.
const newProxyAddress = (await deployments.get('Diamond')).address;
scripts/set-callback-gas.ts:15
- The deployment name 'Diamond' is inconsistent with the variable name 'diamondProxyAddress'. Consider using 'DiamondProxy' as the deployment name for consistency throughout the codebase.
const diamondProxyAddress = (await deployments.get('Diamond')).address;
deploy/1_deploy-ens.ts:29
- The deployment name 'Diamond' is inconsistent with the variable name 'diamondProxyAddress'. Consider using 'DiamondProxy' as the deployment name for consistency with other parts of the codebase.
const diamondProxyAddress = (await deployments.get('Diamond')).address;
There was a problem hiding this comment.
Isn’t it a facet as well?
Migration steps:
receiveandfallbackbehavior inDiamond.solModuletoFacetin contracts namesDiamond.sol