cargo build --manifest-path Stellar-Save/contracts/stellar-save/Cargo.tomlcargo test --lib --manifest-path Stellar-Save/contracts/stellar-save/Cargo.tomlcargo test --lib pool --manifest-path Stellar-Save/contracts/stellar-save/Cargo.tomlcargo build --target wasm32-unknown-unknown --manifest-path Stellar-Save/contracts/stellar-save/Cargo.tomlNote: Use the full path to contracts/stellar-save/Cargo.toml to avoid dependency resolution issues with other contracts in the workspace.
The workspace has been configured to focus on the stellar-save contract:
Stellar-Save/
├── Cargo.toml # Workspace config (stellar-save only)
├── contracts/
│ ├── stellar-save/ # Main contract (ACTIVE)
│ ├── guess-the-number/ # Other contracts (excluded)
│ ├── fungible-allowlist/ # Other contracts (excluded)
│ └── nft-enumerable/ # Other contracts (excluded)
└── ...
Note: The other contracts are excluded from the workspace to avoid dependency conflicts with newer Rust features.
cargo build --manifest-path Stellar-Save/contracts/stellar-save/Cargo.toml- Unoptimized, includes debug info
- Faster compilation
- Larger binary
cargo build --release --manifest-path Stellar-Save/contracts/stellar-save/Cargo.toml- Optimized for size and performance
- Slower compilation
- Smaller binary (suitable for Soroban)
cargo build --target wasm32-unknown-unknown --manifest-path Stellar-Save/contracts/stellar-save/Cargo.toml- Compiles to WebAssembly
- Required for Soroban deployment
- Output:
target/wasm32-unknown-unknown/debug/stellar_save.wasm
cargo test --lib --manifest-path Stellar-Save/contracts/stellar-save/Cargo.tomlcargo test --lib pool --manifest-path Stellar-Save/contracts/stellar-save/Cargo.tomlcargo test --lib pool::tests::test_calculate_total_pool_valid --manifest-path Stellar-Save/contracts/stellar-save/Cargo.tomlcargo test --lib -- --nocapture --manifest-path Stellar-Save/contracts/stellar-save/Cargo.tomlSolution: Use the manifest path to build only stellar-save:
cargo build --manifest-path Stellar-Save/Cargo.tomlSolution: Make sure you're in the workspace root or use the manifest path.
Solution: Use the --lib flag to run library tests:
cargo test --lib --manifest-path Stellar-Save/Cargo.tomlStellar-Save/contracts/stellar-save/src/
├── lib.rs # Main contract entry point
├── pool.rs # Pool calculation module (NEW)
├── storage.rs # Storage key management
├── group.rs # Group data structures
├── contribution.rs # Contribution tracking
├── payout.rs # Payout records
├── status.rs # Group status state machine
├── error.rs # Error types
└── events.rs # Event emission
- POOL_CALCULATION.md - Complete pool module documentation
- POOL_QUICK_REFERENCE.md - Quick reference guide
- POOL_ARCHITECTURE.md - Architecture and design
- IMPLEMENTATION_SUMMARY.md - Implementation details
cargo check --manifest-path Stellar-Save/contracts/stellar-save/Cargo.tomlcargo fmt --manifest-path Stellar-Save/contracts/stellar-save/Cargo.tomlcargo clippy --manifest-path Stellar-Save/contracts/stellar-save/Cargo.tomlcargo doc --manifest-path Stellar-Save/contracts/stellar-save/Cargo.toml --open- Rust 1.81.0 or later
- Cargo 1.81.0 or later
- For WASM:
wasm32-unknown-unknowntarget
rustup target add wasm32-unknown-unknownFor continuous integration, use:
cargo build --manifest-path Stellar-Save/contracts/stellar-save/Cargo.toml
cargo test --lib --manifest-path Stellar-Save/contracts/stellar-save/Cargo.toml-
Use release builds for deployment:
cargo build --release --manifest-path Stellar-Save/contracts/stellar-save/Cargo.toml
-
Use incremental compilation:
CARGO_INCREMENTAL=1 cargo build --manifest-path Stellar-Save/contracts/stellar-save/Cargo.toml
-
Parallel compilation:
cargo build -j 4 --manifest-path Stellar-Save/contracts/stellar-save/Cargo.toml
- Build the contract:
cargo build --manifest-path Stellar-Save/Cargo.toml - Run tests:
cargo test --lib --manifest-path Stellar-Save/Cargo.toml - Review documentation: See
POOL_CALCULATION.md - Deploy to Soroban: Use WASM build output
Last Updated: February 21, 2026
Status: Ready for Development ✅