# EPF6 - Weeks 10&11 Updates
## Summary
1. Coding GMP in Prysm
## Details
### 1. Prysm
- [Prysm issue update](https://github.com/OffchainLabs/prysm/issues/15598): After spending time coding and reading the Prysm client, I updated the issue with a more accurate plan. Initially, I assumed we couldn’t reuse the existing library because HTR was computed from object values rather than serialized bytes, so I started implementing spec helpers (`size_of`,` pack_bits`, `pack`, `chunk_count`, `merkleize`, `mix_in_length`, etc.). While doing that, I dug deeper into the SSZ package and realized I do not need to code most of these helpers. As a result, the amount of custom helper code has dropped to almost zero. So, the main change in direction is that I won’t re-implement the SSZ helpers; **I’ll rely on** the battle-tested ones in the **Prysm ssz package**.
- [Minor PR merged](https://github.com/OffchainLabs/prysm/pull/15676): officially a 4-line Prysm contributor! This small PR prevents folks from forgetting to analyze list objects by **populating runtime list info inside `AnalyzeObject`**. Working step-by-step on SSZ Query has been great (I’ve been able to share feedback with Jun and get helpful guidance in return).
- [Prysm PR](https://github.com/OffchainLabs/prysm/pull/15669): There was a plan change at the beginning of the week.
- Prior plan was to submit a PR with all the hash tree root computation for all the different types.
- Current plan was to split it into a couple of PR so I can benefit from SSZ query package developments.
I realized it is better to split the work in smaller PR and get early feedback from mentors. This PR contains all the code done so far, also with the unnecessary helpers deleted off the code already.
All the work is depicted [here](https://hackmd.io/@fernantho/BkRoDRI5xe) (this document is still work-in-progress)
- Testing: I definitely need to start using protobuf and sszgen to define small, purpose-built data data types to properly test each hash tree routine. I tried to bypass this step by defining containers and getting serialized data/roots from [simpleserialize.com](https://simpleserialize.com/). For example, for testing the routine for "List of Fixed-size Container":
```golang
type ValidatorList struct {
Validators []*ethpb.Validator `protobuf:"bytes,4001,rep,name=validators,proto3" json:"validators,omitempty" ssz-max:"1099511627776"`
}
```
Using simple serialize tool, I got the following "Validators" serialized data and the hash tree root:

Net effect: **wrong assumption**
The serialized data + hash tree root from simple serialize is not valid for the defined-type
### Next steps
- Tackle merkle multi-proofs