Exemple #1
0
        public VotingManager(
            IFederationManager federationManager,
            IPollResultExecutor pollResultExecutor,
            INodeStats nodeStats,
            DataFolder dataFolder,
            DBreezeSerializer dBreezeSerializer,
            ISignals signals,
            Network network,
            ChainIndexer chainIndexer,
            IBlockRepository blockRepository = null,
            INodeLifetime nodeLifetime       = null)
        {
            this.federationManager  = Guard.NotNull(federationManager, nameof(federationManager));
            this.pollResultExecutor = Guard.NotNull(pollResultExecutor, nameof(pollResultExecutor));
            this.signals            = Guard.NotNull(signals, nameof(signals));
            this.nodeStats          = Guard.NotNull(nodeStats, nameof(nodeStats));

            this.locker              = new object();
            this.votingDataEncoder   = new VotingDataEncoder();
            this.scheduledVotingData = new List <VotingData>();
            this.PollsRepository     = new PollsRepository(chainIndexer, dataFolder, dBreezeSerializer, network as PoANetwork);

            this.logger              = LogManager.GetCurrentClassLogger();
            this.network             = network;
            this.poaConsensusOptions = (PoAConsensusOptions)this.network.Consensus.Options;

            Guard.Assert(this.poaConsensusOptions.PollExpiryBlocks != 0);

            this.blockRepository = blockRepository;
            this.chainIndexer    = chainIndexer;
            this.nodeLifetime    = nodeLifetime;

            this.isInitialized = false;
        }
        public VotingManager(IFederationManager federationManager, ILoggerFactory loggerFactory, IPollResultExecutor pollResultExecutor,
                             INodeStats nodeStats, DataFolder dataFolder, DBreezeSerializer dBreezeSerializer, ISignals signals,
                             Network network,
                             IBlockRepository blockRepository = null,
                             ChainIndexer chainIndexer        = null,
                             INodeLifetime nodeLifetime       = null,
                             NodeSettings nodeSettings        = null)
        {
            this.federationManager  = Guard.NotNull(federationManager, nameof(federationManager));
            this.pollResultExecutor = Guard.NotNull(pollResultExecutor, nameof(pollResultExecutor));
            this.signals            = Guard.NotNull(signals, nameof(signals));
            this.nodeStats          = Guard.NotNull(nodeStats, nameof(nodeStats));

            this.locker              = new object();
            this.votingDataEncoder   = new VotingDataEncoder(loggerFactory);
            this.scheduledVotingData = new List <VotingData>();
            this.PollsRepository     = new PollsRepository(dataFolder, loggerFactory, dBreezeSerializer, chainIndexer, nodeSettings);

            this.logger              = loggerFactory.CreateLogger(this.GetType().FullName);
            this.network             = network;
            this.poaConsensusOptions = (PoAConsensusOptions)this.network.Consensus.Options;

            this.blockRepository = blockRepository;
            this.chainIndexer    = chainIndexer;
            this.nodeLifetime    = nodeLifetime;

            this.isInitialized = false;
        }
Exemple #3
0
        public DefaultVotingController(IFederationManager fedManager, ILoggerFactory loggerFactory, VotingManager votingManager,
                                       IWhitelistedHashesRepository whitelistedHashesRepository, Network network, IPollResultExecutor pollExecutor)
        {
            this.fedManager    = fedManager;
            this.votingManager = votingManager;
            this.whitelistedHashesRepository = whitelistedHashesRepository;
            this.network      = network;
            this.pollExecutor = pollExecutor;

            this.logger = loggerFactory.CreateLogger("Impleum.Bitcoin.Fullnode");
        }
 public PollViewModel(Poll poll, IPollResultExecutor executor)
 {
     this.IsPending  = poll.IsPending;
     this.IsExecuted = poll.IsExecuted;
     this.Id         = poll.Id;
     this.PollVotedInFavorBlockData = poll.PollVotedInFavorBlockData;
     this.PollStartBlockData        = poll.PollStartBlockData;
     this.PollExecutedBlockData     = poll.PollExecutedBlockData;
     this.PubKeysHexVotedInFavor    = poll.PubKeysHexVotedInFavor;
     this.VotingDataString          = executor.ConvertToString(poll.VotingData);
 }
