From 3cb94fb660b7bf8482674876e7d1c0e4cabd6e18 Mon Sep 17 00:00:00 2001 From: Michael Bumann Date: Fri, 19 Apr 2019 11:57:35 +0200 Subject: [PATCH] Add kredits-formatter and additionally format balance This adds a `balanceInt` value to the contributor data that has the token balance formatted as full Kredits. (similar to Ether) --- lib/contracts/contributor.js | 9 +++++++-- lib/utils/kredits-formatter.js | 10 ++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 lib/utils/kredits-formatter.js 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); + } +}