PHP WebShell
Текущая директория: /opt/BitGoJS/modules/utxo-core/dist/src/descriptor
Просмотр файла: Output.js
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isInternalOutput = isInternalOutput;
exports.isExternalOutput = isExternalOutput;
exports.getExternalFixedAmount = getExternalFixedAmount;
exports.toDerivedDescriptorWalletOutput = toDerivedDescriptorWalletOutput;
const assert_1 = __importDefault(require("assert"));
const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
const Output_1 = require("../Output");
const derive_1 = require("./derive");
function isInternalOutput(output) {
return 'descriptor' in output && output.descriptor !== undefined;
}
function isExternalOutput(output) {
return !isInternalOutput(output);
}
/**
* @return the sum of the external outputs that are not 'max'
* @param outputs
*/
function getExternalFixedAmount(outputs) {
return (0, Output_1.getFixedOutputSum)(outputs.filter(isExternalOutput));
}
function toDerivedDescriptorWalletOutput(output, descriptorMap) {
const descriptor = descriptorMap.get(output.descriptorName);
if (!descriptor) {
throw new Error(`Descriptor not found: ${output.descriptorName}`);
}
(0, assert_1.default)(descriptor instanceof wasm_miniscript_1.Descriptor);
const descriptorAtIndex = (0, derive_1.getDescriptorAtIndexCheckScript)(descriptor, output.descriptorIndex, output.witnessUtxo.script, output.descriptorName);
return {
hash: output.hash,
index: output.index,
witnessUtxo: output.witnessUtxo,
descriptor: descriptorAtIndex,
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3V0cHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rlc2NyaXB0b3IvT3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBaUJBLDRDQUVDO0FBRUQsNENBRUM7QUFNRCx3REFFQztBQVNELDBFQXFCQztBQTdERCxvREFBNEI7QUFFNUIsNERBQW9EO0FBRXBELHNDQUE2RTtBQUc3RSxxQ0FBMkQ7QUFVM0QsU0FBZ0IsZ0JBQWdCLENBQW1CLE1BQTZCO0lBQzlFLE9BQU8sWUFBWSxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQztBQUNuRSxDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQW1CLE1BQTZCO0lBQzlFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0Isc0JBQXNCLENBQUMsT0FBZ0Q7SUFDckYsT0FBTyxJQUFBLDBCQUFpQixFQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFTRCxTQUFnQiwrQkFBK0IsQ0FDN0MsTUFBOEIsRUFDOUIsYUFBNEI7SUFFNUIsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDRCxJQUFBLGdCQUFNLEVBQUMsVUFBVSxZQUFZLDRCQUFVLENBQUMsQ0FBQztJQUN6QyxNQUFNLGlCQUFpQixHQUFHLElBQUEsd0NBQStCLEVBQ3ZELFVBQVUsRUFDVixNQUFNLENBQUMsZUFBZSxFQUN0QixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFDekIsTUFBTSxDQUFDLGNBQWMsQ0FDdEIsQ0FBQztJQUNGLE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7UUFDakIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1FBQ25CLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztRQUMvQixVQUFVLEVBQUUsaUJBQWlCO0tBQzlCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5cbmltcG9ydCB7IGdldEZpeGVkT3V0cHV0U3VtLCBNYXhPdXRwdXQsIE91dHB1dCwgUHJldk91dHB1dCB9IGZyb20gJy4uL091dHB1dCc7XG5cbmltcG9ydCB7IERlc2NyaXB0b3JNYXAgfSBmcm9tICcuL0Rlc2NyaXB0b3JNYXAnO1xuaW1wb3J0IHsgZ2V0RGVzY3JpcHRvckF0SW5kZXhDaGVja1NjcmlwdCB9IGZyb20gJy4vZGVyaXZlJztcblxuZXhwb3J0IHR5cGUgV2l0aERlc2NyaXB0b3I8VD4gPSBUICYge1xuICBkZXNjcmlwdG9yOiBEZXNjcmlwdG9yO1xufTtcblxuZXhwb3J0IHR5cGUgV2l0aE9wdERlc2NyaXB0b3I8VD4gPSBUICYge1xuICBkZXNjcmlwdG9yPzogRGVzY3JpcHRvcjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ludGVybmFsT3V0cHV0PFQgZXh0ZW5kcyBvYmplY3Q+KG91dHB1dDogVCB8IFdpdGhEZXNjcmlwdG9yPFQ+KTogb3V0cHV0IGlzIFdpdGhEZXNjcmlwdG9yPFQ+IHtcbiAgcmV0dXJuICdkZXNjcmlwdG9yJyBpbiBvdXRwdXQgJiYgb3V0cHV0LmRlc2NyaXB0b3IgIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRXh0ZXJuYWxPdXRwdXQ8VCBleHRlbmRzIG9iamVjdD4ob3V0cHV0OiBUIHwgV2l0aERlc2NyaXB0b3I8VD4pOiBvdXRwdXQgaXMgVCB7XG4gIHJldHVybiAhaXNJbnRlcm5hbE91dHB1dChvdXRwdXQpO1xufVxuXG4vKipcbiAqIEByZXR1cm4gdGhlIHN1bSBvZiB0aGUgZXh0ZXJuYWwgb3V0cHV0cyB0aGF0IGFyZSBub3QgJ21heCdcbiAqIEBwYXJhbSBvdXRwdXRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlcm5hbEZpeGVkQW1vdW50KG91dHB1dHM6IFdpdGhPcHREZXNjcmlwdG9yPE91dHB1dCB8IE1heE91dHB1dD5bXSk6IGJpZ2ludCB7XG4gIHJldHVybiBnZXRGaXhlZE91dHB1dFN1bShvdXRwdXRzLmZpbHRlcihpc0V4dGVybmFsT3V0cHV0KSk7XG59XG5cbmV4cG9ydCB0eXBlIERlc2NyaXB0b3JXYWxsZXRPdXRwdXQgPSBQcmV2T3V0cHV0ICYge1xuICBkZXNjcmlwdG9yTmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdG9ySW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCB0eXBlIERlcml2ZWREZXNjcmlwdG9yV2FsbGV0T3V0cHV0ID0gV2l0aERlc2NyaXB0b3I8UHJldk91dHB1dD47XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0Rlcml2ZWREZXNjcmlwdG9yV2FsbGV0T3V0cHV0KFxuICBvdXRwdXQ6IERlc2NyaXB0b3JXYWxsZXRPdXRwdXQsXG4gIGRlc2NyaXB0b3JNYXA6IERlc2NyaXB0b3JNYXBcbik6IERlcml2ZWREZXNjcmlwdG9yV2FsbGV0T3V0cHV0IHtcbiAgY29uc3QgZGVzY3JpcHRvciA9IGRlc2NyaXB0b3JNYXAuZ2V0KG91dHB1dC5kZXNjcmlwdG9yTmFtZSk7XG4gIGlmICghZGVzY3JpcHRvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihgRGVzY3JpcHRvciBub3QgZm91bmQ6ICR7b3V0cHV0LmRlc2NyaXB0b3JOYW1lfWApO1xuICB9XG4gIGFzc2VydChkZXNjcmlwdG9yIGluc3RhbmNlb2YgRGVzY3JpcHRvcik7XG4gIGNvbnN0IGRlc2NyaXB0b3JBdEluZGV4ID0gZ2V0RGVzY3JpcHRvckF0SW5kZXhDaGVja1NjcmlwdChcbiAgICBkZXNjcmlwdG9yLFxuICAgIG91dHB1dC5kZXNjcmlwdG9ySW5kZXgsXG4gICAgb3V0cHV0LndpdG5lc3NVdHhvLnNjcmlwdCxcbiAgICBvdXRwdXQuZGVzY3JpcHRvck5hbWVcbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBoYXNoOiBvdXRwdXQuaGFzaCxcbiAgICBpbmRleDogb3V0cHV0LmluZGV4LFxuICAgIHdpdG5lc3NVdHhvOiBvdXRwdXQud2l0bmVzc1V0eG8sXG4gICAgZGVzY3JpcHRvcjogZGVzY3JpcHRvckF0SW5kZXgsXG4gIH07XG59XG4iXX0=Выполнить команду
Для локальной разработки. Не используйте в интернете!