Thanks for your interest in contributing! This guide covers everything you need to get started.
- Rust (stable toolchain)
wasm32-unknown-unknowntarget- Soroban CLI
rustup target add wasm32-unknown-unknown
cargo install --locked stellar-cli --features optgit clone https://github.com/Maki-Zeninn/stellar-router.git
cd stellar-router
cargo buildcargo testTo test a specific contract:
cargo test -p router-corestellar contract buildThis compiles each contract to target/wasm32-unknown-unknown/release/*.wasm.
Note: The
wasm32-unknown-unknowntarget must be installed separately viarustup target add wasm32-unknown-unknown— it is not included with the default Rust installation.
- Branch naming:
feat/<short-description>,fix/<short-description>,docs/<short-description> - Commit style: use the Conventional Commits format (e.g.
feat: add route validation,fix: handle empty registry) - Keep PRs focused — one logical change per PR
- Ensure
cargo testpasses before opening a PR - Add a clear description of what changed and why
- The
wasm32-unknown-unknowntarget must be installed manually —cargo buildalone won't install it. - Soroban SDK version is pinned in
Cargo.toml; avoid bumping it without testing all contracts. stellar contract buildmust be run from the workspace root to pick up all contracts.