Update BridgeValidators contract
This commit is contained in:
parent
a815ac6d4d
commit
2c0e9dd2c2
|
@ -8,8 +8,8 @@ import "../upgradeability/EternalStorage.sol";
|
|||
|
||||
contract BridgeValidators is IBridgeValidators, EternalStorage, Ownable {
|
||||
using SafeMath for uint256;
|
||||
event ValidatorAdded (address validator);
|
||||
event ValidatorRemoved (address validator);
|
||||
event ValidatorAdded (address indexed validator);
|
||||
event ValidatorRemoved (address indexed validator);
|
||||
event RequiredSignaturesChanged (uint256 requiredSignatures);
|
||||
|
||||
function initialize(uint256 _requiredSignatures, address[] _initialValidators, address _owner)
|
||||
|
@ -28,6 +28,7 @@ contract BridgeValidators is IBridgeValidators, EternalStorage, Ownable {
|
|||
emit ValidatorAdded(_initialValidators[i]);
|
||||
}
|
||||
uintStorage[keccak256(abi.encodePacked("requiredSignatures"))] = _requiredSignatures;
|
||||
uintStorage[keccak256("deployedAtBlock")] = block.number;
|
||||
setInitialize(true);
|
||||
emit RequiredSignaturesChanged(_requiredSignatures);
|
||||
return isInitialized();
|
||||
|
@ -76,6 +77,10 @@ contract BridgeValidators is IBridgeValidators, EternalStorage, Ownable {
|
|||
return boolStorage[keccak256(abi.encodePacked("isInitialized"))];
|
||||
}
|
||||
|
||||
function deployedAtBlock() public view returns(uint256) {
|
||||
return uintStorage[keccak256("deployedAtBlock")];
|
||||
}
|
||||
|
||||
function setValidatorCount(uint256 _validatorCount) private {
|
||||
uintStorage[keccak256(abi.encodePacked("validatorCount"))] = _validatorCount;
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ contract('BridgeValidators', async (accounts) => {
|
|||
false.should.be.equal(await bridgeValidators.isValidator(accounts[1]))
|
||||
false.should.be.equal(await bridgeValidators.isInitialized())
|
||||
'0'.should.be.bignumber.equal(await bridgeValidators.requiredSignatures())
|
||||
'0'.should.be.bignumber.equal(await bridgeValidators.deployedAtBlock())
|
||||
await bridgeValidators.initialize(3, [accounts[0], accounts[1]], accounts[2], {from: accounts[2]}).should.be.rejectedWith(ERROR_MSG)
|
||||
await bridgeValidators.initialize(2, [accounts[0], accounts[1]], accounts[2], {from: accounts[2]}).should.be.fulfilled;
|
||||
await bridgeValidators.initialize(2, [accounts[0], accounts[1]], accounts[2], {from: accounts[2]}).should.be.rejectedWith(ERROR_MSG);
|
||||
|
@ -26,7 +27,8 @@ contract('BridgeValidators', async (accounts) => {
|
|||
true.should.be.equal(await bridgeValidators.isValidator(accounts[0]))
|
||||
true.should.be.equal(await bridgeValidators.isValidator(accounts[1]))
|
||||
accounts[2].should.be.equal(await bridgeValidators.owner())
|
||||
'2'.should.be.bignumber.equal(await bridgeValidators.validatorCount())
|
||||
'2'.should.be.bignumber.equal(await bridgeValidators.validatorCount());
|
||||
(await bridgeValidators.deployedAtBlock()).should.be.bignumber.above(0)
|
||||
})
|
||||
})
|
||||
|
||||
|
|
Loading…
Reference in New Issue