implement SOS serialization in minimal_ssz.py #1024
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Note: PR into master, to get it into v0.6.1. Will make PRs into special dev branch for future v0.6.x updates after v0.6.1
Implemented SOS serialization for minimal_ssz.py (util of the executable spec).
Some notes:
encode_series
, since it does lists, vectors and containers. Not just containers.The encoding seems funny, but is correct from what I understand. Example outlined below.Edit: funny encoding was just incorrect.serialize(sum(fixed_lengths + variable_lengths[:i]))
is not just inefficient, it is also missing explicit expression of the expected length of the serialization output. Should beBYTES_PER_LENGTH_OFFSET
, which is 4, i.e.uint32
, something different from most of the other parts of the spec.cursively