Beispiel #1
0
        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(this.GetType().FullName);
            this.cancellation      = CancellationTokenSource.CreateLinkedTokenSource(new[] { nodeLifetime.ApplicationStopping });
            this.votingDataEncoder = new VotingDataEncoder(loggerFactory);

            nodeStats.RegisterStats(this.AddComponentStats, StatsType.Component);
        }
        public PoAFeature(IFederationManager federationManager, PayloadProvider payloadProvider, IConnectionManager connectionManager, ChainIndexer chainIndexer,
                          IInitialBlockDownloadState initialBlockDownloadState, IConsensusManager consensusManager, IPeerBanning peerBanning, ILoggerFactory loggerFactory,
                          IPoAMiner miner, VotingManager votingManager, Network network, IWhitelistedHashesRepository whitelistedHashesRepository,
                          IdleFederationMembersKicker idleFederationMembersKicker, IChainState chainState, IBlockStoreQueue blockStoreQueue)
        {
            this.federationManager         = federationManager;
            this.connectionManager         = connectionManager;
            this.chainIndexer              = chainIndexer;
            this.initialBlockDownloadState = initialBlockDownloadState;
            this.consensusManager          = consensusManager;
            this.peerBanning   = peerBanning;
            this.loggerFactory = loggerFactory;
            this.miner         = miner;
            this.votingManager = votingManager;
            this.whitelistedHashesRepository = whitelistedHashesRepository;
            this.network = network;
            this.idleFederationMembersKicker = idleFederationMembersKicker;
            this.chainState      = chainState;
            this.blockStoreQueue = blockStoreQueue;

            payloadProvider.DiscoverPayloads(this.GetType().Assembly);
        }
Beispiel #3
0
        public ConversionRequestFeeService(
            IDateTimeProvider dateTimeProvider,
            IExternalApiPoller externalApiPoller,
            IFederationManager federationManager,
            IFederatedPegSettings federatedPegSettings,
            IFederatedPegBroadcaster federatedPegBroadcaster,
            IConversionRequestFeeKeyValueStore interopRequestKeyValueStore,
            INodeLifetime nodeLifetime,
            INodeStats nodeStats)
        {
            this.dateTimeProvider            = dateTimeProvider;
            this.externalApiPoller           = externalApiPoller;
            this.federationManager           = federationManager;
            this.federatedPegBroadcaster     = federatedPegBroadcaster;
            this.federatedPegSettings        = federatedPegSettings;
            this.interopRequestKeyValueStore = interopRequestKeyValueStore;
            this.nodeLifetime = nodeLifetime;

            this.logger = LogManager.GetCurrentClassLogger();

            nodeStats.RegisterStats(this.AddComponentStats, StatsType.Component, this.GetType().Name, 251);
        }
 public FederationGatewayController(
     IAsyncProvider asyncProvider,
     ChainIndexer chainIndexer,
     IConnectionManager connectionManager,
     ICrossChainTransferStore crossChainTransferStore,
     IMaturedBlocksProvider maturedBlocksProvider,
     Network network,
     IFederatedPegSettings federatedPegSettings,
     IFederationWalletManager federationWalletManager,
     IFullNode fullNode,
     IFederationManager federationManager = null)
 {
     this.asyncProvider           = asyncProvider;
     this.chainIndexer            = chainIndexer;
     this.connectionManager       = connectionManager;
     this.crossChainTransferStore = crossChainTransferStore;
     this.federatedPegSettings    = federatedPegSettings;
     this.federationWalletManager = federationWalletManager;
     this.federationManager       = federationManager;
     this.fullNode = fullNode;
     this.logger   = LogManager.GetCurrentClassLogger();
     this.maturedBlocksProvider = maturedBlocksProvider;
     this.network = network;
 }
