Skip to content

Commit 0ef6439

Browse files
committed
Merge branch 'main' into mikesposito/messenger/app-metadata-controller
2 parents 7822550 + 1aae93d commit 0ef6439

File tree

509 files changed

+46992
-12961
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

509 files changed

+46992
-12961
lines changed

.github/CODEOWNERS

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@
3939
## Product Safety Team
4040
/packages/phishing-controller @MetaMask/product-safety
4141

42-
## Snaps Team
43-
/packages/rate-limit-controller @MetaMask/snaps-devs
44-
4542
## Swaps-Bridge Team
4643
/packages/bridge-controller @MetaMask/swaps-engineers
4744
/packages/bridge-status-controller @MetaMask/swaps-engineers
@@ -61,6 +58,7 @@
6158
/packages/eip1193-permission-middleware @MetaMask/wallet-api-platform-engineers
6259
/packages/multichain-api-middleware @MetaMask/wallet-api-platform-engineers
6360
/packages/selected-network-controller @MetaMask/wallet-api-platform-engineers
61+
/packages/eip-5792-middleware @MetaMask/wallet-api-platform-engineers
6462

6563
## Core Platform Team
6664
/packages/base-controller @MetaMask/core-platform
@@ -72,13 +70,15 @@
7270
/packages/sample-controllers @MetaMask/core-platform
7371
/packages/polling-controller @MetaMask/core-platform
7472
/packages/preferences-controller @MetaMask/core-platform
73+
/packages/rate-limit-controller @MetaMask/core-platform
7574

7675
## Wallet UX Team
7776
/packages/announcement-controller @MetaMask/wallet-ux
7877

7978
## Web3Auth Team
8079
/packages/seedless-onboarding-controller @MetaMask/web3auth
8180
/packages/shield-controller @MetaMask/web3auth
81+
/packages/subscription-controller @MetaMask/web3auth
8282

8383
## Joint team ownership
8484
/packages/eth-json-rpc-provider @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
@@ -87,7 +87,7 @@
8787
/packages/keyring-controller @MetaMask/accounts-engineers @MetaMask/core-platform
8888
/packages/multichain-network-controller @MetaMask/core-platform @MetaMask/accounts-engineers @MetaMask/metamask-assets
8989
/packages/network-controller @MetaMask/core-platform @MetaMask/metamask-assets
90-
/packages/permission-controller @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform @MetaMask/snaps-devs
90+
/packages/permission-controller @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
9191
/packages/permission-log-controller @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
9292
/packages/profile-sync-controller @MetaMask/identity
9393
/packages/remote-feature-flag-controller @MetaMask/extension-platform @MetaMask/mobile-platform
@@ -112,6 +112,8 @@
112112
/packages/delegation-controller/CHANGELOG.md @MetaMask/vault @MetaMask/core-platform
113113
/packages/earn-controller/package.json @MetaMask/earn @MetaMask/core-platform
114114
/packages/earn-controller/CHANGELOG.md @MetaMask/earn @MetaMask/core-platform
115+
/packages/eip-5792-middleware/package.json @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
116+
/packages/eip-5792-middleware/CHANGELOG.md @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
115117
/packages/eip1193-permission-middleware/package.json @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
116118
/packages/eip1193-permission-middleware/CHANGELOG.md @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
117119
/packages/ens-controller/package.json @MetaMask/confirmations @MetaMask/core-platform
@@ -142,8 +144,6 @@
142144
/packages/selected-network-controller/CHANGELOG.md @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
143145
/packages/signature-controller/package.json @MetaMask/confirmations @MetaMask/core-platform
144146
/packages/signature-controller/CHANGELOG.md @MetaMask/confirmations @MetaMask/core-platform
145-
/packages/rate-limit-controller/package.json @MetaMask/snaps-devs @MetaMask/core-platform
146-
/packages/rate-limit-controller/CHANGELOG.md @MetaMask/snaps-devs @MetaMask/core-platform
147147
/packages/transaction-controller/package.json @MetaMask/confirmations @MetaMask/core-platform
148148
/packages/transaction-controller/CHANGELOG.md @MetaMask/confirmations @MetaMask/core-platform
149149
/packages/user-operation-controller/package.json @MetaMask/confirmations @MetaMask/core-platform
@@ -168,3 +168,5 @@
168168
/packages/shield-controller/CHANGELOG.md @MetaMask/web3auth @MetaMask/core-platform
169169
/packages/network-enablement-controller/package.json @MetaMask/metamask-assets @MetaMask/core-platform
170170
/packages/network-enablement-controller/CHANGELOG.md @MetaMask/metamask-assets @MetaMask/core-platform
171+
/packages/subscription-controller/package.json @MetaMask/web3auth @MetaMask/core-platform
172+
/packages/subscription-controller/CHANGELOG.md @MetaMask/web3auth @MetaMask/core-platform

README.md

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ Each package in this repository has its own README where you can find installati
3636
- [`@metamask/controller-utils`](packages/controller-utils)
3737
- [`@metamask/delegation-controller`](packages/delegation-controller)
3838
- [`@metamask/earn-controller`](packages/earn-controller)
39+
- [`@metamask/eip-5792-middleware`](packages/eip-5792-middleware)
3940
- [`@metamask/eip1193-permission-middleware`](packages/eip1193-permission-middleware)
4041
- [`@metamask/ens-controller`](packages/ens-controller)
4142
- [`@metamask/error-reporting-service`](packages/error-reporting-service)
@@ -70,6 +71,7 @@ Each package in this repository has its own README where you can find installati
7071
- [`@metamask/selected-network-controller`](packages/selected-network-controller)
7172
- [`@metamask/shield-controller`](packages/shield-controller)
7273
- [`@metamask/signature-controller`](packages/signature-controller)
74+
- [`@metamask/subscription-controller`](packages/subscription-controller)
7375
- [`@metamask/token-search-discovery-controller`](packages/token-search-discovery-controller)
7476
- [`@metamask/transaction-controller`](packages/transaction-controller)
7577
- [`@metamask/user-operation-controller`](packages/user-operation-controller)
@@ -98,6 +100,7 @@ linkStyle default opacity:0.5
98100
controller_utils(["@metamask/controller-utils"]);
99101
delegation_controller(["@metamask/delegation-controller"]);
100102
earn_controller(["@metamask/earn-controller"]);
103+
eip_5792_middleware(["@metamask/eip-5792-middleware"]);
101104
eip1193_permission_middleware(["@metamask/eip1193-permission-middleware"]);
102105
ens_controller(["@metamask/ens-controller"]);
103106
error_reporting_service(["@metamask/error-reporting-service"]);
@@ -132,13 +135,17 @@ linkStyle default opacity:0.5
132135
selected_network_controller(["@metamask/selected-network-controller"]);
133136
shield_controller(["@metamask/shield-controller"]);
134137
signature_controller(["@metamask/signature-controller"]);
138+
subscription_controller(["@metamask/subscription-controller"]);
135139
token_search_discovery_controller(["@metamask/token-search-discovery-controller"]);
136140
transaction_controller(["@metamask/transaction-controller"]);
137141
user_operation_controller(["@metamask/user-operation-controller"]);
138142
account_tree_controller --> base_controller;
139143
account_tree_controller --> accounts_controller;
140144
account_tree_controller --> keyring_controller;
145+
account_tree_controller --> multichain_account_service;
146+
account_tree_controller --> profile_sync_controller;
141147
accounts_controller --> base_controller;
148+
accounts_controller --> controller_utils;
142149
accounts_controller --> keyring_controller;
143150
accounts_controller --> network_controller;
144151
address_book_controller --> base_controller;
@@ -149,14 +156,17 @@ linkStyle default opacity:0.5
149156
assets_controllers --> base_controller;
150157
assets_controllers --> controller_utils;
151158
assets_controllers --> polling_controller;
159+
assets_controllers --> account_tree_controller;
152160
assets_controllers --> accounts_controller;
153161
assets_controllers --> approval_controller;
154162
assets_controllers --> keyring_controller;
163+
assets_controllers --> multichain_account_service;
155164
assets_controllers --> network_controller;
156165
assets_controllers --> permission_controller;
157166
assets_controllers --> phishing_controller;
158167
assets_controllers --> preferences_controller;
159168
assets_controllers --> transaction_controller;
169+
base_controller --> messenger;
160170
base_controller --> json_rpc_engine;
161171
bridge_controller --> base_controller;
162172
bridge_controller --> controller_utils;
@@ -187,9 +197,11 @@ linkStyle default opacity:0.5
187197
delegation_controller --> keyring_controller;
188198
earn_controller --> base_controller;
189199
earn_controller --> controller_utils;
190-
earn_controller --> accounts_controller;
200+
earn_controller --> account_tree_controller;
191201
earn_controller --> network_controller;
192202
earn_controller --> transaction_controller;
203+
eip_5792_middleware --> transaction_controller;
204+
eip_5792_middleware --> keyring_controller;
193205
eip1193_permission_middleware --> chain_agnostic_permission;
194206
eip1193_permission_middleware --> controller_utils;
195207
eip1193_permission_middleware --> json_rpc_engine;
@@ -239,6 +251,7 @@ linkStyle default opacity:0.5
239251
network_enablement_controller --> controller_utils;
240252
network_enablement_controller --> multichain_network_controller;
241253
network_enablement_controller --> network_controller;
254+
network_enablement_controller --> transaction_controller;
242255
notification_services_controller --> base_controller;
243256
notification_services_controller --> controller_utils;
244257
notification_services_controller --> keyring_controller;
@@ -258,7 +271,7 @@ linkStyle default opacity:0.5
258271
preferences_controller --> controller_utils;
259272
preferences_controller --> keyring_controller;
260273
profile_sync_controller --> base_controller;
261-
profile_sync_controller --> accounts_controller;
274+
profile_sync_controller --> address_book_controller;
262275
profile_sync_controller --> keyring_controller;
263276
rate_limit_controller --> base_controller;
264277
remote_feature_flag_controller --> base_controller;
@@ -272,13 +285,19 @@ linkStyle default opacity:0.5
272285
selected_network_controller --> json_rpc_engine;
273286
selected_network_controller --> network_controller;
274287
selected_network_controller --> permission_controller;
288+
shield_controller --> base_controller;
289+
shield_controller --> signature_controller;
290+
shield_controller --> transaction_controller;
275291
signature_controller --> base_controller;
276292
signature_controller --> controller_utils;
277293
signature_controller --> accounts_controller;
278294
signature_controller --> approval_controller;
279295
signature_controller --> keyring_controller;
280296
signature_controller --> logging_controller;
281297
signature_controller --> network_controller;
298+
subscription_controller --> base_controller;
299+
subscription_controller --> controller_utils;
300+
subscription_controller --> profile_sync_controller;
282301
token_search_discovery_controller --> base_controller;
283302
transaction_controller --> base_controller;
284303
transaction_controller --> controller_utils;

docs/controller-guidelines.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,19 +116,27 @@ A variable named `${controllerName}Metadata` should be defined (there is no need
116116
```typescript
117117
const keyringControllerMetadata = {
118118
vault: {
119+
// We don't want to include this in state logs because it contains sensitive key material.
120+
includeInStateLogs: false,
119121
// We want to persist this property so it's restored automatically, as we
120122
// cannot reconstruct it otherwise.
121123
persist: true,
122124
// This property can be used to identify a user, so we want to make sure we
123125
// do not include it in Sentry.
124126
anonymous: false,
127+
// This property is only used in the controller, not in the UI.
128+
usedInUi: false,
125129
},
126130
isUnlocked: {
131+
// This value is not sensitive, and is useful for diagnosing errors reported through support.
132+
includeInStateLogs: true
127133
// We do not need to persist this property in state, as we want to
128134
// initialize state with the wallet unlocked.
129135
persist: false,
130136
// This property has no PII, so it is safe to send to Sentry.
131137
anonymous: true,
138+
// This is used in the UI
139+
usedInUi: true,
132140
},
133141
};
134142

eslint-warning-thresholds.json

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -107,16 +107,10 @@
107107
"jsdoc/tag-lines": 2
108108
},
109109
"packages/base-controller/src/BaseController.test.ts": {
110-
"import-x/namespace": 16
111-
},
112-
"packages/base-controller/src/BaseController.ts": {
113-
"jsdoc/check-tag-names": 2
110+
"import-x/namespace": 15
114111
},
115112
"packages/base-controller/src/next/BaseController.test.ts": {
116-
"import-x/namespace": 16
117-
},
118-
"packages/base-controller/src/next/BaseController.ts": {
119-
"jsdoc/check-tag-names": 2
113+
"import-x/namespace": 13
120114
},
121115
"packages/build-utils/src/transforms/remove-fenced-code.test.ts": {
122116
"import-x/order": 1
@@ -159,6 +153,9 @@
159153
"packages/ens-controller/src/EnsController.ts": {
160154
"jsdoc/check-tag-names": 6
161155
},
156+
"packages/eip-5792-middleware/src/hooks/processSendCalls.ts": {
157+
"@typescript-eslint/no-misused-promises": 1
158+
},
162159
"packages/eth-json-rpc-provider/src/safe-event-emitter-provider.test.ts": {
163160
"import-x/namespace": 1
164161
},
@@ -190,7 +187,6 @@
190187
"n/no-unsupported-features/node-builtins": 1
191188
},
192189
"packages/keyring-controller/src/KeyringController.test.ts": {
193-
"import-x/namespace": 5,
194190
"jest/no-conditional-in-test": 2
195191
},
196192
"packages/keyring-controller/src/KeyringController.ts": {
@@ -289,9 +285,6 @@
289285
"packages/permission-controller/src/PermissionController.test.ts": {
290286
"jest/no-conditional-in-test": 4
291287
},
292-
"packages/permission-controller/src/PermissionController.ts": {
293-
"prettier/prettier": 12
294-
},
295288
"packages/permission-controller/src/rpc-methods/getPermissions.test.ts": {
296289
"import-x/order": 1
297290
},
@@ -341,8 +334,7 @@
341334
},
342335
"packages/remote-feature-flag-controller/src/remote-feature-flag-controller.ts": {
343336
"@typescript-eslint/prefer-readonly": 1,
344-
"jsdoc/check-tag-names": 2,
345-
"prettier/prettier": 1
337+
"jsdoc/check-tag-names": 2
346338
},
347339
"packages/remote-feature-flag-controller/src/utils/user-segmentation-utils.ts": {
348340
"jsdoc/tag-lines": 2
@@ -353,10 +345,6 @@
353345
"packages/seedless-onboarding-controller/src/errors.ts": {
354346
"@typescript-eslint/no-unsafe-enum-comparison": 1
355347
},
356-
"packages/selected-network-controller/src/SelectedNetworkController.ts": {
357-
"@typescript-eslint/prefer-readonly": 1,
358-
"prettier/prettier": 6
359-
},
360348
"packages/selected-network-controller/tests/SelectedNetworkController.test.ts": {
361349
"jest/no-conditional-in-test": 1
362350
},

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@metamask/core-monorepo",
3-
"version": "513.0.0",
3+
"version": "572.0.0",
44
"private": true,
55
"description": "Monorepo for packages shared between MetaMask clients",
66
"repository": {
@@ -63,7 +63,7 @@
6363
"@metamask/eth-block-tracker": "^12.0.1",
6464
"@metamask/eth-json-rpc-provider": "^4.1.8",
6565
"@metamask/json-rpc-engine": "^10.0.3",
66-
"@metamask/utils": "^11.4.2",
66+
"@metamask/utils": "^11.8.0",
6767
"@ts-bridge/cli": "^0.6.1",
6868
"@types/jest": "^27.4.1",
6969
"@types/lodash": "^4.14.191",

0 commit comments

Comments
 (0)