PHP WebShell

Текущая директория: /opt/BitGoJS/modules/blockapis/dist/test

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

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const assert = require("node:assert");
const src_1 = require("../src");
const fixtures_1 = require("./fixtures");
const http_util_1 = require("./http.util");
/**
 * Get the fixture for this test case.
 * @param api
 * @param name
 * @param defaultValue
 */
async function getFixtureForApi(api, name, defaultValue) {
    const filename = ['BlockApi', api.constructor.name, name, 'json'].join('.');
    return await (0, fixtures_1.getFixture)(`${__dirname}/fixtures/${filename}`, defaultValue);
}
function testBlockApi(api) {
    describe(`BlockApi ${api.constructor.name}`, function () {
        const heights = [0, 210000, 420000, 630000, 840000];
        it('fetches block hashes by height', async function () {
            this.timeout(10000);
            const result = await Promise.all(heights.map((h) => api.getBlockIdAtHeight(h)));
            assert.deepStrictEqual(result, [
                '000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f',
                '000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e',
                '000000000000000002cce816c0ab2c5c269cb081896b7dcb34b8422d6b74ffa1',
                '000000000000000000024bead8df69990852c202db0e0097c1a12ea637d7e96d',
                '0000000000000000000320283a032748cef8227873ff4872689bf23f1cda83a5',
            ]);
        });
        it('fetches txids list in block', async function () {
            this.timeout(10000);
            const hash = await api.getBlockIdAtHeight(840000);
            const result = await api.getTransactionIds(hash);
            assert.deepStrictEqual(result, await getFixtureForApi(api, `getTransactionIds.840k`, result));
        });
    });
}
testBlockApi(src_1.BlockstreamApi.forCoin('btc', { httpClient: (0, http_util_1.getHttpClient)('blockstream') }));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tBcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L0Jsb2NrQXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0Esc0NBQXNDO0FBRXRDLGdDQUFrRDtBQUNsRCx5Q0FBd0M7QUFDeEMsMkNBQTRDO0FBRTVDOzs7OztHQUtHO0FBQ0gsS0FBSyxVQUFVLGdCQUFnQixDQUFJLEdBQWEsRUFBRSxJQUFZLEVBQUUsWUFBZ0I7SUFDOUUsTUFBTSxRQUFRLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1RSxPQUFPLE1BQU0sSUFBQSxxQkFBVSxFQUFDLEdBQUcsU0FBUyxhQUFhLFFBQVEsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBQzdFLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxHQUFhO0lBQ2pDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDM0MsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTyxFQUFFLE1BQU8sRUFBRSxNQUFPLEVBQUUsTUFBTyxDQUFDLENBQUM7UUFDeEQsRUFBRSxDQUFDLGdDQUFnQyxFQUFFLEtBQUs7WUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFNLENBQUMsQ0FBQztZQUNyQixNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoRixNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRTtnQkFDN0Isa0VBQWtFO2dCQUNsRSxrRUFBa0U7Z0JBQ2xFLGtFQUFrRTtnQkFDbEUsa0VBQWtFO2dCQUNsRSxrRUFBa0U7YUFDbkUsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsNkJBQTZCLEVBQUUsS0FBSztZQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQU0sQ0FBQyxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxHQUFHLE1BQU0sR0FBRyxDQUFDLGtCQUFrQixDQUFDLE1BQU8sQ0FBQyxDQUFDO1lBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pELE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUMsR0FBRyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDaEcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxZQUFZLENBQUMsb0JBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUEseUJBQWEsRUFBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHQgfSBmcm9tICdtb2NoYSc7XG5pbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnbm9kZTphc3NlcnQnO1xuXG5pbXBvcnQgeyBCbG9ja0FwaSwgQmxvY2tzdHJlYW1BcGkgfSBmcm9tICcuLi9zcmMnO1xuaW1wb3J0IHsgZ2V0Rml4dHVyZSB9IGZyb20gJy4vZml4dHVyZXMnO1xuaW1wb3J0IHsgZ2V0SHR0cENsaWVudCB9IGZyb20gJy4vaHR0cC51dGlsJztcblxuLyoqXG4gKiBHZXQgdGhlIGZpeHR1cmUgZm9yIHRoaXMgdGVzdCBjYXNlLlxuICogQHBhcmFtIGFwaVxuICogQHBhcmFtIG5hbWVcbiAqIEBwYXJhbSBkZWZhdWx0VmFsdWVcbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0Rml4dHVyZUZvckFwaTxUPihhcGk6IEJsb2NrQXBpLCBuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IFQpOiBQcm9taXNlPFQ+IHtcbiAgY29uc3QgZmlsZW5hbWUgPSBbJ0Jsb2NrQXBpJywgYXBpLmNvbnN0cnVjdG9yLm5hbWUsIG5hbWUsICdqc29uJ10uam9pbignLicpO1xuICByZXR1cm4gYXdhaXQgZ2V0Rml4dHVyZShgJHtfX2Rpcm5hbWV9L2ZpeHR1cmVzLyR7ZmlsZW5hbWV9YCwgZGVmYXVsdFZhbHVlKTtcbn1cblxuZnVuY3Rpb24gdGVzdEJsb2NrQXBpKGFwaTogQmxvY2tBcGkpIHtcbiAgZGVzY3JpYmUoYEJsb2NrQXBpICR7YXBpLmNvbnN0cnVjdG9yLm5hbWV9YCwgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGhlaWdodHMgPSBbMCwgMjEwXzAwMCwgNDIwXzAwMCwgNjMwXzAwMCwgODQwXzAwMF07XG4gICAgaXQoJ2ZldGNoZXMgYmxvY2sgaGFzaGVzIGJ5IGhlaWdodCcsIGFzeW5jIGZ1bmN0aW9uICh0aGlzOiBDb250ZXh0KSB7XG4gICAgICB0aGlzLnRpbWVvdXQoMTBfMDAwKTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFByb21pc2UuYWxsKGhlaWdodHMubWFwKChoKSA9PiBhcGkuZ2V0QmxvY2tJZEF0SGVpZ2h0KGgpKSk7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHJlc3VsdCwgW1xuICAgICAgICAnMDAwMDAwMDAwMDE5ZDY2ODljMDg1YWUxNjU4MzFlOTM0ZmY3NjNhZTQ2YTJhNmMxNzJiM2YxYjYwYThjZTI2ZicsXG4gICAgICAgICcwMDAwMDAwMDAwMDAwNDhiOTUzNDdlODMxOTJmNjljZjAzNjYwNzYzMzZjNjM5ZjliNzIyOGU5YmExNzEzNDJlJyxcbiAgICAgICAgJzAwMDAwMDAwMDAwMDAwMDAwMmNjZTgxNmMwYWIyYzVjMjY5Y2IwODE4OTZiN2RjYjM0Yjg0MjJkNmI3NGZmYTEnLFxuICAgICAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDI0YmVhZDhkZjY5OTkwODUyYzIwMmRiMGUwMDk3YzFhMTJlYTYzN2Q3ZTk2ZCcsXG4gICAgICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMzIwMjgzYTAzMjc0OGNlZjgyMjc4NzNmZjQ4NzI2ODliZjIzZjFjZGE4M2E1JyxcbiAgICAgIF0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2ZldGNoZXMgdHhpZHMgbGlzdCBpbiBibG9jaycsIGFzeW5jIGZ1bmN0aW9uICh0aGlzOiBDb250ZXh0KSB7XG4gICAgICB0aGlzLnRpbWVvdXQoMTBfMDAwKTtcbiAgICAgIGNvbnN0IGhhc2ggPSBhd2FpdCBhcGkuZ2V0QmxvY2tJZEF0SGVpZ2h0KDg0MF8wMDApO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYXBpLmdldFRyYW5zYWN0aW9uSWRzKGhhc2gpO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChyZXN1bHQsIGF3YWl0IGdldEZpeHR1cmVGb3JBcGkoYXBpLCBgZ2V0VHJhbnNhY3Rpb25JZHMuODQwa2AsIHJlc3VsdCkpO1xuICAgIH0pO1xuICB9KTtcbn1cblxudGVzdEJsb2NrQXBpKEJsb2Nrc3RyZWFtQXBpLmZvckNvaW4oJ2J0YycsIHsgaHR0cENsaWVudDogZ2V0SHR0cENsaWVudCgnYmxvY2tzdHJlYW0nKSB9KSk7XG4iXX0=

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


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