anon-identity
Version:
Decentralized identity framework with DIDs, Verifiable Credentials, and privacy-preserving selective disclosure
62 lines • 1.84 kB
TypeScript
import { DelegationChain } from './types';
import { DelegationManager } from './delegation-manager';
import { AgentIdentityManager } from './agent-identity';
export interface ChainValidationResult {
valid: boolean;
chain?: DelegationChain;
errors: string[];
warnings: string[];
}
export interface ChainCacheEntry {
chain: DelegationChain;
validatedAt: Date;
expiresAt: Date;
}
export declare class DelegationChainValidator {
private delegationManager;
private agentManager;
private chainCache;
private readonly cacheTimeout;
constructor(delegationManager: DelegationManager, agentManager: AgentIdentityManager);
/**
* Validates a complete delegation chain from root to target agent
*/
validateDelegationChain(targetAgentDID: string, rootDID: string, serviceDID?: string): Promise<ChainValidationResult>;
/**
* Builds a delegation chain from target agent to root
*/
private buildDelegationChain;
/**
* Validates a single link in the delegation chain
*/
private validateChainLink;
/**
* Verifies the cryptographic signature of a credential
*/
private verifyCredentialSignature;
/**
* Validates overall chain properties
*/
private validateChainProperties;
/**
* Finds the most recent valid credential from a list
*/
private findValidCredential;
/**
* Caches a validated chain
*/
private cacheChain;
/**
* Retrieves a cached chain if still valid
*/
private getCachedChain;
/**
* Clears expired entries from the cache
*/
clearExpiredCache(): void;
/**
* Exports a delegation chain for visualization or debugging
*/
exportChain(chain: DelegationChain): object;
}
//# sourceMappingURL=delegation-chain-validator.d.ts.map