UNPKG

@ew-did-registry/claims

Version:

The package exposes functionality needed to create, inspect, approve, and verify Private and Public claims

44 lines (43 loc) 1.74 kB
import { IDIDDocument } from '@ew-did-registry/did-resolver-interface'; import { IClaims, IProofData, IPublicClaim, ISaltedFields } from './models'; /** * IClaims interface is a factory to create Public, Private, and Proof Claims */ export interface IClaimsFactory { createClaimsUser(): IClaimsUser; createClaimsIssuer(): IClaimsIssuer; createClaimsVerifier(): IClaimsVerifier; } export interface IClaimsUser extends IClaims { createPublicClaim(publicData: object): Promise<string>; createPrivateClaim(privateData: { [key: string]: string; }, issuer: string): Promise<{ token: string; saltedFields: { [key: string]: string; }; }>; createProofClaim(claimUrl: string, saltedFields: IProofData): Promise<string>; verifyClaimContent(token: string, verifyData: object): void; verifyPrivateClaim(privateToken: string, saltedFields: ISaltedFields): Promise<boolean>; publishPublicClaim(issued: string, verifyData: object, opts?: { hashAlg: string; createHash: (data: string) => string; }): Promise<string>; publishPrivateClaim(issued: string, saltedFields: ISaltedFields, opts?: { hashAlg: string; createHash: (data: string) => string; }): Promise<string>; } export interface IClaimsIssuer extends IClaims { issuePublicClaim(token: string | IPublicClaim): Promise<string>; issuePrivateClaim(token: string): Promise<string>; } export interface IClaimsVerifier extends IClaims { verifyPublicProof(claimUrl: string, { holderDoc, issuerDoc, }?: { holderDoc?: IDIDDocument; issuerDoc?: IDIDDocument; }): Promise<IPublicClaim>; verifyPrivateProof(proofToken: string): Promise<void>; }