sgns::TransactionConsensusHandler¶
Validates and finalizes transactions on behalf of consensus. More...
#include <TransactionConsensusHandler.hpp>
Public Classes¶
| Name | |
|---|---|
| struct | Metrics Snapshot of the consensus counters, for the manager's shutdown log. |
| struct | ReplayProtectionResult Result of replay-protection evaluation for a consensus subject. |
Public Types¶
| Name | |
|---|---|
| enum class uint8_t | WitnessValidationResult |
Public Functions¶
| Name | |
|---|---|
| TransactionConsensusHandler(TransactionManager & owner, base::Logger logger) | |
| outcome::result< ConsensusManager::Check > | OnConsensusCertificate(const std::string & tx_hash, const ConsensusCertificate & certificate) Finalizes a transaction once consensus produced a certificate for it, reconstructing the transaction from the certificate when it is not tracked locally. |
| outcome::result< ConsensusManager::ValidationResult > | HandleNonceConsensusSubject(const ConsensusManager::Subject & subject) Validates a nonce consensus subject: well-formedness, authorization, timestamp, replay protection, type rules and the UTXO witness. |
| void | OnProposalTimeoutCleanup(const std::string & tx_hash) Handles proposal timeout cleanup for VERIFYING tracking entries. Local outgoing entries become UNCONFIRMED; remote temporary entries are removed. CONFIRMED entries and missing entries are left untouched. |
| std::optional< UTXOTransitionCommitment > | BuildUTXOTransitionCommitment(const GeniusTransaction & tx) const Builds the consumed/produced Merkle commitment a nonce subject carries. |
| ReplayProtectionResult | EvaluateTransactionReplayProtection(const GeniusTransaction & tx) const Evaluates previous-hash/nonce replay protection for a transaction. |
| WitnessValidationResult | ValidateWitnessForConsensus(const ConsensusSubject & subject, const GeniusTransaction & tx) const Validates the UTXO witness carried by a nonce consensus subject. |
| std::optional< UTXOWitness > | BuildUTXOWitness(const GeniusTransaction & tx) const Builds the Merkle inclusion proofs backing a transition commitment. |
| Metrics | SnapshotMetrics() const |
Detailed Description¶
Validates and finalizes transactions on behalf of consensus.
Owned by the TransactionManager that constructs it, whose lifetime strictly contains this object's. Tracking state stays in the manager and is reached through its accessors, so this class holds no transaction map and takes no lock of its own.
Public Types Documentation¶
enum WitnessValidationResult¶
| Enumerator | Value | Description |
|---|---|---|
| VALID | ||
| DRIFT | ||
| PENDING | A producer dependency (transaction or certificate) has not CRDT-synced yet: retryable, not evidence of invalidity. | |
| INVALID |
Public Functions Documentation¶
function TransactionConsensusHandler¶
Parameters:
- owner Manager owning this handler; must outlive it.
- logger Shared with the owner so log lines stay attributed to the node.
function OnConsensusCertificate¶
outcome::result< ConsensusManager::Check > OnConsensusCertificate(
const std::string & tx_hash,
const ConsensusCertificate & certificate
)
Finalizes a transaction once consensus produced a certificate for it, reconstructing the transaction from the certificate when it is not tracked locally.
function HandleNonceConsensusSubject¶
outcome::result< ConsensusManager::ValidationResult > HandleNonceConsensusSubject(
const ConsensusManager::Subject & subject
)
Validates a nonce consensus subject: well-formedness, authorization, timestamp, replay protection, type rules and the UTXO witness.
function OnProposalTimeoutCleanup¶
Handles proposal timeout cleanup for VERIFYING tracking entries. Local outgoing entries become UNCONFIRMED; remote temporary entries are removed. CONFIRMED entries and missing entries are left untouched.
function BuildUTXOTransitionCommitment¶
std::optional< UTXOTransitionCommitment > BuildUTXOTransitionCommitment(
const GeniusTransaction & tx
) const
Builds the consumed/produced Merkle commitment a nonce subject carries.
function EvaluateTransactionReplayProtection¶
Evaluates previous-hash/nonce replay protection for a transaction.
function ValidateWitnessForConsensus¶
WitnessValidationResult ValidateWitnessForConsensus(
const ConsensusSubject & subject,
const GeniusTransaction & tx
) const
Validates the UTXO witness carried by a nonce consensus subject.
function BuildUTXOWitness¶
Builds the Merkle inclusion proofs backing a transition commitment.
function SnapshotMetrics¶
Updated on 2026-09-29 at 16:45:08 +0000