import { Fr } from '@aztec/foundation/curves/bn254'; import { Point } from '@aztec/foundation/curves/grumpkin'; import { BufferReader, FieldReader } from '@aztec/foundation/serialize'; import type { FieldsOf } from '@aztec/foundation/types'; import { z } from 'zod'; import type { PublicKey } from './public_key.js'; export declare class PublicKeys { /** Master nullifier public key */ masterNullifierPublicKey: PublicKey; /** Master incoming viewing public key */ masterIncomingViewingPublicKey: PublicKey; /** Master outgoing viewing public key */ masterOutgoingViewingPublicKey: PublicKey; /** Master tagging viewing public key */ masterTaggingPublicKey: PublicKey; constructor( /** Master nullifier public key */ masterNullifierPublicKey: PublicKey, /** Master incoming viewing public key */ masterIncomingViewingPublicKey: PublicKey, /** Master outgoing viewing public key */ masterOutgoingViewingPublicKey: PublicKey, /** Master tagging viewing public key */ masterTaggingPublicKey: PublicKey); static get schema(): z.ZodEffects; masterIncomingViewingPublicKey: z.ZodType; masterOutgoingViewingPublicKey: z.ZodType; masterTaggingPublicKey: z.ZodType; }, "strip", z.ZodTypeAny, { masterNullifierPublicKey: Point; masterIncomingViewingPublicKey: Point; masterOutgoingViewingPublicKey: Point; masterTaggingPublicKey: Point; }, { masterNullifierPublicKey: string; masterIncomingViewingPublicKey: string; masterOutgoingViewingPublicKey: string; masterTaggingPublicKey: string; }>, PublicKeys, { masterNullifierPublicKey: string; masterIncomingViewingPublicKey: string; masterOutgoingViewingPublicKey: string; masterTaggingPublicKey: string; }>; static from(fields: FieldsOf): PublicKeys; /** * Creates a PublicKeys from a plain object without Zod validation. * This method is optimized for performance and skips validation, making it suitable * for deserializing trusted data (e.g., from C++ via MessagePack). * @param obj - Plain object containing PublicKeys fields * @returns A PublicKeys instance */ static fromPlainObject(obj: any): PublicKeys; hash(): Fr | Promise; isEmpty(): boolean; static default(): PublicKeys; static random(): Promise; /** * Determines if this PublicKeys instance is equal to the given PublicKeys instance. * Equality is based on the content of their respective buffers. * * @param other - The PublicKeys instance to compare against. * @returns True if the buffers of both instances are equal, false otherwise. */ equals(other: PublicKeys): boolean; /** * Converts the PublicKeys instance into a Buffer. * This method should be used when encoding the address for storage, transmission or serialization purposes. * * @returns A Buffer representation of the PublicKeys instance. */ toBuffer(): Buffer; /** * Creates an PublicKeys instance from a given buffer or BufferReader. * If the input is a Buffer, it wraps it in a BufferReader before processing. * Throws an error if the input length is not equal to the expected size. * * @param buffer - The input buffer or BufferReader containing the address data. * @returns - A new PublicKeys instance with the extracted address data. */ static fromBuffer(buffer: Buffer | BufferReader): PublicKeys; toNoirStruct(): { npk_m: { inner: { x: Fr; y: Fr; is_infinite: boolean; }; }; ivpk_m: { inner: { x: Fr; y: Fr; is_infinite: boolean; }; }; ovpk_m: { inner: { x: Fr; y: Fr; is_infinite: boolean; }; }; tpk_m: { inner: { x: Fr; y: Fr; is_infinite: boolean; }; }; }; /** * Serializes the payload to an array of fields * @returns The fields of the payload */ toFields(): Fr[]; encodeToNoir(): Fr[]; static fromFields(fields: Fr[] | FieldReader): PublicKeys; toString(): `0x${string}`; static fromString(keys: string): PublicKeys; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tleXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXlzL3B1YmxpY19rZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFM0YsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxxQkFBYSxVQUFVO0lBRW5CLGtDQUFrQztJQUMzQix3QkFBd0IsRUFBRSxTQUFTO0lBQzFDLHlDQUF5QztJQUNsQyw4QkFBOEIsRUFBRSxTQUFTO0lBQ2hELHlDQUF5QztJQUNsQyw4QkFBOEIsRUFBRSxTQUFTO0lBQ2hELHdDQUF3QztJQUNqQyxzQkFBc0IsRUFBRSxTQUFTO0lBUjFDO0lBQ0Usa0NBQWtDO0lBQzNCLHdCQUF3QixFQUFFLFNBQVM7SUFDMUMseUNBQXlDO0lBQ2xDLDhCQUE4QixFQUFFLFNBQVM7SUFDaEQseUNBQXlDO0lBQ2xDLDhCQUE4QixFQUFFLFNBQVM7SUFDaEQsd0NBQXdDO0lBQ2pDLHNCQUFzQixFQUFFLFNBQVMsRUFDdEM7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FTaEI7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLGNBT3ZDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLFVBQVUsQ0FVM0M7SUFFRCxJQUFJLHFCQVlIO0lBRUQsT0FBTyxZQU9OO0lBRUQsTUFBTSxDQUFDLE9BQU8sSUFBSSxVQUFVLENBTzNCO0lBRUQsT0FBYSxNQUFNLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUV6QztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxLQUFLLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FPakM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsSUFBSSxNQUFNLENBT2pCO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsVUFBVSxDQVkzRDtJQUVELFlBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BWVg7SUFFRDs7O09BR0c7SUFDSCxRQUFRLElBQUksRUFBRSxFQUFFLENBT2Y7SUFJRCxZQUFZLElBQUksRUFBRSxFQUFFLENBRW5CO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxHQUFHLFVBQVUsQ0FReEQ7SUFFRCxRQUFRLGtCQUVQO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxjQUU3QjtDQUNGIn0=