PHP WebShell

Текущая директория: /opt/BitGoJS/node_modules/@polkadot/api-derive/cjs/staking

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

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.erasPoints = void 0;
exports._erasPoints = _erasPoints;
const rxjs_1 = require("rxjs");
const util_1 = require("@polkadot/util");
const index_js_1 = require("../util/index.js");
const cache_js_1 = require("./cache.js");
const util_js_1 = require("./util.js");
const CACHE_KEY = 'eraPoints';
function mapValidators({ individual }) {
    return [...individual.entries()]
        .filter(([, points]) => points.gt(util_1.BN_ZERO))
        .reduce((result, [validatorId, points]) => {
        result[validatorId.toString()] = points;
        return result;
    }, {});
}
function mapPoints(eras, points) {
    return eras.map((era, index) => ({
        era,
        eraPoints: points[index].total,
        validators: mapValidators(points[index])
    }));
}
function _erasPoints(instanceId, api) {
    return (0, index_js_1.memo)(instanceId, (eras, withActive) => {
        if (!eras.length) {
            return (0, rxjs_1.of)([]);
        }
        const cached = (0, cache_js_1.getEraMultiCache)(CACHE_KEY, eras, withActive);
        const remaining = (0, util_js_1.filterEras)(eras, cached);
        return !remaining.length
            ? (0, rxjs_1.of)(cached)
            : api.query.staking.erasRewardPoints.multi(remaining).pipe((0, rxjs_1.map)((p) => (0, cache_js_1.filterCachedEras)(eras, cached, (0, cache_js_1.setEraMultiCache)(CACHE_KEY, withActive, mapPoints(remaining, p)))));
    });
}
exports.erasPoints = (0, util_js_1.erasHistoricApply)('_erasPoints');

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


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