@metamask-previews/wallet 0.0.0-preview-598dbe642 → 0.0.0-preview-ea54cecca
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/dist/Wallet.cjs +10 -0
- package/dist/Wallet.cjs.map +1 -1
- package/dist/Wallet.d.cts +9 -1
- package/dist/Wallet.d.cts.map +1 -1
- package/dist/Wallet.d.mts +9 -1
- package/dist/Wallet.d.mts.map +1 -1
- package/dist/Wallet.mjs +10 -0
- package/dist/Wallet.mjs.map +1 -1
- package/package.json +1 -1
package/dist/Wallet.cjs
CHANGED
|
@@ -46,6 +46,16 @@ class Wallet {
|
|
|
46
46
|
get controllerMetadata() {
|
|
47
47
|
return __classPrivateFieldGet(this, _Wallet_controllerMetadata, "f");
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Get an instantiated controller or service.
|
|
51
|
+
*
|
|
52
|
+
* @param name - The name.
|
|
53
|
+
* @returns - The instance.
|
|
54
|
+
* @deprecated - Please use the messenger instead of direct access.
|
|
55
|
+
*/
|
|
56
|
+
getInstance(name) {
|
|
57
|
+
return __classPrivateFieldGet(this, _Wallet_instances, "f")[name];
|
|
58
|
+
}
|
|
49
59
|
async destroy() {
|
|
50
60
|
if (__classPrivateFieldGet(this, _Wallet_destroyed, "f")) {
|
|
51
61
|
return;
|
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,+DAA8C;AAG9C,MAAa,MAAM;IAYjB,YAAY,OAAsB;QAXlC,oEAAoE;QAC3D,oCAAyD;QAEzD,oCAA6B;QAE7B,6CAEP;QAEF,4BAAa,KAAK,EAAC;QAGjB,uBAAA,IAAI,qBAAc,IAAI,qBAAS,CAAC;YAC9B,SAAS,EAAE,QAAQ;SACpB,CAAC,MAAA,CAAC;QAEH,uBAAA,IAAI,qBAAc,IAAA,2BAAU,EAAC;YAC3B,OAAO;YACP,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,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CACxD,MAAA,CAAC;IACJ,CAAC;IAED,IAAI,SAAS;QACX,OAAO,uBAAA,IAAI,yBAAW,CAAC;IACzB,CAAC;IAED,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,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC;YAC1C,OAAO,UAAU,CAAC;QACpB,CAAC,EACD,EAAE,CACa,CAAC;IACpB,CAAC;IAED,IAAI,kBAAkB;QAGpB,OAAO,uBAAA,IAAI,kCAAoB,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,uBAAA,IAAI,yBAAW,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,uBAAA,IAAI,qBAAc,IAAI,MAAA,CAAC;QAEvB,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,6DAA6D;gBAC7D,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YAClC,CAAC;YACD,0BAA0B;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7C,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"Wallet.cjs","sourceRoot":"","sources":["../src/Wallet.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,mDAAgD;AAChD,2CAA8C;AAS9C,+DAA8C;AAG9C,MAAa,MAAM;IAYjB,YAAY,OAAsB;QAXlC,oEAAoE;QAC3D,oCAAyD;QAEzD,oCAA6B;QAE7B,6CAEP;QAEF,4BAAa,KAAK,EAAC;QAGjB,uBAAA,IAAI,qBAAc,IAAI,qBAAS,CAAC;YAC9B,SAAS,EAAE,QAAQ;SACpB,CAAC,MAAA,CAAC;QAEH,uBAAA,IAAI,qBAAc,IAAA,2BAAU,EAAC;YAC3B,OAAO;YACP,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,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CACxD,MAAA,CAAC;IACJ,CAAC;IAED,IAAI,SAAS;QACX,OAAO,uBAAA,IAAI,yBAAW,CAAC;IACzB,CAAC;IAED,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,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC;YAC1C,OAAO,UAAU,CAAC;QACpB,CAAC,EACD,EAAE,CACa,CAAC;IACpB,CAAC;IAED,IAAI,kBAAkB;QAGpB,OAAO,uBAAA,IAAI,kCAAoB,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,IAA4B;QACtC,OAAO,uBAAA,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,uBAAA,IAAI,yBAAW,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,uBAAA,IAAI,qBAAc,IAAI,MAAA,CAAC;QAEvB,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,6DAA6D;gBAC7D,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YAClC,CAAC;YACD,0BAA0B;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7C,CAAC;CACF;AAlFD,wBAkFC","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';\nimport { initialize } from './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 #destroyed = false;\n\n constructor(options: WalletOptions) {\n this.#messenger = new Messenger({\n namespace: 'Wallet',\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]) => [name, instance.metadata]),\n );\n }\n\n get messenger(): Readonly<RootMessenger<DefaultActions, DefaultEvents>> {\n return this.#messenger;\n }\n\n get state(): DefaultState {\n return Object.entries(this.#instances).reduce<Record<string, unknown>>(\n (totalState, [name, instance]) => {\n totalState[name] = instance.state ?? null;\n return totalState;\n },\n {},\n ) as DefaultState;\n }\n\n get controllerMetadata(): Readonly<\n Record<string, Readonly<StateMetadataConstraint>>\n > {\n return this.#controllerMetadata;\n }\n\n /**\n * Get an instantiated controller or service.\n * \n * @param name - The name.\n * @returns - The instance.\n * @deprecated - Please use the messenger instead of direct access.\n */\n getInstance(name: keyof DefaultInstances) {\n return this.#instances[name];\n }\n\n async destroy(): Promise<void> {\n if (this.#destroyed) {\n return;\n }\n\n this.#destroyed = 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 // eslint-disable-next-line @typescript-eslint/await-thenable\n return await instance.destroy();\n }\n /* istanbul ignore next */\n return undefined;\n }),\n );\n\n this.messenger.publish('Wallet:destroyed');\n }\n}\n"]}
|
package/dist/Wallet.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { StateMetadataConstraint } from "@metamask/base-controller";
|
|
2
|
-
import type { DefaultActions, DefaultEvents, DefaultState, RootMessenger } from "./initialization/index.cjs";
|
|
2
|
+
import type { DefaultActions, DefaultEvents, DefaultInstances, DefaultState, RootMessenger } from "./initialization/index.cjs";
|
|
3
3
|
import { WalletOptions } from "./types.cjs";
|
|
4
4
|
export declare class Wallet {
|
|
5
5
|
#private;
|
|
@@ -7,6 +7,14 @@ export declare class Wallet {
|
|
|
7
7
|
get messenger(): Readonly<RootMessenger<DefaultActions, DefaultEvents>>;
|
|
8
8
|
get state(): DefaultState;
|
|
9
9
|
get controllerMetadata(): Readonly<Record<string, Readonly<StateMetadataConstraint>>>;
|
|
10
|
+
/**
|
|
11
|
+
* Get an instantiated controller or service.
|
|
12
|
+
*
|
|
13
|
+
* @param name - The name.
|
|
14
|
+
* @returns - The instance.
|
|
15
|
+
* @deprecated - Please use the messenger instead of direct access.
|
|
16
|
+
*/
|
|
17
|
+
getInstance(name: keyof DefaultInstances): import("@metamask/keyring-controller").KeyringController<import("@metamask/browser-passworder").EncryptionKey | CryptoKey, import("@metamask/browser-passworder").KeyDerivationOptions, import("@metamask/keyring-controller").DefaultEncryptionResult<import("@metamask/browser-passworder").KeyDerivationOptions>>;
|
|
10
18
|
destroy(): Promise<void>;
|
|
11
19
|
}
|
|
12
20
|
//# sourceMappingURL=Wallet.d.cts.map
|
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,
|
|
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,mCAAyB;AAE1B,OAAO,EAAE,aAAa,EAAE,oBAAgB;AAExC,qBAAa,MAAM;;gBAYL,OAAO,EAAE,aAAa;IAiBlC,IAAI,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAEtE;IAED,IAAI,KAAK,IAAI,YAAY,CAQxB;IAED,IAAI,kBAAkB,IAAI,QAAQ,CAChC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAClD,CAEA;IAED;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,gBAAgB;IAIlC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB/B"}
|
package/dist/Wallet.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { StateMetadataConstraint } from "@metamask/base-controller";
|
|
2
|
-
import type { DefaultActions, DefaultEvents, DefaultState, RootMessenger } from "./initialization/index.mjs";
|
|
2
|
+
import type { DefaultActions, DefaultEvents, DefaultInstances, DefaultState, RootMessenger } from "./initialization/index.mjs";
|
|
3
3
|
import { WalletOptions } from "./types.mjs";
|
|
4
4
|
export declare class Wallet {
|
|
5
5
|
#private;
|
|
@@ -7,6 +7,14 @@ export declare class Wallet {
|
|
|
7
7
|
get messenger(): Readonly<RootMessenger<DefaultActions, DefaultEvents>>;
|
|
8
8
|
get state(): DefaultState;
|
|
9
9
|
get controllerMetadata(): Readonly<Record<string, Readonly<StateMetadataConstraint>>>;
|
|
10
|
+
/**
|
|
11
|
+
* Get an instantiated controller or service.
|
|
12
|
+
*
|
|
13
|
+
* @param name - The name.
|
|
14
|
+
* @returns - The instance.
|
|
15
|
+
* @deprecated - Please use the messenger instead of direct access.
|
|
16
|
+
*/
|
|
17
|
+
getInstance(name: keyof DefaultInstances): import("@metamask/keyring-controller").KeyringController<import("@metamask/browser-passworder").EncryptionKey | CryptoKey, import("@metamask/browser-passworder").KeyDerivationOptions, import("@metamask/keyring-controller").DefaultEncryptionResult<import("@metamask/browser-passworder").KeyDerivationOptions>>;
|
|
10
18
|
destroy(): Promise<void>;
|
|
11
19
|
}
|
|
12
20
|
//# sourceMappingURL=Wallet.d.mts.map
|
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,
|
|
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,mCAAyB;AAE1B,OAAO,EAAE,aAAa,EAAE,oBAAgB;AAExC,qBAAa,MAAM;;gBAYL,OAAO,EAAE,aAAa;IAiBlC,IAAI,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAEtE;IAED,IAAI,KAAK,IAAI,YAAY,CAQxB;IAED,IAAI,kBAAkB,IAAI,QAAQ,CAChC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAClD,CAEA;IAED;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,gBAAgB;IAIlC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB/B"}
|
package/dist/Wallet.mjs
CHANGED
|
@@ -43,6 +43,16 @@ export class Wallet {
|
|
|
43
43
|
get controllerMetadata() {
|
|
44
44
|
return __classPrivateFieldGet(this, _Wallet_controllerMetadata, "f");
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Get an instantiated controller or service.
|
|
48
|
+
*
|
|
49
|
+
* @param name - The name.
|
|
50
|
+
* @returns - The instance.
|
|
51
|
+
* @deprecated - Please use the messenger instead of direct access.
|
|
52
|
+
*/
|
|
53
|
+
getInstance(name) {
|
|
54
|
+
return __classPrivateFieldGet(this, _Wallet_instances, "f")[name];
|
|
55
|
+
}
|
|
46
56
|
async destroy() {
|
|
47
57
|
if (__classPrivateFieldGet(this, _Wallet_destroyed, "f")) {
|
|
48
58
|
return;
|
package/dist/Wallet.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,mCAAyB;AAG9C,MAAM,OAAO,MAAM;IAYjB,YAAY,OAAsB;QAXlC,oEAAoE;QAC3D,oCAAyD;QAEzD,oCAA6B;QAE7B,6CAEP;QAEF,4BAAa,KAAK,EAAC;QAGjB,uBAAA,IAAI,qBAAc,IAAI,SAAS,CAAC;YAC9B,SAAS,EAAE,QAAQ;SACpB,CAAC,MAAA,CAAC;QAEH,uBAAA,IAAI,qBAAc,UAAU,CAAC;YAC3B,OAAO;YACP,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,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CACxD,MAAA,CAAC;IACJ,CAAC;IAED,IAAI,SAAS;QACX,OAAO,uBAAA,IAAI,yBAAW,CAAC;IACzB,CAAC;IAED,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,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC;YAC1C,OAAO,UAAU,CAAC;QACpB,CAAC,EACD,EAAE,CACa,CAAC;IACpB,CAAC;IAED,IAAI,kBAAkB;QAGpB,OAAO,uBAAA,IAAI,kCAAoB,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,uBAAA,IAAI,yBAAW,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,uBAAA,IAAI,qBAAc,IAAI,MAAA,CAAC;QAEvB,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,6DAA6D;gBAC7D,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YAClC,CAAC;YACD,0BAA0B;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7C,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';\nimport { initialize } from './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 #destroyed = false;\n\n constructor(options: WalletOptions) {\n this.#messenger = new Messenger({\n namespace: 'Wallet',\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]) => [name, instance.metadata]),\n );\n }\n\n get messenger(): Readonly<RootMessenger<DefaultActions, DefaultEvents>> {\n return this.#messenger;\n }\n\n get state(): DefaultState {\n return Object.entries(this.#instances).reduce<Record<string, unknown>>(\n (totalState, [name, instance]) => {\n totalState[name] = instance.state ?? null;\n return totalState;\n },\n {},\n ) as DefaultState;\n }\n\n get controllerMetadata(): Readonly<\n Record<string, Readonly<StateMetadataConstraint>>\n > {\n return this.#controllerMetadata;\n }\n\n async destroy(): Promise<void> {\n if (this.#destroyed) {\n return;\n }\n\n this.#destroyed = 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 // eslint-disable-next-line @typescript-eslint/await-thenable\n return await instance.destroy();\n }\n /* istanbul ignore next */\n return undefined;\n }),\n );\n\n this.messenger.publish('Wallet:destroyed');\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,mCAAyB;AAG9C,MAAM,OAAO,MAAM;IAYjB,YAAY,OAAsB;QAXlC,oEAAoE;QAC3D,oCAAyD;QAEzD,oCAA6B;QAE7B,6CAEP;QAEF,4BAAa,KAAK,EAAC;QAGjB,uBAAA,IAAI,qBAAc,IAAI,SAAS,CAAC;YAC9B,SAAS,EAAE,QAAQ;SACpB,CAAC,MAAA,CAAC;QAEH,uBAAA,IAAI,qBAAc,UAAU,CAAC;YAC3B,OAAO;YACP,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,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CACxD,MAAA,CAAC;IACJ,CAAC;IAED,IAAI,SAAS;QACX,OAAO,uBAAA,IAAI,yBAAW,CAAC;IACzB,CAAC;IAED,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,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC;YAC1C,OAAO,UAAU,CAAC;QACpB,CAAC,EACD,EAAE,CACa,CAAC;IACpB,CAAC;IAED,IAAI,kBAAkB;QAGpB,OAAO,uBAAA,IAAI,kCAAoB,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,IAA4B;QACtC,OAAO,uBAAA,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,uBAAA,IAAI,yBAAW,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,uBAAA,IAAI,qBAAc,IAAI,MAAA,CAAC;QAEvB,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,6DAA6D;gBAC7D,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YAClC,CAAC;YACD,0BAA0B;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7C,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';\nimport { initialize } from './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 #destroyed = false;\n\n constructor(options: WalletOptions) {\n this.#messenger = new Messenger({\n namespace: 'Wallet',\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]) => [name, instance.metadata]),\n );\n }\n\n get messenger(): Readonly<RootMessenger<DefaultActions, DefaultEvents>> {\n return this.#messenger;\n }\n\n get state(): DefaultState {\n return Object.entries(this.#instances).reduce<Record<string, unknown>>(\n (totalState, [name, instance]) => {\n totalState[name] = instance.state ?? null;\n return totalState;\n },\n {},\n ) as DefaultState;\n }\n\n get controllerMetadata(): Readonly<\n Record<string, Readonly<StateMetadataConstraint>>\n > {\n return this.#controllerMetadata;\n }\n\n /**\n * Get an instantiated controller or service.\n * \n * @param name - The name.\n * @returns - The instance.\n * @deprecated - Please use the messenger instead of direct access.\n */\n getInstance(name: keyof DefaultInstances) {\n return this.#instances[name];\n }\n\n async destroy(): Promise<void> {\n if (this.#destroyed) {\n return;\n }\n\n this.#destroyed = 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 // eslint-disable-next-line @typescript-eslint/await-thenable\n return await instance.destroy();\n }\n /* istanbul ignore next */\n return undefined;\n }),\n );\n\n this.messenger.publish('Wallet:destroyed');\n }\n}\n"]}
|