Thank you for your interest in contributing to LuminaRail Smart Contracts! LuminaRail is an open-source settlement infrastructure platform connecting local payment rails with programmable USDC stablecoin settlement on the Stellar network using Soroban smart contracts.
LuminaRail is part of the Stellar open-source ecosystem and Drips Wave contributor program. We welcome open-source contributions from Rust developers, Web3 engineers, and smart contract auditors.
luminarail-contracts is a Cargo workspace containing Soroban WASM smart contracts written in #![no_std] Rust:
contracts/escrow: Multi-party conditional escrow contract (Created→Funded→Released).contracts/settlement_vault: On-chain settlement coordination primitive (Pending→Executed).contracts/fee_manager: Protocol fee calculation and BPS bounds manager (capped at 1,000 BPS / 10%).
- Stellar: Delivers fast, low-cost asset settlement.
- Soroban: WebAssembly smart contract engine enabling secure contract state, authorization controls (
require_auth()), checked arithmetic, and verifiable event logs.
luminarail-contracts(This repository): Soroban Rust smart contracts.luminarail-frontend: Next.js 16 UI application for users, merchants, and order dashboards.luminarail-backend: Node.js, Express, PostgreSQL, Prisma API service handling Paystack webhooks, order state machines, and Soroban contract invocation.
- Adding inline rustdoc comments (
///) and error code documentation - Writing unit tests with
soroban-sdk::testutilsfor edge cases and authorization boundaries - Enhancing Soroban event emissions (
env.events().publish(...)) - Structuring CLI shell scripts (
deploy.sh) and build tooling
- Storage TTL extension policies (
extend_ttl) and instance storage management - Multi-contract cross-contract call integration tests
- WASM binary size optimization (
opt-level = "z") and memory footprint analysis - Access control, re-entrancy, and security auditing
- Rust >= 1.80
wasm32-unknown-unknowntarget installed:rustup target add wasm32-unknown-unknown
We follow a strict branching model. All work should branch off and merge into develop:
git checkout develop
git pull origin develop
git checkout -b feature/your-feature-nameBefore submitting code, all of the following commands MUST pass cleanly:
cargo fmt --check # Code formatting check
cargo clippy --all-targets -- -D warnings # Clippy linter
cargo check # Check workspace compilation
cargo test # Run 15 unit tests
cargo build --target wasm32-unknown-unknown --release # Build release WASM binaries- Push your branch to GitHub:
git push origin feature/your-feature-name
- Open a Pull Request targeting the
developbranch. - Complete the PR description detailing the problem solved, changes made, and test results.
- Request review from maintainers.
Contracts in this repository are currently deployed and tested on Stellar Testnet. Do NOT deploy to Mainnet without an independent third-party security audit.
This project is licensed under the MIT License.