Exemple #5
0
        public VotingManager(FederationManager federationManager, ILoggerFactory loggerFactory, IKeyValueRepository keyValueRepo,
                             SlotsManager slotsManager, IPollResultExecutor pollResultExecutor)
        {
            this.federationManager  = federationManager;
            this.keyValueRepo       = keyValueRepo;
            this.slotsManager       = slotsManager;
            this.pollResultExecutor = pollResultExecutor;

            this.locker              = new object();
            this.votingDataEncoder   = new VotingDataEncoder(loggerFactory);
            this.scheduledVotingData = new List <VotingData>();
            this.logger              = loggerFactory.CreateLogger(this.GetType().FullName);
        }
Exemple #6
0
        public VotingController(
            IFederationManager federationManager,
            VotingManager votingManager,
            IWhitelistedHashesRepository whitelistedHashesRepository,
            IPollResultExecutor pollExecutor)
        {
            this.federationManager           = federationManager;
            this.pollExecutor                = pollExecutor;
            this.votingManager               = votingManager;
            this.whitelistedHashesRepository = whitelistedHashesRepository;

            this.logger = LogManager.GetCurrentClassLogger();
        }
 public PollViewModel(Poll poll, IPollResultExecutor executor)
 {
     this.IsPending  = poll.IsPending;
     this.IsExecuted = poll.IsExecuted;
     this.Id         = poll.Id;
     this.PollVotedInFavorBlockDataHash   = poll.PollVotedInFavorBlockData?.Hash;
     this.PollVotedInFavorBlockDataHeight = poll.PollVotedInFavorBlockData?.Height;
     this.PollStartBlockDataHash          = poll.PollStartBlockData?.Hash;
     this.PollStartBlockDataHeight        = poll.PollStartBlockData?.Height;
     this.PollExecutedBlockDataHash       = poll.PollExecutedBlockData?.Hash;
     this.PollExecutedBlockDataHeight     = poll.PollExecutedBlockData?.Height;
     this.PubKeysHexVotedInFavor          = poll.PubKeysHexVotedInFavor.Select(v => v.PubKey).ToList();
     this.VotingDataString = executor.ConvertToString(poll.VotingData);
 }
Exemple #8
0
        public VotingController(
            ChainIndexer chainIndexer,
            IFederationManager federationManager,
            Network network,
            VotingManager votingManager,
            IWhitelistedHashesRepository whitelistedHashesRepository,
            IPollResultExecutor pollExecutor)
        {
            this.chainIndexer                = chainIndexer;
            this.federationManager           = federationManager;
            this.network                     = network;
            this.pollExecutor                = pollExecutor;
            this.votingManager               = votingManager;
            this.whitelistedHashesRepository = whitelistedHashesRepository;

            this.logger = LogManager.GetCurrentClassLogger();
        }
        public VotingManager(FederationManager federationManager, ILoggerFactory loggerFactory, SlotsManager slotsManager, IPollResultExecutor pollResultExecutor,
                             INodeStats nodeStats, DataFolder dataFolder, DBreezeSerializer dBreezeSerializer, ISignals signals, IFinalizedBlockInfoRepository finalizedBlockInfo)
        {
            this.federationManager  = Guard.NotNull(federationManager, nameof(federationManager));
            this.slotsManager       = Guard.NotNull(slotsManager, nameof(slotsManager));
            this.pollResultExecutor = Guard.NotNull(pollResultExecutor, nameof(pollResultExecutor));
            this.signals            = Guard.NotNull(signals, nameof(signals));
            this.nodeStats          = Guard.NotNull(nodeStats, nameof(nodeStats));
            this.finalizedBlockInfo = Guard.NotNull(finalizedBlockInfo, nameof(finalizedBlockInfo));

            this.locker              = new object();
            this.votingDataEncoder   = new VotingDataEncoder(loggerFactory);
            this.scheduledVotingData = new List <VotingData>();
            this.pollsRepository     = new PollsRepository(dataFolder, loggerFactory, dBreezeSerializer);
            this.logger              = loggerFactory.CreateLogger(this.GetType().FullName);

            this.isInitialized = false;
        }
        public DefaultVotingController(
            IFederationManager fedManager,
            ILoggerFactory loggerFactory,
            VotingManager votingManager,
            IWhitelistedHashesRepository whitelistedHashesRepository,
            Network network,
            IPollResultExecutor pollExecutor,
            IIdleFederationMembersKicker idleFederationMembersKicker)
        {
            this.fedManager = fedManager;
            this.idleFederationMembersKicker = idleFederationMembersKicker;
            this.network       = network;
            this.pollExecutor  = pollExecutor;
            this.votingManager = votingManager;
            this.whitelistedHashesRepository = whitelistedHashesRepository;

            this.logger = loggerFactory.CreateLogger(this.GetType().FullName);
        }