Skip to content

Add RLP serialization for Cadence protocol messages - #3252

Open
michael-yxchen wants to merge 1 commit into
xinyuan/da-serializationfrom
michael/cadence-serde
Open

michael-yxchen wants to merge 1 commit into
xinyuan/da-serializationfrom
michael/cadence-serde

Conversation

@michael-yxchen

Copy link
Copy Markdown
Contributor

Implement Alloy RLP encoding and decoding for CadenceMessage and its Chorus, Conductor, and MVBA payloads. Use tagged lists for enums and transparent encoding for wrappers, rejecting unknown tags and extra data.

Define Serializable and Deserializable in the Chorus spec and implement the byte interface for CadenceMessage without a monad-types dependency.

Parameterize MVBA votes, certificates, and block requests directly by entries rather than by the votable value, and replace tuple scopes with ProposalScope and MvbaScope so codecs bind the actual wire fields.

Cover concrete Cadence envelopes, message variants, optional certificates, wrapper layouts, and malformed input with round-trip tests.

This code was generated using Codex (GPT-6) and Claude Fable 5.1.

Implement Alloy RLP encoding and decoding for CadenceMessage and its
Chorus, Conductor, and MVBA payloads. Use tagged lists for enums and
transparent encoding for wrappers, rejecting unknown tags and extra data.

Define Serializable and Deserializable in the Chorus spec and implement
the byte interface for CadenceMessage without a monad-types dependency.

Parameterize MVBA votes, certificates, and block requests directly by
entries rather than by the votable value, and replace tuple scopes with
ProposalScope and MvbaScope so codecs bind the actual wire fields.

Cover concrete Cadence envelopes, message variants, optional certificates,
wrapper layouts, and malformed input with round-trip tests.

This code was generated using Codex (GPT-6) and Claude Fable 5.1.
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