Tx_rollup: Implement the complete life cycle of a transaction rollup
Context
This week-end, with François, we worked on an overhaul of the transaction rollup machine state (Tx_rollup_state_repr), to better deal with the various bounds we want to set-up, and to prepare a more straightforward rejection. This allowed us to write quite easily the commitment removal, and it paves the road toward the one-step rejection.
The goal now is to move quickly, for better or worse. Ideally, we want this merged by tomorrow, before the protocall, and with François we are trying to wrap-up everything as soon as possible.
From the outside of the protocol, this MR brings one breaking change that I mention on Friday: we now index everything by “rollup level” rather than “raw level.” We loose the knowledge by the layer-1 context of the mapping between inbox and rollup-level, but it turns out we don’t need it. And we get a nice property that we can just make substraction between various pointers to know exactly how much inboxes, commitments, etc. there is at a given time. Besides, no more linked list