UNPKG

libnemo

Version:

Nano cryptocurrency wallet library.

67 lines (66 loc) 2.76 kB
/** * Represents a basic address book of Nano accounts. Multiple addresses can be * saved under one nickname. */ export declare class Rolodex { /** * @returns {'Rolodex'} */ static get DB_NAME(): 'Rolodex'; /** * Adds an address to the rolodex under a specific nickname. * * If the name exists, add the address as a new association to that name. If * the account exists under a different name, update the name. If no matches * are found at all, add a new entry. * * @param {string} name - Contact alias for the address * @param {string} address - Nano account address * @returns {Promise<boolean>} Promise for true if name and address are added to the rolodex, else false */ static add(name: string, address: string): Promise<boolean>; /** * Removes a Nano address from its related contact in the rolodex. * * @param {string} address - Nano account address * @returns {Promise<boolean>} Promise for true if address successfully removed, else false */ static deleteAddress(address: string): Promise<boolean>; /** * Removes a contact and its related Nano addresses from the rolodex. * * @param {string} name - Contact name to delete * @returns {Promise<boolean>} Promise for true if name and related addresses successfully removed, else false */ static deleteName(name: string): Promise<boolean>; /** * Gets all Nano account addresses associated with a name from the rolodex. * * @param {string} name - Alias to look up * @returns {Promise<string[]>} Promise for a list of Nano addresses associated with the name */ static getAddresses(name: string): Promise<string[]>; /** * Gets all names stored in the rolodex. * * @returns {Promise<string[]>} Promise for a list of all names stored in the rolodex */ static getAllNames(): Promise<string[]>; /** * Gets the name associated with a specific Nano address from the rolodex. * * @param {string} address - Nano account address * @returns {Promise<string|null>} Promise for the name associated with the address, or null if not found */ static getName(address: string): Promise<string | null>; /** * Verifies whether the public key of any Nano address saved under a specific * name in the rolodex was used to sign a specific set of data. * * @param {string} name - Alias to look up * @param {string} signature - Signature to use for verification * @param {...string} data - Signed data to verify * @returns {Promise<boolean>} True if the signature was used to sign the data, else false */ static verify(name: string, signature: string, ...data: string[]): Promise<boolean>; }