public PollResultExecutor(IFederationManager federationManager, ILoggerFactory loggerFactory, IWhitelistedHashesRepository whitelistedHashesRepository, Network network) { this.federationManager = federationManager; this.whitelistedHashesRepository = whitelistedHashesRepository; this.consensusFactory = network.Consensus.ConsensusFactory as PoAConsensusFactory; this.logger = loggerFactory.CreateLogger(this.GetType().FullName); }
public PollResultExecutor(IFederationManager federationManager, ILoggerFactory loggerFactory, IWhitelistedHashesRepository whitelistedHashesRepository, Network network) { this.federationManager = federationManager; this.whitelistedHashesRepository = whitelistedHashesRepository; this.consensusFactory = network.Consensus.ConsensusFactory as PoAConsensusFactory; this.logger = loggerFactory.CreateLogger("Impleum.Bitcoin.Fullnode"); }
public IdleFederationMembersKicker(Network network, IKeyValueRepository keyValueRepository, IConsensusManager consensusManager, IAsyncProvider asyncProvider, IFederationManager federationManager, VotingManager votingManager, IFederationHistory federationHistory, ILoggerFactory loggerFactory) { this.network = network; this.votingManager = votingManager; this.federationHistory = federationHistory; this.consensusFactory = this.network.Consensus.ConsensusFactory as PoAConsensusFactory; this.logger = loggerFactory.CreateLogger(this.GetType().FullName); this.federationMemberMaxIdleTimeSeconds = ((PoAConsensusOptions)network.Consensus.Options).FederationMemberMaxIdleTimeSeconds; this.lockObject = new object(); }
public IdleFederationMembersKicker(ISignals signals, Network network, IKeyValueRepository keyValueRepository, IConsensusManager consensusManager, IFederationManager federationManager, VotingManager votingManager, IFederationHistory federationHistory, ILoggerFactory loggerFactory) { this.signals = signals; this.network = network; this.keyValueRepository = keyValueRepository; this.consensusManager = consensusManager; this.federationManager = federationManager; this.votingManager = votingManager; this.federationHistory = federationHistory; this.consensusFactory = this.network.Consensus.ConsensusFactory as PoAConsensusFactory; this.logger = loggerFactory.CreateLogger(this.GetType().FullName); this.federationMemberMaxIdleTimeSeconds = ((PoAConsensusOptions)network.Consensus.Options).FederationMemberMaxIdleTimeSeconds; }
/// <inheritdoc /> public override void Initialize() { base.Initialize(); var engine = this.Parent as PoAConsensusRuleEngine; this.slotsManager = engine.SlotsManager; this.validator = engine.PoaHeaderValidator; this.votingManager = engine.VotingManager; this.federationManager = engine.FederationManager; this.chainState = engine.ChainState; this.consensusFactory = (PoAConsensusFactory)this.Parent.Network.Consensus.ConsensusFactory; this.maxReorg = this.Parent.Network.Consensus.MaxReorgLength; this.votingEnabled = ((PoAConsensusOptions)this.Parent.Network.Consensus.Options).VotingEnabled; }
public IdleFederationMembersKicker(ISignals signals, Network network, IKeyValueRepository keyValueRepository, IConsensusManager consensusManager, IFederationManager federationManager, ISlotsManager slotsManager, VotingManager votingManager, ILoggerFactory loggerFactory, IDateTimeProvider timeProvider) { this.signals = signals; this.network = network; this.keyValueRepository = keyValueRepository; this.consensusManager = consensusManager; this.federationManager = federationManager; this.slotsManager = slotsManager; this.votingManager = votingManager; this.timeProvider = timeProvider; this.consensusFactory = this.network.Consensus.ConsensusFactory as PoAConsensusFactory; this.logger = loggerFactory.CreateLogger("Impleum.Bitcoin.Fullnode"); this.federationMemberMaxIdleTimeSeconds = ((PoAConsensusOptions)network.Consensus.Options).FederationMemberMaxIdleTimeSeconds; }
public void CanSerializeAndDeserialize() { var factory = new PoAConsensusFactory(); var headers = new List <PoABlockHeader>() { new PoABlockHeader() { Version = 1 }, new PoABlockHeader() { Version = 2 }, new PoABlockHeader() { Version = 3 } }; var payload = new PoAHeadersPayload(headers); // Serialize. var memoryStream = new MemoryStream(); var bitcoinSerializeStream = new BitcoinStream(memoryStream, true) { ConsensusFactory = factory }; payload.ReadWriteCore(bitcoinSerializeStream); // Deserialize. memoryStream.Seek(0, SeekOrigin.Begin); var bitcoinDeserializeStream = new BitcoinStream(memoryStream, false) { ConsensusFactory = factory }; var deserializedPayload = new PoAHeadersPayload(); deserializedPayload.ReadWriteCore(bitcoinDeserializeStream); Assert.Equal(payload.Headers.Count, deserializedPayload.Headers.Count); }