KimchiProvider
SIP Protocol API Reference v0.7.4
SIP Protocol API Reference / KimchiProvider
Class: KimchiProvider
Section titled “Class: KimchiProvider”Defined in: @sip-protocol/sdk/dist/proofs/kimchi.d.ts:93
Kimchi Proof Provider
Implements ComposableProofProvider for Mina’s Kimchi proof system.
Example
Section titled “Example”const provider = new KimchiProvider({ enablePickles: true, network: 'testnet',})
await provider.initialize()
const result = await provider.generateProof({ circuitId: 'transfer_proof', privateInputs: { sender: '...', amount: '...' }, publicInputs: { commitment: '...' },})Implements
Section titled “Implements”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new KimchiProvider(
config?):KimchiProvider
Defined in: @sip-protocol/sdk/dist/proofs/kimchi.d.ts:103
Parameters
Section titled “Parameters”config?
Section titled “config?”Returns
Section titled “Returns”KimchiProvider
Properties
Section titled “Properties”system
Section titled “system”
readonlysystem:ProofSystem
Defined in: @sip-protocol/sdk/dist/proofs/kimchi.d.ts:94
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/kimchi.d.ts:104
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/kimchi.d.ts:105
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/kimchi.d.ts:106
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/kimchi.d.ts:108
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/kimchi.d.ts:109
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/kimchi.d.ts:110
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/kimchi.d.ts:111
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/kimchi.d.ts:115
Register a circuit configuration
Parameters
Section titled “Parameters”config
Section titled “config”Returns
Section titled “Returns”void
compileCircuit()
Section titled “compileCircuit()”compileCircuit(
circuitId):Promise<string>
Defined in: @sip-protocol/sdk/dist/proofs/kimchi.d.ts:122
Compile a circuit for proof generation
Compiling in Kimchi/o1js creates the verification key and prepares the circuit for proving.
Parameters
Section titled “Parameters”circuitId
Section titled “circuitId”string
Returns
Section titled “Returns”Promise<string>
isCircuitCompiled()
Section titled “isCircuitCompiled()”isCircuitCompiled(
circuitId):boolean
Defined in: @sip-protocol/sdk/dist/proofs/kimchi.d.ts:126
Check if a circuit is compiled
Parameters
Section titled “Parameters”circuitId
Section titled “circuitId”string
Returns
Section titled “Returns”boolean
generateProof()
Section titled “generateProof()”generateProof(
request):Promise<ProofGenerationResult>
Defined in: @sip-protocol/sdk/dist/proofs/kimchi.d.ts:127
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/kimchi.d.ts:129
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/kimchi.d.ts:130
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
Implementation of
Section titled “Implementation of”ComposableProofProvider.verifyBatch
supportsRecursion()
Section titled “supportsRecursion()”supportsRecursion():
boolean
Defined in: @sip-protocol/sdk/dist/proofs/kimchi.d.ts:135
Check if Pickles recursive proving is available
Returns
Section titled “Returns”boolean
mergeProofsRecursively()
Section titled “mergeProofsRecursively()”mergeProofsRecursively(
proofs):Promise<SingleProof|null>
Defined in: @sip-protocol/sdk/dist/proofs/kimchi.d.ts:142
Merge multiple proofs recursively using Pickles
This enables constant-size proofs regardless of how many proofs are combined.
Parameters
Section titled “Parameters”proofs
Section titled “proofs”Returns
Section titled “Returns”Promise<SingleProof | null>