diff --git a/src/actions.js b/src/actions.js index 6d1946f..d084ab7 100644 --- a/src/actions.js +++ b/src/actions.js @@ -7,37 +7,37 @@ const Contracts = require("./contracts.js"); const web3 = new Web3(); function doAction(actionText, action) { - console.dir(actionText) - return new Promise(async(resolve, reject) => { - inquirer - .prompt([ - { - type: 'confirm', - name: 'action', - message: 'Execute?', - } - ]).then((answer) => { - if (answer.action === false) return resolve(); - console.dir("executing..."); - try { - action() - } catch (e) { - console.dir("== error") - console.dir(e) - } - resolve() - }) - }); + console.dir(actionText) + return new Promise(async(resolve, reject) => { + inquirer + .prompt([ + { + type: 'confirm', + name: 'action', + message: 'Execute?', + } + ]).then((answer) => { + if (answer.action === false) return resolve(); + console.dir("executing..."); + try { + action() + } catch (e) { + console.dir("== error") + console.dir(e) + } + resolve() + }) + }); } class Actions { constructor(chain) { - this.chain = chain || "development"; + this.chain = chain || "development"; } connect(url, cb) { - console.dir("connecting to: " + url); + console.dir("connecting to: " + url); web3.setProvider(url); setTimeout(async () => { @@ -47,8 +47,8 @@ class Actions { web3.eth.defaultAccount = accounts[0] let contracts = new Contracts(this.chain, web3); - contracts.loadContracts(); - this.contracts = contracts.contracts; + contracts.loadContracts(); + this.contracts = contracts.contracts; cb(); }, 1000); @@ -70,16 +70,16 @@ class Actions { } async listProjects() { - return new Promise(async (resolve, reject) => { - try { - const pledgeAdmins = await PledgeAdminUtils.getPledgeAdmins(this.contracts.LiquidPledging); - PledgeAdminUtils.printTable(pledgeAdmins.filter(x => x.adminType === PledgeAdminUtils.constants.PROJECT)); - } catch(error){ - console.log(error); - console.log("Couldn't obtain the list of projects: ", error.message); - } - resolve(); - }); + return new Promise(async (resolve, reject) => { + try { + const pledgeAdmins = await PledgeAdminUtils.getPledgeAdmins(this.contracts.LiquidPledging); + PledgeAdminUtils.printTable(pledgeAdmins.filter(x => x.adminType === PledgeAdminUtils.constants.PROJECT)); + } catch(error){ + console.log(error); + console.log("Couldn't obtain the list of projects: ", error.message); + } + resolve(); + }); } async viewProject(params) { @@ -94,18 +94,18 @@ class Actions { }); } - async listFunders() { - return new Promise(async (resolve, reject) => { - try { - const pledgeAdmins = await PledgeAdminUtils.getPledgeAdmins(this.contracts.LiquidPledging); - PledgeAdminUtils.printTable(pledgeAdmins.filter(x => x.adminType === PledgeAdminUtils.constants.FUNDER)); - } catch(error){ - console.log(error); - console.log("Couldn't obtain the list of funders: ", error.message); - } - resolve(); - }); - } + async listFunders() { + return new Promise(async (resolve, reject) => { + try { + const pledgeAdmins = await PledgeAdminUtils.getPledgeAdmins(this.contracts.LiquidPledging); + PledgeAdminUtils.printTable(pledgeAdmins.filter(x => x.adminType === PledgeAdminUtils.constants.FUNDER)); + } catch(error){ + console.log(error); + console.log("Couldn't obtain the list of funders: ", error.message); + } + resolve(); + }); + } async addGiver(params) { let text = `await LiquidPledging.methods.addGiver(\"${params.name}\", \"${params.url}\", ${params.commitTime}, \"${params.plugin}\").send({from: \"${web3.eth.defaultAccount}\", gas: 2000000})` diff --git a/src/cmd.js b/src/cmd.js index 7622894..b42ec77 100644 --- a/src/cmd.js +++ b/src/cmd.js @@ -2,58 +2,58 @@ var inquirer = require('inquirer'); const menus = require('./menus.js'); function mainMenu(actions) { - return new Promise(async (resolve, reject) => { - let action = (await menus.main()).action - let subAction + return new Promise(async (resolve, reject) => { + let action = (await menus.main()).action + let subAction - if (action === 'Projects') { - subAction = (await menus.projects()).action + if (action === 'Projects') { + subAction = (await menus.projects()).action - if (subAction === 'List Projects') { - await actions.listProjects(); - } if (subAction === 'Create Project') { - let params = (await menus.createProject(actions.web3().eth.defaultAccount)) - await actions.addProject(params); - } if (subAction === 'View Project') { - let params = (await menus.viewProject()) - await actions.viewProject(params); - } if (subAction === 'Donate to Project') { - let params = (await menus.donate()) - await actions.donate(params); - } - } else if (action === 'Funders') { - subAction = (await menus.funders()).action + if (subAction === 'List Projects') { + await actions.listProjects(); + } if (subAction === 'Create Project') { + let params = (await menus.createProject(actions.web3().eth.defaultAccount)) + await actions.addProject(params); + } if (subAction === 'View Project') { + let params = (await menus.viewProject()) + await actions.viewProject(params); + } if (subAction === 'Donate to Project') { + let params = (await menus.donate()) + await actions.donate(params); + } + } else if (action === 'Funders') { + subAction = (await menus.funders()).action - if (subAction === 'List Funders') { - await actions.listFunders(); - } if (subAction === 'Create Funder') { - let params = (await menus.createFunder()) - await actions.addGiver(params); - } - } else if (action === 'Tokens') { - subAction = (await menus.tokens()).action + if (subAction === 'List Funders') { + await actions.listFunders(); + } if (subAction === 'Create Funder') { + let params = (await menus.createFunder()) + await actions.addGiver(params); + } + } else if (action === 'Tokens') { + subAction = (await menus.tokens()).action - if (subAction === 'Mint') { - let params = (await menus.mintToken()) - await actions.mintToken(params); - } if (subAction === 'Approve') { - let params = (await menus.approveToken()) - await actions.approveToken(params); - } - } else if (action === 'Exit') { - process.exit() - } else { - console.dir("unknown action: " + action) - } - resolve(); - }); + if (subAction === 'Mint') { + let params = (await menus.mintToken()) + await actions.mintToken(params); + } if (subAction === 'Approve') { + let params = (await menus.approveToken()) + await actions.approveToken(params); + } + } else if (action === 'Exit') { + process.exit() + } else { + console.dir("unknown action: " + action) + } + resolve(); + }); } async function app(actions) { console.dir("### Liquid Funding Console") - while (true) { - await mainMenu(actions); - } + while (true) { + await mainMenu(actions); + } } module.exports = app;