diff --git a/packages/page-parachains/src/Overview/Parachain.tsx b/packages/page-parachains/src/Overview/Parachain.tsx index 24b3401cae..8d57feb905 100644 --- a/packages/page-parachains/src/Overview/Parachain.tsx +++ b/packages/page-parachains/src/Overview/Parachain.tsx @@ -3,7 +3,8 @@ import type { LinkOption } from '@polkadot/apps-config/settings/types'; import type { Option } from '@polkadot/types'; -import type { Balance, BlockNumber, HeadData, Header, ParaId } from '@polkadot/types/interfaces'; +import type { Balance, BlockNumber, HeadData, Header, ParaId, RelayChainBlockNumber } from '@polkadot/types/interfaces'; +import type { ITuple } from '@polkadot/types/types'; import BN from 'bn.js'; import React, { useMemo } from 'react'; @@ -39,6 +40,11 @@ const transformLast = { transform: (header: Header) => header.number.unwrap() }; +const transformUpgrade = { + transform: (opt: Option>): RelayChainBlockNumber | null => + opt.unwrapOr([null])[0] +}; + function getChainLink (endpoints: LinkOption[]): React.ReactNode { if (!endpoints.length) { return null; @@ -53,9 +59,9 @@ function Parachain ({ bestNumber, className = '', id, lastInclusion }: Props): R const { api } = useApi(); const { api: paraApi, endpoints } = useParaApi(id); const headHex = useCall(api.query.paras.heads, [id], transformHead); - // const watermark = useCall(api.query.hrmp?.hrmpWatermarks, [id], transformMark); const paraBest = useCall(paraApi?.derive.chain.bestNumber); const paraIssu = useCall(paraApi?.query.balances?.totalIssuance); + const updateAt = useCall(api.query.paras.futureCodeUpgrades, [id], transformUpgrade); const lastRelayNumber = useCall(lastInclusion && api.rpc.chain.getHeader, [lastInclusion && lastInclusion[1]], transformLast); const blockDelay = useMemo( @@ -80,8 +86,16 @@ function Parachain ({ bestNumber, className = '', id, lastInclusion }: Props): R ) } - {paraBest && formatNumber(paraBest)} - {paraIssu && } + {paraBest && <>{formatNumber(paraBest)}} + {paraIssu && } + + {updateAt && bestNumber && ( + <> + + #{formatNumber(updateAt)} + + )} + ); } diff --git a/packages/page-parachains/src/Overview/ParachainList.tsx b/packages/page-parachains/src/Overview/ParachainList.tsx index 08d15c9a4d..0afc0a44a6 100644 --- a/packages/page-parachains/src/Overview/ParachainList.tsx +++ b/packages/page-parachains/src/Overview/ParachainList.tsx @@ -57,9 +57,10 @@ function ParachainList ({ ids }: Props): React.ReactElement { const headerRef = useRef([ [t('parachains'), 'start', 2], [t('heads'), 'start'], - [t('relay parent'), 'undefined', 2], - [t('chain best')], - [t('issuance')] + [t('relay parent'), undefined, 2], + [t('chain best'), 'media--900'], + [t('issuance'), 'media--1100'], + [t('upgrade'), ' media--1200'] ]); return (