-
-
Notifications
You must be signed in to change notification settings - Fork 275
Feat/add config registry controller #7668
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
Open
wantedsystem
wants to merge
61
commits into
main
Choose a base branch
from
feat/add-config-registry-controller
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
61 commits
Select commit
Hold shift + click to select a range
bac9bd9
feat: add config-registry-controller package
wantedsystem c36c531
chore: continue adding config registry controller
wantedsystem be2165a
feat: add polling and fallback support
wantedsystem e82db65
feat: add configregistryqpiservice and integrate with controller
wantedsystem 7987032
feat: add network transformer functions for API response processing
wantedsystem a4dbfca
feat: add feature flag support
wantedsystem 3f3ce9c
fix: fix polling-controller version in config registry controller
wantedsystem 6e2a128
chore: restructure state to nest networks under configs
wantedsystem 77e35fd
chore: remove metadat from config network response
wantedsystem d2bee1f
fix: fix tests
wantedsystem be0831f
Merge branch 'main' into feat/add-config-registry-controller
wantedsystem d1f2251
fix: fix cursor comments
wantedsystem 416e8e9
chore: update changelog
wantedsystem 61d9942
fix: update yarn.lock
wantedsystem bd0fd60
Merge remote-tracking branch 'origin/main' into feat/add-config-regis…
wantedsystem 980ac4e
chore: update yarn.lock
wantedsystem 945154a
chore: update config-registry-controller package.json
wantedsystem ab102d8
chore: update yarn.lock
wantedsystem 5f11236
fix: fix lint
wantedsystem 0503c7d
feat: add test coverage
wantedsystem 339d975
fix: add missing CODEOWNER
wantedsystem 01aabb3
fix: fix feedbacks
wantedsystem d628f08
fix: fix feedbacks
wantedsystem 4dcacf2
fix: fix feedbacks
wantedsystem e53de80
fix: fix lint
wantedsystem b6e620e
fix: fix lint
wantedsystem aab4f56
fix: fix lint
wantedsystem b5ebdd0
fix: add missing export
wantedsystem 839e62c
fix: fix feedbacks
wantedsystem c07d12a
fix: small fix
wantedsystem 181d1e2
fix: fix cursor bot feedbacks
wantedsystem 464d78b
refactor: remove `KeyringController:getState` dep, `init()` and `dest…
mikesposito c09c89d
Mikesposito/refactor/simplify controller (#7809)
wantedsystem 6366d53
fix: fix feedbacks
wantedsystem fd2d478
chore: merge main into feat/add-config-registry-controller
wantedsystem ef4ac4c
fix: fix lint
wantedsystem 8f134fd
chore: update yarn.lock
wantedsystem 267b38e
fix: fix lint
wantedsystem fedc942
fix: fix comments
wantedsystem d42ed9f
fix: fix comments
wantedsystem 03d1e2d
Merge branch 'main' into feat/add-config-registry-controller
wantedsystem e2917d0
chore: update yarn.lock
wantedsystem 9c4c263
fix: fix failing test
wantedsystem a4a1bb1
chore: update test
wantedsystem 2c63cfc
chore: simplify tests
wantedsystem 8ed3a1f
fix: fix cursor bot comment
wantedsystem 96853c5
chore: add comment to when future flag is off
wantedsystem de595cc
feat: adopt CAIP-2 config API response
wantedsystem 32ed995
fix: small fix
wantedsystem e63c863
fix: fix comments
wantedsystem f4e6487
chore: update lockfile for config-registry-controller dependencies
wantedsystem be8a776
Merge branch 'main' into feat/add-config-registry-controller
wantedsystem e8831ff
chore: update lockfile for config-registry-controller dependencies
wantedsystem 04c0da8
chore: add lavamoat allowScripts entry for eslint-plugin-import-x>unr…
wantedsystem 9ac556c
Merge branch 'main' into feat/add-config-registry-controller
wantedsystem 5f192b8
fix: clear etag when modified response has no ETag header
wantedsystem f04e107
fix: failing build and lint
wantedsystem 8abf646
chore: update lockfile for remote-feature-flag-controller ^4.1.0
wantedsystem 6a590ef
fix: fix comments
wantedsystem 5c05642
fix: restart polling when feature flag enabled after unlock
wantedsystem e6575ef
fix: fix cursor bot comment
wantedsystem File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
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
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| # Changelog | ||
|
|
||
| All notable changes to this project will be documented in this file. | ||
|
|
||
| The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), | ||
| and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | ||
|
|
||
| ## [Unreleased] | ||
|
|
||
| ### Added | ||
|
|
||
| - Initial release ([#7668](https://github.com/MetaMask/core/pull/7668), [#7809](https://github.com/MetaMask/core/pull/7809)) | ||
|
|
||
| [Unreleased]: https://github.com/MetaMask/core/ |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| MIT License | ||
|
|
||
| Copyright (c) 2026 MetaMask | ||
|
|
||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| of this software and associated documentation files (the "Software"), to deal | ||
| in the Software without restriction, including without limitation the rights | ||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| copies of the Software, and to permit persons to whom the Software is | ||
| furnished to do so, subject to the following conditions: | ||
|
|
||
| The above copyright notice and this permission notice shall be included in all | ||
| copies or substantial portions of the Software. | ||
|
|
||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| # `@metamask/config-registry-controller` | ||
|
|
||
| Manages configuration registry for MetaMask | ||
|
|
||
| ## Installation | ||
|
|
||
| `yarn add @metamask/config-registry-controller` | ||
|
|
||
| or | ||
|
|
||
| `npm install @metamask/config-registry-controller` | ||
|
|
||
| ## Contributing | ||
|
|
||
| This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/core#readme). |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| /* | ||
| * For a detailed explanation regarding each configuration property and type check, visit: | ||
| * https://jestjs.io/docs/configuration | ||
| */ | ||
|
|
||
| const merge = require('deepmerge'); | ||
| const path = require('path'); | ||
|
|
||
| const baseConfig = require('../../jest.config.packages'); | ||
|
|
||
| const displayName = path.basename(__dirname); | ||
|
|
||
| module.exports = merge(baseConfig, { | ||
| // The display name when running multiple projects | ||
| displayName, | ||
|
|
||
| // An object that configures minimum threshold enforcement for coverage results | ||
| coverageThreshold: { | ||
| global: { | ||
| branches: 100, | ||
| functions: 100, | ||
| lines: 100, | ||
| statements: 100, | ||
| }, | ||
| }, | ||
| }); |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,82 @@ | ||
| { | ||
| "name": "@metamask/config-registry-controller", | ||
| "version": "0.0.0", | ||
| "description": "Manages configuration registry for MetaMask", | ||
| "keywords": [ | ||
| "MetaMask", | ||
| "Ethereum" | ||
| ], | ||
| "homepage": "https://github.com/MetaMask/core/tree/main/packages/config-registry-controller#readme", | ||
| "bugs": { | ||
| "url": "https://github.com/MetaMask/core/issues" | ||
| }, | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "https://github.com/MetaMask/core.git" | ||
| }, | ||
| "license": "MIT", | ||
| "sideEffects": false, | ||
| "exports": { | ||
| ".": { | ||
| "import": { | ||
| "types": "./dist/index.d.mts", | ||
| "default": "./dist/index.mjs" | ||
| }, | ||
| "require": { | ||
| "types": "./dist/index.d.cts", | ||
| "default": "./dist/index.cjs" | ||
| } | ||
| }, | ||
| "./package.json": "./package.json" | ||
| }, | ||
| "main": "./dist/index.cjs", | ||
| "types": "./dist/index.d.cts", | ||
| "files": [ | ||
| "dist/" | ||
| ], | ||
| "scripts": { | ||
| "build": "ts-bridge --project tsconfig.build.json --verbose --clean --no-references", | ||
| "build:all": "ts-bridge --project tsconfig.build.json --verbose --clean", | ||
| "build:docs": "typedoc", | ||
| "changelog:update": "../../scripts/update-changelog.sh @metamask/config-registry-controller", | ||
| "changelog:validate": "../../scripts/validate-changelog.sh @metamask/config-registry-controller", | ||
| "publish:preview": "yarn npm publish --tag preview", | ||
| "since-latest-release": "../../scripts/since-latest-release.sh", | ||
| "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", | ||
| "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", | ||
| "test:verbose": "NODE_OPTIONS=--experimental-vm-modules jest --verbose", | ||
| "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch" | ||
| }, | ||
| "dependencies": { | ||
| "@metamask/base-controller": "^9.0.0", | ||
| "@metamask/controller-utils": "^11.19.0", | ||
wantedsystem marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| "@metamask/keyring-controller": "^25.1.0", | ||
| "@metamask/messenger": "^0.3.0", | ||
| "@metamask/polling-controller": "^16.0.3", | ||
| "@metamask/profile-sync-controller": "^27.1.0", | ||
| "@metamask/remote-feature-flag-controller": "^4.1.0", | ||
| "@metamask/superstruct": "^3.1.0", | ||
| "@metamask/utils": "^11.9.0", | ||
| "reselect": "^5.1.1" | ||
| }, | ||
| "devDependencies": { | ||
| "@lavamoat/allow-scripts": "^3.0.4", | ||
| "@metamask/auto-changelog": "^3.4.4", | ||
| "@ts-bridge/cli": "^0.6.4", | ||
| "@types/jest": "^29.5.14", | ||
| "deepmerge": "^4.2.2", | ||
| "jest": "^29.7.0", | ||
| "nock": "^13.3.1", | ||
| "ts-jest": "^29.2.5", | ||
| "typedoc": "^0.25.13", | ||
| "typedoc-plugin-missing-exports": "^2.0.0", | ||
| "typescript": "~5.3.3" | ||
| }, | ||
| "engines": { | ||
| "node": "^18.18 || >=20" | ||
| }, | ||
| "publishConfig": { | ||
| "access": "public", | ||
| "registry": "https://registry.npmjs.org/" | ||
| } | ||
| } | ||
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.