UNPKG

1.07 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.signatureRsvToVrs = exports.signatureVrsToRsv = exports.parseRecoverableSignatureVrs = void 0;
4const utils_1 = require("./utils");
5const COORDINATE_BYTES = 32;
6function parseRecoverableSignatureVrs(signature) {
7 if (signature.length < COORDINATE_BYTES * 2 * 2 + 1) {
8 throw new Error('Invalid signature');
9 }
10 const recoveryIdHex = signature.slice(0, 2);
11 const r = signature.slice(2, 2 + COORDINATE_BYTES * 2);
12 const s = signature.slice(2 + COORDINATE_BYTES * 2);
13 return {
14 recoveryId: (0, utils_1.hexToInt)(recoveryIdHex),
15 r,
16 s,
17 };
18}
19exports.parseRecoverableSignatureVrs = parseRecoverableSignatureVrs;
20function signatureVrsToRsv(signature) {
21 return signature.slice(2) + signature.slice(0, 2);
22}
23exports.signatureVrsToRsv = signatureVrsToRsv;
24function signatureRsvToVrs(signature) {
25 return signature.slice(-2) + signature.slice(0, -2);
26}
27exports.signatureRsvToVrs = signatureRsvToVrs;
28//# sourceMappingURL=signatures.js.map
\No newline at end of file