Add script to add new contirbutors

Usage:

truffle exec scripts/add-contributor.js <ethereum address> <ipfs hash>
This commit is contained in:
bumi 2018-04-02 14:44:46 +02:00
parent 78b6b2e14f
commit d9ece98ffa
7 changed files with 991 additions and 5 deletions

View File

@ -7,7 +7,7 @@ let contractCalls = {
],
addProposal: [
[1, 23, 'QmQNA1hhVyL1Vm6HiRxXe9xmc6LUMBDyiNMVgsjThtyevs'],
[2, 42, 'QmQNA1hhVyL1Vm6HiRxXe9xmc6LUMBDyiNMVgsjThtyevs']
[2, 42, 'QmQNA1hhVyL1Vm6HiRxXe9xmc6LUMBDyiNMVgsjThtyevs'],
[2, 100, 'QmQNA1hhVyL1Vm6HiRxXe9xmc6LUMBDyiNMVgsjThtyevs']
],
vote: [

View File

@ -1 +1 @@
{}
{"58":"0x2cb1a34f8739ba67931a38cde401dcb5c37a90a4","4447":"0xe843cde33060bf9cb11723934ead6a3de410ddee","1522585684325":"0x61515dd7652ae044cf86b011d0173594ddedc8f4","1522596821641":"0xf837a81e390a7945ed2d342ba9eb3be00b95d5c7","1522598749737":"0x82eb6c66ef0afd53a243425bf0315892f0a1c7d4","1522599080978":"0x374e3a0b7725a6f07bb5f2600c386e680f780591"}

View File

@ -1 +1 @@
{}
{"58":"0x6944863c2b1d3f91b75e12ccda3da24de9702251","4447":"0x774dda3beef9650473549be4ee7054a2ef5b0140","1522585684325":"0x695e2f5529f1555081f12c752d549d1f0c5e8a8f","1522596821641":"0x6fbd5d43d3f32250a02b2edceab944d567297434","1522598749737":"0x029bb393d91e48f1d0845f5c2e1e0222a2abdd6b","1522599080978":"0xb6944b5377d04a464890bb921e76ee84d414818a"}

View File

@ -1 +1 @@
{"1522420467868":"0x6dee5ccedef4e55ee7c58f1e7962172292664b59"}
{"58":"0xb11047e9646f73bbbc092ff4411bff9cdf3d3d6b","4447":"0x699d70ab94ba4fd15c0edef58144a9c1a2227ca7","1521069360595":"0xd446a976429ce91778814e0dce9907267054d5e8","1522585684325":"0x3c3c95c31365fe45072427c13f63147c7f57a715","1522596821641":"0x31ba9e0fc1db7bd1fb827f2400dce26351435464","1522598749737":"0x5da6ae832b1ae518297cff4aaf984e4fcb9b4ade","1522599080978":"0x174fb8ccd2b13027e53b3483e0b64da52014347e"}

View File

@ -1 +1 @@
{"1522420467868":"0xe9bcdf2736a3b1b33b806f306cd6de05f9d7f33a"}
{"58":"0xf715daa8660744b2db77d47d4b36c1997059b238","4447":"0x20df41308f8f48fc38f22beb42306f2c98d0d00c","1521069360595":"0x262e872c625dfcca8747cbb1048e6e54c8e295ca","1522585684325":"0x68fdd9bbdb708d6d1a2c258208a824d179c82d8c","1522596821641":"0xf5224f36658ab5a1fce2c3744f089da2c281e3c4","1522598749737":"0xce1aaf7cb1be85656fdd4c890143d734d28e23f1","1522599080978":"0xb8a890f8832df8ff81fa5373bf092442a973849a"}

941
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,45 @@
const Registry = artifacts.require('./Registry.sol');
const Operator = artifacts.require('./Operator.sol');
const Contributors = artifacts.require('./Contributors.sol');
var bs58 = require('bs58');
function getBytes32FromMultiash(multihash) {
const decoded = bs58.decode(multihash);
return {
digest: `0x${decoded.slice(2).toString('hex')}`,
hashFunction: decoded[0],
size: decoded[1],
};
}
module.exports = function(callback) {
Registry.deployed().then(async (registry) => {
var operatorAddress = await registry.getProxyFor('Operator');
var contributorsAddress = await registry.getProxyFor('Contributors');
var operator = await Operator.at(operatorAddress);
var contributors = await Contributors.at(contributorsAddress);
let contributorToAddAddress = process.argv[4];
if(!contributorToAddAddress) {
console.log('please provide an address');
proxess.exit();
}
let ipfsHash = process.argv[5] || 'QmQyZJT9uikzDYTZLhhyVZ5ReZVCoMucYzyvDokDJsijhj';
let multihash = getBytes32FromMultiash(ipfsHash);
let isCore = true;
operator.addContributor(contributorToAddAddress, multihash.digest, multihash.hashFunction, multihash.size, isCore).then((result) => {
console.log('Contributor added, tx: ', result.tx);
});
var contributorId = await contributors.getContributorIdByAddress(contributorToAddAddress);
operator.addProposal(contributorId, 23, "QmQNA1hhVyL1Vm6HiRxXe9xmc6LUMBDyiNMVgsjThtyevs").then((result) => {
console.log('Proposal added, tx: ', result.tx);
});
var proposalId = await operator.proposalsCount();
operator.vote(proposalId.toNumber()-1);
});
}