mirror of
https://github.com/pezkuwichain/pezkuwi-ui.git
synced 2026-04-29 09:08:00 +00:00
allow qr to scan seed qr (#330)
* allow qr to scan seed qr * simplify flow * use original orders * remove trailing spaces
This commit is contained in:
@@ -8,11 +8,12 @@ import React, { useCallback } from 'react';
|
||||
import { assert } from '@polkadot/util';
|
||||
import { decodeAddress } from '@polkadot/util-crypto';
|
||||
|
||||
import { ADDRESS_PREFIX } from './constants';
|
||||
import { ADDRESS_PREFIX, SEED_PREFIX } from './constants';
|
||||
import QrScan from './Scan';
|
||||
|
||||
interface ScanType {
|
||||
address: string;
|
||||
isAddress: boolean;
|
||||
content: string;
|
||||
genesisHash: string;
|
||||
name?: string;
|
||||
}
|
||||
@@ -30,12 +31,18 @@ function ScanAddress ({ className, onError, onScan, size, style }: Props): React
|
||||
}
|
||||
|
||||
try {
|
||||
const [prefix, address, genesisHash, name] = data.split(':');
|
||||
const [prefix, content, genesisHash, name] = data.split(':');
|
||||
const isValidPrefix = prefix === ADDRESS_PREFIX || prefix === SEED_PREFIX;
|
||||
|
||||
assert(prefix === ADDRESS_PREFIX, `Invalid address received, expected '${ADDRESS_PREFIX}', found '${prefix}'`);
|
||||
assert(isValidPrefix, `Invalid prefix received, expected '${ADDRESS_PREFIX}/${SEED_PREFIX}' , found '${prefix}'`);
|
||||
|
||||
decodeAddress(address);
|
||||
onScan({ address, genesisHash, name });
|
||||
const isAddress = prefix === ADDRESS_PREFIX;
|
||||
|
||||
if (isAddress) {
|
||||
decodeAddress(content);
|
||||
}
|
||||
|
||||
onScan({ content, genesisHash, isAddress, name });
|
||||
} catch (error) {
|
||||
console.error('@polkadot/react-qr:QrScanAddress', (error as Error).message, data);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
const ADDRESS_PREFIX = 'substrate';
|
||||
const SEED_PREFIX = 'secret';
|
||||
const FRAME_SIZE = 1024;
|
||||
const SUBSTRATE_ID = new Uint8Array([0x53]);
|
||||
const CRYPTO_SR25519 = new Uint8Array([0x01]);
|
||||
@@ -19,5 +20,6 @@ export {
|
||||
CMD_SIGN_MSG,
|
||||
CRYPTO_SR25519,
|
||||
FRAME_SIZE,
|
||||
SEED_PREFIX,
|
||||
SUBSTRATE_ID
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user