Example #1
0
        /// <summary>
        /// Handle new mining info being received.
        /// </summary>
        /// <param name="sender">
        /// The event sender.
        /// </param>
        /// <param name="e">
        /// The event arguments.
        /// </param>
        private void OnMiningInfoUpdate(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            // Update the UI
            if (_miningInfoUpdater.MiningInfo != null)
            {
                Logger.Info("Starting new block: " + _miningInfoUpdater.MiningInfo.BlockHeight);
            }
            else
            {
                Logger.Error("Empty mining info received");
            }
            ConsoleUi.SetTextAreaHeader(_miningInfoUpdater?.MiningInfo != null ? "Block " + _miningInfoUpdater.MiningInfo.BlockHeight : null);

            // Start all objects on the new block
            _plotReaderManager.NotifyNewRound(_miningInfoUpdater.MiningInfo);
            _deadlineSubmitter.NotifyNewRound(_miningInfoUpdater.MiningInfo);
            _deadlineCalculator.NotifyNewRound(_miningInfoUpdater.MiningInfo);
        }