UNPKG

@metamask/account-api

Version:
52 lines 1.96 kB
import { type KeyringAccount } from "@metamask/keyring-api"; import type { MultichainAccountWallet, MultichainAccountWalletId } from "./wallet.mjs"; import type { Bip44Account } from "../bip44.mjs"; import type { AccountGroup, AccountGroupType } from "../group.mjs"; /** * Multichain account ID. */ export type MultichainAccountGroupId = `${MultichainAccountWalletId}/${number}`; /** * A multichain account that holds multiple accounts. */ export type MultichainAccountGroup<Account extends Bip44Account<KeyringAccount>> = AccountGroup<Account> & { /** * Multichain account group ID. */ get id(): MultichainAccountGroupId; /** * Multichain account type. */ get type(): AccountGroupType.MultichainAccount; /** * Multichain account's wallet reference (parent). */ get wallet(): MultichainAccountWallet<Account>; /** * Multichain account group index. */ get groupIndex(): number; }; /** * Gets the multichain account group ID from its multichain account wallet ID and its index. * * @param walletId - Multichain account wallet ID. * @param groupIndex - Index of that multichain account. * @returns The multichain account ID. */ export declare function toMultichainAccountGroupId(walletId: MultichainAccountWalletId, groupIndex: number): MultichainAccountGroupId; /** * Checks if the given value is {@link MultichainAccountGroupId}. * * @param value - The value to check. * @returns Whether the value is a {@link MultichainAccountGroupId}. */ export declare function isMultichainAccountGroupId(value: string): value is MultichainAccountGroupId; /** * Gets the multichain account index from an account group ID. * * @param id - Multichain account ID. * @returns The multichain account index if extractable, undefined otherwise. */ export declare function getGroupIndexFromMultichainAccountGroupId(id: MultichainAccountGroupId): number; //# sourceMappingURL=group.d.mts.map