Description
Different contracts use different versions of the soroban-sdk, creating potential compatibility issues.
Current Versions
| Contract |
SDK Version |
contracts/hello-world/Cargo.toml |
20.0.0 |
contracts/counter/Cargo.toml |
21.0.6 |
contracts/stablecoin/Cargo.toml |
20.0.0 |
compile_utils.js (user compilations) |
20.0.0 (hardcoded) |
Impact
- SDK 21.0.6 has breaking changes from 20.0.0
- All contracts should target the same version for consistency
- User compilations via the browser IDE use 20.0.0 but deployed example contracts may use 21.0.6
- Confusion for contributors about which version is the "standard"
Required Fix
- Pick a single soroban-sdk version (preferably the latest stable)
- Update all contract
Cargo.toml files to use the agreed version
- Update
BASE_SDK_VERSION in backend/src/routes/compile_utils.js
- Document the chosen version in the project README
Reference
Identified during full codebase audit of soroban-playground.
Description
Different contracts use different versions of the
soroban-sdk, creating potential compatibility issues.Current Versions
contracts/hello-world/Cargo.toml20.0.0contracts/counter/Cargo.toml21.0.6contracts/stablecoin/Cargo.toml20.0.0compile_utils.js(user compilations)20.0.0(hardcoded)Impact
Required Fix
Cargo.tomlfiles to use the agreed versionBASE_SDK_VERSIONinbackend/src/routes/compile_utils.jsReference
Identified during full codebase audit of soroban-playground.