public FederationController(
            ChainIndexer chainIndexer,
            IFederationManager federationManager,
            VotingManager votingManager,
            Network network,
            IIdleFederationMembersKicker idleFederationMembersKicker,
            ReconstructFederationService reconstructFederationService)
        {
            this.chainIndexer                = chainIndexer;
            this.federationManager           = federationManager;
            this.idleFederationMembersKicker = idleFederationMembersKicker;
            this.network = network;
            this.reconstructFederationService = reconstructFederationService;
            this.votingManager = votingManager;

            this.logger = LogManager.GetCurrentClassLogger();
        }
        public FederationController(
            ChainIndexer chainIndexer,
            IFederationManager federationManager,
            VotingManager votingManager,
            Network network,
            IFederationHistory federationHistory,
            ReconstructFederationService reconstructFederationService,
            IPoAMiner poAMiner = null)
        {
            this.chainIndexer                 = chainIndexer;
            this.federationManager            = federationManager;
            this.federationHistory            = federationHistory;
            this.network                      = network;
            this.poaMiner                     = poAMiner;
            this.reconstructFederationService = reconstructFederationService;
            this.votingManager                = votingManager;

            this.logger = LogManager.GetCurrentClassLogger();
        }