Skip to content

account/GeniusInputValidator.hpp

Input validation strategy for native Genius-chain transactions. More...

Namespaces

Name
sgns

Classes

Name
class sgns::GeniusInputValidator
Validator for native Genius-chain transactions.

Attributes

Name
bool kGeniusValidatorRegistered

Detailed Description

Input validation strategy for native Genius-chain transactions.

Date: 2026-06-02 Henrique A. Klein ([email protected])

Attributes Documentation

variable kGeniusValidatorRegistered

static bool kGeniusValidatorRegistered = GeniusInputValidator::Register();

Source code

#ifndef SGNS_GENIUS_INPUT_VALIDATOR_HPP
#define SGNS_GENIUS_INPUT_VALIDATOR_HPP

#include <memory>

#include "account/InputValidators.hpp"

namespace sgns
{
    class GeniusInputValidator final : public IInputValidator
    {
    public:
        bool ValidateUTXOParameters( const UTXOTxParameters &params,
                                     const std::string      &address,
                                     const UTXOManager      &utxo_manager ) const override;

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

        bool RequiresConsensusUTXOData() const override
        {
            return true;
        }

        static bool Register()
        {
            static GeniusInputValidator instance;
            IInputValidator::Register( "supergenius", &instance );
            IInputValidator::Register( "supergenius_chain", &instance );
            IInputValidator::Register( "", &instance );
            return true;
        }
    };

    static inline bool kGeniusValidatorRegistered = GeniusInputValidator::Register();
} // namespace sgns

#endif // SGNS_GENIUS_INPUT_VALIDATOR_HPP

Updated on 2026-09-25 at 15:46:11 +0000