@metamask-previews/multichain-account-service 1.2.0-preview-a5441fae → 1.4.0-preview-683bbcb0

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 (66) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/dist/MultichainAccountWallet.cjs +35 -24
  3. package/dist/MultichainAccountWallet.cjs.map +1 -1
  4. package/dist/MultichainAccountWallet.d.cts +3 -4
  5. package/dist/MultichainAccountWallet.d.cts.map +1 -1
  6. package/dist/MultichainAccountWallet.d.mts +3 -4
  7. package/dist/MultichainAccountWallet.d.mts.map +1 -1
  8. package/dist/MultichainAccountWallet.mjs +35 -24
  9. package/dist/MultichainAccountWallet.mjs.map +1 -1
  10. package/dist/index.cjs +5 -1
  11. package/dist/index.cjs.map +1 -1
  12. package/dist/index.d.cts +1 -1
  13. package/dist/index.d.cts.map +1 -1
  14. package/dist/index.d.mts +1 -1
  15. package/dist/index.d.mts.map +1 -1
  16. package/dist/index.mjs +1 -1
  17. package/dist/index.mjs.map +1 -1
  18. package/dist/logger.cjs +2 -1
  19. package/dist/logger.cjs.map +1 -1
  20. package/dist/logger.d.cts +1 -0
  21. package/dist/logger.d.cts.map +1 -1
  22. package/dist/logger.d.mts +1 -0
  23. package/dist/logger.d.mts.map +1 -1
  24. package/dist/logger.mjs +1 -0
  25. package/dist/logger.mjs.map +1 -1
  26. package/dist/providers/BtcAccountProvider.cjs +96 -0
  27. package/dist/providers/BtcAccountProvider.cjs.map +1 -0
  28. package/dist/providers/BtcAccountProvider.d.cts +52 -0
  29. package/dist/providers/BtcAccountProvider.d.cts.map +1 -0
  30. package/dist/providers/BtcAccountProvider.d.mts +52 -0
  31. package/dist/providers/BtcAccountProvider.d.mts.map +1 -0
  32. package/dist/providers/BtcAccountProvider.mjs +92 -0
  33. package/dist/providers/BtcAccountProvider.mjs.map +1 -0
  34. package/dist/providers/TrxAccountProvider.cjs +103 -0
  35. package/dist/providers/TrxAccountProvider.cjs.map +1 -0
  36. package/dist/providers/TrxAccountProvider.d.cts +34 -0
  37. package/dist/providers/TrxAccountProvider.d.cts.map +1 -0
  38. package/dist/providers/TrxAccountProvider.d.mts +34 -0
  39. package/dist/providers/TrxAccountProvider.d.mts.map +1 -0
  40. package/dist/providers/TrxAccountProvider.mjs +99 -0
  41. package/dist/providers/TrxAccountProvider.mjs.map +1 -0
  42. package/dist/providers/index.cjs +2 -0
  43. package/dist/providers/index.cjs.map +1 -1
  44. package/dist/providers/index.d.cts +2 -0
  45. package/dist/providers/index.d.cts.map +1 -1
  46. package/dist/providers/index.d.mts +2 -0
  47. package/dist/providers/index.d.mts.map +1 -1
  48. package/dist/providers/index.mjs +2 -0
  49. package/dist/providers/index.mjs.map +1 -1
  50. package/dist/tests/accounts.cjs +36 -3
  51. package/dist/tests/accounts.cjs.map +1 -1
  52. package/dist/tests/accounts.d.cts +3 -0
  53. package/dist/tests/accounts.d.cts.map +1 -1
  54. package/dist/tests/accounts.d.mts +3 -0
  55. package/dist/tests/accounts.d.mts.map +1 -1
  56. package/dist/tests/accounts.mjs +36 -3
  57. package/dist/tests/accounts.mjs.map +1 -1
  58. package/dist/tests/providers.cjs +7 -1
  59. package/dist/tests/providers.cjs.map +1 -1
  60. package/dist/tests/providers.d.cts +2 -1
  61. package/dist/tests/providers.d.cts.map +1 -1
  62. package/dist/tests/providers.d.mts +2 -1
  63. package/dist/tests/providers.d.mts.map +1 -1
  64. package/dist/tests/providers.mjs +7 -1
  65. package/dist/tests/providers.mjs.map +1 -1
  66. package/package.json +1 -1
