PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/sdk-lib-mpc/dist/src/curves
Просмотр файла: util.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.pathToIndices = pathToIndices;
exports.auditEddsaPrivateKey = auditEddsaPrivateKey;
exports.auditEcdsaPrivateKey = auditEcdsaPrivateKey;
function pathToIndices(path) {
return path
.replace(/^m?\//, '')
.split('/')
.map((index) => parseInt(index, 10));
}
function auditEddsaPrivateKey(privateKey, commonKeychain) {
// For TSS validation, we would need GPG private key for full implementation
// This is a simplified validation of key format
if (commonKeychain.length !== 128) {
throw new Error('Invalid common keychain');
}
const parsedKey = JSON.parse(privateKey);
if ('uShare' in parsedKey) {
// If the key is in JSON format, we need to check the private key length
const privateKeyLength = parsedKey.uShare.seed.length + parsedKey.uShare.chaincode.length;
if (privateKeyLength !== 128) {
throw new Error('Invalid private key');
}
}
else {
// If the key is not in JSON format, we need to check the length directly
if (privateKey.length !== 128) {
throw new Error('Invalid private key');
}
}
}
function auditEcdsaPrivateKey(privateKey, commonKeychain) {
if (commonKeychain.length !== 130 && commonKeychain.length !== 0) {
throw new Error('Invalid common keychain');
}
// DKLs key chains do not have a fixed length but we know for sure they are greater than 192 in length
if (privateKey.length !== 128 && privateKey.length !== 192 && privateKey.length <= 192) {
throw new Error('Invalid private key');
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHNDQUtDO0FBRUQsb0RBb0JDO0FBRUQsb0RBU0M7QUF0Q0QsU0FBZ0IsYUFBYSxDQUFDLElBQVk7SUFDeEMsT0FBTyxJQUFJO1NBQ1IsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7U0FDcEIsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxTQUFnQixvQkFBb0IsQ0FBQyxVQUFrQixFQUFFLGNBQXNCO0lBQzdFLDRFQUE0RTtJQUM1RSxnREFBZ0Q7SUFDaEQsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxJQUFJLFFBQVEsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUMxQix3RUFBd0U7UUFDeEUsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQzFGLElBQUksZ0JBQWdCLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO1NBQU0sQ0FBQztRQUNOLHlFQUF5RTtRQUN6RSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLG9CQUFvQixDQUFDLFVBQWtCLEVBQUUsY0FBc0I7SUFDN0UsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2pFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsc0dBQXNHO0lBQ3RHLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN2RixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDekMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gcGF0aFRvSW5kaWNlcyhwYXRoOiBzdHJpbmcpOiBudW1iZXJbXSB7XG4gIHJldHVybiBwYXRoXG4gICAgLnJlcGxhY2UoL15tP1xcLy8sICcnKVxuICAgIC5zcGxpdCgnLycpXG4gICAgLm1hcCgoaW5kZXgpID0+IHBhcnNlSW50KGluZGV4LCAxMCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXVkaXRFZGRzYVByaXZhdGVLZXkocHJpdmF0ZUtleTogc3RyaW5nLCBjb21tb25LZXljaGFpbjogc3RyaW5nKTogdm9pZCB7XG4gIC8vIEZvciBUU1MgdmFsaWRhdGlvbiwgd2Ugd291bGQgbmVlZCBHUEcgcHJpdmF0ZSBrZXkgZm9yIGZ1bGwgaW1wbGVtZW50YXRpb25cbiAgLy8gVGhpcyBpcyBhIHNpbXBsaWZpZWQgdmFsaWRhdGlvbiBvZiBrZXkgZm9ybWF0XG4gIGlmIChjb21tb25LZXljaGFpbi5sZW5ndGggIT09IDEyOCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjb21tb24ga2V5Y2hhaW4nKTtcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZEtleSA9IEpTT04ucGFyc2UocHJpdmF0ZUtleSk7XG4gIGlmICgndVNoYXJlJyBpbiBwYXJzZWRLZXkpIHtcbiAgICAvLyBJZiB0aGUga2V5IGlzIGluIEpTT04gZm9ybWF0LCB3ZSBuZWVkIHRvIGNoZWNrIHRoZSBwcml2YXRlIGtleSBsZW5ndGhcbiAgICBjb25zdCBwcml2YXRlS2V5TGVuZ3RoID0gcGFyc2VkS2V5LnVTaGFyZS5zZWVkLmxlbmd0aCArIHBhcnNlZEtleS51U2hhcmUuY2hhaW5jb2RlLmxlbmd0aDtcbiAgICBpZiAocHJpdmF0ZUtleUxlbmd0aCAhPT0gMTI4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcHJpdmF0ZSBrZXknKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgdGhlIGtleSBpcyBub3QgaW4gSlNPTiBmb3JtYXQsIHdlIG5lZWQgdG8gY2hlY2sgdGhlIGxlbmd0aCBkaXJlY3RseVxuICAgIGlmIChwcml2YXRlS2V5Lmxlbmd0aCAhPT0gMTI4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcHJpdmF0ZSBrZXknKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF1ZGl0RWNkc2FQcml2YXRlS2V5KHByaXZhdGVLZXk6IHN0cmluZywgY29tbW9uS2V5Y2hhaW46IHN0cmluZyk6IHZvaWQge1xuICBpZiAoY29tbW9uS2V5Y2hhaW4ubGVuZ3RoICE9PSAxMzAgJiYgY29tbW9uS2V5Y2hhaW4ubGVuZ3RoICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNvbW1vbiBrZXljaGFpbicpO1xuICB9XG5cbiAgLy8gREtMcyBrZXkgY2hhaW5zIGRvIG5vdCBoYXZlIGEgZml4ZWQgbGVuZ3RoIGJ1dCB3ZSBrbm93IGZvciBzdXJlIHRoZXkgYXJlIGdyZWF0ZXIgdGhhbiAxOTIgaW4gbGVuZ3RoXG4gIGlmIChwcml2YXRlS2V5Lmxlbmd0aCAhPT0gMTI4ICYmIHByaXZhdGVLZXkubGVuZ3RoICE9PSAxOTIgJiYgcHJpdmF0ZUtleS5sZW5ndGggPD0gMTkyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHByaXZhdGUga2V5Jyk7XG4gIH1cbn1cbiJdfQ==Выполнить команду
Для локальной разработки. Не используйте в интернете!