Beispiel #1
0
        public void SetUp()
        {
            _validator            = GetValidator();
            _innerValidators      = new SortedList <long, IAuRaValidatorProcessor>();
            _factory              = Substitute.For <IAuRaAdditionalBlockProcessorFactory>();
            _logManager           = Substitute.For <ILogManager>();
            _transactionProcessor = Substitute.For <ITransactionProcessor>();

            _factory.CreateValidatorProcessor(default, default)
Beispiel #2
0
        public void SetUp()
        {
            _validator           = GetValidator();
            _innerValidators     = new SortedList <long, IAuRaValidatorProcessor>();
            _factory             = Substitute.For <IAuRaAdditionalBlockProcessorFactory>();
            _logManager          = Substitute.For <ILogManager>();
            _finalizationManager = Substitute.For <IBlockFinalizationManager>();
            _finalizationManager.LastFinalizedBlockLevel.Returns(-1);

            _factory.CreateValidatorProcessor(default, default)
Beispiel #3
0
        public MultiValidator(AuRaParameters.Validator validator, IAuRaAdditionalBlockProcessorFactory validatorFactory, ILogManager logManager)
        {
            if (validator == null)
            {
                throw new ArgumentNullException(nameof(validator));
            }
            if (validator.ValidatorType != AuRaParameters.ValidatorType.Multi)
            {
                throw new ArgumentException("Wrong validator type.", nameof(validator));
            }
            _validatorFactory = validatorFactory ?? throw new ArgumentNullException(nameof(validatorFactory));
            _logger           = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager));

            _validators = validator.Validators?.Count > 0
                ? validator.Validators
                : throw new ArgumentException("Multi validator cannot be empty.", nameof(validator.Validators));
        }
Beispiel #4
0
        public MultiValidator(AuRaParameters.Validator validator, IAuRaAdditionalBlockProcessorFactory validatorFactory, ILogManager logManager)
        {
            if (validator == null)
            {
                throw new ArgumentNullException(nameof(validator));
            }
            if (validatorFactory == null)
            {
                throw new ArgumentNullException(nameof(validatorFactory));
            }
            if (validator.ValidatorType != AuRaParameters.ValidatorType.Multi)
            {
                throw new ArgumentException("Wrong validator type.", nameof(validator));
            }

            _validators = validator.Validators?.Count > 0
                ? validator.Validators
                          .Select(kvp => new KeyValuePair <long, IAuRaValidatorProcessor>(kvp.Key,
                                                                                          validatorFactory.CreateValidatorProcessor(kvp.Value, Math.Max(1, kvp.Key)))) // we need to make init block at least 1 as 0 is genesis.
                          .ToArray()
                : throw new ArgumentException("Multi validator cannot be empty.", nameof(validator.Validators));

            _logger = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager));
        }