did-sdk-js
Version:
js sdk for did and vc according to mcps did spec
78 lines (77 loc) • 3.22 kB
TypeScript
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;
}