PHP WebShell
Текущая директория: /opt/BitGoJS/modules/utxo-lib/dist/test/fixtures_thirdparty
Просмотр файла: fixtures.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.txValidTestFile = exports.sigHashTestFile = void 0;
exports.getArchiveUrl = getArchiveUrl;
exports.getArchiveRoot = getArchiveRoot;
exports.getFixtureInfo = getFixtureInfo;
exports.readFile = readFile;
exports.readJSON = readJSON;
exports.testFixture = testFixture;
exports.testFixtureArray = testFixtureArray;
const fs = require("fs-extra");
const networks_1 = require("../../src/networks");
function getArchiveUrl(fixtureInfo) {
return `http://github.com/${fixtureInfo.projectPath}/archive/refs/tags/${fixtureInfo.tag}.tar.gz`;
}
function getArchiveRoot(fixtureInfo) {
const [, projectName] = fixtureInfo.projectPath.split('/');
return `${projectName}-${fixtureInfo.tag.substr(1)}`;
}
function getFixtureInfo(network) {
switch ((0, networks_1.getMainnet)(network)) {
case networks_1.networks.bitcoin:
return {
projectPath: 'bitcoin/bitcoin',
tag: 'v0.21.1',
};
case networks_1.networks.bitcoincash:
return {
projectPath: 'bitcoin-cash-node/bitcoin-cash-node',
tag: 'v23.0.0',
};
case networks_1.networks.bitcoinsv:
return {
projectPath: 'bitcoin-sv/bitcoin-sv',
tag: 'v1.0.8',
};
case networks_1.networks.bitcoingold:
return {
projectPath: 'BTCGPU/BTCGPU',
tag: 'v0.17.3',
};
case networks_1.networks.dash:
return {
projectPath: 'dashpay/dash',
tag: 'v0.17.0.3',
};
case networks_1.networks.ecash:
return {
projectPath: 'Bitcoin-ABC/bitcoin-abc',
tag: 'v0.26.4',
};
case networks_1.networks.dogecoin:
return {
projectPath: 'dogecoin/dogecoin',
tag: 'v1.14.5',
};
case networks_1.networks.litecoin:
return {
projectPath: 'litecoin-project/litecoin',
tag: 'v0.18.1',
};
case networks_1.networks.zcash:
return {
projectPath: 'zcash/zcash',
tag: 'v4.4.1',
};
}
throw new Error(`${(0, networks_1.getNetworkName)(network)} not supported`);
}
async function readFile(network, path) {
const root = getArchiveRoot(getFixtureInfo(network));
return await fs.readFile(`test/fixtures_thirdparty/nodes/${root}/src/test/data/${path}`, 'utf8');
}
async function readJSON(network, path) {
return JSON.parse(await readFile(network, path));
}
exports.sigHashTestFile = 'sighash.json';
exports.txValidTestFile = 'tx_valid.json';
function testFixture(ctx, network, filename, callback) {
it(filename, async function () {
callback.call(this, await readJSON(network, filename));
});
}
function testFixtureArray(ctx, network, filename, callback) {
testFixture(ctx, network, filename, function (arr) {
callback.call(this, arr.filter((v) => v.length !== 1));
});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L2ZpeHR1cmVzX3RoaXJkcGFydHkvZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBUUEsc0NBRUM7QUFFRCx3Q0FHQztBQUVELHdDQWlEQztBQUVELDRCQUdDO0FBRUQsNEJBRUM7QUErQkQsa0NBU0M7QUFFRCw0Q0FZQztBQWpJRCwrQkFBK0I7QUFDL0IsaURBQW1GO0FBT25GLFNBQWdCLGFBQWEsQ0FBQyxXQUF3QjtJQUNwRCxPQUFPLHFCQUFxQixXQUFXLENBQUMsV0FBVyxzQkFBc0IsV0FBVyxDQUFDLEdBQUcsU0FBUyxDQUFDO0FBQ3BHLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsV0FBd0I7SUFDckQsTUFBTSxDQUFDLEVBQUUsV0FBVyxDQUFDLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0QsT0FBTyxHQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3ZELENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsT0FBZ0I7SUFDN0MsUUFBUSxJQUFBLHFCQUFVLEVBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUM1QixLQUFLLG1CQUFRLENBQUMsT0FBTztZQUNuQixPQUFPO2dCQUNMLFdBQVcsRUFBRSxpQkFBaUI7Z0JBQzlCLEdBQUcsRUFBRSxTQUFTO2FBQ2YsQ0FBQztRQUNKLEtBQUssbUJBQVEsQ0FBQyxXQUFXO1lBQ3ZCLE9BQU87Z0JBQ0wsV0FBVyxFQUFFLHFDQUFxQztnQkFDbEQsR0FBRyxFQUFFLFNBQVM7YUFDZixDQUFDO1FBQ0osS0FBSyxtQkFBUSxDQUFDLFNBQVM7WUFDckIsT0FBTztnQkFDTCxXQUFXLEVBQUUsdUJBQXVCO2dCQUNwQyxHQUFHLEVBQUUsUUFBUTthQUNkLENBQUM7UUFDSixLQUFLLG1CQUFRLENBQUMsV0FBVztZQUN2QixPQUFPO2dCQUNMLFdBQVcsRUFBRSxlQUFlO2dCQUM1QixHQUFHLEVBQUUsU0FBUzthQUNmLENBQUM7UUFDSixLQUFLLG1CQUFRLENBQUMsSUFBSTtZQUNoQixPQUFPO2dCQUNMLFdBQVcsRUFBRSxjQUFjO2dCQUMzQixHQUFHLEVBQUUsV0FBVzthQUNqQixDQUFDO1FBQ0osS0FBSyxtQkFBUSxDQUFDLEtBQUs7WUFDakIsT0FBTztnQkFDTCxXQUFXLEVBQUUseUJBQXlCO2dCQUN0QyxHQUFHLEVBQUUsU0FBUzthQUNmLENBQUM7UUFDSixLQUFLLG1CQUFRLENBQUMsUUFBUTtZQUNwQixPQUFPO2dCQUNMLFdBQVcsRUFBRSxtQkFBbUI7Z0JBQ2hDLEdBQUcsRUFBRSxTQUFTO2FBQ2YsQ0FBQztRQUNKLEtBQUssbUJBQVEsQ0FBQyxRQUFRO1lBQ3BCLE9BQU87Z0JBQ0wsV0FBVyxFQUFFLDJCQUEyQjtnQkFDeEMsR0FBRyxFQUFFLFNBQVM7YUFDZixDQUFDO1FBQ0osS0FBSyxtQkFBUSxDQUFDLEtBQUs7WUFDakIsT0FBTztnQkFDTCxXQUFXLEVBQUUsYUFBYTtnQkFDMUIsR0FBRyxFQUFFLFFBQVE7YUFDZCxDQUFDO0lBQ04sQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFBLHlCQUFjLEVBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVNLEtBQUssVUFBVSxRQUFRLENBQUMsT0FBZ0IsRUFBRSxJQUFZO0lBQzNELE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNyRCxPQUFPLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxrQ0FBa0MsSUFBSSxrQkFBa0IsSUFBSSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDbkcsQ0FBQztBQUVNLEtBQUssVUFBVSxRQUFRLENBQUksT0FBZ0IsRUFBRSxJQUFZO0lBQzlELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRVksUUFBQSxlQUFlLEdBQUcsY0FBYyxDQUFDO0FBc0JqQyxRQUFBLGVBQWUsR0FBRyxlQUFlLENBQUM7QUFPL0MsU0FBZ0IsV0FBVyxDQUN6QixHQUFnQixFQUNoQixPQUFnQixFQUNoQixRQUFnQixFQUNoQixRQUFnRDtJQUVoRCxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUs7UUFDaEIsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQzlCLEdBQWdCLEVBQ2hCLE9BQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLFFBQWtEO0lBRWxELFdBQVcsQ0FBTSxHQUFHLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEdBQVE7UUFDekQsUUFBUSxDQUFDLElBQUksQ0FDWCxJQUFJLEVBQ0osR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUUsQ0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FDekQsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCB7IE5ldHdvcmssIG5ldHdvcmtzLCBnZXRNYWlubmV0LCBnZXROZXR3b3JrTmFtZSB9IGZyb20gJy4uLy4uL3NyYy9uZXR3b3Jrcyc7XG5cbmV4cG9ydCB0eXBlIEZpeHR1cmVJbmZvID0ge1xuICBwcm9qZWN0UGF0aDogc3RyaW5nO1xuICB0YWc6IHN0cmluZztcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcmNoaXZlVXJsKGZpeHR1cmVJbmZvOiBGaXh0dXJlSW5mbyk6IHN0cmluZyB7XG4gIHJldHVybiBgaHR0cDovL2dpdGh1Yi5jb20vJHtmaXh0dXJlSW5mby5wcm9qZWN0UGF0aH0vYXJjaGl2ZS9yZWZzL3RhZ3MvJHtmaXh0dXJlSW5mby50YWd9LnRhci5nemA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcmNoaXZlUm9vdChmaXh0dXJlSW5mbzogRml4dHVyZUluZm8pOiBzdHJpbmcge1xuICBjb25zdCBbLCBwcm9qZWN0TmFtZV0gPSBmaXh0dXJlSW5mby5wcm9qZWN0UGF0aC5zcGxpdCgnLycpO1xuICByZXR1cm4gYCR7cHJvamVjdE5hbWV9LSR7Zml4dHVyZUluZm8udGFnLnN1YnN0cigxKX1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rml4dHVyZUluZm8obmV0d29yazogTmV0d29yayk6IEZpeHR1cmVJbmZvIHtcbiAgc3dpdGNoIChnZXRNYWlubmV0KG5ldHdvcmspKSB7XG4gICAgY2FzZSBuZXR3b3Jrcy5iaXRjb2luOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJvamVjdFBhdGg6ICdiaXRjb2luL2JpdGNvaW4nLFxuICAgICAgICB0YWc6ICd2MC4yMS4xJyxcbiAgICAgIH07XG4gICAgY2FzZSBuZXR3b3Jrcy5iaXRjb2luY2FzaDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByb2plY3RQYXRoOiAnYml0Y29pbi1jYXNoLW5vZGUvYml0Y29pbi1jYXNoLW5vZGUnLFxuICAgICAgICB0YWc6ICd2MjMuMC4wJyxcbiAgICAgIH07XG4gICAgY2FzZSBuZXR3b3Jrcy5iaXRjb2luc3Y6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcm9qZWN0UGF0aDogJ2JpdGNvaW4tc3YvYml0Y29pbi1zdicsXG4gICAgICAgIHRhZzogJ3YxLjAuOCcsXG4gICAgICB9O1xuICAgIGNhc2UgbmV0d29ya3MuYml0Y29pbmdvbGQ6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcm9qZWN0UGF0aDogJ0JUQ0dQVS9CVENHUFUnLFxuICAgICAgICB0YWc6ICd2MC4xNy4zJyxcbiAgICAgIH07XG4gICAgY2FzZSBuZXR3b3Jrcy5kYXNoOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJvamVjdFBhdGg6ICdkYXNocGF5L2Rhc2gnLFxuICAgICAgICB0YWc6ICd2MC4xNy4wLjMnLFxuICAgICAgfTtcbiAgICBjYXNlIG5ldHdvcmtzLmVjYXNoOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJvamVjdFBhdGg6ICdCaXRjb2luLUFCQy9iaXRjb2luLWFiYycsXG4gICAgICAgIHRhZzogJ3YwLjI2LjQnLFxuICAgICAgfTtcbiAgICBjYXNlIG5ldHdvcmtzLmRvZ2Vjb2luOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJvamVjdFBhdGg6ICdkb2dlY29pbi9kb2dlY29pbicsXG4gICAgICAgIHRhZzogJ3YxLjE0LjUnLFxuICAgICAgfTtcbiAgICBjYXNlIG5ldHdvcmtzLmxpdGVjb2luOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJvamVjdFBhdGg6ICdsaXRlY29pbi1wcm9qZWN0L2xpdGVjb2luJyxcbiAgICAgICAgdGFnOiAndjAuMTguMScsXG4gICAgICB9O1xuICAgIGNhc2UgbmV0d29ya3MuemNhc2g6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcm9qZWN0UGF0aDogJ3pjYXNoL3pjYXNoJyxcbiAgICAgICAgdGFnOiAndjQuNC4xJyxcbiAgICAgIH07XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGAke2dldE5ldHdvcmtOYW1lKG5ldHdvcmspfSBub3Qgc3VwcG9ydGVkYCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkRmlsZShuZXR3b3JrOiBOZXR3b3JrLCBwYXRoOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCByb290ID0gZ2V0QXJjaGl2ZVJvb3QoZ2V0Rml4dHVyZUluZm8obmV0d29yaykpO1xuICByZXR1cm4gYXdhaXQgZnMucmVhZEZpbGUoYHRlc3QvZml4dHVyZXNfdGhpcmRwYXJ0eS9ub2Rlcy8ke3Jvb3R9L3NyYy90ZXN0L2RhdGEvJHtwYXRofWAsICd1dGY4Jyk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkSlNPTjxUPihuZXR3b3JrOiBOZXR3b3JrLCBwYXRoOiBzdHJpbmcpOiBQcm9taXNlPFQ+IHtcbiAgcmV0dXJuIEpTT04ucGFyc2UoYXdhaXQgcmVhZEZpbGUobmV0d29yaywgcGF0aCkpO1xufVxuXG5leHBvcnQgY29uc3Qgc2lnSGFzaFRlc3RGaWxlID0gJ3NpZ2hhc2guanNvbic7XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpdGNvaW4vYmxvYi92MC4yMS4xL3NyYy90ZXN0L2RhdGEvc2lnaGFzaC5qc29uI0wyXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi1jYXNoLW5vZGUvYml0Y29pbi1jYXNoLW5vZGUvYmxvYi9tYXN0ZXIvc3JjL3Rlc3QvZGF0YS9zaWdoYXNoLmpzb25cbmV4cG9ydCB0eXBlIFNpZ0hhc2hUZXN0VmVjdG9yID0gW1xuICByYXdUcmFuc2FjdGlvbjogc3RyaW5nLFxuICBzY3JpcHQ6IHN0cmluZyxcbiAgaW5wdXRJbmRleDogbnVtYmVyLFxuICBoYXNoVHlwZTogbnVtYmVyLFxuICBzaWduYXR1cmVIYXNoOiBzdHJpbmdcbiAgLy8gQkNIIGFuZCBCU1YgaGF2ZSB0d28gZXh0cmEgZW50cmllcyB0aGF0IHdlIGRvbid0IGNhcmUgYWJvdW50XG5dO1xuXG5leHBvcnQgdHlwZSBaY2FzaFNpZ0hhc2hUZXN0VmVjdG9yID0gW1xuICByYXdUcmFuc2FjdGlvbjogc3RyaW5nLFxuICBzY3JpcHQ6IHN0cmluZyxcbiAgaW5wdXRJbmRleDogbnVtYmVyLFxuICBoYXNoVHlwZTogbnVtYmVyLFxuICBicmFuY2hJZDogbnVtYmVyLFxuICBzaWduYXR1cmVIYXNoOiBzdHJpbmdcbl07XG5cbmV4cG9ydCBjb25zdCB0eFZhbGlkVGVzdEZpbGUgPSAndHhfdmFsaWQuanNvbic7XG5leHBvcnQgdHlwZSBUeFZhbGlkVmVjdG9yID0gW1xuICBpbnB1dERhdGE6IFtwcmV2b3V0SGFzaDogc3RyaW5nLCBwcmV2b3V0SW5kZXg6IHN0cmluZywgcHJldm91dFNjcmlwdFB1YktleTogc3RyaW5nXVtdLFxuICBzZXJpYWxpemVkVHJhbnNhY3Rpb246IHN0cmluZyxcbiAgdmVyaWZ5RmxhZ3M6IHN0cmluZ1xuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRlc3RGaXh0dXJlPFQ+KFxuICBjdHg6IE1vY2hhLlN1aXRlLFxuICBuZXR3b3JrOiBOZXR3b3JrLFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICBjYWxsYmFjazogKHRoaXM6IE1vY2hhLkNvbnRleHQsIGRhdGE6IFQpID0+IHZvaWRcbik6IHZvaWQge1xuICBpdChmaWxlbmFtZSwgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNhbGxiYWNrLmNhbGwodGhpcywgYXdhaXQgcmVhZEpTT04obmV0d29yaywgZmlsZW5hbWUpKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0Rml4dHVyZUFycmF5PFQ+KFxuICBjdHg6IE1vY2hhLlN1aXRlLFxuICBuZXR3b3JrOiBOZXR3b3JrLFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICBjYWxsYmFjazogKHRoaXM6IE1vY2hhLkNvbnRleHQsIGRhdGE6IFRbXSkgPT4gdm9pZFxuKTogdm9pZCB7XG4gIHRlc3RGaXh0dXJlPFRbXT4oY3R4LCBuZXR3b3JrLCBmaWxlbmFtZSwgZnVuY3Rpb24gKGFycjogVFtdKSB7XG4gICAgY2FsbGJhY2suY2FsbChcbiAgICAgIHRoaXMsXG4gICAgICBhcnIuZmlsdGVyKCh2OiB1bmtub3duKSA9PiAodiBhcyBzdHJpbmdbXSkubGVuZ3RoICE9PSAxKVxuICAgICk7XG4gIH0pO1xufVxuIl19Выполнить команду
Для локальной разработки. Не используйте в интернете!