Skip to main content

Module try_commit_result

Module try_commit_result 

Source
Expand description

Typed outcome of a two-phase transaction commit.

Structs§

DbConflictCode
Reason a storage delta could not be applied during two-phase commit. These are the nondeterministic failures of try_push_new_subtransaction: any of them causes ExecResultTxNonDeterministicError, and the transaction is excluded from the block. Codes are intentionally coarse; finer-grained detail may be added later behind a debug-only extension.
DbConflictDiagnostic
One conflicting storage op. Fixed-size: ContractAddress[32] plus a fixed-size StorageKey plus the code — no heap allocation.

Enums§

DbConflictResult
Conflict diagnostics attached to a failed try_push_new_subtransaction. The discriminant is the DbDiagnosticLevel the database selected from the block’s execution mode, so the variable-length arm is only ever constructed in kDbDiagnosticAll mode (debug-build proposals); prod levels are allocation-free by construction.
TryCommitResult
Outcome of a two-phase commit (try_commit_transaction).