- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
2.4 KiB
2.4 KiB
Contributing to DeFi Oracle Meta Mainnet
Thank you for your interest in contributing to the DeFi Oracle Meta Mainnet project!
Getting Started
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
Development Setup
Prerequisites
- Azure CLI
- Terraform >= 1.0
- kubectl
- helm
- Besu CLI tools
- Foundry (forge, cast, anvil)
Local Development
- Clone the repository
- Install dependencies
- Set up local development environment
- Run tests
- Make changes
- Test locally
- Submit PR
Code Style
Solidity
- Use Solidity 0.8.19+
- Follow Solidity style guide
- Use NatSpec documentation
- Add comprehensive tests
Python
- Use Python 3.9+
- Follow PEP 8 style guide
- Use type hints
- Add docstrings
Shell Scripts
- Use bash
- Add error handling
- Add comments
- Use meaningful variable names
Testing
Smart Contracts
# Run tests
forge test
# Run with coverage
forge coverage
# Run specific test
forge test --match-test testFunctionName
Python Services
# Run tests
pytest
# Run with coverage
pytest --cov
# Run specific test
pytest tests/test_specific.py
Pull Request Process
- Update documentation
- Add tests for new features
- Ensure all tests pass
- Update CHANGELOG.md
- Request review
- Address feedback
- Merge after approval
Commit Messages
Follow conventional commits:
feat: New featurefix: Bug fixdocs: Documentationstyle: Code stylerefactor: Code refactoringtest: Testschore: Maintenance
Example: feat: Add retry logic to oracle publisher
Code Review
- Be respectful
- Provide constructive feedback
- Ask questions
- Suggest improvements
- Approve when ready
Issues
- Use GitHub Issues for bug reports
- Use GitHub Discussions for questions
- Provide detailed information
- Include reproduction steps
- Label appropriately
Security
- Report security issues to security@d-bis.org
- Do not disclose publicly until fixed
- Follow responsible disclosure
License
By contributing, you agree that your contributions will be licensed under the MIT License.
Contact
- Email: engineering@d-bis.org
- Discord: [Link to Discord]
- Twitter: [@defioracle]
Thank you for contributing!