From bd124a02498bea9c755512d204f22476122c1b55 Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Wed, 14 Feb 2024 11:36:04 -0500 Subject: [PATCH 1/4] Initialize Release 118.0.0 --- packages/assets-controllers/CHANGELOG.md | 8 +++++++- packages/assets-controllers/package.json | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/assets-controllers/CHANGELOG.md b/packages/assets-controllers/CHANGELOG.md index 9c4e2b57c0d..3b19832d346 100644 --- a/packages/assets-controllers/CHANGELOG.md +++ b/packages/assets-controllers/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [26.0.0] + ### Added - **BREAKING:** Adds `@metamask/accounts-controller` ^8.0.0 and `@metamask/keyring-controller` ^12.0.0 as dependencies and peer dependencies. ([#3775](https://github.com/MetaMask/core/pull/3775/)). @@ -15,6 +17,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING**: Narrows `AssetsContractController` `provider` property type from `any` to `Provider` from `@metamask/network-controller`. ([#3818](https://github.com/MetaMask/core/pull/3818)) +- **BREAKING**: Narrows `TokensController` `provider` property type from `any` to `Provider` from `@metamask/network-controller`. ([#3818](https://github.com/MetaMask/core/pull/3818)) - **BREAKING:** `TokenDetectionController` is merged with `DetectTokensController` from the `metamask-extension` repo. ([#3775](https://github.com/MetaMask/core/pull/3775/)) - **BREAKING:** `TokenDetectionController` now resets its polling interval to the default value of 3 minutes when token detection is triggered by external controller events `KeyringController:unlock`, `TokenListController:stateChange`, `PreferencesController:stateChange`, `AccountsController:selectedAccountChange`. - **BREAKING:** `TokenDetectionController` now refetches tokens on `NetworkController:networkDidChange` if the `networkClientId` is changed instead of `chainId`. @@ -24,6 +28,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **BREAKING:** In Mainnet, even if the `PreferenceController`'s `useTokenDetection` option is set to false, automatic token detection is performed on the legacy token list (token data from the contract-metadata repo). - **BREAKING:** The `TokensState` type is now defined as a type alias rather than an interface. ([#3690](https://github.com/MetaMask/core/pull/3690/)) - This is breaking because it could affect how this type is used with other types, such as `Json`, which does not support TypeScript interfaces. +- Bump `@metamask/ethjs-provider-http` from ^0.2.0 to ^0.3.0 ([#3897](https://github.com/MetaMask/core/pull/3897)) ### Removed @@ -673,7 +678,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Use Ethers for AssetsContractController ([#845](https://github.com/MetaMask/core/pull/845)) -[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@25.0.0...HEAD +[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@26.0.0...HEAD +[26.0.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@25.0.0...@metamask/assets-controllers@26.0.0 [25.0.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@24.0.0...@metamask/assets-controllers@25.0.0 [24.0.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@23.1.0...@metamask/assets-controllers@24.0.0 [23.1.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@23.0.0...@metamask/assets-controllers@23.1.0 diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index a92c4b7f79b..8ae17c87253 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/assets-controllers", - "version": "25.0.0", + "version": "26.0.0", "description": "Controllers which manage interactions involving ERC-20, ERC-721, and ERC-1155 tokens (including NFTs)", "keywords": [ "MetaMask", From 1b6a17fc9bafc67a6e7f12862049d746915d12b2 Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Wed, 14 Feb 2024 12:23:17 -0500 Subject: [PATCH 2/4] Update readme content --- README.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e0a425c8b86..8d66a0141cd 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ This repository contains the following packages [^fn1]: - [`@metamask/selected-network-controller`](packages/selected-network-controller) - [`@metamask/signature-controller`](packages/signature-controller) - [`@metamask/transaction-controller`](packages/transaction-controller) +- [`@metamask/user-operation-controller`](packages/user-operation-controller) @@ -79,15 +80,18 @@ linkStyle default opacity:0.5 selected_network_controller(["@metamask/selected-network-controller"]); signature_controller(["@metamask/signature-controller"]); transaction_controller(["@metamask/transaction-controller"]); + user_operation_controller(["@metamask/user-operation-controller"]); accounts_controller --> base_controller; accounts_controller --> keyring_controller; address_book_controller --> base_controller; address_book_controller --> controller_utils; announcement_controller --> base_controller; approval_controller --> base_controller; + assets_controllers --> accounts_controller; assets_controllers --> approval_controller; assets_controllers --> base_controller; assets_controllers --> controller_utils; + assets_controllers --> keyring_controller; assets_controllers --> network_controller; assets_controllers --> polling_controller; assets_controllers --> preferences_controller; @@ -103,7 +107,6 @@ linkStyle default opacity:0.5 json_rpc_middleware_stream --> json_rpc_engine; keyring_controller --> base_controller; keyring_controller --> message_manager; - keyring_controller --> preferences_controller; logging_controller --> base_controller; logging_controller --> controller_utils; message_manager --> base_controller; @@ -114,10 +117,10 @@ linkStyle default opacity:0.5 network_controller --> eth_json_rpc_provider; network_controller --> json_rpc_engine; notification_controller --> base_controller; - permission_controller --> approval_controller; permission_controller --> base_controller; permission_controller --> controller_utils; permission_controller --> json_rpc_engine; + permission_controller --> approval_controller; permission_log_controller --> base_controller; permission_log_controller --> json_rpc_engine; phishing_controller --> base_controller; @@ -127,10 +130,11 @@ linkStyle default opacity:0.5 polling_controller --> network_controller; preferences_controller --> base_controller; preferences_controller --> controller_utils; - queued_request_controller --> approval_controller; + preferences_controller --> keyring_controller; queued_request_controller --> base_controller; queued_request_controller --> controller_utils; queued_request_controller --> json_rpc_engine; + queued_request_controller --> approval_controller; queued_request_controller --> network_controller; queued_request_controller --> selected_network_controller; rate_limit_controller --> base_controller; @@ -148,6 +152,14 @@ linkStyle default opacity:0.5 transaction_controller --> controller_utils; transaction_controller --> gas_fee_controller; transaction_controller --> network_controller; + user_operation_controller --> approval_controller; + user_operation_controller --> base_controller; + user_operation_controller --> controller_utils; + user_operation_controller --> gas_fee_controller; + user_operation_controller --> keyring_controller; + user_operation_controller --> network_controller; + user_operation_controller --> polling_controller; + user_operation_controller --> transaction_controller; ``` From 13d441152d252b22a296636d91d9bc654b5a2f0a Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Thu, 15 Feb 2024 16:11:39 -0500 Subject: [PATCH 3/4] Reset release version to v118 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d955485a21c..346ec87ab00 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/core-monorepo", - "version": "117.0.0", + "version": "118.0.0", "private": true, "description": "Monorepo for packages shared between MetaMask clients", "repository": { From 32dbd78d2ad80f6c171ed1eb1e8b99dadba23234 Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Thu, 15 Feb 2024 13:13:11 -0800 Subject: [PATCH 4/4] Update changelog Co-authored-by: Elliot Winkler Update packages/assets-controllers/CHANGELOG.md Co-authored-by: Elliot Winkler Update changelog --- packages/assets-controllers/CHANGELOG.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/assets-controllers/CHANGELOG.md b/packages/assets-controllers/CHANGELOG.md index 3b19832d346..aa336c58aee 100644 --- a/packages/assets-controllers/CHANGELOG.md +++ b/packages/assets-controllers/CHANGELOG.md @@ -11,20 +11,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added -- **BREAKING:** Adds `@metamask/accounts-controller` ^8.0.0 and `@metamask/keyring-controller` ^12.0.0 as dependencies and peer dependencies. ([#3775](https://github.com/MetaMask/core/pull/3775/)). +- **BREAKING:** Add `@metamask/accounts-controller` ^8.0.0 and `@metamask/keyring-controller` ^12.0.0 as dependencies and peer dependencies. ([#3775](https://github.com/MetaMask/core/pull/3775/)). - **BREAKING:** `TokenDetectionController` newly subscribes to the `PreferencesController:stateChange`, `AccountsController:selectedAccountChange`, `KeyringController:lock`, `KeyringController:unlock` events, and allows the `PreferencesController:getState` messenger action. ([#3775](https://github.com/MetaMask/core/pull/3775/)) - `TokensController` now exports `TokensControllerActions`, `TokensControllerGetStateAction`, `TokensControllerAddDetectedTokensAction`, `TokensControllerEvents`, `TokensControllerStateChangeEvent`. ([#3690](https://github.com/MetaMask/core/pull/3690/)) ### Changed -- **BREAKING**: Narrows `AssetsContractController` `provider` property type from `any` to `Provider` from `@metamask/network-controller`. ([#3818](https://github.com/MetaMask/core/pull/3818)) -- **BREAKING**: Narrows `TokensController` `provider` property type from `any` to `Provider` from `@metamask/network-controller`. ([#3818](https://github.com/MetaMask/core/pull/3818)) +- **BREAKING**: Narrow `AssetsContractController` constructor option `provider` so that it must be a `Provider` from `@metamask/network-controller`. ([#3818](https://github.com/MetaMask/core/pull/3818)) +- **BREAKING**: Narrow `TokensController` constructor option `provider` so that it must be a `Provider` from `@metamask/network-controller`. ([#3818](https://github.com/MetaMask/core/pull/3818)) - **BREAKING:** `TokenDetectionController` is merged with `DetectTokensController` from the `metamask-extension` repo. ([#3775](https://github.com/MetaMask/core/pull/3775/)) - **BREAKING:** `TokenDetectionController` now resets its polling interval to the default value of 3 minutes when token detection is triggered by external controller events `KeyringController:unlock`, `TokenListController:stateChange`, `PreferencesController:stateChange`, `AccountsController:selectedAccountChange`. - **BREAKING:** `TokenDetectionController` now refetches tokens on `NetworkController:networkDidChange` if the `networkClientId` is changed instead of `chainId`. - **BREAKING:** `TokenDetectionController` cannot initiate polling or token detection if `KeyringController` state is locked. - **BREAKING:** The `detectTokens` method now excludes tokens that are already included in the `TokensController`'s `detectedTokens` list from the batch of incoming tokens it sends to the `TokensController` `addDetectedTokens` method. - - **BREAKING:** The constructor for `TokenDetectionController` expects a new required proprerty `trackMetaMetricsEvent`, which defines the callback that is called in the `detectTokens` method. + - **BREAKING:** The constructor for `TokenDetectionController` expects a new required property `trackMetaMetricsEvent`, which defines the callback that is called in the `detectTokens` method. - **BREAKING:** In Mainnet, even if the `PreferenceController`'s `useTokenDetection` option is set to false, automatic token detection is performed on the legacy token list (token data from the contract-metadata repo). - **BREAKING:** The `TokensState` type is now defined as a type alias rather than an interface. ([#3690](https://github.com/MetaMask/core/pull/3690/)) - This is breaking because it could affect how this type is used with other types, such as `Json`, which does not support TypeScript interfaces.