# Albus Dompeldorius CDAP - Dev Update #7 This is the seventh update for my work in the [CDAP](https://github.com/ethereum-cdap/cohort-zero/blob/main/development-updates.md#albus). ## What I have done since last update I have been working on [Springrollup](https://github.com/adompeldorius/springrollup). First, I managed to implement two circuits. One for adding pending transactions, and one for processing pending transactions. Then I realized that the rollup could be simplified a lot; instead of having pending transactions, we could simply require that the operator sends witnesses to all senders in a rollup block, who then confirm their transactions, before the operator publishes the block. Only transactions whose senders have confirmed, are processed. With this new mechanism, there is no longer any need for maintaining pending transactions. Another challange I faced was that I learned that circuits are very strict about the sizes of their inputs. This means that for instance the number of transactions in a block must be hard-coded in the circuit. One solution to allow dynamically adjusted block sizes is to create several circuits for different sizes and allowing the operator to pick one circuit each time they want to publish a block. However, this challenge is even more difficult in our case, since not only is the number of transactions variable, but also the number of senders. One solution for this is to have two circuits that are processed after one another. The first circuit processes all balance updates, and the second circuit processes all senders (checks their signature, and checks that their account index is part of the calldata). The first circuit could compute a hash of all senders (along with the new state root), which is fed as an input to the second circuit. # What I will do next - Update specification with the new changes above - Finish implementing L2 transfers - Implement deposits/withdrawals - Implement escape hatch (frozen mode)