anon-identity
Version:
Decentralized identity framework with DIDs, Verifiable Credentials, and privacy-preserving selective disclosure
41 lines • 2.08 kB
JavaScript
;
// W3C Verifiable Credentials 2.0 Types
// https://www.w3.org/TR/vc-data-model-2.0/
Object.defineProperty(exports, "__esModule", { value: true });
exports.VC_V2_CONTEXTS = exports.CredentialStatusType = exports.ProofPurpose = void 0;
exports.isVerifiableCredentialV2 = isVerifiableCredentialV2;
// Proof Purpose definitions
var ProofPurpose;
(function (ProofPurpose) {
ProofPurpose["ASSERTION_METHOD"] = "assertionMethod";
ProofPurpose["AUTHENTICATION"] = "authentication";
ProofPurpose["KEY_AGREEMENT"] = "keyAgreement";
ProofPurpose["CAPABILITY_INVOCATION"] = "capabilityInvocation";
ProofPurpose["CAPABILITY_DELEGATION"] = "capabilityDelegation";
})(ProofPurpose || (exports.ProofPurpose = ProofPurpose = {}));
// Credential Status types
var CredentialStatusType;
(function (CredentialStatusType) {
CredentialStatusType["REVOCATION_LIST_2020"] = "RevocationList2020";
CredentialStatusType["STATUS_LIST_2021"] = "StatusList2021";
CredentialStatusType["BITSTRING_STATUS_LIST"] = "BitstringStatusListEntry";
})(CredentialStatusType || (exports.CredentialStatusType = CredentialStatusType = {}));
// Common VC 2.0 contexts
exports.VC_V2_CONTEXTS = {
CREDENTIALS_V2: "https://www.w3.org/ns/credentials/v2",
CREDENTIALS_V1: "https://www.w3.org/2018/credentials/v1", // for backward compatibility
ED25519_2020: "https://w3id.org/security/suites/ed25519-2020/v1",
BBS_2023: "https://w3id.org/security/bbs/v1",
DATA_INTEGRITY_V2: "https://w3id.org/security/data-integrity/v2",
STATUS_LIST_2021: "https://w3id.org/vc/status-list/2021/v1",
TERMS_OF_USE: "https://w3id.org/credentials/terms-of-use/v1"
};
// Type guard to check if credential is V2
function isVerifiableCredentialV2(credential) {
const contexts = Array.isArray(credential["@context"])
? credential["@context"]
: [credential["@context"]];
return contexts.some((ctx) => typeof ctx === "string" &&
(ctx === exports.VC_V2_CONTEXTS.CREDENTIALS_V2 || ctx.includes("/credentials/v2")));
}
//# sourceMappingURL=vc2.js.map