From d973c28d2d0b38b108df57e9fc9adc4abde85364 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Sun, 16 Jun 2019 21:48:44 +0300 Subject: [PATCH] Fix: address checksum in QR code screen --- old-ui/app/account-qr.js | 10 +++++++--- old-ui/app/util.js | 6 ------ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/old-ui/app/account-qr.js b/old-ui/app/account-qr.js index cc9aadd80..7e3b7f269 100644 --- a/old-ui/app/account-qr.js +++ b/old-ui/app/account-qr.js @@ -5,6 +5,7 @@ const {qrcode: qrCode} = require('qrcode-npm') const {connect} = require('react-redux') const {isHexPrefixed} = require('ethereumjs-util') const CopyButton = require('./components/copy/copy-button') +const { toChecksumAddress } = require('./util') class AccountQrScreen extends PureComponent { static defaultProps = { @@ -14,11 +15,13 @@ class AccountQrScreen extends PureComponent { static propTypes = { Qr: PropTypes.object.isRequired, warning: PropTypes.node, + network: PropTypes.string, } render () { - const {Qr, warning} = this.props + const {Qr, warning, network} = this.props const address = `${isHexPrefixed(Qr.data) ? 'ethereum:' : ''}${Qr.data}` + const addressChecksum = toChecksumAddress(network, Qr.data) const qrImage = qrCode(4, 'M') qrImage.addData(address) @@ -51,9 +54,9 @@ class AccountQrScreen extends PureComponent { style: { width: '247px', }, - }, Qr.data), + }, addressChecksum), h(CopyButton, { - value: Qr.data, + value: addressChecksum, }), ]), ]) @@ -64,6 +67,7 @@ function mapStateToProps (state) { return { Qr: state.appState.Qr, warning: state.appState.warning, + network: state.metamask.network, } } diff --git a/old-ui/app/util.js b/old-ui/app/util.js index 0a64a37e8..54f104654 100644 --- a/old-ui/app/util.js +++ b/old-ui/app/util.js @@ -81,11 +81,9 @@ function accountSummary (acc, firstSegLength = 6, lastSegLength = 4) { function isValidAddress (address, network) { var prefixed = ethUtil.addHexPrefix(address) if (ifRSK(network)) { - // console.log('addHexPrefixRSK:', prefixed) if (address === '0x0000000000000000000000000000000000000000') return false return (ethUtil.isValidAddress(prefixed)) } else { - // console.log('addHexPrefix:', prefixed) if (address === '0x0000000000000000000000000000000000000000') return false return (isAllOneCase(prefixed) && ethUtil.isValidAddress(prefixed)) || ethUtil.isValidChecksumAddress(prefixed) } @@ -414,9 +412,5 @@ function toChecksumAddress (network, address, chainId = null) { } function isValidChecksumAddress (network, address) { - // console.log('isValidAddress(address):', isValidAddress(address, network)) - // console.log('toChecksumAddress(network, address) === address', toChecksumAddress(network, address) === address) - // console.log('ethUtil.isValidAddress(address)', ethUtil.isValidAddress(address)) - // console.log('isAllOneCase', isAllOneCase(address)) return isValidAddress(address, network) && toChecksumAddress(network, address) === address }