UNPKG

blockchain-api

Version:

API utilities for interacting with the Exatechl2 blockchain

87 lines (86 loc) 2.21 kB
export declare enum AddressType { REGULAR = "regular", SYSTEM_CONTRACT = "system_contract", TOKEN_CONTRACT = "token_contract", SPECIAL = "special" } export interface RegisteredAddressInfo { address: string; name: string; type: AddressType; metadata?: Record<string, any>; } /** * * @param {string} address * @param {string} name * @param {AddressType} type * @param {Record<string, any>} metadata */ export declare function registerAddress(address: string, name: string, type?: AddressType, metadata?: Record<string, any>): void; /** * * @param {string} address * @param {string} name * @param {Record<string, any>} metadata */ export declare function registerSystemContract(address: string, name: string, metadata?: Record<string, any>): void; /** * * @param {string} address * @param {string} name * @param {Record<string, any>} metadata */ export declare function registerTokenContract(address: string, name: string, metadata?: Record<string, any>): void; /** * * @param {Array} addresses */ export declare function registerAddresses(addresses: Array<{ address: string; name: string; type?: AddressType; metadata?: Record<string, any>; }>): void; /** * * @param {string} address * @returns {boolean} */ export declare function unregisterAddress(address: string): boolean; /** * * @param {string} address * @returns {RegisteredAddressInfo | null} */ export declare function getAddressInfo(address: string): RegisteredAddressInfo | null; /** * * @param {string} address * @returns {boolean} */ export declare function isRegisteredAddress(address: string): boolean; /** * * @param {string} address * @returns {boolean} */ export declare function isSystemContract(address: string): boolean; /** * * @param {string} address * @returns {boolean} */ export declare function isTokenContract(address: string): boolean; /** * * @param {string} address * @returns {string | null} */ export declare function getAddressName(address: string): string | null; /** * * @param {AddressType} type * @returns {Record<string, string>} */ export declare function getAllRegisteredAddresses(type?: AddressType): Record<string, string>;