@@ -11,10 +11,11 @@ export type MockAccountProvider = {
11
11
  getName: jest.Mock;
12
12
  };
13
13
  export declare function makeMockAccountProvider(accounts?: KeyringAccount[]): MockAccountProvider;
14
- export declare function setupNamedAccountProvider({ name, accounts, mocks, filter, }: {
14
+ export declare function setupNamedAccountProvider({ name, accounts, mocks, filter, index, }: {
15
15
  name?: string;
16
16
  mocks?: MockAccountProvider;
17
17
  accounts: KeyringAccount[];
18
18
  filter?: (account: KeyringAccount) => boolean;
19
+ index?: number;
19
20
  }): MockAccountProvider;
20
21
  //# sourceMappingURL=providers.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.mts","sourceRoot":"","sources":["../../src/tests/providers.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,8BAA8B;AAE5D,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC;IACvB,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,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;IAChC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;CACpB,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,QAAQ,GAAE,cAAc,EAAO,GAC9B,mBAAmB,CAWrB;AAED,wBAAgB,yBAAyB,CAAC,EACxC,IAAwB,EACxB,QAAQ,EACR,KAAiC,EACjC,MAAmB,GACpB,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;CAC/C,GAAG,mBAAmB,CAqBtB"}
1
+ {"version":3,"file":"providers.d.mts","sourceRoot":"","sources":["../../src/tests/providers.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,8BAA8B;AAI5D,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC;IACvB,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,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;IAChC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;CACpB,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,QAAQ,GAAE,cAAc,EAAO,GAC9B,mBAAmB,CAWrB;AAED,wBAAgB,yBAAyB,CAAC,EACxC,IAAwB,EACxB,QAAQ,EACR,KAAiC,EACjC,MAAmB,EACnB,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,CA2BtB"}
@@ -1,5 +1,6 @@
1
1
  /* eslint-disable jsdoc/require-jsdoc */
2
2
  import { isBip44Account } from "@metamask/account-api";
3
+ import { EvmAccountProvider } from "../providers/index.mjs";
3
4
  export function makeMockAccountProvider(accounts = []) {
4
5
  return {
5
6
  accounts,
@@ -12,7 +13,7 @@ export function makeMockAccountProvider(accounts = []) {
12
13
  getName: jest.fn(),
13
14
  };
14
15
  }
15
- export function setupNamedAccountProvider({ name = 'Mocked Provider', accounts, mocks = makeMockAccountProvider(), filter = () => true, }) {
16
+ export function setupNamedAccountProvider({ name = 'Mocked Provider', accounts, mocks = makeMockAccountProvider(), filter = () => true, index, }) {
16
17
  // You can mock this and all other mocks will re-use that list
17
18
  // of accounts.
18
19
  mocks.accounts = accounts;
@@ -23,6 +24,11 @@ export function setupNamedAccountProvider({ name = 'Mocked Provider', accounts,
23
24
  // Assuming this never fails.
24
25
  getAccounts().find((account) => account.id === id));
25
26
  mocks.createAccounts.mockResolvedValue([]);
27
+ if (index === 0) {
28
+ // Make the first provider to always be an `EvmAccountProvider`, since we
29
+ // check for this pre-condition in some methods.
30
+ Object.setPrototypeOf(mocks, EvmAccountProvider.prototype);
31
+ }
26
32
  return mocks;
27
33
  }
28
34
  //# sourceMappingURL=providers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.mjs","sourceRoot":"","sources":["../../src/tests/providers.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAGxC,OAAO,EAAE,cAAc,EAAE,8BAA8B;AAcvD,MAAM,UAAU,uBAAuB,CACrC,WAA6B,EAAE;IAE/B,OAAO;QACL,QAAQ;QACR,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;QACtB,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;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EACxC,IAAI,GAAG,iBAAiB,EACxB,QAAQ,EACR,KAAK,GAAG,uBAAuB,EAAE,EACjC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,GAMpB;IACC,8DAA8D;IAC9D,eAAe;IACf,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAE1B,MAAM,WAAW,GAAG,GAAG,EAAE,CACvB,KAAK,CAAC,QAAQ,CAAC,MAAM,CACnB,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CACxD,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;IAE3C,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\n\nimport type { Bip44Account } from '@metamask/account-api';\nimport { isBip44Account } from '@metamask/account-api';\nimport type { KeyringAccount } from '@metamask/keyring-api';\n\nexport type MockAccountProvider = {\n accounts: KeyringAccount[];\n constructor: 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};\n\nexport function makeMockAccountProvider(\n accounts: KeyringAccount[] = [],\n): MockAccountProvider {\n return {\n accounts,\n constructor: 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 };\n}\n\nexport function setupNamedAccountProvider({\n name = 'Mocked Provider',\n accounts,\n mocks = makeMockAccountProvider(),\n filter = () => true,\n}: {\n name?: string;\n mocks?: MockAccountProvider;\n accounts: KeyringAccount[];\n filter?: (account: KeyringAccount) => boolean;\n}): MockAccountProvider {\n // You can mock this and all other mocks will re-use that list\n // of accounts.\n mocks.accounts = accounts;\n\n const getAccounts = () =>\n mocks.accounts.filter(\n (account) => isBip44Account(account) && filter(account),\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\n return mocks;\n}\n"]}
1
+ {"version":3,"file":"providers.mjs","sourceRoot":"","sources":["../../src/tests/providers.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAGxC,OAAO,EAAE,cAAc,EAAE,8BAA8B;AAGvD,OAAO,EAAE,kBAAkB,EAAE,+BAAqB;AAalD,MAAM,UAAU,uBAAuB,CACrC,WAA6B,EAAE;IAE/B,OAAO;QACL,QAAQ;QACR,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;QACtB,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;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EACxC,IAAI,GAAG,iBAAiB,EACxB,QAAQ,EACR,KAAK,GAAG,uBAAuB,EAAE,EACjC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,EACnB,KAAK,GAON;IACC,8DAA8D;IAC9D,eAAe;IACf,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAE1B,MAAM,WAAW,GAAG,GAAG,EAAE,CACvB,KAAK,CAAC,QAAQ,CAAC,MAAM,CACnB,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CACxD,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;IAE3C,IAAI,KAAK,KAAK,CAAC,EAAE;QACf,yEAAyE;QACzE,gDAAgD;QAChD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;KAC5D;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\n\nimport type { Bip44Account } from '@metamask/account-api';\nimport { isBip44Account } from '@metamask/account-api';\nimport type { KeyringAccount } from '@metamask/keyring-api';\n\nimport { EvmAccountProvider } from '../providers';\n\nexport type MockAccountProvider = {\n accounts: KeyringAccount[];\n constructor: 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};\n\nexport function makeMockAccountProvider(\n accounts: KeyringAccount[] = [],\n): MockAccountProvider {\n return {\n accounts,\n constructor: 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 };\n}\n\nexport function setupNamedAccountProvider({\n name = 'Mocked Provider',\n accounts,\n mocks = makeMockAccountProvider(),\n filter = () => true,\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.accounts = accounts;\n\n const getAccounts = () =>\n mocks.accounts.filter(\n (account) => isBip44Account(account) && filter(account),\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\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 return mocks;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/multichain-account-service",
3
- "version": "1.2.0-preview-a5441fae",
3
+ "version": "1.4.0-preview-683bbcb0",
4
4
  "description": "Service to manage multichain accounts",
5
5
  "keywords": [
6
6
  "MetaMask",