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

fix: add HD keyring check to persistAllKeyrings #4168

Merged
merged 4 commits into from
Apr 18, 2024
Merged

Conversation

gantunesr
Copy link
Member

@gantunesr gantunesr commented Apr 16, 2024

Explanation

This PR adds a check to the persistAllKeyrings method to avoid removing the HD Key Tree keyring.

References

Related to https://github.com/MetaMask/mobile-planning/issues/1507

Changelog

@metamask/keyring-controller

  • CHANGED: Add check to avoid removing HD Key Tree keyring during execution of persistAllKeyrings

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've highlighted breaking changes using the "BREAKING" category above as appropriate

@gantunesr gantunesr self-assigned this Apr 16, 2024
@gantunesr gantunesr marked this pull request as ready for review April 16, 2024 22:13
@gantunesr gantunesr requested a review from a team as a code owner April 16, 2024 22:13
@Gudahtt
Copy link
Member

Gudahtt commented Apr 17, 2024

Looks great! I was about to approve, but I noticed that there are now conflicts

Gudahtt added a commit to MetaMask/metamask-extension that referenced this pull request Apr 17, 2024
A patch has been added for the `@metamask/keyring-controller` package
that will prevent the HD keyring from being removed. This is a
precautionary change, see MetaMask/mobile-planning#1507
for additional details.

This is a port of this PR: MetaMask/core#4168
Here is the same patch on mobile: MetaMask/metamask-mobile#9092
Gudahtt added a commit to MetaMask/metamask-extension that referenced this pull request Apr 17, 2024
A patch has been added for the `@metamask/keyring-controller` package
that will prevent the HD keyring from being removed. This is a
precautionary change, see MetaMask/mobile-planning#1507
for additional details.

This is a port of this PR: MetaMask/core#4168
Here is the same patch on mobile: MetaMask/metamask-mobile#9092
Gudahtt added a commit to MetaMask/metamask-extension that referenced this pull request Apr 17, 2024
A patch has been added for the `@metamask/keyring-controller` package
that will prevent the HD keyring from being removed. This is a
precautionary change, see MetaMask/mobile-planning#1507
for additional details.

This is a port of this PR: MetaMask/core#4168
Here is the same patch on mobile: MetaMask/metamask-mobile#9092
Gudahtt added a commit to MetaMask/metamask-extension that referenced this pull request Apr 17, 2024
A patch has been added for the `@metamask/keyring-controller` package
that will prevent the HD keyring from being removed. This is a
precautionary change, see MetaMask/mobile-planning#1507
for additional details.

This is a port of this PR: MetaMask/core#4168
Here is the same patch on mobile: MetaMask/metamask-mobile#9092
Gudahtt added a commit to MetaMask/metamask-extension that referenced this pull request Apr 18, 2024
A patch has been added for the `@metamask/keyring-controller` package
that will prevent the HD keyring from being removed. This is a
precautionary change, see MetaMask/mobile-planning#1507
for additional details.

This is a port of this PR: MetaMask/core#4168
Here is the same patch on mobile: MetaMask/metamask-mobile#9092
@gantunesr gantunesr requested a review from a team as a code owner April 18, 2024 00:26
Copy link
Member

@Gudahtt Gudahtt left a comment

Choose a reason for hiding this comment

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

LGTM!

@gantunesr gantunesr merged commit 8c7e1e0 into main Apr 18, 2024
139 checks passed
@gantunesr gantunesr deleted the fix/add-hd-check branch April 18, 2024 00:48
Gudahtt added a commit to MetaMask/metamask-extension that referenced this pull request Apr 18, 2024
A patch has been added for the `@metamask/keyring-controller` package
that will prevent the HD keyring from being removed. This is a
precautionary change, see MetaMask/mobile-planning#1507
for additional details.

This is a port of this PR: MetaMask/core#4168
Here is the same patch on mobile: MetaMask/metamask-mobile#9092
Gudahtt added a commit to MetaMask/metamask-extension that referenced this pull request Apr 18, 2024
## **Description**

A patch has been added for the `@metamask/keyring-controller` package
that will prevent the HD keyring from being removed. This is a
precautionary change, see
MetaMask/mobile-planning#1507 for additional
details.

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24096?quickstart=1)

## **Related issues**

This is a port of this PR: MetaMask/core#4168
Here is the same patch on mobile:
MetaMask/metamask-mobile#9092

## **Manual testing steps**

This is a precaution against a bug that probably does not exist. We
don't have reproduction steps.

However, here are some use cases related to this area of code, which we
can test to ensure nothing has broken:
* Lock and unlock the wallet
* Restart the extension then unlock it again
* Add a new account, lock the wallet, restart the extension, then check
to ensure the new account is still present.

## **Screenshots/Recordings**

N/A

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **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.
Gudahtt added a commit to MetaMask/metamask-extension that referenced this pull request Apr 18, 2024
## **Description**

A patch has been added for the `@metamask/keyring-controller` package
that will prevent the HD keyring from being removed. This is a
precautionary change, see
MetaMask/mobile-planning#1507 for additional
details.

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24096?quickstart=1)

## **Related issues**

This is a port of this PR: MetaMask/core#4168
Here is the same patch on mobile:
MetaMask/metamask-mobile#9092

## **Manual testing steps**

This is a precaution against a bug that probably does not exist. We
don't have reproduction steps.

However, here are some use cases related to this area of code, which we
can test to ensure nothing has broken:
* Lock and unlock the wallet
* Restart the extension then unlock it again
* Add a new account, lock the wallet, restart the extension, then check
to ensure the new account is still present.

## **Screenshots/Recordings**

N/A

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **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.
Gudahtt added a commit to MetaMask/metamask-extension that referenced this pull request Apr 25, 2024
## **Description**

A patch has been added for the `@metamask/keyring-controller` package
that will prevent the HD keyring from being removed. This is a
precautionary change, see
MetaMask/mobile-planning#1507 for additional
details.

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24096?quickstart=1)

## **Related issues**

This is a port of this PR: MetaMask/core#4168
Here is the same patch on mobile:
MetaMask/metamask-mobile#9092

## **Manual testing steps**

This is a precaution against a bug that probably does not exist. We
don't have reproduction steps.

However, here are some use cases related to this area of code, which we
can test to ensure nothing has broken:
* Lock and unlock the wallet
* Restart the extension then unlock it again
* Add a new account, lock the wallet, restart the extension, then check
to ensure the new account is still present.

## **Screenshots/Recordings**

N/A

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants