Handle corner case in refutation game: no messages between two commitments
If there are no messages to a rollup between two commitments, the second commitment will have number_of_messages and number_of_ticks both equal to zero. The function initial in the Sc_rollup_game_repr module currently doesn't handle this case well, it produces an invalid game state that is unrefutable!
Instead the initial game in this case should have a very simple dissection that contains just the state (shared by both commitments in this case) and a one-tick-later None state. This means the only possible move in the game is a proof that the state isn't blocked---a proof that some new message appeared at some point since the level of the most recent message in the PVM state.
Edited by Thomas Athorne