← Inferno

Contributing to Inferno Protocol

Open-source contributions welcome — from bug reports to code contributions.

How to Contribute

Bug Reports

  1. Check the existing issues to avoid duplicates.
  2. Open a new issue with a clear title and detailed description.
  3. Include steps to reproduce, expected behavior, and actual behavior.
  4. Attach relevant logs, screenshots, or transaction hashes if applicable.

Feature Requests

  1. Open an issue with the feature-request label.
  2. Describe the problem you are trying to solve, not just the solution.
  3. Explain how the feature fits into the existing architecture (see Smart Contracts and Integration Guide).

Code Contributions

  1. Fork the repository and create a feature branch from main.
  2. Write your code following the standards described below.
  3. Add or update tests to cover your changes.
  4. Run the full test suite before submitting:
    npx hardhat test
  5. Open a Pull Request against main with a clear description of what changed and why.

Code Standards

Solidity

TypeScript / JavaScript

Git Conventions

Commit Message Prefixes

Prefix Usage
feat: New feature or functionality
fix: Bug fix
docs: Documentation changes only
test: Adding or updating tests
ops: CI/CD, deployment, infrastructure
refactor: Code restructuring without behavior change

Forbidden Actions

NEVER force-push to main. No git push --force, no git rebase on pushed commits, no git commit --amend on already-pushed commits. History is immutable once pushed.

Smart Contract Changes

Modifying deployed contracts requires special care. Follow these steps:

  1. Deploy a new version — never modify deployed bytecode. Deployed contracts are immutable.
  2. Governance proposal — any parameter change on existing contracts must go through the 48h Timelock governance process (see Governance).
  3. Full test coverage — new contracts must have comprehensive unit tests. Target: 95%+ statement coverage.
  4. Slither clean — run slither . and resolve all High/Critical findings before submission.
  5. Update documentation — update README.md, docs/DOCS.md, and relevant wiki pages to reflect the new contract.

Review Process

Code of Conduct

Links

Contribute on GitHub