Thank you for your interest in contributing! This project is part of the Stellar Wave Program on Drips. All contributions that resolve tagged issues during an active Wave are eligible for rewards.
For a detailed walkthrough — including environment setup, architecture overview, a worked example PR, and common mistakes — see docs/CONTRIBUTING_GUIDE.md.
- Rust (stable) — install via rustup
wasm32-unknown-unknowntarget:rustup target add wasm32-unknown-unknown
- Stellar CLI (optional, for local deployment):
cargo install --locked stellar-cli
git clone https://github.com/YOUR_ORG/stellar-defi-vault.git
cd stellar-defi-vault
cargo buildcargo test --features testutilscargo build --target wasm32-unknown-unknown --releaseThe compiled .wasm file will be at target/wasm32-unknown-unknown/release/stellar_defi_vault.wasm.
- Browse open issues tagged
Stellar Waveat drips.network/wave/stellar. - Apply for an issue through the Drips Wave app.
- Wait to be assigned before starting work — do not open a PR before assignment.
- Fork the repo, create a branch named
fix/<issue-number>-short-descriptionorfeat/<issue-number>-short-description. - Open a PR with
Closes #<issue-number>in the description so the Drips bot can track it. - Respond promptly to review feedback — the Wave window is short.
- Run
cargo fmtbefore committing. - Ensure
cargo clippy --features testutilspasses with no warnings. - All new functionality must include unit tests.
- Public functions must have doc comments (
///). - Keep
CONTRACT_VERSIONin sync withCargo.tomlwhen updating the contract version.
- Tests pass (
cargo test --features testutils) -
cargo fmt --checkpasses -
cargo clippypasses with no warnings - New logic is covered by tests
- PR description references the issue (
Closes #N)
Open a GitHub Discussion or ask in the Drips Discord.