Skip to content

Commit 4a7b15f

Browse files
committed
Merge branch 'main' into mikesposito/messenger/logging-controller
2 parents 388cc9c + 9f480c8 commit 4a7b15f

File tree

527 files changed

+56322
-12708
lines changed

Some content is hidden

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

527 files changed

+56322
-12708
lines changed

.github/CODEOWNERS

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
/packages/multichain-transactions-controller @MetaMask/accounts-engineers
1212
/packages/multichain-account-service @MetaMask/accounts-engineers
1313
/packages/account-tree-controller @MetaMask/accounts-engineers
14+
/packages/profile-sync-controller @MetaMask/accounts-engineers
1415

1516
## Assets Team
1617
/packages/assets-controllers @MetaMask/metamask-assets
@@ -39,9 +40,6 @@
3940
## Product Safety Team
4041
/packages/phishing-controller @MetaMask/product-safety
4142

42-
## Snaps Team
43-
/packages/rate-limit-controller @MetaMask/snaps-devs
44-
4543
## Swaps-Bridge Team
4644
/packages/bridge-controller @MetaMask/swaps-engineers
4745
/packages/bridge-status-controller @MetaMask/swaps-engineers
@@ -57,11 +55,11 @@
5755
/packages/delegation-controller @MetaMask/vault
5856

5957
## Wallet API Platform Team
60-
/packages/chain-agnostic-permission @MetaMask/wallet-api-platform-engineers
61-
/packages/eip1193-permission-middleware @MetaMask/wallet-api-platform-engineers
62-
/packages/multichain-api-middleware @MetaMask/wallet-api-platform-engineers
63-
/packages/selected-network-controller @MetaMask/wallet-api-platform-engineers
64-
/packages/eip-5792-middleware @MetaMask/wallet-api-platform-engineers
58+
/packages/chain-agnostic-permission @MetaMask/wallet-integrations
59+
/packages/eip1193-permission-middleware @MetaMask/wallet-integrations
60+
/packages/multichain-api-middleware @MetaMask/wallet-integrations
61+
/packages/selected-network-controller @MetaMask/wallet-integrations
62+
/packages/eip-5792-middleware @MetaMask/wallet-integrations
6563

6664
## Core Platform Team
6765
/packages/base-controller @MetaMask/core-platform
@@ -73,27 +71,28 @@
7371
/packages/sample-controllers @MetaMask/core-platform
7472
/packages/polling-controller @MetaMask/core-platform
7573
/packages/preferences-controller @MetaMask/core-platform
74+
/packages/rate-limit-controller @MetaMask/core-platform
7675

7776
## Wallet UX Team
78-
/packages/announcement-controller @MetaMask/wallet-ux
77+
/packages/announcement-controller @MetaMask/core-extension-ux @MetaMask/mobile-core-ux
7978

8079
## Web3Auth Team
8180
/packages/seedless-onboarding-controller @MetaMask/web3auth
8281
/packages/shield-controller @MetaMask/web3auth
8382
/packages/subscription-controller @MetaMask/web3auth
8483

8584
## Joint team ownership
86-
/packages/eth-json-rpc-provider @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
87-
/packages/json-rpc-engine @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
88-
/packages/json-rpc-middleware-stream @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
85+
/packages/eth-json-rpc-provider @MetaMask/wallet-integrations @MetaMask/core-platform
86+
/packages/json-rpc-engine @MetaMask/wallet-integrations @MetaMask/core-platform
87+
/packages/json-rpc-middleware-stream @MetaMask/wallet-integrations @MetaMask/core-platform
8988
/packages/keyring-controller @MetaMask/accounts-engineers @MetaMask/core-platform
9089
/packages/multichain-network-controller @MetaMask/core-platform @MetaMask/accounts-engineers @MetaMask/metamask-assets
9190
/packages/network-controller @MetaMask/core-platform @MetaMask/metamask-assets
92-
/packages/permission-controller @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform @MetaMask/snaps-devs
93-
/packages/permission-log-controller @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
94-
/packages/profile-sync-controller @MetaMask/identity
91+
/packages/permission-controller @MetaMask/wallet-integrations @MetaMask/core-platform
92+
/packages/permission-log-controller @MetaMask/wallet-integrations @MetaMask/core-platform
9593
/packages/remote-feature-flag-controller @MetaMask/extension-platform @MetaMask/mobile-platform
9694
/packages/foundryup @MetaMask/mobile-platform @MetaMask/extension-platform
95+
/packages/core-backend @MetaMask/core-platform @MetaMask/metamask-assets
9796

