MetaMask / MetaMask/metamask-extension

(Ext) Instructive error message needed when Keystone v2 requires a firmware update to bind with MetaMask

Open
#20,332 2 comments 0 reactions 0 assignees View on GitHub
area-hardware extension hardware-qr INVALID-ISSUE-TEMPLATE team-accounts-deprecated team-accounts-framework team-hardware-wallets-deprecated type-enhancement ux-enhancement
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

**Describe the bug**

I tried to connect a keystone wallet, but it says the QR code is invalid. This was related to the device needing a firmware update, as specified [here](https://support.keyst.one/3rd-party-wallets/eth-and-web3-wallets-keystone/bind-metamask-with-keystone)

![image](https://github.com/MetaMask/metamask-extension/assets/542863/7ff397bc-c7db-4e71-97be-ff79d5d29a1e)

**Steps to reproduce**

1. I'm not sure, I hadn't seen this before.
2. "Connect hardware wallet"
3. Select "Keystone"
4. Show your Keystone QR code to the computer
5. ???

**Error messages or log output**

In this situation we have an opportunity to provide a more instructive and actionable error message for v2 hardware.

**Version**

10.33.0-flask.0

**Build type**

Flask

**Browser**

Firefox

**Operating system**

MacOS

**Hardware wallet**

Keystone

**Additional context**

Btw, I'm not sure why the QR scanner is blurry. If I was scanning a private key, I could see how it would keep you safe against a screen recorder, but this handshake QR code only encodes the public address, which will already be shown on screen after a successful connection.

I scanned the QR code manually and it is the eth address that I want to connect.

If I could paste in the target address, it would both solve this issue _and_ provide a watch-address feature.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the Keystone connection flow described in the issue and review the linked Keystone documentation for the firmware requirement. Determine how the firmware-required case can be distinguished from an invalid QR code, then consider the issue complete when the user receives an actionable error message for that case.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.