diff --git a/packages/react-qr/src/ScanAddress.tsx b/packages/react-qr/src/ScanAddress.tsx index 69aa3a7e..770ef2ee 100644 --- a/packages/react-qr/src/ScanAddress.tsx +++ b/packages/react-qr/src/ScanAddress.tsx @@ -22,15 +22,16 @@ interface Props { onScan: (scanned: ScanType) => void; size?: string | number; style?: React.CSSProperties; + isEthereum?: boolean } -function ScanAddress ({ className, onError, onScan, size, style }: Props): React.ReactElement { +function ScanAddress ({ className, isEthereum, onError, onScan, size, style }: Props): React.ReactElement { const _onScan = useCallback( (data: string | null): void => { if (data) { try { const [prefix, content, genesisHash, ...name] = data.split(':'); - const isValidPrefix = prefix === ADDRESS_PREFIX || prefix === SEED_PREFIX; + const isValidPrefix = (prefix === (isEthereum ? 'ethereum' : ADDRESS_PREFIX)) || (prefix === SEED_PREFIX); assert(isValidPrefix, `Invalid prefix received, expected '${ADDRESS_PREFIX}/${SEED_PREFIX}' , found '${prefix}'`); @@ -46,7 +47,7 @@ function ScanAddress ({ className, onError, onScan, size, style }: Props): React } } }, - [onScan] + [onScan, isEthereum] ); return (