@ellcrys/spell
Version:
The official JavaScript library for Ellcrys
97 lines (96 loc) • 1.9 kB
TypeScript
import State from "./namespaces/state";
import RPCClient from "./rpcclient";
import Node from "./namespaces/node";
import Auth from "./namespaces/auth";
import Pool from "./namespaces/pool";
import Miner from "./namespaces/miner";
import Net from "./namespaces/net";
import Logger from "./namespaces/logger";
import Ell from "./namespaces/ell";
import RPC from "./namespaces/rpc";
/**
* Spell provides access to a client
* RPC functionality.
*
* @export
* @class Spell
*/
export default class Spell {
/**
* The RPC client
*
* @type {RPCClient}
* @memberof Spell
*/
rpcClient: RPCClient;
/**
* State module
*
* @type {State}
* @memberof Spell
*/
state: State;
/**
* Node module
*
* @type {Node}
* @memberof Spell
*/
node: Node;
/**
* Authentication module
*
* @type {Auth}
* @memberof Spell
*/
auth: Auth;
/**
* Mempool module
*
* @type {Pool}
* @memberof Spell
*/
pool: Pool;
/**
* Miner module
*
* @type {Miner}
* @memberof Spell
*/
miner: Miner;
/**
* Net Module
*
* @type {Net}
* @memberof Spell
*/
net: Net;
ell: Ell;
/**
* Logger Module
*
* @type {Logger}
* @memberof Spell
*/
logger: Logger;
rpc: RPC;
/**
* Creates an instance of Spell.
* @memberof Spell
*/
constructor();
/**
* provideClient attempts to connect to an
* Ellcrys JSON-RPC server. If it succeeds,
* it will use the connection in future RPC
* method calls.
*/
provideClient(options: ConnectOptions): Promise<{}>;
/**
* Request for a session token from the node.
*
* @returns
* @memberof Spell
*/
authenticate(username: string, password: string): Promise<{}>;
}