diff --git a/app/components/contributor-list/template.hbs b/app/components/contributor-list/template.hbs index ffe226c..64f997f 100644 --- a/app/components/contributor-list/template.hbs +++ b/app/components/contributor-list/template.hbs @@ -6,7 +6,7 @@ {{contributor.name}} - {{contributor.balance}} + {{contributor.totalKreditsEarned}} ₭S diff --git a/app/controllers/index.js b/app/controllers/index.js index 82e24e1..825a03d 100644 --- a/app/controllers/index.js +++ b/app/controllers/index.js @@ -9,9 +9,9 @@ export default Controller.extend({ contributors: alias('kredits.contributors'), contributorsWithKredits: filter('contributors', function(contributor) { - return contributor.get('balanceRaw').gt(0); + return contributor.get('totalKreditsEarnedRaw').gt(0); }), - contributorsSorting: Object.freeze(['balance:desc']), + contributorsSorting: Object.freeze(['totalKreditsEarned:desc']), contributorsSorted: sort('contributorsWithKredits', 'contributorsSorting'), contributions: alias('kredits.contributions'), diff --git a/app/models/contributor.js b/app/models/contributor.js index 6bf771e..223dd16 100644 --- a/app/models/contributor.js +++ b/app/models/contributor.js @@ -8,6 +8,8 @@ export default EmberObject.extend({ id: bignumber('idRaw', 'toString'), account: null, balance: kreditsValue('balanceRaw'), + totalKreditsEarned: bignumber('totalKreditsEarnedRaw', 'toNumber'), + contributionsCount: bignumber('contributionsCountRaw', 'toNumber'), isCore: false, ipfsHash: null, diff --git a/app/services/kredits.js b/app/services/kredits.js index 5e4f3fc..87d2fed 100644 --- a/app/services/kredits.js +++ b/app/services/kredits.js @@ -116,6 +116,12 @@ export default Service.extend({ }) }), + totalKreditsEarned: computed(function() { + return this.kredits.Contribution.functions.totalKreditsEarned(true) + .then(total => total.toNumber()); + }), + + loadInitialData() { return this.getContributors() .then(contributors => this.contributors.pushObjects(contributors)) diff --git a/app/templates/index.hbs b/app/templates/index.hbs index 947b32f..a766066 100644 --- a/app/templates/index.hbs +++ b/app/templates/index.hbs @@ -9,7 +9,7 @@ {{contributor-list contributors=contributorsSorted}}

- {{await kredits.totalSupply}} kredits issued and distributed among + {{await kredits.totalKreditsEarned}} kredits issued and distributed among {{contributorsWithKredits.length}} contributors.

diff --git a/package-lock.json b/package-lock.json index 2114ab0..b20efe9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10911,33 +10911,15 @@ } }, "kredits-contracts": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/kredits-contracts/-/kredits-contracts-5.1.1.tgz", - "integrity": "sha512-hEM/ZOcoYejOix8LMG/mMVQVoD/9q18yjQTXeQwuX2x/APP95CH8HK/UsPIqxXtMP1L3XklWnMuqTVbYUc5UYg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/kredits-contracts/-/kredits-contracts-5.2.0.tgz", + "integrity": "sha512-XS8PN01SEiSNDKUhH28KVmGJ7hS3HlhT+CsaAMgqvU9ACcE1Wizqd0AxoRutUmJkILic6W6bQQ5gRqSHcBpPBA==", "dev": true, "requires": { "ethers": "^4.0.27", "ipfs-http-client": "^30.1.1", "kosmos-schemas": "^2.0.0", - "rsvp": "^4.8.2", "tv4": "^1.3.0" - }, - "dependencies": { - "kosmos-schemas": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/kosmos-schemas/-/kosmos-schemas-2.0.0.tgz", - "integrity": "sha512-zIjWcDxaN94m1vPgUaI5LRX6y07Ihw9ScPoGKf1NkZ0sLgD/CRV8YIKRyDafH5mThe3uBN2+F6H6Gp5qhNhALg==", - "dev": true, - "requires": { - "brfs-babel": "^1.0.0" - } - }, - "rsvp": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.4.tgz", - "integrity": "sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA==", - "dev": true - } } }, "labeled-stream-splicer": { @@ -12148,9 +12130,9 @@ } }, "multicodec": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.0.tgz", - "integrity": "sha512-lKsJeT4cKeSq0rVEWhO3oSBgDN4sMY1sNZKlvl68g/ZAahjPS1KIVyF4IqhuYmCdtOyKs4Q4hQ6M0C3iqRnuqQ==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.1.tgz", + "integrity": "sha512-Q5glyZLdXVbbBxvRYHLQHpu8ydVf1422Z+v9fU47v2JCkiue7n+JcFS7uRv0cQW8hbVtgdtIDgYWPWaIKEXuXA==", "dev": true, "requires": { "varint": "^5.0.0" diff --git a/package.json b/package.json index 83f66b7..980bd03 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "eslint-plugin-ember": "^5.2.0", "ethers": "^4.0.27", "kosmos-schemas": "^2.0.0", - "kredits-contracts": "^5.1.1", + "kredits-contracts": "^5.2.0", "loader.js": "^4.7.0", "qunit-dom": "^0.8.0", "tv4": "^1.3.0" diff --git a/tests/unit/controllers/index-test.js b/tests/unit/controllers/index-test.js index cd5f8e4..ed4ca55 100644 --- a/tests/unit/controllers/index-test.js +++ b/tests/unit/controllers/index-test.js @@ -8,10 +8,10 @@ module('Unit | Controller | index', function(hooks) { let addFixtures = function(controller) { [ - { github_username: "neo", github_uid: "318", balance: 10000 }, - { github_username: "morpheus", github_uid: "843", balance: 15000 }, - { github_username: "trinity", github_uid: "123", balance: 5000 }, - { github_username: "mouse", github_uid: "696", balance: 0 } + { github_username: "neo", github_uid: "318", totalKreditsEarned: 10000 }, + { github_username: "morpheus", github_uid: "843", totalKreditsEarned: 15000 }, + { github_username: "trinity", github_uid: "123", totalKreditsEarned: 5000 }, + { github_username: "mouse", github_uid: "696", totalKreditsEarned: 0 } ].forEach(fixture => { controller.get('kredits.contributors').push(Contributor.create(fixture)); });