---
# System prepended metadata

title: Week 4

---

# Week 4

I and my[ friend](https://github.com/Rimeeeeee) spent this week working on an initial draft. Along with that we spent a lot of time studying and implementing the first Inspector that tracks all the storage changes for a transaction.

## StorageChangeInspector 
This is technically our second step of the BAL implementation and in this phase we will track all the states. [Rimeeeeee](https://github.com/Rimeeeeee) had made quite a lot of work implementing the inspector. Our mentor [Matthias Seitz](https://github.com/mattsse) gave an early review of the pr and after resolving that I started working on some tests. I booted up [Foundry](https://github.com/foundry-rs/foundry) and generated a bytecode for an basic contract. While started testing with the transactions, I ran into our first major road-block. Initially the inspector was using the Journal of [revm](https://github.com/bluealloy/revm/tree/main/crates/context/src/journal) for tracking the previous changes. However in the test logs there were no values written, everything was 0. I tried a lot of different approaches but Journal didnt work. So in the end we fetched the data from the revm db. Mattsse also said that we can later try to move these directly into the revm as it is easy to access the states from directly there. 

## Other works
Along with all these I was assigned to some other works in foundry. One was implementing getBlobs endpoints in anvil and other was implementing JSTracer in anvil. I made the prs there along with a helper in alloy.

## Next week plan
- Finalize the proposal and make a pr
- Start on the other state trackings like Balance, Nonce, etc
- Research revm structure to see if we can directly add them

## Works
- [Anvil getBlob](https://github.com/foundry-rs/foundry/pull/10987)
- [StorageChangeInspector](https://github.com/Rimeeeeee/reth/pull/8)