PHP WebShell

Текущая директория: /opt/BitGoJS/modules/sdk-core/dist/src/bitgo

Просмотр файла: legacyBitcoin.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.address = exports.networks = exports.HDNode = void 0;
exports.makeRandomKey = makeRandomKey;
exports.hdPath = hdPath;
const utxolib = __importStar(require("@bitgo/utxo-lib"));
const utxo_lib_1 = require("@bitgo/utxo-lib");
const api_1 = require("../api");
const bitcoinUtil = __importStar(require("./bitcoin"));
function createECPairCompat(ecPair) {
    return Object.assign(ecPair, {
        getPublicKeyBuffer() {
            return ecPair.publicKey;
        },
    });
}
function makeRandomKey() {
    return createECPairCompat(bitcoinUtil.makeRandomKey());
}
/**
 * Implementation of legacy "HDNode" class as used by certain components
 */
class HDNode {
    constructor(bip32) {
        this.bip32 = bip32;
    }
    get publicKey() {
        return this.bip32.publicKey;
    }
    get privateKey() {
        return this.bip32.privateKey;
    }
    static fromSeedBuffer(buf) {
        return new HDNode(utxo_lib_1.bip32.fromSeed(buf));
    }
    static fromBase58(str) {
        return new HDNode(utxo_lib_1.bip32.fromBase58(str));
    }
    isNeutered() {
        return this.bip32.isNeutered();
    }
    neutered() {
        return new HDNode(this.bip32.neutered());
    }
    toBase58() {
        return this.bip32.toBase58();
    }
    derivePath(p) {
        return new HDNode(this.bip32.derivePath((0, api_1.sanitizeLegacyPath)(p)));
    }
}
exports.HDNode = HDNode;
function hdPath(hdNode) {
    return {
        derive(path) {
            return hdNode.derivePath(path);
        },
        deriveKey(path) {
            const node = hdNode.derivePath(path);
            if (node.privateKey) {
                return createECPairCompat(utxolib.ECPair.fromPrivateKey(node.privateKey));
            }
            else {
                return createECPairCompat(utxolib.ECPair.fromPublicKey(node.publicKey));
            }
        },
    };
}
exports.networks = utxolib.networks;
exports.address = {
    fromBase58Check(addr) {
        return utxolib.address.fromBase58Check(addr, utxolib.networks.bitcoin);
    },
    toBase58Check(hash, version) {
        return utxolib.address.toBase58Check(hash, version, utxolib.networks.bitcoin);
    },
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5Qml0Y29pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iaXRnby9sZWdhY3lCaXRjb2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQSxzQ0FFQztBQThDRCx3QkFlQztBQWhGRCx5REFBMkM7QUFDM0MsOENBQXlFO0FBQ3pFLGdDQUE0QztBQUM1Qyx1REFBeUM7QUFNekMsU0FBUyxrQkFBa0IsQ0FBQyxNQUF1QjtJQUNqRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQzNCLGtCQUFrQjtZQUNoQixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDMUIsQ0FBQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFnQixhQUFhO0lBQzNCLE9BQU8sa0JBQWtCLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxNQUFNO0lBQ2pCLFlBQW9CLEtBQXFCO1FBQXJCLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBQUcsQ0FBQztJQUU3QyxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQVc7UUFDdEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxnQkFBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVc7UUFDbEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxnQkFBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLFVBQVUsQ0FBQyxDQUFTO1FBQ3pCLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBQSx3QkFBa0IsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGO0FBbENELHdCQWtDQztBQU9ELFNBQWdCLE1BQU0sQ0FBQyxNQUFjO0lBQ25DLE9BQU87UUFDTCxNQUFNLENBQUMsSUFBWTtZQUNqQixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUVELFNBQVMsQ0FBQyxJQUFZO1lBQ3BCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDNUUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDMUUsQ0FBQztRQUNILENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVZLFFBQUEsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7QUFFNUIsUUFBQSxPQUFPLEdBQUc7SUFDckIsZUFBZSxDQUFDLElBQVk7UUFDMUIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVksRUFBRSxPQUFlO1FBQ3pDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgYmlwMzIsIEJJUDMySW50ZXJmYWNlLCBFQ1BhaXJJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgc2FuaXRpemVMZWdhY3lQYXRoIH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCAqIGFzIGJpdGNvaW5VdGlsIGZyb20gJy4vYml0Y29pbic7XG5cbmludGVyZmFjZSBFQ1BhaXJDb21wYXQgZXh0ZW5kcyBFQ1BhaXJJbnRlcmZhY2Uge1xuICBnZXRQdWJsaWNLZXlCdWZmZXIoKTogQnVmZmVyO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFQ1BhaXJDb21wYXQoZWNQYWlyOiBFQ1BhaXJJbnRlcmZhY2UpOiBFQ1BhaXJDb21wYXQge1xuICByZXR1cm4gT2JqZWN0LmFzc2lnbihlY1BhaXIsIHtcbiAgICBnZXRQdWJsaWNLZXlCdWZmZXIoKTogQnVmZmVyIHtcbiAgICAgIHJldHVybiBlY1BhaXIucHVibGljS2V5O1xuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZVJhbmRvbUtleSgpOiBFQ1BhaXJDb21wYXQge1xuICByZXR1cm4gY3JlYXRlRUNQYWlyQ29tcGF0KGJpdGNvaW5VdGlsLm1ha2VSYW5kb21LZXkoKSk7XG59XG5cbi8qKlxuICogSW1wbGVtZW50YXRpb24gb2YgbGVnYWN5IFwiSEROb2RlXCIgY2xhc3MgYXMgdXNlZCBieSBjZXJ0YWluIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGNsYXNzIEhETm9kZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmlwMzI6IEJJUDMySW50ZXJmYWNlKSB7fVxuXG4gIGdldCBwdWJsaWNLZXkoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gdGhpcy5iaXAzMi5wdWJsaWNLZXk7XG4gIH1cblxuICBnZXQgcHJpdmF0ZUtleSgpOiBCdWZmZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmJpcDMyLnByaXZhdGVLZXk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb21TZWVkQnVmZmVyKGJ1ZjogQnVmZmVyKTogSEROb2RlIHtcbiAgICByZXR1cm4gbmV3IEhETm9kZShiaXAzMi5mcm9tU2VlZChidWYpKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUJhc2U1OChzdHI6IHN0cmluZyk6IEhETm9kZSB7XG4gICAgcmV0dXJuIG5ldyBIRE5vZGUoYmlwMzIuZnJvbUJhc2U1OChzdHIpKTtcbiAgfVxuXG4gIHB1YmxpYyBpc05ldXRlcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmJpcDMyLmlzTmV1dGVyZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZXV0ZXJlZCgpOiBIRE5vZGUge1xuICAgIHJldHVybiBuZXcgSEROb2RlKHRoaXMuYmlwMzIubmV1dGVyZWQoKSk7XG4gIH1cblxuICBwdWJsaWMgdG9CYXNlNTgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5iaXAzMi50b0Jhc2U1OCgpO1xuICB9XG5cbiAgcHVibGljIGRlcml2ZVBhdGgocDogc3RyaW5nKTogSEROb2RlIHtcbiAgICByZXR1cm4gbmV3IEhETm9kZSh0aGlzLmJpcDMyLmRlcml2ZVBhdGgoc2FuaXRpemVMZWdhY3lQYXRoKHApKSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXJpdmFibGUge1xuICBkZXJpdmVLZXkocGF0aDogc3RyaW5nKTogRUNQYWlyQ29tcGF0O1xuICBkZXJpdmUocGF0aDogc3RyaW5nKTogSEROb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGRQYXRoKGhkTm9kZTogSEROb2RlKTogRGVyaXZhYmxlIHtcbiAgcmV0dXJuIHtcbiAgICBkZXJpdmUocGF0aDogc3RyaW5nKTogSEROb2RlIHtcbiAgICAgIHJldHVybiBoZE5vZGUuZGVyaXZlUGF0aChwYXRoKTtcbiAgICB9LFxuXG4gICAgZGVyaXZlS2V5KHBhdGg6IHN0cmluZyk6IEVDUGFpckNvbXBhdCB7XG4gICAgICBjb25zdCBub2RlID0gaGROb2RlLmRlcml2ZVBhdGgocGF0aCk7XG4gICAgICBpZiAobm9kZS5wcml2YXRlS2V5KSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVFQ1BhaXJDb21wYXQodXR4b2xpYi5FQ1BhaXIuZnJvbVByaXZhdGVLZXkobm9kZS5wcml2YXRlS2V5KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY3JlYXRlRUNQYWlyQ29tcGF0KHV0eG9saWIuRUNQYWlyLmZyb21QdWJsaWNLZXkobm9kZS5wdWJsaWNLZXkpKTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgbmV0d29ya3MgPSB1dHhvbGliLm5ldHdvcmtzO1xuXG5leHBvcnQgY29uc3QgYWRkcmVzcyA9IHtcbiAgZnJvbUJhc2U1OENoZWNrKGFkZHI6IHN0cmluZyk6IHsgaGFzaDogQnVmZmVyOyB2ZXJzaW9uOiBudW1iZXIgfSB7XG4gICAgcmV0dXJuIHV0eG9saWIuYWRkcmVzcy5mcm9tQmFzZTU4Q2hlY2soYWRkciwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKTtcbiAgfSxcblxuICB0b0Jhc2U1OENoZWNrKGhhc2g6IEJ1ZmZlciwgdmVyc2lvbjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXR4b2xpYi5hZGRyZXNzLnRvQmFzZTU4Q2hlY2soaGFzaCwgdmVyc2lvbiwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKTtcbiAgfSxcbn07XG4iXX0=

Выполнить команду


Для локальной разработки. Не используйте в интернете!