PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/utxo-lib/dist/src/bitgo/zcash
Просмотр файла: address.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromBase58Check = fromBase58Check;
exports.toBase58Check = toBase58Check;
exports.fromOutputScript = fromOutputScript;
exports.toOutputScript = toOutputScript;
const assert = require("assert");
const bitcoinjs_lib_1 = require("bitcoinjs-lib");
const types = require("bitcoinjs-lib/src/types");
const networks_1 = require("../../networks");
const bs58check = require('bs58check');
const typeforce = require('typeforce');
function fromBase58Check(address) {
const payload = bs58check.decode(address);
const version = payload.readUInt16BE(0);
const hash = payload.slice(2);
return { version, hash };
}
function toBase58Check(hash, version) {
typeforce(types.tuple(types.Hash160bit, types.Number), arguments);
const payload = Buffer.allocUnsafe(22);
payload.writeUInt16BE(version, 0);
hash.copy(payload, 2);
return bs58check.encode(payload);
}
function fromOutputScript(outputScript, network) {
assert.ok((0, networks_1.isZcash)(network));
let o;
let prefix;
try {
o = bitcoinjs_lib_1.payments.p2pkh({ output: outputScript });
prefix = network.pubKeyHash;
}
catch (e) { }
try {
o = bitcoinjs_lib_1.payments.p2sh({ output: outputScript });
prefix = network.scriptHash;
}
catch (e) { }
if (!o || !o.hash || prefix === undefined) {
throw new Error(`unsupported outputScript`);
}
return toBase58Check(o.hash, prefix);
}
function toOutputScript(address, network) {
assert.ok((0, networks_1.isZcash)(network));
const { version, hash } = fromBase58Check(address);
if (version === network.pubKeyHash) {
return bitcoinjs_lib_1.payments.p2pkh({ hash }).output;
}
if (version === network.scriptHash) {
return bitcoinjs_lib_1.payments.p2sh({ hash }).output;
}
throw new Error(address + ' has no matching Script');
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby96Y2FzaC9hZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUEsMENBS0M7QUFFRCxzQ0FPQztBQUVELDRDQWdCQztBQUVELHdDQVVDO0FBcERELGlDQUFpQztBQUNqQyxpREFBeUM7QUFDekMsaURBQWlEO0FBRWpELDZDQUFrRDtBQUNsRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDdkMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBRXZDLFNBQWdCLGVBQWUsQ0FBQyxPQUFlO0lBQzdDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDM0IsQ0FBQztBQUVELFNBQWdCLGFBQWEsQ0FBQyxJQUFZLEVBQUUsT0FBZTtJQUN6RCxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUVsRSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsWUFBb0IsRUFBRSxPQUFnQjtJQUNyRSxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUEsa0JBQU8sRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzVCLElBQUksQ0FBQyxDQUFDO0lBQ04sSUFBSSxNQUFNLENBQUM7SUFDWCxJQUFJLENBQUM7UUFDSCxDQUFDLEdBQUcsd0JBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUM3QyxNQUFNLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztJQUM5QixDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUM7SUFDZCxJQUFJLENBQUM7UUFDSCxDQUFDLEdBQUcsd0JBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUM1QyxNQUFNLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztJQUM5QixDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUM7SUFDZCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDMUMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxPQUFPLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsT0FBZSxFQUFFLE9BQWdCO0lBQzlELE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBQSxrQkFBTyxFQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDNUIsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkQsSUFBSSxPQUFPLEtBQUssT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ25DLE9BQU8sd0JBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQWdCLENBQUM7SUFDbkQsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQyxPQUFPLHdCQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFnQixDQUFDO0lBQ2xELENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sR0FBRyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IHBheW1lbnRzIH0gZnJvbSAnYml0Y29pbmpzLWxpYic7XG5pbXBvcnQgKiBhcyB0eXBlcyBmcm9tICdiaXRjb2luanMtbGliL3NyYy90eXBlcyc7XG5pbXBvcnQgeyBCYXNlNThDaGVja1Jlc3VsdCB9IGZyb20gJ2JpdGNvaW5qcy1saWIvc3JjL2FkZHJlc3MnO1xuaW1wb3J0IHsgaXNaY2FzaCwgTmV0d29yayB9IGZyb20gJy4uLy4uL25ldHdvcmtzJztcbmNvbnN0IGJzNThjaGVjayA9IHJlcXVpcmUoJ2JzNThjaGVjaycpO1xuY29uc3QgdHlwZWZvcmNlID0gcmVxdWlyZSgndHlwZWZvcmNlJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBmcm9tQmFzZTU4Q2hlY2soYWRkcmVzczogc3RyaW5nKTogQmFzZTU4Q2hlY2tSZXN1bHQge1xuICBjb25zdCBwYXlsb2FkID0gYnM1OGNoZWNrLmRlY29kZShhZGRyZXNzKTtcbiAgY29uc3QgdmVyc2lvbiA9IHBheWxvYWQucmVhZFVJbnQxNkJFKDApO1xuICBjb25zdCBoYXNoID0gcGF5bG9hZC5zbGljZSgyKTtcbiAgcmV0dXJuIHsgdmVyc2lvbiwgaGFzaCB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9CYXNlNThDaGVjayhoYXNoOiBCdWZmZXIsIHZlcnNpb246IG51bWJlcik6IHN0cmluZyB7XG4gIHR5cGVmb3JjZSh0eXBlcy50dXBsZSh0eXBlcy5IYXNoMTYwYml0LCB0eXBlcy5OdW1iZXIpLCBhcmd1bWVudHMpO1xuXG4gIGNvbnN0IHBheWxvYWQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMjIpO1xuICBwYXlsb2FkLndyaXRlVUludDE2QkUodmVyc2lvbiwgMCk7XG4gIGhhc2guY29weShwYXlsb2FkLCAyKTtcbiAgcmV0dXJuIGJzNThjaGVjay5lbmNvZGUocGF5bG9hZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmcm9tT3V0cHV0U2NyaXB0KG91dHB1dFNjcmlwdDogQnVmZmVyLCBuZXR3b3JrOiBOZXR3b3JrKTogc3RyaW5nIHtcbiAgYXNzZXJ0Lm9rKGlzWmNhc2gobmV0d29yaykpO1xuICBsZXQgbztcbiAgbGV0IHByZWZpeDtcbiAgdHJ5IHtcbiAgICBvID0gcGF5bWVudHMucDJwa2goeyBvdXRwdXQ6IG91dHB1dFNjcmlwdCB9KTtcbiAgICBwcmVmaXggPSBuZXR3b3JrLnB1YktleUhhc2g7XG4gIH0gY2F0Y2ggKGUpIHt9XG4gIHRyeSB7XG4gICAgbyA9IHBheW1lbnRzLnAyc2goeyBvdXRwdXQ6IG91dHB1dFNjcmlwdCB9KTtcbiAgICBwcmVmaXggPSBuZXR3b3JrLnNjcmlwdEhhc2g7XG4gIH0gY2F0Y2ggKGUpIHt9XG4gIGlmICghbyB8fCAhby5oYXNoIHx8IHByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB1bnN1cHBvcnRlZCBvdXRwdXRTY3JpcHRgKTtcbiAgfVxuICByZXR1cm4gdG9CYXNlNThDaGVjayhvLmhhc2gsIHByZWZpeCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b091dHB1dFNjcmlwdChhZGRyZXNzOiBzdHJpbmcsIG5ldHdvcms6IE5ldHdvcmspOiBCdWZmZXIge1xuICBhc3NlcnQub2soaXNaY2FzaChuZXR3b3JrKSk7XG4gIGNvbnN0IHsgdmVyc2lvbiwgaGFzaCB9ID0gZnJvbUJhc2U1OENoZWNrKGFkZHJlc3MpO1xuICBpZiAodmVyc2lvbiA9PT0gbmV0d29yay5wdWJLZXlIYXNoKSB7XG4gICAgcmV0dXJuIHBheW1lbnRzLnAycGtoKHsgaGFzaCB9KS5vdXRwdXQgYXMgQnVmZmVyO1xuICB9XG4gIGlmICh2ZXJzaW9uID09PSBuZXR3b3JrLnNjcmlwdEhhc2gpIHtcbiAgICByZXR1cm4gcGF5bWVudHMucDJzaCh7IGhhc2ggfSkub3V0cHV0IGFzIEJ1ZmZlcjtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYWRkcmVzcyArICcgaGFzIG5vIG1hdGNoaW5nIFNjcmlwdCcpO1xufVxuIl19Выполнить команду
Для локальной разработки. Не используйте в интернете!