@credo-ts/core
Version:
<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1
38 lines (34 loc) • 1.37 kB
JavaScript
import { CredoError } from "../../../../error/CredoError.mjs";
import "../../../../error/index.mjs";
import { PublicJwk } from "../../../kms/jwk/PublicJwk.mjs";
import "../../../kms/index.mjs";
//#region src/modules/dids/domain/verificationMethod/Multikey.ts
const VERIFICATION_METHOD_TYPE_MULTIKEY = "Multikey";
/**
* Get a Multikey verification method.
*/
function getMultikey({ did, publicJwk, verificationMethodId }) {
if (!verificationMethodId) verificationMethodId = `${did}#${publicJwk.fingerprint}`;
return {
id: verificationMethodId,
type: VERIFICATION_METHOD_TYPE_MULTIKEY,
controller: did,
publicKeyMultibase: publicJwk.fingerprint
};
}
/**
* Check whether a verification method is a Multikey verification method.
*/
function isMultikey(verificationMethod) {
return verificationMethod.type === VERIFICATION_METHOD_TYPE_MULTIKEY;
}
/**
* Get a public jwk from a Multikey verification method.
*/
function getPublicJwkFromMultikey(verificationMethod) {
if (!verificationMethod.publicKeyMultibase) throw new CredoError(`Missing publicKeyMultibase on verification method with type ${VERIFICATION_METHOD_TYPE_MULTIKEY}`);
return PublicJwk.fromFingerprint(verificationMethod.publicKeyMultibase);
}
//#endregion
export { VERIFICATION_METHOD_TYPE_MULTIKEY, getMultikey, getPublicJwkFromMultikey, isMultikey };
//# sourceMappingURL=Multikey.mjs.map