Skip to content

sgns::GeniusInputValidator

Validator for native Genius-chain transactions.

#include <GeniusInputValidator.hpp>

Inherits from sgns::IInputValidator

Public Functions

Name
virtual bool ValidateUTXOParameters(const UTXOTxParameters & params, const std::string & address, const UTXOManager & utxo_manager) const override
Validates UTXO ownership and signatures for Genius-native inputs.
virtual bool ValidateWitness(const ConsensusSubject & subject, const std::shared_ptr< GeniusTransaction > & tx, const UTXOTxParameters & params, const std::shared_ptr< Blockchain > & blockchain) const override
Validates witness data against Genius-chain consensus state.
virtual bool RequiresConsensusUTXOData() const override
Genius-native validation requires consensus UTXO context.

Additional inherited members

Public Functions inherited from sgns::IInputValidator

Name
virtual ~IInputValidator() =default
Destroys the input validator.

Public Functions Documentation

function ValidateUTXOParameters

virtual bool ValidateUTXOParameters(
    const UTXOTxParameters & params,
    const std::string & address,
    const UTXOManager & utxo_manager
) const override

Validates UTXO ownership and signatures for Genius-native inputs.

Parameters:

  • params UTXO inputs and outputs carried by the transaction.
  • address Source address expected to own or authorize the inputs.
  • utxo_manager Local UTXO manager used to verify the inputs.

Return: True when both input and output lists are non-empty and utxo_manager accepts the parameters.

Reimplements: sgns::IInputValidator::ValidateUTXOParameters

function ValidateWitness

virtual bool ValidateWitness(
    const ConsensusSubject & subject,
    const std::shared_ptr< GeniusTransaction > & tx,
    const UTXOTxParameters & params,
    const std::shared_ptr< Blockchain > & blockchain
) const override

Validates witness data against Genius-chain consensus state.

Parameters:

  • subject Consensus subject containing the UTXO witness and commitment.
  • tx Genius-chain transaction being validated.
  • params UTXO inputs and outputs carried by tx.
  • blockchain Blockchain service used to resolve producer certificates.

Return: True when the witness and transaction UTXO parameters are consistent.

Reimplements: sgns::IInputValidator::ValidateWitness

Checks the transaction hash, UTXO commitment roots, consumed input proofs, input signatures, ownership, duplicate inputs, and per-token input/output balance.

function RequiresConsensusUTXOData

inline virtual bool RequiresConsensusUTXOData() const override

Genius-native validation requires consensus UTXO context.

Return: Always true.

Reimplements: sgns::IInputValidator::RequiresConsensusUTXOData


Updated on 2026-06-05 at 17:22:18 -0700