Currently purchase(uint256 currentPrice, uint256 newPrice) checks that newPrice != 0. This is not required, as the protocol can function as expected if newPrice = 0, since the user can purchase the orb with a non zero new price and then set it to zero via setPrice(uint256 newPrice).
Description
Currently
purchase(uint256 currentPrice, uint256 newPrice)
checks thatnewPrice != 0
. This is not required, as the protocol can function as expected ifnewPrice = 0
, since the user can purchase the orb with a non zero new price and then set it to zero viasetPrice(uint256 newPrice)
.Suggestion
Remove the check