{"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;CACpC,OAAO,MAAM,KAAK,KAAK;AACzB;AAEA,SAAgB,eAAe,KAAa;CAC1C,IAAI,SAAS,GAAG,GAAG;EACjB,MAAM,YAAY,OAAO,QAAQ,GAAG,CAAC,CAAC,UAAU;EAChD,IAAI,UAAU,QAAQ,SAAS,UAAU,QAAQ,WAC/C,MAAM,IAAI,WAAW,mCAAmC;EAI1D,OADwB,kBAAkB,SAAS,UAAU,SACxC;CACvB;CAEA,OAAO;AACT;AAEA,SAAgB,eAAe,QAAgB;CAC7C,IAAI,SAAS,MAAM,GAAG,OAAO;CAE7B,MAAM,aAAa,kBAAkB,MAAM;CAE3C,OAAO,IADY,OAAO,UACd,CAAC,CAAC;AAChB;AAEA,SAAgB,yBAAyB,KAAa;CACpD,MAAM,SAAS,OAAO,QAAQ,GAAG;CACjC,IAAI,OAAO,UAAU,GAAG,gBAAgB,GACtC,OAAO,OAAO;CAGhB,MAAM,IAAI,WACR,+DAA+D,OAAO,UAAU,yBAClF;AACF;AAEA,SAAgB,kBAAkB,QAAgB;CAMhD,OALmB,UAAU,cAAc;EACzC,KAAK;EACL,KAAK;EACL,WAAW,kBAAkB,WAAW,MAAM;CAChD,CACgB;AAClB"}