contracts/scripts/repl.js
Michael Bumann 4bd1aed197 Refactor kredits init in helper scripts
This now also supports readonly providers like infura
2019-03-29 12:05:51 +01:00

40 lines
947 B
JavaScript

const REPL = require('repl');
const initKredits = require('./helpers/init_kredits.js');
function promiseEval (repl) {
const currentEval = repl.eval;
return function (cmd, context, filename, callback) {
currentEval(cmd, context, filename, (err, result) => {
if (result && typeof result.then === 'function') {
console.log('...waiting for promise to resolve');
return result
.then(response => callback(null, response))
.catch(err => callback(err, null));
}
return callback(err, result);
})
}
}
module.exports = async function(callback) {
let kredits;
try {
kredits = await initKredits(web3);
} catch(e) {
callback(e);
return;
}
console.log(`Defined variables: kredits, web3`);
let r = REPL.start();
r.context.kredits = kredits;
r.context.web3 = web3;
r.eval = promiseEval(r);
r.on('exit', () => {
console.log('Bye');
callback();
});
}