Adjust for new contract wrapper (WIP)
This commit is contained in:
@@ -14,8 +14,8 @@
|
|||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="https://testnet.etherscan.io/address/{{contributor.address}}">Inspect Ethereum transactions</a></li>
|
<li><a href="https://testnet.etherscan.io/address/{{contributor.address}}">Inspect Ethereum transactions</a></li>
|
||||||
{{#if contributor.ipfsHash}}
|
{{#if contributor.profileHash}}
|
||||||
<li><a href="https://ipfs.io/ipfs/{{contributor.ipfsHash}}">Inspect IPFS profile</a></li>
|
<li><a href="https://ipfs.io/ipfs/{{contributor.profileHash}}">Inspect IPFS profile</a></li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</ul>
|
</ul>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ export default Ember.Object.extend({
|
|||||||
github_username: null,
|
github_username: null,
|
||||||
github_uid: null,
|
github_uid: null,
|
||||||
wiki_username: null,
|
wiki_username: null,
|
||||||
ipfsHash: null,
|
profileHash: null,
|
||||||
kredits: null,
|
kredits: null,
|
||||||
isCore: false,
|
isCore: false,
|
||||||
isCurrentUser: false,
|
isCurrentUser: false,
|
||||||
@@ -32,7 +32,7 @@ export default Ember.Object.extend({
|
|||||||
*/
|
*/
|
||||||
loadProfile(ipfs) {
|
loadProfile(ipfs) {
|
||||||
let promise = new Ember.RSVP.Promise((resolve, reject) => {
|
let promise = new Ember.RSVP.Promise((resolve, reject) => {
|
||||||
ipfs.getFile(this.get('ipfsHash')).then(content => {
|
ipfs.getFile(this.get('profileHash')).then(content => {
|
||||||
let profileJSON = JSON.parse(content);
|
let profileJSON = JSON.parse(content);
|
||||||
let profile = Ember.Object.create(profileJSON);
|
let profile = Ember.Object.create(profileJSON);
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ export default Ember.Object.extend({
|
|||||||
Ember.Logger.debug('[contributor] loaded contributor profile', profile);
|
Ember.Logger.debug('[contributor] loaded contributor profile', profile);
|
||||||
resolve();
|
resolve();
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
Ember.Logger.error('[contributor] error trying to load contributor profile', this.get('ipfsHash'), err);
|
Ember.Logger.error('[contributor] error trying to load contributor profile', this.get('profileHash'), err);
|
||||||
reject(err);
|
reject(err);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
+27
-27
@@ -4,6 +4,7 @@ import config from 'kredits-web/config/environment';
|
|||||||
import Contributor from 'kredits-web/models/contributor';
|
import Contributor from 'kredits-web/models/contributor';
|
||||||
import Proposal from 'kredits-web/models/proposal';
|
import Proposal from 'kredits-web/models/proposal';
|
||||||
import kreditsContracts from 'npm:kredits-contracts';
|
import kreditsContracts from 'npm:kredits-contracts';
|
||||||
|
import Kredits from 'npm:kredits-contracts/operator';
|
||||||
import uuid from 'npm:uuid';
|
import uuid from 'npm:uuid';
|
||||||
|
|
||||||
const {
|
const {
|
||||||
@@ -56,9 +57,9 @@ export default Service.extend({
|
|||||||
if (localStorage.getItem('config:networkId')) {
|
if (localStorage.getItem('config:networkId')) {
|
||||||
config.contractMetadata['networkId'] = localStorage.getItem('config:networkId');
|
config.contractMetadata['networkId'] = localStorage.getItem('config:networkId');
|
||||||
}
|
}
|
||||||
contract = kreditsContracts(this.get('web3'), config.contractMetadata)['Kredits'];
|
contract = new Kredits(this.get('web3'), config.contractMetadata['Operator']);
|
||||||
} else {
|
} else {
|
||||||
contract = kreditsContracts(this.get('web3'))['Kredits'];
|
contract = new Kredits(this.get('web3'));
|
||||||
}
|
}
|
||||||
|
|
||||||
return contract;
|
return contract;
|
||||||
@@ -72,7 +73,7 @@ export default Service.extend({
|
|||||||
let contract = this.initializeKreditsContract();
|
let contract = this.initializeKreditsContract();
|
||||||
|
|
||||||
this.set('kreditsContractInstance', contract);
|
this.set('kreditsContractInstance', contract);
|
||||||
// window.Kredits = contract;
|
|
||||||
return contract;
|
return contract;
|
||||||
}.property('kreditsContractInstance', 'web3'),
|
}.property('kreditsContractInstance', 'web3'),
|
||||||
|
|
||||||
@@ -97,37 +98,36 @@ export default Service.extend({
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
getContributorData(i) {
|
getContributorData(id) {
|
||||||
|
let kredits = this.get('kreditsContract');
|
||||||
|
|
||||||
let promise = new Ember.RSVP.Promise((resolve, reject) => {
|
let promise = new Ember.RSVP.Promise((resolve, reject) => {
|
||||||
this.getValueFromContract('kreditsContract', 'contributorAddresses', i).then(address => {
|
kredits.getContributor(id).then(contributorData => {
|
||||||
this.getValueFromContract('kreditsContract', 'contributors', address).then(person => {
|
Ember.Logger.debug('[kredits] contributor', contributorData);
|
||||||
this.getValueFromContract('tokenContract', 'balanceOf', address).then(balance => {
|
let contributor = Contributor.create(contributorData);
|
||||||
Ember.Logger.debug('[kredits] person', address, person);
|
contributor.set('isCurrentUser', this.get('currentUserAccounts').includes(contributor.address));
|
||||||
|
|
||||||
let contributor = Contributor.create({
|
this.getValueFromContract('tokenContract', 'balanceOf', contributor.address).then(balance => {
|
||||||
address: address,
|
contributor.set('kredits', balance.toNumber());
|
||||||
ipfsHash: person[2],
|
|
||||||
kredits: balance.toNumber(),
|
|
||||||
isCurrentUser: this.get('currentUserAccounts').includes(address)
|
|
||||||
});
|
|
||||||
|
|
||||||
contributor.loadProfile(this.get('ipfs')).then(
|
contributor.loadProfile(this.get('ipfs')).then(
|
||||||
() => resolve(contributor),
|
() => resolve(contributor),
|
||||||
err => reject(err)
|
err => reject(err)
|
||||||
);
|
);
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}).catch(err => reject(err));
|
}).catch(err => reject(err));
|
||||||
});
|
});
|
||||||
|
|
||||||
return promise;
|
return promise;
|
||||||
},
|
},
|
||||||
|
|
||||||
getContributors() {
|
getContributors() {
|
||||||
return this.getValueFromContract('kreditsContract', 'contributorsCount').then(contributorsCount => {
|
return this.get('kreditsContract').contributorsCount().then(contributorsCount => {
|
||||||
|
Ember.Logger.debug('[kredits] contributorsCount:', contributorsCount.toNumber());
|
||||||
let contributors = [];
|
let contributors = [];
|
||||||
|
|
||||||
for(var i = 0; i < contributorsCount.toNumber(); i++) {
|
for(var id = 1; id <= contributorsCount.toNumber(); id++) {
|
||||||
contributors.push(this.getContributorData(i));
|
contributors.push(this.getContributorData(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
return Ember.RSVP.all(contributors);
|
return Ember.RSVP.all(contributors);
|
||||||
@@ -136,7 +136,7 @@ export default Service.extend({
|
|||||||
|
|
||||||
getProposalData(i) {
|
getProposalData(i) {
|
||||||
let promise = new Ember.RSVP.Promise((resolve, reject) => {
|
let promise = new Ember.RSVP.Promise((resolve, reject) => {
|
||||||
this.getValueFromContract('kreditsContract', 'proposals', i).then(p => {
|
this.get('kreditsContract').proposals(i).then(p => {
|
||||||
let proposal = Proposal.create({
|
let proposal = Proposal.create({
|
||||||
id : i,
|
id : i,
|
||||||
creatorAddress : p[0],
|
creatorAddress : p[0],
|
||||||
@@ -164,7 +164,7 @@ export default Service.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
getProposals() {
|
getProposals() {
|
||||||
return this.getValueFromContract('kreditsContract', 'proposalsCount').then(proposalsCount => {
|
return this.get('kreditsContract').proposalsCount().then(proposalsCount => {
|
||||||
let proposals = [];
|
let proposals = [];
|
||||||
|
|
||||||
for(var i = 0; i < proposalsCount.toNumber(); i++) {
|
for(var i = 0; i < proposalsCount.toNumber(); i++) {
|
||||||
@@ -226,8 +226,8 @@ export default Service.extend({
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
// logKreditsContract: function() {
|
logOperatorContract: function() {
|
||||||
// Ember.Logger.debug('[kredits] kreditsContract', this.get('kreditsContract'));
|
Ember.Logger.debug('[kredits] operatorContract', this.get('kreditsContract'));
|
||||||
// }.on('init')
|
}.on('init')
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
+11
-4
@@ -43,16 +43,23 @@ module.exports = function(environment) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if (process.env.KREDITS_CONTRACT_ADDR) {
|
ENV.contractMetadata['networkId'] = "17";
|
||||||
ENV.contractMetadata['Kredits'] = { address: process.env.KREDITS_CONTRACT_ADDR };
|
|
||||||
|
if (process.env.OPERATOR_CONTRACT_ADDR) {
|
||||||
|
ENV.contractMetadata['Operator'] = {
|
||||||
|
address: process.env.OPERATOR_CONTRACT_ADDR,
|
||||||
|
networkId: ENV.contractMetadata['networkId']
|
||||||
|
};
|
||||||
}
|
}
|
||||||
if (process.env.TOKEN_CONTRACT_ADDR) {
|
if (process.env.TOKEN_CONTRACT_ADDR) {
|
||||||
ENV.contractMetadata['Token'] = { address: process.env.TOKEN_CONTRACT_ADDR };
|
ENV.contractMetadata['Token'] = {
|
||||||
|
address: process.env.TOKEN_CONTRACT_ADDR,
|
||||||
|
networkId: ENV.contractMetadata['networkId']
|
||||||
|
};
|
||||||
}
|
}
|
||||||
if (process.env.WEB3_PROVIDER_URL) {
|
if (process.env.WEB3_PROVIDER_URL) {
|
||||||
ENV.web3ProviderUrl = process.env.WEB3_PROVIDER_URL;
|
ENV.web3ProviderUrl = process.env.WEB3_PROVIDER_URL;
|
||||||
}
|
}
|
||||||
ENV.contractMetadata['networkId'] = "17";
|
|
||||||
|
|
||||||
if (environment === 'development') {
|
if (environment === 'development') {
|
||||||
// ENV.APP.LOG_RESOLVER = true;
|
// ENV.APP.LOG_RESOLVER = true;
|
||||||
|
|||||||
Generated
+12478
File diff suppressed because it is too large
Load Diff
+5
-4
@@ -16,7 +16,7 @@
|
|||||||
"repository": "https://github.com/67P/kredits-web",
|
"repository": "https://github.com/67P/kredits-web",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "ember server",
|
"start": "ember server",
|
||||||
"start-local": "WEB3_PROVIDER_URL=http://localhost:8545 KREDITS_PROVIDER_URL=http://localhost:8545 KREDITS_CONTRACT_ADDR=`kredits-inspect -c Kredits -r -w address` TOKEN_CONTRACT_ADDR=`kredits-inspect -c Token -r -w address` npm start",
|
"start-local": "WEB3_PROVIDER_URL=http://localhost:8545 KREDITS_PROVIDER_URL=http://localhost:8545 OPERATOR_CONTRACT_ADDR=`kredits-inspect -c Operator -r -w address` TOKEN_CONTRACT_ADDR=`kredits-inspect -c Token -r -w address` npm start",
|
||||||
"test": "ember test",
|
"test": "ember test",
|
||||||
"postinstall": "bower install",
|
"postinstall": "bower install",
|
||||||
"build": "ember build",
|
"build": "ember build",
|
||||||
@@ -27,7 +27,8 @@
|
|||||||
"kredits-parity": "kredits-parity",
|
"kredits-parity": "kredits-parity",
|
||||||
"kredits-deploy": "kredits-deploy",
|
"kredits-deploy": "kredits-deploy",
|
||||||
"kredits-inspect": "kredits-inspect",
|
"kredits-inspect": "kredits-inspect",
|
||||||
"kredits-seed": "kredits-seed"
|
"kredits-seed": "kredits-seed",
|
||||||
|
"kredits-watch": "kredits-watch"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel-preset-es2015": "^6.22.0",
|
"babel-preset-es2015": "^6.22.0",
|
||||||
@@ -45,7 +46,7 @@
|
|||||||
"ember-cli-jshint": "^2.0.1",
|
"ember-cli-jshint": "^2.0.1",
|
||||||
"ember-cli-qunit": "^3.0.1",
|
"ember-cli-qunit": "^3.0.1",
|
||||||
"ember-cli-release": "^0.2.9",
|
"ember-cli-release": "^0.2.9",
|
||||||
"ember-cli-sass": "6.1.1",
|
"ember-cli-sass": "^7.0.0",
|
||||||
"ember-cli-sri": "^2.1.0",
|
"ember-cli-sri": "^2.1.0",
|
||||||
"ember-cli-test-loader": "^1.1.0",
|
"ember-cli-test-loader": "^1.1.0",
|
||||||
"ember-cli-uglify": "^1.2.0",
|
"ember-cli-uglify": "^1.2.0",
|
||||||
@@ -56,7 +57,7 @@
|
|||||||
"ember-truth-helpers": "1.3.0",
|
"ember-truth-helpers": "1.3.0",
|
||||||
"ipfs-api": "^12.1.7",
|
"ipfs-api": "^12.1.7",
|
||||||
"kosmos-schemas": "~1.1.1",
|
"kosmos-schemas": "~1.1.1",
|
||||||
"kredits-contracts": "^2.4.0",
|
"kredits-contracts": "github:67P/kredits-contracts#operator",
|
||||||
"loader.js": "^4.0.10",
|
"loader.js": "^4.0.10",
|
||||||
"tv4": "^1.3.0",
|
"tv4": "^1.3.0",
|
||||||
"uuid": "^3.0.1",
|
"uuid": "^3.0.1",
|
||||||
|
|||||||
Reference in New Issue
Block a user