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

feat: QR hardware signing in new designs #13261

Merged
merged 46 commits into from
Feb 7, 2025
Merged

feat: QR hardware signing in new designs #13261

merged 46 commits into from
Feb 7, 2025

Conversation

jpuri
Copy link
Contributor

@jpuri jpuri commented Jan 30, 2025

Description

QR hardware signing in new designs

Related issues

Fixes: https://github.com/MetaMask/MetaMask-planning/issues/4058

Manual testing steps

  1. Connect to QR wallet
  2. Import QR account
  3. Sign QR sign request

Screenshots/Recordings

TODO

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Copy link
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot metamaskbot added the team-confirmations Push issues to confirmations team label Jan 30, 2025
@jpuri jpuri marked this pull request as ready for review January 30, 2025 13:06
@jpuri jpuri requested review from a team as code owners January 30, 2025 13:06
@jpuri jpuri added the Run Smoke E2E Triggers smoke e2e on Bitrise label Jan 30, 2025
Copy link
Contributor

github-actions bot commented Jan 30, 2025

https://bitrise.io/ Bitrise

❌❌❌ pr_smoke_e2e_pipeline failed on Bitrise! ❌❌❌

Commit hash: 86a442b
Build link: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/fdf408ba-aaee-4b48-9265-9c90872ea36f

Note

  • You can kick off another pr_smoke_e2e_pipeline on Bitrise by removing and re-applying the Run Smoke E2E label on the pull request

Tip

  • Check the documentation if you have any doubts on how to understand the failure on bitrise

@sleepytanya
Copy link
Contributor

sleepytanya commented Jan 30, 2025

@jpuri

Bitrise QA builds https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/106d1a13-fdd2-4671-9391-1ca33b3930af?tab=workflows

iPhone 15, Samsung S24+

All QR signatures work as expected on both platforms, except for the Sign Typed Data - Invalid QR Code message on the Keystone and Keyring Controller error in the test-dapp.

Android:

android.mov

iOS:

ios.mov
Screenshot 2025-01-30 at 17 28 25 Screenshot 2025-01-30 at 17 27 10

@jpuri
Copy link
Contributor Author

jpuri commented Jan 31, 2025

Hey @sleepytanya : typed sign works for me using Airgap vault:

IMG_4911

can you plz check if you notice this in old designs also, this may be a thing I need to check with hardware team

@jpuri
Copy link
Contributor Author

jpuri commented Feb 3, 2025

From discussion with hardware wallet team:

this is a known issue. Keystone do not support sign typed data v1 signings.

@jpuri jpuri requested a review from a team as a code owner February 5, 2025 05:20
@digiwand
Copy link
Contributor

digiwand commented Feb 6, 2025

can we update the description and add screenshots please? it can be hard to find screenshots with many comments. could also be helpful to note that logic has been carried from other files and reorganized here to be more scalable for the new confirmation pages.

when we extend this logic to transactions, we will need to remember that RESET_TRANSACTION event was called on the old logic, when finalizing the QR request, and will need to be reintegrated

@jpuri
Copy link
Contributor Author

jpuri commented Feb 7, 2025

can we update the description and add screenshots please? it can be hard to find screenshots with many comments. could also be helpful to note that logic has been carried from other files and reorganized here to be more scalable for the new confirmation pages.

when we extend this logic to transactions, we will need to remember that RESET_TRANSACTION event was called on the old logic, when finalizing the QR request, and will need to be reintegrated

I am having bit hard time to capture screenshot from real device, but you can check Tanya's findings for it.

About RESET_TRANSACTION I think this will be called for all transactions QR or normal once they are cancelled.

@jpuri jpuri requested a review from OGPoyraz February 7, 2025 13:10
@jpuri jpuri added Run Smoke E2E Triggers smoke e2e on Bitrise and removed Run Smoke E2E Triggers smoke e2e on Bitrise labels Feb 7, 2025
Copy link
Contributor

github-actions bot commented Feb 7, 2025

https://bitrise.io/ Bitrise

✅✅✅ pr_smoke_e2e_pipeline passed on Bitrise! ✅✅✅

Commit hash: 2a5a1de
Build link: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/06971ac6-cbcb-4524-9bc5-32b851a35cfb

Note

  • You can kick off another pr_smoke_e2e_pipeline on Bitrise by removing and re-applying the Run Smoke E2E label on the pull request

@jpuri jpuri enabled auto-merge February 7, 2025 13:14
@jpuri jpuri added this pull request to the merge queue Feb 7, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 7, 2025
@jpuri jpuri added this pull request to the merge queue Feb 7, 2025
Merged via the queue into main with commit a010f9c Feb 7, 2025
43 checks passed
@jpuri jpuri deleted the qr_scan_support branch February 7, 2025 14:17
@github-actions github-actions bot locked and limited conversation to collaborators Feb 7, 2025
@metamaskbot metamaskbot added the release-7.41.0 Issue or pull request that will be included in release 7.41.0 label Feb 7, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
release-7.41.0 Issue or pull request that will be included in release 7.41.0 Run Smoke E2E Triggers smoke e2e on Bitrise team-confirmations Push issues to confirmations team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants