public TransactionsRegistryHandler(IStatesRepository statesRepository, IServerCommunicationServicesRegistry communicationServicesRegistry, IRawPacketProvidersFactory rawPacketProvidersFactory, IRegistryMemPool registryMemPool, IConfigurationService configurationService, IHashCalculationsRepository hashCalculationRepository, ISerializersFactory signatureSupportSerializersFactory, ILoggerService loggerService) { _registrationBlocks = new BlockingCollection <ITransactionRegistryBlock>(); _registryGroupState = statesRepository.GetInstance <IRegistryGroupState>(); _synchronizationContext = statesRepository.GetInstance <ISynchronizationContext>(); _nodeContext = statesRepository.GetInstance <INodeContext>(); _communicationServicesRegistry = communicationServicesRegistry; _rawPacketProvidersFactory = rawPacketProvidersFactory; _registryMemPool = registryMemPool; _configurationService = configurationService; _signatureSupportSerializersFactory = signatureSupportSerializersFactory; _defaulHashCalculation = hashCalculationRepository.Create(Globals.DEFAULT_HASH); _powCalculation = hashCalculationRepository.Create(Globals.POW_TYPE); _logger = loggerService.GetLogger(nameof(TransactionsRegistryHandler)); TransformBlock <RegistryShortBlock, RegistryConfidenceBlock> produceConfidenceBlock = new TransformBlock <RegistryShortBlock, RegistryConfidenceBlock>((Func <RegistryShortBlock, RegistryConfidenceBlock>)GetConfidence); ActionBlock <RegistryConfidenceBlock> sendConfidenceBlock = new ActionBlock <RegistryConfidenceBlock>((Action <RegistryConfidenceBlock>)SendConfidence); produceConfidenceBlock.LinkTo(sendConfidenceBlock); _transactionsRegistryConfidenceFlow = produceConfidenceBlock; ActionBlock <RegistryConfirmationBlock> confirmationProcessingBlock = new ActionBlock <RegistryConfirmationBlock>((Action <RegistryConfirmationBlock>)ProcessConfirmationBlock); _confirmationBlockFlow = confirmationProcessingBlock; }
public TransactionsRegistryService(IStatesRepository statesRepository, IPredicatesRepository predicatesRepository, IRegistryMemPool registryMemPool, IIdentityKeyProvidersRegistry identityKeyProvidersRegistry, ICryptoService cryptoService, IConfigurationService configurationService, IServerCommunicationServicesRegistry serverCommunicationServicesRegistry, IPerformanceCountersRepository performanceCountersRepository, ISerializersFactory signatureSupportSerializersFactory, ITransactionsRegistryHelper transactionsRegistryHelper, IHashCalculationsRepository hashCalculationsRepository, ILoggerService loggerService) { _synchronizationContext = statesRepository.GetInstance <ISynchronizationContext>(); _registryGroupState = statesRepository.GetInstance <IRegistryGroupState>(); _isBlockProducerPredicate = predicatesRepository.GetInstance("IsBlockProducer"); _transactionHashKey = identityKeyProvidersRegistry.GetTransactionsIdenityKeyProvider(); _cryptoService = cryptoService; _configurationService = configurationService; _serverCommunicationServicesRegistry = serverCommunicationServicesRegistry; _signatureSupportSerializersFactory = signatureSupportSerializersFactory; _transactionsRegistryHelper = transactionsRegistryHelper; _powCalculation = hashCalculationsRepository.Create(Globals.POW_TYPE); _hashCalculation = hashCalculationsRepository.Create(Globals.DEFAULT_HASH); _logger = loggerService.GetLogger(nameof(TransactionsRegistryService)); TransformBlock <IRegistryMemPool, SortedList <ushort, ITransactionRegistryBlock> > deduplicateAndOrderTransactionRegisterBlocksBlock = new TransformBlock <IRegistryMemPool, SortedList <ushort, ITransactionRegistryBlock> >((Func <IRegistryMemPool, SortedList <ushort, ITransactionRegistryBlock> >)DeduplicateAndOrderTransactionRegisterBlocks); TransformBlock <SortedList <ushort, ITransactionRegistryBlock>, RegistryFullBlock> produceTransactionsFullBlock = new TransformBlock <SortedList <ushort, ITransactionRegistryBlock>, RegistryFullBlock>((Func <SortedList <ushort, ITransactionRegistryBlock>, RegistryFullBlock>)ProduceTransactionsFullBlock); ActionBlock <Tuple <RegistryFullBlock, RegistryShortBlock> > sendTransactionsBlocks = new ActionBlock <Tuple <RegistryFullBlock, RegistryShortBlock> >((Action <Tuple <RegistryFullBlock, RegistryShortBlock> >)SendTransactionsBlocks); TransformBlock <RegistryFullBlock, Tuple <RegistryFullBlock, RegistryShortBlock> > produceTransactionsShortBlock = new TransformBlock <RegistryFullBlock, Tuple <RegistryFullBlock, RegistryShortBlock> >((Func <RegistryFullBlock, Tuple <RegistryFullBlock, RegistryShortBlock> >)ProduceTransactionsShortBlock); deduplicateAndOrderTransactionRegisterBlocksBlock.LinkTo(produceTransactionsFullBlock); produceTransactionsFullBlock.LinkTo(produceTransactionsShortBlock); produceTransactionsShortBlock.LinkTo(sendTransactionsBlocks); _transactionsRegistryProducingFlow = deduplicateAndOrderTransactionRegisterBlocksBlock; _registryMemPool = registryMemPool; _nodeCountersService = performanceCountersRepository.GetInstance <NodeCountersService>(); }
public SynchronizationReceivingHandler(IStatesRepository statesRepository, IServerCommunicationServicesRegistry communicationServicesRegistry, IRawPacketProvidersFactory rawPacketProvidersFactory, IChainDataServicesManager chainDataServicesManager, IHashCalculationsRepository hashCalculationsRepository) { _synchronizationContext = statesRepository.GetInstance <ISynchronizationContext>(); _neighborhoodState = statesRepository.GetInstance <INeighborhoodState>(); _synchronizationBlocks = new BlockingCollection <SynchronizationConfirmedBlock>(); _communicationServicesRegistry = communicationServicesRegistry; _rawPacketProvidersFactory = rawPacketProvidersFactory; _chainDataService = chainDataServicesManager.GetChainDataService(PacketType.Synchronization); _hashCalculation = hashCalculationsRepository.Create(Globals.DEFAULT_HASH); }
//private read-only IBlocksProcessor _blocksProcessor public NodeMain(IServerCommunicationServicesRepository communicationServicesFactory, IServerCommunicationServicesRegistry communicationServicesRegistry, IConfigurationService configurationService, IModulesRepository modulesRepository, IPacketsHandler packetsHandler, IBlocksHandlersRegistry blocksProcessorFactory, ILoggerService loggerService, ISigningServicesRepository signingServicesRepository, IStatesRepository statesRepository) { _log = loggerService.GetLogger(GetType().Name); _communicationServicesFactory = communicationServicesFactory; _communicationServicesRegistry = communicationServicesRegistry; _configurationService = configurationService; _modulesRepository = modulesRepository; _packetsHandler = packetsHandler; _signingServicesRepository = signingServicesRepository; _nodeContext = statesRepository.GetInstance <INodeContext>(); _cancellationTokenSource = new CancellationTokenSource(); }
public SynchronizationProducer(ISerializersFactory signatureSupportSerializersFactory, IStatesRepository statesRepository, IServerCommunicationServicesRegistry communicationServicesRegistry, IConfigurationService configurationService, IHashCalculationsRepository hashCalculationsRepository) { _signatureSupportSerializersFactory = signatureSupportSerializersFactory; _nodeContext = statesRepository.GetInstance <INodeContext>(); _synchronizationContext = statesRepository.GetInstance <ISynchronizationContext>(); _synchronizationGroupState = statesRepository.GetInstance <ISynchronizationGroupState>(); _communicationServicesRegistry = communicationServicesRegistry; _configurationService = configurationService; _proofOfWorkCalculation = hashCalculationsRepository.Create(Globals.POW_TYPE); }
public SynchronizationBlocksHandler(IStatesRepository statesRepository, ISynchronizationProducer synchronizationProducer, ISerializersFactory serializersFactory, IIdentityKeyProvidersRegistry identityKeyProvidersRegistry, INodesRatingProviderFactory nodesRatingProvidersFactory, IServerCommunicationServicesRegistry communicationServicesRegistry, ISyncRegistryMemPool syncRegistryMemPool) { _synchronizationContext = statesRepository.GetInstance <ISynchronizationContext>(); _synchronizationProducer = synchronizationProducer; _nodeContext = statesRepository.GetInstance <INodeContext>(); _neighborhoodState = statesRepository.GetInstance <INeighborhoodState>(); _serializersFactory = serializersFactory; _communicationServicesRegistry = communicationServicesRegistry; _syncRegistryMemPool = syncRegistryMemPool; _identityKeyProvider = identityKeyProvidersRegistry.GetInstance(); _synchronizationBlocks = new BlockingCollection <SynchronizationBlockBase>(); _retransmittedBlocks = new BlockingCollection <SynchronizationBlockRetransmissionV1>(); _synchronizationBlocksByHeight = new Dictionary <ulong, Dictionary <IKey, List <SynchronizationBlockRetransmissionV1> > >(); _nodesRatingProvider = nodesRatingProvidersFactory.GetInstance(PacketType.Transactional); }
public TransactionsRegistryHandler(IStatesRepository statesRepository, IServerCommunicationServicesRegistry communicationServicesRegistry, IRawPacketProvidersFactory rawPacketProvidersFactory, IRegistryMemPool registryMemPool, IConfigurationService configurationService, IHashCalculationsRepository hashCalculationRepository, ILoggerService loggerService) { _registryStateBlocks = new BlockingCollection <RegistryRegisterBlock>(); _registryUtxoBlocks = new BlockingCollection <RegistryRegisterUtxoConfidential>(); _registryGroupState = statesRepository.GetInstance <IRegistryGroupState>(); _synchronizationContext = statesRepository.GetInstance <ISynchronizationContext>(); _nodeContext = statesRepository.GetInstance <INodeContext>(); _communicationServicesRegistry = communicationServicesRegistry; _rawPacketProvidersFactory = rawPacketProvidersFactory; _registryMemPool = registryMemPool; _configurationService = configurationService; _defaulHashCalculation = hashCalculationRepository.Create(Globals.DEFAULT_HASH); _powCalculation = hashCalculationRepository.Create(Globals.POW_TYPE); _logger = loggerService.GetLogger(nameof(TransactionsRegistryHandler)); _processWitnessedFlow = new ActionBlock <RegistryShortBlock>((Action <RegistryShortBlock>)ProcessWitnessed); }
public TransactionsRegistryService(IStatesRepository statesRepository, IPredicatesRepository predicatesRepository, IRegistryMemPool registryMemPool, IIdentityKeyProvidersRegistry identityKeyProvidersRegistry, IConfigurationService configurationService, IServerCommunicationServicesRegistry serverCommunicationServicesRegistry, IPerformanceCountersRepository performanceCountersRepository, ISerializersFactory serializersFactory, IHashCalculationsRepository hashCalculationsRepository, ILoggerService loggerService) { _configurationService = configurationService; _synchronizationContext = statesRepository.GetInstance <ISynchronizationContext>(); _registryGroupState = statesRepository.GetInstance <IRegistryGroupState>(); _nodeContext = statesRepository.GetInstance <INodeContext>(); _isBlockProducerPredicate = predicatesRepository.GetInstance("IsBlockProducer"); _transactionHashKey = identityKeyProvidersRegistry.GetTransactionsIdenityKeyProvider(); _serverCommunicationServicesRegistry = serverCommunicationServicesRegistry; _serializersFactory = serializersFactory; _powCalculation = hashCalculationsRepository.Create(Globals.POW_TYPE); _hashCalculation = hashCalculationsRepository.Create(Globals.DEFAULT_HASH); _logger = loggerService.GetLogger(nameof(TransactionsRegistryService)); _registryMemPool = registryMemPool; _nodeCountersService = performanceCountersRepository.GetInstance <NodeCountersService>(); }
public TransactionsRegistrySyncHandler(IStatesRepository statesRepository, ISyncShardsManager syncShardsManager, IIdentityKeyProvidersRegistry identityKeyProvidersRegistry, ICryptoService cryptoService, ISerializersFactory signatureSupportSerializersFactory, IHashCalculationsRepository hashCalculationsRepository, IServerCommunicationServicesRegistry communicationServicesRegistry, ISyncRegistryMemPool syncRegistryMemPool, INodesResolutionService nodesResolutionService, IChainDataServicesManager chainDataServicesManager, IRawPacketProvidersFactory rawPacketProvidersFactory, ILoggerService loggerService) { _registryBlocks = new BlockingCollection <RegistryBlockBase>(); _synchronizationContext = statesRepository.GetInstance <ISynchronizationContext>(); _syncRegistryNeighborhoodState = statesRepository.GetInstance <ISyncRegistryNeighborhoodState>(); _syncContextChangedUnsibsciber = _synchronizationContext.SubscribeOnStateChange(new ActionBlock <string>((Action <string>)SynchronizationStateChanged)); _syncShardsManager = syncShardsManager; _transactionHashKey = identityKeyProvidersRegistry.GetTransactionsIdenityKeyProvider(); _cryptoService = cryptoService; _signatureSupportSerializersFactory = signatureSupportSerializersFactory; _defaultTransactionHashCalculation = hashCalculationsRepository.Create(Globals.DEFAULT_HASH); _powCalculation = hashCalculationsRepository.Create(Globals.POW_TYPE); _communicationServicesRegistry = communicationServicesRegistry; _syncRegistryMemPool = syncRegistryMemPool; _nodesResolutionService = nodesResolutionService; _rawPacketProvidersFactory = rawPacketProvidersFactory; _synchronizationChainDataService = chainDataServicesManager.GetChainDataService(PacketType.Synchronization); _registryChainDataService = chainDataServicesManager.GetChainDataService(PacketType.Registry); _logger = loggerService.GetLogger(nameof(TransactionsRegistrySyncHandler)); }
public UtxoConfidentialStorageHandler(IStatesRepository statesRepository, IServerCommunicationServicesRegistry communicationServicesRegistry, IRawPacketProvidersFactory rawPacketProvidersFactory, IRegistryMemPool registryMemPool, IConfigurationService configurationService, IHashCalculationsRepository hashCalculationRepository, IChainDataServicesManager chainDataServicesManager) : base(statesRepository, communicationServicesRegistry, rawPacketProvidersFactory, registryMemPool, configurationService, hashCalculationRepository, chainDataServicesManager) { }
public StorageHandlerBase(IStatesRepository statesRepository, IServerCommunicationServicesRegistry communicationServicesRegistry, IRawPacketProvidersFactory rawPacketProvidersFactory, IRegistryMemPool registryMemPool, IConfigurationService configurationService, IHashCalculationsRepository hashCalculationRepository, IChainDataServicesManager chainDataServicesManager) { _nodeContext = statesRepository.GetInstance <INodeContext>(); _communicationServicesRegistry = communicationServicesRegistry; _chainDataServicesManager = chainDataServicesManager; }