Skip to content

gweiworld/info.diamonds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

104 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💎 info.diamonds 💎

Diamonds

EIP 2535: Diamonds, Multi-Facet Proxy

Welcome to info.diamonds, an unofficial documentation site for Diamonds, the Multi-Facet Proxy (EIP 2535).

dev log

10/29/22

sections updated:

  • Diamond Overview
    • Linked EIP in header
    • Added Overview section with background
    • Revised information
  • Proxy Types - renamed
    • Revised information
    • Added Transparent and UUPS
    • Included EIP links
  • Diamond(Multi-Facet Proxy) - renamed
    • Moved Iframe learning tool
    • Revised information
    • Added code examples
      • Fallback Function
      • Delegate Call
      • Diamond Cut
      • Diamond Loupe
  • Storage Options - renamed
    • Revised Information
  • Diamond Workflow - renamed

sections added:

  • Diamond Tutorials
  • Diamond Practice
  • Diamond Security

10/22/22

sections updated:

  • Diamond Overview
    • Organized paragraph layout
    • Added headers to sub-sections
  • Proxies
    • Revised proxy examples and definitions
    • Added Transparent and UUPs
    • Included new diagrams
  • Diamond Pattern
    • added Iframe learning tool
    • added diagram of multi-facet proxy
    • revised sub-sections to include code (fallback function)
  • Resources
    • added Awesome Diamonds from Nick Mudge Github
    • re-formatted section

sections added:

  • Security Considerations
  • Diamond Projects

10/29/22

sections updated:

sections added:

Resources

Official

Websites

Articles

Diamonds

Diamond Storage

Diamond Upgrades

Diamonds in Projects

Videos

Libraries

  • SolidState Solidity - Upgradeable-first Solidity smart contract development library that supports diamonds.
  • ERC20 Facet - A facet that adds ERC-20 token functionality to the host contract.
  • ERC721A-Upgradeable - Gas efficient ERC721 implementation.
  • ERC1155-DiamondStorage - ERC1155 Implementation
  • diamond-hardhat - Extension that adds deeper Hardhat integrations for faster/more maintainable ERC2535 Diamond contract development.

Tools

  • Louper - The Ethereum Diamond Inspector - User interface for diamonds.
  • hardhat-diamond-abi - Hardhat plugin to combine multiple ABIs into a Diamond ABI artifact.
  • hardhat-deploy - Hardhat plugin that supports deploying, upgrading and managing diamonds.
  • Inspector Facet - Inspection utility for EIP2535 Diamond proxies. Written in Python.
  • Zem - Hardhat deployment management system that supports deploying, upgrading and managing diamonds.
  • Foundry-Hardhat-Diamonds - Mimimal template for Diamonds
  • foundry-diamond-deploy - Minimal example of a Diamond deployment script using foundry.
  • Diamond-Foundry - Foundry version of Diamond Pattern (EIP-2535) reference implementation.
  • 0xpm - Diamond-based smart contract package manager.
  • diamond-etherscan - Make your EIP-2535 Diamond etherscan compatible.
  • Diamantair - Deploying new diamonds from a template.
  • diamond-diff - Tool that helps retrieve the necessary diamondCut by checking against a Diamond model.
  • Ethereum Package Manager - GUI to deploy and upgrade Diamond proxies and facets. Granular facet control with ability to toggle facet functions on/off.

Security Audits

Omniscia

Certik

Quantstamp

MixBytes

Haechi Audit

  • Smart Contract Audit - Haechi Audit published a smart contract audit of BarnBridge’s Barn diamond, which uses BarnBridge’s own implementation of EIP-2535 Diamonds based on diamond-1.

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors