PHP WebShell
Текущая директория: /opt/BitGoJS/modules/sdk-core/dist/src/account-lib/mpc
Просмотр файла: util.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getPaillierPublicKey = exports.clamp = exports.bigIntToBufferBE = exports.bigIntFromBufferBE = exports.bigIntFromU8ABE = exports.bigIntToBufferLE = exports.bigIntFromBufferLE = void 0;
exports.combineRound4DklsDsgMessages = combineRound4DklsDsgMessages;
const sdk_lib_mpc_1 = require("@bitgo/sdk-lib-mpc");
Object.defineProperty(exports, "bigIntFromBufferLE", { enumerable: true, get: function () { return sdk_lib_mpc_1.bigIntFromBufferLE; } });
Object.defineProperty(exports, "bigIntToBufferLE", { enumerable: true, get: function () { return sdk_lib_mpc_1.bigIntToBufferLE; } });
Object.defineProperty(exports, "bigIntFromU8ABE", { enumerable: true, get: function () { return sdk_lib_mpc_1.bigIntFromU8ABE; } });
Object.defineProperty(exports, "bigIntFromBufferBE", { enumerable: true, get: function () { return sdk_lib_mpc_1.bigIntFromBufferBE; } });
Object.defineProperty(exports, "bigIntToBufferBE", { enumerable: true, get: function () { return sdk_lib_mpc_1.bigIntToBufferBE; } });
Object.defineProperty(exports, "clamp", { enumerable: true, get: function () { return sdk_lib_mpc_1.clamp; } });
Object.defineProperty(exports, "getPaillierPublicKey", { enumerable: true, get: function () { return sdk_lib_mpc_1.getPaillierPublicKey; } });
/**
* Combines serialized partial signatures from parties participating in DSG.
* @param round4DsgMessages - round 4 serialized broadcast messages payloads from participating parties
* @returns {DklsTypes.SerializedDklsSignature} - serialized final signature
*/
function combineRound4DklsDsgMessages(round4DsgMessages) {
const round4DsgMessagesDeser = round4DsgMessages.map(sdk_lib_mpc_1.DklsTypes.deserializeBroadcastMessage);
const signatureR = round4DsgMessagesDeser.find((m) => m.signatureR !== undefined)?.signatureR;
if (!signatureR) {
throw Error('None of the round 4 Dkls messages contain a Signature.R value.');
}
const signatureDeser = sdk_lib_mpc_1.DklsUtils.combinePartialSignatures(round4DsgMessagesDeser.map((m) => m.payload), Buffer.from(signatureR).toString('hex'));
return {
R: Buffer.from(signatureDeser.R).toString('hex'),
S: Buffer.from(signatureDeser.S).toString('hex'),
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9tcGMvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFpQkEsb0VBZ0JDO0FBakNELG9EQVU0QjtBQTZCMUIsbUdBdENBLGdDQUFrQixPQXNDQTtBQUNsQixpR0F0Q0EsOEJBQWdCLE9Bc0NBO0FBQ2hCLGdHQXRDQSw2QkFBZSxPQXNDQTtBQUNmLG1HQXRDQSxnQ0FBa0IsT0FzQ0E7QUFDbEIsaUdBdENBLDhCQUFnQixPQXNDQTtBQUNoQixzRkF0Q0EsbUJBQUssT0FzQ0E7QUFDTCxxR0F0Q0Esa0NBQW9CLE9Bc0NBO0FBakN0Qjs7OztHQUlHO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQzFDLGlCQUF5RDtJQUV6RCxNQUFNLHNCQUFzQixHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyx1QkFBUyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDNUYsTUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUM5RixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEIsTUFBTSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUcsdUJBQVMsQ0FBQyx3QkFBd0IsQ0FDdkQsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQzVDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUN4QyxDQUFDO0lBQ0YsT0FBTztRQUNMLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ2hELENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0tBQ2pELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYmlnSW50RnJvbUJ1ZmZlckxFLFxuICBiaWdJbnRUb0J1ZmZlckxFLFxuICBiaWdJbnRGcm9tVThBQkUsXG4gIGJpZ0ludEZyb21CdWZmZXJCRSxcbiAgYmlnSW50VG9CdWZmZXJCRSxcbiAgY2xhbXAsXG4gIGdldFBhaWxsaWVyUHVibGljS2V5LFxuICBEa2xzVXRpbHMsXG4gIERrbHNUeXBlcyxcbn0gZnJvbSAnQGJpdGdvL3Nkay1saWItbXBjJztcblxuLyoqXG4gKiBDb21iaW5lcyBzZXJpYWxpemVkIHBhcnRpYWwgc2lnbmF0dXJlcyBmcm9tIHBhcnRpZXMgcGFydGljaXBhdGluZyBpbiBEU0cuXG4gKiBAcGFyYW0gcm91bmQ0RHNnTWVzc2FnZXMgLSByb3VuZCA0IHNlcmlhbGl6ZWQgYnJvYWRjYXN0IG1lc3NhZ2VzIHBheWxvYWRzIGZyb20gcGFydGljaXBhdGluZyBwYXJ0aWVzXG4gKiBAcmV0dXJucyB7RGtsc1R5cGVzLlNlcmlhbGl6ZWREa2xzU2lnbmF0dXJlfSAtIHNlcmlhbGl6ZWQgZmluYWwgc2lnbmF0dXJlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lUm91bmQ0RGtsc0RzZ01lc3NhZ2VzKFxuICByb3VuZDREc2dNZXNzYWdlczogRGtsc1R5cGVzLlNlcmlhbGl6ZWRCcm9hZGNhc3RNZXNzYWdlW11cbik6IERrbHNUeXBlcy5TZXJpYWxpemVkRGtsc1NpZ25hdHVyZSB7XG4gIGNvbnN0IHJvdW5kNERzZ01lc3NhZ2VzRGVzZXIgPSByb3VuZDREc2dNZXNzYWdlcy5tYXAoRGtsc1R5cGVzLmRlc2VyaWFsaXplQnJvYWRjYXN0TWVzc2FnZSk7XG4gIGNvbnN0IHNpZ25hdHVyZVIgPSByb3VuZDREc2dNZXNzYWdlc0Rlc2VyLmZpbmQoKG0pID0+IG0uc2lnbmF0dXJlUiAhPT0gdW5kZWZpbmVkKT8uc2lnbmF0dXJlUjtcbiAgaWYgKCFzaWduYXR1cmVSKSB7XG4gICAgdGhyb3cgRXJyb3IoJ05vbmUgb2YgdGhlIHJvdW5kIDQgRGtscyBtZXNzYWdlcyBjb250YWluIGEgU2lnbmF0dXJlLlIgdmFsdWUuJyk7XG4gIH1cbiAgY29uc3Qgc2lnbmF0dXJlRGVzZXIgPSBEa2xzVXRpbHMuY29tYmluZVBhcnRpYWxTaWduYXR1cmVzKFxuICAgIHJvdW5kNERzZ01lc3NhZ2VzRGVzZXIubWFwKChtKSA9PiBtLnBheWxvYWQpLFxuICAgIEJ1ZmZlci5mcm9tKHNpZ25hdHVyZVIpLnRvU3RyaW5nKCdoZXgnKVxuICApO1xuICByZXR1cm4ge1xuICAgIFI6IEJ1ZmZlci5mcm9tKHNpZ25hdHVyZURlc2VyLlIpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICBTOiBCdWZmZXIuZnJvbShzaWduYXR1cmVEZXNlci5TKS50b1N0cmluZygnaGV4JyksXG4gIH07XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgLSB1c2UgZXhwb3J0ZWQgbWV0aG9kcyBmcm9tIEBiaXRnby9zZGstbGliLW1wYyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCB7XG4gIGJpZ0ludEZyb21CdWZmZXJMRSxcbiAgYmlnSW50VG9CdWZmZXJMRSxcbiAgYmlnSW50RnJvbVU4QUJFLFxuICBiaWdJbnRGcm9tQnVmZmVyQkUsXG4gIGJpZ0ludFRvQnVmZmVyQkUsXG4gIGNsYW1wLFxuICBnZXRQYWlsbGllclB1YmxpY0tleSxcbn07XG4iXX0=Выполнить команду
Для локальной разработки. Не используйте в интернете!