Skip to content

Halo2Provider

SIP Protocol API Reference v0.7.4


SIP Protocol API Reference / Halo2Provider

Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:105

Halo2 Proof Provider

Implements ComposableProofProvider for Halo2 proof system.

const provider = new Halo2Provider({
enableRecursion: true,
numThreads: 8,
})
await provider.initialize()
const result = await provider.generateProof({
circuitId: 'orchard_spend',
privateInputs: { note: '...', nullifier: '...' },
publicInputs: { commitment: '...' },
})

new Halo2Provider(config?): Halo2Provider

Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:115

Halo2ProviderConfig

Halo2Provider

readonly system: ProofSystem

Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:106

The proof system this provider implements

ComposableProofProvider.system

get capabilities(): ProofProviderCapabilities

Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:116

Provider capabilities

ProofProviderCapabilities

Provider capabilities

ComposableProofProvider.capabilities


get status(): ProofProviderStatus

Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:117

Current provider status

ProofProviderStatus

Current provider status

ComposableProofProvider.status

initialize(): Promise<void>

Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:118

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

Promise<void>

Error if initialization fails

ComposableProofProvider.initialize


waitUntilReady(timeoutMs?): Promise<void>

Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:120

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

ComposableProofProvider.waitUntilReady


dispose(): Promise<void>

Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:121

Dispose of resources used by this provider.

Promise<void>

ComposableProofProvider.dispose


getAvailableCircuits(): string[]

Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:122

Get available circuits for this provider.

string[]

Array of circuit identifiers

ComposableProofProvider.getAvailableCircuits


hasCircuit(circuitId): boolean

Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:123

Check if a specific circuit is available.

string

Circuit identifier

boolean

true if circuit is available

ComposableProofProvider.hasCircuit


registerCircuit(config): void

Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:127

Register a circuit configuration

Halo2CircuitConfig

void


loadCircuitKeys(circuitId): Promise<void>

Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:131

Load proving/verifying keys for a circuit

string

Promise<void>


generateProof(request): Promise<ProofGenerationResult>

Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:132

Generate a proof for the given request.

ProofGenerationRequest

Proof generation request

Promise<ProofGenerationResult>

Generation result with proof or error

ComposableProofProvider.generateProof


verifyProof(proof): Promise<boolean>

Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:134

Verify a single proof.

SingleProof

The proof to verify

Promise<boolean>

true if valid, false otherwise

ComposableProofProvider.verifyProof


verifyBatch(proofs): Promise<boolean[]>

Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:135

Verify multiple proofs in a batch (if supported).

SingleProof[]

Proofs to verify

Promise<boolean[]>

Array of verification results

ComposableProofProvider.verifyBatch