PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@polkadot/api-derive/staking
Просмотр файла: keys.js
import { combineLatest, map, of, switchMap } from 'rxjs';
import { firstMemo, memo } from '../util/index.js';
function extractsIds(stashId, queuedKeys, nextKeys) {
const sessionIds = (queuedKeys.find(([currentId]) => currentId.eq(stashId)) || [undefined, []])[1];
const nextSessionIds = nextKeys.unwrapOr([]);
return {
nextSessionIds: Array.isArray(nextSessionIds)
? nextSessionIds
: [...nextSessionIds.values()],
sessionIds: Array.isArray(sessionIds)
? sessionIds
: [...sessionIds.values()]
};
}
export const keys = /*#__PURE__*/ firstMemo((api, stashId) => api.derive.staking.keysMulti([stashId]));
export function keysMulti(instanceId, api) {
return memo(instanceId, (stashIds) => stashIds.length
? api.query.session.queuedKeys().pipe(switchMap((queuedKeys) => combineLatest([
of(queuedKeys),
api.consts['session']?.['dedupKeyPrefix']
? api.query.session.nextKeys.multi(stashIds.map((s) => [api.consts['session']['dedupKeyPrefix'], s]))
: combineLatest(stashIds.map((s) => api.query.session.nextKeys(s)))
])), map(([queuedKeys, nextKeys]) => stashIds.map((stashId, index) => extractsIds(stashId, queuedKeys, nextKeys[index]))))
: of([]));
}
Выполнить команду
Для локальной разработки. Не используйте в интернете!