diff options
author | Jhih-Ming Huang <jm@byzantine-lab.io> | 2019-09-29 15:28:13 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@byzantine-lab.io> | 2019-09-29 15:28:12 +0800 |
commit | d537c10df659c059af08eca58c2ed8fb0847c4f0 (patch) | |
tree | 6b6bd58d90c5e059c3f02c6f6b857dbe2d80fa81 | |
parent | 67add53d950448534a42942c6da7e39e3ddc3b83 (diff) | |
download | tangerine-node-staker-master.tar.gz tangerine-node-staker-master.tar.zst tangerine-node-staker-master.zip |
-rw-r--r-- | .travis.yml | 5 | ||||
-rw-r--r-- | contracts/NodeStaker.sol | 12 | ||||
-rw-r--r-- | contracts/test/NodeStakerMock.sol | 3 | ||||
-rw-r--r-- | migrations/2_deploy.js | 4 | ||||
-rw-r--r-- | test/NodeStaker.js | 2 |
5 files changed, 22 insertions, 4 deletions
diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..bb0a900 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,5 @@ +language: node_js +node_js: + - 9 +before_script: + - npm run ganache & diff --git a/contracts/NodeStaker.sol b/contracts/NodeStaker.sol index 9ebeafc..95badbe 100644 --- a/contracts/NodeStaker.sol +++ b/contracts/NodeStaker.sol @@ -33,6 +33,7 @@ contract NodeStaker is Ownable, FoundationOwnable { event NodePublicKeyReplaced(bytes oldKey, bytes newKey); event UnstakedByFoundation(uint256 amount); event OwnershipTranferedByFoundation(address from, address to); + event NodeInfoUpdated(string Name, string Email, string Location, string Url); // --------- // Modifiers @@ -50,6 +51,8 @@ contract NodeStaker is Ownable, FoundationOwnable { emit NodeDeposited(msg.sender, msg.value); } + constructor(bool _registered) public { registered = _registered; } + // ------------------- // Getters and Setters // ------------------- @@ -109,6 +112,15 @@ contract NodeStaker is Ownable, FoundationOwnable { emit NodePublicKeyReplaced(oldKey, key); } + /** + * @dev update node info + */ + function updateNodeInfo(string memory Name, string memory Email, + string memory Location, string memory Url) public onlyOwner onlyRegistered { + gov.updateNodeInfo(Name, Email, Location, Url); + emit NodeInfoUpdated(Name, Email, Location, Url); + } + // ------------------------- // Foundation Only Functions // ------------------------- diff --git a/contracts/test/NodeStakerMock.sol b/contracts/test/NodeStakerMock.sol index cf8cb3a..275666e 100644 --- a/contracts/test/NodeStakerMock.sol +++ b/contracts/test/NodeStakerMock.sol @@ -3,7 +3,8 @@ pragma solidity ^0.5.11; import "../NodeStaker.sol"; contract NodeStakerMock is NodeStaker { - + constructor(bool _registered) NodeStaker(_registered) public {} + function setGovernance(address govAddress) public onlyOwner { gov = Governance(govAddress); } diff --git a/migrations/2_deploy.js b/migrations/2_deploy.js index cbe9109..75be898 100644 --- a/migrations/2_deploy.js +++ b/migrations/2_deploy.js @@ -10,12 +10,12 @@ module.exports = async (deployer, network) => { for (const config of configs) { const {owner, address} = config; - let staker = await NodeStaker.new(); + 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(); + let staker = await NodeStakerMock.new(false); staker.setGovernance(gov.address); } diff --git a/test/NodeStaker.js b/test/NodeStaker.js index cf91ac7..9a72753 100644 --- a/test/NodeStaker.js +++ b/test/NodeStaker.js @@ -17,7 +17,7 @@ contract('NodeStaker', accounts => { const deploy = async () => { govMock = await GovernanceMock.new(); - nodeStaker = await NodeStaker.new(); + nodeStaker = await NodeStaker.new(false); await nodeStaker.setGovernance(govMock.address); nodeStaker.sendTransaction({value: minStake}); nodeStaker.transferOwnership(owner); |