ZERYNEX
Documentation/Start here/Verify an external integration
START HERE / ZCASH SDK ADOPTERS, CI ENGINEERS AND MAINTAINERS

Verify an external integration

Which Zerynex interfaces work in isolated consumers, how to retest them, and which live integrations remain unverified.

External developer verification and extension boundaries

Zerynex v0.2.0 is a policy and regression-testing toolkit, not a Zcash wallet, light client, proof verifier, broadcast service, or privacy guarantee. The checks below make clear which integration paths exercise real installed artifacts rather than only local imports. The workbench uses local Rust/WASM and does not require uploading PCZT bytes.

Verification contract

InterfaceHow to test it independentlyWhat the test actually provesNot yet proven
Rust CLI and librarycargo test --locked --all-targets plus cargo publish --dry-run --lockedRust policy behavior, stage vectors and crate packagingRuntime interoperability with every wallet or node
JS/TS SDKcd packages/sdk && npm run check, then from the repository root run node scripts/test-sdk-packed.mjsLocally packed @zerynex/sdk installs in an unrelated project; actual Rust/WASM analyzes synthetic PCZTs, validates ZIP-321, checks RPC snapshots, imports strict policiesAny arbitrary browser bundler; compatibility must be verified for each target
Python adapterBuild v0.2.0 wheel, then python scripts/test-python-wheel.py dist/pythonClean virtualenv imports and executes the wheel with the real Rust CLI; known synthetic policy, refund, MCP and RPC testsIndependent Python cryptographic implementation; adapter still needs the CLI
Web UIcd apps/web && pnpm typecheck && pnpm lint && pnpm test:e2eResponsive browser interactions and Rust/WASM UI analysis when the E2E suite completesEvery browser, device, or production deployment
Go SDKcd packages/go && go test ./...Adapter behavior against checked-in fixturesLive-node interoperability and Go-native PCZT cryptography
Action/agentpython3 -m unittest discover -s tests -p test_consumer_starter.py; MCP checks in CIReviewed SHA-pinned CI starter and opt-in synthetic operationsReal wallet authority, live application secrets, arbitrary agent autonomy

Verify publicly published SDKs (network required)

The repository's scripts/test-sdk-packed.mjs validates a locally built npm tarball offline. To independently test the actual public registries, run:

BASH
node scripts/smoke-published.mjs 0.2.0

This opt-in check creates a disposable project, installs @zerynex/sdk@0.2.0 from npm and zerynex-python==0.2.0 from PyPI, tests the npm CLI entry point and matching bundled Rust/WASM against nonspendable synthetic PCZT fixtures, and checks the Go v0.2.0 module on the official proxy. It never reads wallet files or needs credentials. Requires Node.js 22+, npm, Python 3.11+ with venv/pip, curl, and internet access. To test the Python adapter against the native engine, set ZERYNEX_CLI=/absolute/path/to/reviewed/zerynex; without a local compiled binary, that part prints SKIP rather than claiming success.

This smoke does not inspect package signatures, live Zallet interoperability or a user's browser bundler; use version-pinned audits and separate wallet/protocol tests before trusting sensitive PCZTs.

Run browser tests without overlapping Playwright suites on limited-memory machines. If timeouts occur under resource contention, rerun the affected tests in isolation and do not count the run as successful.

Live website acceptance on desktop and mobile

CI exercises the local app; also verify the deployed public website with a real Chromium browser:

BASH
cd apps/web
pnpm install --frozen-lockfile
pnpm exec playwright install chromium
pnpm verify:live
# Save optional screenshots of synthetic fixtures only:
pnpm verify:live --capture-dir /tmp/zerynex-demo-capture

The opt-in verify:live command requires network access to the actual site. It exercises the homepage, explicit synthetic PCZT selection, a rejected transparent component, a clean result, a metadata stage regression, the quickstart, TypeScript/Python/Go installation panels, and mobile layout. It uses the public Rust/WASM engine and checks for uncaught page errors; the optional screenshots remain only on the operator's machine. Supported origins are restricted to the official Zerynex HTTPS site and Zerynex's own HTTPS Vercel deployment URLs. No wallet credentials or real-world PCZTs are used.

The browser acceptance check tests deployed behavior, not wallet signing, proving, mainnet transfers, privacy guarantees or an independent audit.

Consumer-safe contract

  • Input boundaries: Local PCZT files are bounded to 8 MiB. Imported policy JSON is at most 4 KiB and rejects unknown options and duplicate decoded keys, including Unicode aliases. Refund manifests are at most 64 KiB and use the same strict JSON boundary.
  • Policy comparison: Only versioned IDs/field names and sanitized counts are suitable for CI. Findings indicate selected disclosures, not proof of anonymity or consensus validity.
  • Extensibility: Integrate through @zerynex/sdk, @zerynex/sdk/browser, the Rust CLI/library, the Python/Go wrappers, the composite Action, or the read-only MCP tooling. Consumers own local file selection, RPC endpoints, provider authorization and disclosure policy.
  • No hidden network dependency: Privacy policy and synthetic regression checks run offline. Node readiness and transaction observations only normalize results supplied by a trusted backend; they do not make remote calls themselves.
  • Release limitations: GitHub Release v0.2.0, npm/PyPI v0.2.0 and the separately tagged Go module are publicly available and individually verified. Future releases, crates.io distribution, and real-world wallet/node interoperability have independent verification and approval gates.

See external integration starter, SDK distribution and upstream compatibility roadmap.

Public guides document shipped APIs and clearly identify partial integrations. Internal design, deployment and research notes remain in the source repository. Documentation index