-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[Bug]: The app unexpectedly closes when users are navigating between tokens on various networks, Error: Missing chain id #12680
Labels
regression-RC-7.38.0
Regression bug that was found in release candidate (RC) for release 7.38.0
release-7.39.0
Issue or pull request that will be included in release 7.39.0
release-blocker
This bug is blocking the next release
Sev1-high
An issue that may have caused fund loss or access to wallet in the past & may still be ongoing
team-assets
team-wallet-ux
type-bug
Something isn't working
Comments
sleepytanya
added
regression-RC-7.38.0
Regression bug that was found in release candidate (RC) for release 7.38.0
Sev2-normal
An issue that may lead to users misunderstanding some limited risks they are taking
team-assets
team-wallet-ux
type-bug
Something isn't working
labels
Dec 13, 2024
Not present on Android, but the app freezes on a token sometimes: Navigating.between.tokens.mov |
Confirmed on Android: missingChainId.mov |
Reproduced "Missing chain ID" error on v7.38.0 (1523) only for Staked Ethereum token: Missing.Chain.Id.error.Staked.ETH.2.mov |
sethkfman
added
Sev1-high
An issue that may have caused fund loss or access to wallet in the past & may still be ongoing
and removed
Sev2-normal
An issue that may lead to users misunderstanding some limited risks they are taking
labels
Jan 8, 2025
7 tasks
7 tasks
github-merge-queue bot
pushed a commit
that referenced
this issue
Jan 10, 2025
## **Description** 1. What is the reason for the change? There was a crash when clicking on the Staked Ethereum asset due to it missing a key `nativeAsset` which is required in some component. This was a regression from code refactoring. Separately, there was a currency switching bug that was introduced with the use of a different fiat conversion method. I have switched to a method that does not throw error for currency switching and this has been tested with Vince Separately, there were some issues with the Token list asset balances being slightly off. This was noticed when the balance we use for the Asset Detail staked Ethereum asset showed up differently than in the Token List. Some of this has been addressed, but there are still issues that I've noticed where we lose precision when getting the fiat total of a token asset or native asset. I left a comment in the code about this, and maybe it could be revisited it later. 2. What is the improvement/solution? We added the `nativeAsset` key back to the staked ethereum asset We added the weiToFiat method to replace the Intl.NumberFormat method We removed precision loss from multichain.ts asset fiatBalance calculations, however there is another place(s) where fiat balances are recalculated again i.e. [deriveBalanceFromAssetMarketDetails.ts](https://github.com/MetaMask/metamask-mobile/pull/12851/files#diff-283c109c8093bbb5d8e06be79bcbeac928b8353633e55dc7944594a0e6888b49) ## **Related issues** Fixes: #12680 Fixes: #12856 Closes: https://consensyssoftware.atlassian.net/browse/STAKE-912 ## **Manual testing steps** - Import the staking test wallet in MM - Click on the staked ethereum asset - The link should not crash the application more info here on testing this #12680 - Currency switching should not crash the application more info here on testing this #12856 ## **Screenshots/Recordings** ### **Before** ### **After** https://github.com/user-attachments/assets/c2525b70-8d04-4606-861b-3206ebd557f4 https://github.com/user-attachments/assets/a8c4010e-3589-4171-803a-4d07a962e6a6 ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.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 - [ ] 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-mobile/blob/main/.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.
metamaskbot
added
the
release-7.39.0
Issue or pull request that will be included in release 7.39.0
label
Jan 10, 2025
runway-github bot
added a commit
that referenced
this issue
Jan 10, 2025
## **Description** 1. What is the reason for the change? There was a crash when clicking on the Staked Ethereum asset due to it missing a key `nativeAsset` which is required in some component. This was a regression from code refactoring. Separately, there was a currency switching bug that was introduced with the use of a different fiat conversion method. I have switched to a method that does not throw error for currency switching and this has been tested with Vince Separately, there were some issues with the Token list asset balances being slightly off. This was noticed when the balance we use for the Asset Detail staked Ethereum asset showed up differently than in the Token List. Some of this has been addressed, but there are still issues that I've noticed where we lose precision when getting the fiat total of a token asset or native asset. I left a comment in the code about this, and maybe it could be revisited it later. 2. What is the improvement/solution? We added the `nativeAsset` key back to the staked ethereum asset We added the weiToFiat method to replace the Intl.NumberFormat method We removed precision loss from multichain.ts asset fiatBalance calculations, however there is another place(s) where fiat balances are recalculated again i.e. [deriveBalanceFromAssetMarketDetails.ts](https://github.com/MetaMask/metamask-mobile/pull/12851/files#diff-283c109c8093bbb5d8e06be79bcbeac928b8353633e55dc7944594a0e6888b49) ## **Related issues** Fixes: #12680 Fixes: #12856 Closes: https://consensyssoftware.atlassian.net/browse/STAKE-912 ## **Manual testing steps** - Import the staking test wallet in MM - Click on the staked ethereum asset - The link should not crash the application more info here on testing this #12680 - Currency switching should not crash the application more info here on testing this #12856 ## **Screenshots/Recordings** ### **Before** ### **After** https://github.com/user-attachments/assets/c2525b70-8d04-4606-861b-3206ebd557f4 https://github.com/user-attachments/assets/a8c4010e-3589-4171-803a-4d07a962e6a6 ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.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 - [ ] 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-mobile/blob/main/.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.
runway-github bot
added a commit
that referenced
this issue
Jan 10, 2025
## **Description** 1. What is the reason for the change? There was a crash when clicking on the Staked Ethereum asset due to it missing a key `nativeAsset` which is required in some component. This was a regression from code refactoring. Separately, there was a currency switching bug that was introduced with the use of a different fiat conversion method. I have switched to a method that does not throw error for currency switching and this has been tested with Vince Separately, there were some issues with the Token list asset balances being slightly off. This was noticed when the balance we use for the Asset Detail staked Ethereum asset showed up differently than in the Token List. Some of this has been addressed, but there are still issues that I've noticed where we lose precision when getting the fiat total of a token asset or native asset. I left a comment in the code about this, and maybe it could be revisited it later. 2. What is the improvement/solution? We added the `nativeAsset` key back to the staked ethereum asset We added the weiToFiat method to replace the Intl.NumberFormat method We removed precision loss from multichain.ts asset fiatBalance calculations, however there is another place(s) where fiat balances are recalculated again i.e. [deriveBalanceFromAssetMarketDetails.ts](https://github.com/MetaMask/metamask-mobile/pull/12851/files#diff-283c109c8093bbb5d8e06be79bcbeac928b8353633e55dc7944594a0e6888b49) ## **Related issues** Fixes: #12680 Fixes: #12856 Closes: https://consensyssoftware.atlassian.net/browse/STAKE-912 ## **Manual testing steps** - Import the staking test wallet in MM - Click on the staked ethereum asset - The link should not crash the application more info here on testing this #12680 - Currency switching should not crash the application more info here on testing this #12856 ## **Screenshots/Recordings** ### **Before** ### **After** https://github.com/user-attachments/assets/c2525b70-8d04-4606-861b-3206ebd557f4 https://github.com/user-attachments/assets/a8c4010e-3589-4171-803a-4d07a962e6a6 ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.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 - [ ] 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-mobile/blob/main/.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.
runway-github bot
pushed a commit
that referenced
this issue
Jan 10, 2025
…et multichain (#12851) ## **Description** 1. What is the reason for the change? There was a crash when clicking on the Staked Ethereum asset due to it missing a key `nativeAsset` which is required in some component. This was a regression from code refactoring. Separately, there was a currency switching bug that was introduced with the use of a different fiat conversion method. I have switched to a method that does not throw error for currency switching and this has been tested with Vince Separately, there were some issues with the Token list asset balances being slightly off. This was noticed when the balance we use for the Asset Detail staked Ethereum asset showed up differently than in the Token List. Some of this has been addressed, but there are still issues that I've noticed where we lose precision when getting the fiat total of a token asset or native asset. I left a comment in the code about this, and maybe it could be revisited it later. 2. What is the improvement/solution? We added the `nativeAsset` key back to the staked ethereum asset We added the weiToFiat method to replace the Intl.NumberFormat method We removed precision loss from multichain.ts asset fiatBalance calculations, however there is another place(s) where fiat balances are recalculated again i.e. [deriveBalanceFromAssetMarketDetails.ts](https://github.com/MetaMask/metamask-mobile/pull/12851/files#diff-283c109c8093bbb5d8e06be79bcbeac928b8353633e55dc7944594a0e6888b49) ## **Related issues** Fixes: #12680 Fixes: #12856 Closes: https://consensyssoftware.atlassian.net/browse/STAKE-912 ## **Manual testing steps** - Import the staking test wallet in MM - Click on the staked ethereum asset - The link should not crash the application more info here on testing this #12680 - Currency switching should not crash the application more info here on testing this #12856 ## **Screenshots/Recordings** ### **Before** ### **After** https://github.com/user-attachments/assets/c2525b70-8d04-4606-861b-3206ebd557f4 https://github.com/user-attachments/assets/a8c4010e-3589-4171-803a-4d07a962e6a6 ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.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 - [ ] 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-mobile/blob/main/.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.
7 tasks
sethkfman
pushed a commit
that referenced
this issue
Jan 13, 2025
…et multichain (#12930) - fix: add nativeAsset key to staked ETH asset multichain (#12851) ## **Description** 1. What is the reason for the change? There was a crash when clicking on the Staked Ethereum asset due to it missing a key `nativeAsset` which is required in some component. This was a regression from code refactoring. Separately, there was a currency switching bug that was introduced with the use of a different fiat conversion method. I have switched to a method that does not throw error for currency switching and this has been tested with Vince Separately, there were some issues with the Token list asset balances being slightly off. This was noticed when the balance we use for the Asset Detail staked Ethereum asset showed up differently than in the Token List. Some of this has been addressed, but there are still issues that I've noticed where we lose precision when getting the fiat total of a token asset or native asset. I left a comment in the code about this, and maybe it could be revisited it later. 2. What is the improvement/solution? We added the `nativeAsset` key back to the staked ethereum asset We added the weiToFiat method to replace the Intl.NumberFormat method We removed precision loss from multichain.ts asset fiatBalance calculations, however there is another place(s) where fiat balances are recalculated again i.e. [deriveBalanceFromAssetMarketDetails.ts](https://github.com/MetaMask/metamask-mobile/pull/12851/files#diff-283c109c8093bbb5d8e06be79bcbeac928b8353633e55dc7944594a0e6888b49) ## **Related issues** Fixes: #12680 Fixes: #12856 Closes: https://consensyssoftware.atlassian.net/browse/STAKE-912 ## **Manual testing steps** - Import the staking test wallet in MM - Click on the staked ethereum asset - The link should not crash the application more info here on testing this #12680 - Currency switching should not crash the application more info here on testing this #12856 ## **Screenshots/Recordings** ### **Before** ### **After** https://github.com/user-attachments/assets/c2525b70-8d04-4606-861b-3206ebd557f4 https://github.com/user-attachments/assets/a8c4010e-3589-4171-803a-4d07a962e6a6 ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.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 - [ ] 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-mobile/blob/main/.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. [40a999c](40a999c) Co-authored-by: Nicholas Smith <nick.smith@consensys.net>
ImpactRoot causeThe staked key was missing in the assets payload, and this oversight wasn't addressed during the review, so the stake team handled it separately. Related to change?Yes Lessons learnedCorrective actions |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
regression-RC-7.38.0
Regression bug that was found in release candidate (RC) for release 7.38.0
release-7.39.0
Issue or pull request that will be included in release 7.39.0
release-blocker
This bug is blocking the next release
Sev1-high
An issue that may have caused fund loss or access to wallet in the past & may still be ongoing
team-assets
team-wallet-ux
type-bug
Something isn't working
Describe the bug
The app unexpectedly closes with the
Error: Missing chain id
when users are navigating between tokens on various networks.Expected behavior
Screenshots/Recordings
crash.mov
crash1.mov
Steps to reproduce
Error messages or log output
Detection stage
During release testing
Version
v7.38.0(1514)
Build type
None
Device
iPhone 15
Operating system
iOS
Additional context
No response
Severity
No response
The text was updated successfully, but these errors were encountered: