Skip to content

KimchiProvider

SIP Protocol API Reference v0.7.4


SIP Protocol API Reference / KimchiProvider

Defined in: @sip-protocol/sdk/dist/proofs/kimchi.d.ts:93

Kimchi Proof Provider

Implements ComposableProofProvider for Mina’s Kimchi proof system.

const provider = new KimchiProvider({
enablePickles: true,
network: 'testnet',
})
await provider.initialize()
const result = await provider.generateProof({
circuitId: 'transfer_proof',
privateInputs: { sender: '...', amount: '...' },
publicInputs: { commitment: '...' },
})

new KimchiProvider(config?): KimchiProvider

Defined in: @sip-protocol/sdk/dist/proofs/kimchi.d.ts:103

KimchiProviderConfig

KimchiProvider

readonly system: ProofSystem

Defined in: @sip-protocol/sdk/dist/proofs/kimchi.d.ts:94

The proof system this provider implements

ComposableProofProvider.system

get capabilities(): ProofProviderCapabilities

Defined in: @sip-protocol/sdk/dist/proofs/kimchi.d.ts:104

Provider capabilities

ProofProviderCapabilities

Provider capabilities

ComposableProofProvider.capabilities


get status(): ProofProviderStatus

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

Current provider status

ProofProviderStatus

Current provider status

ComposableProofProvider.status

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.

Promise<void>

Error if initialization fails

ComposableProofProvider.initialize


waitUntilReady(timeoutMs?): Promise<void>

Defined in: @sip-protocol/sdk/dist/proofs/kimchi.d.ts:108

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/kimchi.d.ts:109

Dispose of resources used by this provider.

Promise<void>

ComposableProofProvider.dispose


getAvailableCircuits(): string[]

Defined in: @sip-protocol/sdk/dist/proofs/kimchi.d.ts:110

Get available circuits for this provider.

string[]

Array of circuit identifiers

ComposableProofProvider.getAvailableCircuits


hasCircuit(circuitId): boolean

Defined in: @sip-protocol/sdk/dist/proofs/kimchi.d.ts:111

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/kimchi.d.ts:115

Register a circuit configuration

KimchiCircuitConfig

void


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.

string

Promise<string>


isCircuitCompiled(circuitId): boolean

Defined in: @sip-protocol/sdk/dist/proofs/kimchi.d.ts:126

Check if a circuit is compiled

string

boolean


generateProof(request): Promise<ProofGenerationResult>

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

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/kimchi.d.ts:129

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/kimchi.d.ts:130

Verify multiple proofs in a batch (if supported).

SingleProof[]

Proofs to verify

Promise<boolean[]>

Array of verification results

ComposableProofProvider.verifyBatch


supportsRecursion(): boolean

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

Check if Pickles recursive proving is available

boolean


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.

SingleProof[]

Promise<SingleProof | null>