anon-identity
Version:
Decentralized identity framework with DIDs, Verifiable Credentials, and privacy-preserving selective disclosure
57 lines • 1.93 kB
TypeScript
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