o1js
Version:
TypeScript framework for zk-SNARKs and zkApps
10 lines (9 loc) • 784 B
TypeScript
import type { Field } from '../field.js';
import type { InferProvable } from './struct.js';
import { ProvableType, ToProvable } from './provable-intf.js';
import { From } from '../../../bindings/lib/provable-generic.js';
import { TupleN } from '../../util/types.js';
export { witness, witnessAsync, witnessFields };
declare function witness<A extends ProvableType<any, any>, T extends From<ToProvable<A>> = From<ToProvable<A>>>(type: A, compute: () => T): InferProvable<ToProvable<A>>;
declare function witnessAsync<A extends ProvableType<any, any>, T extends From<ToProvable<A>> = From<ToProvable<A>>>(type: A, compute: () => Promise<T>): Promise<T>;
declare function witnessFields<N extends number, C extends () => TupleN<bigint | Field, N>>(size: N, compute: C): TupleN<Field, N>;