@metamask-previews/wallet 4.0.0-preview-9de9aa4 → 4.0.0-preview-ed0047684
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 +6 -0
- package/dist/Wallet.cjs +13 -0
- package/dist/Wallet.cjs.map +1 -1
- package/dist/Wallet.d.cts +6 -0
- package/dist/Wallet.d.cts.map +1 -1
- package/dist/Wallet.d.mts +6 -0
- package/dist/Wallet.d.mts.map +1 -1
- package/dist/Wallet.mjs +13 -0
- package/dist/Wallet.mjs.map +1 -1
- package/dist/initialization/instances/index.cjs +3 -1
- package/dist/initialization/instances/index.cjs.map +1 -1
- package/dist/initialization/instances/index.d.cts +1 -0
- package/dist/initialization/instances/index.d.cts.map +1 -1
- package/dist/initialization/instances/index.d.mts +1 -0
- package/dist/initialization/instances/index.d.mts.map +1 -1
- package/dist/initialization/instances/index.mjs +1 -0
- package/dist/initialization/instances/index.mjs.map +1 -1
- package/dist/initialization/instances/network-controller/network-controller.cjs +33 -0
- package/dist/initialization/instances/network-controller/network-controller.cjs.map +1 -0
- package/dist/initialization/instances/network-controller/network-controller.d.cts +4 -0
- package/dist/initialization/instances/network-controller/network-controller.d.cts.map +1 -0
- package/dist/initialization/instances/network-controller/network-controller.d.mts +4 -0
- package/dist/initialization/instances/network-controller/network-controller.d.mts.map +1 -0
- package/dist/initialization/instances/network-controller/network-controller.mjs +30 -0
- package/dist/initialization/instances/network-controller/network-controller.mjs.map +1 -0
- package/dist/initialization/instances/network-controller/types.cjs +3 -0
- package/dist/initialization/instances/network-controller/types.cjs.map +1 -0
- package/dist/initialization/instances/network-controller/types.d.cts +15 -0
- package/dist/initialization/instances/network-controller/types.d.cts.map +1 -0
- package/dist/initialization/instances/network-controller/types.d.mts +15 -0
- package/dist/initialization/instances/network-controller/types.d.mts.map +1 -0
- package/dist/initialization/instances/network-controller/types.mjs +2 -0
- package/dist/initialization/instances/network-controller/types.mjs.map +1 -0
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +3 -1
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +3 -1
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,12 @@ 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 `NetworkController` initialization ([#9001](https://github.com/MetaMask/core/pull/9001))
|
|
13
|
+
- Passing `instanceOptions.networkController.infuraProjectId` is now required.
|
|
14
|
+
- Add the `Wallet.init` function which calls `init` on required instances ([#9001](https://github.com/MetaMask/core/pull/9001))
|
|
15
|
+
|
|
10
16
|
## [4.0.0]
|
|
11
17
|
|
|
12
18
|
### Added
|
package/dist/Wallet.cjs
CHANGED
|
@@ -93,6 +93,19 @@ class Wallet {
|
|
|
93
93
|
getInstance(name) {
|
|
94
94
|
return __classPrivateFieldGet(this, _Wallet_instances, "f")[name];
|
|
95
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Complete additional initialization of instantiated controllers or services after instantiating `Wallet`.
|
|
98
|
+
*
|
|
99
|
+
* @returns The results of all initialization calls.
|
|
100
|
+
*/
|
|
101
|
+
init() {
|
|
102
|
+
return Promise.allSettled(Object.values(__classPrivateFieldGet(this, _Wallet_instances, "f"))
|
|
103
|
+
.filter((instance) =>
|
|
104
|
+
// We do actually want to check the prototype here.
|
|
105
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
106
|
+
'init' in instance)
|
|
107
|
+
.map(async (instance) => instance.init()));
|
|
108
|
+
}
|
|
96
109
|
/**
|
|
97
110
|
* Destroy the wallet instance.
|
|
98
111
|
*/
|
package/dist/Wallet.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wallet.cjs","sourceRoot":"","sources":["../src/Wallet.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,mDAAgD;AAChD,2CAA8C;AAS9C,wEAA6D;AAG7D,MAAa,MAAM;IAYjB;;;;;;;;;;OAUG;IACH,YAAY,OAAsB;QAtBlC,oEAAoE;QAC3D,oCAAyD;QAEzD,oCAA6B;QAE7B,6CAEP;QAEF,8BAAe,KAAK,EAAC;QAcnB,uBAAA,IAAI,qBACF,OAAO,CAAC,SAAS;YACjB,IAAI,qBAAS,CAAC;gBACZ,SAAS,EAAE,MAAM;aAClB,CAAC,MAAA,CAAC;QAEL,uBAAA,IAAI,qBAAc,IAAA,2BAAU,EAAC;YAC3B,GAAG,OAAO;YACV,SAAS,EAAE,uBAAA,IAAI,yBAAW;SAC3B,CAAC,MAAA,CAAC;QAEH,uBAAA,IAAI,8BAAuB,MAAM,CAAC,WAAW,CAC3C,MAAM,CAAC,OAAO,CAAC,uBAAA,IAAI,yBAAW,CAAC;aAC5B,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;aAC5D,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;YACzB,IAAI;YACH,QAAkD,CAAC,QAAQ;SAC7D,CAAC,CACL,MAAA,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,uBAAA,IAAI,yBAAW,CAAC;IACzB,CAAC;IAED,IAAI,SAAS,CAAC,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,MAAM,CAAC,OAAO,CAAC,uBAAA,IAAI,yBAAW,CAAC,CAAC,MAAM,CAC3C,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE;YAC/B,mDAAmD;YACnD,gDAAgD;YAChD,IAAI,OAAO,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC1C,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;YACpC,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC,EACD,EAAE,CACa,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,IAAI,kBAAkB;QAGpB,OAAO,uBAAA,IAAI,kCAAoB,CAAC;IAClC,CAAC;IAED,IAAI,kBAAkB,CAAC,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAUD;;;;;;OAMG;IACH,WAAW,CACT,IAAY;QAEZ,OAAO,uBAAA,IAAI,yBAAW,CAAC,IAA8B,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,uBAAA,IAAI,2BAAa,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,uBAAA,IAAI,uBAAgB,IAAI,MAAA,CAAC;QAEzB,MAAM,OAAO,CAAC,UAAU,CACtB,MAAM,CAAC,MAAM,CAAC,uBAAA,IAAI,yBAAW,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACpD,iDAAiD;YACjD,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC3C,iDAAiD;gBACjD,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YAClC,CAAC;YACD,0BAA0B;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"Wallet.cjs","sourceRoot":"","sources":["../src/Wallet.ts"],"names":[],"mappings":"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","sourcesContent":["import type { StateMetadataConstraint } from '@metamask/base-controller';\nimport { Messenger } from '@metamask/messenger';\nimport { hasProperty } from '@metamask/utils';\n\nimport type {\n DefaultActions,\n DefaultEvents,\n DefaultInstances,\n DefaultState,\n RootMessenger,\n} from './initialization/defaults';\nimport { initialize } from './initialization/initialization';\nimport { WalletOptions } from './types';\n\nexport class Wallet {\n // TODO: Expand default types when passing additionalConfigurations.\n readonly #messenger: RootMessenger<DefaultActions, DefaultEvents>;\n\n readonly #instances: DefaultInstances;\n\n readonly #controllerMetadata: Readonly<\n Record<string, Readonly<StateMetadataConstraint>>\n >;\n\n #isDestroyed = false;\n\n /**\n * Creates a `Wallet` instance, initializing all instances as specified by the passed options.\n *\n * @param options - Options bag.\n * @param options.messenger - An optional messenger to override the default one.\n * @param options.state - An optional state blob.\n * @param options.initializationConfigurations - An optional list of additional initialization configurations\n * required beyond the ones included by default.\n * @param options.instanceOptions - An optional object containing options that should be passed\n * to specific instances for additional customization.\n */\n constructor(options: WalletOptions) {\n this.#messenger =\n options.messenger ??\n new Messenger({\n namespace: 'Root',\n });\n\n this.#instances = initialize({\n ...options,\n messenger: this.#messenger,\n });\n\n this.#controllerMetadata = Object.fromEntries(\n Object.entries(this.#instances)\n .filter(([_, instance]) => hasProperty(instance, 'metadata'))\n .map(([name, instance]) => [\n name,\n (instance as { metadata: StateMetadataConstraint }).metadata,\n ]),\n );\n }\n\n /**\n * @returns The root messenger of the wallet.\n */\n get messenger(): Readonly<RootMessenger<DefaultActions, DefaultEvents>> {\n return this.#messenger;\n }\n\n set messenger(_) {\n throw new Error('The messenger cannot be directly mutated.');\n }\n\n /**\n * @returns The combined state of the wallet.\n */\n get state(): DefaultState {\n return Object.entries(this.#instances).reduce<Record<string, unknown>>(\n (totalState, [name, instance]) => {\n // We do actually want to check the prototype here.\n // eslint-disable-next-line no-restricted-syntax\n if ('state' in instance && instance.state) {\n totalState[name] = instance.state;\n }\n return totalState;\n },\n {},\n ) as DefaultState;\n }\n\n set state(_) {\n throw new Error('Wallet state cannot be directly mutated.');\n }\n\n /**\n * @returns The controller metadata; containing per-controller information about what properties to persist etc.\n */\n get controllerMetadata(): Readonly<\n Record<string, Readonly<StateMetadataConstraint>>\n > {\n return this.#controllerMetadata;\n }\n\n set controllerMetadata(_) {\n throw new Error('The controller metadata cannot be directly mutated.');\n }\n\n getInstance<Name extends keyof DefaultInstances>(\n name: Name,\n ): DefaultInstances[Name];\n\n getInstance(\n name: string,\n ): DefaultInstances[keyof DefaultInstances] | undefined;\n\n /**\n * Get an instantiated controller or service.\n *\n * @param name - The name.\n * @returns The instance, if it exists.\n * @deprecated - Please use the messenger instead of direct access.\n */\n getInstance(\n name: string,\n ): DefaultInstances[keyof DefaultInstances] | undefined {\n return this.#instances[name as keyof DefaultInstances];\n }\n\n /**\n * Complete additional initialization of instantiated controllers or services after instantiating `Wallet`.\n *\n * @returns The results of all initialization calls.\n */\n init(): Promise<PromiseSettledResult<unknown>[]> {\n return Promise.allSettled(\n Object.values(this.#instances)\n .filter(\n (instance): instance is Extract<typeof instance, { init: unknown }> =>\n // We do actually want to check the prototype here.\n // eslint-disable-next-line no-restricted-syntax\n 'init' in instance,\n )\n .map(async (instance) => instance.init()),\n );\n }\n\n /**\n * Destroy the wallet instance.\n */\n async destroy(): Promise<void> {\n if (this.#isDestroyed) {\n return;\n }\n\n this.#isDestroyed = true;\n\n await Promise.allSettled(\n Object.values(this.#instances).map(async (instance) => {\n // @ts-expect-error Accessing protected property.\n if (typeof instance.destroy === 'function') {\n // @ts-expect-error Accessing protected property.\n return await instance.destroy();\n }\n /* istanbul ignore next */\n return undefined;\n }),\n );\n }\n}\n"]}
|
package/dist/Wallet.d.cts
CHANGED
|
@@ -32,6 +32,12 @@ export declare class Wallet {
|
|
|
32
32
|
set controllerMetadata(_: Readonly<Record<string, Readonly<StateMetadataConstraint>>>);
|
|
33
33
|
getInstance<Name extends keyof DefaultInstances>(name: Name): DefaultInstances[Name];
|
|
34
34
|
getInstance(name: string): DefaultInstances[keyof DefaultInstances] | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Complete additional initialization of instantiated controllers or services after instantiating `Wallet`.
|
|
37
|
+
*
|
|
38
|
+
* @returns The results of all initialization calls.
|
|
39
|
+
*/
|
|
40
|
+
init(): Promise<PromiseSettledResult<unknown>[]>;
|
|
35
41
|
/**
|
|
36
42
|
* Destroy the wallet instance.
|
|
37
43
|
*/
|
package/dist/Wallet.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wallet.d.cts","sourceRoot":"","sources":["../src/Wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,kCAAkC;AAIzE,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACd,sCAAkC;AAEnC,OAAO,EAAE,aAAa,EAAE,oBAAgB;AAExC,qBAAa,MAAM;;IAYjB;;;;;;;;;;OAUG;gBACS,OAAO,EAAE,aAAa;IAsBlC;;OAEG;IACH,IAAI,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAEtE;IAED,IAAI,SAAS,CAAC,CAAC,EAJE,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAIvD,EAEd;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,YAAY,CAYxB;IAED,IAAI,KAAK,CAAC,CAAC,EAdE,YAcF,EAEV;IAED;;OAEG;IACH,IAAI,kBAAkB,IAAI,QAAQ,CAChC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAClD,CAEA;IAED,IAAI,kBAAkB,CAAC,CAAC,EANE,QAAQ,CAChC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAK3B,EAEvB;IAED,WAAW,CAAC,IAAI,SAAS,MAAM,gBAAgB,EAC7C,IAAI,EAAE,IAAI,GACT,gBAAgB,CAAC,IAAI,CAAC;IAEzB,WAAW,CACT,IAAI,EAAE,MAAM,GACX,gBAAgB,CAAC,MAAM,gBAAgB,CAAC,GAAG,SAAS;IAevD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB/B"}
|
|
1
|
+
{"version":3,"file":"Wallet.d.cts","sourceRoot":"","sources":["../src/Wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,kCAAkC;AAIzE,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACd,sCAAkC;AAEnC,OAAO,EAAE,aAAa,EAAE,oBAAgB;AAExC,qBAAa,MAAM;;IAYjB;;;;;;;;;;OAUG;gBACS,OAAO,EAAE,aAAa;IAsBlC;;OAEG;IACH,IAAI,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAEtE;IAED,IAAI,SAAS,CAAC,CAAC,EAJE,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAIvD,EAEd;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,YAAY,CAYxB;IAED,IAAI,KAAK,CAAC,CAAC,EAdE,YAcF,EAEV;IAED;;OAEG;IACH,IAAI,kBAAkB,IAAI,QAAQ,CAChC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAClD,CAEA;IAED,IAAI,kBAAkB,CAAC,CAAC,EANE,QAAQ,CAChC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAK3B,EAEvB;IAED,WAAW,CAAC,IAAI,SAAS,MAAM,gBAAgB,EAC7C,IAAI,EAAE,IAAI,GACT,gBAAgB,CAAC,IAAI,CAAC;IAEzB,WAAW,CACT,IAAI,EAAE,MAAM,GACX,gBAAgB,CAAC,MAAM,gBAAgB,CAAC,GAAG,SAAS;IAevD;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;IAahD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB/B"}
|
package/dist/Wallet.d.mts
CHANGED
|
@@ -32,6 +32,12 @@ export declare class Wallet {
|
|
|
32
32
|
set controllerMetadata(_: Readonly<Record<string, Readonly<StateMetadataConstraint>>>);
|
|
33
33
|
getInstance<Name extends keyof DefaultInstances>(name: Name): DefaultInstances[Name];
|
|
34
34
|
getInstance(name: string): DefaultInstances[keyof DefaultInstances] | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Complete additional initialization of instantiated controllers or services after instantiating `Wallet`.
|
|
37
|
+
*
|
|
38
|
+
* @returns The results of all initialization calls.
|
|
39
|
+
*/
|
|
40
|
+
init(): Promise<PromiseSettledResult<unknown>[]>;
|
|
35
41
|
/**
|
|
36
42
|
* Destroy the wallet instance.
|
|
37
43
|
*/
|
package/dist/Wallet.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wallet.d.mts","sourceRoot":"","sources":["../src/Wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,kCAAkC;AAIzE,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACd,sCAAkC;AAEnC,OAAO,EAAE,aAAa,EAAE,oBAAgB;AAExC,qBAAa,MAAM;;IAYjB;;;;;;;;;;OAUG;gBACS,OAAO,EAAE,aAAa;IAsBlC;;OAEG;IACH,IAAI,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAEtE;IAED,IAAI,SAAS,CAAC,CAAC,EAJE,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAIvD,EAEd;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,YAAY,CAYxB;IAED,IAAI,KAAK,CAAC,CAAC,EAdE,YAcF,EAEV;IAED;;OAEG;IACH,IAAI,kBAAkB,IAAI,QAAQ,CAChC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAClD,CAEA;IAED,IAAI,kBAAkB,CAAC,CAAC,EANE,QAAQ,CAChC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAK3B,EAEvB;IAED,WAAW,CAAC,IAAI,SAAS,MAAM,gBAAgB,EAC7C,IAAI,EAAE,IAAI,GACT,gBAAgB,CAAC,IAAI,CAAC;IAEzB,WAAW,CACT,IAAI,EAAE,MAAM,GACX,gBAAgB,CAAC,MAAM,gBAAgB,CAAC,GAAG,SAAS;IAevD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB/B"}
|
|
1
|
+
{"version":3,"file":"Wallet.d.mts","sourceRoot":"","sources":["../src/Wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,kCAAkC;AAIzE,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACd,sCAAkC;AAEnC,OAAO,EAAE,aAAa,EAAE,oBAAgB;AAExC,qBAAa,MAAM;;IAYjB;;;;;;;;;;OAUG;gBACS,OAAO,EAAE,aAAa;IAsBlC;;OAEG;IACH,IAAI,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAEtE;IAED,IAAI,SAAS,CAAC,CAAC,EAJE,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAIvD,EAEd;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,YAAY,CAYxB;IAED,IAAI,KAAK,CAAC,CAAC,EAdE,YAcF,EAEV;IAED;;OAEG;IACH,IAAI,kBAAkB,IAAI,QAAQ,CAChC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAClD,CAEA;IAED,IAAI,kBAAkB,CAAC,CAAC,EANE,QAAQ,CAChC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAK3B,EAEvB;IAED,WAAW,CAAC,IAAI,SAAS,MAAM,gBAAgB,EAC7C,IAAI,EAAE,IAAI,GACT,gBAAgB,CAAC,IAAI,CAAC;IAEzB,WAAW,CACT,IAAI,EAAE,MAAM,GACX,gBAAgB,CAAC,MAAM,gBAAgB,CAAC,GAAG,SAAS;IAevD;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;IAahD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB/B"}
|
package/dist/Wallet.mjs
CHANGED
|
@@ -90,6 +90,19 @@ export class Wallet {
|
|
|
90
90
|
getInstance(name) {
|
|
91
91
|
return __classPrivateFieldGet(this, _Wallet_instances, "f")[name];
|
|
92
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Complete additional initialization of instantiated controllers or services after instantiating `Wallet`.
|
|
95
|
+
*
|
|
96
|
+
* @returns The results of all initialization calls.
|
|
97
|
+
*/
|
|
98
|
+
init() {
|
|
99
|
+
return Promise.allSettled(Object.values(__classPrivateFieldGet(this, _Wallet_instances, "f"))
|
|
100
|
+
.filter((instance) =>
|
|
101
|
+
// We do actually want to check the prototype here.
|
|
102
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
103
|
+
'init' in instance)
|
|
104
|
+
.map(async (instance) => instance.init()));
|
|
105
|
+
}
|
|
93
106
|
/**
|
|
94
107
|
* Destroy the wallet instance.
|
|
95
108
|
*/
|
package/dist/Wallet.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wallet.mjs","sourceRoot":"","sources":["../src/Wallet.ts"],"names":[],"mappings":"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","sourcesContent":["import type { StateMetadataConstraint } from '@metamask/base-controller';\nimport { Messenger } from '@metamask/messenger';\nimport { hasProperty } from '@metamask/utils';\n\nimport type {\n DefaultActions,\n DefaultEvents,\n DefaultInstances,\n DefaultState,\n RootMessenger,\n} from './initialization/defaults';\nimport { initialize } from './initialization/initialization';\nimport { WalletOptions } from './types';\n\nexport class Wallet {\n // TODO: Expand default types when passing additionalConfigurations.\n readonly #messenger: RootMessenger<DefaultActions, DefaultEvents>;\n\n readonly #instances: DefaultInstances;\n\n readonly #controllerMetadata: Readonly<\n Record<string, Readonly<StateMetadataConstraint>>\n >;\n\n #isDestroyed = false;\n\n /**\n * Creates a `Wallet` instance, initializing all instances as specified by the passed options.\n *\n * @param options - Options bag.\n * @param options.messenger - An optional messenger to override the default one.\n * @param options.state - An optional state blob.\n * @param options.initializationConfigurations - An optional list of additional initialization configurations\n * required beyond the ones included by default.\n * @param options.instanceOptions - An optional object containing options that should be passed\n * to specific instances for additional customization.\n */\n constructor(options: WalletOptions) {\n this.#messenger =\n options.messenger ??\n new Messenger({\n namespace: 'Root',\n });\n\n this.#instances = initialize({\n ...options,\n messenger: this.#messenger,\n });\n\n this.#controllerMetadata = Object.fromEntries(\n Object.entries(this.#instances)\n .filter(([_, instance]) => hasProperty(instance, 'metadata'))\n .map(([name, instance]) => [\n name,\n (instance as { metadata: StateMetadataConstraint }).metadata,\n ]),\n );\n }\n\n /**\n * @returns The root messenger of the wallet.\n */\n get messenger(): Readonly<RootMessenger<DefaultActions, DefaultEvents>> {\n return this.#messenger;\n }\n\n set messenger(_) {\n throw new Error('The messenger cannot be directly mutated.');\n }\n\n /**\n * @returns The combined state of the wallet.\n */\n get state(): DefaultState {\n return Object.entries(this.#instances).reduce<Record<string, unknown>>(\n (totalState, [name, instance]) => {\n // We do actually want to check the prototype here.\n // eslint-disable-next-line no-restricted-syntax\n if ('state' in instance && instance.state) {\n totalState[name] = instance.state;\n }\n return totalState;\n },\n {},\n ) as DefaultState;\n }\n\n set state(_) {\n throw new Error('Wallet state cannot be directly mutated.');\n }\n\n /**\n * @returns The controller metadata; containing per-controller information about what properties to persist etc.\n */\n get controllerMetadata(): Readonly<\n Record<string, Readonly<StateMetadataConstraint>>\n > {\n return this.#controllerMetadata;\n }\n\n set controllerMetadata(_) {\n throw new Error('The controller metadata cannot be directly mutated.');\n }\n\n getInstance<Name extends keyof DefaultInstances>(\n name: Name,\n ): DefaultInstances[Name];\n\n getInstance(\n name: string,\n ): DefaultInstances[keyof DefaultInstances] | undefined;\n\n /**\n * Get an instantiated controller or service.\n *\n * @param name - The name.\n * @returns The instance, if it exists.\n * @deprecated - Please use the messenger instead of direct access.\n */\n getInstance(\n name: string,\n ): DefaultInstances[keyof DefaultInstances] | undefined {\n return this.#instances[name as keyof DefaultInstances];\n }\n\n /**\n * Destroy the wallet instance.\n */\n async destroy(): Promise<void> {\n if (this.#isDestroyed) {\n return;\n }\n\n this.#isDestroyed = true;\n\n await Promise.allSettled(\n Object.values(this.#instances).map(async (instance) => {\n // @ts-expect-error Accessing protected property.\n if (typeof instance.destroy === 'function') {\n // @ts-expect-error Accessing protected property.\n return await instance.destroy();\n }\n /* istanbul ignore next */\n return undefined;\n }),\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Wallet.mjs","sourceRoot":"","sources":["../src/Wallet.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,SAAS,EAAE,4BAA4B;AAChD,OAAO,EAAE,WAAW,EAAE,wBAAwB;AAS9C,OAAO,EAAE,UAAU,EAAE,4CAAwC;AAG7D,MAAM,OAAO,MAAM;IAYjB;;;;;;;;;;OAUG;IACH,YAAY,OAAsB;QAtBlC,oEAAoE;QAC3D,oCAAyD;QAEzD,oCAA6B;QAE7B,6CAEP;QAEF,8BAAe,KAAK,EAAC;QAcnB,uBAAA,IAAI,qBACF,OAAO,CAAC,SAAS;YACjB,IAAI,SAAS,CAAC;gBACZ,SAAS,EAAE,MAAM;aAClB,CAAC,MAAA,CAAC;QAEL,uBAAA,IAAI,qBAAc,UAAU,CAAC;YAC3B,GAAG,OAAO;YACV,SAAS,EAAE,uBAAA,IAAI,yBAAW;SAC3B,CAAC,MAAA,CAAC;QAEH,uBAAA,IAAI,8BAAuB,MAAM,CAAC,WAAW,CAC3C,MAAM,CAAC,OAAO,CAAC,uBAAA,IAAI,yBAAW,CAAC;aAC5B,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;aAC5D,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;YACzB,IAAI;YACH,QAAkD,CAAC,QAAQ;SAC7D,CAAC,CACL,MAAA,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,uBAAA,IAAI,yBAAW,CAAC;IACzB,CAAC;IAED,IAAI,SAAS,CAAC,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,MAAM,CAAC,OAAO,CAAC,uBAAA,IAAI,yBAAW,CAAC,CAAC,MAAM,CAC3C,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE;YAC/B,mDAAmD;YACnD,gDAAgD;YAChD,IAAI,OAAO,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC1C,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;YACpC,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC,EACD,EAAE,CACa,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,IAAI,kBAAkB;QAGpB,OAAO,uBAAA,IAAI,kCAAoB,CAAC;IAClC,CAAC;IAED,IAAI,kBAAkB,CAAC,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAUD;;;;;;OAMG;IACH,WAAW,CACT,IAAY;QAEZ,OAAO,uBAAA,IAAI,yBAAW,CAAC,IAA8B,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,OAAO,OAAO,CAAC,UAAU,CACvB,MAAM,CAAC,MAAM,CAAC,uBAAA,IAAI,yBAAW,CAAC;aAC3B,MAAM,CACL,CAAC,QAAQ,EAA2D,EAAE;QACpE,mDAAmD;QACnD,gDAAgD;QAChD,MAAM,IAAI,QAAQ,CACrB;aACA,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAC5C,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,uBAAA,IAAI,2BAAa,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,uBAAA,IAAI,uBAAgB,IAAI,MAAA,CAAC;QAEzB,MAAM,OAAO,CAAC,UAAU,CACtB,MAAM,CAAC,MAAM,CAAC,uBAAA,IAAI,yBAAW,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACpD,iDAAiD;YACjD,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC3C,iDAAiD;gBACjD,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YAClC,CAAC;YACD,0BAA0B;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { StateMetadataConstraint } from '@metamask/base-controller';\nimport { Messenger } from '@metamask/messenger';\nimport { hasProperty } from '@metamask/utils';\n\nimport type {\n DefaultActions,\n DefaultEvents,\n DefaultInstances,\n DefaultState,\n RootMessenger,\n} from './initialization/defaults';\nimport { initialize } from './initialization/initialization';\nimport { WalletOptions } from './types';\n\nexport class Wallet {\n // TODO: Expand default types when passing additionalConfigurations.\n readonly #messenger: RootMessenger<DefaultActions, DefaultEvents>;\n\n readonly #instances: DefaultInstances;\n\n readonly #controllerMetadata: Readonly<\n Record<string, Readonly<StateMetadataConstraint>>\n >;\n\n #isDestroyed = false;\n\n /**\n * Creates a `Wallet` instance, initializing all instances as specified by the passed options.\n *\n * @param options - Options bag.\n * @param options.messenger - An optional messenger to override the default one.\n * @param options.state - An optional state blob.\n * @param options.initializationConfigurations - An optional list of additional initialization configurations\n * required beyond the ones included by default.\n * @param options.instanceOptions - An optional object containing options that should be passed\n * to specific instances for additional customization.\n */\n constructor(options: WalletOptions) {\n this.#messenger =\n options.messenger ??\n new Messenger({\n namespace: 'Root',\n });\n\n this.#instances = initialize({\n ...options,\n messenger: this.#messenger,\n });\n\n this.#controllerMetadata = Object.fromEntries(\n Object.entries(this.#instances)\n .filter(([_, instance]) => hasProperty(instance, 'metadata'))\n .map(([name, instance]) => [\n name,\n (instance as { metadata: StateMetadataConstraint }).metadata,\n ]),\n );\n }\n\n /**\n * @returns The root messenger of the wallet.\n */\n get messenger(): Readonly<RootMessenger<DefaultActions, DefaultEvents>> {\n return this.#messenger;\n }\n\n set messenger(_) {\n throw new Error('The messenger cannot be directly mutated.');\n }\n\n /**\n * @returns The combined state of the wallet.\n */\n get state(): DefaultState {\n return Object.entries(this.#instances).reduce<Record<string, unknown>>(\n (totalState, [name, instance]) => {\n // We do actually want to check the prototype here.\n // eslint-disable-next-line no-restricted-syntax\n if ('state' in instance && instance.state) {\n totalState[name] = instance.state;\n }\n return totalState;\n },\n {},\n ) as DefaultState;\n }\n\n set state(_) {\n throw new Error('Wallet state cannot be directly mutated.');\n }\n\n /**\n * @returns The controller metadata; containing per-controller information about what properties to persist etc.\n */\n get controllerMetadata(): Readonly<\n Record<string, Readonly<StateMetadataConstraint>>\n > {\n return this.#controllerMetadata;\n }\n\n set controllerMetadata(_) {\n throw new Error('The controller metadata cannot be directly mutated.');\n }\n\n getInstance<Name extends keyof DefaultInstances>(\n name: Name,\n ): DefaultInstances[Name];\n\n getInstance(\n name: string,\n ): DefaultInstances[keyof DefaultInstances] | undefined;\n\n /**\n * Get an instantiated controller or service.\n *\n * @param name - The name.\n * @returns The instance, if it exists.\n * @deprecated - Please use the messenger instead of direct access.\n */\n getInstance(\n name: string,\n ): DefaultInstances[keyof DefaultInstances] | undefined {\n return this.#instances[name as keyof DefaultInstances];\n }\n\n /**\n * Complete additional initialization of instantiated controllers or services after instantiating `Wallet`.\n *\n * @returns The results of all initialization calls.\n */\n init(): Promise<PromiseSettledResult<unknown>[]> {\n return Promise.allSettled(\n Object.values(this.#instances)\n .filter(\n (instance): instance is Extract<typeof instance, { init: unknown }> =>\n // We do actually want to check the prototype here.\n // eslint-disable-next-line no-restricted-syntax\n 'init' in instance,\n )\n .map(async (instance) => instance.init()),\n );\n }\n\n /**\n * Destroy the wallet instance.\n */\n async destroy(): Promise<void> {\n if (this.#isDestroyed) {\n return;\n }\n\n this.#isDestroyed = true;\n\n await Promise.allSettled(\n Object.values(this.#instances).map(async (instance) => {\n // @ts-expect-error Accessing protected property.\n if (typeof instance.destroy === 'function') {\n // @ts-expect-error Accessing protected property.\n return await instance.destroy();\n }\n /* istanbul ignore next */\n return undefined;\n }),\n );\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.storageService = exports.remoteFeatureFlagController = exports.keyringController = exports.connectivityController = exports.approvalController = exports.accountsController = void 0;
|
|
3
|
+
exports.storageService = exports.remoteFeatureFlagController = exports.networkController = exports.keyringController = exports.connectivityController = exports.approvalController = exports.accountsController = void 0;
|
|
4
4
|
var accounts_controller_1 = require("./accounts-controller/accounts-controller.cjs");
|
|
5
5
|
Object.defineProperty(exports, "accountsController", { enumerable: true, get: function () { return accounts_controller_1.accountsController; } });
|
|
6
6
|
var approval_controller_1 = require("./approval-controller/approval-controller.cjs");
|
|
@@ -9,6 +9,8 @@ var connectivity_controller_1 = require("./connectivity-controller/connectivity-
|
|
|
9
9
|
Object.defineProperty(exports, "connectivityController", { enumerable: true, get: function () { return connectivity_controller_1.connectivityController; } });
|
|
10
10
|
var keyring_controller_1 = require("./keyring-controller/keyring-controller.cjs");
|
|
11
11
|
Object.defineProperty(exports, "keyringController", { enumerable: true, get: function () { return keyring_controller_1.keyringController; } });
|
|
12
|
+
var network_controller_1 = require("./network-controller/network-controller.cjs");
|
|
13
|
+
Object.defineProperty(exports, "networkController", { enumerable: true, get: function () { return network_controller_1.networkController; } });
|
|
12
14
|
var remote_feature_flag_controller_1 = require("./remote-feature-flag-controller/remote-feature-flag-controller.cjs");
|
|
13
15
|
Object.defineProperty(exports, "remoteFeatureFlagController", { enumerable: true, get: function () { return remote_feature_flag_controller_1.remoteFeatureFlagController; } });
|
|
14
16
|
var storage_service_1 = require("./storage-service/storage-service.cjs");
|
|
@@ -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,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
|
+
{"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,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 { networkController } from './network-controller/network-controller';\nexport { remoteFeatureFlagController } from './remote-feature-flag-controller/remote-feature-flag-controller';\nexport { storageService } from './storage-service/storage-service';\n"]}
|
|
@@ -2,6 +2,7 @@ export { accountsController } from "./accounts-controller/accounts-controller.cj
|
|
|
2
2
|
export { approvalController } from "./approval-controller/approval-controller.cjs";
|
|
3
3
|
export { connectivityController } from "./connectivity-controller/connectivity-controller.cjs";
|
|
4
4
|
export { keyringController } from "./keyring-controller/keyring-controller.cjs";
|
|
5
|
+
export { networkController } from "./network-controller/network-controller.cjs";
|
|
5
6
|
export { remoteFeatureFlagController } from "./remote-feature-flag-controller/remote-feature-flag-controller.cjs";
|
|
6
7
|
export { storageService } from "./storage-service/storage-service.cjs";
|
|
7
8
|
//# 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,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
|
+
{"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,iBAAiB,EAAE,oDAAgD;AAC5E,OAAO,EAAE,2BAA2B,EAAE,4EAAwE;AAC9G,OAAO,EAAE,cAAc,EAAE,8CAA0C"}
|
|
@@ -2,6 +2,7 @@ export { accountsController } from "./accounts-controller/accounts-controller.mj
|
|
|
2
2
|
export { approvalController } from "./approval-controller/approval-controller.mjs";
|
|
3
3
|
export { connectivityController } from "./connectivity-controller/connectivity-controller.mjs";
|
|
4
4
|
export { keyringController } from "./keyring-controller/keyring-controller.mjs";
|
|
5
|
+
export { networkController } from "./network-controller/network-controller.mjs";
|
|
5
6
|
export { remoteFeatureFlagController } from "./remote-feature-flag-controller/remote-feature-flag-controller.mjs";
|
|
6
7
|
export { storageService } from "./storage-service/storage-service.mjs";
|
|
7
8
|
//# 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,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
|
+
{"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,iBAAiB,EAAE,oDAAgD;AAC5E,OAAO,EAAE,2BAA2B,EAAE,4EAAwE;AAC9G,OAAO,EAAE,cAAc,EAAE,8CAA0C"}
|
|
@@ -2,6 +2,7 @@ export { accountsController } from "./accounts-controller/accounts-controller.mj
|
|
|
2
2
|
export { approvalController } from "./approval-controller/approval-controller.mjs";
|
|
3
3
|
export { connectivityController } from "./connectivity-controller/connectivity-controller.mjs";
|
|
4
4
|
export { keyringController } from "./keyring-controller/keyring-controller.mjs";
|
|
5
|
+
export { networkController } from "./network-controller/network-controller.mjs";
|
|
5
6
|
export { remoteFeatureFlagController } from "./remote-feature-flag-controller/remote-feature-flag-controller.mjs";
|
|
6
7
|
export { storageService } from "./storage-service/storage-service.mjs";
|
|
7
8
|
//# 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,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"]}
|
|
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,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 { networkController } from './network-controller/network-controller';\nexport { remoteFeatureFlagController } from './remote-feature-flag-controller/remote-feature-flag-controller';\nexport { storageService } from './storage-service/storage-service';\n"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
failoverUrls: options.failoverUrls,
|
|
13
|
+
}),
|
|
14
|
+
getMessenger: (parent) => {
|
|
15
|
+
const networkControllerMessenger = new messenger_1.Messenger({
|
|
16
|
+
namespace: 'NetworkController',
|
|
17
|
+
parent,
|
|
18
|
+
});
|
|
19
|
+
parent.delegate({
|
|
20
|
+
messenger: networkControllerMessenger,
|
|
21
|
+
actions: [
|
|
22
|
+
'ConnectivityController:getState',
|
|
23
|
+
'RemoteFeatureFlagController:getState',
|
|
24
|
+
],
|
|
25
|
+
events: [
|
|
26
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
27
|
+
'RemoteFeatureFlagController:stateChange',
|
|
28
|
+
],
|
|
29
|
+
});
|
|
30
|
+
return networkControllerMessenger;
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=network-controller.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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;QACxC,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,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;gBACP,iCAAiC;gBACjC,sCAAsC;aACvC;YAED,MAAM,EAAE;gBACN,gDAAgD;gBAChD,yCAAyC;aAC1C;SACF,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 failoverUrls: options.failoverUrls,\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: [\n 'ConnectivityController:getState',\n 'RemoteFeatureFlagController:getState',\n ],\n\n events: [\n // eslint-disable-next-line no-restricted-syntax\n 'RemoteFeatureFlagController:stateChange',\n ],\n });\n\n return networkControllerMessenger;\n },\n};\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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,CAgC3B,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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,CAgC3B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
failoverUrls: options.failoverUrls,
|
|
10
|
+
}),
|
|
11
|
+
getMessenger: (parent) => {
|
|
12
|
+
const networkControllerMessenger = new Messenger({
|
|
13
|
+
namespace: 'NetworkController',
|
|
14
|
+
parent,
|
|
15
|
+
});
|
|
16
|
+
parent.delegate({
|
|
17
|
+
messenger: networkControllerMessenger,
|
|
18
|
+
actions: [
|
|
19
|
+
'ConnectivityController:getState',
|
|
20
|
+
'RemoteFeatureFlagController:getState',
|
|
21
|
+
],
|
|
22
|
+
events: [
|
|
23
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
24
|
+
'RemoteFeatureFlagController:stateChange',
|
|
25
|
+
],
|
|
26
|
+
});
|
|
27
|
+
return networkControllerMessenger;
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=network-controller.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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;QACxC,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,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;gBACP,iCAAiC;gBACjC,sCAAsC;aACvC;YAED,MAAM,EAAE;gBACN,gDAAgD;gBAChD,yCAAyC;aAC1C;SACF,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 failoverUrls: options.failoverUrls,\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: [\n 'ConnectivityController:getState',\n 'RemoteFeatureFlagController:getState',\n ],\n\n events: [\n // eslint-disable-next-line no-restricted-syntax\n 'RemoteFeatureFlagController:stateChange',\n ],\n });\n\n return networkControllerMessenger;\n },\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../../../src/initialization/instances/network-controller/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Hex } from '@metamask/utils';\n\n/**\n * Per-instance options for the wallet's `NetworkController`.\n */\nexport type NetworkControllerInstanceOptions = {\n /**\n * The API key for Infura, used to make requests to Infura.\n */\n infuraProjectId: string;\n /**\n * An optional map of available failover URLs for each chain ID.\n */\n failoverUrls?: Record<Hex, string[]>;\n};\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Hex } from "@metamask/utils";
|
|
2
|
+
/**
|
|
3
|
+
* Per-instance options for the wallet's `NetworkController`.
|
|
4
|
+
*/
|
|
5
|
+
export type NetworkControllerInstanceOptions = {
|
|
6
|
+
/**
|
|
7
|
+
* The API key for Infura, used to make requests to Infura.
|
|
8
|
+
*/
|
|
9
|
+
infuraProjectId: string;
|
|
10
|
+
/**
|
|
11
|
+
* An optional map of available failover URLs for each chain ID.
|
|
12
|
+
*/
|
|
13
|
+
failoverUrls?: Record<Hex, string[]>;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=types.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../../../../src/initialization/instances/network-controller/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,wBAAwB;AAEtC;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC7C;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;CACtC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Hex } from "@metamask/utils";
|
|
2
|
+
/**
|
|
3
|
+
* Per-instance options for the wallet's `NetworkController`.
|
|
4
|
+
*/
|
|
5
|
+
export type NetworkControllerInstanceOptions = {
|
|
6
|
+
/**
|
|
7
|
+
* The API key for Infura, used to make requests to Infura.
|
|
8
|
+
*/
|
|
9
|
+
infuraProjectId: string;
|
|
10
|
+
/**
|
|
11
|
+
* An optional map of available failover URLs for each chain ID.
|
|
12
|
+
*/
|
|
13
|
+
failoverUrls?: Record<Hex, string[]>;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=types.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../../../src/initialization/instances/network-controller/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,wBAAwB;AAEtC;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC7C;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;CACtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../../../src/initialization/instances/network-controller/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Hex } from '@metamask/utils';\n\n/**\n * Per-instance options for the wallet's `NetworkController`.\n */\nexport type NetworkControllerInstanceOptions = {\n /**\n * The API key for Infura, used to make requests to Infura.\n */\n infuraProjectId: string;\n /**\n * An optional map of available failover URLs for each chain ID.\n */\n failoverUrls?: Record<Hex, string[]>;\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 { 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"]}
|
|
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 { NetworkControllerInstanceOptions } from './initialization/instances/network-controller/types';\nimport type { RemoteFeatureFlagControllerInstanceOptions } from './initialization/instances/remote-feature-flag-controller/types';\nimport type { StorageServiceInstanceOptions } from './initialization/instances/storage-service/types';\nimport type { 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 networkController: NetworkControllerInstanceOptions;\n remoteFeatureFlagController: RemoteFeatureFlagControllerInstanceOptions;\n storageService: StorageServiceInstanceOptions;\n};\n"]}
|
package/dist/types.d.cts
CHANGED
|
@@ -3,9 +3,10 @@ import type { DefaultActions, DefaultEvents, RootMessenger } from "./initializat
|
|
|
3
3
|
import type { ApprovalControllerInstanceOptions } from "./initialization/instances/approval-controller/types.cjs";
|
|
4
4
|
import type { ConnectivityControllerInstanceOptions } from "./initialization/instances/connectivity-controller/types.cjs";
|
|
5
5
|
import type { KeyringControllerInstanceOptions } from "./initialization/instances/keyring-controller/types.cjs";
|
|
6
|
+
import type { NetworkControllerInstanceOptions } from "./initialization/instances/network-controller/types.cjs";
|
|
6
7
|
import type { RemoteFeatureFlagControllerInstanceOptions } from "./initialization/instances/remote-feature-flag-controller/types.cjs";
|
|
7
8
|
import type { StorageServiceInstanceOptions } from "./initialization/instances/storage-service/types.cjs";
|
|
8
|
-
import { InitializationConfiguration } from "./initialization/types.cjs";
|
|
9
|
+
import type { InitializationConfiguration } from "./initialization/types.cjs";
|
|
9
10
|
export type WalletOptions = {
|
|
10
11
|
messenger?: RootMessenger<DefaultActions, DefaultEvents>;
|
|
11
12
|
state?: Record<string, Record<string, Json> | undefined>;
|
|
@@ -16,6 +17,7 @@ export type InstanceSpecificOptions = {
|
|
|
16
17
|
approvalController?: ApprovalControllerInstanceOptions;
|
|
17
18
|
connectivityController: ConnectivityControllerInstanceOptions;
|
|
18
19
|
keyringController?: KeyringControllerInstanceOptions;
|
|
20
|
+
networkController: NetworkControllerInstanceOptions;
|
|
19
21
|
remoteFeatureFlagController: RemoteFeatureFlagControllerInstanceOptions;
|
|
20
22
|
storageService: StorageServiceInstanceOptions;
|
|
21
23
|
};
|
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,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;
|
|
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,gCAAgC,EAAE,gEAA4D;AAC5G,OAAO,KAAK,EAAE,0CAA0C,EAAE,4EAAwE;AAClI,OAAO,KAAK,EAAE,6BAA6B,EAAE,6DAAyD;AACtG,OAAO,KAAK,EAAE,2BAA2B,EAAE,mCAA+B;AAE1E,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,iBAAiB,EAAE,gCAAgC,CAAC;IACpD,2BAA2B,EAAE,0CAA0C,CAAC;IACxE,cAAc,EAAE,6BAA6B,CAAC;CAC/C,CAAC"}
|
package/dist/types.d.mts
CHANGED
|
@@ -3,9 +3,10 @@ import type { DefaultActions, DefaultEvents, RootMessenger } from "./initializat
|
|
|
3
3
|
import type { ApprovalControllerInstanceOptions } from "./initialization/instances/approval-controller/types.mjs";
|
|
4
4
|
import type { ConnectivityControllerInstanceOptions } from "./initialization/instances/connectivity-controller/types.mjs";
|
|
5
5
|
import type { KeyringControllerInstanceOptions } from "./initialization/instances/keyring-controller/types.mjs";
|
|
6
|
+
import type { NetworkControllerInstanceOptions } from "./initialization/instances/network-controller/types.mjs";
|
|
6
7
|
import type { RemoteFeatureFlagControllerInstanceOptions } from "./initialization/instances/remote-feature-flag-controller/types.mjs";
|
|
7
8
|
import type { StorageServiceInstanceOptions } from "./initialization/instances/storage-service/types.mjs";
|
|
8
|
-
import { InitializationConfiguration } from "./initialization/types.mjs";
|
|
9
|
+
import type { InitializationConfiguration } from "./initialization/types.mjs";
|
|
9
10
|
export type WalletOptions = {
|
|
10
11
|
messenger?: RootMessenger<DefaultActions, DefaultEvents>;
|
|
11
12
|
state?: Record<string, Record<string, Json> | undefined>;
|
|
@@ -16,6 +17,7 @@ export type InstanceSpecificOptions = {
|
|
|
16
17
|
approvalController?: ApprovalControllerInstanceOptions;
|
|
17
18
|
connectivityController: ConnectivityControllerInstanceOptions;
|
|
18
19
|
keyringController?: KeyringControllerInstanceOptions;
|
|
20
|
+
networkController: NetworkControllerInstanceOptions;
|
|
19
21
|
remoteFeatureFlagController: RemoteFeatureFlagControllerInstanceOptions;
|
|
20
22
|
storageService: StorageServiceInstanceOptions;
|
|
21
23
|
};
|
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,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;
|
|
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,gCAAgC,EAAE,gEAA4D;AAC5G,OAAO,KAAK,EAAE,0CAA0C,EAAE,4EAAwE;AAClI,OAAO,KAAK,EAAE,6BAA6B,EAAE,6DAAyD;AACtG,OAAO,KAAK,EAAE,2BAA2B,EAAE,mCAA+B;AAE1E,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,iBAAiB,EAAE,gCAAgC,CAAC;IACpD,2BAA2B,EAAE,0CAA0C,CAAC;IACxE,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 { 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"]}
|
|
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 { NetworkControllerInstanceOptions } from './initialization/instances/network-controller/types';\nimport type { RemoteFeatureFlagControllerInstanceOptions } from './initialization/instances/remote-feature-flag-controller/types';\nimport type { StorageServiceInstanceOptions } from './initialization/instances/storage-service/types';\nimport type { 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 networkController: NetworkControllerInstanceOptions;\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": "4.0.0-preview-
|
|
3
|
+
"version": "4.0.0-preview-ed0047684",
|
|
4
4
|
"description": "Provides a shared framework for building MetaMask wallets",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ethereum",
|
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
"@metamask/controller-utils": "^12.3.0",
|
|
62
62
|
"@metamask/keyring-controller": "^27.1.0",
|
|
63
63
|
"@metamask/messenger": "^1.2.0",
|
|
64
|
+
"@metamask/network-controller": "^33.0.0",
|
|
64
65
|
"@metamask/remote-feature-flag-controller": "^4.2.2",
|
|
65
66
|
"@metamask/scure-bip39": "^2.1.1",
|
|
66
67
|
"@metamask/storage-service": "^1.0.2",
|