User Story:
As a developer, I want a properly structured Rust workspace with CI enforcement so that contracts compile consistently and regressions are caught before merge.
Acceptance Criteria:
Cargo.toml workspace with members campaign, factory, common; soroban-sdk pinned at one version across all crates
.cargo/config.toml defaults to wasm32-unknown-unknown; cargo build --target wasm32-unknown-unknown --release succeeds
- GitHub Actions runs
cargo fmt --check, cargo clippy -- -D warnings, cargo test, and the release WASM build on every PR to main, failing the PR on any step failure
- Explain in the PR which clippy lint groups you denied and why, not just that clippy runs
User Story:
As a developer, I want a properly structured Rust workspace with CI enforcement so that contracts compile consistently and regressions are caught before merge.
Acceptance Criteria:
Cargo.tomlworkspace with memberscampaign,factory,common;soroban-sdkpinned at one version across all crates.cargo/config.tomldefaults towasm32-unknown-unknown;cargo build --target wasm32-unknown-unknown --releasesucceedscargo fmt --check,cargo clippy -- -D warnings,cargo test, and the release WASM build on every PR tomain, failing the PR on any step failure