@proto-kit/commonDocs


Documentation / @proto-kit/common / CompileRegistry

Class: CompileRegistry

The CompileRegistry compiles “compilable modules” (i.e. zkprograms, contracts or contractmodules) while making sure they don’t get compiled twice in the same process in parallel.

Constructors

new CompileRegistry()

new CompileRegistry(compiler): CompileRegistry

Parameters

compiler: AtomicCompileHelper

Returns

CompileRegistry

Defined in

packages/common/src/compiling/CompileRegistry.ts:19

Methods

addArtifactsRaw()

addArtifactsRaw(artifacts): void

Parameters

artifacts: ArtifactRecord

Returns

void

Defined in

packages/common/src/compiling/CompileRegistry.ts:78


compile()

compile(target, nameOverride?): Promise<CompileArtifact>

Parameters

target: CompileTarget

nameOverride?: string

Returns

Promise<CompileArtifact>

Defined in

packages/common/src/compiling/CompileRegistry.ts:56


getAllArtifacts()

getAllArtifacts(): ArtifactRecord

Returns

ArtifactRecord

Defined in

packages/common/src/compiling/CompileRegistry.ts:85


getArtifact()

getArtifact(name): undefined | CompileArtifact

Parameters

name: string

Returns

undefined | CompileArtifact

Defined in

packages/common/src/compiling/CompileRegistry.ts:74


proverNeeded()

proverNeeded<R>(f): Promise<R>

This function forces compilation even if the artifact itself is in the registry. Basically the statement is: The artifact along is not enough, we need to actually have the prover compiled. This is true for non-sideloaded circuit dependencies.

Type Parameters

R

Parameters

f

Returns

Promise<R>

Defined in

packages/common/src/compiling/CompileRegistry.ts:31


sideloaded()

sideloaded<R>(f): Promise<R>

Type Parameters

R

Parameters

f

Returns

Promise<R>

Defined in

packages/common/src/compiling/CompileRegistry.ts:46