Add bridgesAllowedLength method check on setBlockRewardContract
This commit is contained in:
parent
00b4976937
commit
339bd4ab04
|
@ -5,4 +5,5 @@ interface IBlockReward {
|
|||
function addExtraReceiver(uint256 _amount, address _receiver) external;
|
||||
function mintedTotally() public view returns (uint256);
|
||||
function mintedTotallyByBridge(address _bridge) public view returns(uint256);
|
||||
function bridgesAllowedLength() external view returns(uint256);
|
||||
}
|
||||
|
|
|
@ -14,6 +14,10 @@ contract BlockReward is IBlockReward {
|
|||
function () external payable {
|
||||
}
|
||||
|
||||
function bridgesAllowedLength() external view returns(uint256) {
|
||||
return 3;
|
||||
}
|
||||
|
||||
function addExtraReceiver(uint256 _amount, address _receiver) external {
|
||||
require(_amount > 0);
|
||||
require(_receiver != address(0));
|
||||
|
|
|
@ -66,7 +66,7 @@ contract HomeBridgeErcToNative is EternalStorage, BasicBridge, BasicHomeBridge {
|
|||
}
|
||||
|
||||
function setBlockRewardContract(address _blockReward) public onlyOwner {
|
||||
require(_blockReward != address(0) && isContract(_blockReward));
|
||||
require(_blockReward != address(0) && isContract(_blockReward) && (IBlockReward(_blockReward).bridgesAllowedLength() != 0));
|
||||
addressStorage[keccak256(abi.encodePacked("blockRewardContract"))] = _blockReward;
|
||||
}
|
||||
|
||||
|
|
|
@ -71,6 +71,9 @@ contract('HomeBridge_ERC20_to_Native', async (accounts) => {
|
|||
const notAContract = accounts[5]
|
||||
await homeContract.setBlockRewardContract(notAContract).should.be.rejectedWith(ERROR_MSG)
|
||||
secondBlockRewardContract.address.should.be.equal(await homeContract.blockRewardContract())
|
||||
|
||||
await homeContract.setBlockRewardContract(validatorContract.address).should.be.rejectedWith(ERROR_MSG)
|
||||
secondBlockRewardContract.address.should.be.equal(await homeContract.blockRewardContract())
|
||||
})
|
||||
|
||||
it('cant set maxPerTx > dailyLimit', async () => {
|
||||
|
|
Loading…
Reference in New Issue