From c0c09f1488f7dee670892ca0ca608e30c7c7195c Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Fri, 26 Mar 2021 08:33:12 +0100 Subject: [PATCH] Fix actionQueue session counter (#4940) * Fix session counter * Fix param types --- .../src/Overview/LeaseBlocks.tsx | 2 -- .../src/Overview/useActionsQueue.ts | 32 +++++++++++-------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/packages/page-parachains/src/Overview/LeaseBlocks.tsx b/packages/page-parachains/src/Overview/LeaseBlocks.tsx index ec1bdc0dc7..ca687228df 100644 --- a/packages/page-parachains/src/Overview/LeaseBlocks.tsx +++ b/packages/page-parachains/src/Overview/LeaseBlocks.tsx @@ -17,8 +17,6 @@ interface Props { } function LeaseBlocks ({ children, className, leasePeriod, value }: Props): React.ReactElement | null { - console.log(JSON.stringify({ leasePeriod, value })); - const blocks = useMemo( () => leasePeriod && value && bnToBn(value) diff --git a/packages/page-parachains/src/Overview/useActionsQueue.ts b/packages/page-parachains/src/Overview/useActionsQueue.ts index 131196f4f6..84a191cd39 100644 --- a/packages/page-parachains/src/Overview/useActionsQueue.ts +++ b/packages/page-parachains/src/Overview/useActionsQueue.ts @@ -1,33 +1,37 @@ // Copyright 2017-2021 @polkadot/app-parachains authors & contributors // SPDX-License-Identifier: Apache-2.0 +import type BN from 'bn.js'; import type { ParaId, SessionIndex } from '@polkadot/types/interfaces'; import type { QueuedAction } from './types'; import { useMemo } from 'react'; -import { useApi, useCall, useCallMulti } from '@polkadot/react-hooks'; -import { BN_FIVE, BN_FOUR, BN_ONE, BN_THREE, BN_TWO } from '@polkadot/util'; +import { useApi, useCall } from '@polkadot/react-hooks'; +import { BN_EIGHT, BN_FIVE, BN_FOUR, BN_NINE, BN_ONE, BN_SEVEN, BN_SIX, BN_TEN, BN_THREE, BN_TWO } from '@polkadot/util'; -const INC = [BN_ONE, BN_TWO, BN_THREE, BN_FOUR, BN_FIVE]; +const INC = [BN_ONE, BN_TWO, BN_THREE, BN_FOUR, BN_FIVE, BN_SIX, BN_SEVEN, BN_EIGHT, BN_NINE, BN_TEN]; + +const callOpts = { + withParams: true +}; export default function useActionsQueue (): QueuedAction[] { const { api } = useApi(); const currentIndex = useCall(api.query.session.currentIndex); - const nextActions = useCallMulti( - currentIndex - ? INC.map((inc) => [api.query.paras.actionsQueue, currentIndex.add(inc)]) - : [] - ); + const queryIndexes = useMemo(() => currentIndex && INC.map((i) => currentIndex.add(i)), [currentIndex]); + const nextActions = useCall<[[BN[]], ParaId[][]]>(queryIndexes && api.query.paras.actionsQueue.multi, [queryIndexes], callOpts); return useMemo( (): QueuedAction[] => - currentIndex && nextActions - ? nextActions.filter((paraIds) => paraIds.length).map((paraIds, index) => ({ - paraIds, - sessionIndex: currentIndex.add(INC[index]) - })) + nextActions + ? nextActions[0][0] + .map((sessionIndex, index) => ({ + paraIds: nextActions[1][index], + sessionIndex + })) + .filter(({ paraIds }) => paraIds.length) : [], - [currentIndex, nextActions] + [nextActions] ); }