Thank you for helping improve Tellus Protocol. This repository is an open-source Soroban prototype for parametric crop insurance.
- Fix contract bugs.
- Add focused tests for contract behavior.
- Improve TypeScript SDK accuracy.
- Keep documentation aligned with implemented code.
- Review security-sensitive logic.
Prerequisites:
- Rust 1.88.0, installed automatically when using
rustupwithrust-toolchain.toml. - Stellar CLI for deployment work.
- Node.js 20+ for TypeScript SDK development.
- Git.
Clone your fork or local copy, then install dependencies:
cargo build
cd sdk/typescript
npm install # install SDK dependencies
cd ../..Rust contracts:
cargo test
cargo test pool_tests
cargo test -- --nocaptureRust formatting and linting:
cargo fmt --check
cargo clippy -- -D warningsTypeScript SDK:
cd sdk/typescript
npm run build
npm run typecheckBefore opening a pull request:
- Keep the change focused.
- Add or update tests when behavior changes.
- Update docs when public behavior changes.
- Run the relevant Rust and TypeScript checks.
- Write a clear summary of what changed and why.
Suggested PR title format:
feat: add rainfall validationfix: reject invalid coverage locksdocs: update oracle contract notestest: cover triggered policy statechore: update sdk package metadata
Rust smart contracts:
- Prefer typed errors over raw numeric failures.
- Use typed storage keys.
- Avoid
unwrap()in contract logic. - Validate inputs before changing state.
- Keep tests isolated and deterministic.
TypeScript SDK:
- Keep exported types in sync with contract APIs.
- Use strict TypeScript types.
- Keep examples limited to implemented behavior.
- Avoid documenting methods that do not work against the current contracts.
Documentation:
- Describe current behavior plainly.
- Do not add links to project channels or hosted resources that do not exist.
- Mark limitations directly instead of presenting planned behavior as available behavior.
Never commit private keys, seed phrases, API keys, or deployment secrets.
If you find a vulnerability and the repository does not yet have private vulnerability reporting enabled, open a minimal public issue asking maintainers to establish a private reporting channel. Do not include exploit details in the issue.
Contributors are expected to be respectful, constructive, and focused on the work. Harassment, personal attacks, and publishing another person's private information are not acceptable.
Open an issue in the repository for bugs, implementation questions, or documentation gaps.