Comments (2)
hey, i agree that EIP-1967 has better rational. But after you mentioned it i see that EIP 1822 is allowing to change it. So I am closing this issue. Thanks for the quick response.
from openzeppelin-contracts.
Hi @yaronvel, quick note:
EIP 1882 was never approved,
EIPs are not "approved". It's the author's responsibility to finalize them and gather community consensus. EIPs may become stagnant but can be picked up by anyone in the community if they think it's valuable to move it forward.
Now on the issue:
EIP 1822 never enforces the use of keccak256("PROXIABLE")
as storage location. In fact, the proxiable specification suggests to change it:
proxiable
Compatibility check to ensure the new Logic Contract implements the Universal Upgradeable Proxy Standard. Note that in order to support future implementations, the bytes32 comparison could be changed e.g., keccak256("PROXIABLE-ERC1822-v1").
The storage location is thought to not collide with regular storage locations derived by Solidity variables. However, EIP-1967 has shown a better rationale for this, and similarly for EIP-7201, so using any of both is still within the EIP-1822 boundaries.
As EIP1882 is stagnated, maybe it is just best to remove it from your codebase and avoid confusion.
Being stagnant doesn't mean is not still useful and widely adopted.
Would you mind clarifying how you think this is confusing and if it's causing an issue to our users?
from openzeppelin-contracts.
Related Issues (20)
- Low level call library HOT 3
- ERC1967Utils and/or UUPSUpgradeable should enforce that only ADMIN is allowed to upgrade the implementation HOT 1
- I Can't verified contract in Coredao HOT 1
- `ERC1155`: reorder of `KeyType`s in `_balances` HOT 3
- Meta: FAQ
- Feature Request: removeAt(index) in EnumerableSet
- LUSD on PulseChain Minting Function HOT 1
- Loop gas optimisation HOT 1
- Weird Error in Openzeppelin AI Wiz HOT 1
- Use crate.io/typos to repalce CodeSpell for CI typo check
- Agency contract optimization HOT 3
- Create2 doesn't bubble up returndata on revert HOT 1
- Propose Function is missing Optional Parameters
- Procedurally generate packing libraries
- Breaking change that TransparentProxy creates its own ProxyAdmin is not mentioned in the doc HOT 3
- [{ "resource": "/D:/NFT/contracts/MyNft.sol", "owner": "solidity-language-server", "code": "6275", "severity": 8, "message": "Source \"@openzeppelin/contracts/token/ERC721/ERC721.sol\" not found: File not found. Searched the following locations: \"\".", "source": "solidity", "startLineNumber": 5, "startColumn": 1, "endLineNumber": 5, "endColumn": 58 }] HOT 1
- [{ "resource": "/D:/NFT/contracts/MyNft.sol", "owner": "_generated_diagnostic_collection_name_#0", "code": "6275", "severity": 8, "message": "Source \"@openzeppelin/contracts/utils/counters.sol\" not found: File import callback not supported", "startLineNumber": 6, "startColumn": 1, "endLineNumber": 6, "endColumn": 53 }] HOT 2
- [{ "resource": "/D:/NFT/contracts/MyNft.sol", "owner": "_generated_diagnostic_collection_name_#0", "code": "6275", "severity": 8, "message": "Source \"@openzeppelin/contract/token/ERC721/extensions/ERC721URIStorage.sol\" not found: File import callback not supported", "startLineNumber": 8, "startColumn": 1, "endLineNumber": 8, "endColumn": 78 }] HOT 1
- File not found: ERC721URIStorage HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openzeppelin-contracts.