Description
The root Cargo.toml workspace members list includes some contracts that follow a different naming convention or may not exist as workspace-eligible packages.
Location
/Cargo.toml lines 22-43:
[workspace]
members = [
"contracts/debugging-utils",
"contracts/cross-contract-utils",
...
]
Current State
All 21 workspace member contracts have their Cargo.toml files. However, the root Cargo.toml workspace does NOT include many of the ~90 contracts in the contracts/ directory. There is no clear documentation on:
- Which contracts are part of the workspace vs standalone
- Criteria for adding a contract to the workspace
- Why some contracts are excluded
Impact
- Running
cargo build from root only builds 21 out of ~90 contracts
- Contributors may add contracts to the wrong location
- No clear distinction between "workspace" and "non-workspace" contracts
Required Fix
- Document the selection criteria for workspace members
- Either add all contracts to the workspace or organize them into sub-workspaces
- Consider adding a
cargo check --workspace CI step to validate all members build
Reference
Identified during full codebase audit of soroban-playground.
Description
The root
Cargo.tomlworkspace members list includes some contracts that follow a different naming convention or may not exist as workspace-eligible packages.Location
/Cargo.tomllines 22-43:Current State
All 21 workspace member contracts have their
Cargo.tomlfiles. However, the rootCargo.tomlworkspace does NOT include many of the ~90 contracts in thecontracts/directory. There is no clear documentation on:Impact
cargo buildfrom root only builds 21 out of ~90 contractsRequired Fix
cargo check --workspaceCI step to validate all members buildReference
Identified during full codebase audit of soroban-playground.