UNPKG

@beraji/wallet-sdk

Version:

Beraji: Distributed Secret Sharing.

26 lines 867 B
"use strict"; 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