9897
## Package Release related
9998
/packages/account-tree-controller/package.json @MetaMask/accounts-engineers @MetaMask/core-platform
@@ -102,22 +101,22 @@
102101
/packages/accounts-controller/CHANGELOG.md @MetaMask/accounts-engineers @MetaMask/core-platform
103102
/packages/address-book-controller/package.json @MetaMask/confirmations @MetaMask/core-platform
104103
/packages/address-book-controller/CHANGELOG.md @MetaMask/confirmations @MetaMask/core-platform
105-
/packages/announcement-controller/package.json @MetaMask/wallet-ux @MetaMask/core-platform
106-
/packages/announcement-controller/CHANGELOG.md @MetaMask/wallet-ux @MetaMask/core-platform
104+
/packages/announcement-controller/package.json @MetaMask/core-extension-ux @MetaMask/mobile-core-ux @MetaMask/core-platform
105+
/packages/announcement-controller/CHANGELOG.md @MetaMask/core-extension-ux @MetaMask/mobile-core-ux @MetaMask/core-platform
107106
/packages/approval-controller/package.json @MetaMask/confirmations @MetaMask/core-platform
108107
/packages/approval-controller/CHANGELOG.md @MetaMask/confirmations @MetaMask/core-platform
109108
/packages/assets-controllers/package.json @MetaMask/metamask-assets @MetaMask/core-platform
110109
/packages/assets-controllers/CHANGELOG.md @MetaMask/metamask-assets @MetaMask/core-platform
111-
/packages/chain-agnostic-permission/package.json @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
112-
/packages/chain-agnostic-permission/CHANGELOG.md @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
110+
/packages/chain-agnostic-permission/package.json @MetaMask/wallet-integrations @MetaMask/core-platform
111+
/packages/chain-agnostic-permission/CHANGELOG.md @MetaMask/wallet-integrations @MetaMask/core-platform
113112
/packages/delegation-controller/package.json @MetaMask/vault @MetaMask/core-platform
114113
/packages/delegation-controller/CHANGELOG.md @MetaMask/vault @MetaMask/core-platform
115114
/packages/earn-controller/package.json @MetaMask/earn @MetaMask/core-platform
116115
/packages/earn-controller/CHANGELOG.md @MetaMask/earn @MetaMask/core-platform
117-
/packages/eip-5792-middleware/package.json @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
118-
/packages/eip-5792-middleware/CHANGELOG.md @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
119-
/packages/eip1193-permission-middleware/package.json @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
120-
/packages/eip1193-permission-middleware/CHANGELOG.md @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
116+
/packages/eip-5792-middleware/package.json @MetaMask/wallet-integrations @MetaMask/core-platform
117+
/packages/eip-5792-middleware/CHANGELOG.md @MetaMask/wallet-integrations @MetaMask/core-platform
118+
/packages/eip1193-permission-middleware/package.json @MetaMask/wallet-integrations @MetaMask/core-platform
119+
/packages/eip1193-permission-middleware/CHANGELOG.md @MetaMask/wallet-integrations @MetaMask/core-platform
121120
/packages/ens-controller/package.json @MetaMask/confirmations @MetaMask/core-platform
122121
/packages/ens-controller/CHANGELOG.md @MetaMask/confirmations @MetaMask/core-platform
123122
/packages/gas-fee-controller/package.json @MetaMask/confirmations @MetaMask/core-platform
@@ -132,22 +131,20 @@
132131
/packages/message-manager/CHANGELOG.md @MetaMask/confirmations @MetaMask/core-platform
133132
/packages/multichain-account-service/package.json @MetaMask/accounts-engineers @MetaMask/core-platform
134133
/packages/multichain-account-service/CHANGELOG.md @MetaMask/accounts-engineers @MetaMask/core-platform
135-
/packages/multichain-api-middleware/package.json @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
136-
/packages/multichain-api-middleware/CHANGELOG.md @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
134+
/packages/multichain-api-middleware/package.json @MetaMask/wallet-integrations @MetaMask/core-platform
135+
/packages/multichain-api-middleware/CHANGELOG.md @MetaMask/wallet-integrations @MetaMask/core-platform
137136
/packages/name-controller/package.json @MetaMask/confirmations @MetaMask/core-platform
138137
/packages/name-controller/CHANGELOG.md @MetaMask/confirmations @MetaMask/core-platform
139138
/packages/notification-services-controller/package.json @MetaMask/notifications @MetaMask/core-platform
140139
/packages/notification-services-controller/CHANGELOG.md @MetaMask/notifications @MetaMask/core-platform
141140
/packages/phishing-controller/package.json @MetaMask/product-safety @MetaMask/core-platform
142141
/packages/phishing-controller/CHANGELOG.md @MetaMask/product-safety @MetaMask/core-platform
143-
/packages/profile-sync-controller/package.json @MetaMask/identity @MetaMask/core-platform
144-
/packages/profile-sync-controller/CHANGELOG.md @MetaMask/identity @MetaMask/core-platform
145-
/packages/selected-network-controller/package.json @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
146-
/packages/selected-network-controller/CHANGELOG.md @MetaMask/wallet-api-platform-engineers @MetaMask/core-platform
142+
/packages/profile-sync-controller/package.json @MetaMask/accounts-engineers @MetaMask/core-platform
143+
/packages/profile-sync-controller/CHANGELOG.md @MetaMask/accounts-engineers @MetaMask/core-platform
144+
/packages/selected-network-controller/package.json @MetaMask/wallet-integrations @MetaMask/core-platform
145+
/packages/selected-network-controller/CHANGELOG.md @MetaMask/wallet-integrations @MetaMask/core-platform
147146
/packages/signature-controller/package.json @MetaMask/confirmations @MetaMask/core-platform
148147
/packages/signature-controller/CHANGELOG.md @MetaMask/confirmations @MetaMask/core-platform
149-
/packages/rate-limit-controller/package.json @MetaMask/snaps-devs @MetaMask/core-platform
150-
/packages/rate-limit-controller/CHANGELOG.md @MetaMask/snaps-devs @MetaMask/core-platform
151148
/packages/transaction-controller/package.json @MetaMask/confirmations @MetaMask/core-platform
152149
/packages/transaction-controller/CHANGELOG.md @MetaMask/confirmations @MetaMask/core-platform
153150
/packages/user-operation-controller/package.json @MetaMask/confirmations @MetaMask/core-platform
@@ -174,3 +171,5 @@
174171
/packages/network-enablement-controller/CHANGELOG.md @MetaMask/metamask-assets @MetaMask/core-platform
175172
/packages/subscription-controller/package.json @MetaMask/web3auth @MetaMask/core-platform
176173
/packages/subscription-controller/CHANGELOG.md @MetaMask/web3auth @MetaMask/core-platform
174+
/packages/core-backend/package.json @MetaMask/core-platform @MetaMask/metamask-assets
175+
/packages/core-backend/CHANGELOG.md @MetaMask/core-platform @MetaMask/metamask-assets

