UNPKG

@metamask/account-api

Version:
48 lines 1.81 kB
import { type EntropySourceId, type KeyringAccount } from "@metamask/keyring-api"; import type { MultichainAccountGroup } from "./group.mjs"; import type { Bip44Account } from "../bip44.mjs"; import type { AccountWallet } from "../wallet.mjs"; import { AccountWalletType } from "../wallet.mjs"; /** * Multichain account wallet ID. */ export type MultichainAccountWalletId = `${AccountWalletType.Entropy}:${EntropySourceId}`; /** * A multichain account wallet that holds multiple multichain accounts (one multichain account per * group index). */ export type MultichainAccountWallet<Account extends Bip44Account<KeyringAccount>> = AccountWallet<Account> & { /** * Multichain account wallet ID. */ get id(): MultichainAccountWalletId; /** * Multichain account wallet type, which is always {@link AccountWalletType.Entropy}. */ get type(): AccountWalletType.Entropy; /** * Multichain account wallet entropy source. */ get entropySource(): EntropySourceId; /** * Gets multichain account for a given index. * * @param groupIndex - Multichain account index. * @returns The multichain account associated with the given index. */ getMultichainAccountGroup(groupIndex: number): MultichainAccountGroup<Account> | undefined; /** * Gets all multichain accounts. * * @returns The multichain accounts. */ getMultichainAccountGroups(): MultichainAccountGroup<Account>[]; }; /** * Gets the multichain account wallet ID from its entropy source. * * @param entropySource - Entropy source ID of that wallet. * @returns The multichain account wallet ID. */ export declare function toMultichainAccountWalletId(entropySource: EntropySourceId): MultichainAccountWalletId; //# sourceMappingURL=wallet.d.mts.map