Skip to content

chore: Remove network-controller dependency for chain-agnostic-permission#7561

Merged
FrederikBolding merged 2 commits intomainfrom
fb/remove-network-controller-dep-for-caip25
Jan 6, 2026
Merged

chore: Remove network-controller dependency for chain-agnostic-permission#7561
FrederikBolding merged 2 commits intomainfrom
fb/remove-network-controller-dep-for-caip25

Conversation

@FrederikBolding
Copy link
Copy Markdown
Member

@FrederikBolding FrederikBolding commented Jan 6, 2026

Explanation

Remove network-controller dependency for chain-agnostic-permission as it brings in a massive amount of dependencies and is only used for a single type union that contains string anyway.

The additional dependencies becomes hard to manage when using chain-agnostic-permission outside a MetaMask client (e.g. in Snaps).


Note

Removes the @metamask/network-controller dependency and eliminates its type usage.

  • Drops @metamask/network-controller from package.json and yarn.lock
  • Updates caip25Permission.ts to remove the import and change findNetworkClientIdByChainId return type from NetworkClientId to string
  • Notes the change in CHANGELOG.md

Written by Cursor Bugbot for commit 36a8356. This will update automatically on new commits. Configure here.

@FrederikBolding FrederikBolding changed the title fix: Remove network-controller dependency for chain-agnostic-permission chore: Remove network-controller dependency for chain-agnostic-permission Jan 6, 2026
@FrederikBolding FrederikBolding changed the title chore: Remove network-controller dependency for chain-agnostic-permission chore: Remove network-controller dependency for chain-agnostic-permission Jan 6, 2026
@FrederikBolding FrederikBolding marked this pull request as ready for review January 6, 2026 14:42
@FrederikBolding FrederikBolding requested review from a team as code owners January 6, 2026 14:42

### Changed

- Remove `@metamask/network-controller` dependency ([#7561](https://github.com/MetaMask/core/pull/7561))
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

should this be in a Removed section? Doesn't really matter though

@FrederikBolding FrederikBolding added this pull request to the merge queue Jan 6, 2026
Merged via the queue into main with commit ac4cd76 Jan 6, 2026
286 checks passed
@FrederikBolding FrederikBolding deleted the fb/remove-network-controller-dep-for-caip25 branch January 6, 2026 16:15
github-merge-queue bot pushed a commit to MetaMask/metamask-extension that referenced this pull request Mar 23, 2026
## **Description**

Bump the following packages:

### `@metamask/chain-agnostic-permission` `^1.3.0` → `^1.4.0`

[Changelog](https://github.com/MetaMask/core/blob/main/packages/chain-agnostic-permission/CHANGELOG.md#140)
- **Added:** `Bip122AccountChangedNotifications` property in
`KnownSessionProperties` enum
([#7537](MetaMask/core#7537))
- **Changed:** Remove `@metamask/network-controller` dependency
([#7561](MetaMask/core#7561))
- **Changed:** Dependency bumps (`@metamask/utils`,
`@metamask/controller-utils`, `@metamask/permission-controller`)

### `@metamask/multichain-api-middleware` `^1.2.5` → `^1.2.7`

[Changelog](https://github.com/MetaMask/core/blob/main/packages/multichain-api-middleware/CHANGELOG.md#127)
- **v1.2.7:** Dependency bumps (`network-controller` ^30.0.0,
`json-rpc-engine`, `multichain-transactions-controller`,
`controller-utils`)
- **v1.2.6 Fixed:** `wallet_revokeSession` to handle cases where
`params` is not provided
([#7551](MetaMask/core#7551))
- **v1.2.6 Changed:** Dependency bumps (`json-rpc-engine`, `utils`,
`network-controller`, `controller-utils`, `permission-controller`,
`chain-agnostic-permission`)

### `@metamask/ppom-validator` `0.39.0` → `0.39.1`

[Changelog](https://github.com/MetaMask/ppom-validator/blob/main/CHANGELOG.md#0391)
- **Changed:** Move `@metamask/network-controller` from peer to direct
dependency and bump ^25.0.0 → ^30.0.0
([#254](MetaMask/ppom-validator#254))
- **Changed:** Bump `@metamask/utils` from `^9.2.1` to `^11.0.0`
([#254](MetaMask/ppom-validator#254))

### `@metamask/selected-network-controller` `^25.0.0` → `^26.0.3`

[Changelog](https://github.com/MetaMask/core/blob/main/packages/selected-network-controller/CHANGELOG.md#2600)
- **v26.0.0 BREAKING:** Use `InternalProvider` instead of
`SafeEventEmitterProvider`
([#6796](MetaMask/core#6796))
- **v26.0.0 BREAKING:** Bump `@metamask/network-controller` from ^25.0.0
to ^26.0.0 ([#7202](MetaMask/core#7202))
- **v26.0.1:** Move peer dependencies to direct dependencies
(`network-controller`, `permission-controller`)
([#7209](MetaMask/core#7209))
- **v26.0.2–v26.0.3:** Dependency bumps (`network-controller` to
^30.0.0, `json-rpc-engine`)

No code changes required — breaking changes are internal to the packages
and don't affect extension usage. All dependency versions are already
compatible.

## **Changelog**

CHANGELOG entry: null

## **Related issues**

Fixes: N/A

## **Manual testing steps**

1. Build the extension and verify it runs correctly
2. Confirm no type errors are introduced

## **Screenshots/Recordings**

N/A — dependency-only changes

## **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
- [ ] 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-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]
> **Medium Risk**
> Dependency-only update, but it upgrades core
networking/permission-related packages (e.g.,
`@metamask/selected-network-controller` and transitive
`@metamask/network-controller`/RPC middleware), which can subtly affect
session/network behavior at runtime.
> 
> **Overview**
> Bumps several MetaMask core dependencies:
`@metamask/chain-agnostic-permission` to `^1.4.0`,
`@metamask/multichain-api-middleware` to `^1.2.7`,
`@metamask/ppom-validator` to `0.39.1`, and
`@metamask/selected-network-controller` to `^26.0.3`.
> 
> Updates `yarn.lock` accordingly, including transitive shifts such as
`@metamask/network-controller` moving to `^30.0.0` in dependent packages
and related RPC middleware/util version bumps.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
133258b. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants