@credo-ts/core
Version:
<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1
1 lines • 2.68 kB
Source Map (JSON)
{"version":3,"file":"Secp256k1PublicJwk.mjs","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/Secp256k1PublicJwk.ts"],"sourcesContent":["import { KnownJwaKeyAgreementAlgorithms, type KnownJwaSignatureAlgorithm, KnownJwaSignatureAlgorithms } from '../../jwa'\nimport type { PublicJwkType } from '../PublicJwk'\nimport type { KmsJwkPublicEc } from './ecJwk'\nimport { ecPublicJwkToPublicKey, ecPublicKeyToPublicJwk } from './ecPublicKey'\n\ntype Jwk = KmsJwkPublicEc & { crv: 'secp256k1' }\n\nexport class Secp256k1PublicJwk implements PublicJwkType<Jwk> {\n public static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[] = [KnownJwaSignatureAlgorithms.ES256K]\n public static supportedEncryptionKeyAgreementAlgorithms = [KnownJwaKeyAgreementAlgorithms.ECDH_ES]\n public static multicodecPrefix = 231\n\n public supportedEncryptionKeyAgreementAlgorithms = Secp256k1PublicJwk.supportedEncryptionKeyAgreementAlgorithms\n public supportedSignatureAlgorithms = Secp256k1PublicJwk.supportedSignatureAlgorithms\n public multicodecPrefix = Secp256k1PublicJwk.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: ecPublicJwkToPublicKey(this.jwk),\n }\n }\n\n public get compressedPublicKey() {\n return {\n crv: this.jwk.crv,\n kty: this.jwk.kty,\n publicKey: ecPublicJwkToPublicKey(this.jwk, { compressed: true }),\n }\n }\n\n public get multicodec() {\n return ecPublicJwkToPublicKey(this.jwk, { compressed: true })\n }\n\n public static fromPublicKey(publicKey: Uint8Array) {\n const jwk = ecPublicKeyToPublicJwk(publicKey, 'secp256k1')\n return new Secp256k1PublicJwk(jwk)\n }\n\n public static fromMulticodec(multicodec: Uint8Array) {\n const jwk = ecPublicKeyToPublicJwk(multicodec, 'secp256k1')\n return new Secp256k1PublicJwk(jwk)\n }\n}\n"],"mappings":";;;AAOA,IAAa,qBAAb,MAAa,mBAAiD;CAS5D,YAAmB,KAA0B;EAAV,KAAA,MAAA;EAJnC,KAAO,4CAA4C,mBAAmB;EACtE,KAAO,+BAA+B,mBAAmB;EACzD,KAAO,mBAAmB,mBAAmB;CAEC;CAE9C,IAAW,YAAY;EACrB,OAAO;GACL,KAAK,KAAK,IAAI;GACd,KAAK,KAAK,IAAI;GACd,WAAW,uBAAuB,KAAK,GAAG;EAC5C;CACF;CAEA,IAAW,sBAAsB;EAC/B,OAAO;GACL,KAAK,KAAK,IAAI;GACd,KAAK,KAAK,IAAI;GACd,WAAW,uBAAuB,KAAK,KAAK,EAAE,YAAY,KAAK,CAAC;EAClE;CACF;CAEA,IAAW,aAAa;EACtB,OAAO,uBAAuB,KAAK,KAAK,EAAE,YAAY,KAAK,CAAC;CAC9D;CAEA,OAAc,cAAc,WAAuB;EACjD,MAAM,MAAM,uBAAuB,WAAW,WAAW;EACzD,OAAO,IAAI,mBAAmB,GAAG;CACnC;CAEA,OAAc,eAAe,YAAwB;EACnD,MAAM,MAAM,uBAAuB,YAAY,WAAW;EAC1D,OAAO,IAAI,mBAAmB,GAAG;CACnC;AACF;AAvCE,mBAAc,+BAA6D,CAAC,4BAA4B,MAAM;AAC9G,mBAAc,4CAA4C,CAAC,+BAA+B,OAAO;AACjG,mBAAc,mBAAmB"}