From abb99857825c032a0e5cdd911543147ca72cfa8c Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Sun, 3 Jan 2021 10:32:16 +0100 Subject: [PATCH] Start of new parachain module (#4309) --- packages/apps-routing/src/parachains.ts | 3 +- .../src/Overview/Parachain.tsx | 100 ++-------- .../src/Overview/Parachains.tsx | 18 +- .../page-parachains/src/Overview/Proposal.tsx | 53 ------ .../src/Overview/Proposals.tsx | 44 ----- .../page-parachains/src/Overview/Register.tsx | 145 --------------- .../page-parachains/src/Overview/Summary.tsx | 19 +- .../page-parachains/src/Overview/Upcoming.tsx | 44 +++++ .../page-parachains/src/Overview/index.tsx | 54 ++---- .../page-parachains/src/Overview/types.ts | 9 - .../src/Parachain/Deregister.tsx | 83 --------- .../page-parachains/src/Parachain/Details.tsx | 75 -------- .../src/Parachain/DispatchQueue.tsx | 50 ----- .../page-parachains/src/Parachain/index.tsx | 143 --------------- .../page-parachains/src/ParachainInfo.tsx | 45 ----- packages/page-parachains/src/Transfer.tsx | 171 ------------------ packages/page-parachains/src/index.tsx | 38 +--- packages/page-parachains/src/util.ts | 13 -- 18 files changed, 94 insertions(+), 1013 deletions(-) delete mode 100644 packages/page-parachains/src/Overview/Proposal.tsx delete mode 100644 packages/page-parachains/src/Overview/Proposals.tsx delete mode 100644 packages/page-parachains/src/Overview/Register.tsx create mode 100644 packages/page-parachains/src/Overview/Upcoming.tsx delete mode 100644 packages/page-parachains/src/Overview/types.ts delete mode 100644 packages/page-parachains/src/Parachain/Deregister.tsx delete mode 100644 packages/page-parachains/src/Parachain/Details.tsx delete mode 100644 packages/page-parachains/src/Parachain/DispatchQueue.tsx delete mode 100644 packages/page-parachains/src/Parachain/index.tsx delete mode 100644 packages/page-parachains/src/ParachainInfo.tsx delete mode 100644 packages/page-parachains/src/Transfer.tsx delete mode 100644 packages/page-parachains/src/util.ts diff --git a/packages/apps-routing/src/parachains.ts b/packages/apps-routing/src/parachains.ts index 6811dd22d0..794cca05b0 100644 --- a/packages/apps-routing/src/parachains.ts +++ b/packages/apps-routing/src/parachains.ts @@ -11,7 +11,8 @@ export default function create (t: TFunction): Route { Component, display: { needsApi: [ - ['query.parachains.code', 'query.parachainUpgrade.didUpdateVFPs'] + // children - parachainInfo.arachainId / parachainUpgrade.didSetValidationCode + ['query.paras.parachains'] ] }, group: 'network', diff --git a/packages/page-parachains/src/Overview/Parachain.tsx b/packages/page-parachains/src/Overview/Parachain.tsx index 3c67de8d3b..3b305bda7b 100644 --- a/packages/page-parachains/src/Overview/Parachain.tsx +++ b/packages/page-parachains/src/Overview/Parachain.tsx @@ -1,24 +1,18 @@ // Copyright 2017-2020 @polkadot/app-parachains authors & contributors // SPDX-License-Identifier: Apache-2.0 -import type { DeriveParachain } from '@polkadot/api-derive/types'; import type { ThemeProps } from '@polkadot/react-components/types'; import type { Option } from '@polkadot/types'; -import type { HeadData } from '@polkadot/types/interfaces'; +import type { BlockNumber, HeadData, ParaId } from '@polkadot/types/interfaces'; -import React, { useCallback } from 'react'; -import { useHistory } from 'react-router-dom'; +import React from 'react'; import styled from 'styled-components'; -import { Badge, Button, Icon } from '@polkadot/react-components'; import { useApi, useCall } from '@polkadot/react-hooks'; -import { formatNumber } from '@polkadot/util'; - -import { useTranslation } from '../translate'; interface Props { className?: string; - parachain: DeriveParachain; + id: ParaId; } const transformHead = { @@ -33,94 +27,32 @@ const transformHead = { } }; -function Parachain ({ className = '', parachain: { didUpdate, id, info, pendingSwapId, relayDispatchQueueSize = 0 } }: Props): React.ReactElement { - const { t } = useTranslation(); - const { api } = useApi(); - const headHex = useCall(api.query.parachains.heads, [id], transformHead); - const history = useHistory(); +const transformMark = { + transform: (watermark: Option): string | null => + watermark.isSome + ? watermark.unwrap().toHuman() + : null +}; - const _onClick = useCallback( - () => history.push(`/parachains/${id.toString()}`), - [history, id] - ); +function Parachain ({ className = '', id }: Props): React.ReactElement { + const { api } = useApi(); + const headHex = useCall(api.query.paras.heads, [id], transformHead); + const watermark = useCall(api.query.hrmp.hrmpWatermarks, [id], transformMark); return ( - +

{id.toString()}

- -
- ('Updated in the latest block') - : t('Not updated in the last block') - } - info={} - /> - ('{{relayDispatchQueueSize}} dispatch messages pending', { replace: { relayDispatchQueueSize } })} - info={formatNumber(relayDispatchQueueSize)} - /> -
- + {headHex} - - {pendingSwapId?.toString()} - - - {info?.scheduling?.toString() || t('')} - - -