Installation
Install paths depend on which surface you ship: the TypeScript SDK, Circom + Node toolchain, Rust Spartan2 CLI, or mobile / web demos.
OpenAC SDK (TypeScript)
Published package name in-repo: openac-sdk (wallet-unit-poc/openac-sdk/package.json).
npm install openac-sdk
From a git checkout (path dependency):
cd wallet-unit-poc/openac-sdk
npm install
npm run build
Runtime: Node ≥ 18. Full proving needs WASM binaries plus optional witness .wasm / .r1cs under assets/ (see SDK README for build:wasm and key generation).
Circom circuits (wallet-unit-poc/circom)
- Circom (CI uses v2.2.3; align locally).
- Yarn (package declares
yarn@4.13.0).
cd wallet-unit-poc/circom
yarn install
yarn compile:jwt:1k # or compile:show, compile:all, etc.
Scripts are defined in wallet-unit-poc/circom/package.json (compile:jwt, compile:show, compile:mdoc, …).
Spartan2 prover CLI (wallet-unit-poc/ecdsa-spartan2)
- Rust (stable).
- C++ toolchain for
witnesscalc-adapter(seeecdsa-spartan2/README.md).
cd wallet-unit-poc/ecdsa-spartan2
cargo build --release
Requires circuits compiled first so ../circom/build/cpp/ contains fresh witness generators.
Generalized predicates (design doc only)
The top-level generalized-predicates/README.md has no separate build—implementations live under wallet-unit-poc/circom/.
Revocation folder
revocation/README.md is documentation and external links only—no installable package.
Wallet unit PoC
| Component | Stack | Entry |
|---|---|---|
| Web demo | Vite + TS | wallet-unit-poc/web-demo/ — npm install, npm run setup, npm run dev |
| OpenAC Studio | Next.js | wallet-unit-poc/openac-studio/ |
| Mobile | Flutter + mopro / Rust | wallet-unit-poc/mobile/flutter/README.md |
Cross-repo benchmarks
CPU / mobile numbers are maintained in csp-benchmarks and summarized in wallet-unit-poc/ecdsa-spartan2/README.md for the local CLI.