Files
smom-dbis-138/docs/governance/CONTRIBUTING.md
defiQUG 1fb7266469 Add Oracle Aggregator and CCIP Integration
- 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.
2025-12-12 14:57:48 -08:00

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

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Commit your changes: git commit -m 'Add amazing feature'
  5. Push to the branch: git push origin feature/amazing-feature
  6. Open a Pull Request

Development Setup

Prerequisites

  • Azure CLI
  • Terraform >= 1.0
  • kubectl
  • helm
  • Besu CLI tools
  • Foundry (forge, cast, anvil)

Local Development

  1. Clone the repository
  2. Install dependencies
  3. Set up local development environment
  4. Run tests
  5. Make changes
  6. Test locally
  7. 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

  1. Update documentation
  2. Add tests for new features
  3. Ensure all tests pass
  4. Update CHANGELOG.md
  5. Request review
  6. Address feedback
  7. Merge after approval

Commit Messages

Follow conventional commits:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation
  • style: Code style
  • refactor: Code refactoring
  • test: Tests
  • chore: 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

Thank you for contributing!