contracts/scripts/add-contributor.js
bumi 2503ac7c73 Refactor helper scripts to use kredits module
This reuses the kredits library functions in the helper scripts and
seeds. We no longer need to add IPFS hashes manually but simply can
provider contributor/proposal data.
2018-04-20 12:56:09 +02:00

51 lines
1.5 KiB
JavaScript

const Registry = artifacts.require('./Registry.sol');
const promptly = require('promptly');
const bs58 = require('bs58');
const ethers = require('ethers');
const Kredits = require('../lib/kredits');
async function prompt(message, options) {
if (!options) {
options = {default: ''}
}
return await promptly.prompt(message, options);
}
module.exports = function(callback) {
Registry.deployed().then(async (registry) => {
const networkId = parseInt(web3.version.network);
const provider = new ethers.providers.Web3Provider(
web3.currentProvider, { chainId: networkId }
);
const kredits = await Kredits.setup(provider, provider.getSigner());
console.log(`Using contributors at: ${kredits.Contributor.contract.address}`);
let contributorAttributes = {
account: await prompt('Contributor address: ', {}),
name: await prompt('Name: '),
isCore: await prompt('core? y/n') === 'y',
kind: await prompt('Kind (default person): ', {default: 'person'}),
url: await prompt('URL: '),
github_username: await prompt('GitHub username: '),
github_uid: await prompt('GitHub UID: '),
wiki_username: await prompt('Wiki username: '),
};
console.log("\nAdding contributor:");
console.log(contributorAttributes);
kredits.Contributor.add(contributorAttributes, {gasLimit: 250000}).then((result) => {
console.log("\n\nResult:");
console.log(result);
callback();
}).catch((error) => {
console.log('Failed to create contributor');
callback(error);
});
});
}