omgnetwork / plasma-mvp

OmiseGO's research implementation of Minimal Viable Plasma
MIT License
561 stars 158 forks source link

the method `finalizeExits` of the smart contract, RootChain.sol has a bug #198

Closed dcb9 closed 6 years ago

dcb9 commented 6 years ago

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?