@frontiercompute/zap1
v0.1.3
Published
ZAP1 Merkle proof verification for JavaScript/TypeScript - WASM-powered BLAKE2b-256
Maintainers
Readme
@frontiercompute/zap1
ZAP1 Merkle proof verification for JavaScript and TypeScript. WASM-powered BLAKE2b-256 with ZAP1 domain-separated personalizations.
Client-side verification of on-chain commitments. All cryptography runs in WebAssembly compiled from the zap1-verify Rust crate.
Install
npm install @frontiercompute/zap1Usage
Verify a proof bundle
import { verifyProof, parseBundle } from "@frontiercompute/zap1";
const res = await fetch("https://pay.frontiercompute.io/verify/075b00df.../proof.json");
const raw = await res.json();
const bundle = parseBundle(raw);
const valid = await verifyProof(bundle);
console.log(valid ? "VERIFIED" : "FAILED");Compute a leaf hash
import { computeLeafHash } from "@frontiercompute/zap1";
const hash = await computeLeafHash("PROGRAM_ENTRY", {
walletHash: "e2e_wallet_20260327",
});
// "075b00df286038a7b3f6bb70054df61343e3481fba579591354a00214e9e019b"Node hash (Merkle tree)
import { nodeHash } from "@frontiercompute/zap1";
const parent = await nodeHash(leftHex, rightHex);
// BLAKE2b-256 with "NordicShield_MRK" personalizationAPI
| Function | Description |
|----------|-------------|
| init() | Preload the WASM module (called automatically on first use) |
| computeLeafHash(type, payload) | Compute leaf hash for PROGRAM_ENTRY or OWNERSHIP_ATTEST |
| verifyProof(bundle) | Verify a Merkle inclusion proof |
| nodeHash(left, right) | Compute a Merkle node hash |
| parseBundle(json) | Parse and normalize an API proof bundle |
| EVENT_TYPES | Array of all 18 ZAP1 event types |
Personalizations (protocol constants)
| Context | Value (16 bytes) |
|---------|-----------------|
| Leaf hash | NordicShield_\x00\x00\x00 |
| Node hash | NordicShield_MRK |
Protocol
See ONCHAIN_PROTOCOL.md for the full ZAP1 specification.
Related Packages
| Package | What it does | |---------|-------------| | @frontiercompute/zcash-ika | Zcash + Bitcoin signing via Ika 2PC-MPC | | @frontiercompute/zcash-mcp | MCP server for Zcash (22 tools) | | @frontiercompute/openclaw-zap1 | OpenClaw skill for ZAP1 attestation | | @frontiercompute/silo-zap1 | Silo agent attestation via ZAP1 |
License
MIT
