@metamask/multichain-account-service 7.0.0 → 8.0.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 +63 -1
- package/dist/MultichainAccountGroup.cjs +4 -69
- package/dist/MultichainAccountGroup.cjs.map +1 -1
- package/dist/MultichainAccountGroup.d.cts +0 -6
- package/dist/MultichainAccountGroup.d.cts.map +1 -1
- package/dist/MultichainAccountGroup.d.mts +0 -6
- package/dist/MultichainAccountGroup.d.mts.map +1 -1
- package/dist/MultichainAccountGroup.mjs +5 -70
- package/dist/MultichainAccountGroup.mjs.map +1 -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 +177 -0
- package/dist/MultichainAccountService-method-action-types.d.cts.map +1 -0
- package/dist/MultichainAccountService-method-action-types.d.mts +177 -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 +59 -28
- package/dist/MultichainAccountService.cjs.map +1 -1
- package/dist/MultichainAccountService.d.cts +24 -2
- package/dist/MultichainAccountService.d.cts.map +1 -1
- package/dist/MultichainAccountService.d.mts +24 -2
- package/dist/MultichainAccountService.d.mts.map +1 -1
- package/dist/MultichainAccountService.mjs +60 -29
- package/dist/MultichainAccountService.mjs.map +1 -1
- package/dist/MultichainAccountWallet.cjs +302 -164
- package/dist/MultichainAccountWallet.cjs.map +1 -1
- package/dist/MultichainAccountWallet.d.cts +27 -7
- package/dist/MultichainAccountWallet.d.cts.map +1 -1
- package/dist/MultichainAccountWallet.d.mts +27 -7
- package/dist/MultichainAccountWallet.d.mts.map +1 -1
- package/dist/MultichainAccountWallet.mjs +303 -165
- package/dist/MultichainAccountWallet.mjs.map +1 -1
- package/dist/analytics/perf.cjs +65 -0
- package/dist/analytics/perf.cjs.map +1 -0
- package/dist/analytics/perf.d.cts +34 -0
- package/dist/analytics/perf.d.cts.map +1 -0
- package/dist/analytics/perf.d.mts +34 -0
- package/dist/analytics/perf.d.mts.map +1 -0
- package/dist/analytics/perf.mjs +59 -0
- package/dist/analytics/perf.mjs.map +1 -0
- package/dist/analytics/timer.cjs +14 -0
- package/dist/analytics/timer.cjs.map +1 -0
- package/dist/analytics/timer.d.cts +8 -0
- package/dist/analytics/timer.d.cts.map +1 -0
- package/dist/analytics/timer.d.mts +8 -0
- package/dist/analytics/timer.d.mts.map +1 -0
- package/dist/analytics/timer.mjs +10 -0
- package/dist/analytics/timer.mjs.map +1 -0
- package/dist/analytics/traces.cjs +49 -1
- package/dist/analytics/traces.cjs.map +1 -1
- package/dist/analytics/traces.d.cts +28 -0
- package/dist/analytics/traces.d.cts.map +1 -1
- package/dist/analytics/traces.d.mts +28 -0
- package/dist/analytics/traces.d.mts.map +1 -1
- package/dist/analytics/traces.mjs +46 -0
- package/dist/analytics/traces.mjs.map +1 -1
- package/dist/errors.cjs +32 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.cts +16 -0
- package/dist/errors.d.cts.map +1 -0
- package/dist/errors.d.mts +16 -0
- package/dist/errors.d.mts.map +1 -0
- package/dist/errors.mjs +28 -0
- package/dist/errors.mjs.map +1 -0
- 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/logger.cjs +14 -1
- package/dist/logger.cjs.map +1 -1
- package/dist/logger.d.cts +8 -0
- package/dist/logger.d.cts.map +1 -1
- package/dist/logger.d.mts +8 -0
- package/dist/logger.d.mts.map +1 -1
- package/dist/logger.mjs +12 -0
- package/dist/logger.mjs.map +1 -1
- package/dist/providers/AccountProviderWrapper.cjs +5 -6
- package/dist/providers/AccountProviderWrapper.cjs.map +1 -1
- package/dist/providers/AccountProviderWrapper.d.cts +5 -4
- package/dist/providers/AccountProviderWrapper.d.cts.map +1 -1
- package/dist/providers/AccountProviderWrapper.d.mts +5 -4
- package/dist/providers/AccountProviderWrapper.d.mts.map +1 -1
- package/dist/providers/AccountProviderWrapper.mjs +5 -6
- package/dist/providers/AccountProviderWrapper.mjs.map +1 -1
- package/dist/providers/BaseBip44AccountProvider.cjs +0 -10
- package/dist/providers/BaseBip44AccountProvider.cjs.map +1 -1
- package/dist/providers/BaseBip44AccountProvider.d.cts +1 -17
- package/dist/providers/BaseBip44AccountProvider.d.cts.map +1 -1
- package/dist/providers/BaseBip44AccountProvider.d.mts +1 -17
- package/dist/providers/BaseBip44AccountProvider.d.mts.map +1 -1
- package/dist/providers/BaseBip44AccountProvider.mjs +0 -10
- package/dist/providers/BaseBip44AccountProvider.mjs.map +1 -1
- package/dist/providers/BtcAccountProvider.cjs +15 -33
- package/dist/providers/BtcAccountProvider.cjs.map +1 -1
- package/dist/providers/BtcAccountProvider.d.cts +6 -4
- package/dist/providers/BtcAccountProvider.d.cts.map +1 -1
- package/dist/providers/BtcAccountProvider.d.mts +6 -4
- package/dist/providers/BtcAccountProvider.d.mts.map +1 -1
- package/dist/providers/BtcAccountProvider.mjs +16 -34
- package/dist/providers/BtcAccountProvider.mjs.map +1 -1
- package/dist/providers/EvmAccountProvider.cjs +44 -3
- package/dist/providers/EvmAccountProvider.cjs.map +1 -1
- package/dist/providers/EvmAccountProvider.d.cts.map +1 -1
- package/dist/providers/EvmAccountProvider.d.mts.map +1 -1
- package/dist/providers/EvmAccountProvider.mjs +44 -3
- package/dist/providers/EvmAccountProvider.mjs.map +1 -1
- package/dist/providers/SnapAccountProvider.cjs +111 -21
- package/dist/providers/SnapAccountProvider.cjs.map +1 -1
- package/dist/providers/SnapAccountProvider.d.cts +33 -2
- package/dist/providers/SnapAccountProvider.d.cts.map +1 -1
- package/dist/providers/SnapAccountProvider.d.mts +33 -2
- package/dist/providers/SnapAccountProvider.d.mts.map +1 -1
- package/dist/providers/SnapAccountProvider.mjs +113 -23
- package/dist/providers/SnapAccountProvider.mjs.map +1 -1
- package/dist/providers/SolAccountProvider.cjs +31 -39
- package/dist/providers/SolAccountProvider.cjs.map +1 -1
- package/dist/providers/SolAccountProvider.d.cts +10 -3
- package/dist/providers/SolAccountProvider.d.cts.map +1 -1
- package/dist/providers/SolAccountProvider.d.mts +10 -3
- package/dist/providers/SolAccountProvider.d.mts.map +1 -1
- package/dist/providers/SolAccountProvider.mjs +32 -40
- package/dist/providers/SolAccountProvider.mjs.map +1 -1
- package/dist/providers/TrxAccountProvider.cjs +15 -37
- package/dist/providers/TrxAccountProvider.cjs.map +1 -1
- package/dist/providers/TrxAccountProvider.d.cts +6 -4
- package/dist/providers/TrxAccountProvider.d.cts.map +1 -1
- package/dist/providers/TrxAccountProvider.d.mts +6 -4
- package/dist/providers/TrxAccountProvider.d.mts.map +1 -1
- package/dist/providers/TrxAccountProvider.mjs +16 -38
- package/dist/providers/TrxAccountProvider.mjs.map +1 -1
- package/dist/providers/index.cjs +2 -1
- package/dist/providers/index.cjs.map +1 -1
- package/dist/providers/index.d.cts +1 -1
- package/dist/providers/index.d.cts.map +1 -1
- package/dist/providers/index.d.mts +1 -1
- package/dist/providers/index.d.mts.map +1 -1
- package/dist/providers/index.mjs +1 -1
- package/dist/providers/index.mjs.map +1 -1
- package/dist/providers/utils.cjs +15 -5
- package/dist/providers/utils.cjs.map +1 -1
- package/dist/providers/utils.d.cts +9 -2
- package/dist/providers/utils.d.cts.map +1 -1
- package/dist/providers/utils.d.mts +9 -2
- package/dist/providers/utils.d.mts.map +1 -1
- package/dist/providers/utils.mjs +13 -4
- package/dist/providers/utils.mjs.map +1 -1
- package/dist/snaps/SnapPlatformWatcher.cjs +72 -8
- package/dist/snaps/SnapPlatformWatcher.cjs.map +1 -1
- package/dist/snaps/SnapPlatformWatcher.d.cts +15 -1
- package/dist/snaps/SnapPlatformWatcher.d.cts.map +1 -1
- package/dist/snaps/SnapPlatformWatcher.d.mts +15 -1
- package/dist/snaps/SnapPlatformWatcher.d.mts.map +1 -1
- package/dist/snaps/SnapPlatformWatcher.mjs +72 -8
- package/dist/snaps/SnapPlatformWatcher.mjs.map +1 -1
- package/dist/tests/accounts.cjs +7 -1
- package/dist/tests/accounts.cjs.map +1 -1
- package/dist/tests/accounts.d.cts +9 -0
- package/dist/tests/accounts.d.cts.map +1 -1
- package/dist/tests/accounts.d.mts +9 -0
- package/dist/tests/accounts.d.mts.map +1 -1
- package/dist/tests/accounts.mjs +6 -0
- package/dist/tests/accounts.mjs.map +1 -1
- package/dist/tests/index.cjs.map +1 -1
- package/dist/tests/index.d.cts +1 -0
- package/dist/tests/index.d.cts.map +1 -1
- package/dist/tests/index.d.mts +1 -0
- package/dist/tests/index.d.mts.map +1 -1
- package/dist/tests/index.mjs.map +1 -1
- package/dist/tests/providers.cjs +14 -16
- package/dist/tests/providers.cjs.map +1 -1
- package/dist/tests/providers.d.cts +11 -0
- package/dist/tests/providers.d.cts.map +1 -1
- package/dist/tests/providers.d.mts +11 -0
- package/dist/tests/providers.d.mts.map +1 -1
- package/dist/tests/providers.mjs +14 -17
- package/dist/tests/providers.mjs.map +1 -1
- package/dist/tests/types.cjs +3 -0
- package/dist/tests/types.cjs.map +1 -0
- package/dist/tests/types.d.cts +7 -0
- package/dist/tests/types.d.cts.map +1 -0
- package/dist/tests/types.d.mts +7 -0
- package/dist/tests/types.d.mts.map +1 -0
- package/dist/tests/types.mjs +2 -0
- package/dist/tests/types.mjs.map +1 -0
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +13 -54
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +13 -54
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils.cjs +49 -5
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +32 -5
- package/dist/utils.d.cts.map +1 -1
- package/dist/utils.d.mts +32 -5
- package/dist/utils.d.mts.map +1 -1
- package/dist/utils.mjs +45 -4
- package/dist/utils.mjs.map +1 -1
- package/package.json +9 -7
- package/dist/constants/traces.cjs +0 -9
- package/dist/constants/traces.cjs.map +0 -1
- package/dist/constants/traces.d.cts +0 -5
- package/dist/constants/traces.d.cts.map +0 -1
- package/dist/constants/traces.d.mts +0 -5
- package/dist/constants/traces.d.mts.map +0 -1
- package/dist/constants/traces.mjs +0 -6
- package/dist/constants/traces.mjs.map +0 -1
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { TraceCallback } from "@metamask/controller-utils";
|
|
2
|
+
import { CreateAccountOptions } from "@metamask/keyring-api";
|
|
3
|
+
import type { Bip44AccountProvider } from "../providers/BaseBip44AccountProvider.mjs";
|
|
2
4
|
/**
|
|
3
5
|
* Fallback function for tracing.
|
|
4
6
|
* This function is used when no specific trace function is provided.
|
|
@@ -10,4 +12,30 @@ import type { TraceCallback } from "@metamask/controller-utils";
|
|
|
10
12
|
* If no function is provided, it resolves to undefined.
|
|
11
13
|
*/
|
|
12
14
|
export declare const traceFallback: TraceCallback;
|
|
15
|
+
/**
|
|
16
|
+
* Compute trace data for a list of providers.
|
|
17
|
+
*
|
|
18
|
+
* @param providers Providers to be included in the trace data.
|
|
19
|
+
* @returns An object mapping provider names to true, indicating their presence in the trace.
|
|
20
|
+
*/
|
|
21
|
+
export declare function toProviderDataTraces(providers: Bip44AccountProvider[]): Record<string, boolean>;
|
|
22
|
+
/**
|
|
23
|
+
* Compute trace data for `createAccounts` options.
|
|
24
|
+
*
|
|
25
|
+
* @param options The `createAccounts` options.
|
|
26
|
+
* @returns An object containing options data depending on its type.
|
|
27
|
+
*/
|
|
28
|
+
export declare function toCreateAccountsV2DataTraces(options: CreateAccountOptions): Record<string, string | number | boolean>;
|
|
29
|
+
/**
|
|
30
|
+
* Trace names.
|
|
31
|
+
*/
|
|
32
|
+
export declare enum TraceName {
|
|
33
|
+
SnapDiscoverAccounts = "Snap Discover Accounts",
|
|
34
|
+
EvmDiscoverAccounts = "EVM Discover Accounts",
|
|
35
|
+
ProviderCreateAccountV1 = "Provider Create Account (v1)",
|
|
36
|
+
ProviderCreateAccounts = "Provider Create Accounts (v2 - batched)",
|
|
37
|
+
WalletAlignment = "Wallet Alignment",
|
|
38
|
+
WalletCreateMultichainAccountGroup = "Wallet Create Multichain Account Group",
|
|
39
|
+
WalletCreateMultichainAccountGroups = "Wallet Create Multichain Account Groups"
|
|
40
|
+
}
|
|
13
41
|
//# sourceMappingURL=traces.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traces.d.mts","sourceRoot":"","sources":["../../src/analytics/traces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAGd,mCAAmC;
|
|
1
|
+
{"version":3,"file":"traces.d.mts","sourceRoot":"","sources":["../../src/analytics/traces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAGd,mCAAmC;AACpC,OAAO,EAAE,oBAAoB,EAAE,8BAA8B;AAG7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,kDAA8C;AAElF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,EAAE,aAQ3B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,oBAAoB,EAAE,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAY3C;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,oBAAoB,2BAA2B;IAC/C,mBAAmB,0BAA0B;IAC7C,uBAAuB,iCAAiC;IACxD,sBAAsB,4CAA4C;IAClE,eAAe,qBAAqB;IACpC,kCAAkC,2CAA2C;IAC7E,mCAAmC,4CAA4C;CAChF"}
|
|
@@ -14,4 +14,50 @@ export const traceFallback = async (_request, fn) => {
|
|
|
14
14
|
}
|
|
15
15
|
return await Promise.resolve(fn());
|
|
16
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* Compute trace data for a list of providers.
|
|
19
|
+
*
|
|
20
|
+
* @param providers Providers to be included in the trace data.
|
|
21
|
+
* @returns An object mapping provider names to true, indicating their presence in the trace.
|
|
22
|
+
*/
|
|
23
|
+
export function toProviderDataTraces(providers) {
|
|
24
|
+
// We cannot use complex objects within traces, so we just map provider names with true.
|
|
25
|
+
return providers.reduce((data, provider) => ({
|
|
26
|
+
...data,
|
|
27
|
+
[provider.getName()]: true,
|
|
28
|
+
}), {});
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Compute trace data for `createAccounts` options.
|
|
32
|
+
*
|
|
33
|
+
* @param options The `createAccounts` options.
|
|
34
|
+
* @returns An object containing options data depending on its type.
|
|
35
|
+
*/
|
|
36
|
+
export function toCreateAccountsV2DataTraces(options) {
|
|
37
|
+
if (options.type === 'bip44:derive-index') {
|
|
38
|
+
return {
|
|
39
|
+
groupIndex: options.groupIndex,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
else if (options.type === 'bip44:derive-index-range') {
|
|
43
|
+
return {
|
|
44
|
+
from: options.range.from,
|
|
45
|
+
to: options.range.to,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
return {};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Trace names.
|
|
52
|
+
*/
|
|
53
|
+
export var TraceName;
|
|
54
|
+
(function (TraceName) {
|
|
55
|
+
TraceName["SnapDiscoverAccounts"] = "Snap Discover Accounts";
|
|
56
|
+
TraceName["EvmDiscoverAccounts"] = "EVM Discover Accounts";
|
|
57
|
+
TraceName["ProviderCreateAccountV1"] = "Provider Create Account (v1)";
|
|
58
|
+
TraceName["ProviderCreateAccounts"] = "Provider Create Accounts (v2 - batched)";
|
|
59
|
+
TraceName["WalletAlignment"] = "Wallet Alignment";
|
|
60
|
+
TraceName["WalletCreateMultichainAccountGroup"] = "Wallet Create Multichain Account Group";
|
|
61
|
+
TraceName["WalletCreateMultichainAccountGroups"] = "Wallet Create Multichain Account Groups";
|
|
62
|
+
})(TraceName || (TraceName = {}));
|
|
17
63
|
//# sourceMappingURL=traces.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traces.mjs","sourceRoot":"","sources":["../../src/analytics/traces.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"traces.mjs","sourceRoot":"","sources":["../../src/analytics/traces.ts"],"names":[],"mappings":"AAUA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAkB,KAAK,EAC/C,QAAsB,EACtB,EAA2C,EACtB,EAAE;IACvB,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,SAAuB,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAAiC;IAEjC,wFAAwF;IACxF,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnB,GAAG,IAAI;QACP,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;KAC3B,CAAC,EACF,EAAE,CACH,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,OAA6B;IAE7B,IAAI,OAAO,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAC1C,OAAO;YACL,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;QACvD,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;YACxB,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;SACrB,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,4DAA+C,CAAA;IAC/C,0DAA6C,CAAA;IAC7C,qEAAwD,CAAA;IACxD,+EAAkE,CAAA;IAClE,iDAAoC,CAAA;IACpC,0FAA6E,CAAA;IAC7E,4FAA+E,CAAA;AACjF,CAAC,EARW,SAAS,KAAT,SAAS,QAQpB","sourcesContent":["import type {\n TraceCallback,\n TraceContext,\n TraceRequest,\n} from '@metamask/controller-utils';\nimport { CreateAccountOptions } from '@metamask/keyring-api';\n\n// Explicit import to avoid circular dependency between `analytics` and `providers`.\nimport type { Bip44AccountProvider } from '../providers/BaseBip44AccountProvider';\n\n/**\n * Fallback function for tracing.\n * This function is used when no specific trace function is provided.\n * It executes the provided function in a trace context if available.\n *\n * @param _request - The trace request containing additional data and context.\n * @param fn - The function to execute within the trace context.\n * @returns A promise that resolves to the result of the executed function.\n * If no function is provided, it resolves to undefined.\n */\nexport const traceFallback: TraceCallback = async <ReturnType>(\n _request: TraceRequest,\n fn?: (context?: TraceContext) => ReturnType,\n): Promise<ReturnType> => {\n if (!fn) {\n return undefined as ReturnType;\n }\n return await Promise.resolve(fn());\n};\n\n/**\n * Compute trace data for a list of providers.\n *\n * @param providers Providers to be included in the trace data.\n * @returns An object mapping provider names to true, indicating their presence in the trace.\n */\nexport function toProviderDataTraces(\n providers: Bip44AccountProvider[],\n): Record<string, boolean> {\n // We cannot use complex objects within traces, so we just map provider names with true.\n return providers.reduce(\n (data, provider) => ({\n ...data,\n [provider.getName()]: true,\n }),\n {},\n );\n}\n\n/**\n * Compute trace data for `createAccounts` options.\n *\n * @param options The `createAccounts` options.\n * @returns An object containing options data depending on its type.\n */\nexport function toCreateAccountsV2DataTraces(\n options: CreateAccountOptions,\n): Record<string, string | number | boolean> {\n if (options.type === 'bip44:derive-index') {\n return {\n groupIndex: options.groupIndex,\n };\n } else if (options.type === 'bip44:derive-index-range') {\n return {\n from: options.range.from,\n to: options.range.to,\n };\n }\n return {};\n}\n\n/**\n * Trace names.\n */\nexport enum TraceName {\n SnapDiscoverAccounts = 'Snap Discover Accounts',\n EvmDiscoverAccounts = 'EVM Discover Accounts',\n ProviderCreateAccountV1 = 'Provider Create Account (v1)',\n ProviderCreateAccounts = 'Provider Create Accounts (v2 - batched)',\n WalletAlignment = 'Wallet Alignment',\n WalletCreateMultichainAccountGroup = 'Wallet Create Multichain Account Group',\n WalletCreateMultichainAccountGroups = 'Wallet Create Multichain Account Groups',\n}\n"]}
|
package/dist/errors.cjs
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reportError = void 0;
|
|
4
|
+
const logger_1 = require("./logger.cjs");
|
|
5
|
+
const utils_1 = require("./providers/utils.cjs");
|
|
6
|
+
const utils_2 = require("./utils.cjs");
|
|
7
|
+
/**
|
|
8
|
+
* Reports an error by logging it and optionally capturing it in Sentry.
|
|
9
|
+
*
|
|
10
|
+
* Timeout errors are treated as warnings (not reported to Sentry). All other
|
|
11
|
+
* errors are logged as errors and captured via `captureException`.
|
|
12
|
+
*
|
|
13
|
+
* @param messenger - Object with an optional `captureException` method.
|
|
14
|
+
* @param messenger.captureException - Optional method to capture exceptions in Sentry.
|
|
15
|
+
* @param message - The static message describing what failed.
|
|
16
|
+
* @param error - The caught error.
|
|
17
|
+
* @param context - Optional context to attach to the Sentry error.
|
|
18
|
+
*/
|
|
19
|
+
function reportError(messenger, message, error, context) {
|
|
20
|
+
if ((0, utils_1.isTimeoutError)(error)) {
|
|
21
|
+
(0, logger_1.logErrorAs)('warn', message, error);
|
|
22
|
+
console.warn(message, error);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
(0, logger_1.logErrorAs)('error', message, error);
|
|
26
|
+
console.error(message, error);
|
|
27
|
+
const sentryError = (0, utils_2.createSentryError)(message, error, context);
|
|
28
|
+
messenger.captureException?.(sentryError);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.reportError = reportError;
|
|
32
|
+
//# sourceMappingURL=errors.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.cjs","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,iDAAmD;AACnD,uCAA4C;AAE5C;;;;;;;;;;;GAWG;AACH,SAAgB,WAAW,CACzB,SAAwD,EACxD,OAAe,EACf,KAAc,EACd,OAAiC;IAEjC,IAAI,IAAA,sBAAc,EAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAA,mBAAU,EAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,IAAA,mBAAU,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE9B,MAAM,WAAW,GAAG,IAAA,yBAAiB,EAAC,OAAO,EAAE,KAAc,EAAE,OAAO,CAAC,CAAC;QACxE,SAAS,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAhBD,kCAgBC","sourcesContent":["import { logErrorAs } from './logger';\nimport { isTimeoutError } from './providers/utils';\nimport { createSentryError } from './utils';\n\n/**\n * Reports an error by logging it and optionally capturing it in Sentry.\n *\n * Timeout errors are treated as warnings (not reported to Sentry). All other\n * errors are logged as errors and captured via `captureException`.\n *\n * @param messenger - Object with an optional `captureException` method.\n * @param messenger.captureException - Optional method to capture exceptions in Sentry.\n * @param message - The static message describing what failed.\n * @param error - The caught error.\n * @param context - Optional context to attach to the Sentry error.\n */\nexport function reportError(\n messenger: { captureException?: (error: Error) => void },\n message: string,\n error: unknown,\n context?: Record<string, unknown>,\n): void {\n if (isTimeoutError(error)) {\n logErrorAs('warn', message, error);\n console.warn(message, error);\n } else {\n logErrorAs('error', message, error);\n console.error(message, error);\n\n const sentryError = createSentryError(message, error as Error, context);\n messenger.captureException?.(sentryError);\n }\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reports an error by logging it and optionally capturing it in Sentry.
|
|
3
|
+
*
|
|
4
|
+
* Timeout errors are treated as warnings (not reported to Sentry). All other
|
|
5
|
+
* errors are logged as errors and captured via `captureException`.
|
|
6
|
+
*
|
|
7
|
+
* @param messenger - Object with an optional `captureException` method.
|
|
8
|
+
* @param messenger.captureException - Optional method to capture exceptions in Sentry.
|
|
9
|
+
* @param message - The static message describing what failed.
|
|
10
|
+
* @param error - The caught error.
|
|
11
|
+
* @param context - Optional context to attach to the Sentry error.
|
|
12
|
+
*/
|
|
13
|
+
export declare function reportError(messenger: {
|
|
14
|
+
captureException?: (error: Error) => void;
|
|
15
|
+
}, message: string, error: unknown, context?: Record<string, unknown>): void;
|
|
16
|
+
//# sourceMappingURL=errors.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.cts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE;IAAE,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CAAE,EACxD,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAWN"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reports an error by logging it and optionally capturing it in Sentry.
|
|
3
|
+
*
|
|
4
|
+
* Timeout errors are treated as warnings (not reported to Sentry). All other
|
|
5
|
+
* errors are logged as errors and captured via `captureException`.
|
|
6
|
+
*
|
|
7
|
+
* @param messenger - Object with an optional `captureException` method.
|
|
8
|
+
* @param messenger.captureException - Optional method to capture exceptions in Sentry.
|
|
9
|
+
* @param message - The static message describing what failed.
|
|
10
|
+
* @param error - The caught error.
|
|
11
|
+
* @param context - Optional context to attach to the Sentry error.
|
|
12
|
+
*/
|
|
13
|
+
export declare function reportError(messenger: {
|
|
14
|
+
captureException?: (error: Error) => void;
|
|
15
|
+
}, message: string, error: unknown, context?: Record<string, unknown>): void;
|
|
16
|
+
//# sourceMappingURL=errors.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.mts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE;IAAE,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CAAE,EACxD,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAWN"}
|
package/dist/errors.mjs
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { logErrorAs } from "./logger.mjs";
|
|
2
|
+
import { isTimeoutError } from "./providers/utils.mjs";
|
|
3
|
+
import { createSentryError } from "./utils.mjs";
|
|
4
|
+
/**
|
|
5
|
+
* Reports an error by logging it and optionally capturing it in Sentry.
|
|
6
|
+
*
|
|
7
|
+
* Timeout errors are treated as warnings (not reported to Sentry). All other
|
|
8
|
+
* errors are logged as errors and captured via `captureException`.
|
|
9
|
+
*
|
|
10
|
+
* @param messenger - Object with an optional `captureException` method.
|
|
11
|
+
* @param messenger.captureException - Optional method to capture exceptions in Sentry.
|
|
12
|
+
* @param message - The static message describing what failed.
|
|
13
|
+
* @param error - The caught error.
|
|
14
|
+
* @param context - Optional context to attach to the Sentry error.
|
|
15
|
+
*/
|
|
16
|
+
export function reportError(messenger, message, error, context) {
|
|
17
|
+
if (isTimeoutError(error)) {
|
|
18
|
+
logErrorAs('warn', message, error);
|
|
19
|
+
console.warn(message, error);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
logErrorAs('error', message, error);
|
|
23
|
+
console.error(message, error);
|
|
24
|
+
const sentryError = createSentryError(message, error, context);
|
|
25
|
+
messenger.captureException?.(sentryError);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=errors.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.mjs","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,qBAAiB;AACtC,OAAO,EAAE,cAAc,EAAE,8BAA0B;AACnD,OAAO,EAAE,iBAAiB,EAAE,oBAAgB;AAE5C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CACzB,SAAwD,EACxD,OAAe,EACf,KAAc,EACd,OAAiC;IAEjC,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE9B,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAc,EAAE,OAAO,CAAC,CAAC;QACxE,SAAS,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC","sourcesContent":["import { logErrorAs } from './logger';\nimport { isTimeoutError } from './providers/utils';\nimport { createSentryError } from './utils';\n\n/**\n * Reports an error by logging it and optionally capturing it in Sentry.\n *\n * Timeout errors are treated as warnings (not reported to Sentry). All other\n * errors are logged as errors and captured via `captureException`.\n *\n * @param messenger - Object with an optional `captureException` method.\n * @param messenger.captureException - Optional method to capture exceptions in Sentry.\n * @param message - The static message describing what failed.\n * @param error - The caught error.\n * @param context - Optional context to attach to the Sentry error.\n */\nexport function reportError(\n messenger: { captureException?: (error: Error) => void },\n message: string,\n error: unknown,\n context?: Record<string, unknown>,\n): void {\n if (isTimeoutError(error)) {\n logErrorAs('warn', message, error);\n console.warn(message, error);\n } else {\n logErrorAs('error', message, error);\n console.error(message, error);\n\n const sentryError = createSentryError(message, error as Error, context);\n messenger.captureException?.(sentryError);\n }\n}\n"]}
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAwBA,mDAaqB;AAZnB,mHAAA,sBAAsB,OAAA;AACtB,qHAAA,wBAAwB,OAAA;AACxB,gHAAA,mBAAmB,OAAA;AACnB,yGAAA,YAAY,OAAA;AACZ,sHAAA,yBAAyB,OAAA;AACzB,+GAAA,kBAAkB,OAAA;AAClB,sHAAA,yBAAyB,OAAA;AACzB,+GAAA,kBAAkB,OAAA;AAClB,sHAAA,yBAAyB,OAAA;AACzB,+GAAA,kBAAkB,OAAA;AAClB,sHAAA,yBAAyB,OAAA;AACzB,+GAAA,kBAAkB,OAAA;AAEpB,yEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAChC,uEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAC/B,2EAAsE;AAA7D,oIAAA,wBAAwB,OAAA","sourcesContent":["export type {\n MultichainAccountServiceActions,\n MultichainAccountServiceEvents,\n MultichainAccountServiceMessenger,\n MultichainAccountServiceMultichainAccountGroupCreatedEvent,\n MultichainAccountServiceMultichainAccountGroupUpdatedEvent,\n MultichainAccountServiceWalletStatusChangeEvent,\n} from './types';\nexport type {\n MultichainAccountServiceResyncAccountsAction,\n MultichainAccountServiceEnsureCanUseSnapPlatformAction,\n MultichainAccountServiceGetMultichainAccountWalletAction,\n MultichainAccountServiceGetMultichainAccountWalletsAction,\n MultichainAccountServiceCreateMultichainAccountWalletAction,\n MultichainAccountServiceRemoveMultichainAccountWalletAction,\n MultichainAccountServiceGetMultichainAccountGroupAction,\n MultichainAccountServiceGetMultichainAccountGroupsAction,\n MultichainAccountServiceCreateNextMultichainAccountGroupAction,\n MultichainAccountServiceCreateMultichainAccountGroupAction,\n MultichainAccountServiceCreateMultichainAccountGroupsAction,\n MultichainAccountServiceSetBasicFunctionalityAction,\n MultichainAccountServiceAlignWalletsAction,\n MultichainAccountServiceAlignWalletAction,\n} from './MultichainAccountService-method-action-types';\nexport {\n AccountProviderWrapper,\n BaseBip44AccountProvider,\n SnapAccountProvider,\n TimeoutError,\n EVM_ACCOUNT_PROVIDER_NAME,\n EvmAccountProvider,\n SOL_ACCOUNT_PROVIDER_NAME,\n SolAccountProvider,\n BTC_ACCOUNT_PROVIDER_NAME,\n BtcAccountProvider,\n TRX_ACCOUNT_PROVIDER_NAME,\n TrxAccountProvider,\n} from './providers';\nexport { MultichainAccountWallet } from './MultichainAccountWallet';\nexport { MultichainAccountGroup } from './MultichainAccountGroup';\nexport { MultichainAccountService } from './MultichainAccountService';\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export type { MultichainAccountServiceActions, MultichainAccountServiceEvents, MultichainAccountServiceMessenger,
|
|
1
|
+
export type { MultichainAccountServiceActions, MultichainAccountServiceEvents, MultichainAccountServiceMessenger, MultichainAccountServiceMultichainAccountGroupCreatedEvent, MultichainAccountServiceMultichainAccountGroupUpdatedEvent, MultichainAccountServiceWalletStatusChangeEvent, } from "./types.cjs";
|
|
2
|
+
export type { MultichainAccountServiceResyncAccountsAction, MultichainAccountServiceEnsureCanUseSnapPlatformAction, MultichainAccountServiceGetMultichainAccountWalletAction, MultichainAccountServiceGetMultichainAccountWalletsAction, MultichainAccountServiceCreateMultichainAccountWalletAction, MultichainAccountServiceRemoveMultichainAccountWalletAction, MultichainAccountServiceGetMultichainAccountGroupAction, MultichainAccountServiceGetMultichainAccountGroupsAction, MultichainAccountServiceCreateNextMultichainAccountGroupAction, MultichainAccountServiceCreateMultichainAccountGroupAction, MultichainAccountServiceCreateMultichainAccountGroupsAction, MultichainAccountServiceSetBasicFunctionalityAction, MultichainAccountServiceAlignWalletsAction, MultichainAccountServiceAlignWalletAction, } from "./MultichainAccountService-method-action-types.cjs";
|
|
2
3
|
export { AccountProviderWrapper, BaseBip44AccountProvider, SnapAccountProvider, TimeoutError, EVM_ACCOUNT_PROVIDER_NAME, EvmAccountProvider, SOL_ACCOUNT_PROVIDER_NAME, SolAccountProvider, BTC_ACCOUNT_PROVIDER_NAME, BtcAccountProvider, TRX_ACCOUNT_PROVIDER_NAME, TrxAccountProvider, } from "./providers/index.cjs";
|
|
3
4
|
export { MultichainAccountWallet } from "./MultichainAccountWallet.cjs";
|
|
4
5
|
export { MultichainAccountGroup } from "./MultichainAccountGroup.cjs";
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,+BAA+B,EAC/B,8BAA8B,EAC9B,iCAAiC,EACjC,
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,+BAA+B,EAC/B,8BAA8B,EAC9B,iCAAiC,EACjC,0DAA0D,EAC1D,0DAA0D,EAC1D,+CAA+C,GAChD,oBAAgB;AACjB,YAAY,EACV,4CAA4C,EAC5C,sDAAsD,EACtD,wDAAwD,EACxD,yDAAyD,EACzD,2DAA2D,EAC3D,2DAA2D,EAC3D,uDAAuD,EACvD,wDAAwD,EACxD,8DAA8D,EAC9D,0DAA0D,EAC1D,2DAA2D,EAC3D,mDAAmD,EACnD,0CAA0C,EAC1C,yCAAyC,GAC1C,2DAAuD;AACxD,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,GACnB,8BAAoB;AACrB,OAAO,EAAE,uBAAuB,EAAE,sCAAkC;AACpE,OAAO,EAAE,sBAAsB,EAAE,qCAAiC;AAClE,OAAO,EAAE,wBAAwB,EAAE,uCAAmC"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export type { MultichainAccountServiceActions, MultichainAccountServiceEvents, MultichainAccountServiceMessenger,
|
|
1
|
+
export type { MultichainAccountServiceActions, MultichainAccountServiceEvents, MultichainAccountServiceMessenger, MultichainAccountServiceMultichainAccountGroupCreatedEvent, MultichainAccountServiceMultichainAccountGroupUpdatedEvent, MultichainAccountServiceWalletStatusChangeEvent, } from "./types.mjs";
|
|
2
|
+
export type { MultichainAccountServiceResyncAccountsAction, MultichainAccountServiceEnsureCanUseSnapPlatformAction, MultichainAccountServiceGetMultichainAccountWalletAction, MultichainAccountServiceGetMultichainAccountWalletsAction, MultichainAccountServiceCreateMultichainAccountWalletAction, MultichainAccountServiceRemoveMultichainAccountWalletAction, MultichainAccountServiceGetMultichainAccountGroupAction, MultichainAccountServiceGetMultichainAccountGroupsAction, MultichainAccountServiceCreateNextMultichainAccountGroupAction, MultichainAccountServiceCreateMultichainAccountGroupAction, MultichainAccountServiceCreateMultichainAccountGroupsAction, MultichainAccountServiceSetBasicFunctionalityAction, MultichainAccountServiceAlignWalletsAction, MultichainAccountServiceAlignWalletAction, } from "./MultichainAccountService-method-action-types.mjs";
|
|
2
3
|
export { AccountProviderWrapper, BaseBip44AccountProvider, SnapAccountProvider, TimeoutError, EVM_ACCOUNT_PROVIDER_NAME, EvmAccountProvider, SOL_ACCOUNT_PROVIDER_NAME, SolAccountProvider, BTC_ACCOUNT_PROVIDER_NAME, BtcAccountProvider, TRX_ACCOUNT_PROVIDER_NAME, TrxAccountProvider, } from "./providers/index.mjs";
|
|
3
4
|
export { MultichainAccountWallet } from "./MultichainAccountWallet.mjs";
|
|
4
5
|
export { MultichainAccountGroup } from "./MultichainAccountGroup.mjs";
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,+BAA+B,EAC/B,8BAA8B,EAC9B,iCAAiC,EACjC,
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,+BAA+B,EAC/B,8BAA8B,EAC9B,iCAAiC,EACjC,0DAA0D,EAC1D,0DAA0D,EAC1D,+CAA+C,GAChD,oBAAgB;AACjB,YAAY,EACV,4CAA4C,EAC5C,sDAAsD,EACtD,wDAAwD,EACxD,yDAAyD,EACzD,2DAA2D,EAC3D,2DAA2D,EAC3D,uDAAuD,EACvD,wDAAwD,EACxD,8DAA8D,EAC9D,0DAA0D,EAC1D,2DAA2D,EAC3D,mDAAmD,EACnD,0CAA0C,EAC1C,yCAAyC,GAC1C,2DAAuD;AACxD,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,GACnB,8BAAoB;AACrB,OAAO,EAAE,uBAAuB,EAAE,sCAAkC;AACpE,OAAO,EAAE,sBAAsB,EAAE,qCAAiC;AAClE,OAAO,EAAE,wBAAwB,EAAE,uCAAmC"}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAwBA,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EACnB,8BAAoB;AACrB,OAAO,EAAE,uBAAuB,EAAE,sCAAkC;AACpE,OAAO,EAAE,sBAAsB,EAAE,qCAAiC;AAClE,OAAO,EAAE,wBAAwB,EAAE,uCAAmC","sourcesContent":["export type {\n MultichainAccountServiceActions,\n MultichainAccountServiceEvents,\n MultichainAccountServiceMessenger,\n MultichainAccountServiceMultichainAccountGroupCreatedEvent,\n MultichainAccountServiceMultichainAccountGroupUpdatedEvent,\n MultichainAccountServiceWalletStatusChangeEvent,\n} from './types';\nexport type {\n MultichainAccountServiceResyncAccountsAction,\n MultichainAccountServiceEnsureCanUseSnapPlatformAction,\n MultichainAccountServiceGetMultichainAccountWalletAction,\n MultichainAccountServiceGetMultichainAccountWalletsAction,\n MultichainAccountServiceCreateMultichainAccountWalletAction,\n MultichainAccountServiceRemoveMultichainAccountWalletAction,\n MultichainAccountServiceGetMultichainAccountGroupAction,\n MultichainAccountServiceGetMultichainAccountGroupsAction,\n MultichainAccountServiceCreateNextMultichainAccountGroupAction,\n MultichainAccountServiceCreateMultichainAccountGroupAction,\n MultichainAccountServiceCreateMultichainAccountGroupsAction,\n MultichainAccountServiceSetBasicFunctionalityAction,\n MultichainAccountServiceAlignWalletsAction,\n MultichainAccountServiceAlignWalletAction,\n} from './MultichainAccountService-method-action-types';\nexport {\n AccountProviderWrapper,\n BaseBip44AccountProvider,\n SnapAccountProvider,\n TimeoutError,\n EVM_ACCOUNT_PROVIDER_NAME,\n EvmAccountProvider,\n SOL_ACCOUNT_PROVIDER_NAME,\n SolAccountProvider,\n BTC_ACCOUNT_PROVIDER_NAME,\n BtcAccountProvider,\n TRX_ACCOUNT_PROVIDER_NAME,\n TrxAccountProvider,\n} from './providers';\nexport { MultichainAccountWallet } from './MultichainAccountWallet';\nexport { MultichainAccountGroup } from './MultichainAccountGroup';\nexport { MultichainAccountService } from './MultichainAccountService';\n"]}
|
package/dist/logger.cjs
CHANGED
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ERROR_PREFIX = exports.WARNING_PREFIX = exports.createModuleLogger = exports.projectLogger = void 0;
|
|
3
|
+
exports.logErrorAs = exports.ERROR_PREFIX = exports.WARNING_PREFIX = exports.createModuleLogger = exports.projectLogger = void 0;
|
|
4
4
|
const utils_1 = require("@metamask/utils");
|
|
5
5
|
Object.defineProperty(exports, "createModuleLogger", { enumerable: true, get: function () { return utils_1.createModuleLogger; } });
|
|
6
|
+
const utils_2 = require("./utils.cjs");
|
|
6
7
|
exports.projectLogger = (0, utils_1.createProjectLogger)('multichain-account-service');
|
|
7
8
|
exports.WARNING_PREFIX = 'WARNING --';
|
|
8
9
|
exports.ERROR_PREFIX = 'ERROR --';
|
|
10
|
+
/**
|
|
11
|
+
* Logs an error with either WARNING or ERROR prefix, appending the error message.
|
|
12
|
+
*
|
|
13
|
+
* @param level - 'warn' for WARNING prefix, 'error' for ERROR prefix.
|
|
14
|
+
* @param message - The static message describing what failed.
|
|
15
|
+
* @param error - The caught error.
|
|
16
|
+
*/
|
|
17
|
+
function logErrorAs(level, message, error) {
|
|
18
|
+
const prefix = level === 'warn' ? exports.WARNING_PREFIX : exports.ERROR_PREFIX;
|
|
19
|
+
(0, exports.projectLogger)(`${prefix} ${message}: ${(0, utils_2.toErrorMessage)(error)}`);
|
|
20
|
+
}
|
|
21
|
+
exports.logErrorAs = logErrorAs;
|
|
9
22
|
//# sourceMappingURL=logger.cjs.map
|
package/dist/logger.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.cjs","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;AAAA,2CAA0E;
|
|
1
|
+
{"version":3,"file":"logger.cjs","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;AAAA,2CAA0E;AAMjE,mGANqB,0BAAkB,OAMrB;AAJ3B,uCAAyC;AAE5B,QAAA,aAAa,GAAG,IAAA,2BAAmB,EAAC,4BAA4B,CAAC,CAAC;AAIlE,QAAA,cAAc,GAAG,YAAY,CAAC;AAC9B,QAAA,YAAY,GAAG,UAAU,CAAC;AAIvC;;;;;;GAMG;AACH,SAAgB,UAAU,CACxB,KAAuB,EACvB,OAAe,EACf,KAAc;IAEd,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,sBAAc,CAAC,CAAC,CAAC,oBAAY,CAAC;IAChE,IAAA,qBAAa,EAAC,GAAG,MAAM,IAAI,OAAO,KAAK,IAAA,sBAAc,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC;AAPD,gCAOC","sourcesContent":["import { createProjectLogger, createModuleLogger } from '@metamask/utils';\n\nimport { toErrorMessage } from './utils';\n\nexport const projectLogger = createProjectLogger('multichain-account-service');\n\nexport { createModuleLogger };\n\nexport const WARNING_PREFIX = 'WARNING --';\nexport const ERROR_PREFIX = 'ERROR --';\n\nexport type Logger = typeof projectLogger;\n\n/**\n * Logs an error with either WARNING or ERROR prefix, appending the error message.\n *\n * @param level - 'warn' for WARNING prefix, 'error' for ERROR prefix.\n * @param message - The static message describing what failed.\n * @param error - The caught error.\n */\nexport function logErrorAs(\n level: 'warn' | 'error',\n message: string,\n error: unknown,\n): void {\n const prefix = level === 'warn' ? WARNING_PREFIX : ERROR_PREFIX;\n projectLogger(`${prefix} ${message}: ${toErrorMessage(error)}`);\n}\n"]}
|
package/dist/logger.d.cts
CHANGED
|
@@ -5,4 +5,12 @@ export { createModuleLogger };
|
|
|
5
5
|
export declare const WARNING_PREFIX = "WARNING --";
|
|
6
6
|
export declare const ERROR_PREFIX = "ERROR --";
|
|
7
7
|
export type Logger = typeof projectLogger;
|
|
8
|
+
/**
|
|
9
|
+
* Logs an error with either WARNING or ERROR prefix, appending the error message.
|
|
10
|
+
*
|
|
11
|
+
* @param level - 'warn' for WARNING prefix, 'error' for ERROR prefix.
|
|
12
|
+
* @param message - The static message describing what failed.
|
|
13
|
+
* @param error - The caught error.
|
|
14
|
+
*/
|
|
15
|
+
export declare function logErrorAs(level: 'warn' | 'error', message: string, error: unknown): void;
|
|
8
16
|
//# sourceMappingURL=logger.d.cts.map
|
package/dist/logger.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.cts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAAA,OAAO,EAAuB,kBAAkB,EAAE,wBAAwB;
|
|
1
|
+
{"version":3,"file":"logger.d.cts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAAA,OAAO,EAAuB,kBAAkB,EAAE,wBAAwB;AAI1E,eAAO,MAAM,aAAa,0BAAoD,CAAC;AAE/E,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,eAAO,MAAM,cAAc,eAAe,CAAC;AAC3C,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,MAAM,MAAM,MAAM,GAAG,OAAO,aAAa,CAAC;AAE1C;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,GAAG,OAAO,EACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,GACb,IAAI,CAGN"}
|
package/dist/logger.d.mts
CHANGED
|
@@ -5,4 +5,12 @@ export { createModuleLogger };
|
|
|
5
5
|
export declare const WARNING_PREFIX = "WARNING --";
|
|
6
6
|
export declare const ERROR_PREFIX = "ERROR --";
|
|
7
7
|
export type Logger = typeof projectLogger;
|
|
8
|
+
/**
|
|
9
|
+
* Logs an error with either WARNING or ERROR prefix, appending the error message.
|
|
10
|
+
*
|
|
11
|
+
* @param level - 'warn' for WARNING prefix, 'error' for ERROR prefix.
|
|
12
|
+
* @param message - The static message describing what failed.
|
|
13
|
+
* @param error - The caught error.
|
|
14
|
+
*/
|
|
15
|
+
export declare function logErrorAs(level: 'warn' | 'error', message: string, error: unknown): void;
|
|
8
16
|
//# sourceMappingURL=logger.d.mts.map
|
package/dist/logger.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.mts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAAA,OAAO,EAAuB,kBAAkB,EAAE,wBAAwB;
|
|
1
|
+
{"version":3,"file":"logger.d.mts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAAA,OAAO,EAAuB,kBAAkB,EAAE,wBAAwB;AAI1E,eAAO,MAAM,aAAa,0BAAoD,CAAC;AAE/E,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,eAAO,MAAM,cAAc,eAAe,CAAC;AAC3C,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,MAAM,MAAM,MAAM,GAAG,OAAO,aAAa,CAAC;AAE1C;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,GAAG,OAAO,EACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,GACb,IAAI,CAGN"}
|
package/dist/logger.mjs
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import { createProjectLogger, createModuleLogger } from "@metamask/utils";
|
|
2
|
+
import { toErrorMessage } from "./utils.mjs";
|
|
2
3
|
export const projectLogger = createProjectLogger('multichain-account-service');
|
|
3
4
|
export { createModuleLogger };
|
|
4
5
|
export const WARNING_PREFIX = 'WARNING --';
|
|
5
6
|
export const ERROR_PREFIX = 'ERROR --';
|
|
7
|
+
/**
|
|
8
|
+
* Logs an error with either WARNING or ERROR prefix, appending the error message.
|
|
9
|
+
*
|
|
10
|
+
* @param level - 'warn' for WARNING prefix, 'error' for ERROR prefix.
|
|
11
|
+
* @param message - The static message describing what failed.
|
|
12
|
+
* @param error - The caught error.
|
|
13
|
+
*/
|
|
14
|
+
export function logErrorAs(level, message, error) {
|
|
15
|
+
const prefix = level === 'warn' ? WARNING_PREFIX : ERROR_PREFIX;
|
|
16
|
+
projectLogger(`${prefix} ${message}: ${toErrorMessage(error)}`);
|
|
17
|
+
}
|
|
6
18
|
//# sourceMappingURL=logger.mjs.map
|
package/dist/logger.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.mjs","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,wBAAwB;AAE1E,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;AAE/E,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAC3C,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC","sourcesContent":["import { createProjectLogger, createModuleLogger } from '@metamask/utils';\n\nexport const projectLogger = createProjectLogger('multichain-account-service');\n\nexport { createModuleLogger };\n\nexport const WARNING_PREFIX = 'WARNING --';\nexport const ERROR_PREFIX = 'ERROR --';\n\nexport type Logger = typeof projectLogger;\n"]}
|
|
1
|
+
{"version":3,"file":"logger.mjs","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,wBAAwB;AAE1E,OAAO,EAAE,cAAc,EAAE,oBAAgB;AAEzC,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;AAE/E,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAC3C,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;AAIvC;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CACxB,KAAuB,EACvB,OAAe,EACf,KAAc;IAEd,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;IAChE,aAAa,CAAC,GAAG,MAAM,IAAI,OAAO,KAAK,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC","sourcesContent":["import { createProjectLogger, createModuleLogger } from '@metamask/utils';\n\nimport { toErrorMessage } from './utils';\n\nexport const projectLogger = createProjectLogger('multichain-account-service');\n\nexport { createModuleLogger };\n\nexport const WARNING_PREFIX = 'WARNING --';\nexport const ERROR_PREFIX = 'ERROR --';\n\nexport type Logger = typeof projectLogger;\n\n/**\n * Logs an error with either WARNING or ERROR prefix, appending the error message.\n *\n * @param level - 'warn' for WARNING prefix, 'error' for ERROR prefix.\n * @param message - The static message describing what failed.\n * @param error - The caught error.\n */\nexport function logErrorAs(\n level: 'warn' | 'error',\n message: string,\n error: unknown,\n): void {\n const prefix = level === 'warn' ? WARNING_PREFIX : ERROR_PREFIX;\n projectLogger(`${prefix} ${message}: ${toErrorMessage(error)}`);\n}\n"]}
|
|
@@ -35,6 +35,11 @@ class AccountProviderWrapper extends BaseBip44AccountProvider_1.BaseBip44Account
|
|
|
35
35
|
setEnabled(enabled) {
|
|
36
36
|
this.isEnabled = enabled;
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if the provider is disabled.
|
|
40
|
+
*
|
|
41
|
+
* @returns True if the provider is disabled, false otherwise.
|
|
42
|
+
*/
|
|
38
43
|
isDisabled() {
|
|
39
44
|
return !this.isEnabled;
|
|
40
45
|
}
|
|
@@ -60,12 +65,6 @@ class AccountProviderWrapper extends BaseBip44AccountProvider_1.BaseBip44Account
|
|
|
60
65
|
}
|
|
61
66
|
return this.provider.getAccounts();
|
|
62
67
|
}
|
|
63
|
-
async alignAccounts(options) {
|
|
64
|
-
if (this.isDisabled()) {
|
|
65
|
-
return [];
|
|
66
|
-
}
|
|
67
|
-
return await this.provider.alignAccounts(options);
|
|
68
|
-
}
|
|
69
68
|
/**
|
|
70
69
|
* Override getAccount to throw when disabled.
|
|
71
70
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountProviderWrapper.cjs","sourceRoot":"","sources":["../../src/providers/AccountProviderWrapper.ts"],"names":[],"mappings":";;;AASA,6EAAsE;AAGtE;;;GAGG;AACH,MAAa,sBAAuB,SAAQ,mDAAwB;IAKlE,YACE,SAA4C,EAC5C,QAAkC;QAElC,KAAK,CAAC,SAAS,CAAC,CAAC;QARX,cAAS,GAAY,IAAI,CAAC;QAShC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACM,IAAI,CAAC,QAA8C;QAC1D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACM,KAAK,CAAC,cAAc,CAC3B,QAAyC;QAEzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACM,WAAW;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;
|
|
1
|
+
{"version":3,"file":"AccountProviderWrapper.cjs","sourceRoot":"","sources":["../../src/providers/AccountProviderWrapper.ts"],"names":[],"mappings":";;;AASA,6EAAsE;AAGtE;;;GAGG;AACH,MAAa,sBAAuB,SAAQ,mDAAwB;IAKlE,YACE,SAA4C,EAC5C,QAAkC;QAElC,KAAK,CAAC,SAAS,CAAC,CAAC;QARX,cAAS,GAAY,IAAI,CAAC;QAShC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACM,IAAI,CAAC,QAA8C;QAC1D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACM,KAAK,CAAC,cAAc,CAC3B,QAAyC;QAEzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACM,WAAW;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACM,UAAU,CACjB,EAAsC;QAEtC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,mBAAmB,CAAC,OAAqC;QACvD,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,OAA6B;QAE7B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAGtB;QACC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACF;AAtID,wDAsIC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CACtC,QAAiB;IAEjB,OAAO,QAAQ,YAAY,sBAAsB,CAAC;AACpD,CAAC;AAJD,4DAIC","sourcesContent":["import type { Bip44Account } from '@metamask/account-api';\nimport type {\n CreateAccountOptions,\n EntropySourceId,\n KeyringAccount,\n KeyringCapabilities,\n} from '@metamask/keyring-api';\nimport type { InternalAccount } from '@metamask/keyring-internal-api';\n\nimport { BaseBip44AccountProvider } from './BaseBip44AccountProvider';\nimport type { MultichainAccountServiceMessenger } from '../types';\n\n/**\n * A simple wrapper that adds disable functionality to any BaseBip44AccountProvider.\n * When disabled, the provider will not create new accounts and return empty results.\n */\nexport class AccountProviderWrapper extends BaseBip44AccountProvider {\n private isEnabled: boolean = true;\n\n private readonly provider: BaseBip44AccountProvider;\n\n constructor(\n messenger: MultichainAccountServiceMessenger,\n provider: BaseBip44AccountProvider,\n ) {\n super(messenger);\n this.provider = provider;\n }\n\n override getName(): string {\n return this.provider.getName();\n }\n\n get capabilities(): KeyringCapabilities {\n return this.provider.capabilities;\n }\n\n /**\n * Forward initialization to the wrapped provider to ensure both\n * instances share the same visible account IDs.\n *\n * @param accounts - Account IDs to initialize with.\n */\n override init(accounts: Bip44Account<KeyringAccount>['id'][]): void {\n this.provider.init(accounts);\n }\n\n /**\n * Set the enabled state for this provider.\n *\n * @param enabled - Whether the provider should be enabled.\n */\n setEnabled(enabled: boolean): void {\n this.isEnabled = enabled;\n }\n\n /**\n * Check if the provider is disabled.\n *\n * @returns True if the provider is disabled, false otherwise.\n */\n isDisabled(): boolean {\n return !this.isEnabled;\n }\n\n /**\n * Override resyncAccounts to not execute it when disabled.\n *\n * @param accounts - List of local accounts.\n */\n override async resyncAccounts(\n accounts: Bip44Account<InternalAccount>[],\n ): Promise<void> {\n if (!this.isEnabled) {\n return;\n }\n await this.provider.resyncAccounts(accounts);\n }\n\n /**\n * Override getAccounts to return empty array when disabled.\n *\n * @returns Array of accounts, or empty array if disabled.\n */\n override getAccounts(): Bip44Account<KeyringAccount>[] {\n if (!this.isEnabled) {\n return [];\n }\n return this.provider.getAccounts();\n }\n\n /**\n * Override getAccount to throw when disabled.\n *\n * @param id - The account ID to retrieve.\n * @returns The account with the specified ID.\n * @throws When disabled or account not found.\n */\n override getAccount(\n id: Bip44Account<KeyringAccount>['id'],\n ): Bip44Account<KeyringAccount> {\n if (!this.isEnabled) {\n throw new Error('Provider is disabled');\n }\n return this.provider.getAccount(id);\n }\n\n /**\n * Implement abstract method: Check if account is compatible.\n * Delegates directly to wrapped provider - no runtime checks needed!\n *\n * @param account - The account to check.\n * @returns True if the account is compatible.\n */\n isAccountCompatible(account: Bip44Account<KeyringAccount>): boolean {\n return this.provider.isAccountCompatible(account);\n }\n\n /**\n * Implement abstract method: Create accounts, returns empty array when disabled.\n *\n * @param options - Account creation options.\n * @returns Promise resolving to created accounts, or empty array if disabled.\n */\n async createAccounts(\n options: CreateAccountOptions,\n ): Promise<Bip44Account<KeyringAccount>[]> {\n if (!this.isEnabled) {\n return [];\n }\n return this.provider.createAccounts(options);\n }\n\n /**\n * Implement abstract method: Discover and create accounts, returns empty array when disabled.\n *\n * @param options - Account discovery options.\n * @param options.entropySource - The entropy source to use.\n * @param options.groupIndex - The group index to use.\n * @returns Promise resolving to discovered accounts, or empty array if disabled.\n */\n async discoverAccounts(options: {\n entropySource: EntropySourceId;\n groupIndex: number;\n }): Promise<Bip44Account<KeyringAccount>[]> {\n if (!this.isEnabled) {\n return [];\n }\n return this.provider.discoverAccounts(options);\n }\n}\n\n/**\n * Simple type guard to check if a provider is wrapped.\n *\n * @param provider - The provider to check.\n * @returns True if the provider is an AccountProviderWrapper.\n */\nexport function isAccountProviderWrapper(\n provider: unknown,\n): provider is AccountProviderWrapper {\n return provider instanceof AccountProviderWrapper;\n}\n"]}
|
|
@@ -26,6 +26,11 @@ export declare class AccountProviderWrapper extends BaseBip44AccountProvider {
|
|
|
26
26
|
* @param enabled - Whether the provider should be enabled.
|
|
27
27
|
*/
|
|
28
28
|
setEnabled(enabled: boolean): void;
|
|
29
|
+
/**
|
|
30
|
+
* Check if the provider is disabled.
|
|
31
|
+
*
|
|
32
|
+
* @returns True if the provider is disabled, false otherwise.
|
|
33
|
+
*/
|
|
29
34
|
isDisabled(): boolean;
|
|
30
35
|
/**
|
|
31
36
|
* Override resyncAccounts to not execute it when disabled.
|
|
@@ -39,10 +44,6 @@ export declare class AccountProviderWrapper extends BaseBip44AccountProvider {
|
|
|
39
44
|
* @returns Array of accounts, or empty array if disabled.
|
|
40
45
|
*/
|
|
41
46
|
getAccounts(): Bip44Account<KeyringAccount>[];
|
|
42
|
-
alignAccounts(options: {
|
|
43
|
-
entropySource: EntropySourceId;
|
|
44
|
-
groupIndex: number;
|
|
45
|
-
}): Promise<Bip44Account<KeyringAccount>['id'][]>;
|
|
46
47
|
/**
|
|
47
48
|
* Override getAccount to throw when disabled.
|
|
48
49
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountProviderWrapper.d.cts","sourceRoot":"","sources":["../../src/providers/AccountProviderWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B;AAC1D,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,mBAAmB,EACpB,8BAA8B;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AACtE,OAAO,KAAK,EAAE,iCAAiC,EAAE,qBAAiB;AAElE;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,wBAAwB;IAClE,OAAO,CAAC,SAAS,CAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;gBAGlD,SAAS,EAAE,iCAAiC,EAC5C,QAAQ,EAAE,wBAAwB;IAM3B,OAAO,IAAI,MAAM;IAI1B,IAAI,YAAY,IAAI,mBAAmB,CAEtC;IAED;;;;;OAKG;IACM,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI;IAInE;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,UAAU,IAAI,OAAO;IAIrB;;;;OAIG;IACY,cAAc,CAC3B,QAAQ,EAAE,YAAY,CAAC,eAAe,CAAC,EAAE,GACxC,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;OAIG;IACM,WAAW,IAAI,YAAY,CAAC,cAAc,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"AccountProviderWrapper.d.cts","sourceRoot":"","sources":["../../src/providers/AccountProviderWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B;AAC1D,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,mBAAmB,EACpB,8BAA8B;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AACtE,OAAO,KAAK,EAAE,iCAAiC,EAAE,qBAAiB;AAElE;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,wBAAwB;IAClE,OAAO,CAAC,SAAS,CAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;gBAGlD,SAAS,EAAE,iCAAiC,EAC5C,QAAQ,EAAE,wBAAwB;IAM3B,OAAO,IAAI,MAAM;IAI1B,IAAI,YAAY,IAAI,mBAAmB,CAEtC;IAED;;;;;OAKG;IACM,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI;IAInE;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC;;;;OAIG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;OAIG;IACY,cAAc,CAC3B,QAAQ,EAAE,YAAY,CAAC,eAAe,CAAC,EAAE,GACxC,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;OAIG;IACM,WAAW,IAAI,YAAY,CAAC,cAAc,CAAC,EAAE;IAOtD;;;;;;OAMG;IACM,UAAU,CACjB,EAAE,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GACrC,YAAY,CAAC,cAAc,CAAC;IAO/B;;;;;;OAMG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,GAAG,OAAO;IAInE;;;;;OAKG;IACG,cAAc,CAClB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;IAO1C;;;;;;;OAOG;IACG,gBAAgB,CAAC,OAAO,EAAE;QAC9B,aAAa,EAAE,eAAe,CAAC;QAC/B,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;CAM5C;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,OAAO,GAChB,QAAQ,IAAI,sBAAsB,CAEpC"}
|
|
@@ -26,6 +26,11 @@ export declare class AccountProviderWrapper extends BaseBip44AccountProvider {
|
|
|
26
26
|
* @param enabled - Whether the provider should be enabled.
|
|
27
27
|
*/
|
|
28
28
|
setEnabled(enabled: boolean): void;
|
|
29
|
+
/**
|
|
30
|
+
* Check if the provider is disabled.
|
|
31
|
+
*
|
|
32
|
+
* @returns True if the provider is disabled, false otherwise.
|
|
33
|
+
*/
|
|
29
34
|
isDisabled(): boolean;
|
|
30
35
|
/**
|
|
31
36
|
* Override resyncAccounts to not execute it when disabled.
|
|
@@ -39,10 +44,6 @@ export declare class AccountProviderWrapper extends BaseBip44AccountProvider {
|
|
|
39
44
|
* @returns Array of accounts, or empty array if disabled.
|
|
40
45
|
*/
|
|
41
46
|
getAccounts(): Bip44Account<KeyringAccount>[];
|
|
42
|
-
alignAccounts(options: {
|
|
43
|
-
entropySource: EntropySourceId;
|
|
44
|
-
groupIndex: number;
|
|
45
|
-
}): Promise<Bip44Account<KeyringAccount>['id'][]>;
|
|
46
47
|
/**
|
|
47
48
|
* Override getAccount to throw when disabled.
|
|
48
49
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountProviderWrapper.d.mts","sourceRoot":"","sources":["../../src/providers/AccountProviderWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B;AAC1D,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,mBAAmB,EACpB,8BAA8B;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AACtE,OAAO,KAAK,EAAE,iCAAiC,EAAE,qBAAiB;AAElE;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,wBAAwB;IAClE,OAAO,CAAC,SAAS,CAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;gBAGlD,SAAS,EAAE,iCAAiC,EAC5C,QAAQ,EAAE,wBAAwB;IAM3B,OAAO,IAAI,MAAM;IAI1B,IAAI,YAAY,IAAI,mBAAmB,CAEtC;IAED;;;;;OAKG;IACM,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI;IAInE;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,UAAU,IAAI,OAAO;IAIrB;;;;OAIG;IACY,cAAc,CAC3B,QAAQ,EAAE,YAAY,CAAC,eAAe,CAAC,EAAE,GACxC,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;OAIG;IACM,WAAW,IAAI,YAAY,CAAC,cAAc,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"AccountProviderWrapper.d.mts","sourceRoot":"","sources":["../../src/providers/AccountProviderWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B;AAC1D,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,mBAAmB,EACpB,8BAA8B;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AACtE,OAAO,KAAK,EAAE,iCAAiC,EAAE,qBAAiB;AAElE;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,wBAAwB;IAClE,OAAO,CAAC,SAAS,CAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;gBAGlD,SAAS,EAAE,iCAAiC,EAC5C,QAAQ,EAAE,wBAAwB;IAM3B,OAAO,IAAI,MAAM;IAI1B,IAAI,YAAY,IAAI,mBAAmB,CAEtC;IAED;;;;;OAKG;IACM,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI;IAInE;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC;;;;OAIG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;OAIG;IACY,cAAc,CAC3B,QAAQ,EAAE,YAAY,CAAC,eAAe,CAAC,EAAE,GACxC,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;OAIG;IACM,WAAW,IAAI,YAAY,CAAC,cAAc,CAAC,EAAE;IAOtD;;;;;;OAMG;IACM,UAAU,CACjB,EAAE,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GACrC,YAAY,CAAC,cAAc,CAAC;IAO/B;;;;;;OAMG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,GAAG,OAAO;IAInE;;;;;OAKG;IACG,cAAc,CAClB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;IAO1C;;;;;;;OAOG;IACG,gBAAgB,CAAC,OAAO,EAAE;QAC9B,aAAa,EAAE,eAAe,CAAC;QAC/B,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;CAM5C;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,OAAO,GAChB,QAAQ,IAAI,sBAAsB,CAEpC"}
|
|
@@ -32,6 +32,11 @@ export class AccountProviderWrapper extends BaseBip44AccountProvider {
|
|
|
32
32
|
setEnabled(enabled) {
|
|
33
33
|
this.isEnabled = enabled;
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Check if the provider is disabled.
|
|
37
|
+
*
|
|
38
|
+
* @returns True if the provider is disabled, false otherwise.
|
|
39
|
+
*/
|
|
35
40
|
isDisabled() {
|
|
36
41
|
return !this.isEnabled;
|
|
37
42
|
}
|
|
@@ -57,12 +62,6 @@ export class AccountProviderWrapper extends BaseBip44AccountProvider {
|
|
|
57
62
|
}
|
|
58
63
|
return this.provider.getAccounts();
|
|
59
64
|
}
|
|
60
|
-
async alignAccounts(options) {
|
|
61
|
-
if (this.isDisabled()) {
|
|
62
|
-
return [];
|
|
63
|
-
}
|
|
64
|
-
return await this.provider.alignAccounts(options);
|
|
65
|
-
}
|
|
66
65
|
/**
|
|
67
66
|
* Override getAccount to throw when disabled.
|
|
68
67
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountProviderWrapper.mjs","sourceRoot":"","sources":["../../src/providers/AccountProviderWrapper.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AAGtE;;;GAGG;AACH,MAAM,OAAO,sBAAuB,SAAQ,wBAAwB;IAKlE,YACE,SAA4C,EAC5C,QAAkC;QAElC,KAAK,CAAC,SAAS,CAAC,CAAC;QARX,cAAS,GAAY,IAAI,CAAC;QAShC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACM,IAAI,CAAC,QAA8C;QAC1D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACM,KAAK,CAAC,cAAc,CAC3B,QAAyC;QAEzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACM,WAAW;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;
|
|
1
|
+
{"version":3,"file":"AccountProviderWrapper.mjs","sourceRoot":"","sources":["../../src/providers/AccountProviderWrapper.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AAGtE;;;GAGG;AACH,MAAM,OAAO,sBAAuB,SAAQ,wBAAwB;IAKlE,YACE,SAA4C,EAC5C,QAAkC;QAElC,KAAK,CAAC,SAAS,CAAC,CAAC;QARX,cAAS,GAAY,IAAI,CAAC;QAShC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACM,IAAI,CAAC,QAA8C;QAC1D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACM,KAAK,CAAC,cAAc,CAC3B,QAAyC;QAEzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACM,WAAW;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACM,UAAU,CACjB,EAAsC;QAEtC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,mBAAmB,CAAC,OAAqC;QACvD,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,OAA6B;QAE7B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAGtB;QACC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAiB;IAEjB,OAAO,QAAQ,YAAY,sBAAsB,CAAC;AACpD,CAAC","sourcesContent":["import type { Bip44Account } from '@metamask/account-api';\nimport type {\n CreateAccountOptions,\n EntropySourceId,\n KeyringAccount,\n KeyringCapabilities,\n} from '@metamask/keyring-api';\nimport type { InternalAccount } from '@metamask/keyring-internal-api';\n\nimport { BaseBip44AccountProvider } from './BaseBip44AccountProvider';\nimport type { MultichainAccountServiceMessenger } from '../types';\n\n/**\n * A simple wrapper that adds disable functionality to any BaseBip44AccountProvider.\n * When disabled, the provider will not create new accounts and return empty results.\n */\nexport class AccountProviderWrapper extends BaseBip44AccountProvider {\n private isEnabled: boolean = true;\n\n private readonly provider: BaseBip44AccountProvider;\n\n constructor(\n messenger: MultichainAccountServiceMessenger,\n provider: BaseBip44AccountProvider,\n ) {\n super(messenger);\n this.provider = provider;\n }\n\n override getName(): string {\n return this.provider.getName();\n }\n\n get capabilities(): KeyringCapabilities {\n return this.provider.capabilities;\n }\n\n /**\n * Forward initialization to the wrapped provider to ensure both\n * instances share the same visible account IDs.\n *\n * @param accounts - Account IDs to initialize with.\n */\n override init(accounts: Bip44Account<KeyringAccount>['id'][]): void {\n this.provider.init(accounts);\n }\n\n /**\n * Set the enabled state for this provider.\n *\n * @param enabled - Whether the provider should be enabled.\n */\n setEnabled(enabled: boolean): void {\n this.isEnabled = enabled;\n }\n\n /**\n * Check if the provider is disabled.\n *\n * @returns True if the provider is disabled, false otherwise.\n */\n isDisabled(): boolean {\n return !this.isEnabled;\n }\n\n /**\n * Override resyncAccounts to not execute it when disabled.\n *\n * @param accounts - List of local accounts.\n */\n override async resyncAccounts(\n accounts: Bip44Account<InternalAccount>[],\n ): Promise<void> {\n if (!this.isEnabled) {\n return;\n }\n await this.provider.resyncAccounts(accounts);\n }\n\n /**\n * Override getAccounts to return empty array when disabled.\n *\n * @returns Array of accounts, or empty array if disabled.\n */\n override getAccounts(): Bip44Account<KeyringAccount>[] {\n if (!this.isEnabled) {\n return [];\n }\n return this.provider.getAccounts();\n }\n\n /**\n * Override getAccount to throw when disabled.\n *\n * @param id - The account ID to retrieve.\n * @returns The account with the specified ID.\n * @throws When disabled or account not found.\n */\n override getAccount(\n id: Bip44Account<KeyringAccount>['id'],\n ): Bip44Account<KeyringAccount> {\n if (!this.isEnabled) {\n throw new Error('Provider is disabled');\n }\n return this.provider.getAccount(id);\n }\n\n /**\n * Implement abstract method: Check if account is compatible.\n * Delegates directly to wrapped provider - no runtime checks needed!\n *\n * @param account - The account to check.\n * @returns True if the account is compatible.\n */\n isAccountCompatible(account: Bip44Account<KeyringAccount>): boolean {\n return this.provider.isAccountCompatible(account);\n }\n\n /**\n * Implement abstract method: Create accounts, returns empty array when disabled.\n *\n * @param options - Account creation options.\n * @returns Promise resolving to created accounts, or empty array if disabled.\n */\n async createAccounts(\n options: CreateAccountOptions,\n ): Promise<Bip44Account<KeyringAccount>[]> {\n if (!this.isEnabled) {\n return [];\n }\n return this.provider.createAccounts(options);\n }\n\n /**\n * Implement abstract method: Discover and create accounts, returns empty array when disabled.\n *\n * @param options - Account discovery options.\n * @param options.entropySource - The entropy source to use.\n * @param options.groupIndex - The group index to use.\n * @returns Promise resolving to discovered accounts, or empty array if disabled.\n */\n async discoverAccounts(options: {\n entropySource: EntropySourceId;\n groupIndex: number;\n }): Promise<Bip44Account<KeyringAccount>[]> {\n if (!this.isEnabled) {\n return [];\n }\n return this.provider.discoverAccounts(options);\n }\n}\n\n/**\n * Simple type guard to check if a provider is wrapped.\n *\n * @param provider - The provider to check.\n * @returns True if the provider is an AccountProviderWrapper.\n */\nexport function isAccountProviderWrapper(\n provider: unknown,\n): provider is AccountProviderWrapper {\n return provider instanceof AccountProviderWrapper;\n}\n"]}
|
|
@@ -8,7 +8,6 @@ var _BaseBip44AccountProvider_instances, _BaseBip44AccountProvider_getAccountIds
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.BaseBip44AccountProvider = exports.assertAreBip44Accounts = exports.assertIsBip44Account = void 0;
|
|
10
10
|
const account_api_1 = require("@metamask/account-api");
|
|
11
|
-
const keyring_api_1 = require("@metamask/keyring-api");
|
|
12
11
|
/**
|
|
13
12
|
* Asserts a keyring account is BIP-44 compatible.
|
|
14
13
|
*
|
|
@@ -83,15 +82,6 @@ class BaseBip44AccountProvider {
|
|
|
83
82
|
}));
|
|
84
83
|
return result;
|
|
85
84
|
}
|
|
86
|
-
async alignAccounts({ entropySource, groupIndex, }) {
|
|
87
|
-
const accounts = await this.createAccounts({
|
|
88
|
-
type: keyring_api_1.AccountCreationType.Bip44DeriveIndex,
|
|
89
|
-
entropySource,
|
|
90
|
-
groupIndex,
|
|
91
|
-
});
|
|
92
|
-
const accountIds = accounts.map((account) => account.id);
|
|
93
|
-
return accountIds;
|
|
94
|
-
}
|
|
95
85
|
}
|
|
96
86
|
exports.BaseBip44AccountProvider = BaseBip44AccountProvider;
|
|
97
87
|
_BaseBip44AccountProvider_instances = new WeakSet(), _BaseBip44AccountProvider_getAccountIds = function _BaseBip44AccountProvider_getAccountIds() {
|