Beispiel #5
0
 public FederationHistory(IFederationManager federationManager, VotingManager votingManager = null)
 {
     this.federationManager = federationManager;
     this.votingManager     = votingManager;
     this.minersByBlockHash = new Dictionary <uint256, IFederationMember>();
 }
        public CollateralChecker(IHttpClientFactory httpClientFactory, ICounterChainSettings settings, IFederationManager federationManager,
                                 ISignals signals, Network network, IAsyncProvider asyncProvider, INodeLifetime nodeLifetime)
        {
            this.federationManager = federationManager;
            this.signals           = signals;
            this.asyncProvider     = asyncProvider;

            this.maxReorgLength        = AddressIndexer.GetMaxReorgOrFallbackMaxReorg(network);
            this.cancellationSource    = CancellationTokenSource.CreateLinkedTokenSource(nodeLifetime.ApplicationStopping);
            this.locker                = new object();
            this.balancesDataByAddress = new Dictionary <string, AddressIndexerData>();
            this.logger                = LogManager.GetCurrentClassLogger();
            this.blockStoreClient      = new BlockStoreClient(httpClientFactory, $"http://{settings.CounterChainApiHost}", settings.CounterChainApiPort);
        }
 public JoinFederationRequestService(ICounterChainSettings counterChainSettings, IFederationManager federationManager, IFullNode fullNode, IHttpClientFactory httpClientFactory, Network network, NodeSettings nodeSettings, VotingManager votingManager)
 {
     this.counterChainSettings = counterChainSettings;
     this.federationManager    = federationManager;
     this.fullNode             = fullNode;
     this.httpClientFactory    = httpClientFactory;
     this.logger        = LogManager.GetCurrentClassLogger();
     this.network       = network as PoANetwork;
     this.nodeSettings  = nodeSettings;
     this.votingManager = votingManager;
 }
        public InteropPoller(NodeSettings nodeSettings, InteropSettings interopSettings, IAsyncProvider asyncProvider, INodeLifetime nodeLifetime,
                             ChainIndexer chainIndexer, IInitialBlockDownloadState initialBlockDownloadState, IFederationManager federationManager, IFederationHistory federationHistory,
                             IFederatedPegBroadcaster federatedPegBroadcaster, IConversionRequestRepository conversionRequestRepository, IInteropTransactionManager interopTransactionManager,
                             CounterChainNetworkWrapper counterChainNetworkWrapper, IETHCompatibleClientProvider clientProvider)
        {
            this.interopSettings             = interopSettings;
            this.clientProvider              = clientProvider;
            this.network                     = nodeSettings.Network;
            this.asyncProvider               = asyncProvider;
            this.nodeLifetime                = nodeLifetime;
            this.chainIndexer                = chainIndexer;
            this.initialBlockDownloadState   = initialBlockDownloadState;
            this.federationManager           = federationManager;
            this.federationHistory           = federationHistory;
            this.federatedPegBroadcaster     = federatedPegBroadcaster;
            this.conversionRequestRepository = conversionRequestRepository;
            this.interopTransactionManager   = interopTransactionManager;
            this.counterChainNetwork         = counterChainNetworkWrapper.CounterChainNetwork;
            this.logger = nodeSettings.LoggerFactory.CreateLogger(this.GetType().FullName);

            this.eventFilterCreationRequired = new Dictionary <DestinationChain, bool>()
            {
                { DestinationChain.ETH, true }
            };
        }
Beispiel #9
0
 public JoinFederationRequestMonitor(VotingManager votingManager, Network network, CounterChainNetworkWrapper counterChainNetworkWrapper, IFederationManager federationManager, ISignals signals)
 {
     this.signals             = signals;
     this.logger              = LogManager.GetCurrentClassLogger();
     this.votingManager       = votingManager;
     this.network             = network;
     this.counterChainNetwork = counterChainNetworkWrapper.CounterChainNetwork;
     this.federationManager   = federationManager;
     this.pollsCheckedWithJoinFederationRequestMonitor = new HashSet <uint256>();
 }
 public VotingController(IFederationManager fedManager, ILoggerFactory loggerFactory, VotingManager votingManager, IWhitelistedHashesRepository whitelistedHashesRepository, Network network)
     : base(fedManager, loggerFactory, votingManager, whitelistedHashesRepository, network)
 {
 }
 public VotingRequestFullValidationRule(IInitialBlockDownloadState ibdState, Network network, CounterChainNetworkWrapper counterChainNetwork, IFederationManager federationManager, VotingManager votingManager) : base()
 {
     this.ibdState            = ibdState;
     this.network             = network;
     this.counterChainNetwork = counterChainNetwork.CounterChainNetwork;
     this.encoder             = new JoinFederationRequestEncoder();
     this.federationManager   = federationManager;
     this.votingManager       = votingManager;
 }
Beispiel #12
0
 public JoinFederationRequestService(ICounterChainSettings counterChainSettings, IFederationManager federationManager, IFullNode fullNode, IInitialBlockDownloadState initialBlockDownloadState, IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, Network network, NodeSettings nodeSettings, VotingManager votingManager)
 {
     this.counterChainSettings      = counterChainSettings;
     this.federationManager         = federationManager;
     this.fullNode                  = fullNode;
     this.initialBlockDownloadState = initialBlockDownloadState;
     this.httpClientFactory         = httpClientFactory;
     this.loggerFactory             = loggerFactory;
     this.network       = network as PoANetwork;
     this.nodeSettings  = nodeSettings;
     this.votingManager = votingManager;
 }