diff --git a/constraints.pro b/constraints.pro index 5d3f2f66f8..545353aa20 100644 --- a/constraints.pro +++ b/constraints.pro @@ -267,6 +267,14 @@ gen_enforced_dependency(WorkspaceCwd, DependencyIdent, 'a range optionally start workspace_has_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType), \+ is_valid_version_range(DependencyRange). +% All references to a workspace package must be up to date with the current +% version of that package. +gen_enforced_dependency(WorkspaceCwd, DependencyIdent, CorrectDependencyRange, DependencyType) :- + workspace_has_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType), + workspace_ident(OtherWorkspaceCwd, DependencyIdent), + workspace_version(OtherWorkspaceCwd, OtherWorkspaceVersion), + atomic_list_concat(['^', OtherWorkspaceVersion], CorrectDependencyRange). + % All dependency ranges for a package must be synchronized across the monorepo % (the least version range wins), regardless of which "*dependencies" field % where the package appears. diff --git a/docs/contributing.md b/docs/contributing.md index ad510bccd9..809f21cd1e 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -51,30 +51,72 @@ When submitting a pull request for this repo, take some a bit of extra time to f - What are the anticipated effects to whichever platform might want to make use of these changes? - If there are breaking changes to the API, what do consumers need to do in order to adapt to those changes upon upgrading to them? -## Testing changes to packages against another project +## Testing changes to packages in another project -If you have a project that depends on packages from this monorepo, you may wish to load changes to those packages into the project and test them locally or in CI before releasing them. To solve that problem, this repository provides a mechanism to publish "preview" versions of packages. These versions can then be used in the project like any other versions. +If you have a project that depends on a package in this monorepo, you may want to load those changes into the project without having to create a whole new monorepo release. How you do this depends on your use case. -### Publishing preview builds as a MetaMask contributor +### Testing changes to packages locally -If you're a member of the MetaMask organization, you can create preview builds for a pull request by posting a comment with the text `@metamaskbot publish-preview`. This starts the `publish-preview` GitHub action; after a few minutes, it should complete and you will see a new comment that lists the newly published packages. You can then [use these versions in your project](#using-preview-builds). +If you're developing your project locally and want to test changes to a package, you can follow these steps: -Note two things about each package: +1. First, you must build the monorepo. It's recommend to run `yarn build:watch` so that changes to the package you want to change are reflected in your project automatically. +2. Next, you need to connect the package to your project by overriding the resolution logic in your package manager to replace the published version of the package with the local version. -- The name is scoped to `@metamask-previews` instead of `@metamask`. -- The ID of the last commit in the branch is appended to the version, e.g. `1.2.3-e2df9b4` instead of `1.2.3`. + 1. Open `package.json` in the project and locate the dependency entry for the package. + 2. Locate the section responsible for resolution overrides (or create it if it doesn't exist). If you're using Yarn, this is `resolutions`; if you're using NPM or any other package manager, this is `overrides`. + 3. Add a line to this section that mirrors the dependency entry on the left-hand side and points to the local path on the right-hand side: -If you make more changes and wish to publish another set of preview builds, post another comment on the pull request with `@metamaskbot publish-preview`. + ``` + "@metamask/@": "file:/packages/" + ``` -### Publishing preview builds as an independent contributor + > **Example:** + > + > - If you're a member of MetaMask, your project uses Yarn, `@metamask/controller-utils` is listed in dependencies at `^1.1.4`, and your clone of the `core` repo is at the same level as your project, add the following to `resolutions`: + > + > ``` + > "@metamask/controller-utils@^1.1.4": "file:../core/packages/controller-utils" + > ``` + > + > - If you are an individual contributor, your project uses NPM, `@metamask/assets-controllers` is listed in dependencies at `^3.4.7`, and your fork of the `core` repo is at the same level as your project, add the following to `overrides`: + > + > ``` + > "@metamask/assets-controllers@^3.4.7": "file:../core/packages/assets-controllers" + > ``` -If you've forked this repository, you can create preview versions for a branch by following these steps: + 4. Run `yarn install`. -1. First, since preview build releases are published under an NPM organization, you'll need access to one. If this is not the case, you can either [create a new organization](https://www.npmjs.com/org/create) or [convert your existing username into an organization](https://www.npmjs.com/org/upgrade). +3. Due to the use of Yarn's `file:` protocol, if you update the package in the monorepo, then you'll need to run `yarn install` in the project again. -2. Once you've done this, open the `package.json` for each package that you want to publish and change the scope in the name from `@metamask` to `@`, replacing `NPM_ORG` appropriately. +### Testing changes to packages with preview builds -3. Next, run the following commands to generate preview versions for all packages based on the current branch and publish them (again, replacing `NPM_ORG`): +If you want to test changes to a package where it would be unwieldy or impossible to use a local version, such as on CI, you can publish a preview build and configure your project to use it. + +#### Publishing preview builds as a MetaMask contributor + +If you're a member of the MetaMask organization, you can create preview builds based on a pull request by following these steps: + +1. Post a comment on the pull request with the text `@metamaskbot publish-preview`. This starts the `publish-preview` GitHub action, which will create preview builds for all packages in the monorepo. +2. After a few minutes, the action should complete and you will see a new comment that lists the newly published packages along with their versions. + + Note two things about each package: + + - The name is scoped to `@metamask-previews` instead of `@metamask`. + - The ID of the last commit in the branch is appended to the version, e.g. `1.2.3-e2df9b4` instead of `1.2.3`. + +Now you can [use these preview builds in your project](#using-preview-builds). + +If you make more changes to a package, follow step 2 again, making sure to update the reference to the package in your project's `package.json` to use the newly published preview version. + +#### Publishing preview builds as an independent contributor + +If you've forked this repository, you can create preview builds based on a branch by following these steps: + +1. First, since an NPM scope is used to host preview build releases, you'll need access to one. If you do not, you can either [create a new organization](https://www.npmjs.com/org/create) or [convert your existing username into an organization](https://www.npmjs.com/org/upgrade). + +2. Once you've done this, open the `package.json` for each package that you want to publish and change the scope in the name from `@metamask` to `@`, replacing `NPM_ORG` with your NPM organization. + +3. Next, run the following command to create and publish the preview builds (again, replacing `NPM_ORG` as appropriate): ``` yarn prepare-preview-builds "@" "$(git rev-parse --short HEAD)" && yarn build && yarn publish-previews @@ -85,11 +127,11 @@ If you've forked this repository, you can create preview versions for a branch b - The name is scoped to the NPM organization you entered instead of `@metamask`. - The ID of the last commit in the branch is appended to the version, e.g. `1.2.3-e2df9b4` instead of `1.2.3`. -4. Once this command is complete, all preview builds will be published, and you can then [use them in your project](#using-preview-builds). +Now you can [use these preview builds in your project](#using-preview-builds). -If you make more changes and wish to publish another set of preview builds, run steps 3 and 4 again. +If you make more changes to a package, follow step 3 again, making sure to update the reference to the package in your project's `package.json` to use the newly published preview version. -### Using preview builds +#### Using preview builds To use a preview build for a package within a project, you need to override the resolution logic for your package manager so that the "production" version of that package is replaced with the preview version. Here's how you do that: @@ -98,24 +140,24 @@ To use a preview build for a package within a project, you need to override the 3. Add a line to this section that mirrors the dependency entry on the left-hand side and points to the preview version on the right-hand side: ``` - "@metamask/@": "npm:@/@" + "@metamask/@": "npm:@/@" ``` -4. Run `yarn install`. - -For example: + > **Example:** + > + > - If you're a member of MetaMask, your project uses Yarn, `@metamask/controller-utils` is listed in dependencies at `^1.1.4`, and you want to use the preview version `1.2.3-e2df9b4`, add the following to `resolutions`: + > + > ``` + > "@metamask/controller-utils@^1.1.4": "npm:@metamask-previews/controller-utils@1.2.3-e2df9b4" + > ``` + > + > - If you are an individual contributor, your project uses NPM, `@metamask/assets-controllers` is listed in dependencies at `^3.4.7`, and you want to use the preview version `4.5.6-bc2a997` published under `@foo`, add the following to `overrides`: + > + > ``` + > "@metamask/assets-controllers@^3.4.7": "npm:@foo/assets-controllers@4.5.6-bc2a997" + > ``` -- If you're a member of MetaMask, your project uses Yarn, `@metamask/controller-utils` is listed in dependencies at `^1.1.4`, and you want to use the preview version `1.2.3-e2df9b4`, add the following to `resolutions`: - - ``` - "@metamask/controller-utils@^1.1.4": "npm:@metamask-previews/controller-utils@1.2.3-e2df9b4" - ``` - -- If you are an individual contributor, your project uses NPM, `@metamask/assets-controllers` is listed in dependencies at `^3.4.7`, and you want to use the preview version `4.5.6-bc2a997` published under `@foo`, add the following to `overrides`: - - ``` - "@metamask/assets-controllers@^3.4.7": "npm:@foo/assets-controllers@4.5.6-bc2a997" - ``` +4. Run `yarn install`. ## Releasing diff --git a/packages/address-book-controller/package.json b/packages/address-book-controller/package.json index 8e8d5f8a2b..d7f8d0a816 100644 --- a/packages/address-book-controller/package.json +++ b/packages/address-book-controller/package.json @@ -28,8 +28,8 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/base-controller": "workspace:^", - "@metamask/controller-utils": "workspace:^", + "@metamask/base-controller": "^3.2.0", + "@metamask/controller-utils": "^4.3.1", "@metamask/utils": "^6.2.0" }, "devDependencies": { diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index bb76510f58..b3f42bde59 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -28,7 +28,7 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/base-controller": "workspace:^" + "@metamask/base-controller": "^3.2.0" }, "devDependencies": { "@metamask/auto-changelog": "^3.1.0", diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index a1c1576bf8..7bfcf83e93 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -28,7 +28,7 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/base-controller": "workspace:^", + "@metamask/base-controller": "^3.2.0", "@metamask/utils": "^6.2.0", "eth-rpc-errors": "^4.0.2", "immer": "^9.0.6", diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index c62e4e6472..a2a455f4bc 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -33,14 +33,14 @@ "@ethersproject/contracts": "^5.7.0", "@ethersproject/providers": "^5.7.0", "@metamask/abi-utils": "^2.0.1", - "@metamask/approval-controller": "workspace:^", - "@metamask/base-controller": "workspace:^", + "@metamask/approval-controller": "^3.5.0", + "@metamask/base-controller": "^3.2.0", "@metamask/contract-metadata": "^2.3.1", - "@metamask/controller-utils": "workspace:^", + "@metamask/controller-utils": "^4.3.1", "@metamask/eth-query": "^3.0.1", "@metamask/metamask-eth-abis": "3.0.0", - "@metamask/network-controller": "workspace:^", - "@metamask/preferences-controller": "workspace:^", + "@metamask/network-controller": "^12.1.1", + "@metamask/preferences-controller": "^4.3.0", "@metamask/rpc-errors": "^5.1.1", "@metamask/utils": "^6.2.0", "@types/uuid": "^8.3.0", @@ -68,9 +68,9 @@ "typescript": "~4.6.3" }, "peerDependencies": { - "@metamask/approval-controller": "workspace:^", - "@metamask/network-controller": "workspace:^", - "@metamask/preferences-controller": "workspace:^" + "@metamask/approval-controller": "^3.5.0", + "@metamask/network-controller": "^12.1.1", + "@metamask/preferences-controller": "^4.3.0" }, "engines": { "node": ">=16.0.0" diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index 83d82b1627..704cca8ca7 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -28,7 +28,7 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/base-controller": "workspace:^" + "@metamask/base-controller": "^3.2.0" }, "devDependencies": { "@metamask/auto-changelog": "^3.1.0", diff --git a/packages/ens-controller/package.json b/packages/ens-controller/package.json index 0ef14565b8..2d97fb4c60 100644 --- a/packages/ens-controller/package.json +++ b/packages/ens-controller/package.json @@ -29,9 +29,9 @@ }, "dependencies": { "@ethersproject/providers": "^5.7.0", - "@metamask/base-controller": "workspace:^", - "@metamask/controller-utils": "workspace:^", - "@metamask/network-controller": "workspace:^", + "@metamask/base-controller": "^3.2.0", + "@metamask/controller-utils": "^4.3.1", + "@metamask/network-controller": "^12.1.1", "@metamask/utils": "^6.2.0", "ethereum-ens-network-map": "^1.0.2", "punycode": "^2.1.1" @@ -47,7 +47,7 @@ "typescript": "~4.6.3" }, "peerDependencies": { - "@metamask/network-controller": "workspace:^" + "@metamask/network-controller": "^12.1.1" }, "engines": { "node": ">=16.0.0" diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index 3f8da5c20e..ef5a751583 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -28,10 +28,10 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/base-controller": "workspace:^", - "@metamask/controller-utils": "workspace:^", + "@metamask/base-controller": "^3.2.0", + "@metamask/controller-utils": "^4.3.1", "@metamask/eth-query": "^3.0.1", - "@metamask/network-controller": "workspace:^", + "@metamask/network-controller": "^12.1.1", "@metamask/utils": "^6.2.0", "@types/uuid": "^8.3.0", "ethereumjs-util": "^7.0.10", @@ -54,7 +54,7 @@ "typescript": "~4.6.3" }, "peerDependencies": { - "@metamask/network-controller": "workspace:^" + "@metamask/network-controller": "^12.1.1" }, "engines": { "node": ">=16.0.0" diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 81cbae774f..e6cef6a556 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -29,10 +29,10 @@ }, "dependencies": { "@keystonehq/metamask-airgapped-keyring": "^0.13.1", - "@metamask/base-controller": "workspace:^", + "@metamask/base-controller": "^3.2.0", "@metamask/eth-keyring-controller": "^13.0.0", - "@metamask/message-manager": "workspace:^", - "@metamask/preferences-controller": "workspace:^", + "@metamask/message-manager": "^7.3.0", + "@metamask/preferences-controller": "^4.3.0", "@metamask/utils": "^6.2.0", "async-mutex": "^0.2.6", "ethereumjs-util": "^7.0.10", @@ -57,7 +57,7 @@ "uuid": "^8.3.2" }, "peerDependencies": { - "@metamask/preferences-controller": "workspace:^" + "@metamask/preferences-controller": "^4.3.0" }, "engines": { "node": ">=16.0.0" diff --git a/packages/logging-controller/package.json b/packages/logging-controller/package.json index d8be9f3ac6..765b66aa00 100644 --- a/packages/logging-controller/package.json +++ b/packages/logging-controller/package.json @@ -28,8 +28,8 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/base-controller": "workspace:^", - "@metamask/controller-utils": "workspace:^", + "@metamask/base-controller": "^3.2.0", + "@metamask/controller-utils": "^4.3.1", "uuid": "^8.3.2" }, "devDependencies": { diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index da862f2324..fc74aebf54 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -28,8 +28,8 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/base-controller": "workspace:^", - "@metamask/controller-utils": "workspace:^", + "@metamask/base-controller": "^3.2.0", + "@metamask/controller-utils": "^4.3.1", "@metamask/eth-sig-util": "^6.0.0", "@metamask/utils": "^6.2.0", "@types/uuid": "^8.3.0", diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index 2f76238f42..6fc9690966 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -28,8 +28,8 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/base-controller": "workspace:^", - "@metamask/controller-utils": "workspace:^", + "@metamask/base-controller": "^3.2.0", + "@metamask/controller-utils": "^4.3.1", "@metamask/eth-json-rpc-infura": "^8.1.1", "@metamask/eth-json-rpc-middleware": "^11.0.0", "@metamask/eth-json-rpc-provider": "^1.0.0", diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index 4812d392d3..a3c205525a 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -28,7 +28,7 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/base-controller": "workspace:^", + "@metamask/base-controller": "^3.2.0", "@metamask/utils": "^6.2.0", "immer": "^9.0.6", "nanoid": "^3.1.31" diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index 98ba26a8a2..1d2227368e 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -28,9 +28,9 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/approval-controller": "workspace:^", - "@metamask/base-controller": "workspace:^", - "@metamask/controller-utils": "workspace:^", + "@metamask/approval-controller": "^3.5.0", + "@metamask/base-controller": "^3.2.0", + "@metamask/controller-utils": "^4.3.1", "@metamask/utils": "^6.2.0", "@types/deep-freeze-strict": "^1.1.0", "deep-freeze-strict": "^1.1.1", @@ -50,7 +50,7 @@ "typescript": "~4.6.3" }, "peerDependencies": { - "@metamask/approval-controller": "workspace:^" + "@metamask/approval-controller": "^3.5.0" }, "engines": { "node": ">=16.0.0" diff --git a/packages/phishing-controller/package.json b/packages/phishing-controller/package.json index ca778a73a3..9356b4ac04 100644 --- a/packages/phishing-controller/package.json +++ b/packages/phishing-controller/package.json @@ -28,8 +28,8 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/base-controller": "workspace:^", - "@metamask/controller-utils": "workspace:^", + "@metamask/base-controller": "^3.2.0", + "@metamask/controller-utils": "^4.3.1", "@types/punycode": "^2.1.0", "eth-phishing-detect": "^1.2.0", "punycode": "^2.1.1" diff --git a/packages/preferences-controller/package.json b/packages/preferences-controller/package.json index e99c24b225..3e07391504 100644 --- a/packages/preferences-controller/package.json +++ b/packages/preferences-controller/package.json @@ -28,8 +28,8 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/base-controller": "workspace:^", - "@metamask/controller-utils": "workspace:^" + "@metamask/base-controller": "^3.2.0", + "@metamask/controller-utils": "^4.3.1" }, "devDependencies": { "@metamask/auto-changelog": "^3.1.0", diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index f147cb7cc3..da445e2b3d 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -28,7 +28,7 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/base-controller": "workspace:^", + "@metamask/base-controller": "^3.2.0", "eth-rpc-errors": "^4.0.2", "immer": "^9.0.6" }, diff --git a/packages/signature-controller/package.json b/packages/signature-controller/package.json index 13419271ef..7d94717891 100644 --- a/packages/signature-controller/package.json +++ b/packages/signature-controller/package.json @@ -28,10 +28,10 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/approval-controller": "workspace:^", - "@metamask/base-controller": "workspace:^", - "@metamask/controller-utils": "workspace:^", - "@metamask/message-manager": "workspace:^", + "@metamask/approval-controller": "^3.5.0", + "@metamask/base-controller": "^3.2.0", + "@metamask/controller-utils": "^4.3.1", + "@metamask/message-manager": "^7.3.0", "@metamask/utils": "^6.2.0", "eth-rpc-errors": "^4.0.2", "ethereumjs-util": "^7.0.10", @@ -49,7 +49,7 @@ "typescript": "~4.6.3" }, "peerDependencies": { - "@metamask/approval-controller": "workspace:^" + "@metamask/approval-controller": "^3.5.0" }, "engines": { "node": ">=16.0.0" diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 33f44535ac..4b13461d88 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -30,11 +30,11 @@ "dependencies": { "@ethereumjs/common": "^3.2.0", "@ethereumjs/tx": "^4.2.0", - "@metamask/approval-controller": "workspace:^", - "@metamask/base-controller": "workspace:^", - "@metamask/controller-utils": "workspace:^", + "@metamask/approval-controller": "^3.5.0", + "@metamask/base-controller": "^3.2.0", + "@metamask/controller-utils": "^4.3.1", "@metamask/eth-query": "^3.0.1", - "@metamask/network-controller": "workspace:^", + "@metamask/network-controller": "^12.1.1", "@metamask/utils": "^6.2.0", "async-mutex": "^0.2.6", "eth-method-registry": "1.1.0", @@ -58,8 +58,8 @@ "typescript": "~4.6.3" }, "peerDependencies": { - "@metamask/approval-controller": "workspace:^", - "@metamask/network-controller": "workspace:^", + "@metamask/approval-controller": "^3.5.0", + "@metamask/network-controller": "^12.1.1", "babel-runtime": "^6.26.0" }, "engines": { diff --git a/yarn.lock b/yarn.lock index bdcdc738b7..b24c132248 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1297,8 +1297,8 @@ __metadata: resolution: "@metamask/address-book-controller@workspace:packages/address-book-controller" dependencies: "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" - "@metamask/controller-utils": "workspace:^" + "@metamask/base-controller": ^3.2.0 + "@metamask/controller-utils": ^4.3.1 "@metamask/utils": ^6.2.0 "@types/jest": ^27.4.1 deepmerge: ^4.2.2 @@ -1315,7 +1315,7 @@ __metadata: resolution: "@metamask/announcement-controller@workspace:packages/announcement-controller" dependencies: "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" + "@metamask/base-controller": ^3.2.0 "@types/jest": ^27.4.1 deepmerge: ^4.2.2 immer: ^9.0.6 @@ -1327,12 +1327,12 @@ __metadata: languageName: unknown linkType: soft -"@metamask/approval-controller@workspace:^, @metamask/approval-controller@workspace:packages/approval-controller": +"@metamask/approval-controller@^3.5.0, @metamask/approval-controller@workspace:packages/approval-controller": version: 0.0.0-use.local resolution: "@metamask/approval-controller@workspace:packages/approval-controller" dependencies: "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" + "@metamask/base-controller": ^3.2.0 "@metamask/utils": ^6.2.0 "@types/jest": ^27.4.1 deepmerge: ^4.2.2 @@ -1357,15 +1357,15 @@ __metadata: "@ethersproject/contracts": ^5.7.0 "@ethersproject/providers": ^5.7.0 "@metamask/abi-utils": ^2.0.1 - "@metamask/approval-controller": "workspace:^" + "@metamask/approval-controller": ^3.5.0 "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" + "@metamask/base-controller": ^3.2.0 "@metamask/contract-metadata": ^2.3.1 - "@metamask/controller-utils": "workspace:^" + "@metamask/controller-utils": ^4.3.1 "@metamask/eth-query": ^3.0.1 "@metamask/metamask-eth-abis": 3.0.0 - "@metamask/network-controller": "workspace:^" - "@metamask/preferences-controller": "workspace:^" + "@metamask/network-controller": ^12.1.1 + "@metamask/preferences-controller": ^4.3.0 "@metamask/rpc-errors": ^5.1.1 "@metamask/utils": ^6.2.0 "@types/jest": ^27.4.1 @@ -1389,9 +1389,9 @@ __metadata: typescript: ~4.6.3 uuid: ^8.3.2 peerDependencies: - "@metamask/approval-controller": "workspace:^" - "@metamask/network-controller": "workspace:^" - "@metamask/preferences-controller": "workspace:^" + "@metamask/approval-controller": ^3.5.0 + "@metamask/network-controller": ^12.1.1 + "@metamask/preferences-controller": ^4.3.0 languageName: unknown linkType: soft @@ -1409,7 +1409,7 @@ __metadata: languageName: node linkType: hard -"@metamask/base-controller@workspace:^, @metamask/base-controller@workspace:packages/base-controller": +"@metamask/base-controller@^3.2.0, @metamask/base-controller@workspace:packages/base-controller": version: 0.0.0-use.local resolution: "@metamask/base-controller@workspace:packages/base-controller" dependencies: @@ -1440,7 +1440,7 @@ __metadata: resolution: "@metamask/composable-controller@workspace:packages/composable-controller" dependencies: "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" + "@metamask/base-controller": ^3.2.0 "@types/jest": ^27.4.1 deepmerge: ^4.2.2 immer: ^9.0.6 @@ -1460,7 +1460,7 @@ __metadata: languageName: node linkType: hard -"@metamask/controller-utils@workspace:^, @metamask/controller-utils@workspace:packages/controller-utils": +"@metamask/controller-utils@^4.3.1, @metamask/controller-utils@workspace:packages/controller-utils": version: 0.0.0-use.local resolution: "@metamask/controller-utils@workspace:packages/controller-utils" dependencies: @@ -1549,9 +1549,9 @@ __metadata: dependencies: "@ethersproject/providers": ^5.7.0 "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" - "@metamask/controller-utils": "workspace:^" - "@metamask/network-controller": "workspace:^" + "@metamask/base-controller": ^3.2.0 + "@metamask/controller-utils": ^4.3.1 + "@metamask/network-controller": ^12.1.1 "@metamask/utils": ^6.2.0 "@types/jest": ^27.4.1 deepmerge: ^4.2.2 @@ -1563,7 +1563,7 @@ __metadata: typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 peerDependencies: - "@metamask/network-controller": "workspace:^" + "@metamask/network-controller": ^12.1.1 languageName: unknown linkType: soft @@ -1739,10 +1739,10 @@ __metadata: resolution: "@metamask/gas-fee-controller@workspace:packages/gas-fee-controller" dependencies: "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" - "@metamask/controller-utils": "workspace:^" + "@metamask/base-controller": ^3.2.0 + "@metamask/controller-utils": ^4.3.1 "@metamask/eth-query": ^3.0.1 - "@metamask/network-controller": "workspace:^" + "@metamask/network-controller": ^12.1.1 "@metamask/utils": ^6.2.0 "@types/jest": ^27.4.1 "@types/jest-when": ^2.7.3 @@ -1761,7 +1761,7 @@ __metadata: typescript: ~4.6.3 uuid: ^8.3.2 peerDependencies: - "@metamask/network-controller": "workspace:^" + "@metamask/network-controller": ^12.1.1 languageName: unknown linkType: soft @@ -1774,11 +1774,11 @@ __metadata: "@keystonehq/bc-ur-registry-eth": ^0.9.0 "@keystonehq/metamask-airgapped-keyring": ^0.13.1 "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" + "@metamask/base-controller": ^3.2.0 "@metamask/eth-keyring-controller": ^13.0.0 "@metamask/eth-sig-util": ^6.0.0 - "@metamask/message-manager": "workspace:^" - "@metamask/preferences-controller": "workspace:^" + "@metamask/message-manager": ^7.3.0 + "@metamask/preferences-controller": ^4.3.0 "@metamask/scure-bip39": ^2.1.0 "@metamask/utils": ^6.2.0 "@types/jest": ^27.4.1 @@ -1795,7 +1795,7 @@ __metadata: typescript: ~4.6.3 uuid: ^8.3.2 peerDependencies: - "@metamask/preferences-controller": "workspace:^" + "@metamask/preferences-controller": ^4.3.0 languageName: unknown linkType: soft @@ -1804,8 +1804,8 @@ __metadata: resolution: "@metamask/logging-controller@workspace:packages/logging-controller" dependencies: "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" - "@metamask/controller-utils": "workspace:^" + "@metamask/base-controller": ^3.2.0 + "@metamask/controller-utils": ^4.3.1 "@types/jest": ^27.4.1 deepmerge: ^4.2.2 jest: ^27.5.1 @@ -1817,13 +1817,13 @@ __metadata: languageName: unknown linkType: soft -"@metamask/message-manager@workspace:^, @metamask/message-manager@workspace:packages/message-manager": +"@metamask/message-manager@^7.3.0, @metamask/message-manager@workspace:packages/message-manager": version: 0.0.0-use.local resolution: "@metamask/message-manager@workspace:packages/message-manager" dependencies: "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" - "@metamask/controller-utils": "workspace:^" + "@metamask/base-controller": ^3.2.0 + "@metamask/controller-utils": ^4.3.1 "@metamask/eth-sig-util": ^6.0.0 "@metamask/utils": ^6.2.0 "@types/jest": ^27.4.1 @@ -1847,14 +1847,14 @@ __metadata: languageName: node linkType: hard -"@metamask/network-controller@workspace:^, @metamask/network-controller@workspace:packages/network-controller": +"@metamask/network-controller@^12.1.1, @metamask/network-controller@workspace:packages/network-controller": version: 0.0.0-use.local resolution: "@metamask/network-controller@workspace:packages/network-controller" dependencies: "@json-rpc-specification/meta-schema": ^1.0.6 "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" - "@metamask/controller-utils": "workspace:^" + "@metamask/base-controller": ^3.2.0 + "@metamask/controller-utils": ^4.3.1 "@metamask/eth-json-rpc-infura": ^8.1.1 "@metamask/eth-json-rpc-middleware": ^11.0.0 "@metamask/eth-json-rpc-provider": ^1.0.0 @@ -1888,7 +1888,7 @@ __metadata: resolution: "@metamask/notification-controller@workspace:packages/notification-controller" dependencies: "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" + "@metamask/base-controller": ^3.2.0 "@metamask/utils": ^6.2.0 "@types/jest": ^27.4.1 deepmerge: ^4.2.2 @@ -1926,10 +1926,10 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/permission-controller@workspace:packages/permission-controller" dependencies: - "@metamask/approval-controller": "workspace:^" + "@metamask/approval-controller": ^3.5.0 "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" - "@metamask/controller-utils": "workspace:^" + "@metamask/base-controller": ^3.2.0 + "@metamask/controller-utils": ^4.3.1 "@metamask/utils": ^6.2.0 "@types/deep-freeze-strict": ^1.1.0 "@types/jest": ^27.4.1 @@ -1945,7 +1945,7 @@ __metadata: typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 peerDependencies: - "@metamask/approval-controller": "workspace:^" + "@metamask/approval-controller": ^3.5.0 languageName: unknown linkType: soft @@ -1954,8 +1954,8 @@ __metadata: resolution: "@metamask/phishing-controller@workspace:packages/phishing-controller" dependencies: "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" - "@metamask/controller-utils": "workspace:^" + "@metamask/base-controller": ^3.2.0 + "@metamask/controller-utils": ^4.3.1 "@types/jest": ^27.4.1 "@types/punycode": ^2.1.0 deepmerge: ^4.2.2 @@ -1971,13 +1971,13 @@ __metadata: languageName: unknown linkType: soft -"@metamask/preferences-controller@workspace:^, @metamask/preferences-controller@workspace:packages/preferences-controller": +"@metamask/preferences-controller@^4.3.0, @metamask/preferences-controller@workspace:packages/preferences-controller": version: 0.0.0-use.local resolution: "@metamask/preferences-controller@workspace:packages/preferences-controller" dependencies: "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" - "@metamask/controller-utils": "workspace:^" + "@metamask/base-controller": ^3.2.0 + "@metamask/controller-utils": ^4.3.1 "@types/jest": ^27.4.1 deepmerge: ^4.2.2 jest: ^27.5.1 @@ -1993,7 +1993,7 @@ __metadata: resolution: "@metamask/rate-limit-controller@workspace:packages/rate-limit-controller" dependencies: "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" + "@metamask/base-controller": ^3.2.0 "@types/jest": ^27.4.1 deepmerge: ^4.2.2 eth-rpc-errors: ^4.0.2 @@ -2044,11 +2044,11 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/signature-controller@workspace:packages/signature-controller" dependencies: - "@metamask/approval-controller": "workspace:^" + "@metamask/approval-controller": ^3.5.0 "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" - "@metamask/controller-utils": "workspace:^" - "@metamask/message-manager": "workspace:^" + "@metamask/base-controller": ^3.2.0 + "@metamask/controller-utils": ^4.3.1 + "@metamask/message-manager": ^7.3.0 "@metamask/utils": ^6.2.0 "@types/jest": ^27.4.1 deepmerge: ^4.2.2 @@ -2062,7 +2062,7 @@ __metadata: typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 peerDependencies: - "@metamask/approval-controller": "workspace:^" + "@metamask/approval-controller": ^3.5.0 languageName: unknown linkType: soft @@ -2079,12 +2079,12 @@ __metadata: dependencies: "@ethereumjs/common": ^3.2.0 "@ethereumjs/tx": ^4.2.0 - "@metamask/approval-controller": "workspace:^" + "@metamask/approval-controller": ^3.5.0 "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": "workspace:^" - "@metamask/controller-utils": "workspace:^" + "@metamask/base-controller": ^3.2.0 + "@metamask/controller-utils": ^4.3.1 "@metamask/eth-query": ^3.0.1 - "@metamask/network-controller": "workspace:^" + "@metamask/network-controller": ^12.1.1 "@metamask/utils": ^6.2.0 "@types/jest": ^27.4.1 "@types/node": ^16.18.24 @@ -2104,8 +2104,8 @@ __metadata: typescript: ~4.6.3 uuid: ^8.3.2 peerDependencies: - "@metamask/approval-controller": "workspace:^" - "@metamask/network-controller": "workspace:^" + "@metamask/approval-controller": ^3.5.0 + "@metamask/network-controller": ^12.1.1 babel-runtime: ^6.26.0 languageName: unknown linkType: soft