@@ -134,6 +134,29 @@ jobs:
134134 fi
135135 working-directory : contract
136136
137+ - name : 📦 Verify creator-earnings wasm build
138+ id : creator-earnings-build
139+ run : |
140+ WASM_PATH="target/wasm32-unknown-unknown/release/creator_earnings.wasm"
141+ if [[ -f "$WASM_PATH" && -s "$WASM_PATH" ]]; then
142+ WASM_SIZE=$(du -sh "$WASM_PATH" | cut -f1)
143+ # Validate WebAssembly magic bytes: 0x00 0x61 0x73 0x6D
144+ MAGIC=$(xxd -p -l 4 "$WASM_PATH" 2>/dev/null || od -A n -N 4 -t x1 "$WASM_PATH" | tr -d ' \n')
145+ if [[ "$MAGIC" != "0061736d" ]]; then
146+ echo "❌ creator_earnings.wasm is not a valid WASM binary (magic=$MAGIC)"
147+ echo "::error::creator_earnings.wasm failed magic-byte validation"
148+ exit 1
149+ fi
150+ echo "✅ creator-earnings.wasm successfully built and validated ($WASM_SIZE)"
151+ echo "### ✅ Creator-Earnings WASM Build" >> $GITHUB_STEP_SUMMARY
152+ echo "Artifact: creator_earnings.wasm ($WASM_SIZE)" >> $GITHUB_STEP_SUMMARY
153+ else
154+ echo "❌ creator-earnings.wasm not found or empty at $WASM_PATH"
155+ echo "::error::creator-earnings.wasm build verification failed — artifact not found or empty"
156+ exit 1
157+ fi
158+ working-directory : contract
159+
137160 - name : 📏 Generate Wasm size report
138161 run : |
139162 REPORT="wasm-size-report.txt"
@@ -269,6 +292,7 @@ jobs:
269292 echo "| Linting (cargo clippy) | ${{ steps.clippy.outcome == 'success' && '✅' || '❌' }} |" >> $GITHUB_STEP_SUMMARY
270293 echo "| Tests (cargo test) | ${{ steps.tests.outcome == 'success' && '✅' || '❌' }} |" >> $GITHUB_STEP_SUMMARY
271294 echo "| WASM build | ${{ steps.build.outcome == 'success' && '✅' || '❌' }} |" >> $GITHUB_STEP_SUMMARY
295+ echo "| creator-earnings WASM | ${{ steps.creator-earnings-build.outcome == 'success' && '✅' || '❌' }} |" >> $GITHUB_STEP_SUMMARY
272296 echo "| ABI snapshots | ${{ steps.abi.outcome == 'success' && '✅' || '❌' }} |" >> $GITHUB_STEP_SUMMARY
273297 echo "| Deploy output schema | ${{ steps.schema.outcome == 'success' && '✅' || '❌' }} |" >> $GITHUB_STEP_SUMMARY
274298 echo "| Release docs linked | ${{ steps.docs.outcome == 'success' && '✅' || '❌' }} |" >> $GITHUB_STEP_SUMMARY
@@ -285,8 +309,9 @@ jobs:
285309 fmt: '${{ steps.fmt.outcome }}',
286310 clippy: '${{ steps.clippy.outcome }}',
287311 tests: '${{ steps.tests.outcome }}',
288- build: '${{ steps.build.outcome }}',
289- abi: '${{ steps.abi.outcome }}',
312+ build: '${{ steps.build.outcome }}',
313+ creatorEarnings: '${{ steps.creator-earnings-build.outcome }}',
314+ abi: '${{ steps.abi.outcome }}',
290315 schema: '${{ steps.schema.outcome }}',
291316 docs: '${{ steps.docs.outcome }}',
292317 };
@@ -300,6 +325,7 @@ jobs:
300325 `| Linting (cargo clippy) | ${icon(steps.clippy)} |`,
301326 `| Tests (cargo test) | ${icon(steps.tests)} |`,
302327 `| WASM build | ${icon(steps.build)} |`,
328+ `| creator-earnings WASM | ${icon(steps.creatorEarnings)} |`,
303329 `| ABI snapshots | ${icon(steps.abi)} |`,
304330 `| Deploy output schema | ${icon(steps.schema)} |`,
305331 `| Release docs linked | ${icon(steps.docs)} |`,
0 commit comments