From f59d3c8a39fc5b9989b8df7fa8e08084a90dc8a0 Mon Sep 17 00:00:00 2001 From: Jaco Date: Sat, 16 Jul 2022 09:49:36 +0200 Subject: [PATCH] Always use author from api.derive.chain (#7867) --- packages/page-explorer/src/BlockHeader.tsx | 14 ++++---------- packages/react-query/src/BlockAuthors.tsx | 18 ++---------------- 2 files changed, 6 insertions(+), 26 deletions(-) diff --git a/packages/page-explorer/src/BlockHeader.tsx b/packages/page-explorer/src/BlockHeader.tsx index 2ef8290d1b..59d61fb1e3 100644 --- a/packages/page-explorer/src/BlockHeader.tsx +++ b/packages/page-explorer/src/BlockHeader.tsx @@ -9,12 +9,8 @@ import { Link } from 'react-router-dom'; import { AddressMini, Digits } from '@polkadot/react-components'; import { formatNumber } from '@polkadot/util'; -// TODO update HeaderExtended in api-derive -export interface HeaderExtendedWithMapping extends HeaderExtended { - authorFromMapping?: string; -} interface Props { - value: HeaderExtendedWithMapping; + value: HeaderExtended; } function BlockHeader ({ value }: Props): React.ReactElement | null { @@ -31,11 +27,9 @@ function BlockHeader ({ value }: Props): React.ReactElement | null { {hashHex} - {value.authorFromMapping - ? - : value.author && ( - - )} + {value.author && ( + + )} ); diff --git a/packages/react-query/src/BlockAuthors.tsx b/packages/react-query/src/BlockAuthors.tsx index d93aff25f3..a6dd4e0b3e 100644 --- a/packages/react-query/src/BlockAuthors.tsx +++ b/packages/react-query/src/BlockAuthors.tsx @@ -3,12 +3,11 @@ import type { HeaderExtended } from '@polkadot/api-derive/types'; import type { EraRewardPoints } from '@polkadot/types/interfaces'; -import type { Codec, IOption } from '@polkadot/types/types'; import React, { useEffect, useState } from 'react'; import { useApi, useCall } from '@polkadot/react-hooks'; -import { formatNumber, isFunction } from '@polkadot/util'; +import { formatNumber } from '@polkadot/util'; // TODO update HeaderExtended in api-derive export interface HeaderExtendedWithMapping extends HeaderExtended { @@ -47,8 +46,6 @@ function BlockAuthorsBase ({ children }: Props): React.ReactElement { let lastHeaders: HeaderExtendedWithMapping[] = []; let lastBlockAuthors: string[] = []; let lastBlockNumber = ''; - // Some blockchains such as Moonbeam need to fetch the author accountId from a mapping - const isAuthorMappingWithDeposit = isFunction(api.query.authorMapping?.mappingWithDeposit); // subscribe to all validators api.query.session && api.query.session.validators((validatorIds): void => { @@ -56,24 +53,13 @@ function BlockAuthorsBase ({ children }: Props): React.ReactElement { }).catch(console.error); // subscribe to new headers - api.derive.chain.subscribeNewHeads(async (lastHeader: HeaderExtendedWithMapping): Promise => { + api.derive.chain.subscribeNewHeads((lastHeader: HeaderExtended): void => { if (lastHeader?.number) { const blockNumber = lastHeader.number.unwrap(); let thisBlockAuthor = ''; - // Check for digest type - const hasConsensusDigest = lastHeader.digest.logs && lastHeader.digest.logs[0] && lastHeader.digest.logs[0].isConsensus && lastHeader.digest.logs[0].asConsensus[1]; - const hasPreRuntimeDigest = lastHeader.digest.logs && lastHeader.digest.logs[0] && lastHeader.digest.logs[0].isPreRuntime && lastHeader.digest.logs[0].asPreRuntime[1]; - if (lastHeader.author) { thisBlockAuthor = lastHeader.author.toString(); - } else if (isAuthorMappingWithDeposit && (hasConsensusDigest || hasPreRuntimeDigest)) { // Check for a Digest - // Some blockchains such as Moonbeam need to fetch the author accountId from a mapping - const optMap = await api.query.authorMapping.mappingWithDeposit>(hasConsensusDigest ? lastHeader.digest.logs[0].asConsensus[1] : lastHeader.digest.logs[0].asPreRuntime[1]); - - if (optMap.isSome) { - lastHeader.authorFromMapping = thisBlockAuthor = optMap.unwrap().account.toString(); - } } const thisBlockNumber = formatNumber(blockNumber);