import { NULLIFIER_TREE_HEIGHT } from '@aztec/constants'; import { Fr } from '@aztec/foundation/curves/bn254'; import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees'; import { z } from 'zod'; import { NullifierLeafPreimage } from './nullifier_leaf.js'; /** * Nullifier membership witness. * @remarks When this represents membership witness of a low nullifier it can be used to perform a nullifier * non-inclusion proof by leveraging the "linked list structure" of leaves and proving that a lower nullifier * is pointing to a bigger next value than the nullifier we are trying to prove non-inclusion for. */ export declare class NullifierMembershipWitness { /** * The index of the nullifier in a tree. */ readonly index: bigint; /** * Preimage of the nullifier. */ readonly leafPreimage: NullifierLeafPreimage; /** * Sibling path to prove membership of the nullifier. */ readonly siblingPath: SiblingPath; constructor( /** * The index of the nullifier in a tree. */ index: bigint, /** * Preimage of the nullifier. */ leafPreimage: NullifierLeafPreimage, /** * Sibling path to prove membership of the nullifier. */ siblingPath: SiblingPath); static get schema(): z.ZodEffects, z.ZodBigInt>; leafPreimage: z.ZodEffects; }, "strip", z.ZodTypeAny, { nullifier: Fr; }, { nullifier: string; }>, import("./nullifier_leaf.js").NullifierLeaf, { nullifier: string; }>; nextKey: z.ZodType; nextIndex: z.ZodPipeline, z.ZodBigInt>; }, "strip", z.ZodTypeAny, { leaf: import("./nullifier_leaf.js").NullifierLeaf; nextKey: Fr; nextIndex: bigint; }, { leaf: { nullifier: string; }; nextKey: string; nextIndex: string | number | bigint; }>, NullifierLeafPreimage, { leaf: { nullifier: string; }; nextKey: string; nextIndex: string | number | bigint; }>; siblingPath: z.ZodEffects>, SiblingPath<42>, any>, SiblingPath<42>, any>; }, "strip", z.ZodTypeAny, { index: bigint; leafPreimage: NullifierLeafPreimage; siblingPath: SiblingPath<42>; }, { index: string | number | bigint; leafPreimage: { leaf: { nullifier: string; }; nextKey: string; nextIndex: string | number | bigint; }; siblingPath?: any; }>, NullifierMembershipWitness, { index: string | number | bigint; leafPreimage: { leaf: { nullifier: string; }; nextKey: string; nextIndex: string | number | bigint; }; siblingPath?: any; }>; static random(): NullifierMembershipWitness; withoutPreimage(): MembershipWitness; /** * Returns a field array representation of a nullifier witness. * @returns A field array representation of a nullifier witness. */ toFields(): Fr[]; /** * Returns a representation of the nullifier membership witness as expected by intrinsic Noir deserialization. */ toNoirRepresentation(): (string | string[])[]; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbGlmaWVyX21lbWJlcnNoaXBfd2l0bmVzcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL251bGxpZmllcl9tZW1iZXJzaGlwX3dpdG5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBR3hCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTVEOzs7OztHQUtHO0FBQ0gscUJBQWEsMEJBQTBCO0lBRW5DOztPQUVHO2FBQ2EsS0FBSyxFQUFFLE1BQU07SUFDN0I7O09BRUc7YUFDYSxZQUFZLEVBQUUscUJBQXFCO0lBQ25EOztPQUVHO2FBQ2EsV0FBVyxFQUFFLFdBQVcsQ0FBQyxPQUFPLHFCQUFxQixDQUFDO0lBWnhFO0lBQ0U7O09BRUc7SUFDYSxLQUFLLEVBQUUsTUFBTTtJQUM3Qjs7T0FFRztJQUNhLFlBQVksRUFBRSxxQkFBcUI7SUFDbkQ7O09BRUc7SUFDYSxXQUFXLEVBQUUsV0FBVyxDQUFDLE9BQU8scUJBQXFCLENBQUMsRUFDcEU7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FVaEI7SUFFRCxNQUFNLENBQUMsTUFBTSwrQkFNWjtJQUVNLGVBQWUsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLHFCQUFxQixDQUFDLENBRXhFO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUV0QjtJQUVEOztPQUVHO0lBQ0ksb0JBQW9CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQU9uRDtDQUNGIn0=