From f85950c79905c9bb7b101e483cea0de95b51976e Mon Sep 17 00:00:00 2001 From: Vadim Yavorsky Date: Tue, 11 Feb 2020 15:47:52 +0200 Subject: [PATCH] added skipped operations --- contracts/Pricing.sol | 4 ++-- contracts/SkaleManager.sol | 24 ++++++++----------- contracts/delegation/DelegationController.sol | 4 ++-- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/contracts/Pricing.sol b/contracts/Pricing.sol index ecbc4ed73..d749338bf 100644 --- a/contracts/Pricing.sol +++ b/contracts/Pricing.sol @@ -88,8 +88,8 @@ contract Pricing is Permissions { bytes32 schain = SchainsData(schainsDataAddress).schainsAtSystem(i); uint numberOfNodesInGroup = IGroupsData(schainsDataAddress).getNumberOfNodesInGroup(schain); uint part = SchainsData(schainsDataAddress).getSchainsPartOfNode(schain); - sumLoadSchain = sumLoadSchain.add((numberOfNodesInGroup*10**7)/part); + sumLoadSchain = sumLoadSchain.add((numberOfNodesInGroup*10**7).div(part)); } - return uint(sumLoadSchain/(10**5*numberOfNodes)); + return uint(sumLoadSchain.div(10**5*numberOfNodes)); } } diff --git a/contracts/SkaleManager.sol b/contracts/SkaleManager.sol index 948f01a0d..2053c92cb 100644 --- a/contracts/SkaleManager.sol +++ b/contracts/SkaleManager.sol @@ -37,9 +37,6 @@ import "@openzeppelin/contracts/math/SafeMath.sol"; contract SkaleManager is IERC777Recipient, Permissions { - using SafeMath for int; - using SafeMath for int256; - IERC1820Registry private _erc1820; bytes32 constant private TOKENS_RECIPIENT_INTERFACE_HASH = 0xb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b; @@ -224,30 +221,29 @@ contract SkaleManager is IERC777Recipient, Permissions { IManagerData managerData = IManagerData(contractManager.getContract("ManagerData")); INodesData nodesData = INodesData(contractManager.getContract("NodesData")); - uint diffTime = nodesData.getNodeLastRewardDate(nodeIndex) + - constants.rewardPeriod() + - constants.deltaPeriod(); + uint diffTime = nodesData.getNodeLastRewardDate(nodeIndex) + .add(constants.rewardPeriod()) + .add(constants.deltaPeriod()); if (managerData.minersCap() == 0) { managerData.setMinersCap(ISkaleToken(contractManager.getContract("SkaleToken")).CAP() / 3); } if (managerData.stageTime().add(constants.rewardPeriod()) < now) { managerData.setStageTimeAndStageNodes(nodesData.numberOfActiveNodes().add(nodesData.numberOfLeavingNodes())); } - commonBounty = managerData.minersCap() / - ((2 ** (((now.sub(managerData.startTime())) / - constants.SIX_YEARS()) + 1)) - .mul((constants.SIX_YEARS() / - constants.rewardPeriod())) + commonBounty = managerData.minersCap() + .div((2 ** (((now.sub(managerData.startTime())) + .div(constants.SIX_YEARS())) + 1)) + .mul((constants.SIX_YEARS() + .div(constants.rewardPeriod()))) .mul(managerData.stageNodes())); if (now > diffTime) { diffTime = now.sub(diffTime); } else { diffTime = 0; } - diffTime /= constants.checkTime(); + diffTime = diffTime.div(constants.checkTime()); int bountyForMiner = int(commonBounty); - uint normalDowntime = ((constants.rewardPeriod().sub(constants.deltaPeriod())) / - constants.checkTime()) / 30; + uint normalDowntime = ((constants.rewardPeriod().sub(constants.deltaPeriod())).div(constants.checkTime())) / 30; if (downtime.add(diffTime) > normalDowntime) { bountyForMiner -= int(((downtime.add(diffTime)).mul(commonBounty)) / (constants.SECONDS_TO_DAY() / 4)); } diff --git a/contracts/delegation/DelegationController.sol b/contracts/delegation/DelegationController.sol index 69d4fd036..461eac406 100644 --- a/contracts/delegation/DelegationController.sol +++ b/contracts/delegation/DelegationController.sol @@ -62,7 +62,7 @@ contract DelegationController is Permissions { uint delegationId = _activeByValidator[validatorId][i]; TokenState.State state = tokenState.getState(delegationId); if (state == TokenState.State.DELEGATED) { - delegatedAmount += delegations[delegationId].amount; + delegatedAmount = delegatedAmount.add(delegations[delegationId].amount); } } } @@ -197,7 +197,7 @@ contract DelegationController is Permissions { uint delegationId = _activeByValidator[validatorId][i]; TokenState.State state = tokenState.getState(delegationId); if (delegations[delegationId].holder == validatorAddress && state == TokenState.State.DELEGATED) { - delegatedAmount += delegations[delegationId].amount; + delegatedAmount = delegatedAmount.add(delegations[delegationId].amount); } } }