Ejemplo n.º 1
0
        private void OnBlocksFinalized(object sender, FinalizeEventArgs e)
        {
            if (CurrentPendingValidators != null)
            {
                // .Any equivalent with for
                var currentPendingValidatorsBlockGotFinalized = false;
                for (int i = 0; i < e.FinalizedBlocks.Count && !currentPendingValidatorsBlockGotFinalized; i++)
                {
                    currentPendingValidatorsBlockGotFinalized = e.FinalizedBlocks[i].Hash == CurrentPendingValidators.BlockHash;
                }

                if (currentPendingValidatorsBlockGotFinalized)
                {
                    CurrentPendingValidators.AreFinalized = true;
                    Validators = CurrentPendingValidators.Addresses;
                    SetPendingValidators(CurrentPendingValidators, true);
                    if (!ForSealing)
                    {
                        ValidatorStore.SetValidators(e.FinalizingBlock.Number, Validators);
                        if (_logger.IsInfo)
                        {
                            _logger.Info($"Finalizing validators for transition within contract signalled at block {CurrentPendingValidators.BlockNumber}. after block {e.FinalizingBlock.ToString(BlockHeader.Format.Short)}.");
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
 private void OnBlocksFinalized(object sender, FinalizeEventArgs e)
 {
     for (int i = 0; i < e.FinalizedBlocks.Count; i++)
     {
         var finalizedBlockHeader = e.FinalizedBlocks[i];
         if (TryUpdateValidator(finalizedBlockHeader.Number, e.FinalizingBlock.Number))
         {
             _logger.Info($"Applying chainspec validator change signalled at block {finalizedBlockHeader.Number} at block {e.FinalizingBlock.Number}.");
         }
     }
 }
Ejemplo n.º 3
0
 private void OnBlocksFinalized(object sender, FinalizeEventArgs e)
 {
     for (int i = 0; i < e.FinalizedBlocks.Count; i++)
     {
         var finalizedBlockHeader = e.FinalizedBlocks[i];
         if (TryGetValidator(finalizedBlockHeader.Number, out var validator) && !CanChangeImmediately(validator.ValidatorType))
         {
             SetCurrentValidator(e.FinalizingBlock.Number, validator);
             if (_logger.IsInfo && !_isProducing)
             {
                 _logger.Info($"Applying chainspec validator change signalled at block {finalizedBlockHeader.ToString(BlockHeader.Format.Short)} at block {e.FinalizingBlock.ToString(BlockHeader.Format.Short)}.");
             }
         }
     }
 }
Ejemplo n.º 4
0
 private void Finalize(object sender, FinalizeEventArgs eventArgs)
 {
     _result = eventArgs.Text;
 }
Ejemplo n.º 5
0
 private void OnBlockFinalized(object?sender, FinalizeEventArgs e)
 {
     BlocksFinalized?.Invoke(this, e);
 }