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
TypeScript
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;