# Week 18 Hi everyone, Rupam here. Last week was pretty eventful in terms of quantity of code shipped. I added Electra tests for light client functions in https://github.com/prysmaticlabs/prysm/pull/14506, added Bellatrix tests for the same in https://github.com/prysmaticlabs/prysm/pull/14520 and opened another [PR](https://github.com/prysmaticlabs/prysm/pull/14527) to introduce new consensus types for Electra. ## The need for new consensus types for Electra Up until now, Electra mostly reused data types from Deneb in Prysm which is valid because the payload header and other light client functions didn't change in Electra. However a few days ago we introduced new consensus types to move away from using protobufs in Prysm with this [PR](https://github.com/prysmaticlabs/prysm/pull/14518). The new types use depth directly and since the depths are different from Deneb in Electra, there is a need to have the same new consensus types for Electra too, but with the depth set to 6. My PR addresses that only. New types added: - `LightClientBootstrapElectra` - `LightClientUpdateElectra` - `bootstrapElectra` - `updateElectra` This PR also implements the `ssz.Marshaler` interface for `LightClientBootstrapElectra`. Another thing to notice is that the new types still reuse data types from Deneb (like `LightClientHeaderDeneb`) right now because their fields are the same as that of Electra. Only thing that has been changed is the depth. Deneb: ``` message LightClientBootstrapDeneb { LightClientHeaderDeneb header = 1; SyncCommittee current_sync_committee = 2; repeated bytes current_sync_committee_branch = 3 [(ethereum.eth.ext.ssz_size) = "5,32"]; } ``` Electra: ``` message LightClientBootstrapElectra { LightClientHeaderDeneb header = 1; SyncCommittee current_sync_committee = 2; repeated bytes current_sync_committee_branch = 3 [(ethereum.eth.ext.ssz_size) = "6,32"]; } ``` I still have a few more things to address in this PR like implementing `updateElectra`, etc. Also as I said before `LightClientHeaderDeneb` has been reused, but there might be the need to implement a new `LightClientHeaderElectra` for other reasons regarding which I will be having a discussion with the team soon.