README.md

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ linkStyle default opacity:0.5
100100
controller_utils(["@metamask/controller-utils"]);
101101
delegation_controller(["@metamask/delegation-controller"]);
102102
earn_controller(["@metamask/earn-controller"]);
103-
eip-5792-middleware(["@metamask/eip-5792-middleware"])
103+
eip_5792_middleware(["@metamask/eip-5792-middleware"]);
104104
eip1193_permission_middleware(["@metamask/eip1193-permission-middleware"]);
105105
ens_controller(["@metamask/ens-controller"]);
106106
error_reporting_service(["@metamask/error-reporting-service"]);
@@ -142,6 +142,8 @@ linkStyle default opacity:0.5
142142
account_tree_controller --> base_controller;
143143
account_tree_controller --> accounts_controller;
144144
account_tree_controller --> keyring_controller;
145+
account_tree_controller --> multichain_account_service;
146+
account_tree_controller --> profile_sync_controller;
145147
accounts_controller --> base_controller;
146148
accounts_controller --> controller_utils;
147149
accounts_controller --> keyring_controller;
@@ -154,14 +156,17 @@ linkStyle default opacity:0.5
154156
assets_controllers --> base_controller;
155157
assets_controllers --> controller_utils;
156158
assets_controllers --> polling_controller;
159+
assets_controllers --> account_tree_controller;
157160
assets_controllers --> accounts_controller;
158161
assets_controllers --> approval_controller;
159162
assets_controllers --> keyring_controller;
163+
assets_controllers --> multichain_account_service;
160164
assets_controllers --> network_controller;
161165
assets_controllers --> permission_controller;
162166
assets_controllers --> phishing_controller;
163167
assets_controllers --> preferences_controller;
164168
assets_controllers --> transaction_controller;
169+
base_controller --> messenger;
165170
base_controller --> json_rpc_engine;
166171
bridge_controller --> base_controller;
167172
bridge_controller --> controller_utils;
@@ -192,9 +197,11 @@ linkStyle default opacity:0.5
192197
delegation_controller --> keyring_controller;
193198
earn_controller --> base_controller;
194199
earn_controller --> controller_utils;
195-
earn_controller --> accounts_controller;
200+
earn_controller --> account_tree_controller;
196201
earn_controller --> network_controller;
197202
earn_controller --> transaction_controller;
203+
eip_5792_middleware --> transaction_controller;
204+
eip_5792_middleware --> keyring_controller;
198205
eip1193_permission_middleware --> chain_agnostic_permission;
199206
eip1193_permission_middleware --> controller_utils;
200207
eip1193_permission_middleware --> json_rpc_engine;
@@ -244,6 +251,7 @@ linkStyle default opacity:0.5
244251
network_enablement_controller --> controller_utils;
245252
network_enablement_controller --> multichain_network_controller;
246253
network_enablement_controller --> network_controller;
254+
network_enablement_controller --> transaction_controller;
247255
notification_services_controller --> base_controller;
248256
notification_services_controller --> controller_utils;
249257
notification_services_controller --> keyring_controller;
@@ -263,7 +271,7 @@ linkStyle default opacity:0.5
263271
preferences_controller --> controller_utils;
264272
preferences_controller --> keyring_controller;
265273
profile_sync_controller --> base_controller;
266-
profile_sync_controller --> accounts_controller;
274+
profile_sync_controller --> address_book_controller;
267275
profile_sync_controller --> keyring_controller;
268276
rate_limit_controller --> base_controller;
269277
remote_feature_flag_controller --> base_controller;
@@ -277,13 +285,19 @@ linkStyle default opacity:0.5
277285
selected_network_controller --> json_rpc_engine;
278286
selected_network_controller --> network_controller;
279287
selected_network_controller --> permission_controller;
288+
shield_controller --> base_controller;
289+
shield_controller --> signature_controller;
290+
shield_controller --> transaction_controller;
280291
signature_controller --> base_controller;
281292
signature_controller --> controller_utils;
282293
signature_controller --> accounts_controller;
283294
signature_controller --> approval_controller;
284295
signature_controller --> keyring_controller;
285296
signature_controller --> logging_controller;
286297
signature_controller --> network_controller;
298+
subscription_controller --> base_controller;
299+
subscription_controller --> controller_utils;
300+
subscription_controller --> profile_sync_controller;
287301
token_search_discovery_controller --> base_controller;
288302
transaction_controller --> base_controller;
289303
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

0 commit comments

Comments
 (0)