@metamask-previews/wallet 3.0.0-preview-7bc7196a6 → 3.0.0-preview-ddb114f71

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 (72) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/index.cjs +3 -1
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +1 -0
  5. package/dist/index.d.cts.map +1 -1
  6. package/dist/index.d.mts +1 -0
  7. package/dist/index.d.mts.map +1 -1
  8. package/dist/index.mjs +1 -0
  9. package/dist/index.mjs.map +1 -1
  10. package/dist/initialization/instances/accounts-controller/accounts-controller.cjs +37 -0
  11. package/dist/initialization/instances/accounts-controller/accounts-controller.cjs.map +1 -0
  12. package/dist/initialization/instances/accounts-controller/accounts-controller.d.cts +4 -0
  13. package/dist/initialization/instances/accounts-controller/accounts-controller.d.cts.map +1 -0
  14. package/dist/initialization/instances/accounts-controller/accounts-controller.d.mts +4 -0
  15. package/dist/initialization/instances/accounts-controller/accounts-controller.d.mts.map +1 -0
  16. package/dist/initialization/instances/accounts-controller/accounts-controller.mjs +34 -0
  17. package/dist/initialization/instances/accounts-controller/accounts-controller.mjs.map +1 -0
  18. package/dist/initialization/instances/connectivity-controller/always-online-adapter.cjs +40 -0
  19. package/dist/initialization/instances/connectivity-controller/always-online-adapter.cjs.map +1 -0
  20. package/dist/initialization/instances/connectivity-controller/always-online-adapter.d.cts +30 -0
  21. package/dist/initialization/instances/connectivity-controller/always-online-adapter.d.cts.map +1 -0
  22. package/dist/initialization/instances/connectivity-controller/always-online-adapter.d.mts +30 -0
  23. package/dist/initialization/instances/connectivity-controller/always-online-adapter.d.mts.map +1 -0
  24. package/dist/initialization/instances/connectivity-controller/always-online-adapter.mjs +36 -0
  25. package/dist/initialization/instances/connectivity-controller/always-online-adapter.mjs.map +1 -0
  26. package/dist/initialization/instances/connectivity-controller/connectivity-controller.cjs +17 -0
  27. package/dist/initialization/instances/connectivity-controller/connectivity-controller.cjs.map +1 -0
  28. package/dist/initialization/instances/connectivity-controller/connectivity-controller.d.cts +4 -0
  29. package/dist/initialization/instances/connectivity-controller/connectivity-controller.d.cts.map +1 -0
  30. package/dist/initialization/instances/connectivity-controller/connectivity-controller.d.mts +4 -0
  31. package/dist/initialization/instances/connectivity-controller/connectivity-controller.d.mts.map +1 -0
  32. package/dist/initialization/instances/connectivity-controller/connectivity-controller.mjs +14 -0
  33. package/dist/initialization/instances/connectivity-controller/connectivity-controller.mjs.map +1 -0
  34. package/dist/initialization/instances/connectivity-controller/types.cjs +3 -0
  35. package/dist/initialization/instances/connectivity-controller/types.cjs.map +1 -0
  36. package/dist/initialization/instances/connectivity-controller/types.d.cts +13 -0
  37. package/dist/initialization/instances/connectivity-controller/types.d.cts.map +1 -0
  38. package/dist/initialization/instances/connectivity-controller/types.d.mts +13 -0
  39. package/dist/initialization/instances/connectivity-controller/types.d.mts.map +1 -0
  40. package/dist/initialization/instances/connectivity-controller/types.mjs +2 -0
  41. package/dist/initialization/instances/connectivity-controller/types.mjs.map +1 -0
  42. package/dist/initialization/instances/index.cjs +7 -1
  43. package/dist/initialization/instances/index.cjs.map +1 -1
  44. package/dist/initialization/instances/index.d.cts +3 -0
  45. package/dist/initialization/instances/index.d.cts.map +1 -1
  46. package/dist/initialization/instances/index.d.mts +3 -0
  47. package/dist/initialization/instances/index.d.mts.map +1 -1
  48. package/dist/initialization/instances/index.mjs +3 -0
  49. package/dist/initialization/instances/index.mjs.map +1 -1
  50. package/dist/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.cjs +23 -0
  51. package/dist/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.cjs.map +1 -0
  52. package/dist/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.d.cts +4 -0
  53. package/dist/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.d.cts.map +1 -0
  54. package/dist/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.d.mts +4 -0
  55. package/dist/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.d.mts.map +1 -0
  56. package/dist/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.mjs +20 -0
  57. package/dist/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.mjs.map +1 -0
  58. package/dist/initialization/instances/remote-feature-flag-controller/types.cjs +3 -0
  59. package/dist/initialization/instances/remote-feature-flag-controller/types.cjs.map +1 -0
  60. package/dist/initialization/instances/remote-feature-flag-controller/types.d.cts +43 -0
  61. package/dist/initialization/instances/remote-feature-flag-controller/types.d.cts.map +1 -0
  62. package/dist/initialization/instances/remote-feature-flag-controller/types.d.mts +43 -0
  63. package/dist/initialization/instances/remote-feature-flag-controller/types.d.mts.map +1 -0
  64. package/dist/initialization/instances/remote-feature-flag-controller/types.mjs +2 -0
  65. package/dist/initialization/instances/remote-feature-flag-controller/types.mjs.map +1 -0
  66. package/dist/types.cjs.map +1 -1
  67. package/dist/types.d.cts +4 -0
  68. package/dist/types.d.cts.map +1 -1
  69. package/dist/types.d.mts +4 -0
  70. package/dist/types.d.mts.map +1 -1
  71. package/dist/types.mjs.map +1 -1
  72. package/package.json +4 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,15 @@ 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 `AccountsController` and `ConnectivityController` as default initialized controllers ([#8924](https://github.com/MetaMask/core/pull/8924))
13
+ - Passing `instanceOptions.connectivityController.connectivityAdapter` is now required.
14
+ - Export `AlwaysOnlineAdapter` from the package root for environments without a platform-specific network API (e.g. Node/tests).
15
+ - **BREAKING:** Wire `RemoteFeatureFlagController` into the default wallet initialization ([#8969](https://github.com/MetaMask/core/pull/8969))
16
+ - The default `Wallet` now constructs a `RemoteFeatureFlagController` and registers its `RemoteFeatureFlagController:*` messenger actions. Consumers that pass their own `messenger` and already wire a `RemoteFeatureFlagController` must remove their own before upgrading, or the duplicate registration will collide.
17
+ - Adds a required `remoteFeatureFlagController` slot to `instanceOptions`. `clientConfigApiService` is required (each client injects a `ClientConfigApiService` configured for its own client type, distribution, and environment); `getMetaMetricsId`, `clientVersion`, `prevClientVersion`, `fetchInterval`, and `disabled` are optional. `prevClientVersion` lets consumers trigger feature-flag cache invalidation when the client version changes between sessions.
18
+
10
19
  ## [3.0.0]
11
20
 
12
21
  ### Added
package/dist/index.cjs CHANGED
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.importSecretRecoveryPhrase = exports.Wallet = void 0;
3
+ exports.importSecretRecoveryPhrase = exports.AlwaysOnlineAdapter = exports.Wallet = void 0;
4
4
  var Wallet_1 = require("./Wallet.cjs");
5
5
  Object.defineProperty(exports, "Wallet", { enumerable: true, get: function () { return Wallet_1.Wallet; } });
6
+ var always_online_adapter_1 = require("./initialization/instances/connectivity-controller/always-online-adapter.cjs");
7
+ Object.defineProperty(exports, "AlwaysOnlineAdapter", { enumerable: true, get: function () { return always_online_adapter_1.AlwaysOnlineAdapter; } });
6
8
  var utilities_1 = require("./utilities.cjs");
7
9
  Object.defineProperty(exports, "importSecretRecoveryPhrase", { enumerable: true, get: function () { return utilities_1.importSecretRecoveryPhrase; } });
8
10
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,6CAAyD;AAAhD,uHAAA,0BAA0B,OAAA","sourcesContent":["export { Wallet } from './Wallet';\nexport { importSecretRecoveryPhrase } from './utilities';\nexport type { WalletOptions } from './types';\nexport type {\n DefaultActions,\n DefaultEvents,\n DefaultInstances,\n DefaultState,\n RootMessenger,\n} from './initialization/defaults';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,sHAA+G;AAAtG,4HAAA,mBAAmB,OAAA;AAC5B,6CAAyD;AAAhD,uHAAA,0BAA0B,OAAA","sourcesContent":["export { Wallet } from './Wallet';\nexport { AlwaysOnlineAdapter } from './initialization/instances/connectivity-controller/always-online-adapter';\nexport { importSecretRecoveryPhrase } from './utilities';\nexport type { WalletOptions } from './types';\nexport type {\n DefaultActions,\n DefaultEvents,\n DefaultInstances,\n DefaultState,\n RootMessenger,\n} from './initialization/defaults';\n"]}
package/dist/index.d.cts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { Wallet } from "./Wallet.cjs";
2
+ export { AlwaysOnlineAdapter } from "./initialization/instances/connectivity-controller/always-online-adapter.cjs";
2
3
  export { importSecretRecoveryPhrase } from "./utilities.cjs";
3
4
  export type { WalletOptions } from "./types.cjs";
4
5
  export type { DefaultActions, DefaultEvents, DefaultInstances, DefaultState, RootMessenger, } from "./initialization/defaults.cjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,qBAAiB;AAClC,OAAO,EAAE,0BAA0B,EAAE,wBAAoB;AACzD,YAAY,EAAE,aAAa,EAAE,oBAAgB;AAC7C,YAAY,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,sCAAkC"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,qBAAiB;AAClC,OAAO,EAAE,mBAAmB,EAAE,qFAAiF;AAC/G,OAAO,EAAE,0BAA0B,EAAE,wBAAoB;AACzD,YAAY,EAAE,aAAa,EAAE,oBAAgB;AAC7C,YAAY,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,sCAAkC"}
package/dist/index.d.mts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { Wallet } from "./Wallet.mjs";
2
+ export { AlwaysOnlineAdapter } from "./initialization/instances/connectivity-controller/always-online-adapter.mjs";
2
3
  export { importSecretRecoveryPhrase } from "./utilities.mjs";
3
4
  export type { WalletOptions } from "./types.mjs";
4
5
  export type { DefaultActions, DefaultEvents, DefaultInstances, DefaultState, RootMessenger, } from "./initialization/defaults.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,qBAAiB;AAClC,OAAO,EAAE,0BAA0B,EAAE,wBAAoB;AACzD,YAAY,EAAE,aAAa,EAAE,oBAAgB;AAC7C,YAAY,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,sCAAkC"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,qBAAiB;AAClC,OAAO,EAAE,mBAAmB,EAAE,qFAAiF;AAC/G,OAAO,EAAE,0BAA0B,EAAE,wBAAoB;AACzD,YAAY,EAAE,aAAa,EAAE,oBAAgB;AAC7C,YAAY,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,sCAAkC"}
package/dist/index.mjs CHANGED
@@ -1,3 +1,4 @@
1
1
  export { Wallet } from "./Wallet.mjs";
2
+ export { AlwaysOnlineAdapter } from "./initialization/instances/connectivity-controller/always-online-adapter.mjs";
2
3
  export { importSecretRecoveryPhrase } from "./utilities.mjs";
3
4
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,qBAAiB;AAClC,OAAO,EAAE,0BAA0B,EAAE,wBAAoB","sourcesContent":["export { Wallet } from './Wallet';\nexport { importSecretRecoveryPhrase } from './utilities';\nexport type { WalletOptions } from './types';\nexport type {\n DefaultActions,\n DefaultEvents,\n DefaultInstances,\n DefaultState,\n RootMessenger,\n} from './initialization/defaults';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,qBAAiB;AAClC,OAAO,EAAE,mBAAmB,EAAE,qFAAiF;AAC/G,OAAO,EAAE,0BAA0B,EAAE,wBAAoB","sourcesContent":["export { Wallet } from './Wallet';\nexport { AlwaysOnlineAdapter } from './initialization/instances/connectivity-controller/always-online-adapter';\nexport { importSecretRecoveryPhrase } from './utilities';\nexport type { WalletOptions } from './types';\nexport type {\n DefaultActions,\n DefaultEvents,\n DefaultInstances,\n DefaultState,\n RootMessenger,\n} from './initialization/defaults';\n"]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.accountsController = void 0;
4
+ const accounts_controller_1 = require("@metamask/accounts-controller");
5
+ const messenger_1 = require("@metamask/messenger");
6
+ exports.accountsController = {
7
+ name: 'AccountsController',
8
+ init: ({ state, messenger }) => new accounts_controller_1.AccountsController({
9
+ state,
10
+ messenger,
11
+ }),
12
+ getMessenger: (parent) => {
13
+ const accountsControllerMessenger = new messenger_1.Messenger({
14
+ namespace: 'AccountsController',
15
+ parent,
16
+ });
17
+ parent.delegate({
18
+ messenger: accountsControllerMessenger,
19
+ actions: [
20
+ 'KeyringController:getState',
21
+ 'KeyringController:getKeyringsByType',
22
+ ],
23
+ events: [
24
+ // AccountsController subscribes to :stateChange internally; the
25
+ // delegation must match until that package migrates to :stateChanged.
26
+ // eslint-disable-next-line no-restricted-syntax
27
+ 'KeyringController:stateChange',
28
+ 'SnapAccountService:accountAssetListUpdated',
29
+ 'SnapAccountService:accountBalancesUpdated',
30
+ 'SnapAccountService:accountTransactionsUpdated',
31
+ 'MultichainNetworkController:networkDidChange',
32
+ ],
33
+ });
34
+ return accountsControllerMessenger;
35
+ },
36
+ };
37
+ //# sourceMappingURL=accounts-controller.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts-controller.cjs","sourceRoot":"","sources":["../../../../src/initialization/instances/accounts-controller/accounts-controller.ts"],"names":[],"mappings":";;;AAAA,uEAGuC;AACvC,mDAAgD;AASnC,QAAA,kBAAkB,GAG3B;IACF,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAC7B,IAAI,wCAAkB,CAAC;QACrB,KAAK;QACL,SAAS;KACV,CAAC;IACJ,YAAY,EAAE,CAAC,MAAoD,EAAE,EAAE;QACrE,MAAM,2BAA2B,GAC/B,IAAI,qBAAS,CAAC;YACZ,SAAS,EAAE,oBAAoB;YAC/B,MAAM;SACP,CAAC,CAAC;QAEL,MAAM,CAAC,QAAQ,CAAC;YACd,SAAS,EAAE,2BAA2B;YACtC,OAAO,EAAE;gBACP,4BAA4B;gBAC5B,qCAAqC;aACtC;YACD,MAAM,EAAE;gBACN,gEAAgE;gBAChE,sEAAsE;gBACtE,gDAAgD;gBAChD,+BAA+B;gBAC/B,4CAA4C;gBAC5C,2CAA2C;gBAC3C,+CAA+C;gBAC/C,8CAA8C;aAC/C;SACF,CAAC,CAAC;QAEH,OAAO,2BAA2B,CAAC;IACrC,CAAC;CACF,CAAC","sourcesContent":["import {\n AccountsController,\n AccountsControllerMessenger,\n} from '@metamask/accounts-controller';\nimport { Messenger } from '@metamask/messenger';\n\nimport type {\n DefaultActions,\n DefaultEvents,\n RootMessenger,\n} from '../../defaults';\nimport type { InitializationConfiguration } from '../../types';\n\nexport const accountsController: InitializationConfiguration<\n AccountsController,\n AccountsControllerMessenger\n> = {\n name: 'AccountsController',\n init: ({ state, messenger }) =>\n new AccountsController({\n state,\n messenger,\n }),\n getMessenger: (parent: RootMessenger<DefaultActions, DefaultEvents>) => {\n const accountsControllerMessenger: AccountsControllerMessenger =\n new Messenger({\n namespace: 'AccountsController',\n parent,\n });\n\n parent.delegate({\n messenger: accountsControllerMessenger,\n actions: [\n 'KeyringController:getState',\n 'KeyringController:getKeyringsByType',\n ],\n events: [\n // AccountsController subscribes to :stateChange internally; the\n // delegation must match until that package migrates to :stateChanged.\n // eslint-disable-next-line no-restricted-syntax\n 'KeyringController:stateChange',\n 'SnapAccountService:accountAssetListUpdated',\n 'SnapAccountService:accountBalancesUpdated',\n 'SnapAccountService:accountTransactionsUpdated',\n 'MultichainNetworkController:networkDidChange',\n ],\n });\n\n return accountsControllerMessenger;\n },\n};\n"]}
@@ -0,0 +1,4 @@
1
+ import { AccountsController, AccountsControllerMessenger } from "@metamask/accounts-controller";
2
+ import type { InitializationConfiguration } from "../../types.cjs";
3
+ export declare const accountsController: InitializationConfiguration<AccountsController, AccountsControllerMessenger>;
4
+ //# sourceMappingURL=accounts-controller.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts-controller.d.cts","sourceRoot":"","sources":["../../../../src/initialization/instances/accounts-controller/accounts-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC5B,sCAAsC;AAQvC,OAAO,KAAK,EAAE,2BAA2B,EAAE,wBAAoB;AAE/D,eAAO,MAAM,kBAAkB,EAAE,2BAA2B,CAC1D,kBAAkB,EAClB,2BAA2B,CAmC5B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { AccountsController, AccountsControllerMessenger } from "@metamask/accounts-controller";
2
+ import type { InitializationConfiguration } from "../../types.mjs";
3
+ export declare const accountsController: InitializationConfiguration<AccountsController, AccountsControllerMessenger>;
4
+ //# sourceMappingURL=accounts-controller.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts-controller.d.mts","sourceRoot":"","sources":["../../../../src/initialization/instances/accounts-controller/accounts-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC5B,sCAAsC;AAQvC,OAAO,KAAK,EAAE,2BAA2B,EAAE,wBAAoB;AAE/D,eAAO,MAAM,kBAAkB,EAAE,2BAA2B,CAC1D,kBAAkB,EAClB,2BAA2B,CAmC5B,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { AccountsController } from "@metamask/accounts-controller";
2
+ import { Messenger } from "@metamask/messenger";
3
+ export const accountsController = {
4
+ name: 'AccountsController',
5
+ init: ({ state, messenger }) => new AccountsController({
6
+ state,
7
+ messenger,
8
+ }),
9
+ getMessenger: (parent) => {
10
+ const accountsControllerMessenger = new Messenger({
11
+ namespace: 'AccountsController',
12
+ parent,
13
+ });
14
+ parent.delegate({
15
+ messenger: accountsControllerMessenger,
16
+ actions: [
17
+ 'KeyringController:getState',
18
+ 'KeyringController:getKeyringsByType',
19
+ ],
20
+ events: [
21
+ // AccountsController subscribes to :stateChange internally; the
22
+ // delegation must match until that package migrates to :stateChanged.
23
+ // eslint-disable-next-line no-restricted-syntax
24
+ 'KeyringController:stateChange',
25
+ 'SnapAccountService:accountAssetListUpdated',
26
+ 'SnapAccountService:accountBalancesUpdated',
27
+ 'SnapAccountService:accountTransactionsUpdated',
28
+ 'MultichainNetworkController:networkDidChange',
29
+ ],
30
+ });
31
+ return accountsControllerMessenger;
32
+ },
33
+ };
34
+ //# sourceMappingURL=accounts-controller.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts-controller.mjs","sourceRoot":"","sources":["../../../../src/initialization/instances/accounts-controller/accounts-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAEnB,sCAAsC;AACvC,OAAO,EAAE,SAAS,EAAE,4BAA4B;AAShD,MAAM,CAAC,MAAM,kBAAkB,GAG3B;IACF,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAC7B,IAAI,kBAAkB,CAAC;QACrB,KAAK;QACL,SAAS;KACV,CAAC;IACJ,YAAY,EAAE,CAAC,MAAoD,EAAE,EAAE;QACrE,MAAM,2BAA2B,GAC/B,IAAI,SAAS,CAAC;YACZ,SAAS,EAAE,oBAAoB;YAC/B,MAAM;SACP,CAAC,CAAC;QAEL,MAAM,CAAC,QAAQ,CAAC;YACd,SAAS,EAAE,2BAA2B;YACtC,OAAO,EAAE;gBACP,4BAA4B;gBAC5B,qCAAqC;aACtC;YACD,MAAM,EAAE;gBACN,gEAAgE;gBAChE,sEAAsE;gBACtE,gDAAgD;gBAChD,+BAA+B;gBAC/B,4CAA4C;gBAC5C,2CAA2C;gBAC3C,+CAA+C;gBAC/C,8CAA8C;aAC/C;SACF,CAAC,CAAC;QAEH,OAAO,2BAA2B,CAAC;IACrC,CAAC;CACF,CAAC","sourcesContent":["import {\n AccountsController,\n AccountsControllerMessenger,\n} from '@metamask/accounts-controller';\nimport { Messenger } from '@metamask/messenger';\n\nimport type {\n DefaultActions,\n DefaultEvents,\n RootMessenger,\n} from '../../defaults';\nimport type { InitializationConfiguration } from '../../types';\n\nexport const accountsController: InitializationConfiguration<\n AccountsController,\n AccountsControllerMessenger\n> = {\n name: 'AccountsController',\n init: ({ state, messenger }) =>\n new AccountsController({\n state,\n messenger,\n }),\n getMessenger: (parent: RootMessenger<DefaultActions, DefaultEvents>) => {\n const accountsControllerMessenger: AccountsControllerMessenger =\n new Messenger({\n namespace: 'AccountsController',\n parent,\n });\n\n parent.delegate({\n messenger: accountsControllerMessenger,\n actions: [\n 'KeyringController:getState',\n 'KeyringController:getKeyringsByType',\n ],\n events: [\n // AccountsController subscribes to :stateChange internally; the\n // delegation must match until that package migrates to :stateChanged.\n // eslint-disable-next-line no-restricted-syntax\n 'KeyringController:stateChange',\n 'SnapAccountService:accountAssetListUpdated',\n 'SnapAccountService:accountBalancesUpdated',\n 'SnapAccountService:accountTransactionsUpdated',\n 'MultichainNetworkController:networkDidChange',\n ],\n });\n\n return accountsControllerMessenger;\n },\n};\n"]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AlwaysOnlineAdapter = void 0;
4
+ const connectivity_controller_1 = require("@metamask/connectivity-controller");
5
+ /**
6
+ * A connectivity adapter that unconditionally reports the device as online.
7
+ *
8
+ * This is a temporary placeholder until a real platform-specific adapter
9
+ * (one that observes actual network events) is injected by the consumer.
10
+ */
11
+ class AlwaysOnlineAdapter {
12
+ /**
13
+ * Returns the current connectivity status.
14
+ *
15
+ * @returns A promise that always resolves to the online status.
16
+ */
17
+ async getStatus() {
18
+ return connectivity_controller_1.CONNECTIVITY_STATUSES.Online;
19
+ }
20
+ /**
21
+ * Registers a callback for connectivity changes.
22
+ *
23
+ * This adapter never changes status, so the callback is never invoked.
24
+ *
25
+ * @param _callback - The callback to register.
26
+ */
27
+ onConnectivityChange(_callback) {
28
+ // no-op
29
+ }
30
+ /**
31
+ * Cleans up any resources held by this adapter.
32
+ *
33
+ * This adapter holds no resources, so this is a no-op.
34
+ */
35
+ destroy() {
36
+ // no-op
37
+ }
38
+ }
39
+ exports.AlwaysOnlineAdapter = AlwaysOnlineAdapter;
40
+ //# sourceMappingURL=always-online-adapter.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"always-online-adapter.cjs","sourceRoot":"","sources":["../../../../src/initialization/instances/connectivity-controller/always-online-adapter.ts"],"names":[],"mappings":";;;AAAA,+EAI2C;AAE3C;;;;;GAKG;AACH,MAAa,mBAAmB;IAC9B;;;;OAIG;IACH,KAAK,CAAC,SAAS;QACb,OAAO,+CAAqB,CAAC,MAAM,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB,CAAC,SAA+C;QAClE,QAAQ;IACV,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,QAAQ;IACV,CAAC;CACF;AA7BD,kDA6BC","sourcesContent":["import {\n CONNECTIVITY_STATUSES,\n ConnectivityAdapter,\n ConnectivityStatus,\n} from '@metamask/connectivity-controller';\n\n/**\n * A connectivity adapter that unconditionally reports the device as online.\n *\n * This is a temporary placeholder until a real platform-specific adapter\n * (one that observes actual network events) is injected by the consumer.\n */\nexport class AlwaysOnlineAdapter implements ConnectivityAdapter {\n /**\n * Returns the current connectivity status.\n *\n * @returns A promise that always resolves to the online status.\n */\n async getStatus(): Promise<ConnectivityStatus> {\n return CONNECTIVITY_STATUSES.Online;\n }\n\n /**\n * Registers a callback for connectivity changes.\n *\n * This adapter never changes status, so the callback is never invoked.\n *\n * @param _callback - The callback to register.\n */\n onConnectivityChange(_callback: (status: ConnectivityStatus) => void): void {\n // no-op\n }\n\n /**\n * Cleans up any resources held by this adapter.\n *\n * This adapter holds no resources, so this is a no-op.\n */\n destroy(): void {\n // no-op\n }\n}\n"]}
@@ -0,0 +1,30 @@
1
+ import { ConnectivityAdapter, ConnectivityStatus } from "@metamask/connectivity-controller";
2
+ /**
3
+ * A connectivity adapter that unconditionally reports the device as online.
4
+ *
5
+ * This is a temporary placeholder until a real platform-specific adapter
6
+ * (one that observes actual network events) is injected by the consumer.
7
+ */
8
+ export declare class AlwaysOnlineAdapter implements ConnectivityAdapter {
9
+ /**
10
+ * Returns the current connectivity status.
11
+ *
12
+ * @returns A promise that always resolves to the online status.
13
+ */
14
+ getStatus(): Promise<ConnectivityStatus>;
15
+ /**
16
+ * Registers a callback for connectivity changes.
17
+ *
18
+ * This adapter never changes status, so the callback is never invoked.
19
+ *
20
+ * @param _callback - The callback to register.
21
+ */
22
+ onConnectivityChange(_callback: (status: ConnectivityStatus) => void): void;
23
+ /**
24
+ * Cleans up any resources held by this adapter.
25
+ *
26
+ * This adapter holds no resources, so this is a no-op.
27
+ */
28
+ destroy(): void;
29
+ }
30
+ //# sourceMappingURL=always-online-adapter.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"always-online-adapter.d.cts","sourceRoot":"","sources":["../../../../src/initialization/instances/connectivity-controller/always-online-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EACnB,0CAA0C;AAE3C;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,mBAAmB;IAC7D;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAI9C;;;;;;OAMG;IACH,oBAAoB,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI;IAI3E;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAGhB"}
@@ -0,0 +1,30 @@
1
+ import { ConnectivityAdapter, ConnectivityStatus } from "@metamask/connectivity-controller";
2
+ /**
3
+ * A connectivity adapter that unconditionally reports the device as online.
4
+ *
5
+ * This is a temporary placeholder until a real platform-specific adapter
6
+ * (one that observes actual network events) is injected by the consumer.
7
+ */
8
+ export declare class AlwaysOnlineAdapter implements ConnectivityAdapter {
9
+ /**
10
+ * Returns the current connectivity status.
11
+ *
12
+ * @returns A promise that always resolves to the online status.
13
+ */
14
+ getStatus(): Promise<ConnectivityStatus>;
15
+ /**
16
+ * Registers a callback for connectivity changes.
17
+ *
18
+ * This adapter never changes status, so the callback is never invoked.
19
+ *
20
+ * @param _callback - The callback to register.
21
+ */
22
+ onConnectivityChange(_callback: (status: ConnectivityStatus) => void): void;
23
+ /**
24
+ * Cleans up any resources held by this adapter.
25
+ *
26
+ * This adapter holds no resources, so this is a no-op.
27
+ */
28
+ destroy(): void;
29
+ }
30
+ //# sourceMappingURL=always-online-adapter.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"always-online-adapter.d.mts","sourceRoot":"","sources":["../../../../src/initialization/instances/connectivity-controller/always-online-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EACnB,0CAA0C;AAE3C;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,mBAAmB;IAC7D;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAI9C;;;;;;OAMG;IACH,oBAAoB,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI;IAI3E;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAGhB"}
@@ -0,0 +1,36 @@
1
+ import { CONNECTIVITY_STATUSES } from "@metamask/connectivity-controller";
2
+ /**
3
+ * A connectivity adapter that unconditionally reports the device as online.
4
+ *
5
+ * This is a temporary placeholder until a real platform-specific adapter
6
+ * (one that observes actual network events) is injected by the consumer.
7
+ */
8
+ export class AlwaysOnlineAdapter {
9
+ /**
10
+ * Returns the current connectivity status.
11
+ *
12
+ * @returns A promise that always resolves to the online status.
13
+ */
14
+ async getStatus() {
15
+ return CONNECTIVITY_STATUSES.Online;
16
+ }
17
+ /**
18
+ * Registers a callback for connectivity changes.
19
+ *
20
+ * This adapter never changes status, so the callback is never invoked.
21
+ *
22
+ * @param _callback - The callback to register.
23
+ */
24
+ onConnectivityChange(_callback) {
25
+ // no-op
26
+ }
27
+ /**
28
+ * Cleans up any resources held by this adapter.
29
+ *
30
+ * This adapter holds no resources, so this is a no-op.
31
+ */
32
+ destroy() {
33
+ // no-op
34
+ }
35
+ }
36
+ //# sourceMappingURL=always-online-adapter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"always-online-adapter.mjs","sourceRoot":"","sources":["../../../../src/initialization/instances/connectivity-controller/always-online-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAGtB,0CAA0C;AAE3C;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IAC9B;;;;OAIG;IACH,KAAK,CAAC,SAAS;QACb,OAAO,qBAAqB,CAAC,MAAM,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB,CAAC,SAA+C;QAClE,QAAQ;IACV,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,QAAQ;IACV,CAAC;CACF","sourcesContent":["import {\n CONNECTIVITY_STATUSES,\n ConnectivityAdapter,\n ConnectivityStatus,\n} from '@metamask/connectivity-controller';\n\n/**\n * A connectivity adapter that unconditionally reports the device as online.\n *\n * This is a temporary placeholder until a real platform-specific adapter\n * (one that observes actual network events) is injected by the consumer.\n */\nexport class AlwaysOnlineAdapter implements ConnectivityAdapter {\n /**\n * Returns the current connectivity status.\n *\n * @returns A promise that always resolves to the online status.\n */\n async getStatus(): Promise<ConnectivityStatus> {\n return CONNECTIVITY_STATUSES.Online;\n }\n\n /**\n * Registers a callback for connectivity changes.\n *\n * This adapter never changes status, so the callback is never invoked.\n *\n * @param _callback - The callback to register.\n */\n onConnectivityChange(_callback: (status: ConnectivityStatus) => void): void {\n // no-op\n }\n\n /**\n * Cleans up any resources held by this adapter.\n *\n * This adapter holds no resources, so this is a no-op.\n */\n destroy(): void {\n // no-op\n }\n}\n"]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.connectivityController = void 0;
4
+ const connectivity_controller_1 = require("@metamask/connectivity-controller");
5
+ const messenger_1 = require("@metamask/messenger");
6
+ exports.connectivityController = {
7
+ name: 'ConnectivityController',
8
+ init: ({ messenger, options }) => new connectivity_controller_1.ConnectivityController({
9
+ messenger,
10
+ connectivityAdapter: options.connectivityAdapter,
11
+ }),
12
+ getMessenger: (parent) => new messenger_1.Messenger({
13
+ namespace: 'ConnectivityController',
14
+ parent,
15
+ }),
16
+ };
17
+ //# sourceMappingURL=connectivity-controller.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectivity-controller.cjs","sourceRoot":"","sources":["../../../../src/initialization/instances/connectivity-controller/connectivity-controller.ts"],"names":[],"mappings":";;;AAAA,+EAG2C;AAC3C,mDAAgD;AASnC,QAAA,sBAAsB,GAG/B;IACF,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAC/B,IAAI,gDAAsB,CAAC;QACzB,SAAS;QACT,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;KACjD,CAAC;IACJ,YAAY,EAAE,CAAC,MAAoD,EAAE,EAAE,CACrE,IAAI,qBAAS,CAAC;QACZ,SAAS,EAAE,wBAAwB;QACnC,MAAM;KACP,CAAC;CACL,CAAC","sourcesContent":["import {\n ConnectivityController,\n ConnectivityControllerMessenger,\n} from '@metamask/connectivity-controller';\nimport { Messenger } from '@metamask/messenger';\n\nimport type {\n DefaultActions,\n DefaultEvents,\n RootMessenger,\n} from '../../defaults';\nimport type { InitializationConfiguration } from '../../types';\n\nexport const connectivityController: InitializationConfiguration<\n ConnectivityController,\n ConnectivityControllerMessenger\n> = {\n name: 'ConnectivityController',\n init: ({ messenger, options }) =>\n new ConnectivityController({\n messenger,\n connectivityAdapter: options.connectivityAdapter,\n }),\n getMessenger: (parent: RootMessenger<DefaultActions, DefaultEvents>) =>\n new Messenger({\n namespace: 'ConnectivityController',\n parent,\n }),\n};\n"]}
@@ -0,0 +1,4 @@
1
+ import { ConnectivityController, ConnectivityControllerMessenger } from "@metamask/connectivity-controller";
2
+ import type { InitializationConfiguration } from "../../types.cjs";
3
+ export declare const connectivityController: InitializationConfiguration<ConnectivityController, ConnectivityControllerMessenger>;
4
+ //# sourceMappingURL=connectivity-controller.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectivity-controller.d.cts","sourceRoot":"","sources":["../../../../src/initialization/instances/connectivity-controller/connectivity-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,+BAA+B,EAChC,0CAA0C;AAQ3C,OAAO,KAAK,EAAE,2BAA2B,EAAE,wBAAoB;AAE/D,eAAO,MAAM,sBAAsB,EAAE,2BAA2B,CAC9D,sBAAsB,EACtB,+BAA+B,CAahC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { ConnectivityController, ConnectivityControllerMessenger } from "@metamask/connectivity-controller";
2
+ import type { InitializationConfiguration } from "../../types.mjs";
3
+ export declare const connectivityController: InitializationConfiguration<ConnectivityController, ConnectivityControllerMessenger>;
4
+ //# sourceMappingURL=connectivity-controller.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectivity-controller.d.mts","sourceRoot":"","sources":["../../../../src/initialization/instances/connectivity-controller/connectivity-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,+BAA+B,EAChC,0CAA0C;AAQ3C,OAAO,KAAK,EAAE,2BAA2B,EAAE,wBAAoB;AAE/D,eAAO,MAAM,sBAAsB,EAAE,2BAA2B,CAC9D,sBAAsB,EACtB,+BAA+B,CAahC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { ConnectivityController } from "@metamask/connectivity-controller";
2
+ import { Messenger } from "@metamask/messenger";
3
+ export const connectivityController = {
4
+ name: 'ConnectivityController',
5
+ init: ({ messenger, options }) => new ConnectivityController({
6
+ messenger,
7
+ connectivityAdapter: options.connectivityAdapter,
8
+ }),
9
+ getMessenger: (parent) => new Messenger({
10
+ namespace: 'ConnectivityController',
11
+ parent,
12
+ }),
13
+ };
14
+ //# sourceMappingURL=connectivity-controller.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectivity-controller.mjs","sourceRoot":"","sources":["../../../../src/initialization/instances/connectivity-controller/connectivity-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAEvB,0CAA0C;AAC3C,OAAO,EAAE,SAAS,EAAE,4BAA4B;AAShD,MAAM,CAAC,MAAM,sBAAsB,GAG/B;IACF,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAC/B,IAAI,sBAAsB,CAAC;QACzB,SAAS;QACT,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;KACjD,CAAC;IACJ,YAAY,EAAE,CAAC,MAAoD,EAAE,EAAE,CACrE,IAAI,SAAS,CAAC;QACZ,SAAS,EAAE,wBAAwB;QACnC,MAAM;KACP,CAAC;CACL,CAAC","sourcesContent":["import {\n ConnectivityController,\n ConnectivityControllerMessenger,\n} from '@metamask/connectivity-controller';\nimport { Messenger } from '@metamask/messenger';\n\nimport type {\n DefaultActions,\n DefaultEvents,\n RootMessenger,\n} from '../../defaults';\nimport type { InitializationConfiguration } from '../../types';\n\nexport const connectivityController: InitializationConfiguration<\n ConnectivityController,\n ConnectivityControllerMessenger\n> = {\n name: 'ConnectivityController',\n init: ({ messenger, options }) =>\n new ConnectivityController({\n messenger,\n connectivityAdapter: options.connectivityAdapter,\n }),\n getMessenger: (parent: RootMessenger<DefaultActions, DefaultEvents>) =>\n new Messenger({\n namespace: 'ConnectivityController',\n parent,\n }),\n};\n"]}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../../../src/initialization/instances/connectivity-controller/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ConnectivityAdapter } from '@metamask/connectivity-controller';\n\n/**\n * Per-instance options for the wallet's `ConnectivityController`.\n */\nexport type ConnectivityControllerInstanceOptions = {\n /**\n * Platform-specific adapter that observes the device's network connectivity.\n * Required because connectivity is inherently platform-specific; node-like\n * environments can pass the exported `AlwaysOnlineAdapter`.\n */\n connectivityAdapter: ConnectivityAdapter;\n};\n"]}
@@ -0,0 +1,13 @@
1
+ import type { ConnectivityAdapter } from "@metamask/connectivity-controller";
2
+ /**
3
+ * Per-instance options for the wallet's `ConnectivityController`.
4
+ */
5
+ export type ConnectivityControllerInstanceOptions = {
6
+ /**
7
+ * Platform-specific adapter that observes the device's network connectivity.
8
+ * Required because connectivity is inherently platform-specific; node-like
9
+ * environments can pass the exported `AlwaysOnlineAdapter`.
10
+ */
11
+ connectivityAdapter: ConnectivityAdapter;
12
+ };
13
+ //# sourceMappingURL=types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../../../../src/initialization/instances/connectivity-controller/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,0CAA0C;AAE7E;;GAEG;AACH,MAAM,MAAM,qCAAqC,GAAG;IAClD;;;;OAIG;IACH,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { ConnectivityAdapter } from "@metamask/connectivity-controller";
2
+ /**
3
+ * Per-instance options for the wallet's `ConnectivityController`.
4
+ */
5
+ export type ConnectivityControllerInstanceOptions = {
6
+ /**
7
+ * Platform-specific adapter that observes the device's network connectivity.
8
+ * Required because connectivity is inherently platform-specific; node-like
9
+ * environments can pass the exported `AlwaysOnlineAdapter`.
10
+ */
11
+ connectivityAdapter: ConnectivityAdapter;
12
+ };
13
+ //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../../../src/initialization/instances/connectivity-controller/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,0CAA0C;AAE7E;;GAEG;AACH,MAAM,MAAM,qCAAqC,GAAG;IAClD;;;;OAIG;IACH,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../../../src/initialization/instances/connectivity-controller/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ConnectivityAdapter } from '@metamask/connectivity-controller';\n\n/**\n * Per-instance options for the wallet's `ConnectivityController`.\n */\nexport type ConnectivityControllerInstanceOptions = {\n /**\n * Platform-specific adapter that observes the device's network connectivity.\n * Required because connectivity is inherently platform-specific; node-like\n * environments can pass the exported `AlwaysOnlineAdapter`.\n */\n connectivityAdapter: ConnectivityAdapter;\n};\n"]}
@@ -1,10 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.storageService = exports.keyringController = exports.approvalController = void 0;
3
+ exports.storageService = exports.remoteFeatureFlagController = exports.keyringController = exports.connectivityController = exports.approvalController = exports.accountsController = void 0;
4
+ var accounts_controller_1 = require("./accounts-controller/accounts-controller.cjs");
5
+ Object.defineProperty(exports, "accountsController", { enumerable: true, get: function () { return accounts_controller_1.accountsController; } });
4
6
  var approval_controller_1 = require("./approval-controller/approval-controller.cjs");
5
7
  Object.defineProperty(exports, "approvalController", { enumerable: true, get: function () { return approval_controller_1.approvalController; } });
8
+ var connectivity_controller_1 = require("./connectivity-controller/connectivity-controller.cjs");
9
+ Object.defineProperty(exports, "connectivityController", { enumerable: true, get: function () { return connectivity_controller_1.connectivityController; } });
6
10
  var keyring_controller_1 = require("./keyring-controller/keyring-controller.cjs");
7
11
  Object.defineProperty(exports, "keyringController", { enumerable: true, get: function () { return keyring_controller_1.keyringController; } });
12
+ var remote_feature_flag_controller_1 = require("./remote-feature-flag-controller/remote-feature-flag-controller.cjs");
13
+ Object.defineProperty(exports, "remoteFeatureFlagController", { enumerable: true, get: function () { return remote_feature_flag_controller_1.remoteFeatureFlagController; } });
8
14
  var storage_service_1 = require("./storage-service/storage-service.cjs");
9
15
  Object.defineProperty(exports, "storageService", { enumerable: true, get: function () { return storage_service_1.storageService; } });
10
16
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/initialization/instances/index.ts"],"names":[],"mappings":";;;AAAA,qFAA+E;AAAtE,yHAAA,kBAAkB,OAAA;AAC3B,kFAA4E;AAAnE,uHAAA,iBAAiB,OAAA;AAC1B,yEAAmE;AAA1D,iHAAA,cAAc,OAAA","sourcesContent":["export { approvalController } from './approval-controller/approval-controller';\nexport { keyringController } from './keyring-controller/keyring-controller';\nexport { storageService } from './storage-service/storage-service';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/initialization/instances/index.ts"],"names":[],"mappings":";;;AAAA,qFAA+E;AAAtE,yHAAA,kBAAkB,OAAA;AAC3B,qFAA+E;AAAtE,yHAAA,kBAAkB,OAAA;AAC3B,iGAA2F;AAAlF,iIAAA,sBAAsB,OAAA;AAC/B,kFAA4E;AAAnE,uHAAA,iBAAiB,OAAA;AAC1B,sHAA8G;AAArG,6IAAA,2BAA2B,OAAA;AACpC,yEAAmE;AAA1D,iHAAA,cAAc,OAAA","sourcesContent":["export { accountsController } from './accounts-controller/accounts-controller';\nexport { approvalController } from './approval-controller/approval-controller';\nexport { connectivityController } from './connectivity-controller/connectivity-controller';\nexport { keyringController } from './keyring-controller/keyring-controller';\nexport { remoteFeatureFlagController } from './remote-feature-flag-controller/remote-feature-flag-controller';\nexport { storageService } from './storage-service/storage-service';\n"]}
@@ -1,4 +1,7 @@
1
+ export { accountsController } from "./accounts-controller/accounts-controller.cjs";
1
2
  export { approvalController } from "./approval-controller/approval-controller.cjs";
3
+ export { connectivityController } from "./connectivity-controller/connectivity-controller.cjs";
2
4
  export { keyringController } from "./keyring-controller/keyring-controller.cjs";
5
+ export { remoteFeatureFlagController } from "./remote-feature-flag-controller/remote-feature-flag-controller.cjs";
3
6
  export { storageService } from "./storage-service/storage-service.cjs";
4
7
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/initialization/instances/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,sDAAkD;AAC/E,OAAO,EAAE,iBAAiB,EAAE,oDAAgD;AAC5E,OAAO,EAAE,cAAc,EAAE,8CAA0C"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/initialization/instances/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,sDAAkD;AAC/E,OAAO,EAAE,kBAAkB,EAAE,sDAAkD;AAC/E,OAAO,EAAE,sBAAsB,EAAE,8DAA0D;AAC3F,OAAO,EAAE,iBAAiB,EAAE,oDAAgD;AAC5E,OAAO,EAAE,2BAA2B,EAAE,4EAAwE;AAC9G,OAAO,EAAE,cAAc,EAAE,8CAA0C"}
@@ -1,4 +1,7 @@
1
+ export { accountsController } from "./accounts-controller/accounts-controller.mjs";
1
2
  export { approvalController } from "./approval-controller/approval-controller.mjs";
3
+ export { connectivityController } from "./connectivity-controller/connectivity-controller.mjs";
2
4
  export { keyringController } from "./keyring-controller/keyring-controller.mjs";
5
+ export { remoteFeatureFlagController } from "./remote-feature-flag-controller/remote-feature-flag-controller.mjs";
3
6
  export { storageService } from "./storage-service/storage-service.mjs";
4
7
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/initialization/instances/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,sDAAkD;AAC/E,OAAO,EAAE,iBAAiB,EAAE,oDAAgD;AAC5E,OAAO,EAAE,cAAc,EAAE,8CAA0C"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/initialization/instances/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,sDAAkD;AAC/E,OAAO,EAAE,kBAAkB,EAAE,sDAAkD;AAC/E,OAAO,EAAE,sBAAsB,EAAE,8DAA0D;AAC3F,OAAO,EAAE,iBAAiB,EAAE,oDAAgD;AAC5E,OAAO,EAAE,2BAA2B,EAAE,4EAAwE;AAC9G,OAAO,EAAE,cAAc,EAAE,8CAA0C"}
@@ -1,4 +1,7 @@
1
+ export { accountsController } from "./accounts-controller/accounts-controller.mjs";
1
2
  export { approvalController } from "./approval-controller/approval-controller.mjs";
3
+ export { connectivityController } from "./connectivity-controller/connectivity-controller.mjs";
2
4
  export { keyringController } from "./keyring-controller/keyring-controller.mjs";
5
+ export { remoteFeatureFlagController } from "./remote-feature-flag-controller/remote-feature-flag-controller.mjs";
3
6
  export { storageService } from "./storage-service/storage-service.mjs";
4
7
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/initialization/instances/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,sDAAkD;AAC/E,OAAO,EAAE,iBAAiB,EAAE,oDAAgD;AAC5E,OAAO,EAAE,cAAc,EAAE,8CAA0C","sourcesContent":["export { approvalController } from './approval-controller/approval-controller';\nexport { keyringController } from './keyring-controller/keyring-controller';\nexport { storageService } from './storage-service/storage-service';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/initialization/instances/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,sDAAkD;AAC/E,OAAO,EAAE,kBAAkB,EAAE,sDAAkD;AAC/E,OAAO,EAAE,sBAAsB,EAAE,8DAA0D;AAC3F,OAAO,EAAE,iBAAiB,EAAE,oDAAgD;AAC5E,OAAO,EAAE,2BAA2B,EAAE,4EAAwE;AAC9G,OAAO,EAAE,cAAc,EAAE,8CAA0C","sourcesContent":["export { accountsController } from './accounts-controller/accounts-controller';\nexport { approvalController } from './approval-controller/approval-controller';\nexport { connectivityController } from './connectivity-controller/connectivity-controller';\nexport { keyringController } from './keyring-controller/keyring-controller';\nexport { remoteFeatureFlagController } from './remote-feature-flag-controller/remote-feature-flag-controller';\nexport { storageService } from './storage-service/storage-service';\n"]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.remoteFeatureFlagController = void 0;
4
+ const messenger_1 = require("@metamask/messenger");
5
+ const remote_feature_flag_controller_1 = require("@metamask/remote-feature-flag-controller");
6
+ exports.remoteFeatureFlagController = {
7
+ name: 'RemoteFeatureFlagController',
8
+ init: ({ state, messenger, options }) => new remote_feature_flag_controller_1.RemoteFeatureFlagController({
9
+ state,
10
+ messenger,
11
+ clientConfigApiService: options.clientConfigApiService,
12
+ getMetaMetricsId: options.getMetaMetricsId ?? (() => ''),
13
+ clientVersion: options.clientVersion ?? '0.0.0',
14
+ prevClientVersion: options.prevClientVersion,
15
+ fetchInterval: options.fetchInterval,
16
+ disabled: options.disabled,
17
+ }),
18
+ getMessenger: (parent) => new messenger_1.Messenger({
19
+ namespace: 'RemoteFeatureFlagController',
20
+ parent,
21
+ }),
22
+ };
23
+ //# sourceMappingURL=remote-feature-flag-controller.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-feature-flag-controller.cjs","sourceRoot":"","sources":["../../../../src/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAChD,6FAGkD;AAIrC,QAAA,2BAA2B,GAGpC;IACF,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CACtC,IAAI,4DAA2B,CAAC;QAC9B,KAAK;QACL,SAAS;QACT,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;QACtD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,CAAC,GAAW,EAAE,CAAC,EAAE,CAAC;QAChE,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO;QAC/C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;IACJ,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CACvB,IAAI,qBAAS,CAAC;QACZ,SAAS,EAAE,6BAA6B;QACxC,MAAM;KACP,CAAC;CACL,CAAC","sourcesContent":["import { Messenger } from '@metamask/messenger';\nimport {\n RemoteFeatureFlagController,\n RemoteFeatureFlagControllerMessenger,\n} from '@metamask/remote-feature-flag-controller';\n\nimport { InitializationConfiguration } from '../../types';\n\nexport const remoteFeatureFlagController: InitializationConfiguration<\n RemoteFeatureFlagController,\n RemoteFeatureFlagControllerMessenger\n> = {\n name: 'RemoteFeatureFlagController',\n init: ({ state, messenger, options }) =>\n new RemoteFeatureFlagController({\n state,\n messenger,\n clientConfigApiService: options.clientConfigApiService,\n getMetaMetricsId: options.getMetaMetricsId ?? ((): string => ''),\n clientVersion: options.clientVersion ?? '0.0.0',\n prevClientVersion: options.prevClientVersion,\n fetchInterval: options.fetchInterval,\n disabled: options.disabled,\n }),\n getMessenger: (parent) =>\n new Messenger({\n namespace: 'RemoteFeatureFlagController',\n parent,\n }),\n};\n"]}
@@ -0,0 +1,4 @@
1
+ import { RemoteFeatureFlagController, RemoteFeatureFlagControllerMessenger } from "@metamask/remote-feature-flag-controller";
2
+ import { InitializationConfiguration } from "../../types.cjs";
3
+ export declare const remoteFeatureFlagController: InitializationConfiguration<RemoteFeatureFlagController, RemoteFeatureFlagControllerMessenger>;
4
+ //# sourceMappingURL=remote-feature-flag-controller.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-feature-flag-controller.d.cts","sourceRoot":"","sources":["../../../../src/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAC3B,oCAAoC,EACrC,iDAAiD;AAElD,OAAO,EAAE,2BAA2B,EAAE,wBAAoB;AAE1D,eAAO,MAAM,2BAA2B,EAAE,2BAA2B,CACnE,2BAA2B,EAC3B,oCAAoC,CAmBrC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { RemoteFeatureFlagController, RemoteFeatureFlagControllerMessenger } from "@metamask/remote-feature-flag-controller";
2
+ import { InitializationConfiguration } from "../../types.mjs";
3
+ export declare const remoteFeatureFlagController: InitializationConfiguration<RemoteFeatureFlagController, RemoteFeatureFlagControllerMessenger>;
4
+ //# sourceMappingURL=remote-feature-flag-controller.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-feature-flag-controller.d.mts","sourceRoot":"","sources":["../../../../src/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAC3B,oCAAoC,EACrC,iDAAiD;AAElD,OAAO,EAAE,2BAA2B,EAAE,wBAAoB;AAE1D,eAAO,MAAM,2BAA2B,EAAE,2BAA2B,CACnE,2BAA2B,EAC3B,oCAAoC,CAmBrC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { Messenger } from "@metamask/messenger";
2
+ import { RemoteFeatureFlagController } from "@metamask/remote-feature-flag-controller";
3
+ export const remoteFeatureFlagController = {
4
+ name: 'RemoteFeatureFlagController',
5
+ init: ({ state, messenger, options }) => new RemoteFeatureFlagController({
6
+ state,
7
+ messenger,
8
+ clientConfigApiService: options.clientConfigApiService,
9
+ getMetaMetricsId: options.getMetaMetricsId ?? (() => ''),
10
+ clientVersion: options.clientVersion ?? '0.0.0',
11
+ prevClientVersion: options.prevClientVersion,
12
+ fetchInterval: options.fetchInterval,
13
+ disabled: options.disabled,
14
+ }),
15
+ getMessenger: (parent) => new Messenger({
16
+ namespace: 'RemoteFeatureFlagController',
17
+ parent,
18
+ }),
19
+ };
20
+ //# sourceMappingURL=remote-feature-flag-controller.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-feature-flag-controller.mjs","sourceRoot":"","sources":["../../../../src/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,4BAA4B;AAChD,OAAO,EACL,2BAA2B,EAE5B,iDAAiD;AAIlD,MAAM,CAAC,MAAM,2BAA2B,GAGpC;IACF,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CACtC,IAAI,2BAA2B,CAAC;QAC9B,KAAK;QACL,SAAS;QACT,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;QACtD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,CAAC,GAAW,EAAE,CAAC,EAAE,CAAC;QAChE,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO;QAC/C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;IACJ,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CACvB,IAAI,SAAS,CAAC;QACZ,SAAS,EAAE,6BAA6B;QACxC,MAAM;KACP,CAAC;CACL,CAAC","sourcesContent":["import { Messenger } from '@metamask/messenger';\nimport {\n RemoteFeatureFlagController,\n RemoteFeatureFlagControllerMessenger,\n} from '@metamask/remote-feature-flag-controller';\n\nimport { InitializationConfiguration } from '../../types';\n\nexport const remoteFeatureFlagController: InitializationConfiguration<\n RemoteFeatureFlagController,\n RemoteFeatureFlagControllerMessenger\n> = {\n name: 'RemoteFeatureFlagController',\n init: ({ state, messenger, options }) =>\n new RemoteFeatureFlagController({\n state,\n messenger,\n clientConfigApiService: options.clientConfigApiService,\n getMetaMetricsId: options.getMetaMetricsId ?? ((): string => ''),\n clientVersion: options.clientVersion ?? '0.0.0',\n prevClientVersion: options.prevClientVersion,\n fetchInterval: options.fetchInterval,\n disabled: options.disabled,\n }),\n getMessenger: (parent) =>\n new Messenger({\n namespace: 'RemoteFeatureFlagController',\n parent,\n }),\n};\n"]}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../../../src/initialization/instances/remote-feature-flag-controller/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { RemoteFeatureFlagController } from '@metamask/remote-feature-flag-controller';\n\ntype RemoteFeatureFlagControllerOptions = ConstructorParameters<\n typeof RemoteFeatureFlagController\n>[0];\n\n/**\n * Per-instance options for the wallet's `RemoteFeatureFlagController`.\n * `clientConfigApiService` is required; the rest are optional and fall back to\n * the defaults applied in the controller's `init`.\n */\nexport type RemoteFeatureFlagControllerInstanceOptions = {\n /**\n * The service that fetches remote feature flags. Required: each client\n * injects a `ClientConfigApiService` configured for its own client type,\n * distribution, and environment, so there is no platform-agnostic default.\n */\n clientConfigApiService: RemoteFeatureFlagControllerOptions['clientConfigApiService'];\n /**\n * Returns the current MetaMetrics id, used for user-segmentation thresholds.\n * Defaults to `() => ''`.\n */\n getMetaMetricsId?: RemoteFeatureFlagControllerOptions['getMetaMetricsId'];\n /**\n * The current client version for version-based flag filtering. Must be a\n * valid 3-part SemVer or the controller throws. Defaults to `'0.0.0'`.\n */\n clientVersion?: RemoteFeatureFlagControllerOptions['clientVersion'];\n /**\n * The previously-run client version. When it differs from `clientVersion`,\n * the controller invalidates its cached flags on the next update.\n */\n prevClientVersion?: RemoteFeatureFlagControllerOptions['prevClientVersion'];\n /**\n * Milliseconds before cached flags expire. Defaults to the controller's own\n * default (1 day).\n */\n fetchInterval?: RemoteFeatureFlagControllerOptions['fetchInterval'];\n /**\n * Whether the controller starts disabled. Defaults to `false`. The dynamic\n * enable/disable toggling stays client-side via the controller's exposed\n * `enable`/`disable` actions.\n */\n disabled?: RemoteFeatureFlagControllerOptions['disabled'];\n};\n"]}
@@ -0,0 +1,43 @@
1
+ import type { RemoteFeatureFlagController } from "@metamask/remote-feature-flag-controller";
2
+ type RemoteFeatureFlagControllerOptions = ConstructorParameters<typeof RemoteFeatureFlagController>[0];
3
+ /**
4
+ * Per-instance options for the wallet's `RemoteFeatureFlagController`.
5
+ * `clientConfigApiService` is required; the rest are optional and fall back to
6
+ * the defaults applied in the controller's `init`.
7
+ */
8
+ export type RemoteFeatureFlagControllerInstanceOptions = {
9
+ /**
10
+ * The service that fetches remote feature flags. Required: each client
11
+ * injects a `ClientConfigApiService` configured for its own client type,
12
+ * distribution, and environment, so there is no platform-agnostic default.
13
+ */
14
+ clientConfigApiService: RemoteFeatureFlagControllerOptions['clientConfigApiService'];
15
+ /**
16
+ * Returns the current MetaMetrics id, used for user-segmentation thresholds.
17
+ * Defaults to `() => ''`.
18
+ */
19
+ getMetaMetricsId?: RemoteFeatureFlagControllerOptions['getMetaMetricsId'];
20
+ /**
21
+ * The current client version for version-based flag filtering. Must be a
22
+ * valid 3-part SemVer or the controller throws. Defaults to `'0.0.0'`.
23
+ */
24
+ clientVersion?: RemoteFeatureFlagControllerOptions['clientVersion'];
25
+ /**
26
+ * The previously-run client version. When it differs from `clientVersion`,
27
+ * the controller invalidates its cached flags on the next update.
28
+ */
29
+ prevClientVersion?: RemoteFeatureFlagControllerOptions['prevClientVersion'];
30
+ /**
31
+ * Milliseconds before cached flags expire. Defaults to the controller's own
32
+ * default (1 day).
33
+ */
34
+ fetchInterval?: RemoteFeatureFlagControllerOptions['fetchInterval'];
35
+ /**
36
+ * Whether the controller starts disabled. Defaults to `false`. The dynamic
37
+ * enable/disable toggling stays client-side via the controller's exposed
38
+ * `enable`/`disable` actions.
39
+ */
40
+ disabled?: RemoteFeatureFlagControllerOptions['disabled'];
41
+ };
42
+ export {};
43
+ //# sourceMappingURL=types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../../../../src/initialization/instances/remote-feature-flag-controller/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,iDAAiD;AAE5F,KAAK,kCAAkC,GAAG,qBAAqB,CAC7D,OAAO,2BAA2B,CACnC,CAAC,CAAC,CAAC,CAAC;AAEL;;;;GAIG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD;;;;OAIG;IACH,sBAAsB,EAAE,kCAAkC,CAAC,wBAAwB,CAAC,CAAC;IACrF;;;OAGG;IACH,gBAAgB,CAAC,EAAE,kCAAkC,CAAC,kBAAkB,CAAC,CAAC;IAC1E;;;OAGG;IACH,aAAa,CAAC,EAAE,kCAAkC,CAAC,eAAe,CAAC,CAAC;IACpE;;;OAGG;IACH,iBAAiB,CAAC,EAAE,kCAAkC,CAAC,mBAAmB,CAAC,CAAC;IAC5E;;;OAGG;IACH,aAAa,CAAC,EAAE,kCAAkC,CAAC,eAAe,CAAC,CAAC;IACpE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,kCAAkC,CAAC,UAAU,CAAC,CAAC;CAC3D,CAAC"}
@@ -0,0 +1,43 @@
1
+ import type { RemoteFeatureFlagController } from "@metamask/remote-feature-flag-controller";
2
+ type RemoteFeatureFlagControllerOptions = ConstructorParameters<typeof RemoteFeatureFlagController>[0];
3
+ /**
4
+ * Per-instance options for the wallet's `RemoteFeatureFlagController`.
5
+ * `clientConfigApiService` is required; the rest are optional and fall back to
6
+ * the defaults applied in the controller's `init`.
7
+ */
8
+ export type RemoteFeatureFlagControllerInstanceOptions = {
9
+ /**
10
+ * The service that fetches remote feature flags. Required: each client
11
+ * injects a `ClientConfigApiService` configured for its own client type,
12
+ * distribution, and environment, so there is no platform-agnostic default.
13
+ */
14
+ clientConfigApiService: RemoteFeatureFlagControllerOptions['clientConfigApiService'];
15
+ /**
16
+ * Returns the current MetaMetrics id, used for user-segmentation thresholds.
17
+ * Defaults to `() => ''`.
18
+ */
19
+ getMetaMetricsId?: RemoteFeatureFlagControllerOptions['getMetaMetricsId'];
20
+ /**
21
+ * The current client version for version-based flag filtering. Must be a
22
+ * valid 3-part SemVer or the controller throws. Defaults to `'0.0.0'`.
23
+ */
24
+ clientVersion?: RemoteFeatureFlagControllerOptions['clientVersion'];
25
+ /**
26
+ * The previously-run client version. When it differs from `clientVersion`,
27
+ * the controller invalidates its cached flags on the next update.
28
+ */
29
+ prevClientVersion?: RemoteFeatureFlagControllerOptions['prevClientVersion'];
30
+ /**
31
+ * Milliseconds before cached flags expire. Defaults to the controller's own
32
+ * default (1 day).
33
+ */
34
+ fetchInterval?: RemoteFeatureFlagControllerOptions['fetchInterval'];
35
+ /**
36
+ * Whether the controller starts disabled. Defaults to `false`. The dynamic
37
+ * enable/disable toggling stays client-side via the controller's exposed
38
+ * `enable`/`disable` actions.
39
+ */
40
+ disabled?: RemoteFeatureFlagControllerOptions['disabled'];
41
+ };
42
+ export {};
43
+ //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../../../src/initialization/instances/remote-feature-flag-controller/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,iDAAiD;AAE5F,KAAK,kCAAkC,GAAG,qBAAqB,CAC7D,OAAO,2BAA2B,CACnC,CAAC,CAAC,CAAC,CAAC;AAEL;;;;GAIG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD;;;;OAIG;IACH,sBAAsB,EAAE,kCAAkC,CAAC,wBAAwB,CAAC,CAAC;IACrF;;;OAGG;IACH,gBAAgB,CAAC,EAAE,kCAAkC,CAAC,kBAAkB,CAAC,CAAC;IAC1E;;;OAGG;IACH,aAAa,CAAC,EAAE,kCAAkC,CAAC,eAAe,CAAC,CAAC;IACpE;;;OAGG;IACH,iBAAiB,CAAC,EAAE,kCAAkC,CAAC,mBAAmB,CAAC,CAAC;IAC5E;;;OAGG;IACH,aAAa,CAAC,EAAE,kCAAkC,CAAC,eAAe,CAAC,CAAC;IACpE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,kCAAkC,CAAC,UAAU,CAAC,CAAC;CAC3D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../../../src/initialization/instances/remote-feature-flag-controller/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { RemoteFeatureFlagController } from '@metamask/remote-feature-flag-controller';\n\ntype RemoteFeatureFlagControllerOptions = ConstructorParameters<\n typeof RemoteFeatureFlagController\n>[0];\n\n/**\n * Per-instance options for the wallet's `RemoteFeatureFlagController`.\n * `clientConfigApiService` is required; the rest are optional and fall back to\n * the defaults applied in the controller's `init`.\n */\nexport type RemoteFeatureFlagControllerInstanceOptions = {\n /**\n * The service that fetches remote feature flags. Required: each client\n * injects a `ClientConfigApiService` configured for its own client type,\n * distribution, and environment, so there is no platform-agnostic default.\n */\n clientConfigApiService: RemoteFeatureFlagControllerOptions['clientConfigApiService'];\n /**\n * Returns the current MetaMetrics id, used for user-segmentation thresholds.\n * Defaults to `() => ''`.\n */\n getMetaMetricsId?: RemoteFeatureFlagControllerOptions['getMetaMetricsId'];\n /**\n * The current client version for version-based flag filtering. Must be a\n * valid 3-part SemVer or the controller throws. Defaults to `'0.0.0'`.\n */\n clientVersion?: RemoteFeatureFlagControllerOptions['clientVersion'];\n /**\n * The previously-run client version. When it differs from `clientVersion`,\n * the controller invalidates its cached flags on the next update.\n */\n prevClientVersion?: RemoteFeatureFlagControllerOptions['prevClientVersion'];\n /**\n * Milliseconds before cached flags expire. Defaults to the controller's own\n * default (1 day).\n */\n fetchInterval?: RemoteFeatureFlagControllerOptions['fetchInterval'];\n /**\n * Whether the controller starts disabled. Defaults to `false`. The dynamic\n * enable/disable toggling stays client-side via the controller's exposed\n * `enable`/`disable` actions.\n */\n disabled?: RemoteFeatureFlagControllerOptions['disabled'];\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","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';\nimport type { ApprovalControllerInstanceOptions } from './initialization/instances/approval-controller/types';\nimport type { KeyringControllerInstanceOptions } from './initialization/instances/keyring-controller/types';\nimport type { StorageServiceInstanceOptions } from './initialization/instances/storage-service/types';\nimport { InitializationConfiguration } from './initialization/types';\n\nexport type WalletOptions = {\n messenger?: RootMessenger<DefaultActions, DefaultEvents>;\n state?: Record<string, Record<string, Json> | undefined>;\n initializationConfigurations?: InitializationConfiguration<\n unknown,\n unknown\n >[];\n instanceOptions: InstanceSpecificOptions;\n};\n\nexport type InstanceSpecificOptions = {\n approvalController?: ApprovalControllerInstanceOptions;\n keyringController?: KeyringControllerInstanceOptions;\n storageService: StorageServiceInstanceOptions;\n};\n"]}
1
+ {"version":3,"file":"types.cjs","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';\nimport type { ApprovalControllerInstanceOptions } from './initialization/instances/approval-controller/types';\nimport type { ConnectivityControllerInstanceOptions } from './initialization/instances/connectivity-controller/types';\nimport type { KeyringControllerInstanceOptions } from './initialization/instances/keyring-controller/types';\nimport type { RemoteFeatureFlagControllerInstanceOptions } from './initialization/instances/remote-feature-flag-controller/types';\nimport type { StorageServiceInstanceOptions } from './initialization/instances/storage-service/types';\nimport { InitializationConfiguration } from './initialization/types';\n\nexport type WalletOptions = {\n messenger?: RootMessenger<DefaultActions, DefaultEvents>;\n state?: Record<string, Record<string, Json> | undefined>;\n initializationConfigurations?: InitializationConfiguration<\n unknown,\n unknown\n >[];\n instanceOptions: InstanceSpecificOptions;\n};\n\nexport type InstanceSpecificOptions = {\n approvalController?: ApprovalControllerInstanceOptions;\n connectivityController: ConnectivityControllerInstanceOptions;\n keyringController?: KeyringControllerInstanceOptions;\n remoteFeatureFlagController: RemoteFeatureFlagControllerInstanceOptions;\n storageService: StorageServiceInstanceOptions;\n};\n"]}
package/dist/types.d.cts CHANGED
@@ -1,7 +1,9 @@
1
1
  import type { Json } from "@metamask/utils";
2
2
  import type { DefaultActions, DefaultEvents, RootMessenger } from "./initialization/defaults.cjs";
3
3
  import type { ApprovalControllerInstanceOptions } from "./initialization/instances/approval-controller/types.cjs";
4
+ import type { ConnectivityControllerInstanceOptions } from "./initialization/instances/connectivity-controller/types.cjs";
4
5
  import type { KeyringControllerInstanceOptions } from "./initialization/instances/keyring-controller/types.cjs";
6
+ import type { RemoteFeatureFlagControllerInstanceOptions } from "./initialization/instances/remote-feature-flag-controller/types.cjs";
5
7
  import type { StorageServiceInstanceOptions } from "./initialization/instances/storage-service/types.cjs";
6
8
  import { InitializationConfiguration } from "./initialization/types.cjs";
7
9
  export type WalletOptions = {
@@ -12,7 +14,9 @@ export type WalletOptions = {
12
14
  };
13
15
  export type InstanceSpecificOptions = {
14
16
  approvalController?: ApprovalControllerInstanceOptions;
17
+ connectivityController: ConnectivityControllerInstanceOptions;
15
18
  keyringController?: KeyringControllerInstanceOptions;
19
+ remoteFeatureFlagController: RemoteFeatureFlagControllerInstanceOptions;
16
20
  storageService: StorageServiceInstanceOptions;
17
21
  };
18
22
  //# sourceMappingURL=types.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAE5C,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACd,sCAAkC;AACnC,OAAO,KAAK,EAAE,iCAAiC,EAAE,iEAA6D;AAC9G,OAAO,KAAK,EAAE,gCAAgC,EAAE,gEAA4D;AAC5G,OAAO,KAAK,EAAE,6BAA6B,EAAE,6DAAyD;AACtG,OAAO,EAAE,2BAA2B,EAAE,mCAA+B;AAErE,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,CAAC,EAAE,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IACzD,4BAA4B,CAAC,EAAE,2BAA2B,CACxD,OAAO,EACP,OAAO,CACR,EAAE,CAAC;IACJ,eAAe,EAAE,uBAAuB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,kBAAkB,CAAC,EAAE,iCAAiC,CAAC;IACvD,iBAAiB,CAAC,EAAE,gCAAgC,CAAC;IACrD,cAAc,EAAE,6BAA6B,CAAC;CAC/C,CAAC"}
1
+ {"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAE5C,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACd,sCAAkC;AACnC,OAAO,KAAK,EAAE,iCAAiC,EAAE,iEAA6D;AAC9G,OAAO,KAAK,EAAE,qCAAqC,EAAE,qEAAiE;AACtH,OAAO,KAAK,EAAE,gCAAgC,EAAE,gEAA4D;AAC5G,OAAO,KAAK,EAAE,0CAA0C,EAAE,4EAAwE;AAClI,OAAO,KAAK,EAAE,6BAA6B,EAAE,6DAAyD;AACtG,OAAO,EAAE,2BAA2B,EAAE,mCAA+B;AAErE,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,CAAC,EAAE,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IACzD,4BAA4B,CAAC,EAAE,2BAA2B,CACxD,OAAO,EACP,OAAO,CACR,EAAE,CAAC;IACJ,eAAe,EAAE,uBAAuB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,kBAAkB,CAAC,EAAE,iCAAiC,CAAC;IACvD,sBAAsB,EAAE,qCAAqC,CAAC;IAC9D,iBAAiB,CAAC,EAAE,gCAAgC,CAAC;IACrD,2BAA2B,EAAE,0CAA0C,CAAC;IACxE,cAAc,EAAE,6BAA6B,CAAC;CAC/C,CAAC"}
package/dist/types.d.mts CHANGED
@@ -1,7 +1,9 @@
1
1
  import type { Json } from "@metamask/utils";
2
2
  import type { DefaultActions, DefaultEvents, RootMessenger } from "./initialization/defaults.mjs";
3
3
  import type { ApprovalControllerInstanceOptions } from "./initialization/instances/approval-controller/types.mjs";
4
+ import type { ConnectivityControllerInstanceOptions } from "./initialization/instances/connectivity-controller/types.mjs";
4
5
  import type { KeyringControllerInstanceOptions } from "./initialization/instances/keyring-controller/types.mjs";
6
+ import type { RemoteFeatureFlagControllerInstanceOptions } from "./initialization/instances/remote-feature-flag-controller/types.mjs";
5
7
  import type { StorageServiceInstanceOptions } from "./initialization/instances/storage-service/types.mjs";
6
8
  import { InitializationConfiguration } from "./initialization/types.mjs";
7
9
  export type WalletOptions = {
@@ -12,7 +14,9 @@ export type WalletOptions = {
12
14
  };
13
15
  export type InstanceSpecificOptions = {
14
16
  approvalController?: ApprovalControllerInstanceOptions;
17
+ connectivityController: ConnectivityControllerInstanceOptions;
15
18
  keyringController?: KeyringControllerInstanceOptions;
19
+ remoteFeatureFlagController: RemoteFeatureFlagControllerInstanceOptions;
16
20
  storageService: StorageServiceInstanceOptions;
17
21
  };
18
22
  //# sourceMappingURL=types.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAE5C,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACd,sCAAkC;AACnC,OAAO,KAAK,EAAE,iCAAiC,EAAE,iEAA6D;AAC9G,OAAO,KAAK,EAAE,gCAAgC,EAAE,gEAA4D;AAC5G,OAAO,KAAK,EAAE,6BAA6B,EAAE,6DAAyD;AACtG,OAAO,EAAE,2BAA2B,EAAE,mCAA+B;AAErE,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,CAAC,EAAE,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IACzD,4BAA4B,CAAC,EAAE,2BAA2B,CACxD,OAAO,EACP,OAAO,CACR,EAAE,CAAC;IACJ,eAAe,EAAE,uBAAuB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,kBAAkB,CAAC,EAAE,iCAAiC,CAAC;IACvD,iBAAiB,CAAC,EAAE,gCAAgC,CAAC;IACrD,cAAc,EAAE,6BAA6B,CAAC;CAC/C,CAAC"}
1
+ {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAE5C,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACd,sCAAkC;AACnC,OAAO,KAAK,EAAE,iCAAiC,EAAE,iEAA6D;AAC9G,OAAO,KAAK,EAAE,qCAAqC,EAAE,qEAAiE;AACtH,OAAO,KAAK,EAAE,gCAAgC,EAAE,gEAA4D;AAC5G,OAAO,KAAK,EAAE,0CAA0C,EAAE,4EAAwE;AAClI,OAAO,KAAK,EAAE,6BAA6B,EAAE,6DAAyD;AACtG,OAAO,EAAE,2BAA2B,EAAE,mCAA+B;AAErE,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,CAAC,EAAE,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IACzD,4BAA4B,CAAC,EAAE,2BAA2B,CACxD,OAAO,EACP,OAAO,CACR,EAAE,CAAC;IACJ,eAAe,EAAE,uBAAuB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,kBAAkB,CAAC,EAAE,iCAAiC,CAAC;IACvD,sBAAsB,EAAE,qCAAqC,CAAC;IAC9D,iBAAiB,CAAC,EAAE,gCAAgC,CAAC;IACrD,2BAA2B,EAAE,0CAA0C,CAAC;IACxE,cAAc,EAAE,6BAA6B,CAAC;CAC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","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';\nimport type { ApprovalControllerInstanceOptions } from './initialization/instances/approval-controller/types';\nimport type { KeyringControllerInstanceOptions } from './initialization/instances/keyring-controller/types';\nimport type { StorageServiceInstanceOptions } from './initialization/instances/storage-service/types';\nimport { InitializationConfiguration } from './initialization/types';\n\nexport type WalletOptions = {\n messenger?: RootMessenger<DefaultActions, DefaultEvents>;\n state?: Record<string, Record<string, Json> | undefined>;\n initializationConfigurations?: InitializationConfiguration<\n unknown,\n unknown\n >[];\n instanceOptions: InstanceSpecificOptions;\n};\n\nexport type InstanceSpecificOptions = {\n approvalController?: ApprovalControllerInstanceOptions;\n keyringController?: KeyringControllerInstanceOptions;\n storageService: StorageServiceInstanceOptions;\n};\n"]}
1
+ {"version":3,"file":"types.mjs","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';\nimport type { ApprovalControllerInstanceOptions } from './initialization/instances/approval-controller/types';\nimport type { ConnectivityControllerInstanceOptions } from './initialization/instances/connectivity-controller/types';\nimport type { KeyringControllerInstanceOptions } from './initialization/instances/keyring-controller/types';\nimport type { RemoteFeatureFlagControllerInstanceOptions } from './initialization/instances/remote-feature-flag-controller/types';\nimport type { StorageServiceInstanceOptions } from './initialization/instances/storage-service/types';\nimport { InitializationConfiguration } from './initialization/types';\n\nexport type WalletOptions = {\n messenger?: RootMessenger<DefaultActions, DefaultEvents>;\n state?: Record<string, Record<string, Json> | undefined>;\n initializationConfigurations?: InitializationConfiguration<\n unknown,\n unknown\n >[];\n instanceOptions: InstanceSpecificOptions;\n};\n\nexport type InstanceSpecificOptions = {\n approvalController?: ApprovalControllerInstanceOptions;\n connectivityController: ConnectivityControllerInstanceOptions;\n keyringController?: KeyringControllerInstanceOptions;\n remoteFeatureFlagController: RemoteFeatureFlagControllerInstanceOptions;\n storageService: StorageServiceInstanceOptions;\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/wallet",
3
- "version": "3.0.0-preview-7bc7196a6",
3
+ "version": "3.0.0-preview-ddb114f71",
4
4
  "description": "Provides a shared framework for building MetaMask wallets",
5
5
  "keywords": [
6
6
  "Ethereum",
@@ -53,12 +53,15 @@
53
53
  "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch"
54
54
  },
55
55
  "dependencies": {
56
+ "@metamask/accounts-controller": "^39.0.1",
56
57
  "@metamask/approval-controller": "^9.0.2",
57
58
  "@metamask/base-controller": "^9.1.0",
58
59
  "@metamask/browser-passworder": "^6.0.0",
60
+ "@metamask/connectivity-controller": "^0.2.0",
59
61
  "@metamask/controller-utils": "^12.1.1",
60
62
  "@metamask/keyring-controller": "^27.0.0",
61
63
  "@metamask/messenger": "^1.2.0",
64
+ "@metamask/remote-feature-flag-controller": "^4.2.2",
62
65
  "@metamask/scure-bip39": "^2.1.1",
63
66
  "@metamask/storage-service": "^1.0.2",
64
67
  "@metamask/utils": "^11.9.0"