Hi everyone, wasn't able to push out a lot of code last week as I was sick. Over these days, I mainly worked on updating the light client helper functions in Prysm to reference the dev
branch of CL specs in this PR. As I said in my last update, we need to update them as the previous version only works upto Altair and also the newer implementation uses block_to_light_client_header
which makes the code cleaner and more readable.
createLightClientBootstrapXXX
functions:This was mostly adding another check to check equality of the value of hash_tree_root
of the latest block header with the value of hash_tree_root
of the block passed in the parameter and defining the LightClientHeader
struct using block_to_light_client_header
instead of defining it manually. The previous test setup of GetLightClientBootstrap
in handlers_test.go
also had to be changed as it wasn't compatible with the new implementation.
NewLightClientUpdateFromBeaconState
function:Although this was gonna be a part of my work, Bastin had to update it before me as a part of his PR which updates this and fixes some other problems related to the light client execution header structs. We decided to rebase my work on top of him to have lesser conflicts while merging as his PR needs to merged before mine.
There were some functions whose implementations haven't changed in dev
. So the comment above them just has an URL to an older branch of CL specs. Not something critical but since we are at it, might just update them for consistency.