diff --git a/packages/page-staking/src/Pools/usePoolInfo.ts b/packages/page-staking/src/Pools/usePoolInfo.ts index f548043e2d..65028be4c3 100644 --- a/packages/page-staking/src/Pools/usePoolInfo.ts +++ b/packages/page-staking/src/Pools/usePoolInfo.ts @@ -20,9 +20,11 @@ const OPT_MULTI = { ? { bonded: optBonded.unwrap(), metadata: metadata.length - ? metadata.isUtf8 - ? metadata.toUtf8() - : metadata.toString() + ? transformName( + metadata.isUtf8 + ? metadata.toUtf8() + : metadata.toString() + ) : null, nominating: optNominating .unwrapOr({ targets: [] }) @@ -33,6 +35,14 @@ const OPT_MULTI = { : null }; +function transformName (input: string): string { + const mid = input.replace(/[^\x20-\x7E]/g, ''); + + return (mid.length > 64) + ? `${mid.substring(0, 64)}…` + : mid; +} + function usePoolInfoImpl (poolId: BN): PoolInfo | null | undefined { const { api } = useApi(); const accounts = usePoolAccounts(poolId);