@metamask-previews/wallet 18.0.1-preview-55fcf3ef7 → 18.0.1-preview-520b89c2f

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.
Files changed (32) hide show
  1. package/CHANGELOG.md +12 -4
  2. package/dist/index.d.ts +1 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/initialization/instances/analytics-controller/analytics-controller.d.ts +6 -0
  7. package/dist/initialization/instances/analytics-controller/analytics-controller.d.ts.map +1 -0
  8. package/dist/initialization/instances/analytics-controller/analytics-controller.js +35 -0
  9. package/dist/initialization/instances/analytics-controller/analytics-controller.js.map +1 -0
  10. package/dist/initialization/instances/analytics-controller/types.d.ts +37 -0
  11. package/dist/initialization/instances/analytics-controller/types.d.ts.map +1 -0
  12. package/dist/initialization/instances/analytics-controller/types.js.map +1 -0
  13. package/dist/initialization/instances/index.d.ts +2 -0
  14. package/dist/initialization/instances/index.d.ts.map +1 -1
  15. package/dist/initialization/instances/index.js +2 -0
  16. package/dist/initialization/instances/index.js.map +1 -1
  17. package/dist/initialization/instances/network-enablement-controller/network-enablement-controller.d.ts +5 -0
  18. package/dist/initialization/instances/network-enablement-controller/network-enablement-controller.d.ts.map +1 -0
  19. package/dist/initialization/instances/network-enablement-controller/network-enablement-controller.js +32 -0
  20. package/dist/initialization/instances/network-enablement-controller/network-enablement-controller.js.map +1 -0
  21. package/dist/types.d.ts +2 -2
  22. package/dist/types.d.ts.map +1 -1
  23. package/dist/types.js.map +1 -1
  24. package/package.json +3 -2
  25. package/dist/initialization/instances/assets-controller/assets-controller.d.ts +0 -18
  26. package/dist/initialization/instances/assets-controller/assets-controller.d.ts.map +0 -1
  27. package/dist/initialization/instances/assets-controller/assets-controller.js +0 -81
  28. package/dist/initialization/instances/assets-controller/assets-controller.js.map +0 -1
  29. package/dist/initialization/instances/assets-controller/types.d.ts +0 -9
  30. package/dist/initialization/instances/assets-controller/types.d.ts.map +0 -1
  31. package/dist/initialization/instances/assets-controller/types.js.map +0 -1
  32. /package/dist/initialization/instances/{assets-controller → analytics-controller}/types.js +0 -0
package/CHANGELOG.md CHANGED
@@ -9,13 +9,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ### Added
11
11
 
