@metamask-previews/wallet 21.0.0-preview-d4ac59b6e → 21.0.0-preview-c3d36da85

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added
11
+
12
+ - **BREAKING:** Add `AssetsController` to the default initialization configurations ([#10885](https://github.com/MetaMask/core/pull/10885))
13
+ - Requires `instanceOptions.assetsController.queryApiClient`.
14
+ - `AssetsController` creates its data sources and starts tracking assets the first time the client opens the UI (`ClientController:setUiOpen(true)`); no start call is needed. Register and initialize the controllers `AssetsController` depends on that `Wallet` does not construct, such as `AccountTreeController` and `SnapController`, before opening the UI.
15
+ - Delegates `AccountTreeController` and `SnapController` actions and events, which the client registers.
16
+ - Also delegates the other external `AssetsControllerMessenger` actions and events (accounts, client, keyring, network, network enablement, permission, phishing, remote feature flags, preferences, and transactions). `Wallet` constructs the ones it already initializes by default.
17
+ - Hosts that already register `AssetsController` on the wallet root messenger must remove that registration before upgrading, or messenger registration will collide.
18
+
19
+ ### Changed
20
+
21
+ - Add `@metamask/assets-controller` `^20.2.1` as a dependency ([#10885](https://github.com/MetaMask/core/pull/10885))
22
+
10
23
  ## [21.0.0]
11
24
 
12
25
  ### Added
@@ -0,0 +1,21 @@
1
+ import { AssetsController } from '@metamask/assets-controller';
2
+ import type { AssetsControllerMessenger } from '@metamask/assets-controller';
3
+ import type { InitializationConfiguration } from '../../types.js';
4
+ export type { AssetsControllerInstanceOptions } from './types.js';
5
+ /**
6
+ * Initialization configuration for `AssetsController`.
7
+ *
8
+ * The controller's constructor only subscribes to messenger events and never
9
+ * calls other controllers, so the Wallet can construct it before controllers
10
+ * it depends on that are not Wallet defaults yet, such as
11
+ * `AccountTreeController` and `SnapController`.
12
+ *
13
+ * The client does not need to start it. The first time the client opens the
14
+ * UI (`ClientController:setUiOpen(true)`, published as
15
+ * `ClientController:stateChange`), the controller reads enabled networks,
16
+ * creates its data sources and starts fetching once the keyring is unlocked
17
+ * and the account tree is initialized. The client must register those
18
+ * controllers before it opens the UI.
19
+ */
20
+ export declare const assetsController: InitializationConfiguration<AssetsController, AssetsControllerMessenger>;
21
+ //# sourceMappingURL=assets-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets-controller.d.ts","sourceRoot":"","sources":["../../../../src/initialization/instances/assets-controller/assets-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAG7E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAElE,YAAY,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAElE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,EAAE,2BAA2B,CACxD,gBAAgB,EAChB,yBAAyB,CA6D1B,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { AssetsController } from '@metamask/assets-controller';
2
+ import { Messenger } from '@metamask/messenger';
3
+ /**
4
+ * Initialization configuration for `AssetsController`.
5
+ *
6
+ * The controller's constructor only subscribes to messenger events and never
7
+ * calls other controllers, so the Wallet can construct it before controllers
8
+ * it depends on that are not Wallet defaults yet, such as
9
+ * `AccountTreeController` and `SnapController`.
10
+ *
11
+ * The client does not need to start it. The first time the client opens the
12
+ * UI (`ClientController:setUiOpen(true)`, published as
13
+ * `ClientController:stateChange`), the controller reads enabled networks,
14
+ * creates its data sources and starts fetching once the keyring is unlocked
15
+ * and the account tree is initialized. The client must register those
16
+ * controllers before it opens the UI.
17
+ */
18
+ export const assetsController = {
19
+ name: 'AssetsController',
20
+ reference: AssetsController,
21
+ init: ({ state, messenger, options }) => new AssetsController({
22
+ ...options,
23
+ messenger,
24
+ state,
25
+ }),
26
+ getMessenger: (parent) => {
27
+ const messenger = new Messenger({
28
+ namespace: 'AssetsController',
29
+ parent,
30
+ });
31
+ parent.delegate({
32
+ messenger,
33
+ actions: [
34
+ 'AccountsController:getSelectedAccount',
35
+ 'AccountTreeController:getAccountsFromSelectedAccountGroup',
36
+ 'AccountTreeController:isInitialized',
37
+ 'ClientController:getState',
38
+ 'ConfigRegistryController:getNetworkConfigByCaip2ChainId',
39
+ 'KeyringController:isUnlocked',
40
+ 'NetworkController:getNetworkClientById',
41
+ 'NetworkController:getState',
42
+ 'NetworkEnablementController:getState',
43
+ 'PermissionController:getPermissions',
44
+ 'PhishingController:bulkScanTokens',
45
+ 'RemoteFeatureFlagController:getState',
46
+ 'SnapController:getRunnableSnaps',
47
+ 'SnapController:handleRequest',
48
+ ],
49
+ events: [
50
+ 'AccountActivityService:balanceUpdated',
51
+ 'AccountActivityService:statusChanged',
52
+ 'AccountsController:accountBalancesUpdated',
53
+ 'AccountTreeController:initialized',
54
+ 'AccountTreeController:selectedAccountGroupChange',
55
+ 'AccountTreeController:uninitialized',
56
+ 'ClientController:stateChange',
57
+ 'KeyringController:lock',
58
+ 'KeyringController:unlock',
59
+ 'MultichainTransactionsController:transactionConfirmed',
60
+ 'NetworkController:networkAdded',
61
+ 'NetworkController:networkDidChange',
62
+ 'NetworkController:networkRemoved',
63
+ 'NetworkController:stateChange',
64
+ 'NetworkEnablementController:stateChange',
65
+ 'PermissionController:stateChange',
66
+ 'PreferencesController:stateChange',
67
+ 'RemoteFeatureFlagController:stateChange',
68
+ 'SnapController:snapInstalled',
69
+ 'TransactionController:transactionConfirmed',
70
+ 'TransactionController:unapprovedTransactionAdded',
71
+ ],
72
+ });
73
+ return messenger;
74
+ },
75
+ };
76
+ //# sourceMappingURL=assets-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets-controller.js","sourceRoot":"","sources":["../../../../src/initialization/instances/assets-controller/assets-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMhD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAGzB;IACF,IAAI,EAAE,kBAAkB;IACxB,SAAS,EAAE,gBAAgB;IAC3B,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CACtC,IAAI,gBAAgB,CAAC;QACnB,GAAG,OAAO;QACV,SAAS;QACT,KAAK;KACN,CAAC;IACJ,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;QACvB,MAAM,SAAS,GAA8B,IAAI,SAAS,CAAC;YACzD,SAAS,EAAE,kBAAkB;YAC7B,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC;YACd,SAAS;YACT,OAAO,EAAE;gBACP,uCAAuC;gBACvC,2DAA2D;gBAC3D,qCAAqC;gBACrC,2BAA2B;gBAC3B,yDAAyD;gBACzD,8BAA8B;gBAC9B,wCAAwC;gBACxC,4BAA4B;gBAC5B,sCAAsC;gBACtC,qCAAqC;gBACrC,mCAAmC;gBACnC,sCAAsC;gBACtC,iCAAiC;gBACjC,8BAA8B;aAC/B;YACD,MAAM,EAAE;gBACN,uCAAuC;gBACvC,sCAAsC;gBACtC,2CAA2C;gBAC3C,mCAAmC;gBACnC,kDAAkD;gBAClD,qCAAqC;gBACrC,8BAA8B;gBAC9B,wBAAwB;gBACxB,0BAA0B;gBAC1B,uDAAuD;gBACvD,gCAAgC;gBAChC,oCAAoC;gBACpC,kCAAkC;gBAClC,+BAA+B;gBAC/B,yCAAyC;gBACzC,kCAAkC;gBAClC,mCAAmC;gBACnC,yCAAyC;gBACzC,8BAA8B;gBAC9B,4CAA4C;gBAC5C,kDAAkD;aACnD;SACF,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAC","sourcesContent":["import { AssetsController } from '@metamask/assets-controller';\nimport type { AssetsControllerMessenger } from '@metamask/assets-controller';\nimport { Messenger } from '@metamask/messenger';\n\nimport type { InitializationConfiguration } from '../../types.js';\n\nexport type { AssetsControllerInstanceOptions } from './types.js';\n\n/**\n * Initialization configuration for `AssetsController`.\n *\n * The controller's constructor only subscribes to messenger events and never\n * calls other controllers, so the Wallet can construct it before controllers\n * it depends on that are not Wallet defaults yet, such as\n * `AccountTreeController` and `SnapController`.\n *\n * The client does not need to start it. The first time the client opens the\n * UI (`ClientController:setUiOpen(true)`, published as\n * `ClientController:stateChange`), the controller reads enabled networks,\n * creates its data sources and starts fetching once the keyring is unlocked\n * and the account tree is initialized. The client must register those\n * controllers before it opens the UI.\n */\nexport const assetsController: InitializationConfiguration<\n AssetsController,\n AssetsControllerMessenger\n> = {\n name: 'AssetsController',\n reference: AssetsController,\n init: ({ state, messenger, options }) =>\n new AssetsController({\n ...options,\n messenger,\n state,\n }),\n getMessenger: (parent) => {\n const messenger: AssetsControllerMessenger = new Messenger({\n namespace: 'AssetsController',\n parent,\n });\n\n parent.delegate({\n messenger,\n actions: [\n 'AccountsController:getSelectedAccount',\n 'AccountTreeController:getAccountsFromSelectedAccountGroup',\n 'AccountTreeController:isInitialized',\n 'ClientController:getState',\n 'ConfigRegistryController:getNetworkConfigByCaip2ChainId',\n 'KeyringController:isUnlocked',\n 'NetworkController:getNetworkClientById',\n 'NetworkController:getState',\n 'NetworkEnablementController:getState',\n 'PermissionController:getPermissions',\n 'PhishingController:bulkScanTokens',\n 'RemoteFeatureFlagController:getState',\n 'SnapController:getRunnableSnaps',\n 'SnapController:handleRequest',\n ],\n events: [\n 'AccountActivityService:balanceUpdated',\n 'AccountActivityService:statusChanged',\n 'AccountsController:accountBalancesUpdated',\n 'AccountTreeController:initialized',\n 'AccountTreeController:selectedAccountGroupChange',\n 'AccountTreeController:uninitialized',\n 'ClientController:stateChange',\n 'KeyringController:lock',\n 'KeyringController:unlock',\n 'MultichainTransactionsController:transactionConfirmed',\n 'NetworkController:networkAdded',\n 'NetworkController:networkDidChange',\n 'NetworkController:networkRemoved',\n 'NetworkController:stateChange',\n 'NetworkEnablementController:stateChange',\n 'PermissionController:stateChange',\n 'PreferencesController:stateChange',\n 'RemoteFeatureFlagController:stateChange',\n 'SnapController:snapInstalled',\n 'TransactionController:transactionConfirmed',\n 'TransactionController:unapprovedTransactionAdded',\n ],\n });\n\n return messenger;\n },\n};\n"]}
@@ -0,0 +1,9 @@
1
+ import type { AssetsControllerOptions } from '@metamask/assets-controller';
2
+ /**
3
+ * Per-instance options for the wallet's `AssetsController`. `queryApiClient`
4
+ * is required because each client constructs its own API Platform client
5
+ * (product name, bearer token, cache); every other field is optional and
6
+ * falls back to the controller's own default.
7
+ */
8
+ export type AssetsControllerInstanceOptions = Omit<AssetsControllerOptions, 'messenger' | 'state'>;
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/initialization/instances/assets-controller/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAChD,uBAAuB,EACvB,WAAW,GAAG,OAAO,CACtB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/initialization/instances/assets-controller/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { AssetsControllerOptions } from '@metamask/assets-controller';\n\n/**\n * Per-instance options for the wallet's `AssetsController`. `queryApiClient`\n * is required because each client constructs its own API Platform client\n * (product name, bearer token, cache); every other field is optional and\n * falls back to the controller's own default.\n */\nexport type AssetsControllerInstanceOptions = Omit<\n AssetsControllerOptions,\n 'messenger' | 'state'\n>;\n"]}
@@ -2,6 +2,7 @@ export { accountsController } from './accounts-controller/accounts-controller.js
2
2
  export { addressBookController } from './address-book-controller/address-book-controller.js';
3
3
  export { analyticsController } from './analytics-controller/analytics-controller.js';
4
4
  export { approvalController } from './approval-controller/approval-controller.js';
5
+ export { assetsController } from './assets-controller/assets-controller.js';
5
6
  export { claimsController } from './claims-controller/claims-controller.js';
6
7
  export { claimsService } from './claims-service/claims-service.js';
7
8
  export { clientController } from './client-controller/client-controller.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/initialization/instances/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAC;AACxG,OAAO,EAAE,wBAAwB,EAAE,MAAM,4DAA4D,CAAC;AACtG,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kEAAkE,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EAAE,2BAA2B,EAAE,MAAM,oEAAoE,CAAC;AACjH,OAAO,EAAE,4BAA4B,EAAE,MAAM,oEAAoE,CAAC;AAClH,OAAO,EAAE,yBAAyB,EAAE,MAAM,8DAA8D,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,sEAAsE,CAAC;AACrH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/initialization/instances/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAC;AACxG,OAAO,EAAE,wBAAwB,EAAE,MAAM,4DAA4D,CAAC;AACtG,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kEAAkE,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EAAE,2BAA2B,EAAE,MAAM,oEAAoE,CAAC;AACjH,OAAO,EAAE,4BAA4B,EAAE,MAAM,oEAAoE,CAAC;AAClH,OAAO,EAAE,yBAAyB,EAAE,MAAM,8DAA8D,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,sEAAsE,CAAC;AACrH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC"}
@@ -2,6 +2,7 @@ export { accountsController } from './accounts-controller/accounts-controller.js
2
2
  export { addressBookController } from './address-book-controller/address-book-controller.js';
3
3
  export { analyticsController } from './analytics-controller/analytics-controller.js';
4
4
  export { approvalController } from './approval-controller/approval-controller.js';
5
+ export { assetsController } from './assets-controller/assets-controller.js';
5
6
  export { claimsController } from './claims-controller/claims-controller.js';
6
7
  export { claimsService } from './claims-service/claims-service.js';
7
8
  export { clientController } from './client-controller/client-controller.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/initialization/instances/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAC;AACxG,OAAO,EAAE,wBAAwB,EAAE,MAAM,4DAA4D,CAAC;AACtG,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kEAAkE,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EAAE,2BAA2B,EAAE,MAAM,oEAAoE,CAAC;AACjH,OAAO,EAAE,4BAA4B,EAAE,MAAM,oEAAoE,CAAC;AAClH,OAAO,EAAE,yBAAyB,EAAE,MAAM,8DAA8D,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,sEAAsE,CAAC;AACrH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC","sourcesContent":["export { accountsController } from './accounts-controller/accounts-controller.js';\nexport { addressBookController } from './address-book-controller/address-book-controller.js';\nexport { analyticsController } from './analytics-controller/analytics-controller.js';\nexport { approvalController } from './approval-controller/approval-controller.js';\nexport { claimsController } from './claims-controller/claims-controller.js';\nexport { claimsService } from './claims-service/claims-service.js';\nexport { clientController } from './client-controller/client-controller.js';\nexport { configRegistryApiService } from './config-registry-api-service/config-registry-api-service.js';\nexport { configRegistryController } from './config-registry-controller/config-registry-controller.js';\nexport { connectivityController } from './connectivity-controller/connectivity-controller.js';\nexport { gasFeeController } from './gas-fee-controller/gas-fee-controller.js';\nexport { geolocationApiService } from './geolocation-api-service/geolocation-api-service.js';\nexport { geolocationController } from './geolocation-controller/geolocation-controller.js';\nexport { keyringController } from './keyring-controller/keyring-controller.js';\nexport { loggingController } from './logging-controller/logging-controller.js';\nexport { networkController } from './network-controller/network-controller.js';\nexport { networkEnablementController } from './network-enablement-controller/network-enablement-controller.js';\nexport { passkeyController } from './passkey-controller/passkey-controller.js';\nexport { permissionController } from './permission-controller/permission-controller.js';\nexport { subjectMetadataController } from './permission-controller/subject-metadata-controller.js';\nexport { remoteFeatureFlagController } from './remote-feature-flag-controller/remote-feature-flag-controller.js';\nexport { seedlessOnboardingController } from './seedless-onboarding-controller/seedless-onboarding-controller.js';\nexport { selectedNetworkController } from './selected-network-controller/selected-network-controller.js';\nexport { shieldApiService } from './shield-api-service/shield-api-service.js';\nexport { shieldController } from './shield-controller/shield-controller.js';\nexport { storageService } from './storage-service/storage-service.js';\nexport { subscriptionController } from './subscription-controller/subscription-controller.js';\nexport { subscriptionDelegationService } from './subscription-delegation-service/subscription-delegation-service.js';\nexport { subscriptionService } from './subscription-service/subscription-service.js';\nexport { transactionController } from './transaction-controller/transaction-controller.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/initialization/instances/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAC;AACxG,OAAO,EAAE,wBAAwB,EAAE,MAAM,4DAA4D,CAAC;AACtG,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kEAAkE,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EAAE,2BAA2B,EAAE,MAAM,oEAAoE,CAAC;AACjH,OAAO,EAAE,4BAA4B,EAAE,MAAM,oEAAoE,CAAC;AAClH,OAAO,EAAE,yBAAyB,EAAE,MAAM,8DAA8D,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,sEAAsE,CAAC;AACrH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC","sourcesContent":["export { accountsController } from './accounts-controller/accounts-controller.js';\nexport { addressBookController } from './address-book-controller/address-book-controller.js';\nexport { analyticsController } from './analytics-controller/analytics-controller.js';\nexport { approvalController } from './approval-controller/approval-controller.js';\nexport { assetsController } from './assets-controller/assets-controller.js';\nexport { claimsController } from './claims-controller/claims-controller.js';\nexport { claimsService } from './claims-service/claims-service.js';\nexport { clientController } from './client-controller/client-controller.js';\nexport { configRegistryApiService } from './config-registry-api-service/config-registry-api-service.js';\nexport { configRegistryController } from './config-registry-controller/config-registry-controller.js';\nexport { connectivityController } from './connectivity-controller/connectivity-controller.js';\nexport { gasFeeController } from './gas-fee-controller/gas-fee-controller.js';\nexport { geolocationApiService } from './geolocation-api-service/geolocation-api-service.js';\nexport { geolocationController } from './geolocation-controller/geolocation-controller.js';\nexport { keyringController } from './keyring-controller/keyring-controller.js';\nexport { loggingController } from './logging-controller/logging-controller.js';\nexport { networkController } from './network-controller/network-controller.js';\nexport { networkEnablementController } from './network-enablement-controller/network-enablement-controller.js';\nexport { passkeyController } from './passkey-controller/passkey-controller.js';\nexport { permissionController } from './permission-controller/permission-controller.js';\nexport { subjectMetadataController } from './permission-controller/subject-metadata-controller.js';\nexport { remoteFeatureFlagController } from './remote-feature-flag-controller/remote-feature-flag-controller.js';\nexport { seedlessOnboardingController } from './seedless-onboarding-controller/seedless-onboarding-controller.js';\nexport { selectedNetworkController } from './selected-network-controller/selected-network-controller.js';\nexport { shieldApiService } from './shield-api-service/shield-api-service.js';\nexport { shieldController } from './shield-controller/shield-controller.js';\nexport { storageService } from './storage-service/storage-service.js';\nexport { subscriptionController } from './subscription-controller/subscription-controller.js';\nexport { subscriptionDelegationService } from './subscription-delegation-service/subscription-delegation-service.js';\nexport { subscriptionService } from './subscription-service/subscription-service.js';\nexport { transactionController } from './transaction-controller/transaction-controller.js';\n"]}
package/dist/types.d.ts CHANGED
@@ -2,6 +2,7 @@ import type { Json } from '@metamask/utils';
2
2
  import type { DefaultActions, DefaultEvents, RootMessenger } from './initialization/defaults.js';
3
3
  import type { AnalyticsControllerInstanceOptions } from './initialization/instances/analytics-controller/types.js';
4
4
  import type { ApprovalControllerInstanceOptions } from './initialization/instances/approval-controller/types.js';
5
+ import type { AssetsControllerInstanceOptions } from './initialization/instances/assets-controller/types.js';
5
6
  import type { ClaimsServiceInstanceOptions } from './initialization/instances/claims-service/types.js';
6
7
  import type { ConfigRegistryApiServiceInstanceOptions } from './initialization/instances/config-registry-api-service/types.js';
7
8
  import type { ConfigRegistryControllerInstanceOptions } from './initialization/instances/config-registry-controller/types.js';
@@ -31,6 +32,7 @@ export type WalletOptions = {
31
32
  export type InstanceSpecificOptions = {
32
33
  analyticsController: AnalyticsControllerInstanceOptions;
33
34
  approvalController?: ApprovalControllerInstanceOptions;
35
+ assetsController: AssetsControllerInstanceOptions;
34
36
  claimsService?: ClaimsServiceInstanceOptions;
35
37
  configRegistryApiService: ConfigRegistryApiServiceInstanceOptions;
36
38
  configRegistryController?: ConfigRegistryControllerInstanceOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Json } from '@metamask/utils';\n\nimport type {\n DefaultActions,\n DefaultEvents,\n RootMessenger,\n} from './initialization/defaults.js';\nimport type { AnalyticsControllerInstanceOptions } from './initialization/instances/analytics-controller/types.js';\nimport type { ApprovalControllerInstanceOptions } from './initialization/instances/approval-controller/types.js';\nimport type { ClaimsServiceInstanceOptions } from './initialization/instances/claims-service/types.js';\nimport type { ConfigRegistryApiServiceInstanceOptions } from './initialization/instances/config-registry-api-service/types.js';\nimport type { ConfigRegistryControllerInstanceOptions } from './initialization/instances/config-registry-controller/types.js';\nimport type { ConnectivityControllerInstanceOptions } from './initialization/instances/connectivity-controller/types.js';\nimport type { GasFeeControllerInstanceOptions } from './initialization/instances/gas-fee-controller/types.js';\nimport type { GeolocationApiServiceInstanceOptions } from './initialization/instances/geolocation-api-service/types.js';\nimport type { KeyringControllerInstanceOptions } from './initialization/instances/keyring-controller/types.js';\nimport type { NetworkControllerInstanceOptions } from './initialization/instances/network-controller/types.js';\nimport type { PasskeyControllerInstanceOptions } from './initialization/instances/passkey-controller/types.js';\nimport type { PermissionControllerInstanceOptions } from './initialization/instances/permission-controller/types.js';\nimport type { RemoteFeatureFlagControllerInstanceOptions } from './initialization/instances/remote-feature-flag-controller/types.js';\nimport type { SeedlessOnboardingControllerInstanceOptions } from './initialization/instances/seedless-onboarding-controller/types.js';\nimport type { SelectedNetworkControllerInstanceOptions } from './initialization/instances/selected-network-controller/types.js';\nimport type { ShieldApiServiceInstanceOptions } from './initialization/instances/shield-api-service/types.js';\nimport type { ShieldControllerInstanceOptions } from './initialization/instances/shield-controller/types.js';\nimport type { StorageServiceInstanceOptions } from './initialization/instances/storage-service/types.js';\nimport type { SubscriptionControllerInstanceOptions } from './initialization/instances/subscription-controller/types.js';\nimport type { SubscriptionServiceInstanceOptions } from './initialization/instances/subscription-service/types.js';\nimport type { TransactionControllerInstanceOptions } from './initialization/instances/transaction-controller/types.js';\nimport type { AnyInitializationConfiguration } from './initialization/types.js';\n\nexport type WalletOptions = {\n messenger?: RootMessenger<DefaultActions, DefaultEvents>;\n state?: Record<string, Record<string, Json> | undefined>;\n initializationConfigurations?: AnyInitializationConfiguration[];\n instanceOptions: InstanceSpecificOptions;\n};\n\nexport type InstanceSpecificOptions = {\n analyticsController: AnalyticsControllerInstanceOptions;\n approvalController?: ApprovalControllerInstanceOptions;\n claimsService?: ClaimsServiceInstanceOptions;\n configRegistryApiService: ConfigRegistryApiServiceInstanceOptions;\n configRegistryController?: ConfigRegistryControllerInstanceOptions;\n connectivityController: ConnectivityControllerInstanceOptions;\n gasFeeController: GasFeeControllerInstanceOptions;\n geolocationApiService?: GeolocationApiServiceInstanceOptions;\n keyringController?: KeyringControllerInstanceOptions;\n networkController: NetworkControllerInstanceOptions;\n remoteFeatureFlagController: RemoteFeatureFlagControllerInstanceOptions;\n storageService: StorageServiceInstanceOptions;\n subscriptionService?: SubscriptionServiceInstanceOptions;\n subscriptionController?: SubscriptionControllerInstanceOptions;\n transactionController?: TransactionControllerInstanceOptions;\n passkeyController?: PasskeyControllerInstanceOptions;\n permissionController?: PermissionControllerInstanceOptions;\n seedlessOnboardingController?: SeedlessOnboardingControllerInstanceOptions;\n selectedNetworkController: SelectedNetworkControllerInstanceOptions;\n shieldApiService?: ShieldApiServiceInstanceOptions;\n shieldController?: ShieldControllerInstanceOptions;\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Json } from '@metamask/utils';\n\nimport type {\n DefaultActions,\n DefaultEvents,\n RootMessenger,\n} from './initialization/defaults.js';\nimport type { AnalyticsControllerInstanceOptions } from './initialization/instances/analytics-controller/types.js';\nimport type { ApprovalControllerInstanceOptions } from './initialization/instances/approval-controller/types.js';\nimport type { AssetsControllerInstanceOptions } from './initialization/instances/assets-controller/types.js';\nimport type { ClaimsServiceInstanceOptions } from './initialization/instances/claims-service/types.js';\nimport type { ConfigRegistryApiServiceInstanceOptions } from './initialization/instances/config-registry-api-service/types.js';\nimport type { ConfigRegistryControllerInstanceOptions } from './initialization/instances/config-registry-controller/types.js';\nimport type { ConnectivityControllerInstanceOptions } from './initialization/instances/connectivity-controller/types.js';\nimport type { GasFeeControllerInstanceOptions } from './initialization/instances/gas-fee-controller/types.js';\nimport type { GeolocationApiServiceInstanceOptions } from './initialization/instances/geolocation-api-service/types.js';\nimport type { KeyringControllerInstanceOptions } from './initialization/instances/keyring-controller/types.js';\nimport type { NetworkControllerInstanceOptions } from './initialization/instances/network-controller/types.js';\nimport type { PasskeyControllerInstanceOptions } from './initialization/instances/passkey-controller/types.js';\nimport type { PermissionControllerInstanceOptions } from './initialization/instances/permission-controller/types.js';\nimport type { RemoteFeatureFlagControllerInstanceOptions } from './initialization/instances/remote-feature-flag-controller/types.js';\nimport type { SeedlessOnboardingControllerInstanceOptions } from './initialization/instances/seedless-onboarding-controller/types.js';\nimport type { SelectedNetworkControllerInstanceOptions } from './initialization/instances/selected-network-controller/types.js';\nimport type { ShieldApiServiceInstanceOptions } from './initialization/instances/shield-api-service/types.js';\nimport type { ShieldControllerInstanceOptions } from './initialization/instances/shield-controller/types.js';\nimport type { StorageServiceInstanceOptions } from './initialization/instances/storage-service/types.js';\nimport type { SubscriptionControllerInstanceOptions } from './initialization/instances/subscription-controller/types.js';\nimport type { SubscriptionServiceInstanceOptions } from './initialization/instances/subscription-service/types.js';\nimport type { TransactionControllerInstanceOptions } from './initialization/instances/transaction-controller/types.js';\nimport type { AnyInitializationConfiguration } from './initialization/types.js';\n\nexport type WalletOptions = {\n messenger?: RootMessenger<DefaultActions, DefaultEvents>;\n state?: Record<string, Record<string, Json> | undefined>;\n initializationConfigurations?: AnyInitializationConfiguration[];\n instanceOptions: InstanceSpecificOptions;\n};\n\nexport type InstanceSpecificOptions = {\n analyticsController: AnalyticsControllerInstanceOptions;\n approvalController?: ApprovalControllerInstanceOptions;\n assetsController: AssetsControllerInstanceOptions;\n claimsService?: ClaimsServiceInstanceOptions;\n configRegistryApiService: ConfigRegistryApiServiceInstanceOptions;\n configRegistryController?: ConfigRegistryControllerInstanceOptions;\n connectivityController: ConnectivityControllerInstanceOptions;\n gasFeeController: GasFeeControllerInstanceOptions;\n geolocationApiService?: GeolocationApiServiceInstanceOptions;\n keyringController?: KeyringControllerInstanceOptions;\n networkController: NetworkControllerInstanceOptions;\n remoteFeatureFlagController: RemoteFeatureFlagControllerInstanceOptions;\n storageService: StorageServiceInstanceOptions;\n subscriptionService?: SubscriptionServiceInstanceOptions;\n subscriptionController?: SubscriptionControllerInstanceOptions;\n transactionController?: TransactionControllerInstanceOptions;\n passkeyController?: PasskeyControllerInstanceOptions;\n permissionController?: PermissionControllerInstanceOptions;\n seedlessOnboardingController?: SeedlessOnboardingControllerInstanceOptions;\n selectedNetworkController: SelectedNetworkControllerInstanceOptions;\n shieldApiService?: ShieldApiServiceInstanceOptions;\n shieldController?: ShieldControllerInstanceOptions;\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/wallet",
3
- "version": "21.0.0-preview-d4ac59b6e",
3
+ "version": "21.0.0-preview-c3d36da85",
4
4
  "description": "Provides a shared framework for building MetaMask wallets",
5
5
  "keywords": [
6
6
  "Ethereum",
@@ -38,7 +38,7 @@
38
38
  "build:docs": "typedoc",
39
39
  "build:only-clean": "rimraf './dist' './tsconfig.build.tsbuildinfo'",
40
40
  "changelog:update": "../../scripts/update-changelog.sh @metamask/wallet",
41
- "changelog:validate": "../../scripts/validate-changelog.sh @metamask/wallet",
41
+ "changelog:validate": "../../scripts/validate-changelog.sh",
42
42
  "lint:tsconfigs": "node --import ../../scripts/resolver/register.ts ../../scripts/lint-tsconfigs/lint-tsconfigs.ts",
43
43
  "lint:tsconfigs:fix": "node --import ../../scripts/resolver/register.ts ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix",
44
44
  "messenger-action-types:check": "node --import ../../scripts/resolver/register.ts ../../packages/messenger-cli/src/cli.ts --formatter oxfmt --check",
@@ -46,6 +46,7 @@
46
46
  "since-latest-release": "../../scripts/since-latest-release.sh",
47
47
  "test": "vitest",
48
48
  "test:clean": "vitest --clearCache",
49
+ "test:coverage": "vitest --coverage",
49
50
  "test:verbose": "vitest --reporter=verbose",
50
51
  "test:watch": "vitest --watch"
51
52
  },
@@ -54,6 +55,7 @@
54
55
  "@metamask/address-book-controller": "^8.0.0",
55
56
  "@metamask/analytics-controller": "^4.1.0",
56
57
  "@metamask/approval-controller": "^10.0.0",
58
+ "@metamask/assets-controller": "^20.2.1",
57
59
  "@metamask/base-controller": "^10.1.0",
58
60
  "@metamask/browser-passworder": "^6.0.0",
59
61
  "@metamask/claims-controller": "^1.1.0",
@@ -81,13 +83,13 @@
81
83
  "@metamask/utils": "^12.0.1"
82
84
  },
83
85
  "devDependencies": {
84
- "@metamask/auto-changelog": "^6.2.1",
86
+ "@metamask/auto-changelog": "^7.1.0",
85
87
  "@typescript/native": "npm:typescript@^7.0.2",
86
88
  "rimraf": "^6.1.3",
87
89
  "typedoc": "^0.28.20",
88
90
  "typedoc-plugin-missing-exports": "^4.1.4",
89
91
  "typescript": "npm:@typescript/typescript6@^6.0.2",
90
- "vitest": "^5.0.0"
92
+ "vitest": "5.0.3"
91
93
  },
92
94
  "engines": {
93
95
  "node": "^22.14.0 || ^24 || ^26"