token-wizard-test-automation/entity/Crowdsale.js

82 lines
2.4 KiB
JavaScript

'use strict';
const Logger = require('../entity/Logger.js');
const logger = Logger.logger;
const fs = require('fs');
class Crowdsale {
constructor() {
this.name;
this.ticker;
this.walletAddress;
this.reservedTokens = [];
this.gasPrice;
this.tiers = [];
this.tokenAddress;
this.contractAddress;
this.url;
this.tokenContractAbi;
this.executionID;
this.networkID;
this.sort;
this.proxyAddress;
}
async parser(fileName) {
let obj = JSON.parse(fs.readFileSync(fileName, "utf8"));
this.name = obj.name;
this.ticker = obj.ticker;
this.decimals = obj.decimals;
this.reservedTokens = obj.reservedTokens;
this.walletAddress = obj.walletAddress;
this.gasPrice = obj.gasprice;
this.tiers = obj.tiers;
}
print() {
logger.info("Crowdsale settings");
logger.info("name :" + this.name);
logger.info("ticker :" + this.ticker);
logger.info("decimals:" + this.decimals);
logger.info("Reserved Tokens:" + this.reservedTokens.length);
for (let i = 0; i < this.reservedTokens.length; i++) {
logger.info("Reserved tokens#:" + i);
logger.info("address:" + this.reservedTokens[i].address);
logger.info("dimension:" + this.reservedTokens[i].dimension);
logger.info("value:" + this.reservedTokens[i].value);
}
logger.info("walletAddress:" + this.walletAddress);
logger.info("gasprice:" + this.gasPrice);
logger.info("number of tiers:" + this.tiers.length);
for (let i = 0; i < this.tiers.length; i++) {
logger.info("Tier #" + i);
logger.info("name:" + this.tiers[i].name);
logger.info("isWhitelisted:" + this.tiers[i].isWhitelisted);
logger.info("allowModify:" + this.tiers[i].allowModify);
logger.info("startDate:" + this.tiers[i].startDate);
logger.info("startTime:" + this.tiers[i].startTime);
logger.info("endDate:" + this.tiers[i].endDate);
logger.info("endTime:" + this.tiers[i].endTime);
logger.info("mincap:" + this.minCap);
logger.info("rate:" + this.tiers[i].rate);
logger.info("supply:" + this.tiers[i].supply);
logger.info("Whitelist length: " + this.tiers[i].whitelist.length);
if (this.tiers[i].whitelist.length !== 0) {
for (let j = 0; j < this.tiers[i].whitelist.length; j++) {
logger.info("whitelist#:" + j);
logger.info("Address: " + this.tiers[i].whitelist[j].address);
logger.info("Min: " + this.tiers[i].whitelist[j].min);
logger.info("Max: " + this.tiers[i].whitelist[j].max);
}
}
}
}
}
module.exports.Crowdsale = Crowdsale;