Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
NEWTON Prover zkvm Proof Systems
The NEWTON Prover supports two zkvm proof systems: Risc0 and Sp1.
Risc0 zkvm Proof System
The Risc0 zkvm proof system is a zero-knowledge proof system that uses the Risc0 zkvm as its proof generator. The Risc0 zkvm is a zero-knowledge proof system that uses the Risc0 instruction set architecture (ISA) to generate proofs.
The expected ImageID to perform SNARK verification on-chain for the Risc0 zkvm proof system is:
4cf071b3cc25d73e77f430b65f5700dd53522dacc21c1bfc0862b2e46fda3584
Sp1 zkvm Proof System
The Sp1 zkvm proof system is a zero-knowledge proof system that uses the Sp1 zkvm as its proof generator. The Sp1 zkvm is a zero-knowledge proof system that uses the Sp1 instruction set architecture (ISA) to generate proofs.
The expected VKEY to perform SNARK verification on-chain for the Sp1 zkvm proof system is:
0021feaf3f6c78429dac7756fac5cfed39b606e34603443409733e13a1cf06cc
Digest Module
The common/digest module provides digest computation utilities for BLS signature consensus.
Two-Digest System
BLS signature aggregation requires all operators to sign the same message. However, operators independently generate unique ECDSA attestations (each signs policyTaskData with their own key). The Two-Digest System solves this conflict:
| Digest Type | Used For | Attestations |
|---|---|---|
| Consensus Digest | BLS signing/verification | Excluded |
| Full Digest | Contract storage, challenge verification | Included |
Functions
compute_consensus_digest(task_response): Computes digest with attestation fields zeroed out. All operators produce identical consensus digests even with different ECDSA signatures.compute_full_digest(task_response): Computes complete hash including attestations for on-chain storage and challenge verification.
Usage
use ;
// For BLS signing - all operators get same digest
let consensus_digest = compute_consensus_digest;
// For on-chain storage - full response integrity
let full_digest = compute_full_digest;
Database Module
The database module provides PostgreSQL integration for the Gateway with type-safe query execution and connection pooling.
Components
api_keys.rs: API key management with permissions, rate limiting, and expiration supportwasm_secrets.rs: Encrypted secrets storage and retrieval scoped to (policy_client, policy_data) pairspermissions.rs: Permission system (RpcRead, RpcWrite, Admin)mod.rs: Database manager with dual-pool architecture (deadpool-postgres + sqlx)
Features
- Connection Pooling: Efficient deadpool-postgres and sqlx dual-pool integration
- Offline Mode: SQLx compile-time query verification without database connection
- Migration Management: Versioned schema migrations via sqlx-cli
- Type Safety: Compile-time SQL query validation
- Health Checks: Built-in database health monitoring
- Referential Integrity: Foreign key constraints with CASCADE delete
Usage
use ;
// Initialize database singleton
let config = default;
initialize_database.await?;
// Access database
let db = get_database;
let pool = db.pool;
// Use repositories
let api_key_repo = new;
let keys = api_key_repo.get_all_active.await?;
For database management guide, see src/database/README.md.
For secrets management data model, see ../gateway/src/rpc/api/README.md.