Skip to content

feat(protocol): add transaction event types and commitments - #3833

Draft
partylikeits1983 wants to merge 2 commits into
nextfrom
feat/transaction-event-types
Draft

feat(protocol): add transaction event types and commitments#3833
partylikeits1983 wants to merge 2 commits into
nextfrom
feat/transaction-event-types

Conversation

@partylikeits1983

Copy link
Copy Markdown
Contributor

Closes #3830. Part of #3803.

Summary

Add TransactionEvent and TransactionEvents with validated construction, checked appends, bounded serialization, and a cached event commitment. Empty payloads and duplicate events are supported, and failed appends leave the collection unchanged.

The commitment uses a fixed size Poseidon2 hash chain that binds each event's emitter, topic, payload, and position. Tests include intermediate commitments for the later MASM implementation and verify that decoding rejects excessive lengths before reading payloads.

Scope

Rust types and tests only. Transaction outputs, IDs, signed summaries, protobuf, and kernel integration remain in #3831. Batch and block integration remains in #3832.

Review

This draft proposes 0x02_0002 as the event hash domain, following the existing account patch and delta domains.

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.

Transaction events: Rust types and commitment specification

1 participant