Skip to main content

Experimental

SnarkyJS / Modules / Experimental

Namespace: Experimental

This module exposes APIs that are unstable, in the sense that the API surface is expected to change. (Not unstable in the sense that they are less functional or tested than other parts.)

Table of contents

Type Aliases

Variables

Functions

Type Aliases

Callback

Ƭ Callback<Result>: Callback_<Result>

Type parameters

Name
Result

Defined in

index.ts:97

index.ts:98

Variables

Callback

Callback: typeof Callback = Experimental_.Callback

Defined in

index.ts:97

index.ts:98

Functions

ZkProgram

ZkProgram<StatementType, Types>(config): { analyzeMethods: () => ReturnType<typeof analyzeMethod>[] ; compile: () => Promise<{ verificationKey: string }> ; digest: () => string ; name: string ; publicInputType: ProvableOrUndefined<Get<StatementType, "publicInput">> ; publicOutputType: ProvableOrVoid<Get<StatementType, "publicOutput">> ; verify: (proof: Proof<InferProvableOrUndefined<Get<StatementType, "publicInput">>, InferProvableOrVoid<Get<StatementType, "publicOutput">>>) => Promise<boolean> } & { [I in keyof Types]: Prover<InferProvableOrUndefined<Get<StatementType, "publicInput">>, InferProvableOrVoid<Get<StatementType, "publicOutput">>, Types[I]> }

Type parameters

NameType
StatementTypeextends Object
Typesextends Object

Parameters

NameType
configStatementType & { methods: { [I in string | number | symbol]: Method<InferProvableOrUndefined<Get<StatementType, "publicInput">>, InferProvableOrVoid<Get<StatementType, "publicOutput">>, Types[I]> } }

Returns

{ analyzeMethods: () => ReturnType<typeof analyzeMethod>[] ; compile: () => Promise<{ verificationKey: string }> ; digest: () => string ; name: string ; publicInputType: ProvableOrUndefined<Get<StatementType, "publicInput">> ; publicOutputType: ProvableOrVoid<Get<StatementType, "publicOutput">> ; verify: (proof: Proof<InferProvableOrUndefined<Get<StatementType, "publicInput">>, InferProvableOrVoid<Get<StatementType, "publicOutput">>>) => Promise<boolean> } & { [I in keyof Types]: Prover<InferProvableOrUndefined<Get<StatementType, "publicInput">>, InferProvableOrVoid<Get<StatementType, "publicOutput">>, Types[I]> }

Defined in

lib/proof_system.ts:189


createChildAccountUpdate

createChildAccountUpdate(parent, childAddress, tokenId?): AccountUpdate

Parameters

NameType
parentAccountUpdate
childAddressPublicKey
tokenId?Field

Returns

AccountUpdate

Defined in

lib/account_update.ts:1711


memoizeWitness

memoizeWitness<T>(type, compute): T

Like Provable.witness, but memoizes the witness during transaction construction for reuse by the prover. This is needed to witness non-deterministic values.

Type parameters

Name
T

Parameters

NameType
typeFlexibleProvable<T>
compute() => T

Returns

T

Defined in

lib/provable.ts:456