Skip to main content
Version: 2.15.0

FeatureFlags

type FeatureFlags = {
foreignFieldAdd: boolean | undefined;
foreignFieldMul: boolean | undefined;
lookup: boolean | undefined;
rangeCheck0: boolean | undefined;
rangeCheck1: boolean | undefined;
rot: boolean | undefined;
runtimeTables: boolean | undefined;
xor: boolean | undefined;
};

Defined in: lib/proof-system/feature-flags.ts:17

Feature flags indicate what custom gates are used in a proof of circuit. Side loading, for example, requires a set of feature flags in advance (at compile time) in order to verify and side load proofs. If the side loaded proofs and verification keys do not match the specified feature flag configurations, the verification will fail. Flags specified as undefined are considered as maybe by Pickles. This means, proofs can be sided loaded that can, but don't have to, use a specific custom gate. Note: Maybe feature flags incur a proving overhead.

Properties

foreignFieldAdd

foreignFieldAdd: boolean | undefined;

Defined in: lib/proof-system/feature-flags.ts:20


foreignFieldMul

foreignFieldMul: boolean | undefined;

Defined in: lib/proof-system/feature-flags.ts:21


lookup

lookup: boolean | undefined;

Defined in: lib/proof-system/feature-flags.ts:24


rangeCheck0

rangeCheck0: boolean | undefined;

Defined in: lib/proof-system/feature-flags.ts:18


rangeCheck1

rangeCheck1: boolean | undefined;

Defined in: lib/proof-system/feature-flags.ts:19


rot

rot: boolean | undefined;

Defined in: lib/proof-system/feature-flags.ts:23


runtimeTables

runtimeTables: boolean | undefined;

Defined in: lib/proof-system/feature-flags.ts:25


xor

xor: boolean | undefined;

Defined in: lib/proof-system/feature-flags.ts:22