@metamask-previews/account-api
Version:
MetaMask Multichain Account API
1 lines • 1.4 kB
Source Map (JSON)
{"version":3,"file":"wallet.mjs","sourceRoot":"","sources":["../../src/api/wallet.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,4CAAmB,CAAA;IACnB,4CAAmB,CAAA;IACnB,sCAAa,CAAA;AACf,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC;AAsBD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAA+B,EAC/B,EAAU;IAEV,OAAO,GAAG,QAAQ,IAAI,EAAE,EAAE,CAAC;AAC7B,CAAC","sourcesContent":["import type { KeyringAccount } from '@metamask/keyring-api';\n\nimport type { AccountGroup, AccountGroupId } from './group';\n\nexport enum AccountWalletCategory {\n Entropy = 'entropy',\n Keyring = 'keyring',\n Snap = 'snap',\n}\n\nexport type AccountWalletId = `${AccountWalletCategory}:${string}`;\n\nexport type AccountWallet<Account extends KeyringAccount> = {\n get id(): AccountWalletId;\n\n /**\n * Gets account group for a given ID.\n *\n * @returns Account group.\n */\n getAccountGroup(id: AccountGroupId): AccountGroup<Account> | undefined;\n\n /**\n * Gets all account groups.\n *\n * @returns Account groups.\n */\n getAccountGroups(): AccountGroup<Account>[];\n};\n\n/**\n * Convert a unique ID to a wallet ID for a given category.\n *\n * @param category - A wallet category.\n * @param id - A unique ID.\n * @returns A wallet ID.\n */\nexport function toAccountWalletId(\n category: AccountWalletCategory,\n id: string,\n): AccountWalletId {\n return `${category}:${id}`;\n}\n"]}