12
- - Export an `assetsController` initialization configuration for `AssetsController`, along with the `AssetsControllerInstanceOptions` type ([#10885](https://github.com/MetaMask/core/pull/10885))
13
- - It is not part of the default initialization configurations, because the Wallet does not yet initialize several of its dependencies (e.g. `NetworkEnablementController`, `AccountTreeController`, `SnapController`). Pass it through `initializationConfigurations` after configurations that register `NetworkEnablementController:getState`.
14
- - Configure it through the new optional `instanceOptions.assetsController`, which requires a `queryApiClient`.
12
+ - **BREAKING:** Add `AnalyticsController` to the default initialization configurations ([#10901](https://github.com/MetaMask/core/pull/10901))
13
+ - Requires `instanceOptions.analyticsController.platformAdapter` and `instanceOptions.analyticsController.analyticsId`.
14
+ - Accepts optional feature flags `isAnonymousEventsFeatureEnabled`, `isEventQueuePersistenceEnabled`, `isPreConsentQueueEnabled`, `isGeolocationEnabled`, and `isEventFragmentsEnabled`, each defaulting to `false`.
15
+ - Persisted `AnalyticsController` state overrides the supplied `analyticsId` when present.
16
+ - `AnalyticsController` delegates `ConfigRegistryController:getState` and `GeolocationController:getGeolocationData`, and subscribes to `ConfigRegistryController:stateChanged`.
17
+ - Hosts that already register `AnalyticsController` or no-op `AnalyticsController:*` handlers on the wallet root messenger must remove them before upgrading, or messenger registration will collide.
18
+ - When `isGeolocationEnabled` is `true`, hosts must register `GeolocationController` on the wallet root messenger.
19
+ - **BREAKING:** Add `NetworkEnablementController` to the default initialization configurations ([#10997](https://github.com/MetaMask/core/pull/10997))
20
+ - `Wallet.init()` calls `NetworkEnablementController.init()`, which reads `MultichainNetworkController:getState`. The wallet does not construct `MultichainNetworkController`. Clients must register that action on the wallet messenger before calling `wallet.init()`.
21
+ - Export `networkEnablementController` so clients can pass it through `initializationConfigurations` before `assetsController`. Additional configurations initialize before defaults, and `AssetsController` reads `NetworkEnablementController:getState` during construction.
15
22
 
16
23
  ### Changed
17
24
 
18
- - Add `@metamask/assets-controller` as a dependency ([#10885](https://github.com/MetaMask/core/pull/10885))
25
+ - Add `@metamask/analytics-controller` as a dependency ([#10901](https://github.com/MetaMask/core/pull/10901))
26
+ - Add `@metamask/network-enablement-controller` as a dependency ([#10997](https://github.com/MetaMask/core/pull/10997))
19
27
  - Bump `@metamask/claims-controller` from `^1.0.3` to `^1.0.4` ([#10925](https://github.com/MetaMask/core/pull/10925))
20
28
  - Bump `@metamask/shield-controller` from `^7.0.4` to `^7.0.5` ([#10925](https://github.com/MetaMask/core/pull/10925))
21
29
  - Bump `@metamask/subscription-controller` from `^14.0.1` to `^14.0.2` ([#10925](https://github.com/MetaMask/core/pull/10925))
package/dist/index.d.ts CHANGED
@@ -1,8 +1,7 @@
1
1
  export { Wallet } from './Wallet.js';
2
2
  export { AlwaysOnlineAdapter } from './initialization/instances/connectivity-controller/always-online-adapter.js';
3
3
  export { importSecretRecoveryPhrase } from './utilities.js';
4
- export { assetsController } from './initialization/instances/assets-controller/assets-controller.js';
5
- export type { AssetsControllerInstanceOptions } from './initialization/instances/assets-controller/types.js';
4
+ export { networkEnablementController } from './initialization/instances/network-enablement-controller/network-enablement-controller.js';
6
5
  export type { WalletOptions } from './types.js';
7
6
  export type { DefaultActions, DefaultEvents, DefaultInstances, DefaultState, RootMessenger, } from './initialization/defaults.js';
8
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6EAA6E,CAAC;AAClH,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mEAAmE,CAAC;AACrG,YAAY,EAAE,+BAA+B,EAAE,MAAM,uDAAuD,CAAC;AAC7G,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6EAA6E,CAAC;AAClH,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2FAA2F,CAAC;AACxI,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,MAAM,8BAA8B,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { Wallet } from './Wallet.js';
2
2
  export { AlwaysOnlineAdapter } from './initialization/instances/connectivity-controller/always-online-adapter.js';
3
3
  export { importSecretRecoveryPhrase } from './utilities.js';
4
- export { assetsController } from './initialization/instances/assets-controller/assets-controller.js';
4
+ export { networkEnablementController } from './initialization/instances/network-enablement-controller/network-enablement-controller.js';
5
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6EAA6E,CAAC;AAClH,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mEAAmE,CAAC","sourcesContent":["export { Wallet } from './Wallet.js';\nexport { AlwaysOnlineAdapter } from './initialization/instances/connectivity-controller/always-online-adapter.js';\nexport { importSecretRecoveryPhrase } from './utilities.js';\nexport { assetsController } from './initialization/instances/assets-controller/assets-controller.js';\nexport type { AssetsControllerInstanceOptions } from './initialization/instances/assets-controller/types.js';\nexport type { WalletOptions } from './types.js';\nexport type {\n DefaultActions,\n DefaultEvents,\n DefaultInstances,\n DefaultState,\n RootMessenger,\n} from './initialization/defaults.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6EAA6E,CAAC;AAClH,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2FAA2F,CAAC","sourcesContent":["export { Wallet } from './Wallet.js';\nexport { AlwaysOnlineAdapter } from './initialization/instances/connectivity-controller/always-online-adapter.js';\nexport { importSecretRecoveryPhrase } from './utilities.js';\nexport { networkEnablementController } from './initialization/instances/network-enablement-controller/network-enablement-controller.js';\nexport type { WalletOptions } from './types.js';\nexport type {\n DefaultActions,\n DefaultEvents,\n DefaultInstances,\n DefaultState,\n RootMessenger,\n} from './initialization/defaults.js';\n"]}
@@ -0,0 +1,6 @@
1
+ import { AnalyticsController } from '@metamask/analytics-controller';
2
+ import type { AnalyticsControllerMessenger } from '@metamask/analytics-controller';
3
+ import type { InitializationConfiguration } from '../../types.js';
4
+ export type { AnalyticsControllerInstanceOptions } from './types.js';
5
+ export declare const analyticsController: InitializationConfiguration<AnalyticsController, AnalyticsControllerMessenger>;
6
+ //# sourceMappingURL=analytics-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics-controller.d.ts","sourceRoot":"","sources":["../../../../src/initialization/instances/analytics-controller/analytics-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAGnF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAElE,YAAY,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAErE,eAAO,MAAM,mBAAmB,EAAE,2BAA2B,CAC3D,mBAAmB,EACnB,4BAA4B,CAmC7B,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { AnalyticsController } from '@metamask/analytics-controller';
2
+ import { Messenger } from '@metamask/messenger';
3
+ export const analyticsController = {
4
+ name: 'AnalyticsController',
5
+ reference: AnalyticsController,
6
+ init: ({ state, messenger, options }) => new AnalyticsController({
7
+ messenger,
8
+ platformAdapter: options.platformAdapter,
9
+ state: {
10
+ analyticsId: options.analyticsId,
11
+ ...state,
12
+ },
13
+ isAnonymousEventsFeatureEnabled: options.isAnonymousEventsFeatureEnabled,
14
+ isEventQueuePersistenceEnabled: options.isEventQueuePersistenceEnabled,
15
+ isPreConsentQueueEnabled: options.isPreConsentQueueEnabled,
16
+ isGeolocationEnabled: options.isGeolocationEnabled,
17
+ isEventFragmentsEnabled: options.isEventFragmentsEnabled,
18
+ }),
19
+ getMessenger: (parent) => {
20
+ const messenger = new Messenger({
21
+ namespace: 'AnalyticsController',
22
+ parent,
23
+ });
24
+ parent.delegate({
25
+ messenger,
26
+ actions: [
27
+ 'ConfigRegistryController:getState',
28
+ 'GeolocationController:getGeolocationData',
29
+ ],
30
+ events: ['ConfigRegistryController:stateChanged'],
31
+ });
32
+ return messenger;
33
+ },
34
+ };
35
+ //# sourceMappingURL=analytics-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics-controller.js","sourceRoot":"","sources":["../../../../src/initialization/instances/analytics-controller/analytics-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMhD,MAAM,CAAC,MAAM,mBAAmB,GAG5B;IACF,IAAI,EAAE,qBAAqB;IAC3B,SAAS,EAAE,mBAAmB;IAC9B,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CACtC,IAAI,mBAAmB,CAAC;QACtB,SAAS;QACT,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,KAAK,EAAE;YACL,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,GAAG,KAAK;SACT;QACD,+BAA+B,EAAE,OAAO,CAAC,+BAA+B;QACxE,8BAA8B,EAAE,OAAO,CAAC,8BAA8B;QACtE,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;QAC1D,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;KACzD,CAAC;IACJ,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;QACvB,MAAM,SAAS,GAAiC,IAAI,SAAS,CAAC;YAC5D,SAAS,EAAE,qBAAqB;YAChC,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC;YACd,SAAS;YACT,OAAO,EAAE;gBACP,mCAAmC;gBACnC,0CAA0C;aAC3C;YACD,MAAM,EAAE,CAAC,uCAAuC,CAAC;SAClD,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAC","sourcesContent":["import { AnalyticsController } from '@metamask/analytics-controller';\nimport type { AnalyticsControllerMessenger } from '@metamask/analytics-controller';\nimport { Messenger } from '@metamask/messenger';\n\nimport type { InitializationConfiguration } from '../../types.js';\n\nexport type { AnalyticsControllerInstanceOptions } from './types.js';\n\nexport const analyticsController: InitializationConfiguration<\n AnalyticsController,\n AnalyticsControllerMessenger\n> = {\n name: 'AnalyticsController',\n reference: AnalyticsController,\n init: ({ state, messenger, options }) =>\n new AnalyticsController({\n messenger,\n platformAdapter: options.platformAdapter,\n state: {\n analyticsId: options.analyticsId,\n ...state,\n },\n isAnonymousEventsFeatureEnabled: options.isAnonymousEventsFeatureEnabled,\n isEventQueuePersistenceEnabled: options.isEventQueuePersistenceEnabled,\n isPreConsentQueueEnabled: options.isPreConsentQueueEnabled,\n isGeolocationEnabled: options.isGeolocationEnabled,\n isEventFragmentsEnabled: options.isEventFragmentsEnabled,\n }),\n getMessenger: (parent) => {\n const messenger: AnalyticsControllerMessenger = new Messenger({\n namespace: 'AnalyticsController',\n parent,\n });\n\n parent.delegate({\n messenger,\n actions: [\n 'ConfigRegistryController:getState',\n 'GeolocationController:getGeolocationData',\n ],\n events: ['ConfigRegistryController:stateChanged'],\n });\n\n return messenger;\n },\n};\n"]}
@@ -0,0 +1,37 @@
1
+ import type { AnalyticsController, AnalyticsPlatformAdapter } from '@metamask/analytics-controller';
2
+ type AnalyticsControllerOptions = ConstructorParameters<typeof AnalyticsController>[0];
3
+ /**
4
+ * Per-instance options for the wallet's `AnalyticsController`.
5
+ *
6
+ * `platformAdapter` and `analyticsId` have no platform-agnostic defaults, so
7
+ * every client must supply them. Feature flags default to `false` in the
8
+ * controller when omitted.
9
+ */
10
+ export type AnalyticsControllerInstanceOptions = {
11
+ /**
12
+ * Platform-specific Segment (or equivalent) adapter. Required. There is no
13
+ * wallet default because delivery is client-specific.
14
+ */
15
+ platformAdapter: AnalyticsPlatformAdapter;
16
+ /**
17
+ * First-run analytics identifier. Must be a valid UUIDv4 unless the adapter
18
+ * sets `skipUUIDv4Check`. Persisted controller state overrides this value
19
+ * when present.
20
+ */
21
+ analyticsId: string;
22
+ /** When omitted, the controller defaults to `false`. */
23
+ isAnonymousEventsFeatureEnabled?: AnalyticsControllerOptions['isAnonymousEventsFeatureEnabled'];
24
+ /** When omitted, the controller defaults to `false`. */
25
+ isEventQueuePersistenceEnabled?: AnalyticsControllerOptions['isEventQueuePersistenceEnabled'];
26
+ /** When omitted, the controller defaults to `false`. */
27
+ isPreConsentQueueEnabled?: AnalyticsControllerOptions['isPreConsentQueueEnabled'];
28
+ /**
29
+ * When omitted, the controller defaults to `false`. When enabled, hosts must
30
+ * register `GeolocationController` on the wallet root messenger.
31
+ */
32
+ isGeolocationEnabled?: AnalyticsControllerOptions['isGeolocationEnabled'];
33
+ /** When omitted, the controller defaults to `false`. */
34
+ isEventFragmentsEnabled?: AnalyticsControllerOptions['isEventFragmentsEnabled'];
35
+ };
36
+ export {};
37
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/initialization/instances/analytics-controller/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,gCAAgC,CAAC;AAExC,KAAK,0BAA0B,GAAG,qBAAqB,CACrD,OAAO,mBAAmB,CAC3B,CAAC,CAAC,CAAC,CAAC;AAEL;;;;;;GAMG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C;;;OAGG;IACH,eAAe,EAAE,wBAAwB,CAAC;IAE1C;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB,wDAAwD;IACxD,+BAA+B,CAAC,EAAE,0BAA0B,CAAC,iCAAiC,CAAC,CAAC;IAEhG,wDAAwD;IACxD,8BAA8B,CAAC,EAAE,0BAA0B,CAAC,gCAAgC,CAAC,CAAC;IAE9F,wDAAwD;IACxD,wBAAwB,CAAC,EAAE,0BAA0B,CAAC,0BAA0B,CAAC,CAAC;IAElF;;;OAGG;IACH,oBAAoB,CAAC,EAAE,0BAA0B,CAAC,sBAAsB,CAAC,CAAC;IAE1E,wDAAwD;IACxD,uBAAuB,CAAC,EAAE,0BAA0B,CAAC,yBAAyB,CAAC,CAAC;CACjF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/initialization/instances/analytics-controller/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n AnalyticsController,\n AnalyticsPlatformAdapter,\n} from '@metamask/analytics-controller';\n\ntype AnalyticsControllerOptions = ConstructorParameters<\n typeof AnalyticsController\n>[0];\n\n/**\n * Per-instance options for the wallet's `AnalyticsController`.\n *\n * `platformAdapter` and `analyticsId` have no platform-agnostic defaults, so\n * every client must supply them. Feature flags default to `false` in the\n * controller when omitted.\n */\nexport type AnalyticsControllerInstanceOptions = {\n /**\n * Platform-specific Segment (or equivalent) adapter. Required. There is no\n * wallet default because delivery is client-specific.\n */\n platformAdapter: AnalyticsPlatformAdapter;\n\n /**\n * First-run analytics identifier. Must be a valid UUIDv4 unless the adapter\n * sets `skipUUIDv4Check`. Persisted controller state overrides this value\n * when present.\n */\n analyticsId: string;\n\n /** When omitted, the controller defaults to `false`. */\n isAnonymousEventsFeatureEnabled?: AnalyticsControllerOptions['isAnonymousEventsFeatureEnabled'];\n\n /** When omitted, the controller defaults to `false`. */\n isEventQueuePersistenceEnabled?: AnalyticsControllerOptions['isEventQueuePersistenceEnabled'];\n\n /** When omitted, the controller defaults to `false`. */\n isPreConsentQueueEnabled?: AnalyticsControllerOptions['isPreConsentQueueEnabled'];\n\n /**\n * When omitted, the controller defaults to `false`. When enabled, hosts must\n * register `GeolocationController` on the wallet root messenger.\n */\n isGeolocationEnabled?: AnalyticsControllerOptions['isGeolocationEnabled'];\n\n /** When omitted, the controller defaults to `false`. */\n isEventFragmentsEnabled?: AnalyticsControllerOptions['isEventFragmentsEnabled'];\n};\n"]}
@@ -1,5 +1,6 @@
1
1
  export { accountsController } from './accounts-controller/accounts-controller.js';
2
2
  export { addressBookController } from './address-book-controller/address-book-controller.js';
3
+ export { analyticsController } from './analytics-controller/analytics-controller.js';
3
4
  export { approvalController } from './approval-controller/approval-controller.js';
4
5
  export { claimsController } from './claims-controller/claims-controller.js';
5
6
  export { claimsService } from './claims-service/claims-service.js';
@@ -11,6 +12,7 @@ export { gasFeeController } from './gas-fee-controller/gas-fee-controller.js';
11
12
  export { keyringController } from './keyring-controller/keyring-controller.js';
12
13
  export { loggingController } from './logging-controller/logging-controller.js';
13
14
  export { networkController } from './network-controller/network-controller.js';
15
+ export { networkEnablementController } from './network-enablement-controller/network-enablement-controller.js';
14
16
  export { passkeyController } from './passkey-controller/passkey-controller.js';
15
17
  export { permissionController } from './permission-controller/permission-controller.js';
16
18
  export { subjectMetadataController } from './permission-controller/subject-metadata-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,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,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,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,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,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,5 +1,6 @@
1
1
  export { accountsController } from './accounts-controller/accounts-controller.js';
2
2
  export { addressBookController } from './address-book-controller/address-book-controller.js';
3
+ export { analyticsController } from './analytics-controller/analytics-controller.js';
3
4
  export { approvalController } from './approval-controller/approval-controller.js';
4
5
  export { claimsController } from './claims-controller/claims-controller.js';
5
6
  export { claimsService } from './claims-service/claims-service.js';
@@ -11,6 +12,7 @@ export { gasFeeController } from './gas-fee-controller/gas-fee-controller.js';
11
12
  export { keyringController } from './keyring-controller/keyring-controller.js';
12
13
  export { loggingController } from './logging-controller/logging-controller.js';
13
14
  export { networkController } from './network-controller/network-controller.js';
15
+ export { networkEnablementController } from './network-enablement-controller/network-enablement-controller.js';
14
16
  export { passkeyController } from './passkey-controller/passkey-controller.js';
15
17
  export { permissionController } from './permission-controller/permission-controller.js';
16
18
  export { subjectMetadataController } from './permission-controller/subject-metadata-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,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,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,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 { 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 { keyringController } from './keyring-controller/keyring-controller.js';\nexport { loggingController } from './logging-controller/logging-controller.js';\nexport { networkController } from './network-controller/network-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,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,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 { 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"]}
@@ -0,0 +1,5 @@
1
+ import { NetworkEnablementController } from '@metamask/network-enablement-controller';
2
+ import type { NetworkEnablementControllerMessenger } from '@metamask/network-enablement-controller';
3
+ import type { InitializationConfiguration } from '../../types.js';
4
+ export declare const networkEnablementController: InitializationConfiguration<NetworkEnablementController, NetworkEnablementControllerMessenger>;
5
+ //# sourceMappingURL=network-enablement-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-enablement-controller.d.ts","sourceRoot":"","sources":["../../../../src/initialization/instances/network-enablement-controller/network-enablement-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,yCAAyC,CAAC;AAEpG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAElE,eAAO,MAAM,2BAA2B,EAAE,2BAA2B,CACnE,2BAA2B,EAC3B,oCAAoC,CAgCrC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { Messenger } from '@metamask/messenger';
2
+ import { NetworkEnablementController } from '@metamask/network-enablement-controller';
3
+ export const networkEnablementController = {
4
+ name: 'NetworkEnablementController',
5
+ reference: NetworkEnablementController,
6
+ init: ({ state, messenger }) => new NetworkEnablementController({
7
+ state,
8
+ messenger,
9
+ }),
10
+ getMessenger: (parent) => {
11
+ const messenger = new Messenger({
12
+ namespace: 'NetworkEnablementController',
13
+ parent,
14
+ });
15
+ parent.delegate({
16
+ messenger,
17
+ actions: [
18
+ 'ConfigRegistryController:getState',
19
+ 'MultichainNetworkController:getState',
20
+ 'NetworkController:getState',
21
+ ],
22
+ events: [
23
+ 'NetworkController:networkAdded',
24
+ 'NetworkController:networkRemoved',
25
+ 'NetworkController:stateChange',
26
+ 'TransactionController:transactionSubmitted',
27
+ ],
28
+ });
29
+ return messenger;
30
+ },
31
+ };
32
+ //# sourceMappingURL=network-enablement-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-enablement-controller.js","sourceRoot":"","sources":["../../../../src/initialization/instances/network-enablement-controller/network-enablement-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AAKtF,MAAM,CAAC,MAAM,2BAA2B,GAGpC;IACF,IAAI,EAAE,6BAA6B;IACnC,SAAS,EAAE,2BAA2B;IACtC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAC7B,IAAI,2BAA2B,CAAC;QAC9B,KAAK;QACL,SAAS;KACV,CAAC;IACJ,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;QACvB,MAAM,SAAS,GAAyC,IAAI,SAAS,CAAC;YACpE,SAAS,EAAE,6BAA6B;YACxC,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC;YACd,SAAS;YACT,OAAO,EAAE;gBACP,mCAAmC;gBACnC,sCAAsC;gBACtC,4BAA4B;aAC7B;YACD,MAAM,EAAE;gBACN,gCAAgC;gBAChC,kCAAkC;gBAClC,+BAA+B;gBAC/B,4CAA4C;aAC7C;SACF,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAC","sourcesContent":["import { Messenger } from '@metamask/messenger';\nimport { NetworkEnablementController } from '@metamask/network-enablement-controller';\nimport type { NetworkEnablementControllerMessenger } from '@metamask/network-enablement-controller';\n\nimport type { InitializationConfiguration } from '../../types.js';\n\nexport const networkEnablementController: InitializationConfiguration<\n NetworkEnablementController,\n NetworkEnablementControllerMessenger\n> = {\n name: 'NetworkEnablementController',\n reference: NetworkEnablementController,\n init: ({ state, messenger }) =>\n new NetworkEnablementController({\n state,\n messenger,\n }),\n getMessenger: (parent) => {\n const messenger: NetworkEnablementControllerMessenger = new Messenger({\n namespace: 'NetworkEnablementController',\n parent,\n });\n\n parent.delegate({\n messenger,\n actions: [\n 'ConfigRegistryController:getState',\n 'MultichainNetworkController:getState',\n 'NetworkController:getState',\n ],\n events: [\n 'NetworkController:networkAdded',\n 'NetworkController:networkRemoved',\n 'NetworkController:stateChange',\n 'TransactionController:transactionSubmitted',\n ],\n });\n\n return messenger;\n },\n};\n"]}
package/dist/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { Json } from '@metamask/utils';
2
2
  import type { DefaultActions, DefaultEvents, RootMessenger } from './initialization/defaults.js';
3
+ import type { AnalyticsControllerInstanceOptions } from './initialization/instances/analytics-controller/types.js';
3
4
  import type { ApprovalControllerInstanceOptions } from './initialization/instances/approval-controller/types.js';
4
- import type { AssetsControllerInstanceOptions } from './initialization/instances/assets-controller/types.js';
5
5
  import type { ClaimsServiceInstanceOptions } from './initialization/instances/claims-service/types.js';
6
6
  import type { ConfigRegistryApiServiceInstanceOptions } from './initialization/instances/config-registry-api-service/types.js';
7
7
  import type { ConfigRegistryControllerInstanceOptions } from './initialization/instances/config-registry-controller/types.js';
@@ -28,8 +28,8 @@ export type WalletOptions = {
28
28
  instanceOptions: InstanceSpecificOptions;
29
29
  };
30
30
  export type InstanceSpecificOptions = {
31
+ analyticsController: AnalyticsControllerInstanceOptions;
31
32
  approvalController?: ApprovalControllerInstanceOptions;
32
- assetsController?: AssetsControllerInstanceOptions;
33
33
  claimsService?: ClaimsServiceInstanceOptions;
34
34
  configRegistryApiService: ConfigRegistryApiServiceInstanceOptions;
35
35
  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 { 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 { 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 approvalController?: ApprovalControllerInstanceOptions;\n assetsController?: AssetsControllerInstanceOptions;\n claimsService?: ClaimsServiceInstanceOptions;\n configRegistryApiService: ConfigRegistryApiServiceInstanceOptions;\n configRegistryController?: ConfigRegistryControllerInstanceOptions;\n connectivityController: ConnectivityControllerInstanceOptions;\n gasFeeController: GasFeeControllerInstanceOptions;\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 { 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 { 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 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": "18.0.1-preview-55fcf3ef7",
3
+ "version": "18.0.1-preview-520b89c2f",
4
4
  "description": "Provides a shared framework for building MetaMask wallets",
5
5
  "keywords": [
6
6
  "Ethereum",
@@ -52,8 +52,8 @@
52
52
  "dependencies": {
53
53
  "@metamask/accounts-controller": "^40.1.0",
54
54
  "@metamask/address-book-controller": "^8.0.0",
55
+ "@metamask/analytics-controller": "^4.0.0",
55
56
  "@metamask/approval-controller": "^10.0.0",
56
- "@metamask/assets-controller": "^19.1.0",
57
57
  "@metamask/base-controller": "^10.1.0",
58
58
  "@metamask/browser-passworder": "^6.0.0",
59
59
  "@metamask/claims-controller": "^1.0.4",
@@ -66,6 +66,7 @@
66
66
  "@metamask/logging-controller": "^10.0.0",
67
67
  "@metamask/messenger": "^3.0.0",
68
68
  "@metamask/network-controller": "^37.1.1",
69
+ "@metamask/network-enablement-controller": "^7.0.2",
69
70
  "@metamask/passkey-controller": "^4.1.0",
70
71
  "@metamask/permission-controller": "^14.0.0",
71
72
  "@metamask/remote-feature-flag-controller": "^7.0.0",
@@ -1,18 +0,0 @@
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
- * This is not part of the default initialization configurations because the
9
- * Wallet does not yet initialize several of the controllers it depends on
10
- * (e.g. `NetworkEnablementController`, `AccountTreeController`,
11
- * `SnapController`). Clients pass it through `initializationConfigurations`,
12
- * after the configurations that register those dependencies;
13
- * `NetworkEnablementController:getState` in particular must be registered
14
- * before this configuration is initialized, as the controller reads it on
15
- * construction.
16
- */
17
- export declare const assetsController: InitializationConfiguration<AssetsController, AssetsControllerMessenger>;
18
- //# sourceMappingURL=assets-controller.d.ts.map
@@ -1 +0,0 @@
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;AAI7E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAElE,YAAY,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAElE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,EAAE,2BAA2B,CACxD,gBAAgB,EAChB,yBAAyB,CA4E1B,CAAC"}
@@ -1,81 +0,0 @@
1
- import { AssetsController } from '@metamask/assets-controller';
2
- import { Messenger } from '@metamask/messenger';
3
- /**
4
- * Initialization configuration for `AssetsController`.
5
- *
6
- * This is not part of the default initialization configurations because the
7
- * Wallet does not yet initialize several of the controllers it depends on
8
- * (e.g. `NetworkEnablementController`, `AccountTreeController`,
9
- * `SnapController`). Clients pass it through `initializationConfigurations`,
10
- * after the configurations that register those dependencies;
11
- * `NetworkEnablementController:getState` in particular must be registered
12
- * before this configuration is initialized, as the controller reads it on
13
- * construction.
14
- */
15
- export const assetsController = {
16
- name: 'AssetsController',
17
- reference: AssetsController,
18
- init: ({ state, messenger, options }) => {
19
- if (!options.queryApiClient) {
20
- throw new Error('AssetsController requires `instanceOptions.assetsController.queryApiClient`.');
21
- }
22
- return new AssetsController({
23
- ...options,
24
- messenger,
25
- state,
26
- });
27
- },
28
- getMessenger: (parent) => {
29
- // Most of these dependencies are not initialized by the Wallet by default,
30
- // so the root messenger is widened to the full set the controller uses.
31
- const rootMessenger = parent;
32
- const messenger = new Messenger({
33
- namespace: 'AssetsController',
34
- parent: rootMessenger,
35
- });
36
- rootMessenger.delegate({
37
- messenger,
38
- actions: [
39
- 'AccountsController:getSelectedAccount',
40
- 'AccountTreeController:getAccountsFromSelectedAccountGroup',
41
- 'AccountTreeController:isInitialized',
42
- 'ClientController:getState',
43
- 'ConfigRegistryController:getNetworkConfigByCaip2ChainId',
44
- 'KeyringController:isUnlocked',
45
- 'NetworkController:getNetworkClientById',
46
- 'NetworkController:getState',
47
- 'NetworkEnablementController:getState',
48
- 'PermissionController:getPermissions',
49
- 'PhishingController:bulkScanTokens',
50
- 'RemoteFeatureFlagController:getState',
51
- 'SnapController:getRunnableSnaps',
52
- 'SnapController:handleRequest',
53
- ],
54
- events: [
55
- 'AccountActivityService:balanceUpdated',
56
- 'AccountActivityService:statusChanged',
57
- 'AccountsController:accountBalancesUpdated',
58
- 'AccountTreeController:initialized',
59
- 'AccountTreeController:selectedAccountGroupChange',
60
- 'AccountTreeController:uninitialized',
61
- 'ClientController:stateChange',
62
- 'KeyringController:lock',
63
- 'KeyringController:unlock',
64
- 'MultichainTransactionsController:transactionConfirmed',
65
- 'NetworkController:networkAdded',
66
- 'NetworkController:networkDidChange',
67
- 'NetworkController:networkRemoved',
68
- 'NetworkController:stateChange',
69
- 'NetworkEnablementController:stateChange',
70
- 'PermissionController:stateChange',
71
- 'PreferencesController:stateChange',
72
- 'RemoteFeatureFlagController:stateChange',
73
- 'SnapController:snapInstalled',
74
- 'TransactionController:transactionConfirmed',
75
- 'TransactionController:unapprovedTransactionAdded',
76
- ],
77
- });
78
- return messenger;
79
- },
80
- };
81
- //# sourceMappingURL=assets-controller.js.map
@@ -1 +0,0 @@
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;AAOhD;;;;;;;;;;;GAWG;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;QACtC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,gBAAgB,CAAC;YAC1B,GAAG,OAAO;YACV,SAAS;YACT,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;QACvB,2EAA2E;QAC3E,wEAAwE;QACxE,MAAM,aAAa,GAAG,MAIrB,CAAC;QAEF,MAAM,SAAS,GAA8B,IAAI,SAAS,CAAC;YACzD,SAAS,EAAE,kBAAkB;YAC7B,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QAEH,aAAa,CAAC,QAAQ,CAAC;YACrB,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';\nimport type { MessengerActions, MessengerEvents } 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 * This is not part of the default initialization configurations because the\n * Wallet does not yet initialize several of the controllers it depends on\n * (e.g. `NetworkEnablementController`, `AccountTreeController`,\n * `SnapController`). Clients pass it through `initializationConfigurations`,\n * after the configurations that register those dependencies;\n * `NetworkEnablementController:getState` in particular must be registered\n * before this configuration is initialized, as the controller reads it on\n * construction.\n */\nexport const assetsController: InitializationConfiguration<\n AssetsController,\n AssetsControllerMessenger\n> = {\n name: 'AssetsController',\n reference: AssetsController,\n init: ({ state, messenger, options }) => {\n if (!options.queryApiClient) {\n throw new Error(\n 'AssetsController requires `instanceOptions.assetsController.queryApiClient`.',\n );\n }\n\n return new AssetsController({\n ...options,\n messenger,\n state,\n });\n },\n getMessenger: (parent) => {\n // Most of these dependencies are not initialized by the Wallet by default,\n // so the root messenger is widened to the full set the controller uses.\n const rootMessenger = parent as unknown as Messenger<\n 'Root',\n MessengerActions<AssetsControllerMessenger>,\n MessengerEvents<AssetsControllerMessenger>\n >;\n\n const messenger: AssetsControllerMessenger = new Messenger({\n namespace: 'AssetsController',\n parent: rootMessenger,\n });\n\n rootMessenger.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"]}
@@ -1,9 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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"]}