@metamask-previews/multichain-account-service 0.4.0-preview-7dfc3145 → 0.5.0-preview-f108d6a

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.
Files changed (54) hide show
  1. package/CHANGELOG.md +10 -3
  2. package/dist/MultichainAccountService.cjs +1 -26
  3. package/dist/MultichainAccountService.cjs.map +1 -1
  4. package/dist/MultichainAccountService.d.cts +2 -10
  5. package/dist/MultichainAccountService.d.cts.map +1 -1
  6. package/dist/MultichainAccountService.d.mts +2 -10
  7. package/dist/MultichainAccountService.d.mts.map +1 -1
  8. package/dist/MultichainAccountService.mjs +1 -26
  9. package/dist/MultichainAccountService.mjs.map +1 -1
  10. package/dist/providers/SnapAccountProvider.cjs +1 -5
  11. package/dist/providers/SnapAccountProvider.cjs.map +1 -1
  12. package/dist/providers/SnapAccountProvider.d.cts +0 -1
  13. package/dist/providers/SnapAccountProvider.d.cts.map +1 -1
  14. package/dist/providers/SnapAccountProvider.d.mts +0 -1
  15. package/dist/providers/SnapAccountProvider.d.mts.map +1 -1
  16. package/dist/providers/SnapAccountProvider.mjs +0 -3
  17. package/dist/providers/SnapAccountProvider.mjs.map +1 -1
  18. package/dist/providers/SolAccountProvider.cjs.map +1 -1
  19. package/dist/providers/SolAccountProvider.d.cts +1 -1
  20. package/dist/providers/SolAccountProvider.d.cts.map +1 -1
  21. package/dist/providers/SolAccountProvider.d.mts +1 -1
  22. package/dist/providers/SolAccountProvider.d.mts.map +1 -1
  23. package/dist/providers/SolAccountProvider.mjs.map +1 -1
  24. package/dist/providers/index.cjs +0 -1
  25. package/dist/providers/index.cjs.map +1 -1
  26. package/dist/providers/index.d.cts +0 -1
  27. package/dist/providers/index.d.cts.map +1 -1
  28. package/dist/providers/index.d.mts +0 -1
  29. package/dist/providers/index.d.mts.map +1 -1
  30. package/dist/providers/index.mjs +0 -1
  31. package/dist/providers/index.mjs.map +1 -1
  32. package/dist/tests/providers.cjs +0 -1
  33. package/dist/tests/providers.cjs.map +1 -1
  34. package/dist/tests/providers.d.cts +0 -1
  35. package/dist/tests/providers.d.cts.map +1 -1
  36. package/dist/tests/providers.d.mts +0 -1
  37. package/dist/tests/providers.d.mts.map +1 -1
  38. package/dist/tests/providers.mjs +0 -1
  39. package/dist/tests/providers.mjs.map +1 -1
  40. package/dist/types.cjs.map +1 -1
  41. package/dist/types.d.cts +1 -5
  42. package/dist/types.d.cts.map +1 -1
  43. package/dist/types.d.mts +1 -5
  44. package/dist/types.d.mts.map +1 -1
  45. package/dist/types.mjs.map +1 -1
  46. package/package.json +6 -6
  47. package/dist/providers/ProviderWrapper.cjs +0 -102
  48. package/dist/providers/ProviderWrapper.cjs.map +0 -1
  49. package/dist/providers/ProviderWrapper.d.cts +0 -69
  50. package/dist/providers/ProviderWrapper.d.cts.map +0 -1
  51. package/dist/providers/ProviderWrapper.d.mts +0 -69
  52. package/dist/providers/ProviderWrapper.d.mts.map +0 -1
  53. package/dist/providers/ProviderWrapper.mjs +0 -97
  54. package/dist/providers/ProviderWrapper.mjs.map +0 -1
