You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of #3803. Depends on tx log integration in #3831 and the types and commitment specification in #3830.
Preserve and validate tx log payloads throughout the Rust batch and block kernels.
Include complete log records alongside transaction headers in the Rust data types, construction logic, serialization, and proving interfaces used by the batch and block kernels.
Validate that each transaction's log records match its log commitment. Reject missing or unexpected log collections and duplicate associations with a transaction.
Preserve transaction associations and emission order so that block bodies contain the public log data required for historical retrieval, including logs from private transactions.
Enforce the transaction limits from Tx logs: Rust types and commitment specification #3830 and define aggregate log count and payload limits for batches and blocks. The transaction payload budget is 16 KiB, with at most 64 logs and 8 KiB per individual payload; metadata is additional and bounded by the record format and count limits.
Verify that the updated transaction IDs bind logs through the existing batch and block transaction commitments, without a separate log root. Preserve replay protection and transaction conflict checks.
Tests should cover serialization and deserialization, payload preservation, invalid transaction associations, commitment mismatches, and aggregate size limits.
This issue covers Rust only. Batch and block kernel MASM, recursive verification changes, node storage and query APIs, and SDK integration are outside its scope.
edit: Renamed transaction events to tx logs and aligned the integration scope with #3830 and #3831, including the 16 KiB transaction payload budget and public logs from both public and private transactions.
Part of #3803. Depends on tx log integration in #3831 and the types and commitment specification in #3830.
Preserve and validate tx log payloads throughout the Rust batch and block kernels.
Tests should cover serialization and deserialization, payload preservation, invalid transaction associations, commitment mismatches, and aggregate size limits.
This issue covers Rust only. Batch and block kernel MASM, recursive verification changes, node storage and query APIs, and SDK integration are outside its scope.
edit: Renamed transaction events to tx logs and aligned the integration scope with #3830 and #3831, including the 16 KiB transaction payload budget and public logs from both public and private transactions.