{"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"]}