@@ -1,97 +0,0 @@
1
- /**
2
- * A simple wrapper that adds disable functionality to any AccountProvider.
3
- * When disabled, the provider will not create new accounts and return empty results.
4
- */
5
- export class ProviderWrapper {
6
- constructor(provider) {
7
- this.isDisabled = false;
8
- this.provider = provider;
9
- }
10
- /**
11
- * Set the disabled state for this provider.
12
- *
13
- * @param disabled - Whether the provider should be disabled.
14
- */
15
- setDisabled(disabled) {
16
- this.isDisabled = disabled;
17
- console.log(`Provider ${this.provider.constructor.name} ${disabled ? 'disabled' : 'enabled'}`);
18
- }
19
- /**
20
- * Get accounts, returns empty array when disabled.
21
- *
22
- * @returns Array of accounts, or empty array if disabled.
23
- */
24
- getAccounts() {
25
- if (this.isDisabled) {
26
- return [];
27
- }
28
- return this.provider.getAccounts();
29
- }
30
- /**
31
- * Get account by ID, throws error when disabled.
32
- *
33
- * @param id - The account ID to retrieve.
34
- * @returns The account with the specified ID, or undefined if not found.
35
- */
36
- getAccount(id) {
37
- if (this.isDisabled) {
38
- throw new Error(`Provider ${this.provider.constructor.name} is disabled`);
39
- }
40
- return this.provider.getAccount(id);
41
- }
42
- /**
43
- * Create accounts, returns empty array when disabled.
44
- *
45
- * @param options - Account creation options.
46
- * @param options.entropySource - The entropy source to use.
47
- * @param options.groupIndex - The group index to use.
48
- * @returns Promise resolving to created accounts, or empty array if disabled.
49
- */
50
- async createAccounts(options) {
51
- if (this.isDisabled) {
52
- console.log(`Provider ${this.provider.constructor.name} is disabled - skipping account creation`);
53
- return [];
54
- }
55
- return this.provider.createAccounts(options);
56
- }
57
- /**
58
- * Discover and create accounts, returns empty array when disabled.
59
- *
60
- * @param options - Account discovery options.
61
- * @param options.entropySource - The entropy source to use.
62
- * @param options.groupIndex - The group index to use.
63
- * @returns Promise resolving to discovered accounts, or empty array if disabled.
64
- */
65
- async discoverAndCreateAccounts(options) {
66
- if (this.isDisabled) {
67
- console.log(`Provider ${this.provider.constructor.name} is disabled - skipping account discovery`);
68
- return [];
69
- }
70
- return this.provider.discoverAndCreateAccounts(options);
71
- }
72
- /**
73
- * Check if account is compatible.
74
- *
75
- * @param account - The account to check.
76
- * @returns True if the account is compatible.
77
- */
78
- isAccountCompatible(account) {
79
- // Check if the provider has the method (from BaseAccountProvider)
80
- if ('isAccountCompatible' in this.provider &&
81
- typeof this.provider.isAccountCompatible === 'function') {
82
- return this.provider.isAccountCompatible(account);
83
- }
84
- // Fallback: return true if the method doesn't exist
85
- return true;
86
- }
87
- }
88
- /**
89
- * Simple type guard to check if a provider is wrapped.
90
- *
91
- * @param provider - The provider to check.
92
- * @returns True if the provider is a ProviderWrapper.
93
- */
94
- export function isProviderWrapper(provider) {
95
- return provider instanceof ProviderWrapper;
96
- }
97
- //# sourceMappingURL=ProviderWrapper.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProviderWrapper.mjs","sourceRoot":"","sources":["../../src/providers/ProviderWrapper.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,OAAO,eAAe;IAO1B,YAAY,QAAuD;QAJ3D,eAAU,GAAY,KAAK,CAAC;QAKlC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,QAAiB;QAC3B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC3B,OAAO,CAAC,GAAG,CACT,YAAY,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,CAClF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,EAAE,CAAC;SACX;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,UAAU,CACR,EAAsC;QAEtC,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,CAAC;SAC3E;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAAC,OAGpB;QACC,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,CAAC,GAAG,CACT,YAAY,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,0CAA0C,CACrF,CAAC;YACF,OAAO,EAAE,CAAC;SACX;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,yBAAyB,CAAC,OAG/B;QACC,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,CAAC,GAAG,CACT,YAAY,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,2CAA2C,CACtF,CAAC;YACF,OAAO,EAAE,CAAC;SACX;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,OAAqC;QACvD,kEAAkE;QAClE,IACE,qBAAqB,IAAI,IAAI,CAAC,QAAQ;YACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,KAAK,UAAU,EACvD;YACA,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;SACnD;QACD,oDAAoD;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAyE;IAEzE,OAAO,QAAQ,YAAY,eAAe,CAAC;AAC7C,CAAC","sourcesContent":["import type { AccountProvider, Bip44Account } from '@metamask/account-api';\nimport type { EntropySourceId, KeyringAccount } from '@metamask/keyring-api';\n\n/**\n * A simple wrapper that adds disable functionality to any AccountProvider.\n * When disabled, the provider will not create new accounts and return empty results.\n */\nexport class ProviderWrapper\n implements AccountProvider<Bip44Account<KeyringAccount>>\n{\n private isDisabled: boolean = false;\n\n private readonly provider: AccountProvider<Bip44Account<KeyringAccount>>;\n\n constructor(provider: AccountProvider<Bip44Account<KeyringAccount>>) {\n this.provider = provider;\n }\n\n /**\n * Set the disabled state for this provider.\n *\n * @param disabled - Whether the provider should be disabled.\n */\n setDisabled(disabled: boolean): void {\n this.isDisabled = disabled;\n console.log(\n `Provider ${this.provider.constructor.name} ${disabled ? 'disabled' : 'enabled'}`,\n );\n }\n\n /**\n * Get accounts, returns empty array when disabled.\n *\n * @returns Array of accounts, or empty array if disabled.\n */\n getAccounts(): Bip44Account<KeyringAccount>[] {\n if (this.isDisabled) {\n return [];\n }\n return this.provider.getAccounts();\n }\n\n /**\n * Get account by ID, throws error when disabled.\n *\n * @param id - The account ID to retrieve.\n * @returns The account with the specified ID, or undefined if not found.\n */\n getAccount(\n id: Bip44Account<KeyringAccount>['id'],\n ): Bip44Account<KeyringAccount> | undefined {\n if (this.isDisabled) {\n throw new Error(`Provider ${this.provider.constructor.name} is disabled`);\n }\n return this.provider.getAccount(id);\n }\n\n /**\n * Create accounts, returns empty array when disabled.\n *\n * @param options - Account creation options.\n * @param options.entropySource - The entropy source to use.\n * @param options.groupIndex - The group index to use.\n * @returns Promise resolving to created accounts, or empty array if disabled.\n */\n async createAccounts(options: {\n entropySource: EntropySourceId;\n groupIndex: number;\n }): Promise<Bip44Account<KeyringAccount>[]> {\n if (this.isDisabled) {\n console.log(\n `Provider ${this.provider.constructor.name} is disabled - skipping account creation`,\n );\n return [];\n }\n return this.provider.createAccounts(options);\n }\n\n /**\n * 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 discoverAndCreateAccounts(options: {\n entropySource: EntropySourceId;\n groupIndex: number;\n }): Promise<Bip44Account<KeyringAccount>[]> {\n if (this.isDisabled) {\n console.log(\n `Provider ${this.provider.constructor.name} is disabled - skipping account discovery`,\n );\n return [];\n }\n return this.provider.discoverAndCreateAccounts(options);\n }\n\n /**\n * Check if account is compatible.\n *\n * @param account - The account to check.\n * @returns True if the account is compatible.\n */\n isAccountCompatible(account: Bip44Account<KeyringAccount>): boolean {\n // Check if the provider has the method (from BaseAccountProvider)\n if (\n 'isAccountCompatible' in this.provider &&\n typeof this.provider.isAccountCompatible === 'function'\n ) {\n return this.provider.isAccountCompatible(account);\n }\n // Fallback: return true if the method doesn't exist\n return true;\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 a ProviderWrapper.\n */\nexport function isProviderWrapper(\n provider: AccountProvider<Bip44Account<KeyringAccount>> | ProviderWrapper,\n): provider is ProviderWrapper {\n return provider instanceof ProviderWrapper;\n}\n"]}