public PoAMiner(
            IConsensusManager consensusManager,
            IDateTimeProvider dateTimeProvider,
            Network network,
            INodeLifetime nodeLifetime,
            ILoggerFactory loggerFactory,
            IInitialBlockDownloadState ibdState,
            BlockDefinition blockDefinition,
            SlotsManager slotsManager,
            IConnectionManager connectionManager,
            PoABlockHeaderValidator poaHeaderValidator,
            FederationManager federationManager,
            IIntegrityValidator integrityValidator,
            IWalletManager walletManager,
            INodeStats nodeStats)
        {
            this.consensusManager   = consensusManager;
            this.dateTimeProvider   = dateTimeProvider;
            this.network            = network as PoANetwork;
            this.ibdState           = ibdState;
            this.blockDefinition    = blockDefinition;
            this.slotsManager       = slotsManager;
            this.connectionManager  = connectionManager;
            this.poaHeaderValidator = poaHeaderValidator;
            this.federationManager  = federationManager;
            this.integrityValidator = integrityValidator;
            this.walletManager      = walletManager;

            this.logger       = loggerFactory.CreateLogger(this.GetType().FullName);
            this.cancellation = CancellationTokenSource.CreateLinkedTokenSource(new[] { nodeLifetime.ApplicationStopping });

            nodeStats.RegisterStats(this.AddComponentStats, StatsType.Component);
        }
Beispiel #2
0
        public FederationManager(NodeSettings nodeSettings, Network network, ILoggerFactory loggerFactory)
        {
            this.settings = Guard.NotNull(nodeSettings, nameof(nodeSettings));
            this.network  = Guard.NotNull(network as PoANetwork, nameof(network));

            this.logger = loggerFactory.CreateLogger(this.GetType().FullName);
        }
Beispiel #3
0
        public FederationManager(NodeSettings nodeSettings, Network network, PoAMiner miner, ILoggerFactory loggerFactory)
        {
            this.settings = nodeSettings;
            this.network  = network as PoANetwork;
            this.miner    = miner;

            this.logger = loggerFactory.CreateLogger(this.GetType().FullName);
        }
Beispiel #4
0
        public FederationManager(NodeSettings nodeSettings, Network network, ILoggerFactory loggerFactory, IKeyValueRepository keyValueRepo)
        {
            this.settings     = Guard.NotNull(nodeSettings, nameof(nodeSettings));
            this.network      = Guard.NotNull(network as PoANetwork, nameof(network));
            this.keyValueRepo = Guard.NotNull(keyValueRepo, nameof(keyValueRepo));

            this.logger = loggerFactory.CreateLogger(this.GetType().FullName);
            this.locker = new object();
        }
