Problem Statement Closely related to Issue 14, this is the contract-side feature work: ensure the canonical campaign/ contract compiles to a milestonex_campaign.wasm artifact, gets wasm-opt -Oz'd, and is the binary that the deploy tooling ships.
Expected Outcome
- Makefile target produces
target/wasm32v1-none/release/milestonex_campaign.wasm.
make optimize runs wasm-opt -Oz and produces a sensible byte-size.
- A regression test asserts the resulting WASM file exists and is
< 64 KiB (Soroban ceiling for hosted contracts).
Acceptance Criteria
- Binary exists after
make build-wasm.
- Size-cap test passes.
cargo build does not silently produce only the legacy core binary.
Implementation Notes
- The Makefile already compiles
-p milestonex-campaign .... Verify the artifact name.
Affected Files / Modules
Makefile
scripts/deploy.sh
README.md
Dependencies — Issue 14.
Problem Statement Closely related to Issue 14, this is the contract-side feature work: ensure the canonical
campaign/contract compiles to amilestonex_campaign.wasmartifact, getswasm-opt -Oz'd, and is the binary that the deploy tooling ships.Expected Outcome
target/wasm32v1-none/release/milestonex_campaign.wasm.make optimizerunswasm-opt -Ozand produces a sensible byte-size.< 64 KiB(Soroban ceiling for hosted contracts).Acceptance Criteria
make build-wasm.cargo builddoes not silently produce only the legacy core binary.Implementation Notes
-p milestonex-campaign .... Verify the artifact name.Affected Files / Modules
Makefilescripts/deploy.shREADME.mdDependencies — Issue 14.