@@ -69,8 +69,14 @@ const stripHexPrefix = hex =>
6969const keccak256 = str =>
7070 keccak('keccak256').update(str).digest()
7171
72−const isValidAddress = (address) =>
73− /^0x[0-9a-fA-F]{40}$/.test(address)
72+const isValidAddress = (address) => {
73+ let validLength = /^0x[0-9a-fA-F]{40}$/.test(address)
74+ let isLowercase = address === address.toLowerCase()
75+ let validChecksum = address === toChecksumAddress(address)
76+
77+ if (isLowercase) return validLength
78+ else return validChecksum && validLength
79+}
7480
7581const toChecksumAddress = (address) => {
7682 const addr = stripHexPrefix(address).toLowerCase()