UNPKG

@gleif-it/did-webs-ts

Version:
19 lines (18 loc) 900 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.computeXAndYForSecp256k1 = void 0; const secp = require("@noble/secp256k1"); const base64UrlToBytes_js_1 = require("../conversions/base64UrlToBytes.js"); const bytesToBase64Url_js_1 = require("../conversions/bytesToBase64Url.js"); const computeXAndYForSecp256k1 = (compressedKey) => { const bytes = (0, base64UrlToBytes_js_1.base64UrlToBytes)(compressedKey); const hexKey = secp.etc.bytesToHex(bytes); const point = secp.ProjectivePoint.fromHex(hexKey); // Decompresses the point internally const rawX = secp.etc.numberToBytesBE(point.x); const rawY = secp.etc.numberToBytesBE(point.y); return { x: (0, bytesToBase64Url_js_1.bytesToBase64Url)(rawX), y: (0, bytesToBase64Url_js_1.bytesToBase64Url)(rawY), }; }; exports.computeXAndYForSecp256k1 = computeXAndYForSecp256k1;