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)}."); } } } } }
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}."); } } }
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)}."); } } } }
private void Finalize(object sender, FinalizeEventArgs eventArgs) { _result = eventArgs.Text; }
private void OnBlockFinalized(object?sender, FinalizeEventArgs e) { BlocksFinalized?.Invoke(this, e); }