From b18fe93b6cf5533f1c1483e8973e65757ac91d7c Mon Sep 17 00:00:00 2001 From: Jaco Date: Mon, 25 Apr 2022 15:59:30 +0200 Subject: [PATCH] AccountName for parachain (#7448) --- packages/react-components/src/AccountName.tsx | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/packages/react-components/src/AccountName.tsx b/packages/react-components/src/AccountName.tsx index 1dcf44c992..c5cf35872e 100644 --- a/packages/react-components/src/AccountName.tsx +++ b/packages/react-components/src/AccountName.tsx @@ -32,8 +32,8 @@ interface Props { type AddrMatcher = (addr: unknown) => string | null; -function createAllMatcher (partial: string, name: string): AddrMatcher { - const test = registry.createType('AccountId', stringToU8a(`modlpy/${partial}`.padEnd(32, '\0'))); +function createAllMatcher (prefix: string, name: string): AddrMatcher { + const test = registry.createType('AccountId', stringToU8a(prefix.padEnd(32, '\0'))); return (addr: unknown) => test.eq(addr) @@ -41,8 +41,8 @@ function createAllMatcher (partial: string, name: string): AddrMatcher { : null; } -function createNumMatcher (partial: string, name: string, extra?: string): AddrMatcher { - const test = stringToU8a(`modlpy/${partial}`); +function createNumMatcher (prefix: string, name: string, add?: string): AddrMatcher { + const test = stringToU8a(prefix); // 4 bytes for u32 (more should not hurt, LE) const minLength = test.length + 4; @@ -53,17 +53,18 @@ function createNumMatcher (partial: string, name: string, extra?: string): AddrM : decodeAddress(addr as string); return (u8a.length >= minLength) && u8aEq(test, u8a.subarray(0, test.length)) && u8aEmpty(u8a.subarray(minLength)) - ? `${name} ${formatNumber(u8aToBn(u8a.subarray(test.length, minLength)))}${extra ? ` (${extra})` : ''}` + ? `${name} ${formatNumber(u8aToBn(u8a.subarray(test.length, minLength)))}${add ? ` (${add})` : ''}` : null; }; } const MATCHERS: AddrMatcher[] = [ - createAllMatcher('socie', 'Society'), - createAllMatcher('trsry', 'Treasury'), - createNumMatcher('cfund', 'Crowdloan'), - createNumMatcher('npols\x00', 'Pool', 'Stash'), - createNumMatcher('npols\x01', 'Pool', 'Reward') + createAllMatcher('modlpy/socie', 'Society'), + createAllMatcher('modlpy/trsry', 'Treasury'), + createNumMatcher('modlpy/cfund', 'Crowdloan'), + createNumMatcher('modlpy/npols\x00', 'Pool', 'Stash'), + createNumMatcher('modlpy/npols\x01', 'Pool', 'Reward'), + createNumMatcher('para', 'Parachain') ]; const displayCache = new Map();