@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
1 lines • 2.58 kB
Source Map (JSON)
{"version":3,"file":"Ed25519VerificationKey2020.mjs","names":[],"sources":["../../../../../src/modules/dids/domain/verificationMethod/Ed25519VerificationKey2020.ts"],"sourcesContent":["import { CredoError } from '../../../../error'\nimport { Ed25519PublicJwk, getJwkHumanDescription, PublicJwk } from '../../../kms'\n\nimport { VerificationMethod } from './VerificationMethod'\n\nexport const VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2020 = 'Ed25519VerificationKey2020'\ntype Ed25519VerificationKey2020 = VerificationMethod & {\n type: typeof VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2020\n}\n\n/**\n * Get a Ed25519VerificationKey2020 verification method.\n */\nexport function getEd25519VerificationKey2020({\n publicJwk,\n id,\n controller,\n}: {\n id: string\n publicJwk: PublicJwk<Ed25519PublicJwk>\n controller: string\n}) {\n return new VerificationMethod({\n id,\n type: VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2020,\n controller,\n publicKeyMultibase: publicJwk.fingerprint,\n })\n}\n\n/**\n * Check whether a verification method is a Ed25519VerificationKey2020 verification method.\n */\nexport function isEd25519VerificationKey2020(\n verificationMethod: VerificationMethod\n): verificationMethod is Ed25519VerificationKey2020 {\n return verificationMethod.type === VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2020\n}\n\n/**\n * Get a key from a Ed25519VerificationKey2020 verification method.\n */\nexport function getPublicJwkFromEd25519VerificationKey2020(verificationMethod: Ed25519VerificationKey2020) {\n if (!verificationMethod.publicKeyMultibase) {\n throw new CredoError('verification method is missing publicKeyMultibase')\n }\n\n const publicJwk = PublicJwk.fromFingerprint(verificationMethod.publicKeyMultibase)\n const publicKey = publicJwk.publicKey\n\n if (publicKey.kty !== 'OKP' || publicKey.crv !== 'Ed25519') {\n throw new CredoError(\n `Verification method ${verificationMethod.type} is for unexpected ${getJwkHumanDescription(publicJwk.toJson())}.`\n )\n }\n\n return publicJwk\n}\n"],"mappings":";;;;;;;AAKA,MAAa,yDAAyD;;;;AAQtE,SAAgB,8BAA8B,EAC5C,WACA,IACA,cAKC;CACD,OAAO,IAAI,mBAAmB;EAC5B;EACA,MAAM;EACN;EACA,oBAAoB,UAAU;CAChC,CAAC;AACH;;;;AAKA,SAAgB,6BACd,oBACkD;CAClD,OAAO,mBAAmB,SAAS;AACrC;;;;AAKA,SAAgB,2CAA2C,oBAAgD;CACzG,IAAI,CAAC,mBAAmB,oBACtB,MAAM,IAAI,WAAW,mDAAmD;CAG1E,MAAM,YAAY,UAAU,gBAAgB,mBAAmB,kBAAkB;CACjF,MAAM,YAAY,UAAU;CAE5B,IAAI,UAAU,QAAQ,SAAS,UAAU,QAAQ,WAC/C,MAAM,IAAI,WACR,uBAAuB,mBAAmB,KAAK,qBAAqB,uBAAuB,UAAU,OAAO,CAAC,EAAE,EACjH;CAGF,OAAO;AACT"}