Skip to content

sgns::DevMintInputValidator

#include <DevMintInputValidator.hpp>

Inherits from sgns::IInputValidator

Public Functions

Name
bool Register()
Registers the dev validator for the literal chain id "dev".
virtual bool ValidateUTXOParameters(const UTXOTxParameters & params, const std::string & address, const UTXOManager & utxo_manager) const override
Accepts explicit input references and minted outputs.
virtual IInputValidator::WitnessVerdict ValidateWitness(const ConsensusSubject & subject, const GeniusTransaction & tx, const UTXOTxParameters & params, const Blockchain & blockchain) const override
Net-gated witness verdict: the policy, nothing else.
virtual bool RequiresConsensusUTXOData() const override
Dev mints carry no local UTXO witness (the burn is fabricated for local seeding; consensus itself is real).

Additional inherited members

Public Types inherited from sgns::IInputValidator

Name
enum class uint8_t WitnessVerdict { kValid, kNotSynced, kInvalid}
Verdict of a witness validation, distinguishing a missing local dependency from a structural failure.
using const IInputValidator * ValidatorPtr

Public Functions inherited from sgns::IInputValidator

Name
virtual ~IInputValidator() =default
Destroys the input validator.
void UnregisterIf(const std::string & chain_id, ValidatorPtr expected)
Remove a chain's registration only if it currently points to expected (compare-and-remove). This prevents a non-owner from removing the current registration and lets a validator self-clean on destruction.
ValidatorPtr Get(const std::string & chain_id)

Public Functions Documentation

function Register

static bool Register()

Registers the dev validator for the literal chain id "dev".

Return: Always true; registration is insert-only, so an already claimed chain id simply leaves the current owner in place.

function ValidateUTXOParameters

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

Accepts explicit input references and minted outputs.

Parameters:

  • params UTXO inputs and outputs carried by the transaction.
  • address Source address; ignored (no local UTXO ownership).
  • utxo_manager Local UTXO manager; ignored.

Return: True when both input and output lists are non-empty.

Reimplements: sgns::IInputValidator::ValidateUTXOParameters

function ValidateWitness

virtual IInputValidator::WitnessVerdict ValidateWitness(
    const ConsensusSubject & subject,
    const GeniusTransaction & tx,
    const UTXOTxParameters & params,
    const Blockchain & blockchain
) const override

Net-gated witness verdict: the policy, nothing else.

Parameters:

  • subject Consensus subject; ignored.
  • tx Transaction; ignored.
  • params UTXO parameters; ignored.
  • blockchain Blockchain service; ignored.

Return: kValid iff DevMintBurnlessPermitted(), kInvalid otherwise — regardless of witness content.

Reimplements: sgns::IInputValidator::ValidateWitness

function RequiresConsensusUTXOData

virtual bool RequiresConsensusUTXOData() const override

Dev mints carry no local UTXO witness (the burn is fabricated for local seeding; consensus itself is real).

Return: Always false.

Reimplements: sgns::IInputValidator::RequiresConsensusUTXOData


Updated on 2026-10-22 at 19:28:22 +0000