This repository demonstrate EIP-2535 Diamond standard reference implementation
- https://eips.ethereum.org/EIPS/eip-2535
- https://soliditydeveloper.com/eip-2535
- https://medium.com/cartesi/upgrading-smart-contract-code-and-storage-layout-with-eip-2535-diamonds-31e0aff5d255
- https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2535.md
- https://github.com/mudgen/diamond-3
- https://github.com/mudgen/diamond-foundry
- https://github.com/mudgen/diamond-3-hardhat
- https://github.com/mudgen/diamond-emoji-token
- https://github.com/mudgen/diamond
- https://github.com/mudgen/awesome-diamonds
- https://github.com/mudgen/diamond-1-hardhat
- https://github.com/mudgen/diamond-2-hardhat
- https://github.com/solidstate-network/solidstate-solidity
- ethereum/EIPs#2535
- https://ethereum-magicians.org/t/diamond-standard-for-upgradeable-contracts/4038
- https://forum.openzeppelin.com/t/introduction-to-the-diamond-standard-eip-2535-diamonds/12505
- OpenZeppelin/openzeppelin-contracts#2793
- https://www.quicknode.com/guides/smart-contract-development/the-diamond-standard-eip-2535-explained-part-1
- https://www.quicknode.com/guides/smart-contract-development/the-diamond-standard-eip-2535-explained-part-2
- https://ethereum.stackexchange.com/questions/113775/eip-2535-diamond-implementation-how-to
- https://bean.money/blog/beanstalk-eip-2535
- https://bitsbyblocks.com/eip-2535-diamond-standard-explained-part-1-why-diamonds/
- https://bitsbyblocks.com/eip-2535-diamond-standard-explained-part-2-what-are-diamonds-and-how-they-work/
- https://github.com/aavegotchi/aavegotchi-contracts
- https://github.com/chiru-labs/ERC721A-Upgradeable
- https://github.com/pie-dao/PieVaults
Openzeppelin library currently don't use Diamond Storage, so can't use contracts from OZ, instead of it, use below library