PHP WebShell

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

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

import { map, of } from 'rxjs';
import { isFunction } from '@polkadot/util';
import { memo } from '../util/index.js';
function parseFlags(address, [electionsMembers, councilMembers, technicalCommitteeMembers, societyMembers, sudoKey]) {
    const addrStr = address?.toString();
    const isIncluded = (id) => id.toString() === addrStr;
    return {
        isCouncil: (electionsMembers?.map((r) => Array.isArray(r) ? r[0] : r.who) || councilMembers || []).some(isIncluded),
        isSociety: (societyMembers || []).some(isIncluded),
        isSudo: sudoKey?.toString() === addrStr,
        isTechCommittee: (technicalCommitteeMembers || []).some(isIncluded)
    };
}
export function _flags(instanceId, api) {
    return memo(instanceId, () => {
        const results = [undefined, [], [], [], undefined];
        const calls = [
            (api.query.elections || api.query['phragmenElection'] || api.query['electionsPhragmen'])?.members,
            api.query.council?.members,
            api.query.technicalCommittee?.members,
            api.query.society?.members,
            api.query.sudo?.key
        ];
        const filtered = calls.filter((c) => c);
        if (!filtered.length) {
            return of(results);
        }
        return api.queryMulti(filtered).pipe(map((values) => {
            let resultIndex = -1;
            for (let i = 0, count = calls.length; i < count; i++) {
                if (isFunction(calls[i])) {
                    results[i] = values[++resultIndex];
                }
            }
            return results;
        }));
    });
}
/**
 * @name info
 * @description Returns account membership flags
 */
export function flags(instanceId, api) {
    return memo(instanceId, (address) => api.derive.accounts._flags().pipe(map((r) => parseFlags(address, r))));
}

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


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