@metamask/multichain-account-service 6.0.0 → 7.1.0
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 +29 -1
- package/dist/MultichainAccountService-method-action-types.cjs +7 -0
- package/dist/MultichainAccountService-method-action-types.cjs.map +1 -0
- package/dist/MultichainAccountService-method-action-types.d.cts +164 -0
- package/dist/MultichainAccountService-method-action-types.d.cts.map +1 -0
- package/dist/MultichainAccountService-method-action-types.d.mts +164 -0
- package/dist/MultichainAccountService-method-action-types.d.mts.map +1 -0
- package/dist/MultichainAccountService-method-action-types.mjs +6 -0
- package/dist/MultichainAccountService-method-action-types.mjs.map +1 -0
- package/dist/MultichainAccountService.cjs +22 -15
- package/dist/MultichainAccountService.cjs.map +1 -1
- package/dist/MultichainAccountService.d.cts +7 -1
- package/dist/MultichainAccountService.d.cts.map +1 -1
- package/dist/MultichainAccountService.d.mts +7 -1
- package/dist/MultichainAccountService.d.mts.map +1 -1
- package/dist/MultichainAccountService.mjs +22 -15
- package/dist/MultichainAccountService.mjs.map +1 -1
- package/dist/MultichainAccountWallet.cjs +4 -0
- package/dist/MultichainAccountWallet.cjs.map +1 -1
- package/dist/MultichainAccountWallet.d.cts.map +1 -1
- package/dist/MultichainAccountWallet.d.mts.map +1 -1
- package/dist/MultichainAccountWallet.mjs +4 -0
- package/dist/MultichainAccountWallet.mjs.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/providers/AccountProviderWrapper.cjs +3 -2
- package/dist/providers/AccountProviderWrapper.cjs.map +1 -1
- package/dist/providers/AccountProviderWrapper.d.cts +3 -7
- package/dist/providers/AccountProviderWrapper.d.cts.map +1 -1
- package/dist/providers/AccountProviderWrapper.d.mts +3 -7
- package/dist/providers/AccountProviderWrapper.d.mts.map +1 -1
- package/dist/providers/AccountProviderWrapper.mjs +3 -2
- package/dist/providers/AccountProviderWrapper.mjs.map +1 -1
- package/dist/providers/BaseBip44AccountProvider.cjs +2 -0
- package/dist/providers/BaseBip44AccountProvider.cjs.map +1 -1
- package/dist/providers/BaseBip44AccountProvider.d.cts +19 -5
- package/dist/providers/BaseBip44AccountProvider.d.cts.map +1 -1
- package/dist/providers/BaseBip44AccountProvider.d.mts +19 -5
- package/dist/providers/BaseBip44AccountProvider.d.mts.map +1 -1
- package/dist/providers/BaseBip44AccountProvider.mjs +2 -0
- package/dist/providers/BaseBip44AccountProvider.mjs.map +1 -1
- package/dist/providers/BtcAccountProvider.cjs +11 -1
- package/dist/providers/BtcAccountProvider.cjs.map +1 -1
- package/dist/providers/BtcAccountProvider.d.cts +3 -5
- package/dist/providers/BtcAccountProvider.d.cts.map +1 -1
- package/dist/providers/BtcAccountProvider.d.mts +3 -5
- package/dist/providers/BtcAccountProvider.d.mts.map +1 -1
- package/dist/providers/BtcAccountProvider.mjs +12 -2
- package/dist/providers/BtcAccountProvider.mjs.map +1 -1
- package/dist/providers/EvmAccountProvider.cjs +12 -4
- package/dist/providers/EvmAccountProvider.cjs.map +1 -1
- package/dist/providers/EvmAccountProvider.d.cts +4 -8
- package/dist/providers/EvmAccountProvider.d.cts.map +1 -1
- package/dist/providers/EvmAccountProvider.d.mts +4 -8
- package/dist/providers/EvmAccountProvider.d.mts.map +1 -1
- package/dist/providers/EvmAccountProvider.mjs +13 -5
- package/dist/providers/EvmAccountProvider.mjs.map +1 -1
- package/dist/providers/SnapAccountProvider.cjs +3 -1
- package/dist/providers/SnapAccountProvider.cjs.map +1 -1
- package/dist/providers/SnapAccountProvider.d.cts +2 -5
- package/dist/providers/SnapAccountProvider.d.cts.map +1 -1
- package/dist/providers/SnapAccountProvider.d.mts +2 -5
- package/dist/providers/SnapAccountProvider.d.mts.map +1 -1
- package/dist/providers/SnapAccountProvider.mjs +3 -1
- package/dist/providers/SnapAccountProvider.mjs.map +1 -1
- package/dist/providers/SolAccountProvider.cjs +13 -4
- package/dist/providers/SolAccountProvider.cjs.map +1 -1
- package/dist/providers/SolAccountProvider.d.cts +3 -5
- package/dist/providers/SolAccountProvider.d.cts.map +1 -1
- package/dist/providers/SolAccountProvider.d.mts +3 -5
- package/dist/providers/SolAccountProvider.d.mts.map +1 -1
- package/dist/providers/SolAccountProvider.mjs +12 -3
- package/dist/providers/SolAccountProvider.mjs.map +1 -1
- package/dist/providers/TrxAccountProvider.cjs +12 -2
- package/dist/providers/TrxAccountProvider.cjs.map +1 -1
- package/dist/providers/TrxAccountProvider.d.cts +3 -5
- package/dist/providers/TrxAccountProvider.d.cts.map +1 -1
- package/dist/providers/TrxAccountProvider.d.mts +3 -5
- package/dist/providers/TrxAccountProvider.d.mts.map +1 -1
- package/dist/providers/TrxAccountProvider.mjs +13 -3
- package/dist/providers/TrxAccountProvider.mjs.map +1 -1
- package/dist/snaps/SnapPlatformWatcher.cjs +8 -7
- package/dist/snaps/SnapPlatformWatcher.cjs.map +1 -1
- package/dist/snaps/SnapPlatformWatcher.d.cts +7 -1
- package/dist/snaps/SnapPlatformWatcher.d.cts.map +1 -1
- package/dist/snaps/SnapPlatformWatcher.d.mts +7 -1
- package/dist/snaps/SnapPlatformWatcher.d.mts.map +1 -1
- package/dist/snaps/SnapPlatformWatcher.mjs +8 -7
- package/dist/snaps/SnapPlatformWatcher.mjs.map +1 -1
- package/dist/tests/accounts.d.cts +21 -7
- package/dist/tests/accounts.d.cts.map +1 -1
- package/dist/tests/accounts.d.mts +21 -7
- package/dist/tests/accounts.d.mts.map +1 -1
- package/dist/tests/providers.cjs +12 -0
- package/dist/tests/providers.cjs.map +1 -1
- package/dist/tests/providers.d.cts +2 -1
- package/dist/tests/providers.d.cts.map +1 -1
- package/dist/tests/providers.d.mts +2 -1
- package/dist/tests/providers.d.mts.map +1 -1
- package/dist/tests/providers.mjs +12 -0
- package/dist/tests/providers.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +3 -54
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +3 -54
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/package.json +14 -13
|
@@ -9,18 +9,20 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _SnapPlatformWatcher_instances, _SnapPlatformWatcher_messenger, _SnapPlatformWatcher_isReadyOnce, _SnapPlatformWatcher_isReady, _SnapPlatformWatcher_watch;
|
|
12
|
+
var _SnapPlatformWatcher_instances, _SnapPlatformWatcher_messenger, _SnapPlatformWatcher_ensureOnboardingComplete, _SnapPlatformWatcher_isReadyOnce, _SnapPlatformWatcher_isReady, _SnapPlatformWatcher_watch;
|
|
13
13
|
import { createDeferredPromise } from "@metamask/utils";
|
|
14
14
|
import $lodash from "lodash";
|
|
15
15
|
const { once } = $lodash;
|
|
16
16
|
import { projectLogger as log } from "../logger.mjs";
|
|
17
17
|
export class SnapPlatformWatcher {
|
|
18
|
-
constructor(messenger) {
|
|
18
|
+
constructor(messenger, options = {}) {
|
|
19
19
|
_SnapPlatformWatcher_instances.add(this);
|
|
20
20
|
_SnapPlatformWatcher_messenger.set(this, void 0);
|
|
21
|
+
_SnapPlatformWatcher_ensureOnboardingComplete.set(this, void 0);
|
|
21
22
|
_SnapPlatformWatcher_isReadyOnce.set(this, void 0);
|
|
22
23
|
_SnapPlatformWatcher_isReady.set(this, void 0);
|
|
23
24
|
__classPrivateFieldSet(this, _SnapPlatformWatcher_messenger, messenger, "f");
|
|
25
|
+
__classPrivateFieldSet(this, _SnapPlatformWatcher_ensureOnboardingComplete, options.ensureOnboardingComplete, "f");
|
|
24
26
|
__classPrivateFieldSet(this, _SnapPlatformWatcher_isReady, false, "f");
|
|
25
27
|
__classPrivateFieldSet(this, _SnapPlatformWatcher_isReadyOnce, createDeferredPromise(), "f");
|
|
26
28
|
__classPrivateFieldGet(this, _SnapPlatformWatcher_instances, "m", _SnapPlatformWatcher_watch).call(this);
|
|
@@ -29,23 +31,22 @@ export class SnapPlatformWatcher {
|
|
|
29
31
|
return __classPrivateFieldGet(this, _SnapPlatformWatcher_isReady, "f");
|
|
30
32
|
}
|
|
31
33
|
async ensureCanUseSnapPlatform() {
|
|
32
|
-
//
|
|
34
|
+
// When ensureOnboardingComplete is provided, wait for the onboarding first.
|
|
35
|
+
await __classPrivateFieldGet(this, _SnapPlatformWatcher_ensureOnboardingComplete, "f")?.call(this);
|
|
36
|
+
// In all cases, we also require the Snap platform to be ready and available.
|
|
33
37
|
await __classPrivateFieldGet(this, _SnapPlatformWatcher_isReadyOnce, "f").promise;
|
|
34
|
-
// Then, we check for the current state and see if we can use it.
|
|
35
38
|
if (!__classPrivateFieldGet(this, _SnapPlatformWatcher_isReady, "f")) {
|
|
36
39
|
throw new Error('Snap platform cannot be used now.');
|
|
37
40
|
}
|
|
38
41
|
}
|
|
39
42
|
}
|
|
40
|
-
_SnapPlatformWatcher_messenger = new WeakMap(), _SnapPlatformWatcher_isReadyOnce = new WeakMap(), _SnapPlatformWatcher_isReady = new WeakMap(), _SnapPlatformWatcher_instances = new WeakSet(), _SnapPlatformWatcher_watch = function _SnapPlatformWatcher_watch() {
|
|
43
|
+
_SnapPlatformWatcher_messenger = new WeakMap(), _SnapPlatformWatcher_ensureOnboardingComplete = new WeakMap(), _SnapPlatformWatcher_isReadyOnce = new WeakMap(), _SnapPlatformWatcher_isReady = new WeakMap(), _SnapPlatformWatcher_instances = new WeakSet(), _SnapPlatformWatcher_watch = function _SnapPlatformWatcher_watch() {
|
|
41
44
|
const logReadyOnce = once(() => log('Snap platform is ready!'));
|
|
42
|
-
// If already ready, resolve immediately.
|
|
43
45
|
const initialState = __classPrivateFieldGet(this, _SnapPlatformWatcher_messenger, "f").call('SnapController:getState');
|
|
44
46
|
if (initialState.isReady) {
|
|
45
47
|
__classPrivateFieldSet(this, _SnapPlatformWatcher_isReady, true, "f");
|
|
46
48
|
__classPrivateFieldGet(this, _SnapPlatformWatcher_isReadyOnce, "f").resolve();
|
|
47
49
|
}
|
|
48
|
-
// We still subscribe to state changes to keep track of the platform's readiness.
|
|
49
50
|
__classPrivateFieldGet(this, _SnapPlatformWatcher_messenger, "f").subscribe('SnapController:stateChange', (isReady) => {
|
|
50
51
|
__classPrivateFieldSet(this, _SnapPlatformWatcher_isReady, isReady, "f");
|
|
51
52
|
if (isReady) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnapPlatformWatcher.mjs","sourceRoot":"","sources":["../../src/snaps/SnapPlatformWatcher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,qBAAqB,EAAmB,wBAAwB;;;AAGzE,OAAO,EAAE,aAAa,IAAI,GAAG,EAAE,sBAAkB;
|
|
1
|
+
{"version":3,"file":"SnapPlatformWatcher.mjs","sourceRoot":"","sources":["../../src/snaps/SnapPlatformWatcher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,qBAAqB,EAAmB,wBAAwB;;;AAGzE,OAAO,EAAE,aAAa,IAAI,GAAG,EAAE,sBAAkB;AAUjD,MAAM,OAAO,mBAAmB;IAS9B,YACE,SAA4C,EAC5C,UAAsC,EAAE;;QAVjC,iDAA8C;QAE9C,gEAAgD;QAEhD,mDAAoC;QAE7C,+CAAkB;QAMhB,uBAAA,IAAI,kCAAc,SAAS,MAAA,CAAC;QAC5B,uBAAA,IAAI,iDAA6B,OAAO,CAAC,wBAAwB,MAAA,CAAC;QAElE,uBAAA,IAAI,gCAAY,KAAK,MAAA,CAAC;QACtB,uBAAA,IAAI,oCAAgB,qBAAqB,EAAQ,MAAA,CAAC;QAElD,uBAAA,IAAI,kEAAO,MAAX,IAAI,CAAS,CAAC;IAChB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,uBAAA,IAAI,oCAAS,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,4EAA4E;QAC5E,MAAM,uBAAA,IAAI,qDAA0B,EAAE,KAAhC,IAAI,CAA8B,CAAC;QAEzC,6EAA6E;QAC7E,MAAM,uBAAA,IAAI,wCAAa,CAAC,OAAO,CAAC;QAEhC,IAAI,CAAC,uBAAA,IAAI,oCAAS,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;CAwBF;;IArBG,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAEhE,MAAM,YAAY,GAAG,uBAAA,IAAI,sCAAW,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACrE,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QACzB,uBAAA,IAAI,gCAAY,IAAI,MAAA,CAAC;QACrB,uBAAA,IAAI,wCAAa,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,uBAAA,IAAI,sCAAW,CAAC,SAAS,CACvB,4BAA4B,EAC5B,CAAC,OAAgB,EAAE,EAAE;QACnB,uBAAA,IAAI,gCAAY,OAAO,MAAA,CAAC;QAExB,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,EAAE,CAAC;YACf,uBAAA,IAAI,wCAAa,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CACzB,CAAC;AACJ,CAAC","sourcesContent":["import { createDeferredPromise, DeferredPromise } from '@metamask/utils';\nimport { once } from 'lodash';\n\nimport { projectLogger as log } from '../logger';\nimport { MultichainAccountServiceMessenger } from '../types';\n\nexport type SnapPlatformWatcherOptions = {\n /**\n * Resolves when onboarding is complete.\n */\n ensureOnboardingComplete?: () => Promise<void>;\n};\n\nexport class SnapPlatformWatcher {\n readonly #messenger: MultichainAccountServiceMessenger;\n\n readonly #ensureOnboardingComplete?: () => Promise<void>;\n\n readonly #isReadyOnce: DeferredPromise<void>;\n\n #isReady: boolean;\n\n constructor(\n messenger: MultichainAccountServiceMessenger,\n options: SnapPlatformWatcherOptions = {},\n ) {\n this.#messenger = messenger;\n this.#ensureOnboardingComplete = options.ensureOnboardingComplete;\n\n this.#isReady = false;\n this.#isReadyOnce = createDeferredPromise<void>();\n\n this.#watch();\n }\n\n get isReady(): boolean {\n return this.#isReady;\n }\n\n async ensureCanUseSnapPlatform(): Promise<void> {\n // When ensureOnboardingComplete is provided, wait for the onboarding first.\n await this.#ensureOnboardingComplete?.();\n\n // In all cases, we also require the Snap platform to be ready and available.\n await this.#isReadyOnce.promise;\n\n if (!this.#isReady) {\n throw new Error('Snap platform cannot be used now.');\n }\n }\n\n #watch(): void {\n const logReadyOnce = once(() => log('Snap platform is ready!'));\n\n const initialState = this.#messenger.call('SnapController:getState');\n if (initialState.isReady) {\n this.#isReady = true;\n this.#isReadyOnce.resolve();\n }\n\n this.#messenger.subscribe(\n 'SnapController:stateChange',\n (isReady: boolean) => {\n this.#isReady = isReady;\n\n if (isReady) {\n logReadyOnce();\n this.#isReadyOnce.resolve();\n }\n },\n (state) => state.isReady,\n );\n }\n}\n"]}
|
|
@@ -60,6 +60,8 @@ export declare const MOCK_SNAP_ACCOUNT_1: Bip44Account<{
|
|
|
60
60
|
groupIndex: number;
|
|
61
61
|
} | {
|
|
62
62
|
type: "private-key";
|
|
63
|
+
} | {
|
|
64
|
+
type: "custom";
|
|
63
65
|
} | undefined;
|
|
64
66
|
exportable?: boolean | undefined;
|
|
65
67
|
};
|
|
@@ -69,12 +71,12 @@ export declare const MOCK_SNAP_ACCOUNT_1: Bip44Account<{
|
|
|
69
71
|
keyring: {
|
|
70
72
|
type: string;
|
|
71
73
|
};
|
|
72
|
-
nameLastUpdatedAt?: number | undefined;
|
|
73
74
|
snap?: {
|
|
74
75
|
name: string;
|
|
75
76
|
id: string;
|
|
76
77
|
enabled: boolean;
|
|
77
78
|
} | undefined;
|
|
79
|
+
nameLastUpdatedAt?: number | undefined;
|
|
78
80
|
lastSelected?: number | undefined;
|
|
79
81
|
};
|
|
80
82
|
address: string;
|
|
@@ -93,6 +95,8 @@ export declare const MOCK_SNAP_ACCOUNT_3: Bip44Account<{
|
|
|
93
95
|
groupIndex: number;
|
|
94
96
|
} | {
|
|
95
97
|
type: "private-key";
|
|
98
|
+
} | {
|
|
99
|
+
type: "custom";
|
|
96
100
|
} | undefined;
|
|
97
101
|
exportable?: boolean | undefined;
|
|
98
102
|
};
|
|
@@ -102,12 +106,12 @@ export declare const MOCK_SNAP_ACCOUNT_3: Bip44Account<{
|
|
|
102
106
|
keyring: {
|
|
103
107
|
type: string;
|
|
104
108
|
};
|
|
105
|
-
nameLastUpdatedAt?: number | undefined;
|
|
106
109
|
snap?: {
|
|
107
110
|
name: string;
|
|
108
111
|
id: string;
|
|
109
112
|
enabled: boolean;
|
|
110
113
|
} | undefined;
|
|
114
|
+
nameLastUpdatedAt?: number | undefined;
|
|
111
115
|
lastSelected?: number | undefined;
|
|
112
116
|
};
|
|
113
117
|
address: string;
|
|
@@ -125,6 +129,8 @@ export declare const MOCK_SNAP_ACCOUNT_4: Bip44Account<{
|
|
|
125
129
|
groupIndex: number;
|
|
126
130
|
} | {
|
|
127
131
|
type: "private-key";
|
|
132
|
+
} | {
|
|
133
|
+
type: "custom";
|
|
128
134
|
} | undefined;
|
|
129
135
|
exportable?: boolean | undefined;
|
|
130
136
|
};
|
|
@@ -134,12 +140,12 @@ export declare const MOCK_SNAP_ACCOUNT_4: Bip44Account<{
|
|
|
134
140
|
keyring: {
|
|
135
141
|
type: string;
|
|
136
142
|
};
|
|
137
|
-
nameLastUpdatedAt?: number | undefined;
|
|
138
143
|
snap?: {
|
|
139
144
|
name: string;
|
|
140
145
|
id: string;
|
|
141
146
|
enabled: boolean;
|
|
142
147
|
} | undefined;
|
|
148
|
+
nameLastUpdatedAt?: number | undefined;
|
|
143
149
|
lastSelected?: number | undefined;
|
|
144
150
|
};
|
|
145
151
|
address: string;
|
|
@@ -173,6 +179,8 @@ export declare const MOCK_WALLET_1_EVM_ACCOUNT: Bip44Account<{
|
|
|
173
179
|
groupIndex: number;
|
|
174
180
|
} | {
|
|
175
181
|
type: "private-key";
|
|
182
|
+
} | {
|
|
183
|
+
type: "custom";
|
|
176
184
|
} | undefined;
|
|
177
185
|
exportable?: boolean | undefined;
|
|
178
186
|
};
|
|
@@ -182,12 +190,12 @@ export declare const MOCK_WALLET_1_EVM_ACCOUNT: Bip44Account<{
|
|
|
182
190
|
keyring: {
|
|
183
191
|
type: string;
|
|
184
192
|
};
|
|
185
|
-
nameLastUpdatedAt?: number | undefined;
|
|
186
193
|
snap?: {
|
|
187
194
|
name: string;
|
|
188
195
|
id: string;
|
|
189
196
|
enabled: boolean;
|
|
190
197
|
} | undefined;
|
|
198
|
+
nameLastUpdatedAt?: number | undefined;
|
|
191
199
|
lastSelected?: number | undefined;
|
|
192
200
|
};
|
|
193
201
|
address: string;
|
|
@@ -205,6 +213,8 @@ export declare const MOCK_WALLET_1_SOL_ACCOUNT: Bip44Account<{
|
|
|
205
213
|
groupIndex: number;
|
|
206
214
|
} | {
|
|
207
215
|
type: "private-key";
|
|
216
|
+
} | {
|
|
217
|
+
type: "custom";
|
|
208
218
|
} | undefined;
|
|
209
219
|
exportable?: boolean | undefined;
|
|
210
220
|
};
|
|
@@ -214,12 +224,12 @@ export declare const MOCK_WALLET_1_SOL_ACCOUNT: Bip44Account<{
|
|
|
214
224
|
keyring: {
|
|
215
225
|
type: string;
|
|
216
226
|
};
|
|
217
|
-
nameLastUpdatedAt?: number | undefined;
|
|
218
227
|
snap?: {
|
|
219
228
|
name: string;
|
|
220
229
|
id: string;
|
|
221
230
|
enabled: boolean;
|
|
222
231
|
} | undefined;
|
|
232
|
+
nameLastUpdatedAt?: number | undefined;
|
|
223
233
|
lastSelected?: number | undefined;
|
|
224
234
|
};
|
|
225
235
|
address: string;
|
|
@@ -237,6 +247,8 @@ export declare const MOCK_WALLET_1_BTC_P2WPKH_ACCOUNT: Bip44Account<{
|
|
|
237
247
|
groupIndex: number;
|
|
238
248
|
} | {
|
|
239
249
|
type: "private-key";
|
|
250
|
+
} | {
|
|
251
|
+
type: "custom";
|
|
240
252
|
} | undefined;
|
|
241
253
|
exportable?: boolean | undefined;
|
|
242
254
|
};
|
|
@@ -246,12 +258,12 @@ export declare const MOCK_WALLET_1_BTC_P2WPKH_ACCOUNT: Bip44Account<{
|
|
|
246
258
|
keyring: {
|
|
247
259
|
type: string;
|
|
248
260
|
};
|
|
249
|
-
nameLastUpdatedAt?: number | undefined;
|
|
250
261
|
snap?: {
|
|
251
262
|
name: string;
|
|
252
263
|
id: string;
|
|
253
264
|
enabled: boolean;
|
|
254
265
|
} | undefined;
|
|
266
|
+
nameLastUpdatedAt?: number | undefined;
|
|
255
267
|
lastSelected?: number | undefined;
|
|
256
268
|
};
|
|
257
269
|
address: string;
|
|
@@ -269,6 +281,8 @@ export declare const MOCK_WALLET_1_BTC_P2TR_ACCOUNT: Bip44Account<{
|
|
|
269
281
|
groupIndex: number;
|
|
270
282
|
} | {
|
|
271
283
|
type: "private-key";
|
|
284
|
+
} | {
|
|
285
|
+
type: "custom";
|
|
272
286
|
} | undefined;
|
|
273
287
|
exportable?: boolean | undefined;
|
|
274
288
|
};
|
|
@@ -278,12 +292,12 @@ export declare const MOCK_WALLET_1_BTC_P2TR_ACCOUNT: Bip44Account<{
|
|
|
278
292
|
keyring: {
|
|
279
293
|
type: string;
|
|
280
294
|
};
|
|
281
|
-
nameLastUpdatedAt?: number | undefined;
|
|
282
295
|
snap?: {
|
|
283
296
|
name: string;
|
|
284
297
|
id: string;
|
|
285
298
|
enabled: boolean;
|
|
286
299
|
} | undefined;
|
|
300
|
+
nameLastUpdatedAt?: number | undefined;
|
|
287
301
|
lastSelected?: number | undefined;
|
|
288
302
|
};
|
|
289
303
|
address: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.cts","sourceRoot":"","sources":["../../src/tests/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B;AAE1D,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,cAAc,EACf,8BAA8B;AAC/B,OAAO,EAKL,SAAS,EASV,8BAA8B;AAC/B,OAAO,EAAE,YAAY,EAAE,qCAAqC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,4BAA4B;AAGlD,eAAO,MAAM,eAAe,+JAOlB,CAAC;AAIX,eAAO,MAAM,WAAW;;;;;;;CAOvB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;CAOvB,CAAC;AAEF,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AACzD,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD,eAAO,MAAM,aAAa,yFAC8D,CAAC;AAEzF,eAAO,MAAM,iBAAiB;;;;;;;CAI7B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;CAI7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,eAAe,CAqB3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,eAAe,CAqB3D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,eAAe,CAsB5D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,eAAe,CAsB5D,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,iBAI3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,iBAI3C,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,iBAIhD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,YAAY,CAAC,eAAe,CA2BnE,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,eAAe,CA2BjE,CAAC;AAEF,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"accounts.d.cts","sourceRoot":"","sources":["../../src/tests/accounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,6 +60,8 @@ export declare const MOCK_SNAP_ACCOUNT_1: Bip44Account<{
|
|
|
60
60
|
groupIndex: number;
|
|
61
61
|
} | {
|
|
62
62
|
type: "private-key";
|
|
63
|
+
} | {
|
|
64
|
+
type: "custom";
|
|
63
65
|
} | undefined;
|
|
64
66
|
exportable?: boolean | undefined;
|
|
65
67
|
};
|
|
@@ -69,12 +71,12 @@ export declare const MOCK_SNAP_ACCOUNT_1: Bip44Account<{
|
|
|
69
71
|
keyring: {
|
|
70
72
|
type: string;
|
|
71
73
|
};
|
|
72
|
-
nameLastUpdatedAt?: number | undefined;
|
|
73
74
|
snap?: {
|
|
74
75
|
name: string;
|
|
75
76
|
id: string;
|
|
76
77
|
enabled: boolean;
|
|
77
78
|
} | undefined;
|
|
79
|
+
nameLastUpdatedAt?: number | undefined;
|
|
78
80
|
lastSelected?: number | undefined;
|
|
79
81
|
};
|
|
80
82
|
address: string;
|
|
@@ -93,6 +95,8 @@ export declare const MOCK_SNAP_ACCOUNT_3: Bip44Account<{
|
|
|
93
95
|
groupIndex: number;
|
|
94
96
|
} | {
|
|
95
97
|
type: "private-key";
|
|
98
|
+
} | {
|
|
99
|
+
type: "custom";
|
|
96
100
|
} | undefined;
|
|
97
101
|
exportable?: boolean | undefined;
|
|
98
102
|
};
|
|
@@ -102,12 +106,12 @@ export declare const MOCK_SNAP_ACCOUNT_3: Bip44Account<{
|
|
|
102
106
|
keyring: {
|
|
103
107
|
type: string;
|
|
104
108
|
};
|
|
105
|
-
nameLastUpdatedAt?: number | undefined;
|
|
106
109
|
snap?: {
|
|
107
110
|
name: string;
|
|
108
111
|
id: string;
|
|
109
112
|
enabled: boolean;
|
|
110
113
|
} | undefined;
|
|
114
|
+
nameLastUpdatedAt?: number | undefined;
|
|
111
115
|
lastSelected?: number | undefined;
|
|
112
116
|
};
|
|
113
117
|
address: string;
|
|
@@ -125,6 +129,8 @@ export declare const MOCK_SNAP_ACCOUNT_4: Bip44Account<{
|
|
|
125
129
|
groupIndex: number;
|
|
126
130
|
} | {
|
|
127
131
|
type: "private-key";
|
|
132
|
+
} | {
|
|
133
|
+
type: "custom";
|
|
128
134
|
} | undefined;
|
|
129
135
|
exportable?: boolean | undefined;
|
|
130
136
|
};
|
|
@@ -134,12 +140,12 @@ export declare const MOCK_SNAP_ACCOUNT_4: Bip44Account<{
|
|
|
134
140
|
keyring: {
|
|
135
141
|
type: string;
|
|
136
142
|
};
|
|
137
|
-
nameLastUpdatedAt?: number | undefined;
|
|
138
143
|
snap?: {
|
|
139
144
|
name: string;
|
|
140
145
|
id: string;
|
|
141
146
|
enabled: boolean;
|
|
142
147
|
} | undefined;
|
|
148
|
+
nameLastUpdatedAt?: number | undefined;
|
|
143
149
|
lastSelected?: number | undefined;
|
|
144
150
|
};
|
|
145
151
|
address: string;
|
|
@@ -173,6 +179,8 @@ export declare const MOCK_WALLET_1_EVM_ACCOUNT: Bip44Account<{
|
|
|
173
179
|
groupIndex: number;
|
|
174
180
|
} | {
|
|
175
181
|
type: "private-key";
|
|
182
|
+
} | {
|
|
183
|
+
type: "custom";
|
|
176
184
|
} | undefined;
|
|
177
185
|
exportable?: boolean | undefined;
|
|
178
186
|
};
|
|
@@ -182,12 +190,12 @@ export declare const MOCK_WALLET_1_EVM_ACCOUNT: Bip44Account<{
|
|
|
182
190
|
keyring: {
|
|
183
191
|
type: string;
|
|
184
192
|
};
|
|
185
|
-
nameLastUpdatedAt?: number | undefined;
|
|
186
193
|
snap?: {
|
|
187
194
|
name: string;
|
|
188
195
|
id: string;
|
|
189
196
|
enabled: boolean;
|
|
190
197
|
} | undefined;
|
|
198
|
+
nameLastUpdatedAt?: number | undefined;
|
|
191
199
|
lastSelected?: number | undefined;
|
|
192
200
|
};
|
|
193
201
|
address: string;
|
|
@@ -205,6 +213,8 @@ export declare const MOCK_WALLET_1_SOL_ACCOUNT: Bip44Account<{
|
|
|
205
213
|
groupIndex: number;
|
|
206
214
|
} | {
|
|
207
215
|
type: "private-key";
|
|
216
|
+
} | {
|
|
217
|
+
type: "custom";
|
|
208
218
|
} | undefined;
|
|
209
219
|
exportable?: boolean | undefined;
|
|
210
220
|
};
|
|
@@ -214,12 +224,12 @@ export declare const MOCK_WALLET_1_SOL_ACCOUNT: Bip44Account<{
|
|
|
214
224
|
keyring: {
|
|
215
225
|
type: string;
|
|
216
226
|
};
|
|
217
|
-
nameLastUpdatedAt?: number | undefined;
|
|
218
227
|
snap?: {
|
|
219
228
|
name: string;
|
|
220
229
|
id: string;
|
|
221
230
|
enabled: boolean;
|
|
222
231
|
} | undefined;
|
|
232
|
+
nameLastUpdatedAt?: number | undefined;
|
|
223
233
|
lastSelected?: number | undefined;
|
|
224
234
|
};
|
|
225
235
|
address: string;
|
|
@@ -237,6 +247,8 @@ export declare const MOCK_WALLET_1_BTC_P2WPKH_ACCOUNT: Bip44Account<{
|
|
|
237
247
|
groupIndex: number;
|
|
238
248
|
} | {
|
|
239
249
|
type: "private-key";
|
|
250
|
+
} | {
|
|
251
|
+
type: "custom";
|
|
240
252
|
} | undefined;
|
|
241
253
|
exportable?: boolean | undefined;
|
|
242
254
|
};
|
|
@@ -246,12 +258,12 @@ export declare const MOCK_WALLET_1_BTC_P2WPKH_ACCOUNT: Bip44Account<{
|
|
|
246
258
|
keyring: {
|
|
247
259
|
type: string;
|
|
248
260
|
};
|
|
249
|
-
nameLastUpdatedAt?: number | undefined;
|
|
250
261
|
snap?: {
|
|
251
262
|
name: string;
|
|
252
263
|
id: string;
|
|
253
264
|
enabled: boolean;
|
|
254
265
|
} | undefined;
|
|
266
|
+
nameLastUpdatedAt?: number | undefined;
|
|
255
267
|
lastSelected?: number | undefined;
|
|
256
268
|
};
|
|
257
269
|
address: string;
|
|
@@ -269,6 +281,8 @@ export declare const MOCK_WALLET_1_BTC_P2TR_ACCOUNT: Bip44Account<{
|
|
|
269
281
|
groupIndex: number;
|
|
270
282
|
} | {
|
|
271
283
|
type: "private-key";
|
|
284
|
+
} | {
|
|
285
|
+
type: "custom";
|
|
272
286
|
} | undefined;
|
|
273
287
|
exportable?: boolean | undefined;
|
|
274
288
|
};
|
|
@@ -278,12 +292,12 @@ export declare const MOCK_WALLET_1_BTC_P2TR_ACCOUNT: Bip44Account<{
|
|
|
278
292
|
keyring: {
|
|
279
293
|
type: string;
|
|
280
294
|
};
|
|
281
|
-
nameLastUpdatedAt?: number | undefined;
|
|
282
295
|
snap?: {
|
|
283
296
|
name: string;
|
|
284
297
|
id: string;
|
|
285
298
|
enabled: boolean;
|
|
286
299
|
} | undefined;
|
|
300
|
+
nameLastUpdatedAt?: number | undefined;
|
|
287
301
|
lastSelected?: number | undefined;
|
|
288
302
|
};
|
|
289
303
|
address: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.mts","sourceRoot":"","sources":["../../src/tests/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B;AAE1D,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,cAAc,EACf,8BAA8B;AAC/B,OAAO,EAKL,SAAS,EASV,8BAA8B;AAC/B,OAAO,EAAE,YAAY,EAAE,qCAAqC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,4BAA4B;AAGlD,eAAO,MAAM,eAAe,+JAOlB,CAAC;AAIX,eAAO,MAAM,WAAW;;;;;;;CAOvB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;CAOvB,CAAC;AAEF,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AACzD,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD,eAAO,MAAM,aAAa,yFAC8D,CAAC;AAEzF,eAAO,MAAM,iBAAiB;;;;;;;CAI7B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;CAI7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,eAAe,CAqB3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,eAAe,CAqB3D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,eAAe,CAsB5D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,eAAe,CAsB5D,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,iBAI3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,iBAI3C,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,iBAIhD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,YAAY,CAAC,eAAe,CA2BnE,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,eAAe,CA2BjE,CAAC;AAEF,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"accounts.d.mts","sourceRoot":"","sources":["../../src/tests/accounts.ts"],"names":[],"mappings":"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"}
|
package/dist/tests/providers.cjs
CHANGED
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mockCreateAccountsOnce = exports.setupBip44AccountProvider = exports.makeMockAccountProvider = void 0;
|
|
4
|
+
const keyring_api_1 = require("@metamask/keyring-api");
|
|
4
5
|
const providers_1 = require("../providers/index.cjs");
|
|
5
6
|
function makeMockAccountProvider(accounts = []) {
|
|
6
7
|
return {
|
|
7
8
|
mockAccounts: accounts,
|
|
8
9
|
accounts: new Set(),
|
|
10
|
+
capabilities: {
|
|
11
|
+
scopes: [
|
|
12
|
+
keyring_api_1.SolScope.Devnet,
|
|
13
|
+
keyring_api_1.SolScope.Testnet,
|
|
14
|
+
keyring_api_1.BtcScope.Testnet,
|
|
15
|
+
keyring_api_1.TrxScope.Shasta,
|
|
16
|
+
keyring_api_1.EthScope.Eoa,
|
|
17
|
+
],
|
|
18
|
+
bip44: { deriveIndex: true },
|
|
19
|
+
},
|
|
9
20
|
constructor: jest.fn(),
|
|
10
21
|
alignAccounts: jest.fn(),
|
|
11
22
|
init: jest.fn(),
|
|
@@ -46,6 +57,7 @@ function setupBip44AccountProvider({ name = 'Mocked Provider', accounts, mocks =
|
|
|
46
57
|
return ids;
|
|
47
58
|
}
|
|
48
59
|
const createdAccounts = await mocks.createAccounts({
|
|
60
|
+
type: keyring_api_1.AccountCreationType.Bip44DeriveIndex,
|
|
49
61
|
entropySource,
|
|
50
62
|
groupIndex,
|
|
51
63
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.cjs","sourceRoot":"","sources":["../../src/tests/providers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"providers.cjs","sourceRoot":"","sources":["../../src/tests/providers.ts"],"names":[],"mappings":";;;AACA,uDAM+B;AAQ/B,sDAIsB;AAqBtB,SAAgB,uBAAuB,CACrC,WAA6B,EAAE;IAE/B,OAAO;QACL,YAAY,EAAE,QAAQ;QACtB,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,YAAY,EAAE;YACZ,MAAM,EAAE;gBACN,sBAAQ,CAAC,MAAM;gBACf,sBAAQ,CAAC,OAAO;gBAChB,sBAAQ,CAAC,OAAO;gBAChB,sBAAQ,CAAC,MAAM;gBACf,sBAAQ,CAAC,GAAG;aACb;YACD,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;SAC7B;QACD,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;QACtB,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;QACxB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACf,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;QACzB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;QACrB,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;QACtB,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;QACzB,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;QAC3B,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE;QAC9B,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;QAClB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;QACrB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AA9BD,0DA8BC;AAED,SAAgB,yBAAyB,CAAC,EACxC,IAAI,GAAG,iBAAiB,EACxB,QAAQ,EACR,KAAK,GAAG,uBAAuB,EAAE,EACjC,KAAK,GAON;IACC,8DAA8D;IAC9D,eAAe;IACf,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;IAC9B,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,4BAA4B;IAC5B,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,OAAgB,EAAE,EAAE;QACvD,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAE5D,MAAM,WAAW,GAAG,GAAqB,EAAE,CACzC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACpC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CACzC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAE7C,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAClD,KAAK,CAAC,UAAU,CAAC,kBAAkB,CACjC,CAAC,EAAsC,EAAE,EAAE;IACzC,6BAA6B;IAC7B,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CACrD,CAAC;IACF,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC3C,KAAK,CAAC,aAAa,CAAC,kBAAkB,CACpC,KAAK,EAAE,EACL,aAAa,EACb,UAAU,GAIX,EAAE,EAAE;QACH,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;YACvB,MAAM,YAAY,GAChB,kCAAsB,CAAC,SAMxB,CAAC,aAAa,CAAC;YAChB,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,IAAI,CACjC,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAC5C,EAAE,aAAa,EAAE,UAAU,EAAE,CAC9B,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC;YACjD,IAAI,EAAE,iCAAmB,CAAC,gBAAgB;YAC1C,aAAa;YACb,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,SAAS,GACb,oCAAwB,CAAC,SAU1B,CAAC,aAAa,CAAC;QAChB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,CAC9B,EAAE,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,eAAe,EAAE,EAC/C,EAAE,aAAa,EAAE,UAAU,EAAE,CAC9B,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC,CACF,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAC3B,CAAC,UAAgD,EAAE,EAAE;QACnD,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC,CACF,CAAC;IAEF,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,yEAAyE;QACzE,gDAAgD;QAChD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,8BAAkB,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,kCAAsB,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAtGD,8DAsGC;AAED;;;;;;GAMG;AACH,SAAgB,sBAAsB,CACpC,QAA6B,EAC7B,OAAyB;IAEzB,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,KAAK,IAAI,EAAE;QACxD,8DAA8D;QAC9D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxD,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,iEAAiE;QACjE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAnBD,wDAmBC","sourcesContent":["import type { Bip44Account } from '@metamask/account-api';\nimport {\n AccountCreationType,\n BtcScope,\n EthScope,\n SolScope,\n TrxScope,\n} from '@metamask/keyring-api';\nimport type {\n CreateAccountOptions,\n EntropySourceId,\n KeyringAccount,\n KeyringCapabilities,\n} from '@metamask/keyring-api';\n\nimport {\n AccountProviderWrapper,\n EvmAccountProvider,\n BaseBip44AccountProvider,\n} from '../providers';\n\nexport type MockAccountProvider = {\n mockAccounts: KeyringAccount[];\n accounts: Set<KeyringAccount['id']>;\n capabilities: KeyringCapabilities;\n constructor: jest.Mock;\n alignAccounts: jest.Mock;\n init: jest.Mock;\n resyncAccounts: jest.Mock;\n getAccount: jest.Mock;\n getAccounts: jest.Mock;\n createAccounts: jest.Mock;\n discoverAccounts: jest.Mock;\n isAccountCompatible: jest.Mock;\n getName: jest.Mock;\n isEnabled: boolean;\n isDisabled: jest.Mock;\n setEnabled: jest.Mock;\n};\n\nexport function makeMockAccountProvider(\n accounts: KeyringAccount[] = [],\n): MockAccountProvider {\n return {\n mockAccounts: accounts,\n accounts: new Set(),\n capabilities: {\n scopes: [\n SolScope.Devnet,\n SolScope.Testnet,\n BtcScope.Testnet,\n TrxScope.Shasta,\n EthScope.Eoa,\n ],\n bip44: { deriveIndex: true },\n },\n constructor: jest.fn(),\n alignAccounts: jest.fn(),\n init: jest.fn(),\n resyncAccounts: jest.fn(),\n getAccount: jest.fn(),\n getAccounts: jest.fn(),\n createAccounts: jest.fn(),\n discoverAccounts: jest.fn(),\n isAccountCompatible: jest.fn(),\n getName: jest.fn(),\n isDisabled: jest.fn(),\n setEnabled: jest.fn(),\n isEnabled: true,\n };\n}\n\nexport function setupBip44AccountProvider({\n name = 'Mocked Provider',\n accounts,\n mocks = makeMockAccountProvider(),\n index,\n}: {\n name?: string;\n mocks?: MockAccountProvider;\n accounts: KeyringAccount[];\n filter?: (account: KeyringAccount) => boolean;\n index?: number;\n}): MockAccountProvider {\n // You can mock this and all other mocks will re-use that list\n // of accounts.\n mocks.mockAccounts = accounts;\n mocks.accounts = new Set(accounts.map((account) => account.id));\n // Toggle enabled state only\n mocks.setEnabled.mockImplementation((enabled: boolean) => {\n mocks.isEnabled = enabled;\n });\n mocks.isDisabled.mockImplementation(() => !mocks.isEnabled);\n\n const getAccounts = (): KeyringAccount[] =>\n mocks.mockAccounts.filter((account) =>\n [...mocks.accounts].includes(account.id),\n );\n\n mocks.getName.mockImplementation(() => name);\n\n mocks.getAccounts.mockImplementation(getAccounts);\n mocks.getAccount.mockImplementation(\n (id: Bip44Account<KeyringAccount>['id']) =>\n // Assuming this never fails.\n getAccounts().find((account) => account.id === id),\n );\n mocks.createAccounts.mockResolvedValue([]);\n mocks.alignAccounts.mockImplementation(\n async ({\n entropySource,\n groupIndex,\n }: {\n entropySource: EntropySourceId;\n groupIndex: number;\n }) => {\n if (mocks.isDisabled()) {\n const wrapperAlign = (\n AccountProviderWrapper.prototype as unknown as {\n alignAccounts: (\n this: { isEnabled: boolean },\n opts: { entropySource: EntropySourceId; groupIndex: number },\n ) => Promise<string[]>;\n }\n ).alignAccounts;\n const ids = await wrapperAlign.call(\n { isEnabled: false, isDisabled: () => true },\n { entropySource, groupIndex },\n );\n return ids;\n }\n const createdAccounts = await mocks.createAccounts({\n type: AccountCreationType.Bip44DeriveIndex,\n entropySource,\n groupIndex,\n });\n\n const baseAlign = (\n BaseBip44AccountProvider.prototype as unknown as {\n alignAccounts: (\n this: {\n createAccounts: (\n options: CreateAccountOptions,\n ) => Promise<unknown[]>;\n },\n opts: { entropySource: EntropySourceId; groupIndex: number },\n ) => Promise<string[]>;\n }\n ).alignAccounts;\n const ids = await baseAlign.call(\n { createAccounts: async () => createdAccounts },\n { entropySource, groupIndex },\n );\n\n return ids;\n },\n );\n mocks.init.mockImplementation(\n (accountIds: Bip44Account<KeyringAccount>['id'][]) => {\n accountIds.forEach((id) => mocks.accounts.add(id));\n },\n );\n\n if (index === 0) {\n // Make the first provider to always be an `EvmAccountProvider`, since we\n // check for this pre-condition in some methods.\n Object.setPrototypeOf(mocks, EvmAccountProvider.prototype);\n }\n\n if (index !== 0) {\n Object.setPrototypeOf(mocks, AccountProviderWrapper.prototype);\n }\n\n return mocks;\n}\n\n/**\n * Helper to mock a single createAccounts call while updating the provider's\n * internal state so subsequent getAccount/getAccounts can resolve the accounts.\n *\n * @param provider - The mock provider whose createAccounts call to mock.\n * @param created - The accounts to be returned and persisted in the mock state.\n */\nexport function mockCreateAccountsOnce(\n provider: MockAccountProvider,\n created: KeyringAccount[],\n): void {\n provider.createAccounts.mockImplementationOnce(async () => {\n // Add newly created accounts to the provider's internal store\n for (const acc of created) {\n if (!provider.mockAccounts.some((a) => a.id === acc.id)) {\n provider.mockAccounts.push(acc);\n }\n }\n // Merge IDs into the visible list used by getAccounts/getAccount\n const ids = created.map((a) => a.id);\n for (const id of ids) {\n provider.accounts.add(id);\n }\n\n return created;\n });\n}\n"]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/// <reference types="jest" />
|
|
2
|
-
import type { KeyringAccount } from "@metamask/keyring-api";
|
|
2
|
+
import type { KeyringAccount, KeyringCapabilities } from "@metamask/keyring-api";
|
|
3
3
|
export type MockAccountProvider = {
|
|
4
4
|
mockAccounts: KeyringAccount[];
|
|
5
5
|
accounts: Set<KeyringAccount['id']>;
|
|
6
|
+
capabilities: KeyringCapabilities;
|
|
6
7
|
constructor: jest.Mock;
|
|
7
8
|
alignAccounts: jest.Mock;
|
|
8
9
|
init: jest.Mock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.cts","sourceRoot":"","sources":["../../src/tests/providers.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"providers.d.cts","sourceRoot":"","sources":["../../src/tests/providers.ts"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAGV,cAAc,EACd,mBAAmB,EACpB,8BAA8B;AAQ/B,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,YAAY,EAAE,mBAAmB,CAAC;IAClC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC;IACvB,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC;IACzB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAChB,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC;IAC1B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;IACtB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC;IACvB,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC;IAC1B,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC;IAC5B,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC;IAC/B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;IACtB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;CACvB,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,QAAQ,GAAE,cAAc,EAAO,GAC9B,mBAAmB,CA4BrB;AAED,wBAAgB,yBAAyB,CAAC,EACxC,IAAwB,EACxB,QAAQ,EACR,KAAiC,EACjC,KAAK,GACN,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,mBAAmB,CA2FtB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,cAAc,EAAE,GACxB,IAAI,CAgBN"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/// <reference types="jest" />
|
|
2
|
-
import type { KeyringAccount } from "@metamask/keyring-api";
|
|
2
|
+
import type { KeyringAccount, KeyringCapabilities } from "@metamask/keyring-api";
|
|
3
3
|
export type MockAccountProvider = {
|
|
4
4
|
mockAccounts: KeyringAccount[];
|
|
5
5
|
accounts: Set<KeyringAccount['id']>;
|
|
6
|
+
capabilities: KeyringCapabilities;
|
|
6
7
|
constructor: jest.Mock;
|
|
7
8
|
alignAccounts: jest.Mock;
|
|
8
9
|
init: jest.Mock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.mts","sourceRoot":"","sources":["../../src/tests/providers.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"providers.d.mts","sourceRoot":"","sources":["../../src/tests/providers.ts"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAGV,cAAc,EACd,mBAAmB,EACpB,8BAA8B;AAQ/B,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,YAAY,EAAE,mBAAmB,CAAC;IAClC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC;IACvB,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC;IACzB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAChB,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC;IAC1B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;IACtB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC;IACvB,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC;IAC1B,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC;IAC5B,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC;IAC/B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;IACtB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;CACvB,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,QAAQ,GAAE,cAAc,EAAO,GAC9B,mBAAmB,CA4BrB;AAED,wBAAgB,yBAAyB,CAAC,EACxC,IAAwB,EACxB,QAAQ,EACR,KAAiC,EACjC,KAAK,GACN,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,mBAAmB,CA2FtB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,cAAc,EAAE,GACxB,IAAI,CAgBN"}
|
package/dist/tests/providers.mjs
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
|
+
import { AccountCreationType, BtcScope, EthScope, SolScope, TrxScope } from "@metamask/keyring-api";
|
|
1
2
|
import { AccountProviderWrapper, EvmAccountProvider, BaseBip44AccountProvider } from "../providers/index.mjs";
|
|
2
3
|
export function makeMockAccountProvider(accounts = []) {
|
|
3
4
|
return {
|
|
4
5
|
mockAccounts: accounts,
|
|
5
6
|
accounts: new Set(),
|
|
7
|
+
capabilities: {
|
|
8
|
+
scopes: [
|
|
9
|
+
SolScope.Devnet,
|
|
10
|
+
SolScope.Testnet,
|
|
11
|
+
BtcScope.Testnet,
|
|
12
|
+
TrxScope.Shasta,
|
|
13
|
+
EthScope.Eoa,
|
|
14
|
+
],
|
|
15
|
+
bip44: { deriveIndex: true },
|
|
16
|
+
},
|
|
6
17
|
constructor: jest.fn(),
|
|
7
18
|
alignAccounts: jest.fn(),
|
|
8
19
|
init: jest.fn(),
|
|
@@ -42,6 +53,7 @@ export function setupBip44AccountProvider({ name = 'Mocked Provider', accounts,
|
|
|
42
53
|
return ids;
|
|
43
54
|
}
|
|
44
55
|
const createdAccounts = await mocks.createAccounts({
|
|
56
|
+
type: AccountCreationType.Bip44DeriveIndex,
|
|
45
57
|
entropySource,
|
|
46
58
|
groupIndex,
|
|
47
59
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.mjs","sourceRoot":"","sources":["../../src/tests/providers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"providers.mjs","sourceRoot":"","sources":["../../src/tests/providers.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Bip44Account } from '@metamask/account-api';\nimport {\n AccountCreationType,\n BtcScope,\n EthScope,\n SolScope,\n TrxScope,\n} from '@metamask/keyring-api';\nimport type {\n CreateAccountOptions,\n EntropySourceId,\n KeyringAccount,\n KeyringCapabilities,\n} from '@metamask/keyring-api';\n\nimport {\n AccountProviderWrapper,\n EvmAccountProvider,\n BaseBip44AccountProvider,\n} from '../providers';\n\nexport type MockAccountProvider = {\n mockAccounts: KeyringAccount[];\n accounts: Set<KeyringAccount['id']>;\n capabilities: KeyringCapabilities;\n constructor: jest.Mock;\n alignAccounts: jest.Mock;\n init: jest.Mock;\n resyncAccounts: jest.Mock;\n getAccount: jest.Mock;\n getAccounts: jest.Mock;\n createAccounts: jest.Mock;\n discoverAccounts: jest.Mock;\n isAccountCompatible: jest.Mock;\n getName: jest.Mock;\n isEnabled: boolean;\n isDisabled: jest.Mock;\n setEnabled: jest.Mock;\n};\n\nexport function makeMockAccountProvider(\n accounts: KeyringAccount[] = [],\n): MockAccountProvider {\n return {\n mockAccounts: accounts,\n accounts: new Set(),\n capabilities: {\n scopes: [\n SolScope.Devnet,\n SolScope.Testnet,\n BtcScope.Testnet,\n TrxScope.Shasta,\n EthScope.Eoa,\n ],\n bip44: { deriveIndex: true },\n },\n constructor: jest.fn(),\n alignAccounts: jest.fn(),\n init: jest.fn(),\n resyncAccounts: jest.fn(),\n getAccount: jest.fn(),\n getAccounts: jest.fn(),\n createAccounts: jest.fn(),\n discoverAccounts: jest.fn(),\n isAccountCompatible: jest.fn(),\n getName: jest.fn(),\n isDisabled: jest.fn(),\n setEnabled: jest.fn(),\n isEnabled: true,\n };\n}\n\nexport function setupBip44AccountProvider({\n name = 'Mocked Provider',\n accounts,\n mocks = makeMockAccountProvider(),\n index,\n}: {\n name?: string;\n mocks?: MockAccountProvider;\n accounts: KeyringAccount[];\n filter?: (account: KeyringAccount) => boolean;\n index?: number;\n}): MockAccountProvider {\n // You can mock this and all other mocks will re-use that list\n // of accounts.\n mocks.mockAccounts = accounts;\n mocks.accounts = new Set(accounts.map((account) => account.id));\n // Toggle enabled state only\n mocks.setEnabled.mockImplementation((enabled: boolean) => {\n mocks.isEnabled = enabled;\n });\n mocks.isDisabled.mockImplementation(() => !mocks.isEnabled);\n\n const getAccounts = (): KeyringAccount[] =>\n mocks.mockAccounts.filter((account) =>\n [...mocks.accounts].includes(account.id),\n );\n\n mocks.getName.mockImplementation(() => name);\n\n mocks.getAccounts.mockImplementation(getAccounts);\n mocks.getAccount.mockImplementation(\n (id: Bip44Account<KeyringAccount>['id']) =>\n // Assuming this never fails.\n getAccounts().find((account) => account.id === id),\n );\n mocks.createAccounts.mockResolvedValue([]);\n mocks.alignAccounts.mockImplementation(\n async ({\n entropySource,\n groupIndex,\n }: {\n entropySource: EntropySourceId;\n groupIndex: number;\n }) => {\n if (mocks.isDisabled()) {\n const wrapperAlign = (\n AccountProviderWrapper.prototype as unknown as {\n alignAccounts: (\n this: { isEnabled: boolean },\n opts: { entropySource: EntropySourceId; groupIndex: number },\n ) => Promise<string[]>;\n }\n ).alignAccounts;\n const ids = await wrapperAlign.call(\n { isEnabled: false, isDisabled: () => true },\n { entropySource, groupIndex },\n );\n return ids;\n }\n const createdAccounts = await mocks.createAccounts({\n type: AccountCreationType.Bip44DeriveIndex,\n entropySource,\n groupIndex,\n });\n\n const baseAlign = (\n BaseBip44AccountProvider.prototype as unknown as {\n alignAccounts: (\n this: {\n createAccounts: (\n options: CreateAccountOptions,\n ) => Promise<unknown[]>;\n },\n opts: { entropySource: EntropySourceId; groupIndex: number },\n ) => Promise<string[]>;\n }\n ).alignAccounts;\n const ids = await baseAlign.call(\n { createAccounts: async () => createdAccounts },\n { entropySource, groupIndex },\n );\n\n return ids;\n },\n );\n mocks.init.mockImplementation(\n (accountIds: Bip44Account<KeyringAccount>['id'][]) => {\n accountIds.forEach((id) => mocks.accounts.add(id));\n },\n );\n\n if (index === 0) {\n // Make the first provider to always be an `EvmAccountProvider`, since we\n // check for this pre-condition in some methods.\n Object.setPrototypeOf(mocks, EvmAccountProvider.prototype);\n }\n\n if (index !== 0) {\n Object.setPrototypeOf(mocks, AccountProviderWrapper.prototype);\n }\n\n return mocks;\n}\n\n/**\n * Helper to mock a single createAccounts call while updating the provider's\n * internal state so subsequent getAccount/getAccounts can resolve the accounts.\n *\n * @param provider - The mock provider whose createAccounts call to mock.\n * @param created - The accounts to be returned and persisted in the mock state.\n */\nexport function mockCreateAccountsOnce(\n provider: MockAccountProvider,\n created: KeyringAccount[],\n): void {\n provider.createAccounts.mockImplementationOnce(async () => {\n // Add newly created accounts to the provider's internal store\n for (const acc of created) {\n if (!provider.mockAccounts.some((a) => a.id === acc.id)) {\n provider.mockAccounts.push(acc);\n }\n }\n // Merge IDs into the visible list used by getAccounts/getAccount\n const ids = created.map((a) => a.id);\n for (const id of ids) {\n provider.accounts.add(id);\n }\n\n return created;\n });\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 {\n Bip44Account,\n MultichainAccountGroup,\n MultichainAccountWalletId,\n MultichainAccountWalletStatus,\n} from '@metamask/account-api';\nimport type {\n AccountsControllerAccountAddedEvent,\n AccountsControllerAccountRemovedEvent,\n AccountsControllerGetAccountAction,\n AccountsControllerGetAccountByAddressAction,\n AccountsControllerGetAccountsAction,\n AccountsControllerListMultichainAccountsAction,\n} from '@metamask/accounts-controller';\nimport type { TraceCallback } from '@metamask/controller-utils';\nimport type { KeyringAccount } from '@metamask/keyring-api';\nimport type {\n KeyringControllerAddNewKeyringAction,\n KeyringControllerCreateNewVaultAndKeychainAction,\n KeyringControllerCreateNewVaultAndRestoreAction,\n KeyringControllerGetKeyringsByTypeAction,\n KeyringControllerGetStateAction,\n KeyringControllerRemoveAccountAction,\n KeyringControllerStateChangeEvent,\n KeyringControllerWithKeyringAction,\n} from '@metamask/keyring-controller';\nimport type { Messenger } from '@metamask/messenger';\nimport type {\n NetworkControllerFindNetworkClientIdByChainIdAction,\n NetworkControllerGetNetworkClientByIdAction,\n} from '@metamask/network-controller';\nimport type {\n HandleSnapRequest as SnapControllerHandleSnapRequestAction,\n SnapControllerGetStateAction,\n SnapStateChange as SnapControllerStateChangeEvent,\n} from '@metamask/snaps-controllers';\n\nimport type {
|
|
1
|
+
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n Bip44Account,\n MultichainAccountGroup,\n MultichainAccountWalletId,\n MultichainAccountWalletStatus,\n} from '@metamask/account-api';\nimport type {\n AccountsControllerAccountAddedEvent,\n AccountsControllerAccountRemovedEvent,\n AccountsControllerGetAccountAction,\n AccountsControllerGetAccountByAddressAction,\n AccountsControllerGetAccountsAction,\n AccountsControllerListMultichainAccountsAction,\n} from '@metamask/accounts-controller';\nimport type { TraceCallback } from '@metamask/controller-utils';\nimport type { KeyringAccount } from '@metamask/keyring-api';\nimport type {\n KeyringControllerAddNewKeyringAction,\n KeyringControllerCreateNewVaultAndKeychainAction,\n KeyringControllerCreateNewVaultAndRestoreAction,\n KeyringControllerGetKeyringsByTypeAction,\n KeyringControllerGetStateAction,\n KeyringControllerRemoveAccountAction,\n KeyringControllerStateChangeEvent,\n KeyringControllerWithKeyringAction,\n} from '@metamask/keyring-controller';\nimport type { Messenger } from '@metamask/messenger';\nimport type {\n NetworkControllerFindNetworkClientIdByChainIdAction,\n NetworkControllerGetNetworkClientByIdAction,\n} from '@metamask/network-controller';\nimport type {\n HandleSnapRequest as SnapControllerHandleSnapRequestAction,\n SnapControllerGetStateAction,\n SnapStateChange as SnapControllerStateChangeEvent,\n} from '@metamask/snaps-controllers';\n\nimport type { serviceName } from './MultichainAccountService';\nimport type { MultichainAccountServiceMethodActions } from './MultichainAccountService-method-action-types';\n/**\n * All actions that {@link MultichainAccountService} registers so that other\n * modules can call them.\n */\nexport type MultichainAccountServiceActions =\n MultichainAccountServiceMethodActions;\n\nexport type MultichainAccountServiceMultichainAccountGroupCreatedEvent = {\n type: `${typeof serviceName}:multichainAccountGroupCreated`;\n payload: [MultichainAccountGroup<Bip44Account<KeyringAccount>>];\n};\n\nexport type MultichainAccountServiceMultichainAccountGroupUpdatedEvent = {\n type: `${typeof serviceName}:multichainAccountGroupUpdated`;\n payload: [MultichainAccountGroup<Bip44Account<KeyringAccount>>];\n};\n\nexport type MultichainAccountServiceWalletStatusChangeEvent = {\n type: `${typeof serviceName}:walletStatusChange`;\n payload: [MultichainAccountWalletId, MultichainAccountWalletStatus];\n};\n\n/**\n * All events that {@link MultichainAccountService} publishes so that other modules\n * can subscribe to them.\n */\nexport type MultichainAccountServiceEvents =\n | MultichainAccountServiceMultichainAccountGroupCreatedEvent\n | MultichainAccountServiceMultichainAccountGroupUpdatedEvent\n | MultichainAccountServiceWalletStatusChangeEvent;\n\n/**\n * All actions registered by other modules that {@link MultichainAccountService}\n * calls.\n */\ntype AllowedActions =\n | AccountsControllerListMultichainAccountsAction\n | AccountsControllerGetAccountsAction\n | AccountsControllerGetAccountAction\n | AccountsControllerGetAccountByAddressAction\n | SnapControllerGetStateAction\n | SnapControllerHandleSnapRequestAction\n | KeyringControllerWithKeyringAction\n | KeyringControllerGetStateAction\n | KeyringControllerGetKeyringsByTypeAction\n | KeyringControllerAddNewKeyringAction\n | NetworkControllerGetNetworkClientByIdAction\n | NetworkControllerFindNetworkClientIdByChainIdAction\n | KeyringControllerCreateNewVaultAndKeychainAction\n | KeyringControllerCreateNewVaultAndRestoreAction\n | KeyringControllerRemoveAccountAction;\n\n/**\n * All events published by other modules that {@link MultichainAccountService}\n * subscribes to.\n */\ntype AllowedEvents =\n | SnapControllerStateChangeEvent\n | KeyringControllerStateChangeEvent\n | AccountsControllerAccountAddedEvent\n | AccountsControllerAccountRemovedEvent;\n\n/**\n * The messenger restricted to actions and events that\n * {@link MultichainAccountService} needs to access.\n */\nexport type MultichainAccountServiceMessenger = Messenger<\n 'MultichainAccountService',\n MultichainAccountServiceActions | AllowedActions,\n MultichainAccountServiceEvents | AllowedEvents\n>;\n\nexport type MultichainAccountServiceConfig = {\n trace?: TraceCallback;\n};\n"]}
|