PHP WebShell

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

Просмотр файла: sign.js

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getNewSignatureCountForInput = getNewSignatureCountForInput;
exports.getNewSignatureCount = getNewSignatureCount;
exports.signWithKey = signWithKey;
const assert_1 = __importDefault(require("assert"));
/**
 * @param signResult
 * @return the number of new signatures created by the signResult for a single input
 */
function getNewSignatureCountForInput(signResult) {
    if ('Schnorr' in signResult) {
        return signResult.Schnorr.length;
    }
    if ('Ecdsa' in signResult) {
        return signResult.Ecdsa.length;
    }
    throw new Error(`Unknown signature type ${Object.keys(signResult).join(', ')}`);
}
/**
 * @param signResult
 * @return the number of new signatures created by the signResult
 */
function getNewSignatureCount(signResult) {
    return Object.values(signResult).reduce((sum, signatures) => sum + getNewSignatureCountForInput(signatures), 0);
}
/** Convenience function to sign a PSBT with a key */
function signWithKey(psbt, key) {
    // we need to do casting here because the type definitions in wasm-miniscript are a little bit buggy
    if (Buffer.isBuffer(key)) {
        return psbt.signWithPrv(key);
    }
    if ('toBase58' in key) {
        return psbt.signWithXprv(key.toBase58());
    }
    (0, assert_1.default)(key.privateKey);
    return psbt.signWithPrv(key.privateKey);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZXNjcmlwdG9yL3BzYnQvc2lnbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWVBLG9FQVFDO0FBTUQsb0RBRUM7QUFLRCxrQ0FVQztBQTlDRCxvREFBNEI7QUFXNUI7OztHQUdHO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQUMsVUFBK0I7SUFDMUUsSUFBSSxTQUFTLElBQUksVUFBVSxFQUFFLENBQUM7UUFDNUIsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUNuQyxDQUFDO0lBQ0QsSUFBSSxPQUFPLElBQUksVUFBVSxFQUFFLENBQUM7UUFDMUIsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2xGLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxVQUEwQjtJQUM3RCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLDRCQUE0QixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2xILENBQUM7QUFJRCxxREFBcUQ7QUFDckQsU0FBZ0IsV0FBVyxDQUFDLElBQWMsRUFBRSxHQUFRO0lBQ2xELG9HQUFvRztJQUNwRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUE4QixDQUFDO0lBQzVELENBQUM7SUFDRCxJQUFJLFVBQVUsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUE4QixDQUFDO0lBQ3hFLENBQUM7SUFDRCxJQUFBLGdCQUFNLEVBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUE4QixDQUFDO0FBQ3ZFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IFBzYnQgYXMgV2FzbVBzYnQgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcblxuLyoqIFRoZXNlIGNhbiBiZSByZXBsYWNlZCB3aGVuIEBiaXRnby93YXNtLW1pbmlzY3JpcHQgaXMgdXBkYXRlZCAqL1xuZXhwb3J0IHR5cGUgU2lnblBzYnRJbnB1dFJlc3VsdCA9IHsgU2Nobm9ycjogc3RyaW5nW10gfSB8IHsgRWNkc2E6IHN0cmluZ1tdIH07XG5leHBvcnQgdHlwZSBTaWduUHNidFJlc3VsdCA9IHtcbiAgW2lucHV0SW5kZXg6IG51bWJlcl06IFNpZ25Qc2J0SW5wdXRSZXN1bHQ7XG59O1xuXG4vKipcbiAqIEBwYXJhbSBzaWduUmVzdWx0XG4gKiBAcmV0dXJuIHRoZSBudW1iZXIgb2YgbmV3IHNpZ25hdHVyZXMgY3JlYXRlZCBieSB0aGUgc2lnblJlc3VsdCBmb3IgYSBzaW5nbGUgaW5wdXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE5ld1NpZ25hdHVyZUNvdW50Rm9ySW5wdXQoc2lnblJlc3VsdDogU2lnblBzYnRJbnB1dFJlc3VsdCk6IG51bWJlciB7XG4gIGlmICgnU2Nobm9ycicgaW4gc2lnblJlc3VsdCkge1xuICAgIHJldHVybiBzaWduUmVzdWx0LlNjaG5vcnIubGVuZ3RoO1xuICB9XG4gIGlmICgnRWNkc2EnIGluIHNpZ25SZXN1bHQpIHtcbiAgICByZXR1cm4gc2lnblJlc3VsdC5FY2RzYS5sZW5ndGg7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHNpZ25hdHVyZSB0eXBlICR7T2JqZWN0LmtleXMoc2lnblJlc3VsdCkuam9pbignLCAnKX1gKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0gc2lnblJlc3VsdFxuICogQHJldHVybiB0aGUgbnVtYmVyIG9mIG5ldyBzaWduYXR1cmVzIGNyZWF0ZWQgYnkgdGhlIHNpZ25SZXN1bHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE5ld1NpZ25hdHVyZUNvdW50KHNpZ25SZXN1bHQ6IFNpZ25Qc2J0UmVzdWx0KTogbnVtYmVyIHtcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMoc2lnblJlc3VsdCkucmVkdWNlKChzdW0sIHNpZ25hdHVyZXMpID0+IHN1bSArIGdldE5ld1NpZ25hdHVyZUNvdW50Rm9ySW5wdXQoc2lnbmF0dXJlcyksIDApO1xufVxuXG50eXBlIEtleSA9IEJ1ZmZlciB8IHV0eG9saWIuQklQMzJJbnRlcmZhY2UgfCB1dHhvbGliLkVDUGFpckludGVyZmFjZTtcblxuLyoqIENvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIHNpZ24gYSBQU0JUIHdpdGggYSBrZXkgKi9cbmV4cG9ydCBmdW5jdGlvbiBzaWduV2l0aEtleShwc2J0OiBXYXNtUHNidCwga2V5OiBLZXkpOiBTaWduUHNidFJlc3VsdCB7XG4gIC8vIHdlIG5lZWQgdG8gZG8gY2FzdGluZyBoZXJlIGJlY2F1c2UgdGhlIHR5cGUgZGVmaW5pdGlvbnMgaW4gd2FzbS1taW5pc2NyaXB0IGFyZSBhIGxpdHRsZSBiaXQgYnVnZ3lcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihrZXkpKSB7XG4gICAgcmV0dXJuIHBzYnQuc2lnbldpdGhQcnYoa2V5KSBhcyB1bmtub3duIGFzIFNpZ25Qc2J0UmVzdWx0O1xuICB9XG4gIGlmICgndG9CYXNlNTgnIGluIGtleSkge1xuICAgIHJldHVybiBwc2J0LnNpZ25XaXRoWHBydihrZXkudG9CYXNlNTgoKSkgYXMgdW5rbm93biBhcyBTaWduUHNidFJlc3VsdDtcbiAgfVxuICBhc3NlcnQoa2V5LnByaXZhdGVLZXkpO1xuICByZXR1cm4gcHNidC5zaWduV2l0aFBydihrZXkucHJpdmF0ZUtleSkgYXMgdW5rbm93biBhcyBTaWduUHNidFJlc3VsdDtcbn1cbiJdfQ==

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


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