From 850138facdefa6babe24bae47b82b8fe9d05071a Mon Sep 17 00:00:00 2001 From: Jaco Date: Fri, 29 Oct 2021 04:14:30 +0200 Subject: [PATCH] Use para types from metadata v14 (#6437) --- .../src/Overview/Lifecycle.tsx | 4 ++-- .../src/Overview/Parachain.tsx | 9 ++++---- .../src/Parathreads/Parathread.tsx | 7 ++++--- packages/page-parachains/src/types.ts | 9 ++++---- packages/page-parachains/src/useFunds.ts | 9 ++++---- packages/page-parachains/src/useOwnedIds.ts | 5 +++-- .../page-parachains/src/useUpcomingIds.ts | 21 ++++++++++++------- 7 files changed, 38 insertions(+), 26 deletions(-) diff --git a/packages/page-parachains/src/Overview/Lifecycle.tsx b/packages/page-parachains/src/Overview/Lifecycle.tsx index cb62ae8eed..18c857b2c6 100644 --- a/packages/page-parachains/src/Overview/Lifecycle.tsx +++ b/packages/page-parachains/src/Overview/Lifecycle.tsx @@ -1,7 +1,7 @@ // Copyright 2017-2021 @polkadot/app-parachains authors & contributors // SPDX-License-Identifier: Apache-2.0 -import type { ParaLifecycle } from '@polkadot/types/interfaces'; +import type { PolkadotRuntimeParachainsParasParaLifecycle } from '@polkadot/types/lookup'; import type { QueuedAction } from '../types'; import React from 'react'; @@ -9,7 +9,7 @@ import React from 'react'; import { SessionToTime } from '@polkadot/react-query'; interface Props { - lifecycle: ParaLifecycle | null; + lifecycle: PolkadotRuntimeParachainsParasParaLifecycle | null; nextAction?: QueuedAction; } diff --git a/packages/page-parachains/src/Overview/Parachain.tsx b/packages/page-parachains/src/Overview/Parachain.tsx index dac853b42c..9233085289 100644 --- a/packages/page-parachains/src/Overview/Parachain.tsx +++ b/packages/page-parachains/src/Overview/Parachain.tsx @@ -2,7 +2,8 @@ // SPDX-License-Identifier: Apache-2.0 import type { Option, Vec } from '@polkadot/types'; -import type { AccountId, BalanceOf, BlockNumber, CandidatePendingAvailability, GroupIndex, HeadData, ParaId, ParaInfo, ParaLifecycle } from '@polkadot/types/interfaces'; +import type { AccountId, BalanceOf, BlockNumber, CandidatePendingAvailability, GroupIndex, HeadData, ParaId } from '@polkadot/types/interfaces'; +import type { PolkadotRuntimeCommonParasRegistrarParaInfo, PolkadotRuntimeParachainsParasParaLifecycle } from '@polkadot/types/lookup'; import type { Codec, ITuple } from '@polkadot/types/types'; import type { LeasePeriod, QueuedAction } from '../types'; import type { EventMapInfo, ValidatorInfo } from './types'; @@ -35,13 +36,13 @@ interface Props { validators?: [GroupIndex, ValidatorInfo[]]; } -type QueryResult = [Option, Option, Option, Vec, Vec, Vec, Vec, Option, Option, Option, Option>[]]; +type QueryResult = [Option, Option, Option, Vec, Vec, Vec, Vec, Option, Option, Option, Option>[]]; interface QueryState { headHex: string | null; leases: number[]; - lifecycle: ParaLifecycle | null; - paraInfo: ParaInfo | null; + lifecycle: PolkadotRuntimeParachainsParasParaLifecycle | null; + paraInfo: PolkadotRuntimeCommonParasRegistrarParaInfo | null; pendingAvail: CandidatePendingAvailability | null; updateAt: BlockNumber | null; qDmp: number; diff --git a/packages/page-parachains/src/Parathreads/Parathread.tsx b/packages/page-parachains/src/Parathreads/Parathread.tsx index 382c8fc42f..137dc3469d 100644 --- a/packages/page-parachains/src/Parathreads/Parathread.tsx +++ b/packages/page-parachains/src/Parathreads/Parathread.tsx @@ -2,7 +2,8 @@ // SPDX-License-Identifier: Apache-2.0 import type { Option } from '@polkadot/types'; -import type { AccountId, HeadData, ParaGenesisArgs, ParaId, ParaInfo, ParaLifecycle } from '@polkadot/types/interfaces'; +import type { AccountId, HeadData, ParaId } from '@polkadot/types/interfaces'; +import type { PolkadotRuntimeCommonParasRegistrarParaInfo, PolkadotRuntimeParachainsParasParaGenesisArgs, PolkadotRuntimeParachainsParasParaLifecycle } from '@polkadot/types/lookup'; import type { LeaseInfo, LeasePeriod, QueuedAction } from '../types'; import React, { useMemo } from 'react'; @@ -26,7 +27,7 @@ interface Props { interface MultiState { headHex: string | null; - lifecycle: ParaLifecycle | null; + lifecycle: PolkadotRuntimeParachainsParasParaLifecycle | null; manager: AccountId | null; } @@ -36,7 +37,7 @@ const optMulti = { lifecycle: null, manager: null }, - transform: ([optHead, optGenesis, optLifecycle, optInfo]: [Option, Option, Option, Option]): MultiState => ({ + transform: ([optHead, optGenesis, optLifecycle, optInfo]: [Option, Option, Option, Option]): MultiState => ({ headHex: optHead.isSome ? sliceHex(optHead.unwrap()) : optGenesis.isSome diff --git a/packages/page-parachains/src/types.ts b/packages/page-parachains/src/types.ts index 0430657782..ad1b73e612 100644 --- a/packages/page-parachains/src/types.ts +++ b/packages/page-parachains/src/types.ts @@ -2,9 +2,10 @@ // SPDX-License-Identifier: Apache-2.0 import type BN from 'bn.js'; -import type { AccountId, AuctionIndex, BalanceOf, BlockNumber, FundInfo, HrmpChannel, HrmpChannelId, LeasePeriodOf, ParachainProposal, ParaId, ParaInfo, SessionIndex } from '@polkadot/types/interfaces'; +import type { AccountId, AuctionIndex, BalanceOf, BlockNumber, LeasePeriodOf, ParachainProposal, ParaId, SessionIndex } from '@polkadot/types/interfaces'; +import type { PolkadotParachainPrimitivesHrmpChannelId, PolkadotRuntimeCommonCrowdloanFundInfo, PolkadotRuntimeCommonParasRegistrarParaInfo, PolkadotRuntimeParachainsHrmpHrmpChannel } from '@polkadot/types/lookup'; -export type ChannelMap = Record; +export type ChannelMap = Record; export interface AllChannels { dst: ChannelMap; @@ -49,7 +50,7 @@ export interface Campaigns { } export interface Campaign extends WinnerData { - info: FundInfo; + info: PolkadotRuntimeCommonCrowdloanFundInfo; isCapped?: boolean; isEnded?: boolean; isWinner?: boolean; @@ -71,7 +72,7 @@ export interface Proposals { export interface OwnedIdPartial { manager: string; paraId: ParaId; - paraInfo: ParaInfo; + paraInfo: PolkadotRuntimeCommonParasRegistrarParaInfo; } export interface OwnedId extends OwnedIdPartial { diff --git a/packages/page-parachains/src/useFunds.ts b/packages/page-parachains/src/useFunds.ts index 5f47e3e080..55e296107a 100644 --- a/packages/page-parachains/src/useFunds.ts +++ b/packages/page-parachains/src/useFunds.ts @@ -2,7 +2,8 @@ // SPDX-License-Identifier: Apache-2.0 import type { Option, StorageKey } from '@polkadot/types'; -import type { AccountId, BalanceOf, BlockNumber, FundInfo, ParaId } from '@polkadot/types/interfaces'; +import type { AccountId, BalanceOf, BlockNumber, ParaId } from '@polkadot/types/interfaces'; +import type { PolkadotRuntimeCommonCrowdloanFundInfo } from '@polkadot/types/lookup'; import type { ITuple } from '@polkadot/types/types'; import type { Campaign, Campaigns } from './types'; @@ -112,10 +113,10 @@ function createResult (bestNumber: BlockNumber, minContribution: BN, funds: Camp } const optFundMulti = { - transform: ([[paraIds], optFunds]: [[ParaId[]], Option[]]): Campaign[] => + transform: ([[paraIds], optFunds]: [[ParaId[]], Option[]]): Campaign[] => paraIds - .map((paraId, i): [ParaId, FundInfo | null] => [paraId, optFunds[i].unwrapOr(null)]) - .filter((v): v is [ParaId, FundInfo] => !!v[1]) + .map((paraId, i): [ParaId, PolkadotRuntimeCommonCrowdloanFundInfo | null] => [paraId, optFunds[i].unwrapOr(null)]) + .filter((v): v is [ParaId, PolkadotRuntimeCommonCrowdloanFundInfo] => !!v[1]) .map(([paraId, info]): Campaign => ({ accountId: encodeAddress(createAddress(paraId)), firstSlot: info.firstPeriod, diff --git a/packages/page-parachains/src/useOwnedIds.ts b/packages/page-parachains/src/useOwnedIds.ts index 00499b76df..1939969bad 100644 --- a/packages/page-parachains/src/useOwnedIds.ts +++ b/packages/page-parachains/src/useOwnedIds.ts @@ -2,7 +2,8 @@ // SPDX-License-Identifier: Apache-2.0 import type { Option, StorageKey } from '@polkadot/types'; -import type { Hash, ParaId, ParaInfo } from '@polkadot/types/interfaces'; +import type { Hash, ParaId } from '@polkadot/types/interfaces'; +import type { PolkadotRuntimeCommonParasRegistrarParaInfo } from '@polkadot/types/lookup'; import type { OwnedId, OwnedIdPartial } from './types'; import { useMemo } from 'react'; @@ -19,7 +20,7 @@ interface Owned { owned: OwnedIdPartial[]; } -function extractIds (entries: [StorageKey<[ParaId]>, Option][]): Owned { +function extractIds (entries: [StorageKey<[ParaId]>, Option][]): Owned { const owned = entries .map(([{ args: [paraId] }, optInfo]): OwnedIdPartial | null => { if (optInfo.isNone) { diff --git a/packages/page-parachains/src/useUpcomingIds.ts b/packages/page-parachains/src/useUpcomingIds.ts index a0755c5ff5..33e457d637 100644 --- a/packages/page-parachains/src/useUpcomingIds.ts +++ b/packages/page-parachains/src/useUpcomingIds.ts @@ -2,19 +2,20 @@ // SPDX-License-Identifier: Apache-2.0 import type { Option, StorageKey } from '@polkadot/types'; -import type { ParaId, ParaLifecycle } from '@polkadot/types/interfaces'; +import type { ParaId } from '@polkadot/types/interfaces'; +import type { PolkadotRuntimeParachainsParasParaLifecycle } from '@polkadot/types/lookup'; import { useApi, useEventTrigger, useMapEntries } from '@polkadot/react-hooks'; -function extractIds (entries: [StorageKey<[ParaId]>, Option][]): ParaId[] { +function extractIds (entries: [StorageKey<[ParaId]>, Option][]): ParaId[] { return entries .map(([{ args: [paraId] }, optValue]): ParaId | null => { - const value = optValue.unwrap(); + const value = optValue.unwrapOr(null); return value && ( value.isParathread || - value.isUpgradingToParachain || - value.isOutgoingParathread || + value.isUpgradingParathread || + value.isOffboardingParathread || value.isOnboarding ) ? paraId @@ -26,7 +27,13 @@ function extractIds (entries: [StorageKey<[ParaId]>, Option][]): export default function useUpomingIds (): ParaId[] | undefined { const { api } = useApi(); - const trigger = useEventTrigger([api.events.session.NewSession, api.events.registrar.Registered]); + const trigger = useEventTrigger([ + api.events.session.NewSession, + api.events.registrar.Registered + ]); - return useMapEntries(api.query.paras.paraLifecycles, { at: trigger.blockHash, transform: extractIds }); + return useMapEntries(api.query.paras.paraLifecycles, { + at: trigger.blockHash, + transform: extractIds + }); }