mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-22 09:57:02 +01:00
Make all addresses EIP-55 compliant (#5379)
* Make all addresses EIP-55 compliant * Checksum autocompleted address but not during input
This commit is contained in:
parent
999a599a78
commit
63c61c52eb
@ -94,7 +94,7 @@ async function runSendFlowTest (assert, done) {
|
||||
sendToDropdownList.children()[2].click()
|
||||
|
||||
const sendToAccountAddress = sendToFieldInput.val()
|
||||
assert.equal(sendToAccountAddress, '0x2f8d4a878cfa04a6e60d46362f5644deab66572d', 'send to dropdown selects the correct address')
|
||||
assert.equal(sendToAccountAddress, '0x2f8D4a878cFA04A6E60D46362f5644DeAb66572D', 'send to dropdown selects the correct address')
|
||||
|
||||
const sendAmountField = await queryAsync($, '.send-v2__form-row:eq(2)')
|
||||
sendAmountField.find('.currency-display')[0].click()
|
||||
|
@ -26,7 +26,7 @@ function QrCodeView () {
|
||||
QrCodeView.prototype.render = function () {
|
||||
const props = this.props
|
||||
const { message, data } = props.Qr
|
||||
const address = `${isHexPrefixed(data) ? 'ethereum:' : ''}${data}`
|
||||
const address = `${isHexPrefixed(data) ? 'ethereum:' : ''}${checksumAddress(data)}`
|
||||
const qrImage = qrCode(4, 'M')
|
||||
qrImage.addData(address)
|
||||
qrImage.make()
|
||||
|
@ -5,6 +5,7 @@ const inherits = require('util').inherits
|
||||
const AccountListItem = require('../account-list-item/account-list-item.component').default
|
||||
const connect = require('react-redux').connect
|
||||
const Tooltip = require('../../tooltip')
|
||||
const checksumAddress = require('../../../util').checksumAddress
|
||||
|
||||
ToAutoComplete.contextTypes = {
|
||||
t: PropTypes.func,
|
||||
@ -48,7 +49,7 @@ ToAutoComplete.prototype.renderDropdown = function () {
|
||||
account,
|
||||
className: 'account-list-item__dropdown',
|
||||
handleClick: () => {
|
||||
onChange(account.address)
|
||||
onChange(checksumAddress(account.address))
|
||||
closeDropdown()
|
||||
},
|
||||
icon: this.getListItemIcon(account.address, to),
|
||||
|
@ -5,6 +5,7 @@ import Identicon from '../identicon'
|
||||
import Tooltip from '../tooltip-v2'
|
||||
import copyToClipboard from 'copy-to-clipboard'
|
||||
import { DEFAULT_VARIANT, CARDS_VARIANT } from './sender-to-recipient.constants'
|
||||
import { checksumAddress } from '../../util'
|
||||
|
||||
const variantHash = {
|
||||
[DEFAULT_VARIANT]: 'sender-to-recipient--default',
|
||||
@ -40,7 +41,7 @@ export default class SenderToRecipient extends PureComponent {
|
||||
return !this.props.addressOnly && (
|
||||
<div className="sender-to-recipient__sender-icon">
|
||||
<Identicon
|
||||
address={this.props.senderAddress}
|
||||
address={checksumAddress(this.props.senderAddress)}
|
||||
diameter={24}
|
||||
/>
|
||||
</div>
|
||||
@ -50,6 +51,7 @@ export default class SenderToRecipient extends PureComponent {
|
||||
renderSenderAddress () {
|
||||
const { t } = this.context
|
||||
const { senderName, senderAddress, addressOnly } = this.props
|
||||
const checksummedSenderAddress = checksumAddress(senderAddress)
|
||||
|
||||
return (
|
||||
<Tooltip
|
||||
@ -60,7 +62,7 @@ export default class SenderToRecipient extends PureComponent {
|
||||
onHidden={() => this.setState({ senderAddressCopied: false })}
|
||||
>
|
||||
<div className="sender-to-recipient__name">
|
||||
{ addressOnly ? `${t('from')}: ${senderAddress}` : senderName }
|
||||
{ addressOnly ? `${t('from')}: ${checksummedSenderAddress}` : senderName }
|
||||
</div>
|
||||
</Tooltip>
|
||||
)
|
||||
@ -68,11 +70,12 @@ export default class SenderToRecipient extends PureComponent {
|
||||
|
||||
renderRecipientIdenticon () {
|
||||
const { recipientAddress, assetImage } = this.props
|
||||
const checksummedRecipientAddress = checksumAddress(recipientAddress)
|
||||
|
||||
return !this.props.addressOnly && (
|
||||
<div className="sender-to-recipient__sender-icon">
|
||||
<Identicon
|
||||
address={recipientAddress}
|
||||
address={checksummedRecipientAddress}
|
||||
diameter={24}
|
||||
image={assetImage}
|
||||
/>
|
||||
@ -83,13 +86,14 @@ export default class SenderToRecipient extends PureComponent {
|
||||
renderRecipientWithAddress () {
|
||||
const { t } = this.context
|
||||
const { recipientName, recipientAddress, addressOnly } = this.props
|
||||
const checksummedRecipientAddress = checksumAddress(recipientAddress)
|
||||
|
||||
return (
|
||||
<div
|
||||
className="sender-to-recipient__party sender-to-recipient__party--recipient sender-to-recipient__party--recipient-with-address"
|
||||
onClick={() => {
|
||||
this.setState({ recipientAddressCopied: true })
|
||||
copyToClipboard(recipientAddress)
|
||||
copyToClipboard(checksummedRecipientAddress)
|
||||
}}
|
||||
>
|
||||
{ this.renderRecipientIdenticon() }
|
||||
@ -103,7 +107,7 @@ export default class SenderToRecipient extends PureComponent {
|
||||
<div className="sender-to-recipient__name">
|
||||
{
|
||||
addressOnly
|
||||
? `${t('to')}: ${recipientAddress}`
|
||||
? `${t('to')}: ${checksummedRecipientAddress}`
|
||||
: (recipientName || this.context.t('newContract'))
|
||||
}
|
||||
</div>
|
||||
@ -147,6 +151,7 @@ export default class SenderToRecipient extends PureComponent {
|
||||
|
||||
render () {
|
||||
const { senderAddress, recipientAddress, variant } = this.props
|
||||
const checksummedSenderAddress = checksumAddress(senderAddress)
|
||||
|
||||
return (
|
||||
<div className={classnames(variantHash[variant])}>
|
||||
@ -154,7 +159,7 @@ export default class SenderToRecipient extends PureComponent {
|
||||
className={classnames('sender-to-recipient__party sender-to-recipient__party--sender')}
|
||||
onClick={() => {
|
||||
this.setState({ senderAddressCopied: true })
|
||||
copyToClipboard(senderAddress)
|
||||
copyToClipboard(checksummedSenderAddress)
|
||||
}}
|
||||
>
|
||||
{ this.renderSenderIdenticon() }
|
||||
|
Loading…
Reference in New Issue
Block a user