Overview
contracts/Cargo.toml sets only:
[profile.release]
opt-level = "z"
overflow-checks = true
Missing are lto, strip, codegen-units, and panic — all of which materially reduce WASM size. Soroban charges by resource usage and enforces size limits, and assetsup at 8,894 lines is the crate most at risk.
Tasks
Acceptance Criteria
Dependencies
Pairs with [SC-34] and [SC-46].
Notes for Contributors
Requires Rust + Soroban. Workspace: contracts/ (soroban-sdk 22, members: assetsup, contrib, multisig-wallet, multisig_transfer, asset-maintenance). Run cargo test --all, cargo fmt --all -- --check, and cargo clippy --all-targets --all-features -- -D warnings before opening a PR — CI enforces all three. Comment below to be assigned.
Overview
contracts/Cargo.tomlsets only:Missing are
lto,strip,codegen-units, andpanic— all of which materially reduce WASM size. Soroban charges by resource usage and enforces size limits, andassetsupat 8,894 lines is the crate most at risk.Tasks
lto = true,codegen-units = 1,strip = "symbols",debug = 0, andpanic = "abort".overflow-checks = true— it is a safety property worth its cost in value-handling contracts.release-with-logsprofile inheriting release withdebug-assertions = truefor debugging on testnet.panic = "abort".Acceptance Criteria
cargo test --allpasses unchanged.Dependencies
Pairs with [SC-34] and [SC-46].
Notes for Contributors
Requires Rust + Soroban. Workspace:
contracts/(soroban-sdk22, members:assetsup,contrib,multisig-wallet,multisig_transfer,asset-maintenance). Runcargo test --all,cargo fmt --all -- --check, andcargo clippy --all-targets --all-features -- -D warningsbefore opening a PR — CI enforces all three. Comment below to be assigned.