Skip to content

account/MigrationInputValidator.hpp

Input validation strategy for one-time migration claims. More...

Namespaces

Name
sgns

Classes

Name
class sgns::MigrationInputValidator
Implements the InputValidator for a Migration type.

Attributes

Name
bool kMigrationValidatorRegistered
Static instance to trigger registration of the MigrationInputValidator before main() starts.

Detailed Description

Input validation strategy for one-time migration claims.

Date: 2026-06-12

Attributes Documentation

variable kMigrationValidatorRegistered

static bool kMigrationValidatorRegistered = MigrationInputValidator::Register();

Static instance to trigger registration of the MigrationInputValidator before main() starts.

Source code

#ifndef SGNS_MIGRATION_INPUT_VALIDATOR_HPP
#define SGNS_MIGRATION_INPUT_VALIDATOR_HPP

#include "account/InputValidators.hpp"

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

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

        bool RequiresConsensusUTXOData() const override
        {
            return false;
        }

        static bool Register()
        {
            static MigrationInputValidator instance;
            IInputValidator::Register( "migration", &instance );
            return true;
        }
    };

    static inline bool kMigrationValidatorRegistered = MigrationInputValidator::Register();
} // namespace sgns

#endif // SGNS_MIGRATION_INPUT_VALIDATOR_HPP

Updated on 2026-06-28 at 18:54:57 -0700