diff options
author | Dan Finlay <flyswatter@users.noreply.github.com> | 2017-09-19 02:46:50 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-19 02:46:50 +0800 |
commit | fa50bf9587882837af312fb18123cc98d1576313 (patch) | |
tree | 81474f053c88d9a55087cec95825390987f5aab2 /ui/app | |
parent | c463647ad7a825eb954a56599ec205a3ba6cd3e6 (diff) | |
parent | 67accea693cb5f3167279ecdbe869cc464f7665a (diff) | |
download | tangerine-wallet-browser-fa50bf9587882837af312fb18123cc98d1576313.tar tangerine-wallet-browser-fa50bf9587882837af312fb18123cc98d1576313.tar.gz tangerine-wallet-browser-fa50bf9587882837af312fb18123cc98d1576313.tar.bz2 tangerine-wallet-browser-fa50bf9587882837af312fb18123cc98d1576313.tar.lz tangerine-wallet-browser-fa50bf9587882837af312fb18123cc98d1576313.tar.xz tangerine-wallet-browser-fa50bf9587882837af312fb18123cc98d1576313.tar.zst tangerine-wallet-browser-fa50bf9587882837af312fb18123cc98d1576313.zip |
Merge pull request #2075 from MetaMask/mixed-case
Specific error for send screen: address checksum fails
Diffstat (limited to 'ui/app')
-rw-r--r-- | ui/app/send.js | 5 | ||||
-rw-r--r-- | ui/app/util.js | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/ui/app/send.js b/ui/app/send.js index a21a219eb..e59c1130e 100644 --- a/ui/app/send.js +++ b/ui/app/send.js @@ -262,6 +262,11 @@ SendTransactionScreen.prototype.onSubmit = function () { return this.props.dispatch(actions.displayWarning(message)) } + if ((util.isInvalidChecksumAddress(recipient))) { + message = 'Recipient address checksum is invalid.' + return this.props.dispatch(actions.displayWarning(message)) + } + if ((!util.isValidAddress(recipient) && !txData) || (!recipient && !txData)) { message = 'Recipient address is invalid.' return this.props.dispatch(actions.displayWarning(message)) diff --git a/ui/app/util.js b/ui/app/util.js index 1368ebf11..3f8b4dcc3 100644 --- a/ui/app/util.js +++ b/ui/app/util.js @@ -37,6 +37,7 @@ module.exports = { bnTable: bnTable, isHex: isHex, exportAsFile: exportAsFile, + isInvalidChecksumAddress, } function valuesFor (obj) { @@ -66,6 +67,12 @@ function isValidAddress (address) { return (isAllOneCase(prefixed) && ethUtil.isValidAddress(prefixed)) || ethUtil.isValidChecksumAddress(prefixed) } +function isInvalidChecksumAddress (address) { + var prefixed = ethUtil.addHexPrefix(address) + if (address === '0x0000000000000000000000000000000000000000') return false + return !isAllOneCase(prefixed) && !ethUtil.isValidChecksumAddress(prefixed) && ethUtil.isValidAddress(prefixed) +} + function isAllOneCase (address) { if (!address) return true var lower = address.toLowerCase() |