Skip to content

Latest commit

 

History

History
72 lines (46 loc) · 2.06 KB

File metadata and controls

72 lines (46 loc) · 2.06 KB

Contributing to Zenith Protocol

First off, thank you for considering contributing to Zenith Protocol! It's people like you that make the Stellar open-source ecosystem a reality.

🛠 Development Workflow

  1. Fork the repo and create your branch from main.
  2. Write tests: If you add a new feature to the Soroban contract, you must add a corresponding test in contracts/zenith_core/src/test.rs.
  3. Format your code: Run make fmt before submitting to ensure it meets our rustfmt standards.
  4. Pass the CI: Ensure make test runs without any panics.

📜 Pull Request Process

  • Ensure any install or build dependencies are removed before the end of the layer when doing a build.
  • Update the README.md with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations, and container parameters.
  • PRs must be approved by at least one core maintainer before being merged.

We follow the Conventional Commits specification for commit messages.

Commit Message Format

type(scope): subject

body

footer

Types: feat, fix, docs, style, refactor, perf, test, chore

Example:

feat(contract): add wave closing functionality

Implement close_wave function to freeze distribution pool.
Prevents further deposits and point allocations.

Closes #123

🧪 Testing Standards

All smart contract changes require:

  • Unit tests covering happy paths
  • Edge case and error condition tests
  • Integration tests validating end-to-end flows

Run tests with:

make test

📋 Code Style

We adhere to Rust community standards via rustfmt. Ensure your code passes:

cargo fmt --all -- --check
cargo clippy --all

🚀 Getting Help

  • Open an issue for bug reports or feature requests at github.com/CodedBay/zenith-stellar
  • Check existing issues before opening duplicates
  • Use GitHub Discussions for questions and community support

Thank you for making Zenith Protocol better!