Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sign & verify 🔏 #2854

Closed
matejzak opened this issue Nov 3, 2020 · 12 comments · Fixed by #4297
Closed

Sign & verify 🔏 #2854

matejzak opened this issue Nov 3, 2020 · 12 comments · Fixed by #4297

Comments

@matejzak
Copy link

matejzak commented Nov 3, 2020

Design: Zeplin

Sign and verify messages and addresses.

@matejzak matejzak added the Suite label Nov 3, 2020
@matejzak matejzak added this to 🎯 To do in December 9 🛎️ via automation Nov 3, 2020
@tsusanka
Copy link
Contributor

tsusanka commented Nov 3, 2020

We should also discuss what the limits should be (what is the longest data T1/TT can take in). cc @matejcik

@matejzak matejzak moved this from 🎯 To do to 🔥 Priority in December 9 🛎️ Nov 4, 2020
@matejzak matejzak moved this from 🔥 Priority to 🎯 To do in December 9 🛎️ Nov 19, 2020
@matejzak matejzak moved this from December 9 to January 13 (👋 2021) in Trezor · Suite · Roadmap 🔥 Nov 20, 2020
@matejzak matejzak removed this from 🎯 To do in December 9 🛎️ Nov 20, 2020
@matejzak matejzak added this to 🎯 To do in January 13 🎄 via automation Dec 2, 2020
@matejzak matejzak moved this from 🎯 To do to 🔥 Priority in January 13 🎄 Dec 2, 2020
@matejzak matejzak moved this from 🔥 Priority to 🎯 To do in January 13 🎄 Dec 14, 2020
@matejzak matejzak moved this from January 13 (👋 2021) to February 10 in Trezor · Suite · Roadmap 🔥 Dec 14, 2020
@matejzak matejzak removed this from 🎯 To do in January 13 🎄 Jan 5, 2021
@matejzak matejzak added this to 🎯 To do in February 10 💘 via automation Jan 5, 2021
@matejzak matejzak moved this from February 10 to March 10 in Trezor · Suite · Roadmap 🔥 Jan 7, 2021
@matejzak matejzak removed this from 🎯 To do in February 10 💘 Jan 28, 2021
@matejzak matejzak added this to 🎯 To do in March 10 🍀 via automation Jan 28, 2021
@matejzak matejzak moved this from 🎯 To do to 🔥 Priority in March 10 🍀 Feb 3, 2021
@matejzak matejzak moved this from 🔥 Priority to 🎯 To do in March 10 🍀 Feb 4, 2021
@matejzak matejzak moved this from March 10 to April 14 in Trezor · Suite · Roadmap 🔥 Feb 15, 2021
@alex-jerechinsky alex-jerechinsky removed this from 🎯 To do in March 10 🍀 Feb 25, 2021
@alex-jerechinsky alex-jerechinsky added this to 🎯 To do in April 14 🐇 via automation Feb 25, 2021
@matejzak matejzak moved this from April 14 to May 13 in Trezor · Suite · Roadmap 🔥 Mar 4, 2021
@matejzak matejzak removed this from 🎯 To do in April 14 🐇 Mar 4, 2021
@matejzak matejzak moved this from May 13 to July 14 in Trezor · Suite · Roadmap 🔥 Apr 28, 2021
@matejzak matejzak moved this from July 14 to August 11 in Trezor · Suite · Roadmap 🔥 May 7, 2021
@matejzak matejzak moved this from August 11 to .. Upcoming 🔮 in Trezor · Suite · Roadmap 🔥 Jun 2, 2021
@matejzak matejzak moved this from September 8 to .. Upcoming 🔮 in Trezor · Suite · Roadmap 🔥 Jul 27, 2021
@HeroHann
Copy link

HeroHann commented Aug 7, 2021

Which Coins will be supported? I feel BTC LtC and ETH are must haves…

@matejcik
Copy link

matejcik commented Aug 9, 2021

Current T1 (legacy) code supports maximum message size of 1024 bytes.

There is no explicit limit on TT. Practically you can rely on messages of up to ~8000 bytes working fine (to be more precise, 8192 total for the whole protobuf message).
Going forward, we are considering setting a hard limit of 4096 bytes for a single protobuf message. This is not implemented yet however.

@melroy89
Copy link

melroy89 commented Aug 19, 2021

Could I be invited to the Zeplin project (username: danger89)? Thanks! So I'm able to peer-review the designs.

@matejzak matejzak moved this from .. Upcoming 🔮 to Working on 💪 in Trezor · Suite · Roadmap 🔥 Sep 1, 2021
@matejzak matejzak added the HIGH label Sep 3, 2021
@matejzak matejzak added this to 🎯 To do in Suite · October 13 🍊 via automation Sep 3, 2021
@matejzak matejzak moved this from 🎯 To do to 🔥 Priority in Suite · October 13 🍊 Sep 3, 2021
@matejzak matejzak moved this from 🔥 Priority to 🏃‍♀️ In progress in Suite · October 13 🍊 Sep 4, 2021
@marekrjpolak marekrjpolak moved this from 🏃‍♀️ In progress to 🔎 Needs review in Suite · October 13 🍊 Sep 23, 2021
@matejkriz matejkriz linked a pull request Sep 30, 2021 that will close this issue
@alex-jerechinsky alex-jerechinsky moved this from Inbox 📥 to Product in Suite · Backlog 🗂 Oct 4, 2021
Suite · October 13 🍊 automation moved this from 🔎 Needs review to 🤝 Needs QA Oct 4, 2021
Suite · Backlog 🗂 automation moved this from Product to Closed Oct 4, 2021
@bosomt
Copy link
Contributor

