-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Invalid root for eip4844 containers #111
Comments
Hi, does it work if you change |
Please check if #116 works. |
The change looks OK, but the root doesn't match what I expect. I've narrowed it down to the merkleization of the kzg List itself. from remerkleable.complex import List
from remerkleable.byte_arrays import ByteVector
kzgs = List[ByteVector[48], 16]()
kzgs.hash_tree_root().hex() == "792930bbd5baac43bcc798ee49aa8185ef76bb3b44ba62b91d86ae569e4bb535" whereas the root the above struct definition in my OP for fastssz, the root is |
Hi. Any updates here? |
Hi @Inphi. Sorry I was in an offsite and quite dumped with work. I am still checking this. I think I might find time in the coming days to check. |
Please check again the PR linked, it returns now the same results as |
Awesome! The fix works well. Thank you! |
We're using sszgen for an updated eip4844 beacon block body:
The
BeaconBlockBody
contains a new field,blob_kzg_commitments
, whereKZGCommitment
is aBytes48
ssz type andMAX_BLOBS_PER_BLOCK
is16
. So we add the field to the newBeaconBlockBody
struct in our prysm fork:However, the updated generated tree routine for the beacon block looks incorrect:
I'd expect that the
size
input forCalculateLimit
to be48
but here it's0
which causes the newBeaconBlockBody
root to be incorrect.The text was updated successfully, but these errors were encountered: