PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/abstract-utxo/dist/src/transaction/descriptor
Просмотр файла: signPsbt.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ErrorUnknownInput = void 0;
exports.signPsbt = signPsbt;
const descriptor_1 = require("@bitgo/utxo-core/descriptor");
class ErrorUnknownInput extends Error {
constructor(vin) {
super(`missing descriptor for input ${vin}`);
this.vin = vin;
}
}
exports.ErrorUnknownInput = ErrorUnknownInput;
/**
* Sign a PSBT with the given keychain.
*
* Checks the descriptor map for each input in the PSBT. If the input is not
* found in the descriptor map, the behavior is determined by the `onUnknownInput`
* parameter.
*
*
* @param tx - psbt to sign
* @param descriptorMap - map of input index to descriptor
* @param signerKeychain - key to sign with
* @param params - onUnknownInput: 'throw' | 'skip' | 'sign'.
* Determines what to do when an input is not found in the
* descriptor map.
*/
function signPsbt(tx, descriptorMap, signerKeychain, params) {
for (const [vin, input] of tx.data.inputs.entries()) {
if (!(0, descriptor_1.findDescriptorForInput)(input, descriptorMap)) {
switch (params.onUnknownInput) {
case 'skip':
continue;
case 'throw':
throw new ErrorUnknownInput(vin);
case 'sign':
break;
}
}
tx.signInputHD(vin, signerKeychain);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblBzYnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vZGVzY3JpcHRvci9zaWduUHNidC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF3QkEsNEJBcUJDO0FBNUNELDREQUFvRjtBQUVwRixNQUFhLGlCQUFrQixTQUFRLEtBQUs7SUFDMUMsWUFBbUIsR0FBVztRQUM1QixLQUFLLENBQUMsZ0NBQWdDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFENUIsUUFBRyxHQUFILEdBQUcsQ0FBUTtJQUU5QixDQUFDO0NBQ0Y7QUFKRCw4Q0FJQztBQUVEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsU0FBZ0IsUUFBUSxDQUN0QixFQUFnQixFQUNoQixhQUE0QixFQUM1QixjQUFzQyxFQUN0QyxNQUVDO0lBRUQsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLElBQUEsbUNBQXNCLEVBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDbEQsUUFBUSxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQzlCLEtBQUssTUFBTTtvQkFDVCxTQUFTO2dCQUNYLEtBQUssT0FBTztvQkFDVixNQUFNLElBQUksaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25DLEtBQUssTUFBTTtvQkFDVCxNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUM7UUFDRCxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN0QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IERlc2NyaXB0b3JNYXAsIGZpbmREZXNjcmlwdG9yRm9ySW5wdXQgfSBmcm9tICdAYml0Z28vdXR4by1jb3JlL2Rlc2NyaXB0b3InO1xuXG5leHBvcnQgY2xhc3MgRXJyb3JVbmtub3duSW5wdXQgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2aW46IG51bWJlcikge1xuICAgIHN1cGVyKGBtaXNzaW5nIGRlc2NyaXB0b3IgZm9yIGlucHV0ICR7dmlufWApO1xuICB9XG59XG5cbi8qKlxuICogU2lnbiBhIFBTQlQgd2l0aCB0aGUgZ2l2ZW4ga2V5Y2hhaW4uXG4gKlxuICogQ2hlY2tzIHRoZSBkZXNjcmlwdG9yIG1hcCBmb3IgZWFjaCBpbnB1dCBpbiB0aGUgUFNCVC4gSWYgdGhlIGlucHV0IGlzIG5vdFxuICogZm91bmQgaW4gdGhlIGRlc2NyaXB0b3IgbWFwLCB0aGUgYmVoYXZpb3IgaXMgZGV0ZXJtaW5lZCBieSB0aGUgYG9uVW5rbm93bklucHV0YFxuICogcGFyYW1ldGVyLlxuICpcbiAqXG4gKiBAcGFyYW0gdHggLSBwc2J0IHRvIHNpZ25cbiAqIEBwYXJhbSBkZXNjcmlwdG9yTWFwIC0gbWFwIG9mIGlucHV0IGluZGV4IHRvIGRlc2NyaXB0b3JcbiAqIEBwYXJhbSBzaWduZXJLZXljaGFpbiAtIGtleSB0byBzaWduIHdpdGhcbiAqIEBwYXJhbSBwYXJhbXMgLSBvblVua25vd25JbnB1dDogJ3Rocm93JyB8ICdza2lwJyB8ICdzaWduJy5cbiAqICAgICAgICAgICAgICAgICBEZXRlcm1pbmVzIHdoYXQgdG8gZG8gd2hlbiBhbiBpbnB1dCBpcyBub3QgZm91bmQgaW4gdGhlXG4gKiAgICAgICAgICAgICAgICAgZGVzY3JpcHRvciBtYXAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaWduUHNidChcbiAgdHg6IHV0eG9saWIuUHNidCxcbiAgZGVzY3JpcHRvck1hcDogRGVzY3JpcHRvck1hcCxcbiAgc2lnbmVyS2V5Y2hhaW46IHV0eG9saWIuQklQMzJJbnRlcmZhY2UsXG4gIHBhcmFtczoge1xuICAgIG9uVW5rbm93bklucHV0OiAndGhyb3cnIHwgJ3NraXAnIHwgJ3NpZ24nO1xuICB9XG4pOiB2b2lkIHtcbiAgZm9yIChjb25zdCBbdmluLCBpbnB1dF0gb2YgdHguZGF0YS5pbnB1dHMuZW50cmllcygpKSB7XG4gICAgaWYgKCFmaW5kRGVzY3JpcHRvckZvcklucHV0KGlucHV0LCBkZXNjcmlwdG9yTWFwKSkge1xuICAgICAgc3dpdGNoIChwYXJhbXMub25Vbmtub3duSW5wdXQpIHtcbiAgICAgICAgY2FzZSAnc2tpcCc6XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgJ3Rocm93JzpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JVbmtub3duSW5wdXQodmluKTtcbiAgICAgICAgY2FzZSAnc2lnbic6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHR4LnNpZ25JbnB1dEhEKHZpbiwgc2lnbmVyS2V5Y2hhaW4pO1xuICB9XG59XG4iXX0=Выполнить команду
Для локальной разработки. Не используйте в интернете!