UNPKG

did-sdk-js

Version:

js sdk for did and vc according to mcps did spec

78 lines (77 loc) 3.22 kB
import { SdkError } from "../errors"; import { EncryptLevel, VerifyType } from "../crypto"; import { Claim, DisclosedData, SecretKey } from "./claims/common"; import { DidDocument, DIDPrivateKey, PublicKey } from "../did"; import { CipherInfo } from "./cipher"; export declare enum VCType { vcTypeProof = "ProofClaim", vcTypeProfile = "ProfileClaim" } export declare class CredentialSubject { id: string[]; claims: Claim[]; } export declare class Revocation { endpoint: string; } export declare class Proof { static nonceLen: number; nonce: string; creator: string; created: string; type: VerifyType; signatureValue: string; genNonce(): void; signVerify(vcID: string, publicKey: PublicKey): Promise<any>; } export declare class VerifiableCredential { static w3cContextVC: string; context: string[]; id: string; type: string; issuer: string[]; validFrom: string; validUntil: string; credentialSubject: CredentialSubject; revocation: Revocation; proof: Proof[]; addContext(context: string): void; setID(): void; setType(type: VCType): void; addIssuer(issuer: string[]): void; setValidFrom(time: string | null): void; setValidUntil(time: string): void; addProof(proof: Proof): void; setCredentialSubject(sub: CredentialSubject): void; toString(): string; copy(): VerifiableCredential; static parseFrom(vcStr: string): VerifiableCredential; parseFrom(vcStr: string): object; genID(): string; checkEmpty(): SdkError | null; checkType(): SdkError | null; checkTime(): SdkError | null; checkId(): SdkError | null; checkCredentialSubject(): SdkError | null; validateBasic(): SdkError | null; static creatVC(issuers: string[], subjectIds: string[], claims: Claim[], validYears: number): VerifiableCredential; genProof(issuerDoc: DidDocument, issuerPrivateKey: DIDPrivateKey, useNonce: boolean): Promise<Proof>; issue(issuerDoc: DidDocument, issuerPrivateKey: DIDPrivateKey): Promise<void>; signVerifySingle(issuerDoc: DidDocument): Promise<SdkError | null>; makeSecretKey(randomKey: string, dstDoc: DidDocument, publicKeyId?: string): Promise<SecretKey[]>; encrypt(level: EncryptLevel, dstDocs: DidDocument[]): Promise<VerifiableCredentialCipher>; genIdPrepare(): void; verifyMinDisclosure(disclosedClaims: DisclosedData[]): SdkError | null; } export declare class VerifiableCredentialCipher extends VerifiableCredential { cipherInfo: CipherInfo | null; static parseFrom(vcStr: string): VerifiableCredentialCipher; validateBasic(): SdkError | null; copy(): VerifiableCredentialCipher; decrypt(did: string, didPrivateKey: DIDPrivateKey): Promise<VerifiableCredential>; decryptFromSecretKey(secretKey: SecretKey, didPrivateKey: DIDPrivateKey): Promise<VerifiableCredential>; decryptFromRandomKey(randomKey: string): VerifiableCredential; decryptRandomKey(secretKey: SecretKey, didPrivateKey: DIDPrivateKey): Promise<any>; getSecretKey(did: string, publicKeyHex: string): SecretKey | null; genIdPrepare(): void; }