Skip to content

Commit a21b310

Browse files
authored
fix: cp-7.47.0 fix endowment:caip25 error when removing dapp permitted chain (#15352)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Having a chain permitted on a dapp, and then removing said network from wallet throws an error when going back to dapp and trying to switch to the currently selected network. Original ticket for the issue is [here](#15201). This PR makes sure we properly filter out the deleted network when updating the permission for the currently selected network/s. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: #15201 ## **Manual testing steps** 1. Go to any dapp via in app browser 2. Connect and permit a chain (ex.: Polygon) 3. Go back to wallet 4. Change selected chain (ex.: to Ethereum mainnet) 5. Remove the previously permitted chain from the available networks (ex.: remove Polygon) 6. Go back to dapp and confirm adding the newly selected chain 7. No exception should show up ✅ ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** https://github.com/user-attachments/assets/a79b6b35-8690-4e3a-ba74-b8592e4300b8 ### **After** https://github.com/user-attachments/assets/001dd4c8-4c38-4464-91fb-a78058889feb ## **Pre-merge author checklist** - [ ] 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). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] 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.
1 parent c62b042 commit a21b310

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

app/components/Views/AccountPermissions/AccountPermissions.tsx

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -774,7 +774,22 @@ const AccountPermissions = (props: AccountPermissionsProps) => {
774774
return;
775775
}
776776

777-
updatePermittedChains(hostname, [currentChainId]);
777+
const availableChainIds = Object.keys(networkConfigurations);
778+
const permittedAvailableChainIds = currentlyPermittedChains.reduce(
779+
(acc: Hex[], chainId) => {
780+
if (availableChainIds.includes(chainId)) {
781+
acc.push(toHex(chainId));
782+
}
783+
return acc;
784+
},
785+
[],
786+
);
787+
788+
updatePermittedChains(
789+
hostname,
790+
[currentChainId, ...permittedAvailableChainIds],
791+
true,
792+
);
778793

779794
const networkToastProps: ToastOptions = {
780795
variant: ToastVariants.Network,
@@ -811,6 +826,7 @@ const AccountPermissions = (props: AccountPermissionsProps) => {
811826

812827
return <PermissionsSummary {...permissionsSummaryProps} />;
813828
}, [
829+
networkConfigurations,
814830
faviconSource,
815831
urlWithProtocol,
816832
isRenderedAsBottomSheet,

0 commit comments

Comments
 (0)