@iota-big3/sdk-security
Version:
Advanced security features including zero trust, quantum-safe crypto, and ML threat detection
59 lines • 1.99 kB
TypeScript
import type { Logger } from '@iota-big3/sdk-observability';
import { EventEmitter } from 'events';
import { AuditEvent, AuditQuery, BlockchainAuditConfig } from '../types/security.types';
export interface AuditConfig {
enabled: boolean;
blockchain?: BlockchainAuditConfig;
retentionDays: number;
realTimeStreaming: boolean;
encryptionEnabled: boolean;
bufferSize: number;
flushInterval: number;
}
export declare class BlockchainAuditTrail extends EventEmitter {
private config;
private logger;
private gateway?;
private contract?;
private network?;
private wallet?;
private buffer;
private flushTimer?;
private encryptionKey?;
private eventCounter;
constructor(_config: AuditConfig, logger: Logger);
private initializeEncryption;
private initializeBlockchain;
private initializeHyperledger;
private registerUser;
private loadConnectionProfile;
private initializeEthereum;
private initializePrivateBlockchain;
private listenForBlockchainEvents;
logEvent(_event: Omit<AuditEvent, 'id' | 'timestamp' | 'immutable'>): Promise<AuditEvent>;
private validateEvent;
private encryptData;
private decryptData;
private startFlushTimer;
private flushBuffer;
private writeToBlockchain;
private calculateEventHash;
private writeToLocalStorage;
queryEvents(_query: AuditQuery): Promise<AuditEvent[]>;
private queryBlockchain;
private buildBlockchainQuery;
private queryLocalStorage;
private matchesQuery;
verifyEventIntegrity(_eventId: string): Promise<boolean>;
exportAuditTrail(query: AuditQuery, format: 'json' | 'csv' | 'pdf'): Promise<Buffer>;
private exportToCSV;
private exportToPDF;
getStatistics(timeRange?: {
start: Date;
end: Date;
}): Promise<any>;
cleanupOldLogs(): Promise<number>;
getMetrics(): unknown;
destroy(): Promise<void>;
}
//# sourceMappingURL=blockchain-audit.d.ts.map