@beraji/wallet-sdk
Version:
Beraji: Distributed Secret Sharing.
26 lines • 867 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.calcPolynomial = exports.equal = void 0;
const utils_1 = require("@noble/hashes/utils");
const equal = (arr) => {
if (!arr)
return true;
const [a, ...rest] = arr;
const index = rest.findIndex((b) => (0, utils_1.bytesToHex)(a) !== (0, utils_1.bytesToHex)(b));
return index < 0;
};
exports.equal = equal;
const calcPolynomial = (x, coefficients, ff) => {
const _x = ff.encode(x);
const _coefficients = coefficients.map((co) => ff.encode(co));
let _cache = ff.ONE;
let _sum = ff.ZERO;
_coefficients.forEach((_co, i) => {
if (i > 0)
_cache = _cache.redMul(_x);
_sum = _sum.redAdd(_cache.redMul(_co));
});
return ff.decode(_sum);
};
exports.calcPolynomial = calcPolynomial;
//# sourceMappingURL=utils.js.map