UNPKG

minauth-erc721-timelock-plugin

Version:

This package contains an implementation of a MinAuth plugin that combines zero-knowledge Merkle "membership" proofs with the ability to register into to a Merkle tree with locking an Ethereum NFT.

42 lines (41 loc) 1.92 kB
import { Field } from 'o1js'; import * as z from 'zod'; export declare const UserCommitmentHexSchema: z.ZodObject<{ commitmentHex: z.ZodString; }, "strip", z.ZodTypeAny, { commitmentHex: string; }, { commitmentHex: string; }>; export declare const UserSecretInputSchema: z.ZodObject<{ secret: z.ZodString; }, "strip", z.ZodTypeAny, { secret: string; }, { secret: string; }>; export declare const UserCommitmentFieldSchema: z.ZodObject<{ commitment: z.ZodType<import("o1js/dist/node/lib/field").Field, z.ZodTypeDef, import("o1js/dist/node/lib/field").Field>; }, "strip", z.ZodTypeAny, { commitment: import("o1js/dist/node/lib/field").Field; }, { commitment: import("o1js/dist/node/lib/field").Field; }>; export declare const UserSecretSchema: z.ZodObject<{ secretHash: z.ZodType<import("o1js/dist/node/lib/field").Field, z.ZodTypeDef, import("o1js/dist/node/lib/field").Field>; }, "strip", z.ZodTypeAny, { secretHash: import("o1js/dist/node/lib/field").Field; }, { secretHash: import("o1js/dist/node/lib/field").Field; }>; export type UserSecretInput = z.infer<typeof UserSecretInputSchema>; export type UserSecret = z.infer<typeof UserSecretSchema>; export type UserCommitmentHex = z.infer<typeof UserCommitmentHexSchema>; export type UserCommitmentField = z.infer<typeof UserCommitmentFieldSchema>; export declare const SECRET_MAX_LENGTH: number; export declare const mkUserSecret: ({ secret }: UserSecretInput) => UserSecret; export declare const userCommitmentHex: ({ secretHash }: UserSecret) => UserCommitmentHex; export declare const userCommitmentField: ({ secretHash }: UserSecret) => UserCommitmentField; export declare const commitmentHexToField: ({ commitmentHex }: UserCommitmentHex) => UserCommitmentField; export declare const commitmentFieldToHex: ({ commitment }: UserCommitmentField) => UserCommitmentHex; export declare const hexField: (f: Field) => string;