{"version":3,"file":"EcdsaSecp256k1VerificationKey2019.mjs","names":[],"sources":["../../../../../src/modules/dids/domain/verificationMethod/EcdsaSecp256k1VerificationKey2019.ts"],"sourcesContent":["import { CredoError } from '../../../../error'\nimport { TypedArrayEncoder } from '../../../../utils'\nimport { PublicJwk, Secp256k1PublicJwk } from '../../../kms'\n\nimport { VerificationMethod } from './VerificationMethod'\n\nexport const VERIFICATION_METHOD_TYPE_ECDSA_SECP256K1_VERIFICATION_KEY_2019 = 'EcdsaSecp256k1VerificationKey2019'\n\ntype EcdsaSecp256k1VerificationKey2019 = VerificationMethod & {\n  type: typeof VERIFICATION_METHOD_TYPE_ECDSA_SECP256K1_VERIFICATION_KEY_2019\n}\n\n/**\n * Get a EcdsaSecp256k1VerificationKey2019 verification method.\n */\nexport function getEcdsaSecp256k1VerificationKey2019({\n  publicJwk,\n  id,\n  controller,\n}: {\n  id: string\n  publicJwk: PublicJwk<Secp256k1PublicJwk>\n  controller: string\n}) {\n  return new VerificationMethod({\n    id,\n    type: VERIFICATION_METHOD_TYPE_ECDSA_SECP256K1_VERIFICATION_KEY_2019,\n    controller,\n    publicKeyBase58: TypedArrayEncoder.toBase58(publicJwk.publicKey.publicKey),\n  })\n}\n\n/**\n * Check whether a verification method is a EcdsaSecp256k1VerificationKey2019 verification method.\n */\nexport function isEcdsaSecp256k1VerificationKey2019(\n  verificationMethod: VerificationMethod\n): verificationMethod is EcdsaSecp256k1VerificationKey2019 {\n  return verificationMethod.type === VERIFICATION_METHOD_TYPE_ECDSA_SECP256K1_VERIFICATION_KEY_2019\n}\n\n/**\n * Get a public jwk from a EcdsaSecp256k1VerificationKey2019 verification method.\n */\nexport function getPublicJwkFromEcdsaSecp256k1VerificationKey2019(\n  verificationMethod: EcdsaSecp256k1VerificationKey2019\n) {\n  if (!verificationMethod.publicKeyBase58) {\n    throw new CredoError('verification method is missing publicKeyBase58')\n  }\n\n  return PublicJwk.fromPublicKey({\n    kty: 'EC',\n    crv: 'secp256k1',\n    publicKey: TypedArrayEncoder.fromBase58(verificationMethod.publicKeyBase58),\n  })\n}\n"],"mappings":";;;;;;;;;;;AAMA,MAAa,iEAAiE;;;;AAS9E,SAAgB,qCAAqC,EACnD,WACA,IACA,cAKC;AACD,QAAO,IAAI,mBAAmB;EAC5B;EACA,MAAM;EACN;EACA,iBAAiB,kBAAkB,SAAS,UAAU,UAAU,UAAU;EAC3E,CAAC;;;;;AAMJ,SAAgB,oCACd,oBACyD;AACzD,QAAO,mBAAmB,SAAS;;;;;AAMrC,SAAgB,kDACd,oBACA;AACA,KAAI,CAAC,mBAAmB,gBACtB,OAAM,IAAI,WAAW,iDAAiD;AAGxE,QAAO,UAAU,cAAc;EAC7B,KAAK;EACL,KAAK;EACL,WAAW,kBAAkB,WAAW,mBAAmB,gBAAgB;EAC5E,CAAC"}