Status-react: [EPIC] Implement EIP-55 - Address Validity Checksum

Created on 29 Nov 2018  路  19Comments  路  Source: status-im/status-react

Problem

Users should be protected against accidental typos in Ethereum addresses

https://eips.ethereum.org/EIPS/eip-55

Implementation

All screens that expose addresses should render it in mixed case according to eip-55
All inputs that accept addresses should display a warning if the entered address is not in mixed case or if it is not valid according to eip-55

Update:
Warning screen UI
Warning copy should read Error in address.

image

Future Steps

Steps which should be taken after this issue has been resolved.

bounty-s wallet

Most helpful comment

鈿★笍 A tip worth 8.00000 DAI (8.0 USD @ $1.0/DAI) has been granted to @mestorlx for this issue from @StatusSceptre. 鈿★笍

Nice work @mestorlx! Your tip has automatically been deposited in the ETH address we have on file.

Gitcoin: Grow Open Source
The Gitcoin platform connects freelance developers with open bug bounties or online jobs, paid in crypto (ETH). Leverage a global workforce to quickly complete software development and coding jobs.

All 19 comments

All inputs that accept addresses should display a warning if the entered address is not in mixed case or if it is not valid according to eip-55

Do we re-use this error pop-up for invalid address for this case? @goranjovic @denis-sharypin

@rachelhamlin not, really. In the new design, it should be like this. But I can't come up with the good wording for that. "This address is not checksummed" sounds too technical for me.
screenshot 2019-01-18 09 58 43

Could simply say Error in address?

Maybe take a look and see how other wallets did it? It makes sense to be consistent in wording.

There are three cases:

  • address is checksummed and the checksum is correct, it's A OK and nothing should happen
  • address is not checksummed i.e. all letters are lowercase, there should be a warning but user should be able to continue. That's the case when user is say copying the address from an app that does not implement checksums, i.e. legacy mode
  • address is checksummed, but incorrectly. There should be an error then, not a mere warning. The most likely use case is a typo or error in copying, which is the exact thing checksumming is supposed to prevent.

I checked a few mobile wallets with not checksummed address and none of them checking addresses for that. I got this error once only on myetherwallet.com and the description was like "This address is not checksummed". But I find such description too technical, something that an average user won't get.

Thanks for researching, @denis-sharypin.

I suspect this error state is unlikely anyway. Most people will copy/paste an address.

That said, I suggest sticking to plain English with Error in address or even Check for typos.

Do we want this one as a bounty? Please 馃憤 the issue if this one is to be bountied @rachelhamlin; wasn't sure of the state of it with the current discussions.

@StatusSceptre yes, would be great to put a bounty on. I'll edit the issue to include warning screen and copy. Can we keep @goranjovic tagged in the issue so that he can answer any questions?

No problem @rachelhamlin

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


__This issue now has a funding of 80.0 DAI (80.0 USD @ $1.0/DAI) attached to it as part of the Status-im fund.__

Thanks @StatusSceptre!

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


__Work has been started__.

These users each claimed they can complete the work by 10聽months, 3聽weeks from now.
Please review their action plans below:

1) mestorlx has been approved to start work.

I will follow the guidelines here(https://eips.ethereum.org/EIPS/eip-55) to implement the method to validate signatures. Once its done I will add it to one field to test and validate. After there is agreement from Status it will be extended to the rest of the fields. Should take a couple of days.

Learn more on the Gitcoin Issue Details page.

Approved @mestorlx

@StatusSceptre great thanks!
I am working on this already. However I am having issues compiling the iOS test. Any Gitter or slack channel where I can ask about it?

@mestorlx here ya go!
Check out this public chat on the Status app: https://get.status.im/chat/public/status-core

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


__Work for 80.0 DAI (80.0 USD @ $1.0/DAI) has been submitted by__:

  1. @mestorlx

@StatusSceptre please take a look at the submitted work:

  • PR by @mestorlx

Sustainer 鈿★笍 A *Sustainer* Kudos has been sent to @mestorlx for this issue from @StatusSceptre. 鈿★笍 Nice work @mestorlx! Your Kudos has automatically been sent in the ETH address we have on file.

鈿★笍 A tip worth 8.00000 DAI (8.0 USD @ $1.0/DAI) has been granted to @mestorlx for this issue from @StatusSceptre. 鈿★笍

Nice work @mestorlx! Your tip has automatically been deposited in the ETH address we have on file.

Gitcoin: Grow Open Source
The Gitcoin platform connects freelance developers with open bug bounties or online jobs, paid in crypto (ETH). Leverage a global workforce to quickly complete software development and coding jobs.

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


__The funding of 80.0 DAI (80.0 USD @ $1.0/DAI) attached to this issue has been approved & issued to @mestorlx.__

Additional Tips for this Bounty:

  • StatusSceptre tipped 8.0000 DAI worth 8.0 USD to mestorlx.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jakubgs picture jakubgs  路  54Comments

flexsurfer picture flexsurfer  路  57Comments

yenda picture yenda  路  52Comments

rachelhamlin picture rachelhamlin  路  49Comments

hesterbruikman picture hesterbruikman  路  41Comments