Skip to content

[CL-129] partial payloads: protobuf and ssz definitions - #252

Open
vladimir-ea wants to merge 3 commits into
ve/partial_payloads_3from
ve/partial_wire
Open

vladimir-ea wants to merge 3 commits into
ve/partial_payloads_3from
ve/partial_wire

Conversation

@vladimir-ea

Copy link
Copy Markdown
Collaborator

add encodings for PartialDataColumn messages

vladimir-ea and others added 3 commits September 11, 2026 21:34
Registry wire numbers: SubOpts.requestsPartial=3 and
supportsSendingPartial=4, ControlMessage.extensions=6,
ControlExtensions.partialMessages=10, RPC.partial=10. Absent flags
decode unset; legacy frames are unaffected. Extension payloads are
raw SSZ bytes borrowed from the frame.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Checked zero-copy views for both PartialDataColumnSidecar layouts,
the optional Fulu header, and PartsMetadata, plus prefix encoders
that never gather cell payloads. Bitmaps must carry exactly the
trusted row count; schedules beyond 128 rows are unsupported.
PartialSidecarPlan validates its invariants at construction, so
encoding cannot fail. Spec-derived byte fixtures pin both layouts
independently of the encoders. Group ids carry version 0x00, with
the little-endian slot appended on Gloas.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
PartialFrame prepares one RPC.partial frame per (topic, group):
protobuf framing, SSZ offsets, and the row bitmap in a bounded
prefix, with cells, proofs, and any Fulu header as retained ranges.
A frame without a plan omits partialMessage entirely, carrying
metadata only. Range lengths and metadata row counts are validated
against the declared varints before admission. Extension fields are
emitted in canonical order, so the segmented frame byte-matches
buffa's reference encoder for both forks and for metadata-only
frames.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vladimir-ea
vladimir-ea added this pull request to stack #246 September 11, 2026 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant