{"version":3,"file":"X25519PublicJwk.mjs","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/okp/X25519PublicJwk.ts"],"sourcesContent":["import { KnownJwaKeyAgreementAlgorithms, type KnownJwaSignatureAlgorithm } from '../../jwa'\nimport type { PublicJwkType } from '../PublicJwk'\nimport type { KmsJwkPublicOkp } from './okpJwk'\nimport { okpPublicJwkToPublicKey, okpPublicKeyToPublicJwk } from './okpPublicKey'\n\ntype Jwk = KmsJwkPublicOkp & { crv: 'X25519' }\n\nexport class X25519PublicJwk implements PublicJwkType<Jwk> {\n  public static supportedEncryptionKeyAgreementAlgorithms = [KnownJwaKeyAgreementAlgorithms.ECDH_HSALSA20]\n  public static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[] = []\n  public static multicodecPrefix = 236\n\n  public supportedEncryptionKeyAgreementAlgorithms = X25519PublicJwk.supportedEncryptionKeyAgreementAlgorithms\n  public supportedSignatureAlgorithms = X25519PublicJwk.supportedSignatureAlgorithms\n  public multicodecPrefix = X25519PublicJwk.multicodecPrefix\n\n  public constructor(public readonly jwk: Jwk) {}\n\n  public get publicKey() {\n    return {\n      crv: this.jwk.crv,\n      kty: this.jwk.kty,\n      publicKey: okpPublicJwkToPublicKey(this.jwk),\n    }\n  }\n\n  /**\n   * Not supported for X25519\n   */\n  public get compressedPublicKey() {\n    return null\n  }\n\n  public get multicodec() {\n    return okpPublicJwkToPublicKey(this.jwk)\n  }\n\n  public static fromPublicKey(publicKey: Uint8Array) {\n    const jwk = okpPublicKeyToPublicJwk(publicKey, 'X25519')\n    return new X25519PublicJwk(jwk)\n  }\n\n  public static fromMulticodec(multicodec: Uint8Array) {\n    const jwk = okpPublicKeyToPublicJwk(multicodec, 'X25519')\n    return new X25519PublicJwk(jwk)\n  }\n}\n"],"mappings":";;;AAOA,IAAa,kBAAb,MAAa,gBAA8C;CASzD,YAAmB,KAA0B;EAAV,KAAA,MAAA;EAJnC,KAAO,4CAA4C,gBAAgB;EACnE,KAAO,+BAA+B,gBAAgB;EACtD,KAAO,mBAAmB,gBAAgB;CAEI;CAE9C,IAAW,YAAY;EACrB,OAAO;GACL,KAAK,KAAK,IAAI;GACd,KAAK,KAAK,IAAI;GACd,WAAW,wBAAwB,KAAK,GAAG;EAC7C;CACF;;;;CAKA,IAAW,sBAAsB;EAC/B,OAAO;CACT;CAEA,IAAW,aAAa;EACtB,OAAO,wBAAwB,KAAK,GAAG;CACzC;CAEA,OAAc,cAAc,WAAuB;EACjD,MAAM,MAAM,wBAAwB,WAAW,QAAQ;EACvD,OAAO,IAAI,gBAAgB,GAAG;CAChC;CAEA,OAAc,eAAe,YAAwB;EACnD,MAAM,MAAM,wBAAwB,YAAY,QAAQ;EACxD,OAAO,IAAI,gBAAgB,GAAG;CAChC;AACF;AAtCE,gBAAc,4CAA4C,CAAC,+BAA+B,aAAa;AACvG,gBAAc,+BAA6D,CAAC;AAC5E,gBAAc,mBAAmB"}