@gleif-it/did-webs-ts
Version:
did-webs typescript library
19 lines (18 loc) • 900 B
JavaScript
;
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;