0xMiden / 0xMiden/protocol

Transaction events: Kernel logging and transaction integration

Offen
#3,831 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Rust
Sterne
132
Forks
167
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
110

Beschreibung

Part of #3803. Depends on the event types and commitment specification.

Implement `miden::protocol::tx::log(topic, PAYLOAD_COMMITMENT)` and bind emitted events to transaction proofs.

Scope:
- Authenticate the calling procedure against the active account, derive the emitter, verify the payload preimage, enforce size limits, and update the ordered event commitment.
- Support public and private accounts, including events emitted during FPI. Logged data is public.
- Collect event records through host VM events.
- Implement explicit, idempotent event finalization restricted to authenticated native account procedures. Logging after finalization must fail the transaction.
- Finalize events before including their commitment in the standard signed transaction summary. The epilogue must finalize any remaining open event list after authentication.
- Add events to `TransactionOutputs` and `ProvenTransaction`. Add the event commitment to `TransactionHeader`, the output stack, the transaction ID, and the signed transaction summary.
- Update the executor, prover, verifier, serialization, and affected protobuf representations. Verification must recompute the commitment from the submitted event records.

Tests should cover native and nested FPI emitter attribution, caller authorization, size limits, finalization, authentication with and without signatures, and rejection of altered, missing, additional, or reordered event records.

Separate event data fees, backward compatibility, and batch and block kernel MASM changes are outside this issue's scope.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.