diff --git a/lib/contracts/contributor.js b/lib/contracts/contributor.js index 82b0c4f..dddf1f1 100644 --- a/lib/contracts/contributor.js +++ b/lib/contracts/contributor.js @@ -1,5 +1,6 @@ const Record = require('./record'); const ContributorSerializer = require('../serializers/contributor'); +const formatKredits = require('../utils/format-kredits'); class Contributor extends Record { get count () { @@ -8,9 +9,10 @@ class Contributor extends Record { getById(id) { return this.functions.getContributorById(id) - .then((data) => { + .then(data => { + data.balanceInt = formatKredits(data.balance); return this.ipfs.catAndMerge(data, ContributorSerializer.deserialize); - }); + }) } filterByAccount(search) { diff --git a/lib/utils/format-kredits.js b/lib/utils/format-kredits.js new file mode 100644 index 0000000..75e11c0 --- /dev/null +++ b/lib/utils/format-kredits.js @@ -0,0 +1,10 @@ +const ethersUtils = require('ethers').utils; + +module.exports = function (value, options = {}) { + let etherValue = ethersUtils.formatEther(value); + if (options.asFloat) { + return parseFloat(etherValue); + } else { + return parseInt(etherValue); + } +} diff --git a/scripts/list-contributors.js b/scripts/list-contributors.js index ecb5e8c..4924c14 100644 --- a/scripts/list-contributors.js +++ b/scripts/list-contributors.js @@ -28,7 +28,7 @@ module.exports = async function(callback) { c.account, `${c.name}`, c.isCore, - ethers.utils.formatEther(c.balance), + c.balanceInt.toString(), c.totalKreditsEarned.toString(), c.contributionsCount.toString(), c.ipfsHash