jcc-stream-utils
Version:
Toolkit of crossing chain from Stream chain to SWTC chain
95 lines (94 loc) • 2.52 kB
TypeScript
import { Remote } from "stm-lib";
import IMemo from "./model/memo";
import IServer from "./model/server";
/**
* Toolkit of Stream
*
* @class StreamFingate
*/
export default class StreamFingate {
readonly version = "0.1.1";
private _remote;
private _trace;
private _trusted;
private _localSign;
private _ping;
private _server;
private _currency;
private _native;
private _decimals;
constructor(server: IServer);
trace: boolean;
trusted: boolean;
localSign: boolean;
ping: number;
currency: string;
readonly remote: Remote;
/**
* validate stream address is valid or not.
*
* @static
* @param {string} address stream address
* @returns {boolean} return true if valid
* @memberof StreamFingate
*/
static isValidAddress(address: string): boolean;
/**
* validate stream secret is valid or not
*
* @static
* @param {string} secret stream secret
* @returns {boolean} return true if valid
* @memberof StreamFingate
*/
static isValidSecret(secret: string): boolean;
/**
* retrive address with secret
*
* @static
* @param {string} secret stream secret
* @returns {(string | null)} return stream address if secret is valid, otherwise return null
* @memberof StreamFingate
*/
static getAddress(secret: string): string | null;
/**
* init instance of _remote
*
* @returns {StreamFingate}
* @memberof StreamFingate
*/
init(): StreamFingate;
/**
* connect to stream network
*
* @returns {StreamFingate}
* @memberof StreamFingate
*/
connect(): StreamFingate;
/**
* disconnect from stream network
*
* @returns {StreamFingate}
* @memberof StreamFingate
*/
disconnect(): StreamFingate;
/**
* request balance of STM
*
* @param {string} address
* @returns {Promise<string>}
* @memberof StreamFingate
*/
getBalance(address: string): Promise<string>;
/**
* transfer token to address of stream fingate
*
* @param {string} secret stream secret
* @param {string} destination address of stream fingate
* @param {string} value transfer amount
* @param {IMemo} memo transfer memo
* @returns {Promise<string>} resolve hash if success
* @memberof StreamFingate
*/
transfer(secret: string, destination: string, value: string, memo: IMemo): Promise<string>;
}