From e55a18689bdc0866d0e75ff4076b596d8a90cd81 Mon Sep 17 00:00:00 2001 From: Antoine Estienne Date: Mon, 5 Jul 2021 15:02:48 +0200 Subject: [PATCH] Add chainType to chainInfo (#5766) * add chainType * Update packages/page-settings/src/types.ts Co-authored-by: Jaco Co-authored-by: Jaco --- packages/page-settings/src/types.ts | 3 +++ packages/page-settings/src/useChainInfo.ts | 9 +++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/page-settings/src/types.ts b/packages/page-settings/src/types.ts index 2ceb00dee3..a11e31ea41 100644 --- a/packages/page-settings/src/types.ts +++ b/packages/page-settings/src/types.ts @@ -3,6 +3,9 @@ import type { MetadataDef } from '@polkadot/extension-inject/types'; +type ChainType = 'substrate' | 'ethereum'; + export interface ChainInfo extends MetadataDef { color: string | undefined; + chainType: ChainType; } diff --git a/packages/page-settings/src/useChainInfo.ts b/packages/page-settings/src/useChainInfo.ts index 1903b3c0ea..4a55c57faa 100644 --- a/packages/page-settings/src/useChainInfo.ts +++ b/packages/page-settings/src/useChainInfo.ts @@ -12,9 +12,10 @@ import { useApi } from '@polkadot/react-hooks'; import { getSpecTypes } from '@polkadot/types-known'; import { formatBalance, isNumber } from '@polkadot/util'; -function createInfo (api: ApiPromise, systemChain: string, systemName: string, specName: string): ChainInfo { +function createInfo (api: ApiPromise, systemChain: string, systemName: string, specName: string, isEthereum: boolean): ChainInfo { return { chain: systemChain, + chainType: isEthereum ? 'ethereum' : 'substrate', color: getSystemColor(systemChain, systemName, specName), genesisHash: api.genesisHash.toHex(), icon: getSystemIcon(systemName, specName), @@ -28,12 +29,12 @@ function createInfo (api: ApiPromise, systemChain: string, systemName: string, s } export default function useChainInfo (): ChainInfo | null { - const { api, isApiReady, specName, systemChain, systemName } = useApi(); + const { api, isApiReady, isEthereum, specName, systemChain, systemName } = useApi(); return useMemo( () => isApiReady - ? createInfo(api, systemChain, systemName, specName) + ? createInfo(api, systemChain, systemName, specName, isEthereum) : null, - [api, isApiReady, specName, systemChain, systemName] + [api, isApiReady, specName, systemChain, systemName, isEthereum] ); }