{"version":3,"file":"helpers.mjs","names":[],"sources":["../../../src/modules/dids/helpers.ts"],"sourcesContent":["import { CredoError } from '../../error'\nimport { isDid, TypedArrayEncoder } from '../../utils'\nimport { Ed25519PublicJwk, PublicJwk } from '../kms'\n\nimport { DidKey } from './methods/key/DidKey'\n\nexport function isDidKey(key: string) {\n  return isDid(key, 'key')\n}\n\nexport function didKeyToVerkey(key: string) {\n  if (isDidKey(key)) {\n    const publicKey = DidKey.fromDid(key).publicJwk.publicKey\n    if (publicKey.kty !== 'OKP' || publicKey.crv !== 'Ed25519') {\n      throw new CredoError('Expected OKP key with crv Ed25519')\n    }\n\n    const publicKeyBase58 = TypedArrayEncoder.toBase58(publicKey.publicKey)\n    return publicKeyBase58\n  }\n\n  return key\n}\n\nexport function verkeyToDidKey(verkey: string) {\n  if (isDidKey(verkey)) return verkey\n\n  const ed25519Key = verkeyToPublicJwk(verkey)\n  const didKey = new DidKey(ed25519Key)\n  return didKey.did\n}\n\nexport function didKeyToEd25519PublicJwk(key: string) {\n  const didKey = DidKey.fromDid(key)\n  if (didKey.publicJwk.is(Ed25519PublicJwk)) {\n    return didKey.publicJwk as PublicJwk<Ed25519PublicJwk>\n  }\n\n  throw new CredoError(\n    `Expected public jwk to have kty OKP with crv Ed25519, found ${didKey.publicJwk.jwkTypeHumanDescription}`\n  )\n}\n\nexport function verkeyToPublicJwk(verkey: string) {\n  const ed25519Key = PublicJwk.fromPublicKey({\n    kty: 'OKP',\n    crv: 'Ed25519',\n    publicKey: TypedArrayEncoder.fromBase58(verkey),\n  }) as PublicJwk<Ed25519PublicJwk>\n  return ed25519Key\n}\n"],"mappings":";;;;;;;;;;;;;AAMA,SAAgB,SAAS,KAAa;AACpC,QAAO,MAAM,KAAK,MAAM;;AAG1B,SAAgB,eAAe,KAAa;AAC1C,KAAI,SAAS,IAAI,EAAE;EACjB,MAAM,YAAY,OAAO,QAAQ,IAAI,CAAC,UAAU;AAChD,MAAI,UAAU,QAAQ,SAAS,UAAU,QAAQ,UAC/C,OAAM,IAAI,WAAW,oCAAoC;AAI3D,SADwB,kBAAkB,SAAS,UAAU,UAAU;;AAIzE,QAAO;;AAGT,SAAgB,eAAe,QAAgB;AAC7C,KAAI,SAAS,OAAO,CAAE,QAAO;AAI7B,QADe,IAAI,OADA,kBAAkB,OAAO,CACP,CACvB;;AAGhB,SAAgB,yBAAyB,KAAa;CACpD,MAAM,SAAS,OAAO,QAAQ,IAAI;AAClC,KAAI,OAAO,UAAU,GAAG,iBAAiB,CACvC,QAAO,OAAO;AAGhB,OAAM,IAAI,WACR,+DAA+D,OAAO,UAAU,0BACjF;;AAGH,SAAgB,kBAAkB,QAAgB;AAMhD,QALmB,UAAU,cAAc;EACzC,KAAK;EACL,KAAK;EACL,WAAW,kBAAkB,WAAW,OAAO;EAChD,CAAC"}