{"version":3,"file":"Ed25519VerificationKey2018.mjs","names":[],"sources":["../../../../../src/modules/dids/domain/verificationMethod/Ed25519VerificationKey2018.ts"],"sourcesContent":["import { CredoError } from '../../../../error'\nimport { TypedArrayEncoder } from '../../../../utils'\nimport { Ed25519PublicJwk, PublicJwk } from '../../../kms'\n\nimport { VerificationMethod } from './VerificationMethod'\n\nexport const VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2018 = 'Ed25519VerificationKey2018'\ntype Ed25519VerificationKey2018 = VerificationMethod & {\n  type: typeof VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2018\n}\n\n/**\n * Get a Ed25519VerificationKey2018 verification method.\n */\nexport function getEd25519VerificationKey2018({\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_2018,\n    controller,\n    publicKeyBase58: TypedArrayEncoder.toBase58(publicJwk.publicKey.publicKey),\n  })\n}\n\n/**\n * Check whether a verification method is a Ed25519VerificationKey2018 verification method.\n */\nexport function isEd25519VerificationKey2018(\n  verificationMethod: VerificationMethod\n): verificationMethod is Ed25519VerificationKey2018 {\n  return verificationMethod.type === VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2018\n}\n\n/**\n * Get a key from a Ed25519VerificationKey2018 verification method.\n */\n\n/**\n * Get a public jwk from a Ed25519VerificationKey2018 verification method.\n */\nexport function getPublicJwkFromEd25519VerificationKey2018(verificationMethod: Ed25519VerificationKey2018) {\n  if (!verificationMethod.publicKeyBase58) {\n    throw new CredoError('verification method is missing publicKeyBase58')\n  }\n\n  return PublicJwk.fromPublicKey({\n    kty: 'OKP',\n    crv: 'Ed25519',\n    publicKey: TypedArrayEncoder.fromBase58(verificationMethod.publicKeyBase58),\n  })\n}\n"],"mappings":";;;;;;;;;;;AAMA,MAAa,yDAAyD;;;;AAQtE,SAAgB,8BAA8B,EAC5C,WACA,IACA,cAKC;AACD,QAAO,IAAI,mBAAmB;EAC5B;EACA,MAAM;EACN;EACA,iBAAiB,kBAAkB,SAAS,UAAU,UAAU,UAAU;EAC3E,CAAC;;;;;AAMJ,SAAgB,6BACd,oBACkD;AAClD,QAAO,mBAAmB,SAAS;;;;;;;;AAUrC,SAAgB,2CAA2C,oBAAgD;AACzG,KAAI,CAAC,mBAAmB,gBACtB,OAAM,IAAI,WAAW,iDAAiD;AAGxE,QAAO,UAAU,cAAc;EAC7B,KAAK;EACL,KAAK;EACL,WAAW,kBAAkB,WAAW,mBAAmB,gBAAgB;EAC5E,CAAC"}