UNPKG

anon-identity

Version:

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

57 lines 1.93 kB
import { KeyPair, UserAttributes } from '../types'; import { VerifiableCredentialV2, CredentialStatusType, TermsOfUse, Evidence, Proof } from '../types/vc2'; import { IStorageProvider } from '../storage'; import { IdentityProvider } from './identity-provider'; export interface IssueCredentialOptionsV2 { credentialStatus?: { type: CredentialStatusType; statusListUrl?: string; statusListIndex?: number; }; termsOfUse?: TermsOfUse | TermsOfUse[]; evidence?: Evidence | Evidence[]; validFrom?: string; validUntil?: string; additionalContexts?: string[]; useV2Format?: boolean; additionalProofs?: Proof[]; } /** * Enhanced Identity Provider with W3C VC 2.0 support */ export declare class IdentityProviderV2 extends IdentityProvider { private statusList; private statusListUrl?; private nextStatusIndex; constructor(keyPair: KeyPair, storageProvider?: IStorageProvider); static create(storageProvider?: IStorageProvider): Promise<IdentityProviderV2>; /** * Issue a W3C VC 2.0 compliant credential */ issueVerifiableCredentialV2(userDID: string, attributes: UserAttributes, options?: IssueCredentialOptionsV2): Promise<VerifiableCredentialV2>; /** * Create credential status information */ private createCredentialStatus; /** * Sign a VC 2.0 credential */ private signCredentialV2; /** * Revoke a credential using StatusList2021 */ revokeCredentialV2(credentialId: string, statusListIndex: number): Promise<void>; /** * Publish the current status list */ publishStatusList(): Promise<string>; /** * Create example terms of use */ static createExampleTermsOfUse(): TermsOfUse; /** * Create example evidence */ static createExampleEvidence(verifierId: string): Evidence; } //# sourceMappingURL=identity-provider-v2.d.ts.map