Halo2Provider
SIP Protocol API Reference v0.7.4
SIP Protocol API Reference / Halo2Provider
Class: Halo2Provider
Section titled “Class: Halo2Provider”Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:105
Halo2 Proof Provider
Implements ComposableProofProvider for Halo2 proof system.
Example
Section titled “Example”const provider = new Halo2Provider({ enableRecursion: true, numThreads: 8,})
await provider.initialize()
const result = await provider.generateProof({ circuitId: 'orchard_spend', privateInputs: { note: '...', nullifier: '...' }, publicInputs: { commitment: '...' },})Implements
Section titled “Implements”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new Halo2Provider(
config?):Halo2Provider
Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:115
Parameters
Section titled “Parameters”config?
Section titled “config?”Returns
Section titled “Returns”Halo2Provider
Properties
Section titled “Properties”system
Section titled “system”
readonlysystem:ProofSystem
Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:106
The proof system this provider implements
Implementation of
Section titled “Implementation of”ComposableProofProvider.system
Accessors
Section titled “Accessors”capabilities
Section titled “capabilities”Get Signature
Section titled “Get Signature”get capabilities():
ProofProviderCapabilities
Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:116
Provider capabilities
Returns
Section titled “Returns”Provider capabilities
Implementation of
Section titled “Implementation of”ComposableProofProvider.capabilities
status
Section titled “status”Get Signature
Section titled “Get Signature”get status():
ProofProviderStatus
Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:117
Current provider status
Returns
Section titled “Returns”Current provider status
Implementation of
Section titled “Implementation of”ComposableProofProvider.status
Methods
Section titled “Methods”initialize()
Section titled “initialize()”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.
Returns
Section titled “Returns”Promise<void>
Throws
Section titled “Throws”Error if initialization fails
Implementation of
Section titled “Implementation of”ComposableProofProvider.initialize
waitUntilReady()
Section titled “waitUntilReady()”waitUntilReady(
timeoutMs?):Promise<void>
Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:120
Wait for provider to be ready with optional timeout.
Parameters
Section titled “Parameters”timeoutMs?
Section titled “timeoutMs?”number
Maximum wait time in milliseconds (default: 30000)
Returns
Section titled “Returns”Promise<void>
Throws
Section titled “Throws”Error if timeout reached or initialization fails
Implementation of
Section titled “Implementation of”ComposableProofProvider.waitUntilReady
dispose()
Section titled “dispose()”dispose():
Promise<void>
Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:121
Dispose of resources used by this provider.
Returns
Section titled “Returns”Promise<void>
Implementation of
Section titled “Implementation of”ComposableProofProvider.dispose
getAvailableCircuits()
Section titled “getAvailableCircuits()”getAvailableCircuits():
string[]
Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:122
Get available circuits for this provider.
Returns
Section titled “Returns”string[]
Array of circuit identifiers
Implementation of
Section titled “Implementation of”ComposableProofProvider.getAvailableCircuits
hasCircuit()
Section titled “hasCircuit()”hasCircuit(
circuitId):boolean
Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:123
Check if a specific circuit is available.
Parameters
Section titled “Parameters”circuitId
Section titled “circuitId”string
Circuit identifier
Returns
Section titled “Returns”boolean
true if circuit is available
Implementation of
Section titled “Implementation of”ComposableProofProvider.hasCircuit
registerCircuit()
Section titled “registerCircuit()”registerCircuit(
config):void
Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:127
Register a circuit configuration
Parameters
Section titled “Parameters”config
Section titled “config”Returns
Section titled “Returns”void
loadCircuitKeys()
Section titled “loadCircuitKeys()”loadCircuitKeys(
circuitId):Promise<void>
Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:131
Load proving/verifying keys for a circuit
Parameters
Section titled “Parameters”circuitId
Section titled “circuitId”string
Returns
Section titled “Returns”Promise<void>
generateProof()
Section titled “generateProof()”generateProof(
request):Promise<ProofGenerationResult>
Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:132
Generate a proof for the given request.
Parameters
Section titled “Parameters”request
Section titled “request”Proof generation request
Returns
Section titled “Returns”Promise<ProofGenerationResult>
Generation result with proof or error
Implementation of
Section titled “Implementation of”ComposableProofProvider.generateProof
verifyProof()
Section titled “verifyProof()”verifyProof(
proof):Promise<boolean>
Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:134
Verify a single proof.
Parameters
Section titled “Parameters”The proof to verify
Returns
Section titled “Returns”Promise<boolean>
true if valid, false otherwise
Implementation of
Section titled “Implementation of”ComposableProofProvider.verifyProof
verifyBatch()
Section titled “verifyBatch()”verifyBatch(
proofs):Promise<boolean[]>
Defined in: @sip-protocol/sdk/dist/proofs/halo2.d.ts:135
Verify multiple proofs in a batch (if supported).
Parameters
Section titled “Parameters”proofs
Section titled “proofs”Proofs to verify
Returns
Section titled “Returns”Promise<boolean[]>
Array of verification results