diff --git a/lib/contracts/contributor.js b/lib/contracts/contributor.js index 8afb820..bff2418 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 KreditsFormatter = require('../utils/kredits-formatter'); class Contributor extends Record { get count () { @@ -8,9 +9,13 @@ class Contributor extends Record { getById(id) { return this.functions.getContributorById(id) - .then((data) => { + .then(data => { return this.ipfs.catAndMerge(data, ContributorSerializer.deserialize); - }); + }) + .then(data => { + data.balanceInt = KreditsFormatter(data.balance); + return Promise.resolve(data); + }) } filterByAccount(search) { diff --git a/lib/utils/kredits-formatter.js b/lib/utils/kredits-formatter.js new file mode 100644 index 0000000..75e11c0 --- /dev/null +++ b/lib/utils/kredits-formatter.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); + } +}