# Final Updates for Soubhik
This report contains a summary of more or less everything I have done in the duration of the cohort. From taking up an project to implementing it, it has been a very awesome and great experience.
## Project Abstract
I have worked on implementing [Block Level-Access-Lists (EIP-7928) in reth](https://eips.ethereum.org/EIPS/eip-7928) with another fellow [@Rimeeeeee](github.com/Rimeeeeee) Block Access Lists or in short BALs stores all the state reads and writes in a block with the tx-index . This allows for complete tx parallelizations, stateless verification and better proving. This will be included in the upcoming Glamsterdam hardfork which will hopefully allow us to achieve faster block processing and faster txs.
## Current Status
On our side we have constructed the Block Access Lists for block, added the new engine endpoints and most of the eest tests are passing on our branch. Here is a brief overview of whats been done and whats left:
1. Core eip structures and new block body (`block_access_list`) and header(`block_access_list_hash`) fields are added.
2. Tx wise state tracking ,Pre block and post block system contracts are tracked correctly
3. Other edge cases like eip-7702 and the engine-api related endpoints are (`engine_newpayloadV5`, `engine_getPayloadV6`)
4. BAL construction and verifications are done
### Unfinished Tasks:
The eip is still on the newer side and many things might come up later, also the tests are not quite complete. So there can always be something added thats needed to be done.
Apart from that the whole tx parallelization part is still not implemented. There has been a lot of discussion on how to use bals to optimize the execution times but it needs a lot of work.
Feature wise Bal is mostly complete, it works as per the specs as of now.
## Potential Next Steps
Our potential next steps will be fixing the tests after there is a stable release as most of the failing tests are specs related issues on eest side . Then we would help out on the work on the parallelization and other refactoring.
## My work concerning this project
Troughout this project I have worked with @Rimeeeeee, we had a lot of discussions regrarding implementaions as well had a lot of debigging sessions. Overall this project is a team effort. Still I would like to share some things I have done :
* I added a few eip core types [alloy](https://github.com/Soubhik-10/alloy/commits/bal/?author=Soubhik-10)
* Co-Authored my first crate in alloy ([alloy-eip7928](https://github.com/alloy-rs/eips/)) with my friend @Rimeeeeee
* Added record fn for Storage.
* Added some test cases to check edge cases in [revm](https://github.com/Soubhik-10/revm/commits/bal/?author=Soubhik-10).
* Tracked post execution changes in [alloy/evm](https://github.com/Soubhik-10/revm/commits/bal/?author=Soubhik-10).
* Added encoding for ExecutionPayloadV4, added newPayloadV6. Woked on other engine related changes .
* We both Refactored and modified the implementation across alloy,reth etc so that we can use [Dragan's changes](https://github.com/bluealloy/revm/tree/rakita/bal), for revm.
* Ran kurtosis with reth and besu nethermind in EL and lodestar in CL till 27 epoch.
<br>
Apart from all these, both @Rimeeeeee and I spent hours debugging , checking edge cases and fixing tests , sometimes we found error in eest and also reported those. Not to mention, a lot of time was spent on rebasing all the forked branches. All the current stable changes are in `bal-devnet-0` branch of the reth main repo.
The Current forked brances are :
* [Reth's BAL branch](https://github.com/Rimeeeeee/reth/tree/new-approach3)
* [Evm's BAL branch](https://github.com/Rimeeeeee/evm/tree/new-approach4)
Overall I would say that we have made quite significant progress on it. The Breakouts are fun and insightful. I hope that we can finish what we started and make it complete before the Hardfork.
## Feedback on the EPF
This was a really great experience for someone like me who doesn't have much experience in the core developement. I still remember that I was struggling to find a project to work on ( juggling between focil and pureth ) and then Matt suggested that Bal should be an interesting topic to work. Then somehow it got confirmed for inclusion almost instantly so we had a lot of pressure on ourself to make it right. The fellowship provided me with the opportunity to work on something so big and impactful. It helped me meet some of the greatest people in the ecosystem and showcase my work to them. Thanks to them I will be able to present this project at DevConnect . Thanks Josh and Mario for all the support throughout the cohort.
Apart from the EPF, I want to express my thanks to all the people who helped me throughout various stuff throughout. Thanks [Rimeeeeeee](https://github.com/Rimeeeeee) for sticking with me and hear my rants about all the stuffs and fixing the bugs I introduced without complaining :)
Thanks [Matt](https://github.com/mattsse) for all the support, he was ( and still is ) always there for us even before the cohort. Thanks [Dragan](https://github.com/rakita) for answering all the revm related questions. Special thanks to all the reth team for all the support thorughout all this. Special thanks to [Felipe](https://github.com/felipe) and [Rahul](https://github.com/raxhvl) for answering all the test related queries. I am forever grateful to all these people for being part of this incredible journey.