PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/utxo-core/dist/src
Просмотр файла: bip32utils.js
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.signMessage = signMessage;
exports.verifyMessage = verifyMessage;
const utxolib = __importStar(require("@bitgo/utxo-lib"));
const bitcoinMessage = __importStar(require("bitcoinjs-message"));
/**
* bip32-aware wrapper around bitcoin-message package
* @see {bitcoinMessage.sign}
*/
function signMessage(message, privateKey, network) {
if (!Buffer.isBuffer(privateKey)) {
privateKey = privateKey.privateKey;
if (!privateKey) {
throw new Error(`must provide privateKey`);
}
}
if (network === null || typeof network !== 'object' || typeof network.messagePrefix !== 'string') {
throw new Error(`invalid argument 'network'`);
}
const compressed = true;
return bitcoinMessage.sign(message, privateKey, compressed, network.messagePrefix);
}
/**
* bip32-aware wrapper around bitcoin-message package
* @see {bitcoinMessage.verify}
*/
function verifyMessage(message, publicKey, signature, network) {
if (!Buffer.isBuffer(publicKey)) {
publicKey = publicKey.publicKey;
}
if (network === null || typeof network !== 'object' || typeof network.messagePrefix !== 'string') {
throw new Error(`invalid argument 'network'`);
}
const address = utxolib.address.toBase58Check(utxolib.crypto.hash160(publicKey), utxolib.networks.bitcoin.pubKeyHash, utxolib.networks.bitcoin);
return bitcoinMessage.verify(message, address, signature, network.messagePrefix);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlwMzJ1dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaXAzMnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT0Esa0NBZ0JDO0FBTUQsc0NBbUJDO0FBaERELHlEQUEyQztBQUMzQyxrRUFBb0Q7QUFFcEQ7OztHQUdHO0FBQ0gsU0FBZ0IsV0FBVyxDQUN6QixPQUF3QixFQUN4QixVQUFtQyxFQUNuQyxPQUFrQztJQUVsQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQ2pDLFVBQVUsR0FBRyxVQUFVLENBQUMsVUFBb0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBQ0QsSUFBSSxPQUFPLEtBQUssSUFBSSxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxhQUFhLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDakcsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDeEIsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNyRixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsYUFBYSxDQUMzQixPQUF3QixFQUN4QixTQUFrQyxFQUNsQyxTQUFpQixFQUNqQixPQUFrQztJQUVsQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ2hDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxJQUFJLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLGFBQWEsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNqRyxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUMzQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFDakMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUNuQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FDekIsQ0FBQztJQUNGLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDbkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCAqIGFzIGJpdGNvaW5NZXNzYWdlIGZyb20gJ2JpdGNvaW5qcy1tZXNzYWdlJztcbmltcG9ydCB7IEJJUDMySW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbi8qKlxuICogYmlwMzItYXdhcmUgd3JhcHBlciBhcm91bmQgYml0Y29pbi1tZXNzYWdlIHBhY2thZ2VcbiAqIEBzZWUge2JpdGNvaW5NZXNzYWdlLnNpZ259XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaWduTWVzc2FnZShcbiAgbWVzc2FnZTogc3RyaW5nIHwgQnVmZmVyLFxuICBwcml2YXRlS2V5OiBCSVAzMkludGVyZmFjZSB8IEJ1ZmZlcixcbiAgbmV0d29yazogeyBtZXNzYWdlUHJlZml4OiBzdHJpbmcgfVxuKTogQnVmZmVyIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIocHJpdmF0ZUtleSkpIHtcbiAgICBwcml2YXRlS2V5ID0gcHJpdmF0ZUtleS5wcml2YXRlS2V5IGFzIEJ1ZmZlcjtcbiAgICBpZiAoIXByaXZhdGVLZXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbXVzdCBwcm92aWRlIHByaXZhdGVLZXlgKTtcbiAgICB9XG4gIH1cbiAgaWYgKG5ldHdvcmsgPT09IG51bGwgfHwgdHlwZW9mIG5ldHdvcmsgIT09ICdvYmplY3QnIHx8IHR5cGVvZiBuZXR3b3JrLm1lc3NhZ2VQcmVmaXggIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIGFyZ3VtZW50ICduZXR3b3JrJ2ApO1xuICB9XG4gIGNvbnN0IGNvbXByZXNzZWQgPSB0cnVlO1xuICByZXR1cm4gYml0Y29pbk1lc3NhZ2Uuc2lnbihtZXNzYWdlLCBwcml2YXRlS2V5LCBjb21wcmVzc2VkLCBuZXR3b3JrLm1lc3NhZ2VQcmVmaXgpO1xufVxuXG4vKipcbiAqIGJpcDMyLWF3YXJlIHdyYXBwZXIgYXJvdW5kIGJpdGNvaW4tbWVzc2FnZSBwYWNrYWdlXG4gKiBAc2VlIHtiaXRjb2luTWVzc2FnZS52ZXJpZnl9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlNZXNzYWdlKFxuICBtZXNzYWdlOiBzdHJpbmcgfCBCdWZmZXIsXG4gIHB1YmxpY0tleTogQklQMzJJbnRlcmZhY2UgfCBCdWZmZXIsXG4gIHNpZ25hdHVyZTogQnVmZmVyLFxuICBuZXR3b3JrOiB7IG1lc3NhZ2VQcmVmaXg6IHN0cmluZyB9XG4pOiBib29sZWFuIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIocHVibGljS2V5KSkge1xuICAgIHB1YmxpY0tleSA9IHB1YmxpY0tleS5wdWJsaWNLZXk7XG4gIH1cbiAgaWYgKG5ldHdvcmsgPT09IG51bGwgfHwgdHlwZW9mIG5ldHdvcmsgIT09ICdvYmplY3QnIHx8IHR5cGVvZiBuZXR3b3JrLm1lc3NhZ2VQcmVmaXggIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIGFyZ3VtZW50ICduZXR3b3JrJ2ApO1xuICB9XG5cbiAgY29uc3QgYWRkcmVzcyA9IHV0eG9saWIuYWRkcmVzcy50b0Jhc2U1OENoZWNrKFxuICAgIHV0eG9saWIuY3J5cHRvLmhhc2gxNjAocHVibGljS2V5KSxcbiAgICB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4ucHViS2V5SGFzaCxcbiAgICB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW5cbiAgKTtcbiAgcmV0dXJuIGJpdGNvaW5NZXNzYWdlLnZlcmlmeShtZXNzYWdlLCBhZGRyZXNzLCBzaWduYXR1cmUsIG5ldHdvcmsubWVzc2FnZVByZWZpeCk7XG59XG4iXX0=Выполнить команду
Для локальной разработки. Не используйте в интернете!