Welcome to the Diamonds Lab git repo – a collection of tools and libraries designed to streamline the development, deployment, and management of smart contract systems using the ERC2535 Diamonds Proxy Standard.
The ERC2535 Diamonds standard enables modular smart contract systems with upgradeable functionality, unlimited contract size, and efficient organization of code. DiamondsLab provides a comprehensive toolkit to make working with Diamonds simple, efficient, and developer-friendly.
💎 Diamonds
The core Node.js module for diamonds deployment and management. This is the foundation of the DiamondsLab ecosystem, providing essential functionality for working with diamond contracts.
Hardhat-specific tooling and tasks for the diamonds system. Integrates seamlessly with the Diamonds Node Module to provide a smooth development experience within the Hardhat framework.
A monitoring tool for diamond contracts. Track and observe the state and behavior of deployed diamond systems in real-time.
This Hardhat plugin that seamlessly integrates Foundry testing with ERC-2535 Diamond proxy contracts, providing deployment helpers and test scaffolding, including fuzzing and invariant tests, for Diamonds module based smart contract systems using Foundry's powerful testing framework.
A base template for new projects to build from. Get started quickly with a pre-configured project structure that follows best practices for diamond contract development.
The Diamonds Monorepo for developing and testing the integrations of the other DiamondsLab projects. This is where all the pieces come together for comprehensive testing and development.
A pre-configured development container for working with Diamonds projects. Provides a consistent development environment with all necessary tools and dependencies included.
Used for localized testing of multiple Hardhat network forks simultaneously. Essential for testing cross-chain interactions and multi-network deployment scenarios.
A boilerplate project for multichain development using Hardhat. Provides a starting point for building and testing contracts across multiple blockchain networks.
- New Projects: Start with Diamonds-Base for a ready-to-use project template
- Core Functionality: Install Diamonds for deployment and management capabilities
- Hardhat Integration: Add Hardhat-Diamonds for enhanced Hardhat workflows
- Multi-chain Testing: Use Hardhat-Multichain for complex testing scenarios
- ERC2535 Standard: EIP-2535
- Documentation: Visit individual repositories for detailed documentation
- Issues & Support: Open issues in the relevant repository for bugs or feature requests
We welcome contributions to any of our projects! Please check individual repositories for contribution guidelines and open issues.
Each project has its own license. Please refer to the individual repositories for licensing information.