/** * Society Protocol — ZKP Identity Proofs (Schnorr PoK) * * Non-interactive Schnorr proof of DID/key ownership via Fiat-Shamir. * Ed25519 signatures ARE Schnorr signatures — we use ed.sign(challenge, key) * as a zero-knowledge proof of private key ownership. * * Based on: Agent-OSI Layer 3 (arxiv 2602.13795) */ import { type Identity } from './identity.js'; export interface IdentityProof { did: string; challenge: string; proof: string; roomId: string; timestamp: number; nonce: string; expiresAt: number; } export interface IdentityProofVerifyResult { valid: boolean; did: string; reason?: string; } /** * Create a non-interactive Schnorr proof of DID ownership. * * The challenge is SHA-512(did || roomId || timestamp || nonce), * and the proof is ed.sign(challenge, privateKey). */ export declare function createIdentityProof(identity: Identity, roomId: string, ttlMs?: number): IdentityProof; /** * Verify a non-interactive Schnorr proof of DID ownership. * * 1. Recompute the challenge from the proof fields * 2. Extract public key from the DID * 3. Verify the Ed25519 signature * 4. Check TTL expiration */ export declare function verifyIdentityProof(proof: IdentityProof): IdentityProofVerifyResult; export declare function serializeIdentityProof(proof: IdentityProof): Uint8Array; export declare function deserializeIdentityProof(data: Uint8Array): IdentityProof; //# sourceMappingURL=identity-proof.d.ts.map