Skip to content

ComposableProofProvider

SIP Protocol API Reference v0.7.4


SIP Protocol API Reference / ComposableProofProvider

Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:337

Abstract interface for proof providers that can participate in composition.

Implementations of this interface provide proof generation and verification for a specific proof system (Noir, Halo2, Kimchi, etc.).

class Halo2Provider implements ComposableProofProvider {
readonly system = 'halo2'
async initialize() {
// Load WASM, setup keys, etc.
}
async generateProof(request) {
// Generate Halo2 proof
}
async verifyProof(proof) {
// Verify Halo2 proof
}
}

readonly system: ProofSystem

Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:341

The proof system this provider implements


readonly capabilities: ProofProviderCapabilities

Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:345

Provider capabilities


readonly status: ProofProviderStatus

Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:349

Current provider status

initialize(): Promise<void>

Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:356

Initialize the provider. Must be called before generating or verifying proofs.

Promise<void>

Error if initialization fails


waitUntilReady(timeoutMs?): Promise<void>

Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:363

Wait for provider to be ready with optional timeout.

number

Maximum wait time in milliseconds (default: 30000)

Promise<void>

Error if timeout reached or initialization fails


generateProof(request): Promise<ProofGenerationResult>

Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:370

Generate a proof for the given request.

ProofGenerationRequest

Proof generation request

Promise<ProofGenerationResult>

Generation result with proof or error


verifyProof(proof): Promise<boolean>

Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:377

Verify a single proof.

SingleProof

The proof to verify

Promise<boolean>

true if valid, false otherwise


optional verifyBatch(proofs): Promise<boolean[]>

Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:384

Verify multiple proofs in a batch (if supported).

SingleProof[]

Proofs to verify

Promise<boolean[]>

Array of verification results


getAvailableCircuits(): string[]

Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:390

Get available circuits for this provider.

string[]

Array of circuit identifiers


hasCircuit(circuitId): boolean

Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:397

Check if a specific circuit is available.

string

Circuit identifier

boolean

true if circuit is available


dispose(): Promise<void>

Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:401

Dispose of resources used by this provider.

Promise<void>