Thank you for your interest in contributing to Sharpy! This repo contains the core Soroban smart contract powering the Sharpy split payment protocol on Stellar.
- Rust (stable)
wasm32-unknown-unknowntarget:rustup target add wasm32-unknown-unknown- Stellar CLI:
cargo install --locked stellar-cli --features opt
git clone https://github.com/stellar-sharpy/sharpy-contracts.git
cd sharpy-contracts
cargo testOpen an issue using the Bug Report template. Include:
- What you expected vs what happened
- Steps to reproduce
- Relevant contract method and parameters
Open an issue using the Feature Request template. Describe the use case and why it adds value to the Stellar ecosystem.
- Fork the repo and create a branch from
main - Make your changes with clear, focused commits
- Ensure
cargo testpasses - Ensure
cargo build --release --target wasm32-unknown-unknownsucceeds - Open a PR against
mainwith a clear description
- Follow existing patterns in
lib.rs - All public contract functions must have a doc comment
- New features require at least one unit test in
test.rs - No
unwrap()in production paths — useexpect("descriptive message")
Use conventional commits:
feat:new contract functionalityfix:bug fixtest:test additionsdocs:documentation onlychore:build/config changesrefactor:code restructure without behaviour change
Do not open public issues for security vulnerabilities. Email the maintainers directly. See SECURITY.md for details.
By contributing, you agree your contributions will be licensed under the MIT License.