mirror of
https://github.com/hanzoai/zip-rs.git
synced 2026-10-30 18:16:57 +00:00
Rust crate for writing zip-mounted wasm handlers per HIP-0105. - zip-rs lib: #[handler] proc macro, __base_alloc/__base_free allocator exports, JSON envelope helpers, Error/Result types. - zip-rs-macros: proc macro implementation (syn 2 + quote). - Three end-to-end examples: hello, validate-email (port of canonical AssemblyScript fixture), policy-eval. - CI workflow builds wasm32-wasip1 artifacts and verifies them against the production wasmvm host in hanzoai/base. 12 unit tests pass. Wasm sizes: hello 87 KB, validate-email 91 KB, policy-eval 100 KB. validate-email emits byte-equivalent JSON output to the AS reference fixture.
17 lines
394 B
Bash
Executable File
17 lines
394 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Build the policy-eval handler to wasm32-wasip1.
|
|
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
cargo build --release --target wasm32-wasip1 -p zip-rs-example-policy-eval
|
|
|
|
cp ../../target/wasm32-wasip1/release/policy_eval.wasm ./policy_eval.wasm
|
|
|
|
if command -v wasm-opt >/dev/null 2>&1; then
|
|
wasm-opt -Oz -o ./policy_eval.wasm ./policy_eval.wasm
|
|
fi
|
|
|
|
ls -lh ./policy_eval.wasm
|