@bitgo/bls
Version:
Implementation of bls signature verification for ethereum 2.0
31 lines (25 loc) • 1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.padLeft = padLeft;
exports.EMPTY_SIGNATURE = exports.EMPTY_PUBLIC_KEY = void 0;
var _assert = _interopRequireDefault(require("assert"));
var _constants = require("../constants");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Pads byte array with zeroes on left side up to desired length.
* Throws if source is larger than desired result.
* @param source
* @param length
*/
function padLeft(source, length) {
(0, _assert.default)(source.length <= length, "Given array must be smaller or equal to desired array size");
const result = Buffer.alloc(length, 0);
result.set(source, length - source.length);
return result;
}
const EMPTY_PUBLIC_KEY = Buffer.alloc(_constants.PUBLIC_KEY_LENGTH);
exports.EMPTY_PUBLIC_KEY = EMPTY_PUBLIC_KEY;
const EMPTY_SIGNATURE = Buffer.alloc(_constants.SIGNATURE_LENGTH);
exports.EMPTY_SIGNATURE = EMPTY_SIGNATURE;