blockchain-api
Version:
API utilities for interacting with the Exatechl2 blockchain
87 lines (86 loc) • 2.21 kB
TypeScript
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>;