PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/utxo-core/dist/src/testutil/descriptor
Просмотр файла: mock.utils.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.mockDerivedDescriptorWalletOutput = mockDerivedDescriptorWalletOutput;
exports.mockPsbt = mockPsbt;
exports.mockPsbtDefault = mockPsbtDefault;
exports.mockPsbtDefaultWithDescriptorTemplate = mockPsbtDefaultWithDescriptorTemplate;
const utxolib = __importStar(require("@bitgo/utxo-lib"));
const descriptor_1 = require("../../descriptor");
const descriptors_1 = require("./descriptors");
function mockOutputId(id) {
const hash = id?.hash ?? Buffer.alloc(32, 1).toString('hex');
const vout = id?.vout ?? 0;
return { hash, vout };
}
function mockDerivedDescriptorWalletOutput(descriptor, outputParams = {}) {
const { value = BigInt(1e6) } = outputParams;
const { hash, vout } = mockOutputId(outputParams.id);
return {
hash,
index: vout,
witnessUtxo: {
script: (0, descriptor_1.createScriptPubKeyFromDescriptor)(descriptor, undefined),
value,
},
descriptor,
selectTapLeafScript: outputParams.selectTapLeafScript,
sequence: outputParams.sequence,
};
}
function tryDeriveAtIndex(descriptor, index) {
return descriptor.hasWildcard() ? descriptor.atDerivationIndex(index) : descriptor;
}
function mockPsbt(inputs, outputs, params = {}) {
return (0, descriptor_1.createPsbt)({ ...params, network: params.network ?? utxolib.networks.bitcoin }, inputs.map((i) => mockDerivedDescriptorWalletOutput(tryDeriveAtIndex(i.descriptor, i.index), i)), outputs.map((o) => {
const derivedDescriptor = tryDeriveAtIndex(o.descriptor, o.index);
return {
script: (0, descriptor_1.createScriptPubKeyFromDescriptor)(derivedDescriptor, undefined),
value: o.value,
descriptor: o.external ? undefined : derivedDescriptor,
};
}));
}
function mockPsbtDefault({ descriptorSelf = (0, descriptors_1.getDescriptor)('Wsh2Of3', (0, descriptors_1.getDefaultXPubs)('a')), descriptorOther = (0, descriptors_1.getDescriptor)('Wsh2Of3', (0, descriptors_1.getDefaultXPubs)('b')), params = {}, } = {}) {
return mockPsbt([
{ descriptor: descriptorSelf, index: 0 },
{ descriptor: descriptorSelf, index: 1, id: { vout: 1 } },
], [
{ descriptor: descriptorOther, index: 0, value: BigInt(4e5), external: true },
{ descriptor: descriptorSelf, index: 0, value: BigInt(4e5) },
], params);
}
function mockPsbtDefaultWithDescriptorTemplate(t, params = {}) {
return mockPsbtDefault({
descriptorSelf: (0, descriptors_1.getDescriptor)(t, (0, descriptors_1.getDefaultXPubs)('a')),
descriptorOther: (0, descriptors_1.getDescriptor)(t, (0, descriptors_1.getDefaultXPubs)('b')),
params,
});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90ZXN0dXRpbC9kZXNjcmlwdG9yL21vY2sudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUErQkEsOEVBaUJDO0FBbUJELDRCQWlCQztBQUVELDBDQW9CQztBQUVELHNGQVNDO0FBcEhELHlEQUEyQztBQUUzQyxpREFLMEI7QUFFMUIsK0NBQW1GO0FBWW5GLFNBQVMsWUFBWSxDQUFDLEVBQXVCO0lBSTNDLE1BQU0sSUFBSSxHQUFHLEVBQUUsRUFBRSxJQUFJLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdELE1BQU0sSUFBSSxHQUFHLEVBQUUsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQzNCLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDeEIsQ0FBQztBQUVELFNBQWdCLGlDQUFpQyxDQUMvQyxVQUFzQixFQUN0QixlQUErQyxFQUFFO0lBRWpELE1BQU0sRUFBRSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsWUFBWSxDQUFDO0lBQzdDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNyRCxPQUFPO1FBQ0wsSUFBSTtRQUNKLEtBQUssRUFBRSxJQUFJO1FBQ1gsV0FBVyxFQUFFO1lBQ1gsTUFBTSxFQUFFLElBQUEsNkNBQWdDLEVBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQztZQUMvRCxLQUFLO1NBQ047UUFDRCxVQUFVO1FBQ1YsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLG1CQUFtQjtRQUNyRCxRQUFRLEVBQUUsWUFBWSxDQUFDLFFBQVE7S0FDaEMsQ0FBQztBQUNKLENBQUM7QUFlRCxTQUFTLGdCQUFnQixDQUFDLFVBQXNCLEVBQUUsS0FBYTtJQUM3RCxPQUFPLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDckYsQ0FBQztBQUVELFNBQWdCLFFBQVEsQ0FDdEIsTUFBbUIsRUFDbkIsT0FBcUIsRUFDckIsU0FBOEIsRUFBRTtJQUVoQyxPQUFPLElBQUEsdUJBQVUsRUFDZixFQUFFLEdBQUcsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQ2xFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGlDQUFpQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQ2hHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNoQixNQUFNLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xFLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBQSw2Q0FBZ0MsRUFBQyxpQkFBaUIsRUFBRSxTQUFTLENBQUM7WUFDdEUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO1lBQ2QsVUFBVSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCO1NBQ3ZELENBQUM7SUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLGVBQWUsQ0FBQyxFQUM5QixjQUFjLEdBQUcsSUFBQSwyQkFBYSxFQUFDLFNBQVMsRUFBRSxJQUFBLDZCQUFlLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFDL0QsZUFBZSxHQUFHLElBQUEsMkJBQWEsRUFBQyxTQUFTLEVBQUUsSUFBQSw2QkFBZSxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ2hFLE1BQU0sR0FBRyxFQUFFLE1BS1QsRUFBRTtJQUNKLE9BQU8sUUFBUSxDQUNiO1FBQ0UsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7UUFDeEMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO0tBQzFELEVBQ0Q7UUFDRSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7UUFDN0UsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtLQUM3RCxFQUNELE1BQU0sQ0FDUCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLHFDQUFxQyxDQUNuRCxDQUFxQixFQUNyQixTQUE4QixFQUFFO0lBRWhDLE9BQU8sZUFBZSxDQUFDO1FBQ3JCLGNBQWMsRUFBRSxJQUFBLDJCQUFhLEVBQUMsQ0FBQyxFQUFFLElBQUEsNkJBQWUsRUFBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxlQUFlLEVBQUUsSUFBQSwyQkFBYSxFQUFDLENBQUMsRUFBRSxJQUFBLDZCQUFlLEVBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkQsTUFBTTtLQUNQLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXNjcmlwdG9yLCBNaW5pc2NyaXB0IH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmltcG9ydCB7XG4gIFBzYnRQYXJhbXMsXG4gIGNyZWF0ZVBzYnQsXG4gIGNyZWF0ZVNjcmlwdFB1YktleUZyb21EZXNjcmlwdG9yLFxuICBEZXJpdmVkRGVzY3JpcHRvclRyYW5zYWN0aW9uSW5wdXQsXG59IGZyb20gJy4uLy4uL2Rlc2NyaXB0b3InO1xuXG5pbXBvcnQgeyBEZXNjcmlwdG9yVGVtcGxhdGUsIGdldERlZmF1bHRYUHVicywgZ2V0RGVzY3JpcHRvciB9IGZyb20gJy4vZGVzY3JpcHRvcnMnO1xuXG50eXBlIE1vY2tPdXRwdXRJZFBhcmFtcyA9IHsgaGFzaD86IHN0cmluZzsgdm91dD86IG51bWJlciB9O1xuXG50eXBlIEJhc2VNb2NrRGVzY3JpcHRvck91dHB1dFBhcmFtcyA9IHtcbiAgaWQ/OiBNb2NrT3V0cHV0SWRQYXJhbXM7XG4gIGluZGV4PzogbnVtYmVyO1xuICB2YWx1ZT86IGJpZ2ludDtcbiAgc2VxdWVuY2U/OiBudW1iZXI7XG4gIHNlbGVjdFRhcExlYWZTY3JpcHQ/OiBNaW5pc2NyaXB0O1xufTtcblxuZnVuY3Rpb24gbW9ja091dHB1dElkKGlkPzogTW9ja091dHB1dElkUGFyYW1zKToge1xuICBoYXNoOiBzdHJpbmc7XG4gIHZvdXQ6IG51bWJlcjtcbn0ge1xuICBjb25zdCBoYXNoID0gaWQ/Lmhhc2ggPz8gQnVmZmVyLmFsbG9jKDMyLCAxKS50b1N0cmluZygnaGV4Jyk7XG4gIGNvbnN0IHZvdXQgPSBpZD8udm91dCA/PyAwO1xuICByZXR1cm4geyBoYXNoLCB2b3V0IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrRGVyaXZlZERlc2NyaXB0b3JXYWxsZXRPdXRwdXQoXG4gIGRlc2NyaXB0b3I6IERlc2NyaXB0b3IsXG4gIG91dHB1dFBhcmFtczogQmFzZU1vY2tEZXNjcmlwdG9yT3V0cHV0UGFyYW1zID0ge31cbik6IERlcml2ZWREZXNjcmlwdG9yVHJhbnNhY3Rpb25JbnB1dCB7XG4gIGNvbnN0IHsgdmFsdWUgPSBCaWdJbnQoMWU2KSB9ID0gb3V0cHV0UGFyYW1zO1xuICBjb25zdCB7IGhhc2gsIHZvdXQgfSA9IG1vY2tPdXRwdXRJZChvdXRwdXRQYXJhbXMuaWQpO1xuICByZXR1cm4ge1xuICAgIGhhc2gsXG4gICAgaW5kZXg6IHZvdXQsXG4gICAgd2l0bmVzc1V0eG86IHtcbiAgICAgIHNjcmlwdDogY3JlYXRlU2NyaXB0UHViS2V5RnJvbURlc2NyaXB0b3IoZGVzY3JpcHRvciwgdW5kZWZpbmVkKSxcbiAgICAgIHZhbHVlLFxuICAgIH0sXG4gICAgZGVzY3JpcHRvcixcbiAgICBzZWxlY3RUYXBMZWFmU2NyaXB0OiBvdXRwdXRQYXJhbXMuc2VsZWN0VGFwTGVhZlNjcmlwdCxcbiAgICBzZXF1ZW5jZTogb3V0cHV0UGFyYW1zLnNlcXVlbmNlLFxuICB9O1xufVxuXG50eXBlIE1vY2tJbnB1dCA9IEJhc2VNb2NrRGVzY3JpcHRvck91dHB1dFBhcmFtcyAmIHtcbiAgaW5kZXg6IG51bWJlcjtcbiAgZGVzY3JpcHRvcjogRGVzY3JpcHRvcjtcbiAgc2VsZWN0VGFwTGVhZlNjcmlwdD86IE1pbmlzY3JpcHQ7XG59O1xuXG50eXBlIE1vY2tPdXRwdXQgPSB7XG4gIGRlc2NyaXB0b3I6IERlc2NyaXB0b3I7XG4gIGluZGV4OiBudW1iZXI7XG4gIHZhbHVlOiBiaWdpbnQ7XG4gIGV4dGVybmFsPzogYm9vbGVhbjtcbn07XG5cbmZ1bmN0aW9uIHRyeURlcml2ZUF0SW5kZXgoZGVzY3JpcHRvcjogRGVzY3JpcHRvciwgaW5kZXg6IG51bWJlcik6IERlc2NyaXB0b3Ige1xuICByZXR1cm4gZGVzY3JpcHRvci5oYXNXaWxkY2FyZCgpID8gZGVzY3JpcHRvci5hdERlcml2YXRpb25JbmRleChpbmRleCkgOiBkZXNjcmlwdG9yO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9ja1BzYnQoXG4gIGlucHV0czogTW9ja0lucHV0W10sXG4gIG91dHB1dHM6IE1vY2tPdXRwdXRbXSxcbiAgcGFyYW1zOiBQYXJ0aWFsPFBzYnRQYXJhbXM+ID0ge31cbik6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQge1xuICByZXR1cm4gY3JlYXRlUHNidChcbiAgICB7IC4uLnBhcmFtcywgbmV0d29yazogcGFyYW1zLm5ldHdvcmsgPz8gdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luIH0sXG4gICAgaW5wdXRzLm1hcCgoaSkgPT4gbW9ja0Rlcml2ZWREZXNjcmlwdG9yV2FsbGV0T3V0cHV0KHRyeURlcml2ZUF0SW5kZXgoaS5kZXNjcmlwdG9yLCBpLmluZGV4KSwgaSkpLFxuICAgIG91dHB1dHMubWFwKChvKSA9PiB7XG4gICAgICBjb25zdCBkZXJpdmVkRGVzY3JpcHRvciA9IHRyeURlcml2ZUF0SW5kZXgoby5kZXNjcmlwdG9yLCBvLmluZGV4KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNjcmlwdDogY3JlYXRlU2NyaXB0UHViS2V5RnJvbURlc2NyaXB0b3IoZGVyaXZlZERlc2NyaXB0b3IsIHVuZGVmaW5lZCksXG4gICAgICAgIHZhbHVlOiBvLnZhbHVlLFxuICAgICAgICBkZXNjcmlwdG9yOiBvLmV4dGVybmFsID8gdW5kZWZpbmVkIDogZGVyaXZlZERlc2NyaXB0b3IsXG4gICAgICB9O1xuICAgIH0pXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrUHNidERlZmF1bHQoe1xuICBkZXNjcmlwdG9yU2VsZiA9IGdldERlc2NyaXB0b3IoJ1dzaDJPZjMnLCBnZXREZWZhdWx0WFB1YnMoJ2EnKSksXG4gIGRlc2NyaXB0b3JPdGhlciA9IGdldERlc2NyaXB0b3IoJ1dzaDJPZjMnLCBnZXREZWZhdWx0WFB1YnMoJ2InKSksXG4gIHBhcmFtcyA9IHt9LFxufToge1xuICBkZXNjcmlwdG9yU2VsZj86IERlc2NyaXB0b3I7XG4gIGRlc2NyaXB0b3JPdGhlcj86IERlc2NyaXB0b3I7XG4gIHBhcmFtcz86IFBhcnRpYWw8UHNidFBhcmFtcz47XG59ID0ge30pOiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHtcbiAgcmV0dXJuIG1vY2tQc2J0KFxuICAgIFtcbiAgICAgIHsgZGVzY3JpcHRvcjogZGVzY3JpcHRvclNlbGYsIGluZGV4OiAwIH0sXG4gICAgICB7IGRlc2NyaXB0b3I6IGRlc2NyaXB0b3JTZWxmLCBpbmRleDogMSwgaWQ6IHsgdm91dDogMSB9IH0sXG4gICAgXSxcbiAgICBbXG4gICAgICB7IGRlc2NyaXB0b3I6IGRlc2NyaXB0b3JPdGhlciwgaW5kZXg6IDAsIHZhbHVlOiBCaWdJbnQoNGU1KSwgZXh0ZXJuYWw6IHRydWUgfSxcbiAgICAgIHsgZGVzY3JpcHRvcjogZGVzY3JpcHRvclNlbGYsIGluZGV4OiAwLCB2YWx1ZTogQmlnSW50KDRlNSkgfSxcbiAgICBdLFxuICAgIHBhcmFtc1xuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9ja1BzYnREZWZhdWx0V2l0aERlc2NyaXB0b3JUZW1wbGF0ZShcbiAgdDogRGVzY3JpcHRvclRlbXBsYXRlLFxuICBwYXJhbXM6IFBhcnRpYWw8UHNidFBhcmFtcz4gPSB7fVxuKTogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB7XG4gIHJldHVybiBtb2NrUHNidERlZmF1bHQoe1xuICAgIGRlc2NyaXB0b3JTZWxmOiBnZXREZXNjcmlwdG9yKHQsIGdldERlZmF1bHRYUHVicygnYScpKSxcbiAgICBkZXNjcmlwdG9yT3RoZXI6IGdldERlc2NyaXB0b3IodCwgZ2V0RGVmYXVsdFhQdWJzKCdiJykpLFxuICAgIHBhcmFtcyxcbiAgfSk7XG59XG4iXX0=Выполнить команду
Для локальной разработки. Не используйте в интернете!