Merged
Conversation
V00D00-child
previously approved these changes
Jan 15, 2026
mcmire
previously approved these changes
Jan 15, 2026
Contributor
Author
mcmire
reviewed
Jan 15, 2026
V00D00-child
previously approved these changes
Jan 15, 2026
hanzel98
approved these changes
Jan 15, 2026
7 tasks
github-merge-queue bot
pushed a commit
to MetaMask/metamask-extension
that referenced
this pull request
Jan 21, 2026
## **Description** This PR updates the codebase to align with API changes in the `@metamask/gator-permissions-controller` package. **Reason for the change:** The upstream `@metamask/gator-permissions-controller` package has updated its type definitions and data structures. This PR ensures compatibility with those changes. **Changes included:** 1. **Type simplification**: Removed the `Signer` generic parameter from `StoredGatorPermissionSanitized<Signer, PermissionTypesWithCustom>` → `StoredGatorPermissionSanitized<PermissionTypesWithCustom>` across all files (selectors, hooks, components, and tests). 2. **Data structure updates**: - `permissionResponse.address` → `permissionResponse.from` (delegator address) - `decodedPermission.signer.data.address` → `decodedPermission.to` (delegate/recipient address) - `permissionResponse.signerMeta.delegationManager` → `permissionResponse.delegationManager` (flattened structure) - `permission.rules` → `permissionResponse.rules` (rules array location change) 3. **New RPC methods**: Added support for two new unrestricted methods: - `wallet_getSupportedExecutionPermissions` - Returns supported permission types (filtered by enabled advanced permissions) - `wallet_getGrantedExecutionPermissions` - Returns granted execution permissions [](https://codespaces.new/MetaMask/metamask-extension/pull/39176?quickstart=1) ## **Changelog** <!-- If this PR is not End-User-Facing and should not show up in the CHANGELOG, you can choose to either: 1. Write `CHANGELOG entry: null` 2. Label with `no-changelog` If this PR is End-User-Facing, please write a short User-Facing description in the past tense like: `CHANGELOG entry: Added a new tab for users to see their NFTs` `CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker` (This helps the Release Engineer do their job more quickly and accurately) --> CHANGELOG entry: Added support for `wallet_getSupportedExecutionPermissions` and `wallet_getGrantedExecutionPermissions` RPC methods. CHANGELOG entry: Updated to latest 7715 standart. ## **Related issues** Depends on: MetaMask/core#7603 Relates to: MetaMask/snap-7715-permissions#249 Requires: MetaMask/core#7634 Requires: MetaMask/snap-7715-permissions#254 ## **Manual testing steps** For manual testing check: MetaMask/snap-7715-permissions#249 ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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 - [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/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. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Updates codebase to the 7715/gator-permissions v1 API and introduces execution-permissions query RPCs. > > - Refactors to `@metamask/gator-permissions-controller@^1.0.0`: remove `Signer` generic, move `permission.rules` to `permissionResponse.rules`, rename `permissionResponse.address`→`from`, `signerMeta.delegationManager`→`delegationManager`, and decoded permission `signer...address`→`to`; applies across hooks, selectors, components, and tests > - Adds `wallet_getSupportedExecutionPermissions` (filters by enabled advanced types) and `wallet_getGrantedExecutionPermissions`; wires through `createMetamaskMiddleware` and forwards to the permissions kernel snap > - Bumps related deps (`eth-json-rpc-middleware@^23`, `permissions-kernel-snap@^1.0.0`, `signature-controller@^39`, `shield-controller@^5`, etc.) and adjusts LavaMoat policies to use the updated middleware pathing > - Updates PPOM/confirmation tests and stories to the new permission shape; no functional changes beyond API alignment > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit a522169. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
github-merge-queue bot
pushed a commit
to MetaMask/metamask-extension
that referenced
this pull request
Jan 21, 2026
## **Description** This PR updates the codebase to align with API changes in the `@metamask/gator-permissions-controller` package. **Reason for the change:** The upstream `@metamask/gator-permissions-controller` package has updated its type definitions and data structures. This PR ensures compatibility with those changes. **Changes included:** 1. **Type simplification**: Removed the `Signer` generic parameter from `StoredGatorPermissionSanitized<Signer, PermissionTypesWithCustom>` → `StoredGatorPermissionSanitized<PermissionTypesWithCustom>` across all files (selectors, hooks, components, and tests). 2. **Data structure updates**: - `permissionResponse.address` → `permissionResponse.from` (delegator address) - `decodedPermission.signer.data.address` → `decodedPermission.to` (delegate/recipient address) - `permissionResponse.signerMeta.delegationManager` → `permissionResponse.delegationManager` (flattened structure) - `permission.rules` → `permissionResponse.rules` (rules array location change) 3. **New RPC methods**: Added support for two new unrestricted methods: - `wallet_getSupportedExecutionPermissions` - Returns supported permission types (filtered by enabled advanced permissions) - `wallet_getGrantedExecutionPermissions` - Returns granted execution permissions [](https://codespaces.new/MetaMask/metamask-extension/pull/39176?quickstart=1) ## **Changelog** <!-- If this PR is not End-User-Facing and should not show up in the CHANGELOG, you can choose to either: 1. Write `CHANGELOG entry: null` 2. Label with `no-changelog` If this PR is End-User-Facing, please write a short User-Facing description in the past tense like: `CHANGELOG entry: Added a new tab for users to see their NFTs` `CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker` (This helps the Release Engineer do their job more quickly and accurately) --> CHANGELOG entry: Added support for `wallet_getSupportedExecutionPermissions` and `wallet_getGrantedExecutionPermissions` RPC methods. CHANGELOG entry: Updated to latest 7715 standart. ## **Related issues** Depends on: MetaMask/core#7603 Relates to: MetaMask/snap-7715-permissions#249 Requires: MetaMask/core#7634 Requires: MetaMask/snap-7715-permissions#254 ## **Manual testing steps** For manual testing check: MetaMask/snap-7715-permissions#249 ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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 - [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/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. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Updates codebase to the 7715/gator-permissions v1 API and introduces execution-permissions query RPCs. > > - Refactors to `@metamask/gator-permissions-controller@^1.0.0`: remove `Signer` generic, move `permission.rules` to `permissionResponse.rules`, rename `permissionResponse.address`→`from`, `signerMeta.delegationManager`→`delegationManager`, and decoded permission `signer...address`→`to`; applies across hooks, selectors, components, and tests > - Adds `wallet_getSupportedExecutionPermissions` (filters by enabled advanced types) and `wallet_getGrantedExecutionPermissions`; wires through `createMetamaskMiddleware` and forwards to the permissions kernel snap > - Bumps related deps (`eth-json-rpc-middleware@^23`, `permissions-kernel-snap@^1.0.0`, `signature-controller@^39`, `shield-controller@^5`, etc.) and adjusts LavaMoat policies to use the updated middleware pathing > - Updates PPOM/confirmation tests and stories to the new permission shape; no functional changes beyond API alignment > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit a522169. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
wantedsystem
pushed a commit
to MetaMask/metamask-extension
that referenced
this pull request
Jan 27, 2026
This PR updates the codebase to align with API changes in the `@metamask/gator-permissions-controller` package. **Reason for the change:** The upstream `@metamask/gator-permissions-controller` package has updated its type definitions and data structures. This PR ensures compatibility with those changes. **Changes included:** 1. **Type simplification**: Removed the `Signer` generic parameter from `StoredGatorPermissionSanitized<Signer, PermissionTypesWithCustom>` → `StoredGatorPermissionSanitized<PermissionTypesWithCustom>` across all files (selectors, hooks, components, and tests). 2. **Data structure updates**: - `permissionResponse.address` → `permissionResponse.from` (delegator address) - `decodedPermission.signer.data.address` → `decodedPermission.to` (delegate/recipient address) - `permissionResponse.signerMeta.delegationManager` → `permissionResponse.delegationManager` (flattened structure) - `permission.rules` → `permissionResponse.rules` (rules array location change) 3. **New RPC methods**: Added support for two new unrestricted methods: - `wallet_getSupportedExecutionPermissions` - Returns supported permission types (filtered by enabled advanced permissions) - `wallet_getGrantedExecutionPermissions` - Returns granted execution permissions [](https://codespaces.new/MetaMask/metamask-extension/pull/39176?quickstart=1) <!-- If this PR is not End-User-Facing and should not show up in the CHANGELOG, you can choose to either: 1. Write `CHANGELOG entry: null` 2. Label with `no-changelog` If this PR is End-User-Facing, please write a short User-Facing description in the past tense like: `CHANGELOG entry: Added a new tab for users to see their NFTs` `CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker` (This helps the Release Engineer do their job more quickly and accurately) --> CHANGELOG entry: Added support for `wallet_getSupportedExecutionPermissions` and `wallet_getGrantedExecutionPermissions` RPC methods. CHANGELOG entry: Updated to latest 7715 standart. Depends on: MetaMask/core#7603 Relates to: MetaMask/snap-7715-permissions#249 Requires: MetaMask/core#7634 Requires: MetaMask/snap-7715-permissions#254 For manual testing check: MetaMask/snap-7715-permissions#249 - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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 - [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/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [ ] 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. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Updates codebase to the 7715/gator-permissions v1 API and introduces execution-permissions query RPCs. > > - Refactors to `@metamask/gator-permissions-controller@^1.0.0`: remove `Signer` generic, move `permission.rules` to `permissionResponse.rules`, rename `permissionResponse.address`→`from`, `signerMeta.delegationManager`→`delegationManager`, and decoded permission `signer...address`→`to`; applies across hooks, selectors, components, and tests > - Adds `wallet_getSupportedExecutionPermissions` (filters by enabled advanced types) and `wallet_getGrantedExecutionPermissions`; wires through `createMetamaskMiddleware` and forwards to the permissions kernel snap > - Bumps related deps (`eth-json-rpc-middleware@^23`, `permissions-kernel-snap@^1.0.0`, `signature-controller@^39`, `shield-controller@^5`, etc.) and adjusts LavaMoat policies to use the updated middleware pathing > - Updates PPOM/confirmation tests and stories to the new permission shape; no functional changes beyond API alignment > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit a522169. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Explanation
Releases:
@metamask/gator-permissions-controller@1.0.0@metamask/eth-json-rpc-middleware@23.0.0@metamask/signature-controller@38.1.0Both
gator-permissions-controllerandeth-json-rpc-middlewareproduce breaking changes to align with latest eip 7715 specs.References
Required by: MetaMask/metamask-extension#39176
Checklist
Note
Releases coordinated majors with EIP‑7715 updates and dependency alignments.
@metamask/eth-json-rpc-middleware@23.0.0updateswallet_requestExecutionPermissionsto 7715 spec; addswallet_getSupportedExecutionPermissionsandwallet_getGrantedExecutionPermissions@metamask/gator-permissions-controller@1.0.0updates core types to 7715 revisions@metamask/shield-controller@5.0.0now depends on@metamask/signature-controller@39.0.0;decodedPermissionshape in signature requests changes@metamask/signature-controller@39.0.0bumps to usegator-permissions-controller@1.0.0@metamask/network-controllerbumps dependency toeth-json-rpc-middleware@^23.0.0and updates changelog (notes newConnectivityController:getStaterequirement)versionto751.0.0and updates lockfileWritten by Cursor Bugbot for commit e0a1409. This will update automatically on new commits. Configure here.