Beispiel #5
0
        public FederationManager(NodeSettings nodeSettings, Network network, ILoggerFactory loggerFactory, IKeyValueRepository keyValueRepo, ISignals signals)
        {
            this.settings     = Guard.NotNull(nodeSettings, nameof(nodeSettings));
            this.network      = Guard.NotNull(network as PoANetwork, nameof(network));
            this.keyValueRepo = Guard.NotNull(keyValueRepo, nameof(keyValueRepo));
            this.signals      = Guard.NotNull(signals, nameof(signals));

            this.logger = loggerFactory.CreateLogger("Impleum.Bitcoin.FullNode");
            this.locker = new object();
        }
        public PoAMiner(
            IConsensusManager consensusManager,
            IDateTimeProvider dateTimeProvider,
            Network network,
            INodeLifetime nodeLifetime,
            ILoggerFactory loggerFactory,
            IInitialBlockDownloadState ibdState,
            BlockDefinition blockDefinition,
            ISlotsManager slotsManager,
            IConnectionManager connectionManager,
            PoABlockHeaderValidator poaHeaderValidator,
            IFederationManager federationManager,
            IFederationHistory federationHistory,
            IIntegrityValidator integrityValidator,
            IWalletManager walletManager,
            INodeStats nodeStats,
            VotingManager votingManager,
            PoASettings poAMinerSettings,
            IAsyncProvider asyncProvider,
            IIdleFederationMembersKicker idleFederationMembersKicker,
            NodeSettings nodeSettings)
        {
            this.consensusManager            = consensusManager;
            this.dateTimeProvider            = dateTimeProvider;
            this.network                     = network as PoANetwork;
            this.ibdState                    = ibdState;
            this.blockDefinition             = blockDefinition;
            this.slotsManager                = slotsManager;
            this.connectionManager           = connectionManager;
            this.poaHeaderValidator          = poaHeaderValidator;
            this.federationManager           = federationManager;
            this.federationHistory           = federationHistory;
            this.integrityValidator          = integrityValidator;
            this.walletManager               = walletManager;
            this.votingManager               = votingManager;
            this.poaSettings                 = poAMinerSettings;
            this.asyncProvider               = asyncProvider;
            this.idleFederationMembersKicker = idleFederationMembersKicker;
            this.nodeLifetime                = nodeLifetime;

            this.logger            = loggerFactory.CreateLogger(this.GetType().FullName);
            this.cancellation      = CancellationTokenSource.CreateLinkedTokenSource(new[] { nodeLifetime.ApplicationStopping });
            this.votingDataEncoder = new VotingDataEncoder();
            this.nodeSettings      = nodeSettings;

            this.miningStatistics = new MiningStatisticsModel();

            nodeStats.RegisterStats(this.AddComponentStats, StatsType.Component, this.GetType().Name);
        }
        public FederationManager(
            IFullNode fullNode,
            Network network,
            NodeSettings nodeSettings,
            ISignals signals,
            ICounterChainSettings counterChainSettings = null)
        {
            this.counterChainSettings = counterChainSettings;
            this.fullNode             = fullNode;
            this.network      = Guard.NotNull(network as PoANetwork, nameof(network));
            this.nodeSettings = Guard.NotNull(nodeSettings, nameof(nodeSettings));
            this.signals      = Guard.NotNull(signals, nameof(signals));

            this.logger = LogManager.GetCurrentClassLogger();
            this.locker = new object();
        }
        public FederationManager(
            ICounterChainSettings counterChainSettings,
            IFullNode fullNode,
            Network network,
            NodeSettings nodeSettings,
            ILoggerFactory loggerFactory,
            ISignals signals)
        {
            this.counterChainSettings = counterChainSettings;
            this.fullNode             = fullNode;
            this.network      = Guard.NotNull(network as PoANetwork, nameof(network));
            this.nodeSettings = Guard.NotNull(nodeSettings, nameof(nodeSettings));
            this.signals      = Guard.NotNull(signals, nameof(signals));

            this.logger = loggerFactory.CreateLogger(this.GetType().FullName);
            this.locker = new object();
        }
        public PoAMiner(
            IConsensusManager consensusManager,
            IDateTimeProvider dateTimeProvider,
            Network network,
            INodeLifetime nodeLifetime,
            ILoggerFactory loggerFactory,
            IInitialBlockDownloadState ibdState,
            BlockDefinition blockDefinition,
            ISlotsManager slotsManager,
            IConnectionManager connectionManager,
            PoABlockHeaderValidator poaHeaderValidator,
            IFederationManager federationManager,
            IIntegrityValidator integrityValidator,
            IWalletManager walletManager,
            INodeStats nodeStats,
            VotingManager votingManager,
            PoAMinerSettings poAMinerSettings,
            IAsyncProvider asyncProvider)
        {
            this.consensusManager   = consensusManager;
            this.dateTimeProvider   = dateTimeProvider;
            this.network            = network as PoANetwork;
            this.ibdState           = ibdState;
            this.blockDefinition    = blockDefinition;
            this.slotsManager       = slotsManager;
            this.connectionManager  = connectionManager;
            this.poaHeaderValidator = poaHeaderValidator;
            this.federationManager  = federationManager;
            this.integrityValidator = integrityValidator;
            this.walletManager      = walletManager;
            this.votingManager      = votingManager;
            this.settings           = poAMinerSettings;
            this.asyncProvider      = asyncProvider;

            this.logger            = loggerFactory.CreateLogger("Impleum.Bitcoin.Fullnode");
            this.cancellation      = CancellationTokenSource.CreateLinkedTokenSource(new[] { nodeLifetime.ApplicationStopping });
            this.votingDataEncoder = new VotingDataEncoder(loggerFactory);

            nodeStats.RegisterStats(this.AddComponentStats, StatsType.Component);
        }
 public static decimal GetCollateralAmountForPubKey(PoANetwork network, PubKey pubKey)
 {
     return(network.StraxMiningMultisigMembers.Any(m => m == pubKey) ? MultisigMinerCollateralAmount : MinerCollateralAmount);
 }