From fdea45b41eadc004a93871820a2434da8c44db72 Mon Sep 17 00:00:00 2001 From: Mohamed Sahal Ameen Date: Mon, 19 Sep 2022 17:04:42 +0530 Subject: [PATCH] Fix reward calculation bug. Reward should be incremented every time the loop runs instead of updating the whole value. --- NFTStakingV3-BringYourOwnNFTCollection.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/NFTStakingV3-BringYourOwnNFTCollection.sol b/NFTStakingV3-BringYourOwnNFTCollection.sol index 352bfd8..f1f30bb 100644 --- a/NFTStakingV3-BringYourOwnNFTCollection.sol +++ b/NFTStakingV3-BringYourOwnNFTCollection.sol @@ -120,7 +120,7 @@ contract NFTStaking is Ownable, IERC721Receiver { require(staked.owner == account, "not an owner"); uint256 stakedAt = staked.timestamp; rewardmath = 100 ether * (block.timestamp - stakedAt) / 86400 ; - earned = rewardmath / 100; + earned += rewardmath / 100; vault[tokenId] = Stake({ owner: account, tokenId: uint24(tokenId), @@ -147,7 +147,7 @@ contract NFTStaking is Ownable, IERC721Receiver { require(staked.owner == account, "not an owner"); uint256 stakedAt = staked.timestamp; rewardmath = 100 ether * (block.timestamp - stakedAt) / 86400; - earned = rewardmath / 100; + earned += rewardmath / 100; } if (earned > 0) {