UNPKG

anon-identity

Version:

Decentralized identity framework with DIDs, Verifiable Credentials, and privacy-preserving selective disclosure

71 lines 2.61 kB
import { VerifiablePresentation } from '../types'; import { VerificationResult } from './service-provider'; import { VerificationError, VerificationErrorCode } from './verification-errors'; export interface BatchVerificationResult { presentationIndex: number; presentationId?: string; result: VerificationResult; processingTime: number; } export interface BatchRevocationResult { credentialId: string; isRevoked: boolean; error?: VerificationError; processingTime: number; } export interface BatchOperationOptions { maxConcurrency?: number; timeout?: number; continueOnError?: boolean; } export declare class BatchOperations { private options; private defaultOptions; constructor(options?: BatchOperationOptions); /** * Verify multiple presentations in parallel with controlled concurrency */ batchVerifyPresentations(presentations: VerifiablePresentation[], verifyFunction: (presentation: VerifiablePresentation) => Promise<VerificationResult>): Promise<BatchVerificationResult[]>; /** * Check multiple credential revocations in parallel */ batchCheckRevocations(credentialIds: string[], checkFunction: (credentialId: string) => Promise<boolean>): Promise<Map<string, BatchRevocationResult>>; /** * Batch verify presentations with revocation checks */ batchVerifyWithRevocationCheck(presentations: VerifiablePresentation[], verifyFunction: (presentation: VerifiablePresentation) => Promise<VerificationResult>, checkRevocationFunction: (credentialId: string) => Promise<boolean>): Promise<BatchVerificationResult[]>; /** * Get batch operation statistics */ generateBatchStatistics(results: BatchVerificationResult[]): { total: number; valid: number; invalid: number; averageProcessingTime: number; maxProcessingTime: number; minProcessingTime: number; errorDistribution: Record<string, number>; }; /** * Filter results by criteria */ filterResults(results: BatchVerificationResult[], criteria: { validOnly?: boolean; maxProcessingTime?: number; minProcessingTime?: number; excludeErrorCodes?: VerificationErrorCode[]; }): BatchVerificationResult[]; /** * Utility: Add timeout to a promise */ private withTimeout; /** * Utility: Split array into chunks */ private chunkArray; /** * Extract presentation ID from presentation object */ private extractPresentationId; } //# sourceMappingURL=batch-operations.d.ts.map