aboutsummaryrefslogtreecommitdiffstats
path: root/migrations/2_deploy.js
blob: 75be8983e3318557ff1694c796f848391b7a889c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const NodeStaker = artifacts.require('./NodeStaker.sol');
const NodeStakerMock = artifacts.require('./test/NodeStakerMock.sol');
const Governance = artifacts.require('./Governance.sol');
const {configs} = require('../deploy.config.js');

let minStake = new web3.utils.BN(web3.utils.toWei('1000000', 'ether'));

module.exports = async (deployer, network) => {
  const gov = network === 'development' && (await Governance.new());

  for (const config of configs) {
    const {owner, address} = config;
    let staker = await NodeStaker.new(false);

    if (gov) {
      console.log('Network is development, use mock governance: ', gov.address);
      minStake = new web3.utils.BN(web3.utils.toWei('1', 'ether'));
      let staker = await NodeStakerMock.new(false);
      staker.setGovernance(gov.address);
    }

    console.log('\nDeploy NodeStaker');
    console.log('----------------------');
    console.log('> owner name:         ', owner);
    console.log('> owner address:      ', address);
    console.log('> transactionHash:    ', staker.transactionHash);
    console.log('> contract address:   ', staker.address);

    await staker.sendTransaction({value: minStake});
    await staker.transferOwnership(address);
  }
};