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;

        IInputValidator::WitnessVerdict ValidateWitness(
            const ConsensusSubject  &subject,
            const GeniusTransaction &tx,
            const UTXOTxParameters  &params,
            const 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-09-25 at 15:46:11 +0000