From e7bdcc20254981f309aea94805ad48dcabc495cb Mon Sep 17 00:00:00 2001 From: Haythem Sellami Date: Wed, 17 Apr 2019 23:35:18 +0100 Subject: [PATCH] pull upstream master --- lib/contracts/contribution.js | 22 +++++++++++++++++----- lib/contracts/contributor.js | 21 ++++++++++++++++----- lib/contracts/proposal.js | 21 ++++++++++++++++----- lib/kredits.js | 4 ++-- 4 files changed, 51 insertions(+), 17 deletions(-) diff --git a/lib/contracts/contribution.js b/lib/contracts/contribution.js index 373b983..e49591a 100644 --- a/lib/contracts/contribution.js +++ b/lib/contracts/contribution.js @@ -1,9 +1,21 @@ -const Record = require('./record'); -const ContributionSerializer = require('../serializers/contribution'); +const ethers = require('ethers'); -class Contribution extends Record { - get count () { - return this.functions.contributionsCount(); +const ContributionSerializer = require('../serializers/contribution'); +const Base = require('./base'); + +class Contribution extends Base { + all() { + return this.functions.contributionsCount() + .then(async (count) => { + let contributions = []; + + for (let id = 1; id <= count; id++) { + const contribution = await this.getById(id) + contributions.push(contribution); + } + + return contributions; + }); } getById(id) { diff --git a/lib/contracts/contributor.js b/lib/contracts/contributor.js index 8afb820..d207773 100644 --- a/lib/contracts/contributor.js +++ b/lib/contracts/contributor.js @@ -1,9 +1,20 @@ -const Record = require('./record'); -const ContributorSerializer = require('../serializers/contributor'); +const RSVP = require('rsvp'); -class Contributor extends Record { - get count () { - return this.functions.contributorsCount(); +const ContributorSerializer = require('../serializers/contributor'); +const Base = require('./base'); + +class Contributor extends Base { + all() { + return this.functions.contributorsCount() + .then(count => { + let contributors = []; + + for (let id = 1; id <= count; id++) { + contributors.push(this.getById(id)); + } + + return RSVP.all(contributors); + }); } getById(id) { diff --git a/lib/contracts/proposal.js b/lib/contracts/proposal.js index 71bbacc..3caccba 100644 --- a/lib/contracts/proposal.js +++ b/lib/contracts/proposal.js @@ -1,9 +1,20 @@ -const Record = require('./record'); -const ContributionSerializer = require('../serializers/contribution'); +const RSVP = require('rsvp'); -class Proposal extends Record { - get count () { - return this.functions.proposalsCount(); +const ContributionSerializer = require('../serializers/contribution'); +const Base = require('./base'); + +class Proposal extends Base { + all() { + return this.functions.proposalsCount() + .then(count => { + let proposals = []; + + for (let id = 1; id <= count; id++) { + proposals.push(this.getById(id)); + } + + return RSVP.all(proposals); + }); } getById(id) { diff --git a/lib/kredits.js b/lib/kredits.js index fc1c168..ef47795 100644 --- a/lib/kredits.js +++ b/lib/kredits.js @@ -1,4 +1,5 @@ const ethers = require('ethers'); +const RSVP = require('rsvp'); const Preflight = require('./utils/preflight'); @@ -56,8 +57,7 @@ class Kredits { ); }); }); - - return Promise.all(addressPromises).then(() => { return this }); + return RSVP.all(addressPromises).then(() => { return this }); }); }