ComposableProofProvider
SIP Protocol API Reference v0.7.4
SIP Protocol API Reference / ComposableProofProvider
Interface: ComposableProofProvider
Section titled “Interface: 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.).
Example
Section titled “Example”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 }}Properties
Section titled “Properties”system
Section titled “system”
readonlysystem:ProofSystem
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:341
The proof system this provider implements
capabilities
Section titled “capabilities”
readonlycapabilities:ProofProviderCapabilities
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:345
Provider capabilities
status
Section titled “status”
readonlystatus:ProofProviderStatus
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:349
Current provider status
Methods
Section titled “Methods”initialize()
Section titled “initialize()”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.
Returns
Section titled “Returns”Promise<void>
Throws
Section titled “Throws”Error if initialization fails
waitUntilReady()
Section titled “waitUntilReady()”waitUntilReady(
timeoutMs?):Promise<void>
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:363
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
generateProof()
Section titled “generateProof()”generateProof(
request):Promise<ProofGenerationResult>
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:370
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
verifyProof()
Section titled “verifyProof()”verifyProof(
proof):Promise<boolean>
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:377
Verify a single proof.
Parameters
Section titled “Parameters”The proof to verify
Returns
Section titled “Returns”Promise<boolean>
true if valid, false otherwise
verifyBatch()?
Section titled “verifyBatch()?”
optionalverifyBatch(proofs):Promise<boolean[]>
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:384
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
getAvailableCircuits()
Section titled “getAvailableCircuits()”getAvailableCircuits():
string[]
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:390
Get available circuits for this provider.
Returns
Section titled “Returns”string[]
Array of circuit identifiers
hasCircuit()
Section titled “hasCircuit()”hasCircuit(
circuitId):boolean
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:397
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
dispose()
Section titled “dispose()”dispose():
Promise<void>
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:401
Dispose of resources used by this provider.
Returns
Section titled “Returns”Promise<void>