ProofComposer
SIP Protocol API Reference v0.7.4
SIP Protocol API Reference / ProofComposer
Interface: ProofComposer
Section titled “Interface: ProofComposer”Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:447
Main interface for the proof composition system.
ProofComposer orchestrates the composition of proofs from multiple proof systems, handling:
- Provider registration and management
- Proof generation across systems
- Proof composition and aggregation
- Verification of composed proofs
- Caching and optimization
Example
Section titled “Example”const composer = new ProofComposer(config)
// Register providersawait composer.registerProvider(noirProvider)await composer.registerProvider(halo2Provider)
// Generate proofsconst proof1 = await composer.generateProof({ circuitId: 'funding_proof', privateInputs: { balance: 1000n }, publicInputs: { minRequired: 100n },})
const proof2 = await composer.generateProof({ circuitId: 'validity_proof', privateInputs: { sender: '0x...' }, publicInputs: { intentHash: '0x...' },})
// Compose proofsconst result = await composer.compose({ proofs: [proof1.proof!, proof2.proof!], strategy: ProofAggregationStrategy.PARALLEL,})
// Verify composed proofconst verification = await composer.verify({ composedProof: result.composedProof!,})Properties
Section titled “Properties”config
Section titled “config”
readonlyconfig:ProofCompositionConfig
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:451
Current configuration
Methods
Section titled “Methods”updateConfig()
Section titled “updateConfig()”updateConfig(
config):void
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:457
Update configuration.
Parameters
Section titled “Parameters”config
Section titled “config”Partial<ProofCompositionConfig>
Partial configuration to merge
Returns
Section titled “Returns”void
registerProvider()
Section titled “registerProvider()”registerProvider(
provider,options?):Promise<ProofProviderRegistration>
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:465
Register a proof provider.
Parameters
Section titled “Parameters”provider
Section titled “provider”The provider to register
options?
Section titled “options?”Registration options
Returns
Section titled “Returns”Promise<ProofProviderRegistration>
Registration entry
unregisterProvider()
Section titled “unregisterProvider()”unregisterProvider(
providerId):boolean
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:472
Unregister a provider.
Parameters
Section titled “Parameters”providerId
Section titled “providerId”string
Provider ID to unregister
Returns
Section titled “Returns”boolean
true if provider was removed
getProvider()
Section titled “getProvider()”getProvider(
providerId):ComposableProofProvider|undefined
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:479
Get a registered provider by ID.
Parameters
Section titled “Parameters”providerId
Section titled “providerId”string
Provider ID
Returns
Section titled “Returns”ComposableProofProvider | undefined
Provider or undefined
getProviderForSystem()
Section titled “getProviderForSystem()”getProviderForSystem(
system):ComposableProofProvider|undefined
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:486
Get provider for a specific proof system.
Parameters
Section titled “Parameters”system
Section titled “system”Proof system
Returns
Section titled “Returns”ComposableProofProvider | undefined
Provider or undefined
getProviders()
Section titled “getProviders()”getProviders():
ProofProviderRegistration[]
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:492
Get all registered providers.
Returns
Section titled “Returns”Array of provider registrations
getAvailableSystems()
Section titled “getAvailableSystems()”getAvailableSystems():
ProofSystem[]
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:498
Get available proof systems.
Returns
Section titled “Returns”Array of available systems
generateProof()
Section titled “generateProof()”generateProof(
request):Promise<ProofGenerationResult>
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:505
Generate a proof using the appropriate provider.
Parameters
Section titled “Parameters”request
Section titled “request”Proof generation request
Returns
Section titled “Returns”Promise<ProofGenerationResult>
Generation result
generateProofs()
Section titled “generateProofs()”generateProofs(
requests):Promise<ProofGenerationResult[]>
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:512
Generate multiple proofs in parallel.
Parameters
Section titled “Parameters”requests
Section titled “requests”Array of proof requests
Returns
Section titled “Returns”Promise<ProofGenerationResult[]>
Array of generation results
compose()
Section titled “compose()”compose(
options):Promise<CompositionResult>
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:519
Compose multiple proofs into a single composed proof.
Parameters
Section titled “Parameters”options
Section titled “options”Composition options
Returns
Section titled “Returns”Promise<CompositionResult>
Composition result
aggregate()
Section titled “aggregate()”aggregate(
options):Promise<AggregationResult>
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:526
Aggregate proofs into a single proof (if supported).
Parameters
Section titled “Parameters”options
Section titled “options”Aggregation options
Returns
Section titled “Returns”Promise<AggregationResult>
Aggregation result
verify()
Section titled “verify()”verify(
options):Promise<ProofVerificationResult>
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:533
Verify a composed proof.
Parameters
Section titled “Parameters”options
Section titled “options”Verification options
Returns
Section titled “Returns”Promise<ProofVerificationResult>
Verification result
verifySingle()
Section titled “verifySingle()”verifySingle(
proof):Promise<boolean>
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:540
Verify a single proof.
Parameters
Section titled “Parameters”Proof to verify
Returns
Section titled “Returns”Promise<boolean>
true if valid
convert()
Section titled “convert()”convert(
options):Promise<ConversionResult>
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:547
Convert a proof to a different format.
Parameters
Section titled “Parameters”options
Section titled “options”Conversion options
Returns
Section titled “Returns”Promise<ConversionResult>
Conversion result
getCompatibilityMatrix()
Section titled “getCompatibilityMatrix()”getCompatibilityMatrix():
CompatibilityMatrix
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:553
Get the compatibility matrix for proof systems.
Returns
Section titled “Returns”Compatibility matrix
areSystemsCompatible()
Section titled “areSystemsCompatible()”areSystemsCompatible(
source,target):boolean
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:561
Check if two systems are compatible for composition.
Parameters
Section titled “Parameters”source
Section titled “source”Source system
target
Section titled “target”Target system
Returns
Section titled “Returns”boolean
true if compatible
getCacheStats()
Section titled “getCacheStats()”getCacheStats():
CacheStats
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:567
Get cache statistics.
Returns
Section titled “Returns”Cache stats
clearCache()
Section titled “clearCache()”clearCache(
olderThan?):void
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:573
Clear the proof cache.
Parameters
Section titled “Parameters”olderThan?
Section titled “olderThan?”number
Optional: only clear entries older than this timestamp
Returns
Section titled “Returns”void
getWorkerPoolStatus()
Section titled “getWorkerPoolStatus()”getWorkerPoolStatus():
WorkerPoolStatus
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:579
Get worker pool status.
Returns
Section titled “Returns”Worker pool status
scaleWorkerPool()
Section titled “scaleWorkerPool()”scaleWorkerPool(
targetWorkers):Promise<void>
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:585
Scale worker pool.
Parameters
Section titled “Parameters”targetWorkers
Section titled “targetWorkers”number
Target number of workers
Returns
Section titled “Returns”Promise<void>
setFallbackConfig()
Section titled “setFallbackConfig()”setFallbackConfig(
config):void
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:591
Set fallback configuration.
Parameters
Section titled “Parameters”config
Section titled “config”Fallback configuration
Returns
Section titled “Returns”void
getFallbackConfig()
Section titled “getFallbackConfig()”getFallbackConfig():
FallbackConfig|undefined
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:597
Get current fallback configuration.
Returns
Section titled “Returns”FallbackConfig | undefined
Fallback config or undefined
addEventListener()
Section titled “addEventListener()”addEventListener(
listener): () =>void
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:604
Add an event listener.
Parameters
Section titled “Parameters”listener
Section titled “listener”Event listener
Returns
Section titled “Returns”Unsubscribe function
():
void
Returns
Section titled “Returns”void
removeEventListener()
Section titled “removeEventListener()”removeEventListener(
listener):void
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:610
Remove an event listener.
Parameters
Section titled “Parameters”listener
Section titled “listener”Listener to remove
Returns
Section titled “Returns”void
setTelemetryCollector()
Section titled “setTelemetryCollector()”setTelemetryCollector(
collector):void
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:616
Set telemetry collector.
Parameters
Section titled “Parameters”collector
Section titled “collector”Telemetry collector
Returns
Section titled “Returns”void
initialize()
Section titled “initialize()”initialize():
Promise<void>
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:620
Initialize the composer and all providers.
Returns
Section titled “Returns”Promise<void>
dispose()
Section titled “dispose()”dispose():
Promise<void>
Defined in: @sip-protocol/sdk/dist/interface-Bf7w1PLW.d.ts:624
Dispose of resources.
Returns
Section titled “Returns”Promise<void>