crypto-bot
Version:
multi-function tools for blockchain automation
63 lines (49 loc) • 1.91 kB
JavaScript
const { logger } = require("./utils/logger");
const { Table } = require("console-table-printer");
//const { tokenTable } = require('./utils/tableheader');
class TokenList {
chainId = undefined;
status = undefined;
list = undefined;
table = undefined;
constructor(_chainId, _list ){ //_defaultHttps, _https, _httpsProvider, _defaultWss, _wss, _wssProvider ){
this.chainId = _chainId
this.status = 1
this.list = _list
//this.table = this.buildDisplay()
this.table = new Table({
title: "Supported TOKEN list",
columns: [
{name: "index", alignment: "right"},
{name: "address", alignment: "center"},
{name: "symbol", alignment: "center"},
{name: "name", alignment: "left"},
{name: "decimals", alignment: "center"},
{name: "totalsuply", alignment: "center"},
],
});
this.buildDisplay();
}
getChainId = function() { return this.chainId }
getStatus = function() {return this.status }
getCount = function() {return this.list.length }
getTokens = function() {
return this.list
}
listTokens = function() {
for(let i = 0 ; i < this.list.length ; i++) {
let _data = this.list[i]
logger.info(` (${_data.symbol}) ${_data.name}`)
}
}
displayTokens = function () {
if(this.list.length > 0) this.table.printTable();
}
buildDisplay = function () {
for(let i = 0 ; i < this.list.length ; i++) {
let Token = this.list[i]
this.table.addRow({index: i, symbol: Token.symbol, name: Token.name, decimals: Token.decimals, address: Token.address})
}
}
}
exports.TokenList = TokenList;