The balance of the contract will be decreased incorrectly:
After successfully challenging an exit, the exit still remains in the exits set and in priority queue, but the owner of that is deleted. See challengeExit method
finalizeExits is going to get the exit which was challenged and transfer the amount of the exit to address(0). the code is here
So should we check the owner of the exit, if it is not equal to address(0), before our transfer? Or might we remove the exit from the priority queue?
The balance of the contract will be decreased incorrectly:
After successfully challenging an exit, the exit still remains in the exits set and in priority queue, but the owner of that is deleted. See challengeExit method
finalizeExits
is going to get the exit which was challenged and transfer the amount of the exit toaddress(0)
. the code is hereSo should we check the owner of the exit, if it is not equal to
address(0)
, before our transfer? Or might we remove the exit from the priority queue?