@metamask-previews/wallet 2.0.0-preview-63e8c0e → 2.0.0-preview-3989ae5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/dist/initialization/instances/index.cjs +3 -3
- package/dist/initialization/instances/index.cjs.map +1 -1
- package/dist/initialization/instances/index.d.cts +1 -1
- package/dist/initialization/instances/index.d.cts.map +1 -1
- package/dist/initialization/instances/index.d.mts +1 -1
- package/dist/initialization/instances/index.d.mts.map +1 -1
- package/dist/initialization/instances/index.mjs +1 -1
- package/dist/initialization/instances/index.mjs.map +1 -1
- package/dist/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.cjs +61 -0
- package/dist/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.cjs.map +1 -0
- package/dist/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.d.cts +4 -0
- package/dist/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.d.cts.map +1 -0
- package/dist/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.d.mts +4 -0
- package/dist/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.d.mts.map +1 -0
- package/dist/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.mjs +58 -0
- package/dist/initialization/instances/remote-feature-flag-controller/remote-feature-flag-controller.mjs.map +1 -0
- package/dist/initialization/instances/remote-feature-flag-controller/types.cjs.map +1 -0
- package/dist/initialization/instances/remote-feature-flag-controller/types.d.cts +47 -0
- package/dist/initialization/instances/remote-feature-flag-controller/types.d.cts.map +1 -0
- package/dist/initialization/instances/remote-feature-flag-controller/types.d.mts +47 -0
- package/dist/initialization/instances/remote-feature-flag-controller/types.d.mts.map +1 -0
- package/dist/initialization/instances/remote-feature-flag-controller/types.mjs.map +1 -0
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +3 -3
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +3 -3
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/package.json +2 -2
- package/dist/initialization/instances/network-controller/network-controller.cjs +0 -26
- package/dist/initialization/instances/network-controller/network-controller.cjs.map +0 -1
- package/dist/initialization/instances/network-controller/network-controller.d.cts +0 -4
- package/dist/initialization/instances/network-controller/network-controller.d.cts.map +0 -1
- package/dist/initialization/instances/network-controller/network-controller.d.mts +0 -4
- package/dist/initialization/instances/network-controller/network-controller.d.mts.map +0 -1
- package/dist/initialization/instances/network-controller/network-controller.mjs +0 -23
- package/dist/initialization/instances/network-controller/network-controller.mjs.map +0 -1
- package/dist/initialization/instances/network-controller/types.cjs.map +0 -1
- package/dist/initialization/instances/network-controller/types.d.cts +0 -7
- package/dist/initialization/instances/network-controller/types.d.cts.map +0 -1
- package/dist/initialization/instances/network-controller/types.d.mts +0 -7
- package/dist/initialization/instances/network-controller/types.d.mts.map +0 -1
- package/dist/initialization/instances/network-controller/types.mjs.map +0 -1
- /package/dist/initialization/instances/{network-controller → remote-feature-flag-controller}/types.cjs +0 -0
- /package/dist/initialization/instances/{network-controller → remote-feature-flag-controller}/types.mjs +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -12,6 +12,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
12
12
|
- **BREAKING:** Wire `ApprovalController` into the default wallet initialization ([#8953](https://github.com/MetaMask/core/pull/8953))
|
|
13
13
|
- The default `Wallet` now constructs an `ApprovalController` and registers its `ApprovalController:*` messenger actions. Consumers that pass their own `messenger` and already wire an `ApprovalController` must remove their own before upgrading, or the duplicate registration will collide.
|
|
14
14
|
- Adds an `approvalController` slot to `instanceOptions` with `showApprovalRequest` (the callback that surfaces pending approval requests to the user; defaults to a no-op) and `typesExcludedFromRateLimiting` (the approval types exempt from per-origin rate limiting; defaults to a baseline of EVM approval types). Both let consumers (extension, mobile, wallet-cli) inject their platform-specific values.
|
|
15
|
+
- Wire `RemoteFeatureFlagController` into the default wallet initialization ([#8969](https://github.com/MetaMask/core/pull/8969))
|
|
16
|
+
- Adds a `remoteFeatureFlagController` slot to `instanceOptions` with `clientConfigApiService`, `getMetaMetricsId`, `clientVersion`, `prevClientVersion`, `fetchInterval`, and `disabled`. Each value differs per platform (extension, mobile, wallet-cli), so all are injectable with inert defaults; `prevClientVersion` lets consumers trigger feature-flag cache invalidation when the client version changes between sessions.
|
|
15
17
|
|
|
16
18
|
## [2.0.0]
|
|
17
19
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.storageService = exports.
|
|
3
|
+
exports.storageService = exports.remoteFeatureFlagController = exports.keyringController = exports.approvalController = void 0;
|
|
4
4
|
var approval_controller_1 = require("./approval-controller/approval-controller.cjs");
|
|
5
5
|
Object.defineProperty(exports, "approvalController", { enumerable: true, get: function () { return approval_controller_1.approvalController; } });
|
|
6
6
|
var keyring_controller_1 = require("./keyring-controller/keyring-controller.cjs");
|
|
7
7
|
Object.defineProperty(exports, "keyringController", { enumerable: true, get: function () { return keyring_controller_1.keyringController; } });
|
|
8
|
-
var
|
|
9
|
-
Object.defineProperty(exports, "
|
|
8
|
+
var remote_feature_flag_controller_1 = require("./remote-feature-flag-controller/remote-feature-flag-controller.cjs");
|
|
9
|
+
Object.defineProperty(exports, "remoteFeatureFlagController", { enumerable: true, get: function () { return remote_feature_flag_controller_1.remoteFeatureFlagController; } });
|
|
10
10
|
var storage_service_1 = require("./storage-service/storage-service.cjs");
|
|
11
11
|
Object.defineProperty(exports, "storageService", { enumerable: true, get: function () { return storage_service_1.storageService; } });
|
|
12
12
|
//# 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,
|
|
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,sHAA8G;AAArG,6IAAA,2BAA2B,OAAA;AACpC,yEAAmE;AAA1D,iHAAA,cAAc,OAAA","sourcesContent":["export { approvalController } from './approval-controller/approval-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,5 +1,5 @@
|
|
|
1
1
|
export { approvalController } from "./approval-controller/approval-controller.cjs";
|
|
2
2
|
export { keyringController } from "./keyring-controller/keyring-controller.cjs";
|
|
3
|
-
export {
|
|
3
|
+
export { remoteFeatureFlagController } from "./remote-feature-flag-controller/remote-feature-flag-controller.cjs";
|
|
4
4
|
export { storageService } from "./storage-service/storage-service.cjs";
|
|
5
5
|
//# 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,
|
|
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,2BAA2B,EAAE,4EAAwE;AAC9G,OAAO,EAAE,cAAc,EAAE,8CAA0C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { approvalController } from "./approval-controller/approval-controller.mjs";
|
|
2
2
|
export { keyringController } from "./keyring-controller/keyring-controller.mjs";
|
|
3
|
-
export {
|
|
3
|
+
export { remoteFeatureFlagController } from "./remote-feature-flag-controller/remote-feature-flag-controller.mjs";
|
|
4
4
|
export { storageService } from "./storage-service/storage-service.mjs";
|
|
5
5
|
//# 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,
|
|
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,2BAA2B,EAAE,4EAAwE;AAC9G,OAAO,EAAE,cAAc,EAAE,8CAA0C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { approvalController } from "./approval-controller/approval-controller.mjs";
|
|
2
2
|
export { keyringController } from "./keyring-controller/keyring-controller.mjs";
|
|
3
|
-
export {
|
|
3
|
+
export { remoteFeatureFlagController } from "./remote-feature-flag-controller/remote-feature-flag-controller.mjs";
|
|
4
4
|
export { storageService } from "./storage-service/storage-service.mjs";
|
|
5
5
|
//# 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,
|
|
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,2BAA2B,EAAE,4EAAwE;AAC9G,OAAO,EAAE,cAAc,EAAE,8CAA0C","sourcesContent":["export { approvalController } from './approval-controller/approval-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,61 @@
|
|
|
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
|
+
/**
|
|
7
|
+
* A platform-agnostic, network-free client-config API service used when a
|
|
8
|
+
* consumer does not inject its own. Its `fetchRemoteFeatureFlags` performs no
|
|
9
|
+
* request and resolves to an empty flag set, so the wallet can wire a
|
|
10
|
+
* functional `RemoteFeatureFlagController` headlessly (e.g. for wallet-cli).
|
|
11
|
+
* Clients inject a real `ClientConfigApiService` configured for their own
|
|
12
|
+
* client type, distribution, and environment via
|
|
13
|
+
* `instanceOptions.remoteFeatureFlagController.clientConfigApiService` — there
|
|
14
|
+
* is no single correct value to hardcode, since it differs per platform.
|
|
15
|
+
*
|
|
16
|
+
* Note: a consumer that intends to fetch flags but forgets to inject a service
|
|
17
|
+
* will silently get an empty flag set rather than an error. Extension and
|
|
18
|
+
* mobile always inject a real service (see the PR's per-environment table), so
|
|
19
|
+
* this only affects deliberately headless consumers.
|
|
20
|
+
*/
|
|
21
|
+
const defaultClientConfigApiService = {
|
|
22
|
+
fetchRemoteFeatureFlags: async () => ({
|
|
23
|
+
remoteFeatureFlags: {},
|
|
24
|
+
cacheTimestamp: Date.now(),
|
|
25
|
+
}),
|
|
26
|
+
};
|
|
27
|
+
exports.remoteFeatureFlagController = {
|
|
28
|
+
name: 'RemoteFeatureFlagController',
|
|
29
|
+
init: ({ state, messenger, options }) => new remote_feature_flag_controller_1.RemoteFeatureFlagController({
|
|
30
|
+
state,
|
|
31
|
+
messenger,
|
|
32
|
+
// These options differ per platform (see the PR's per-environment table),
|
|
33
|
+
// so they are injected rather than hardcoded; the service and metrics-id
|
|
34
|
+
// fall back to network-free/empty defaults so the controller is usable
|
|
35
|
+
// headlessly.
|
|
36
|
+
clientConfigApiService: options.clientConfigApiService ?? defaultClientConfigApiService,
|
|
37
|
+
getMetaMetricsId: options.getMetaMetricsId ?? (() => ''),
|
|
38
|
+
// `clientVersion` must be a valid 3-part SemVer or the controller throws.
|
|
39
|
+
// '0.0.0' is a valid default that avoids the throw; because it is the
|
|
40
|
+
// lowest possible version, any version-gated flag resolves to no match
|
|
41
|
+
// and is dropped (non-version flags are unaffected). Clients pass their
|
|
42
|
+
// real version so version gating works.
|
|
43
|
+
clientVersion: options.clientVersion ?? '0.0.0',
|
|
44
|
+
// Triggers feature-flag cache invalidation when the client version changes
|
|
45
|
+
// between sessions; consumers supply the previously-run version.
|
|
46
|
+
prevClientVersion: options.prevClientVersion,
|
|
47
|
+
// `undefined` lets the controller apply its own defaults (1-day interval,
|
|
48
|
+
// enabled). The dynamic enable/disable toggling that the clients drive
|
|
49
|
+
// from their Preferences/Onboarding (extension) or basic-functionality
|
|
50
|
+
// selector (mobile) stays client-side, via the controller's exposed
|
|
51
|
+
// `enable`/`disable` actions on the shared messenger — those sources are
|
|
52
|
+
// not wallet controllers, so they are not delegated here.
|
|
53
|
+
fetchInterval: options.fetchInterval,
|
|
54
|
+
disabled: options.disabled,
|
|
55
|
+
}),
|
|
56
|
+
getMessenger: (parent) => new messenger_1.Messenger({
|
|
57
|
+
namespace: 'RemoteFeatureFlagController',
|
|
58
|
+
parent,
|
|
59
|
+
}),
|
|
60
|
+
};
|
|
61
|
+
//# 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;AAKlD;;;;;;;;;;;;;;GAcG;AACH,MAAM,6BAA6B,GAE/B;IACF,uBAAuB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACpC,kBAAkB,EAAE,EAAE;QACtB,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE;KAC3B,CAAC;CACH,CAAC;AAEW,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,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,cAAc;QACd,sBAAsB,EACpB,OAAO,CAAC,sBAAsB,IAAI,6BAA6B;QACjE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,CAAC,GAAW,EAAE,CAAC,EAAE,CAAC;QAChE,0EAA0E;QAC1E,sEAAsE;QACtE,uEAAuE;QACvE,wEAAwE;QACxE,wCAAwC;QACxC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO;QAC/C,2EAA2E;QAC3E,iEAAiE;QACjE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,0EAA0E;QAC1E,uEAAuE;QACvE,uEAAuE;QACvE,oEAAoE;QACpE,yEAAyE;QACzE,0DAA0D;QAC1D,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';\nimport type { RemoteFeatureFlagControllerInstanceOptions } from './types';\n\n/**\n * A platform-agnostic, network-free client-config API service used when a\n * consumer does not inject its own. Its `fetchRemoteFeatureFlags` performs no\n * request and resolves to an empty flag set, so the wallet can wire a\n * functional `RemoteFeatureFlagController` headlessly (e.g. for wallet-cli).\n * Clients inject a real `ClientConfigApiService` configured for their own\n * client type, distribution, and environment via\n * `instanceOptions.remoteFeatureFlagController.clientConfigApiService` — there\n * is no single correct value to hardcode, since it differs per platform.\n *\n * Note: a consumer that intends to fetch flags but forgets to inject a service\n * will silently get an empty flag set rather than an error. Extension and\n * mobile always inject a real service (see the PR's per-environment table), so\n * this only affects deliberately headless consumers.\n */\nconst defaultClientConfigApiService: NonNullable<\n RemoteFeatureFlagControllerInstanceOptions['clientConfigApiService']\n> = {\n fetchRemoteFeatureFlags: async () => ({\n remoteFeatureFlags: {},\n cacheTimestamp: Date.now(),\n }),\n};\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 // These options differ per platform (see the PR's per-environment table),\n // so they are injected rather than hardcoded; the service and metrics-id\n // fall back to network-free/empty defaults so the controller is usable\n // headlessly.\n clientConfigApiService:\n options.clientConfigApiService ?? defaultClientConfigApiService,\n getMetaMetricsId: options.getMetaMetricsId ?? ((): string => ''),\n // `clientVersion` must be a valid 3-part SemVer or the controller throws.\n // '0.0.0' is a valid default that avoids the throw; because it is the\n // lowest possible version, any version-gated flag resolves to no match\n // and is dropped (non-version flags are unaffected). Clients pass their\n // real version so version gating works.\n clientVersion: options.clientVersion ?? '0.0.0',\n // Triggers feature-flag cache invalidation when the client version changes\n // between sessions; consumers supply the previously-run version.\n prevClientVersion: options.prevClientVersion,\n // `undefined` lets the controller apply its own defaults (1-day interval,\n // enabled). The dynamic enable/disable toggling that the clients drive\n // from their Preferences/Onboarding (extension) or basic-functionality\n // selector (mobile) stays client-side, via the controller's exposed\n // `enable`/`disable` actions on the shared messenger — those sources are\n // not wallet controllers, so they are not delegated here.\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;AA2B1D,eAAO,MAAM,2BAA2B,EAAE,2BAA2B,CACnE,2BAA2B,EAC3B,oCAAoC,CAqCrC,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;AA2B1D,eAAO,MAAM,2BAA2B,EAAE,2BAA2B,CACnE,2BAA2B,EAC3B,oCAAoC,CAqCrC,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Messenger } from "@metamask/messenger";
|
|
2
|
+
import { RemoteFeatureFlagController } from "@metamask/remote-feature-flag-controller";
|
|
3
|
+
/**
|
|
4
|
+
* A platform-agnostic, network-free client-config API service used when a
|
|
5
|
+
* consumer does not inject its own. Its `fetchRemoteFeatureFlags` performs no
|
|
6
|
+
* request and resolves to an empty flag set, so the wallet can wire a
|
|
7
|
+
* functional `RemoteFeatureFlagController` headlessly (e.g. for wallet-cli).
|
|
8
|
+
* Clients inject a real `ClientConfigApiService` configured for their own
|
|
9
|
+
* client type, distribution, and environment via
|
|
10
|
+
* `instanceOptions.remoteFeatureFlagController.clientConfigApiService` — there
|
|
11
|
+
* is no single correct value to hardcode, since it differs per platform.
|
|
12
|
+
*
|
|
13
|
+
* Note: a consumer that intends to fetch flags but forgets to inject a service
|
|
14
|
+
* will silently get an empty flag set rather than an error. Extension and
|
|
15
|
+
* mobile always inject a real service (see the PR's per-environment table), so
|
|
16
|
+
* this only affects deliberately headless consumers.
|
|
17
|
+
*/
|
|
18
|
+
const defaultClientConfigApiService = {
|
|
19
|
+
fetchRemoteFeatureFlags: async () => ({
|
|
20
|
+
remoteFeatureFlags: {},
|
|
21
|
+
cacheTimestamp: Date.now(),
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
export const remoteFeatureFlagController = {
|
|
25
|
+
name: 'RemoteFeatureFlagController',
|
|
26
|
+
init: ({ state, messenger, options }) => new RemoteFeatureFlagController({
|
|
27
|
+
state,
|
|
28
|
+
messenger,
|
|
29
|
+
// These options differ per platform (see the PR's per-environment table),
|
|
30
|
+
// so they are injected rather than hardcoded; the service and metrics-id
|
|
31
|
+
// fall back to network-free/empty defaults so the controller is usable
|
|
32
|
+
// headlessly.
|
|
33
|
+
clientConfigApiService: options.clientConfigApiService ?? defaultClientConfigApiService,
|
|
34
|
+
getMetaMetricsId: options.getMetaMetricsId ?? (() => ''),
|
|
35
|
+
// `clientVersion` must be a valid 3-part SemVer or the controller throws.
|
|
36
|
+
// '0.0.0' is a valid default that avoids the throw; because it is the
|
|
37
|
+
// lowest possible version, any version-gated flag resolves to no match
|
|
38
|
+
// and is dropped (non-version flags are unaffected). Clients pass their
|
|
39
|
+
// real version so version gating works.
|
|
40
|
+
clientVersion: options.clientVersion ?? '0.0.0',
|
|
41
|
+
// Triggers feature-flag cache invalidation when the client version changes
|
|
42
|
+
// between sessions; consumers supply the previously-run version.
|
|
43
|
+
prevClientVersion: options.prevClientVersion,
|
|
44
|
+
// `undefined` lets the controller apply its own defaults (1-day interval,
|
|
45
|
+
// enabled). The dynamic enable/disable toggling that the clients drive
|
|
46
|
+
// from their Preferences/Onboarding (extension) or basic-functionality
|
|
47
|
+
// selector (mobile) stays client-side, via the controller's exposed
|
|
48
|
+
// `enable`/`disable` actions on the shared messenger — those sources are
|
|
49
|
+
// not wallet controllers, so they are not delegated here.
|
|
50
|
+
fetchInterval: options.fetchInterval,
|
|
51
|
+
disabled: options.disabled,
|
|
52
|
+
}),
|
|
53
|
+
getMessenger: (parent) => new Messenger({
|
|
54
|
+
namespace: 'RemoteFeatureFlagController',
|
|
55
|
+
parent,
|
|
56
|
+
}),
|
|
57
|
+
};
|
|
58
|
+
//# 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;AAKlD;;;;;;;;;;;;;;GAcG;AACH,MAAM,6BAA6B,GAE/B;IACF,uBAAuB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACpC,kBAAkB,EAAE,EAAE;QACtB,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE;KAC3B,CAAC;CACH,CAAC;AAEF,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,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,cAAc;QACd,sBAAsB,EACpB,OAAO,CAAC,sBAAsB,IAAI,6BAA6B;QACjE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,CAAC,GAAW,EAAE,CAAC,EAAE,CAAC;QAChE,0EAA0E;QAC1E,sEAAsE;QACtE,uEAAuE;QACvE,wEAAwE;QACxE,wCAAwC;QACxC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO;QAC/C,2EAA2E;QAC3E,iEAAiE;QACjE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,0EAA0E;QAC1E,uEAAuE;QACvE,uEAAuE;QACvE,oEAAoE;QACpE,yEAAyE;QACzE,0DAA0D;QAC1D,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';\nimport type { RemoteFeatureFlagControllerInstanceOptions } from './types';\n\n/**\n * A platform-agnostic, network-free client-config API service used when a\n * consumer does not inject its own. Its `fetchRemoteFeatureFlags` performs no\n * request and resolves to an empty flag set, so the wallet can wire a\n * functional `RemoteFeatureFlagController` headlessly (e.g. for wallet-cli).\n * Clients inject a real `ClientConfigApiService` configured for their own\n * client type, distribution, and environment via\n * `instanceOptions.remoteFeatureFlagController.clientConfigApiService` — there\n * is no single correct value to hardcode, since it differs per platform.\n *\n * Note: a consumer that intends to fetch flags but forgets to inject a service\n * will silently get an empty flag set rather than an error. Extension and\n * mobile always inject a real service (see the PR's per-environment table), so\n * this only affects deliberately headless consumers.\n */\nconst defaultClientConfigApiService: NonNullable<\n RemoteFeatureFlagControllerInstanceOptions['clientConfigApiService']\n> = {\n fetchRemoteFeatureFlags: async () => ({\n remoteFeatureFlags: {},\n cacheTimestamp: Date.now(),\n }),\n};\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 // These options differ per platform (see the PR's per-environment table),\n // so they are injected rather than hardcoded; the service and metrics-id\n // fall back to network-free/empty defaults so the controller is usable\n // headlessly.\n clientConfigApiService:\n options.clientConfigApiService ?? defaultClientConfigApiService,\n getMetaMetricsId: options.getMetaMetricsId ?? ((): string => ''),\n // `clientVersion` must be a valid 3-part SemVer or the controller throws.\n // '0.0.0' is a valid default that avoids the throw; because it is the\n // lowest possible version, any version-gated flag resolves to no match\n // and is dropped (non-version flags are unaffected). Clients pass their\n // real version so version gating works.\n clientVersion: options.clientVersion ?? '0.0.0',\n // Triggers feature-flag cache invalidation when the client version changes\n // between sessions; consumers supply the previously-run version.\n prevClientVersion: options.prevClientVersion,\n // `undefined` lets the controller apply its own defaults (1-day interval,\n // enabled). The dynamic enable/disable toggling that the clients drive\n // from their Preferences/Onboarding (extension) or basic-functionality\n // selector (mobile) stays client-side, via the controller's exposed\n // `enable`/`disable` actions on the shared messenger — those sources are\n // not wallet controllers, so they are not delegated here.\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 @@
|
|
|
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`. All\n * fields are optional; see the controller's `init` for the defaults applied\n * when omitted. The wallet injects neutral defaults for `clientConfigApiService`\n * (a network-free service that returns no flags), `getMetaMetricsId` (`''`), and\n * `clientVersion` (`'0.0.0'`) so a headless consumer can pass `{}`. The\n * remaining options merely tune behavior and fall through to the controller's\n * own defaults when omitted.\n */\nexport type RemoteFeatureFlagControllerInstanceOptions = {\n /**\n * The service that fetches remote feature flags. Clients inject a real\n * `ClientConfigApiService` configured for their client type, distribution,\n * and environment; defaults to a network-free service that returns no flags.\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,47 @@
|
|
|
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`. All
|
|
5
|
+
* fields are optional; see the controller's `init` for the defaults applied
|
|
6
|
+
* when omitted. The wallet injects neutral defaults for `clientConfigApiService`
|
|
7
|
+
* (a network-free service that returns no flags), `getMetaMetricsId` (`''`), and
|
|
8
|
+
* `clientVersion` (`'0.0.0'`) so a headless consumer can pass `{}`. The
|
|
9
|
+
* remaining options merely tune behavior and fall through to the controller's
|
|
10
|
+
* own defaults when omitted.
|
|
11
|
+
*/
|
|
12
|
+
export type RemoteFeatureFlagControllerInstanceOptions = {
|
|
13
|
+
/**
|
|
14
|
+
* The service that fetches remote feature flags. Clients inject a real
|
|
15
|
+
* `ClientConfigApiService` configured for their client type, distribution,
|
|
16
|
+
* and environment; defaults to a network-free service that returns no flags.
|
|
17
|
+
*/
|
|
18
|
+
clientConfigApiService?: RemoteFeatureFlagControllerOptions['clientConfigApiService'];
|
|
19
|
+
/**
|
|
20
|
+
* Returns the current MetaMetrics id, used for user-segmentation thresholds.
|
|
21
|
+
* Defaults to `() => ''`.
|
|
22
|
+
*/
|
|
23
|
+
getMetaMetricsId?: RemoteFeatureFlagControllerOptions['getMetaMetricsId'];
|
|
24
|
+
/**
|
|
25
|
+
* The current client version for version-based flag filtering. Must be a
|
|
26
|
+
* valid 3-part SemVer or the controller throws. Defaults to `'0.0.0'`.
|
|
27
|
+
*/
|
|
28
|
+
clientVersion?: RemoteFeatureFlagControllerOptions['clientVersion'];
|
|
29
|
+
/**
|
|
30
|
+
* The previously-run client version. When it differs from `clientVersion`,
|
|
31
|
+
* the controller invalidates its cached flags on the next update.
|
|
32
|
+
*/
|
|
33
|
+
prevClientVersion?: RemoteFeatureFlagControllerOptions['prevClientVersion'];
|
|
34
|
+
/**
|
|
35
|
+
* Milliseconds before cached flags expire. Defaults to the controller's own
|
|
36
|
+
* default (1 day).
|
|
37
|
+
*/
|
|
38
|
+
fetchInterval?: RemoteFeatureFlagControllerOptions['fetchInterval'];
|
|
39
|
+
/**
|
|
40
|
+
* Whether the controller starts disabled. Defaults to `false`. The dynamic
|
|
41
|
+
* enable/disable toggling stays client-side via the controller's exposed
|
|
42
|
+
* `enable`/`disable` actions.
|
|
43
|
+
*/
|
|
44
|
+
disabled?: RemoteFeatureFlagControllerOptions['disabled'];
|
|
45
|
+
};
|
|
46
|
+
export {};
|
|
47
|
+
//# 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;;;;;;;;GAQG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,kCAAkC,CAAC,wBAAwB,CAAC,CAAC;IACtF;;;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,47 @@
|
|
|
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`. All
|
|
5
|
+
* fields are optional; see the controller's `init` for the defaults applied
|
|
6
|
+
* when omitted. The wallet injects neutral defaults for `clientConfigApiService`
|
|
7
|
+
* (a network-free service that returns no flags), `getMetaMetricsId` (`''`), and
|
|
8
|
+
* `clientVersion` (`'0.0.0'`) so a headless consumer can pass `{}`. The
|
|
9
|
+
* remaining options merely tune behavior and fall through to the controller's
|
|
10
|
+
* own defaults when omitted.
|
|
11
|
+
*/
|
|
12
|
+
export type RemoteFeatureFlagControllerInstanceOptions = {
|
|
13
|
+
/**
|
|
14
|
+
* The service that fetches remote feature flags. Clients inject a real
|
|
15
|
+
* `ClientConfigApiService` configured for their client type, distribution,
|
|
16
|
+
* and environment; defaults to a network-free service that returns no flags.
|
|
17
|
+
*/
|
|
18
|
+
clientConfigApiService?: RemoteFeatureFlagControllerOptions['clientConfigApiService'];
|
|
19
|
+
/**
|
|
20
|
+
* Returns the current MetaMetrics id, used for user-segmentation thresholds.
|
|
21
|
+
* Defaults to `() => ''`.
|
|
22
|
+
*/
|
|
23
|
+
getMetaMetricsId?: RemoteFeatureFlagControllerOptions['getMetaMetricsId'];
|
|
24
|
+
/**
|
|
25
|
+
* The current client version for version-based flag filtering. Must be a
|
|
26
|
+
* valid 3-part SemVer or the controller throws. Defaults to `'0.0.0'`.
|
|
27
|
+
*/
|
|
28
|
+
clientVersion?: RemoteFeatureFlagControllerOptions['clientVersion'];
|
|
29
|
+
/**
|
|
30
|
+
* The previously-run client version. When it differs from `clientVersion`,
|
|
31
|
+
* the controller invalidates its cached flags on the next update.
|
|
32
|
+
*/
|
|
33
|
+
prevClientVersion?: RemoteFeatureFlagControllerOptions['prevClientVersion'];
|
|
34
|
+
/**
|
|
35
|
+
* Milliseconds before cached flags expire. Defaults to the controller's own
|
|
36
|
+
* default (1 day).
|
|
37
|
+
*/
|
|
38
|
+
fetchInterval?: RemoteFeatureFlagControllerOptions['fetchInterval'];
|
|
39
|
+
/**
|
|
40
|
+
* Whether the controller starts disabled. Defaults to `false`. The dynamic
|
|
41
|
+
* enable/disable toggling stays client-side via the controller's exposed
|
|
42
|
+
* `enable`/`disable` actions.
|
|
43
|
+
*/
|
|
44
|
+
disabled?: RemoteFeatureFlagControllerOptions['disabled'];
|
|
45
|
+
};
|
|
46
|
+
export {};
|
|
47
|
+
//# 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;;;;;;;;GAQG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,kCAAkC,CAAC,wBAAwB,CAAC,CAAC;IACtF;;;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 @@
|
|
|
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`. All\n * fields are optional; see the controller's `init` for the defaults applied\n * when omitted. The wallet injects neutral defaults for `clientConfigApiService`\n * (a network-free service that returns no flags), `getMetaMetricsId` (`''`), and\n * `clientVersion` (`'0.0.0'`) so a headless consumer can pass `{}`. The\n * remaining options merely tune behavior and fall through to the controller's\n * own defaults when omitted.\n */\nexport type RemoteFeatureFlagControllerInstanceOptions = {\n /**\n * The service that fetches remote feature flags. Clients inject a real\n * `ClientConfigApiService` configured for their client type, distribution,\n * and environment; defaults to a network-free service that returns no flags.\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"]}
|
package/dist/types.cjs.map
CHANGED
|
@@ -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 {
|
|
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 { 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 keyringController?: KeyringControllerInstanceOptions;\n remoteFeatureFlagController?: RemoteFeatureFlagControllerInstanceOptions;\n storageService: StorageServiceInstanceOptions;\n};\n"]}
|
package/dist/types.d.cts
CHANGED
|
@@ -2,9 +2,9 @@ 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
4
|
import type { KeyringControllerInstanceOptions } from "./initialization/instances/keyring-controller/types.cjs";
|
|
5
|
-
import type {
|
|
5
|
+
import type { RemoteFeatureFlagControllerInstanceOptions } from "./initialization/instances/remote-feature-flag-controller/types.cjs";
|
|
6
6
|
import type { StorageServiceInstanceOptions } from "./initialization/instances/storage-service/types.cjs";
|
|
7
|
-
import
|
|
7
|
+
import { InitializationConfiguration } from "./initialization/types.cjs";
|
|
8
8
|
export type WalletOptions = {
|
|
9
9
|
messenger?: RootMessenger<DefaultActions, DefaultEvents>;
|
|
10
10
|
state?: Record<string, Record<string, Json> | undefined>;
|
|
@@ -14,7 +14,7 @@ export type WalletOptions = {
|
|
|
14
14
|
export type InstanceSpecificOptions = {
|
|
15
15
|
approvalController?: ApprovalControllerInstanceOptions;
|
|
16
16
|
keyringController?: KeyringControllerInstanceOptions;
|
|
17
|
-
|
|
17
|
+
remoteFeatureFlagController?: RemoteFeatureFlagControllerInstanceOptions;
|
|
18
18
|
storageService: StorageServiceInstanceOptions;
|
|
19
19
|
};
|
|
20
20
|
//# sourceMappingURL=types.d.cts.map
|
package/dist/types.d.cts.map
CHANGED
|
@@ -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,
|
|
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,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,iBAAiB,CAAC,EAAE,gCAAgC,CAAC;IACrD,2BAA2B,CAAC,EAAE,0CAA0C,CAAC;IACzE,cAAc,EAAE,6BAA6B,CAAC;CAC/C,CAAC"}
|
package/dist/types.d.mts
CHANGED
|
@@ -2,9 +2,9 @@ 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
4
|
import type { KeyringControllerInstanceOptions } from "./initialization/instances/keyring-controller/types.mjs";
|
|
5
|
-
import type {
|
|
5
|
+
import type { RemoteFeatureFlagControllerInstanceOptions } from "./initialization/instances/remote-feature-flag-controller/types.mjs";
|
|
6
6
|
import type { StorageServiceInstanceOptions } from "./initialization/instances/storage-service/types.mjs";
|
|
7
|
-
import
|
|
7
|
+
import { InitializationConfiguration } from "./initialization/types.mjs";
|
|
8
8
|
export type WalletOptions = {
|
|
9
9
|
messenger?: RootMessenger<DefaultActions, DefaultEvents>;
|
|
10
10
|
state?: Record<string, Record<string, Json> | undefined>;
|
|
@@ -14,7 +14,7 @@ export type WalletOptions = {
|
|
|
14
14
|
export type InstanceSpecificOptions = {
|
|
15
15
|
approvalController?: ApprovalControllerInstanceOptions;
|
|
16
16
|
keyringController?: KeyringControllerInstanceOptions;
|
|
17
|
-
|
|
17
|
+
remoteFeatureFlagController?: RemoteFeatureFlagControllerInstanceOptions;
|
|
18
18
|
storageService: StorageServiceInstanceOptions;
|
|
19
19
|
};
|
|
20
20
|
//# sourceMappingURL=types.d.mts.map
|
package/dist/types.d.mts.map
CHANGED
|
@@ -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,
|
|
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,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,iBAAiB,CAAC,EAAE,gCAAgC,CAAC;IACrD,2BAA2B,CAAC,EAAE,0CAA0C,CAAC;IACzE,cAAc,EAAE,6BAA6B,CAAC;CAC/C,CAAC"}
|
package/dist/types.mjs.map
CHANGED
|
@@ -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 {
|
|
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 { 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 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": "2.0.0-preview-
|
|
3
|
+
"version": "2.0.0-preview-3989ae5",
|
|
4
4
|
"description": "Provides a shared framework for building MetaMask wallets",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ethereum",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"@metamask/controller-utils": "^12.1.0",
|
|
60
60
|
"@metamask/keyring-controller": "^26.0.0",
|
|
61
61
|
"@metamask/messenger": "^1.2.0",
|
|
62
|
-
"@metamask/
|
|
62
|
+
"@metamask/remote-feature-flag-controller": "^4.2.2",
|
|
63
63
|
"@metamask/scure-bip39": "^2.1.1",
|
|
64
64
|
"@metamask/storage-service": "^1.0.1",
|
|
65
65
|
"@metamask/utils": "^11.9.0"
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.networkController = void 0;
|
|
4
|
-
const messenger_1 = require("@metamask/messenger");
|
|
5
|
-
const network_controller_1 = require("@metamask/network-controller");
|
|
6
|
-
exports.networkController = {
|
|
7
|
-
name: 'NetworkController',
|
|
8
|
-
init: ({ state, messenger, options }) => new network_controller_1.NetworkController({
|
|
9
|
-
state,
|
|
10
|
-
messenger,
|
|
11
|
-
infuraProjectId: options.infuraProjectId,
|
|
12
|
-
}),
|
|
13
|
-
getMessenger: (parent) => {
|
|
14
|
-
const networkControllerMessenger = new messenger_1.Messenger({
|
|
15
|
-
namespace: 'NetworkController',
|
|
16
|
-
parent,
|
|
17
|
-
});
|
|
18
|
-
parent.delegate({
|
|
19
|
-
messenger: networkControllerMessenger,
|
|
20
|
-
actions: ['ConnectivityController:getState'],
|
|
21
|
-
events: [],
|
|
22
|
-
});
|
|
23
|
-
return networkControllerMessenger;
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=network-controller.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"network-controller.cjs","sourceRoot":"","sources":["../../../../src/initialization/instances/network-controller/network-controller.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAChD,qEAGsC;AAIzB,QAAA,iBAAiB,GAG1B;IACF,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CACtC,IAAI,sCAAiB,CAAC;QACpB,KAAK;QACL,SAAS;QACT,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC;IACJ,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;QACvB,MAAM,0BAA0B,GAC9B,IAAI,qBAAS,CAAC;YACZ,SAAS,EAAE,mBAAmB;YAC9B,MAAM;SACP,CAAC,CAAC;QAEL,MAAM,CAAC,QAAQ,CAAC;YACd,SAAS,EAAE,0BAA0B;YACrC,OAAO,EAAE,CAAC,iCAAiC,CAAC;YAC5C,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;QAEH,OAAO,0BAA0B,CAAC;IACpC,CAAC;CACF,CAAC","sourcesContent":["import { Messenger } from '@metamask/messenger';\nimport {\n NetworkController,\n NetworkControllerMessenger,\n} from '@metamask/network-controller';\n\nimport { InitializationConfiguration } from '../../types';\n\nexport const networkController: InitializationConfiguration<\n NetworkController,\n NetworkControllerMessenger\n> = {\n name: 'NetworkController',\n init: ({ state, messenger, options }) =>\n new NetworkController({\n state,\n messenger,\n infuraProjectId: options.infuraProjectId,\n }),\n getMessenger: (parent) => {\n const networkControllerMessenger: NetworkControllerMessenger =\n new Messenger({\n namespace: 'NetworkController',\n parent,\n });\n\n parent.delegate({\n messenger: networkControllerMessenger,\n actions: ['ConnectivityController:getState'],\n events: [],\n });\n\n return networkControllerMessenger;\n },\n};\n"]}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { NetworkController, NetworkControllerMessenger } from "@metamask/network-controller";
|
|
2
|
-
import { InitializationConfiguration } from "../../types.cjs";
|
|
3
|
-
export declare const networkController: InitializationConfiguration<NetworkController, NetworkControllerMessenger>;
|
|
4
|
-
//# sourceMappingURL=network-controller.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"network-controller.d.cts","sourceRoot":"","sources":["../../../../src/initialization/instances/network-controller/network-controller.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC3B,qCAAqC;AAEtC,OAAO,EAAE,2BAA2B,EAAE,wBAAoB;AAE1D,eAAO,MAAM,iBAAiB,EAAE,2BAA2B,CACzD,iBAAiB,EACjB,0BAA0B,CAwB3B,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { NetworkController, NetworkControllerMessenger } from "@metamask/network-controller";
|
|
2
|
-
import { InitializationConfiguration } from "../../types.mjs";
|
|
3
|
-
export declare const networkController: InitializationConfiguration<NetworkController, NetworkControllerMessenger>;
|
|
4
|
-
//# sourceMappingURL=network-controller.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"network-controller.d.mts","sourceRoot":"","sources":["../../../../src/initialization/instances/network-controller/network-controller.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC3B,qCAAqC;AAEtC,OAAO,EAAE,2BAA2B,EAAE,wBAAoB;AAE1D,eAAO,MAAM,iBAAiB,EAAE,2BAA2B,CACzD,iBAAiB,EACjB,0BAA0B,CAwB3B,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Messenger } from "@metamask/messenger";
|
|
2
|
-
import { NetworkController } from "@metamask/network-controller";
|
|
3
|
-
export const networkController = {
|
|
4
|
-
name: 'NetworkController',
|
|
5
|
-
init: ({ state, messenger, options }) => new NetworkController({
|
|
6
|
-
state,
|
|
7
|
-
messenger,
|
|
8
|
-
infuraProjectId: options.infuraProjectId,
|
|
9
|
-
}),
|
|
10
|
-
getMessenger: (parent) => {
|
|
11
|
-
const networkControllerMessenger = new Messenger({
|
|
12
|
-
namespace: 'NetworkController',
|
|
13
|
-
parent,
|
|
14
|
-
});
|
|
15
|
-
parent.delegate({
|
|
16
|
-
messenger: networkControllerMessenger,
|
|
17
|
-
actions: ['ConnectivityController:getState'],
|
|
18
|
-
events: [],
|
|
19
|
-
});
|
|
20
|
-
return networkControllerMessenger;
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=network-controller.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"network-controller.mjs","sourceRoot":"","sources":["../../../../src/initialization/instances/network-controller/network-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,4BAA4B;AAChD,OAAO,EACL,iBAAiB,EAElB,qCAAqC;AAItC,MAAM,CAAC,MAAM,iBAAiB,GAG1B;IACF,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CACtC,IAAI,iBAAiB,CAAC;QACpB,KAAK;QACL,SAAS;QACT,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC;IACJ,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;QACvB,MAAM,0BAA0B,GAC9B,IAAI,SAAS,CAAC;YACZ,SAAS,EAAE,mBAAmB;YAC9B,MAAM;SACP,CAAC,CAAC;QAEL,MAAM,CAAC,QAAQ,CAAC;YACd,SAAS,EAAE,0BAA0B;YACrC,OAAO,EAAE,CAAC,iCAAiC,CAAC;YAC5C,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;QAEH,OAAO,0BAA0B,CAAC;IACpC,CAAC;CACF,CAAC","sourcesContent":["import { Messenger } from '@metamask/messenger';\nimport {\n NetworkController,\n NetworkControllerMessenger,\n} from '@metamask/network-controller';\n\nimport { InitializationConfiguration } from '../../types';\n\nexport const networkController: InitializationConfiguration<\n NetworkController,\n NetworkControllerMessenger\n> = {\n name: 'NetworkController',\n init: ({ state, messenger, options }) =>\n new NetworkController({\n state,\n messenger,\n infuraProjectId: options.infuraProjectId,\n }),\n getMessenger: (parent) => {\n const networkControllerMessenger: NetworkControllerMessenger =\n new Messenger({\n namespace: 'NetworkController',\n parent,\n });\n\n parent.delegate({\n messenger: networkControllerMessenger,\n actions: ['ConnectivityController:getState'],\n events: [],\n });\n\n return networkControllerMessenger;\n },\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../../../src/initialization/instances/network-controller/types.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Per-instance options for the wallet's `NetworkController`.\n */\nexport type NetworkControllerInstanceOptions = {\n infuraProjectId: string;\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../../../../src/initialization/instances/network-controller/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC7C,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../../../src/initialization/instances/network-controller/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC7C,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../../../src/initialization/instances/network-controller/types.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Per-instance options for the wallet's `NetworkController`.\n */\nexport type NetworkControllerInstanceOptions = {\n infuraProjectId: string;\n};\n"]}
|
|
File without changes
|
|
File without changes
|