From 3cb94fb660b7bf8482674876e7d1c0e4cabd6e18 Mon Sep 17 00:00:00 2001 From: Michael Bumann Date: Fri, 19 Apr 2019 11:57:35 +0200 Subject: [PATCH 1/3] 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); + } +} -- 2.25.1 From 375d8f3275183b374de397388f66479a88ad17cd Mon Sep 17 00:00:00 2001 From: Michael Bumann Date: Fri, 19 Apr 2019 13:34:39 +0200 Subject: [PATCH 2/3] Cleanup --- lib/contracts/contributor.js | 11 +++++------ lib/utils/{kredits-formatter.js => format-kredits.js} | 0 scripts/list-contributors.js | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) rename lib/utils/{kredits-formatter.js => format-kredits.js} (100%) diff --git a/lib/contracts/contributor.js b/lib/contracts/contributor.js index bff2418..4416a91 100644 --- a/lib/contracts/contributor.js +++ b/lib/contracts/contributor.js @@ -1,6 +1,6 @@ const Record = require('./record'); const ContributorSerializer = require('../serializers/contributor'); -const KreditsFormatter = require('../utils/kredits-formatter'); +const formatKredits = require('../utils/format-kredits'); class Contributor extends Record { get count () { @@ -11,11 +11,10 @@ class Contributor extends Record { return this.functions.getContributorById(id) .then(data => { return this.ipfs.catAndMerge(data, ContributorSerializer.deserialize); - }) - .then(data => { - data.balanceInt = KreditsFormatter(data.balance); - return Promise.resolve(data); - }) + }).then(data => { + data.balanceInt = formatKredits(data.balance); + return data; + }); } filterByAccount(search) { diff --git a/lib/utils/kredits-formatter.js b/lib/utils/format-kredits.js similarity index 100% rename from lib/utils/kredits-formatter.js rename to lib/utils/format-kredits.js diff --git a/scripts/list-contributors.js b/scripts/list-contributors.js index 6ac7dc5..6d5a460 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, c.ipfsHash ]) }) -- 2.25.1 From 791190f5e7d7d422300b8432ccf965d1e3cf5567 Mon Sep 17 00:00:00 2001 From: Michael Bumann Date: Sat, 20 Apr 2019 00:30:20 +0200 Subject: [PATCH 3/3] Cleanup promise call --- lib/contracts/contributor.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/contracts/contributor.js b/lib/contracts/contributor.js index 4416a91..6f2938f 100644 --- a/lib/contracts/contributor.js +++ b/lib/contracts/contributor.js @@ -10,11 +10,9 @@ class Contributor extends Record { getById(id) { return this.functions.getContributorById(id) .then(data => { - return this.ipfs.catAndMerge(data, ContributorSerializer.deserialize); - }).then(data => { data.balanceInt = formatKredits(data.balance); - return data; - }); + return this.ipfs.catAndMerge(data, ContributorSerializer.deserialize); + }) } filterByAccount(search) { -- 2.25.1