-
Notifications
You must be signed in to change notification settings - Fork 14
feat: Migrate proxy to Diamond pattern (ERC-2535) #241
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
Conversation
This reverts commit 27baacb.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## develop #241 +/- ##
===========================================
- Coverage 84.50% 83.66% -0.85%
===========================================
Files 35 38 +3
Lines 1084 1218 +134
Branches 221 227 +6
===========================================
+ Hits 916 1019 +103
- Misses 168 199 +31 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this 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 migrates the Iexec smart contracts from the EIP-1538 proxy pattern to the Diamond pattern (ERC-2535), representing a significant architectural upgrade. The migration introduces a new proxy structure with Diamond facets for improved modularity and upgradability.
Key changes include:
- Introduction of Diamond pattern proxy architecture with facets
- Removal of ENS integration modules and functions
- Updates to deployment configurations across testnet environments
Reviewed Changes
Copilot reviewed 144 out of 182 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
deployments/arbitrumSepolia/ReverseRegistrar.json | Updated deployment address and added constructor arguments for ENS components |
deployments/arbitrumSepolia/RLC.json | Incremented deployment counter for token contract |
deployments/arbitrumSepolia/PublicResolver.json | Updated ENS resolver address and added constructor parameters |
deployments/arbitrumSepolia/OwnershipFacet.json | New Diamond facet for ownership management functionality |
deployments/arbitrumSepolia/LibDiamond.json | New Diamond library deployment for core Diamond pattern functionality |
deployments/arbitrumSepolia/IexecRelayDelegate.json | Updated relay delegate address and removed ownership-related ABI entries |
"name": "OwnershipTransferred", | ||
"type": "event" | ||
}, | ||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The ABI contains duplicate OwnershipTransferred events (lines 20-38 and 40-57). This duplication could cause confusion for developers integrating with the contract and may indicate an issue with the ABI generation process.
Copilot uses AI. Check for mistakes.
Migration steps:
receive
andfallback
behavior inDiamond.sol
Module
toFacet
in contracts namesDiamond.sol
feature/diamond
indevelop
IexecLibOrders_v5
in config.json