bosomt commented Oct 5, 2021

@marekrjpolak as soon i leave Sign message page /usually to Verify message page/ all fields are cleared and i'm not able to copy them to verify message.

Of course i can copy them to text editor but it's different design compared to MyTrezor wallet and Trezor Next wallet.

Is that expected or should i send issue ?

++ edit:

any idea why x Clear all button is always present in Sign section but in Verify section it only appears after you enter value to any field.

@marekrjpolak
Copy link
Contributor

Is that expected or should i send issue ?

I presumed that you usually don't need to verify your own signed message. If you want, the best way is to use the Copy button which appears after the signing and copies whole signed message (hopefully in widely used format) to clipboard:
image

any idea why x Clear all button is always present in Sign section but in Verify section it only appears after you enter value to any field.

Clear button should be visible under the same conditions in both cases. But you probably tested it on Ethereum account where the signing address is always present (because it is the only one) so the clear button is always visible even if it can't actually clear the address. Probably not a big issue, but I could fix it.

@marekrjpolak
Copy link
Contributor

I know it's kind of late, but I should still write a little overview of Sign&Verify functionality.

  1. Sign&Verify is enabled for most Bitcoin-like and Ethereum-like coins and accessible through … button in Account menu. image
  2. Both forms:
    1. You can write any message up to 255 characters in the Message field.
    2. When you turn on the 'Hex format' switch, message is handled differently in Trezor so you can use only 0-9a-f characters, optionally prepended with 0x.
    3. Empty message is valid only as non-hex.
    4. When any value in the form is non-empty, 'Clear all' button for resetting it appears.
  3. Sign form:
    1. For Bitcoin-like coins, you can choose signing address from all of your used receive addresses plus first fresh address. In addition, if you reveal more unused addresses in Receive form and immediately go to Sign&Verify, you can choose them as well.
    2. For Ethereum-like coins, the only relevant address is prefilled and you shouldn't be able to change it.
    3. Addresses in combobox are hidden in the same way as in Receive form. After selecting, you could check them with 'Reveal address (eye)' button or let them unchecked.
    4. You could find addresses in combobox also by writing them.
    5. The signature is filled in after you use the Sign button and confirm the message on Trezor.
    6. When the signature is filled in, you can export whole signed message by 'Copy' button next to 'Clear all' button.
    7. When you change any field after the signing, the signature and the 'Copy' button should disappear.
  4. Verify form:
    1. Address and Signature fields are required.
    2. You can write any address, but it's validated according to selected coin.
    3. If you use Verify button
      1. and the signature is invalid, 'Invalid signature' notification appears.
      2. and the signature is valid, you must confirm both address and message on your device, then 'Verification successful' notification appears.

@marekrjpolak
Copy link
Contributor

Small fixes:

any idea why x Clear all button is always present in Sign section but in Verify section it only appears after you enter value to any field.

  • Clear all button is now hidden on Ethereum signing page as well, until you change something.
  • Copy button is now visible after signing even if message was empty.
  • Action buttons (Clear & Copy) are now without icons as in Zeplin design.

@bosomt
Copy link
Contributor

bosomt commented Oct 6, 2021

@marekrjpolak amazing, thank you looks good for me now
/sorry i haven't noted copy button during my first test session ;)/

@bosomt
Copy link
Contributor

bosomt commented Oct 7, 2021

@marekrjpolak

it's common behaviour of suite that buttons are not active/green when you are not able to perform action /fields are not filled in/

otherwise overall Sign&Verify functionality is great

obrazek

obrazek

@bosomt
Copy link
Contributor

bosomt commented Oct 13, 2021

QA OK

Info:

  • Suite version: desktop 21.10.1 (30698b0)
  • Browser: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) TrezorSuite/21.10.1 Chrome/93.0.4577.58 Electron/14.0.0 Safari/537.36
  • OS: Linux x86_64
  • Screen: 3072x1728

@STew790
Copy link
Contributor

STew790 commented Oct 13, 2021

QA OK

Info:

  • Suite version: desktop 21.10.1 (aa3adfa)
  • Browser: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) TrezorSuite/21.10.1 Chrome/93.0.4577.58 Electron/14.0.0 Safari/537.36
  • OS: Linux x86_64
  • Screen: 1920x1080
  • Device: model T 2.4.2 regular

@STew790 STew790 moved this from 🤝 Needs QA to ✅ Approved in Suite · October 13 🍊 Oct 13, 2021
@mroz22 mroz22 moved this from Being implemented 💪 to Implemented.. ✅ in Trezor · Suite · Roadmap 🔥 Oct 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

9 participants