Skip to content

Add imToken Wallet support with EIP-4527#21804

Merged
Akaryatrh merged 13 commits intoMetaMask:developfrom
makoshan:develop
Jan 25, 2024
Merged

Add imToken Wallet support with EIP-4527#21804
Akaryatrh merged 13 commits intoMetaMask:developfrom
makoshan:develop

Conversation

@makoshan
Copy link
Copy Markdown
Contributor

@makoshan makoshan commented Nov 13, 2023

Description

Hello, this is the imToken team.

imToken is a mobile crypto wallet founded in 2016. It has been operating safely and steadily for 7 years. Recently, we successfully supported ERC-4527, and imToken can function as a QR code-based signer now. This integration seamlessly aligns with Metamask's bidirectional QR account feature, enhancing the ability to track accounts whose private keys are stored on external devices.

Therefore, we propose that Metamask expand its supported QR code-based wallet connection methods and include imToken. This will not only enhance Metamask's functionality and user coverage, but also provide users with a wider, more secure and efficient choice of wallets.

We have successfully completed the integration of ERC-4527 and look forward to discussing in depth the possibility of adding imToken into Metamask's QR code-based wallet connection methods. Thank you very much for your attention and feedback on this matter.

Related issues

no

Manual testing steps

  1. Please check if the added links to the imToken official website and tutorials are correct.
  2. The process is consistent with the current QR-Based Keystone and Airgap methods. Please refer to the test video provided below for reference.

Video

Dropbox link

User Flow

metamask

Screenshots/Recordings

Before

image

After

image

Pre-merge author checklist

  • I’ve followed MetaMask Coding Standards.
  • I've clearly explained what problem this PR is solving and how it is solved.
  • I've linked related issues
  • I've included manual testing steps
  • I've included screenshots/recordings if applicable
  • [ x] I’ve included tests if applicable
  • I’ve documented my code using JSDoc format if applicable
  • I’ve applied the right labels on the PR (see labeling guidelines). Not required for external contributors.
  • I’ve properly set the pull request status:
    • In case it's not yet "ready for review", I've set it to "draft".
    • In case it's "ready for review", I've changed it from "draft" to "non-draft".

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.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Nov 13, 2023

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 external-contributor INVALID-PR-TEMPLATE PR's body doesn't match template labels Nov 13, 2023
@makoshan
Copy link
Copy Markdown
Contributor Author

I have read the CLA Document and I hereby sign the CLA

@makoshan makoshan marked this pull request as ready for review November 13, 2023 07:39
@makoshan makoshan requested a review from a team as a code owner November 13, 2023 07:39
@makoshan makoshan marked this pull request as draft November 17, 2023 03:44
@makoshan makoshan marked this pull request as ready for review November 17, 2023 03:45
@metamaskbot metamaskbot removed the INVALID-PR-TEMPLATE PR's body doesn't match template label Dec 8, 2023
@0x01toby
Copy link
Copy Markdown

0x01toby commented Dec 8, 2023

I have read the CLA Document and I hereby sign the CLA

1 similar comment
@allen-hsu
Copy link
Copy Markdown

I have read the CLA Document and I hereby sign the CLA

@AlexJupiter
Copy link
Copy Markdown
Contributor

Thank you for this, we will prioritise this internally and try and get this merged and released soon.

@codecov
Copy link
Copy Markdown

codecov bot commented Dec 21, 2023

Codecov Report

Attention: 6 lines in your changes are missing coverage. Please review.

Comparison is base (161fa4f) 67.99% compared to head (aa0bbc1) 67.98%.

Files Patch % Lines
...create-account/connect-hardware/select-hardware.js 0.00% 6 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #21804      +/-   ##
===========================================
- Coverage    67.99%   67.98%   -0.01%     
===========================================
  Files         1075     1075              
  Lines        41577    41585       +8     
  Branches     11182    11182              
===========================================
  Hits         28270    28270              
- Misses       13307    13315       +8     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@owencraston
Copy link
Copy Markdown
Contributor

@makoshan can you provide manual testing steps?

@makoshan
Copy link
Copy Markdown
Contributor Author

@owencraston I recorded a video demonstrating the testing process for pairing and transfer using imToken and Metamask, the process is now perfectly compatible with Metamask.

Video:

imToken.Connect.Metamask.mp4

@makoshan
Copy link
Copy Markdown
Contributor Author

@AlexJupiter @owencraston Is the test screen recording in line with what you anticipated? Please let me know if there's anything else I should add to aid in advancing the merge process 😁

Copy link
Copy Markdown
Contributor

@danroc danroc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, tested with personal_sign.

However, the process for backing up the SRP after onboarding was a bit confusing. For anyone else wanting to test it, here's the pathway: Hamburger menu > Manage > Manage... (next to the wallet name, above the list of blockchains) > Backup wallet.

@AlexJupiter AlexJupiter added the team-hardware-wallets-deprecated DEPRECATED: please use "team-accounts-framework" instead label Jan 16, 2024
@makoshan
Copy link
Copy Markdown
Contributor Author

🎉🎉 🎉 Changes have been approved, looking forward to the merge

@Akaryatrh Akaryatrh merged commit 769f458 into MetaMask:develop Jan 25, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Jan 25, 2024
@angelcheung22 angelcheung22 added this to the Q1 2024 milestone Apr 9, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

external-contributor team-hardware-wallets-deprecated DEPRECATED: please use "team-accounts-framework" instead

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants