Skip to content

feat(protocol): encode transaction logs in canonical protobuf - #3904

Open
partylikeits1983 wants to merge 15 commits into
ajl-tx-logs-kernelfrom
ajl-tx-logs-protobuf
Open

partylikeits1983 wants to merge 15 commits into
ajl-tx-logs-kernelfrom
ajl-tx-logs-protobuf

Conversation

@partylikeits1983

@partylikeits1983 partylikeits1983 commented Sep 17, 2026 •

Copy link
Copy Markdown
Contributor

Adds protobuf transport for the transaction logs introduced by the preceding PRs. Proven transactions now encode their submitted TransactionLogData, and transaction headers carry the corresponding commitment. Public submissions contain complete transaction logs; private submissions contain only a commitment.

Local execution data has a separate purpose: transaction arguments retain the secret salt, and transaction effects retain the complete transaction logs and salt needed for local processing. Those messages can contain private data and are not the public transaction submission format.

Please focus review on:

  • Canonical decoding and bounds. Transaction log byte fields use the canonical Rust serialization adapters, which reject malformed encodings and trailing data while preserving the transaction log size checks.
  • Privacy at the transport boundary. Private proven transactions must carry neither transaction log payloads nor the secret salt. Local arguments and effects intentionally retain those values.
  • Field propagation. Encoding, decoding, and domain object construction must preserve the transaction header commitment and apply the existing visibility and commitment checks. The generated type adapters are imported in the modules where the protobuf code is included.

Part 4 of 4. Depends on #3903. Stack: #3833 → #3902 → #3903 → #3904.

Batch and block transaction log transport, including aggregate size limits, is deferred to the separate draft PR #3905. This stack provides transaction execution, proof and signature binding, and transaction protobuf support; it does not provide block storage or query APIs for transaction logs.

Closes #3831.

@partylikeits1983
partylikeits1983 marked this pull request as ready for review October 6, 2026 17:09
@partylikeits1983
partylikeits1983 removed this pull request from stack #3906 October 6, 2026 17:20
@partylikeits1983
partylikeits1983 added this pull request to stack #4003 October 6, 2026 17:21
@partylikeits1983 partylikeits1983 self-assigned this Oct 6, 2026
@partylikeits1983 partylikeits1983 added rust Issues that affect or pull requests that update Rust code pr-from-maintainers PRs that come from internal contributors or integration partners. They should be given priority labels Oct 6, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-from-maintainers PRs that come from internal contributors or integration partners. They should be given priority rust Issues that affect or pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tx logs: Kernel logging and transaction integration

1 participant