MetaMask / MetaMask/metamask-extension

[Bug]: Cannot add more than one QR code wallet when importing a QR-code based hardware wallet (Keystone Pro)

Open
#19,733 4 comments 2 reactions 0 assignees View on GitHub
team-accounts-framework type-enhancement
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

### Describe the bug

I have a Keystone Pro hardware wallet, which communicates with wallet frontends over QR codes.

I have a couple passphrases set up on the Keystone, as well as the normal, passphrase-free default wallet. I want to add a couple addresses from each of these wallets to my Metamask. Since the Keystone sees these as separate wallets as I switch between them, it gives me different QR codes for each wallet.

In Metamask, first, I choose the "Connect hardware wallet" option, select "QR-based", and scan the QR code of the first, regular (no passphrase) wallet. Then it gives me the option to choose which addresses I want to import.

Now I want to import one of the wallets with a passphrase. So I first go back to Metamask and select "Connect hardware wallet" again, then select "QR-based" again, except this time it won't let me scan the QR code of a new wallet, instead it just displays the same list of addresses from the first QR code/wallet.
![image](https://github.com/MetaMask/metamask-extension/assets/49468408/ee65e967-cac2-4fe4-9be1-6f8df94fdfca)

**I was expecting there to be a way to scan in multiple QR code wallets.**

Only way to add it seems to be clicking "Forget this device" which entirely resets your ipv4 connection.

### Steps to reproduce

see "Describe the bug" section

### Error messages or log output

```shell
n/a
```

### Version

10.32.0-flask.0

### Build type

None

### Browser

Chrome

### Operating system

Windows

### Hardware wallet

Keystone

### Additional context

This happens on both the browser extension and on the iOS app.
I run the Flask browser extension and the iOS app is v6.3.0 (1095).
The hardware wallet is a Keystone Pro on the latest update (M-10.8).

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the Connect hardware wallet > QR-based flow with separate Keystone passphrases in the browser extension. Trace how the first QR wallet and its address list are retained, then verify that a second QR scan can be imported without using Forget this device; the issue reports the same behavior on iOS.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.