public PacketHandlingFlow(int iteration, ICoreVerifiersBulkFactory coreVerifiersBulkFactory, IPacketVerifiersRepository packetTypeHandlersFactory, IBlockParsersRepositoriesRepository blockParsersFactoriesRepository, IBlocksHandlersRegistry blocksProcessorFactory, IPerformanceCountersRepository performanceCountersRepository, ILoggerService loggerService) { _coreVerifiers = coreVerifiersBulkFactory.Create(); _log = loggerService.GetLogger($"{nameof(PacketHandlingFlow)}#{iteration}"); _blockParsersFactoriesRepository = blockParsersFactoriesRepository; _chainTypeValidationHandlersFactory = packetTypeHandlersFactory; _blocksHandlersRegistry = blocksProcessorFactory; _decodeBlock = new TransformBlock <byte[], byte[]>((Func <byte[], byte[]>)DecodeMessage, new ExecutionDataflowBlockOptions() { MaxDegreeOfParallelism = 1, BoundedCapacity = 1000000 }); _parseBlock = new TransformBlock <byte[], BlockBase>((Func <byte[], BlockBase>)ParseMessagePacket, new ExecutionDataflowBlockOptions() { MaxDegreeOfParallelism = 1, BoundedCapacity = 1000000 }); _processBlock = new ActionBlock <BlockBase>((Action <BlockBase>)DispatchBlock, new ExecutionDataflowBlockOptions() { MaxDegreeOfParallelism = 1, BoundedCapacity = 1000000 }); _endToEndCountersService = performanceCountersRepository.GetInstance <EndToEndCountersService>(); _decodeBlock.LinkTo(_parseBlock); _parseBlock.LinkTo(_processBlock); }
public TestBase() { _transactionHashKeyProvider = Substitute.For <IIdentityKeyProvider>(); _identityKeyProvider = Substitute.For <IIdentityKeyProvider>(); _identityKeyProvidersRegistry = Substitute.For <IIdentityKeyProvidersRegistry>(); _hashCalculationRepository = Substitute.For <IHashCalculationsRepository>(); _blockParsersRepositoriesRepository = Substitute.For <IBlockParsersRepositoriesRepository>(); _blockParsersRepository = Substitute.For <IBlockParsersRepository>(); _cryptoService = Substitute.For <ICryptoService>(); _identityKeyProvidersRegistry.GetInstance().Returns(_identityKeyProvider); _identityKeyProvidersRegistry.GetTransactionsIdenityKeyProvider().Returns(_transactionHashKeyProvider); _identityKeyProvider.GetKey(null).ReturnsForAnyArgs(c => new Key32() { Value = c.Arg <Memory <byte> >() }); _transactionHashKeyProvider.GetKey(null).ReturnsForAnyArgs(c => new Key16() { Value = c.Arg <Memory <byte> >() }); _hashCalculationRepository.Create(HashType.MurMur).Returns(new MurMurHashCalculation()); _blockParsersRepositoriesRepository.GetBlockParsersRepository(PacketType.Registry).ReturnsForAnyArgs(_blockParsersRepository); _privateKey = CryptoHelper.GetRandomSeed(); Ed25519.KeyPairFromSeed(out _publicKey, out _expandedPrivateKey, _privateKey); _cryptoService.Sign(null).ReturnsForAnyArgs(c => Ed25519.Sign(c.Arg <byte[]>(), _expandedPrivateKey)); _cryptoService.PublicKey.Returns(new Key32() { Value = _publicKey }); ServiceLocator.Current.GetInstance <IUnityContainer>().RegisterInstance(_blockParsersRepositoriesRepository); }
public VoteViewModel(IDataAccessService dataAccessService, IStatesRepository statesRepository, IBlockParsersRepositoriesRepository blockParsersRepositoriesRepository, IWalletManager walletManager) { _dataAccessService = dataAccessService; _blockParsersRepositoriesRepository = blockParsersRepositoriesRepository; _walletManager = walletManager; _clientState = statesRepository.GetInstance <IClientState>(); }
public ResultsViewModel(IDataAccessService dataAccessService, IWalletManager walletManager, IBlockParsersRepositoriesRepository blockParsersRepositoriesRepository, IStatesRepository statesRepository) { _dataAccessService = dataAccessService; _walletManager = walletManager; _blockParsersRepositoriesRepository = blockParsersRepositoriesRepository; _clientState = statesRepository.GetInstance <IClientState>(); Utxos = new ObservableCollection <UtxoIncomingBlockDesc>(); }
public ServiceProviderUpdater(ulong accountId, IStateClientCryptoService clientCryptoService, IAssetsService assetsService, IDataAccessService dataAccessService, IIdentityAttributesService identityAttributesService, IBlockParsersRepositoriesRepository blockParsersRepositoriesRepository, IGatewayService gatewayService, IStateTransactionsService transactionsService, IHubContext <IdentitiesHub> idenitiesHubContext, IAppConfig appConfig, ILoggerService loggerService) { _accountId = accountId; _clientCryptoService = clientCryptoService; _assetsService = assetsService; _dataAccessService = dataAccessService; _identityAttributesService = identityAttributesService; _blockParsersRepositoriesRepository = blockParsersRepositoriesRepository; _gatewayService = gatewayService; _transactionsService = transactionsService; _idenitiesHubContext = idenitiesHubContext; _appConfig = appConfig; _logger = loggerService.GetLogger(nameof(ServiceProviderUpdater)); PipeIn = new ActionBlock <PacketBase>(p => { if (p is DocumentSignRecord documentSignRecord) { ProcessDocumentSignRecord(documentSignRecord); } if (p is DocumentRecord documentRecord) { ProcessDocumentRecord(documentRecord); } if (p is DocumentSignRequest documentSignRequest) { ProcessDocumentSignRequest(documentSignRequest); } if (p is EmployeeRegistrationRequest employeeRegistrationRequest) { ProcessEmployeeRegistrationRequest(employeeRegistrationRequest); } if (p is OnboardingRequest packet) { ProcessOnboarding(packet); } if (p is TransitionAuthenticationProofs transitionAuthentication) { ProcessAuthentication(transitionAuthentication); } if (p is TransitionCompromisedProofs compromisedProofs) { ProcessCompromisedProofs(compromisedProofs); } if (p is TransferAsset transferAsset) { ProcessTransferAsset(transferAsset); } }); }
public PollViewModel(IWalletManager walletManager, IStatesRepository statesRepository, IDataAccessService dataAccessService, IBlockParsersRepositoriesRepository blockParsersRepositoriesRepository) { InitPoll(); Polls = new ObservableCollection <IPoll>(); _walletManager = walletManager; _dataAccessService = dataAccessService; _blockParsersRepositoriesRepository = blockParsersRepositoriesRepository; _clientState = statesRepository.GetInstance <IClientState>(); ResultsViewModel = new ResultsViewModel(dataAccessService, walletManager, blockParsersRepositoriesRepository, statesRepository); }
public ExecutionContextManager(IHubContext <IdentitiesHub> identitiesHubContext, IAssetsService assetsService, IDataAccessService dataAccessService, IIdentityAttributesService identityAttributesService, IBlockParsersRepositoriesRepository blockParsersRepositoriesRepository, IAppConfig appConfig, IGatewayService gatewayService, ITrackingService trackingService, ILoggerService loggerService, IRelationsProofsValidationService relationsProofsValidationService) { _accountIdCancellationList = new Dictionary <ulong, ICollection <IDisposable> >(); _identitiesHubContext = identitiesHubContext; _assetsService = assetsService; _dataAccessService = dataAccessService; _identityAttributesService = identityAttributesService; _blockParsersRepositoriesRepository = blockParsersRepositoriesRepository; _appConfig = appConfig; _gatewayService = gatewayService; _trackingService = trackingService; _loggerService = loggerService; _relationsProofsValidationService = relationsProofsValidationService; }
public PacketsHandler(IPacketVerifiersRepository packetTypeHandlersFactory, IBlockParsersRepositoriesRepository blockParsersFactoriesRepository, IBlocksHandlersRegistry blocksProcessorFactory, ICoreVerifiersBulkFactory coreVerifiersBulkFactory, IPerformanceCountersRepository performanceCountersRepository, ILoggerService loggerService) { _log = loggerService.GetLogger(GetType().Name); _messagePackets = new BlockingCollection <byte[]>(); _endToEndCountersService = performanceCountersRepository.GetInstance <EndToEndCountersService>(); _maxDegreeOfParallelism = 4; _handlingFlows = new PacketHandlingFlow[_maxDegreeOfParallelism]; for (int i = 0; i < _maxDegreeOfParallelism; i++) { _handlingFlows[i] = new PacketHandlingFlow(i, coreVerifiersBulkFactory, packetTypeHandlersFactory, blockParsersFactoriesRepository, blocksProcessorFactory, performanceCountersRepository, loggerService); } }
public WalletManager(INetworkAdapter networkAdapter, IBlockCreator blockCreator, IDataAccessService dataAccessService, IHashCalculationsRepository hashCalculationsRepository, IIdentityKeyProvidersRegistry identityKeyProvidersRegistry, IStatesRepository statesRepository, ISerializersFactory signatureSupportSerializersFactory, IBlockParsersRepositoriesRepository blockParsersRepositoriesRepository) { _networkAdapter = networkAdapter; _blockCreator = blockCreator; _dataAccessService = dataAccessService; _signatureSupportSerializersFactory = signatureSupportSerializersFactory; _blockParsersRepositoriesRepository = blockParsersRepositoriesRepository; _heightsDictionary = new Dictionary <byte[], ulong>(); _hashCalculation = hashCalculationsRepository.Create(Globals.DEFAULT_HASH); _proofOfWorkCalculation = hashCalculationsRepository.Create(Globals.POW_TYPE); _identityKeyProvider = identityKeyProvidersRegistry.GetInstance(); _clientState = statesRepository.GetInstance <IClientState>(); }
public NetworkSynchronizer(IBlockCreator blockCreator, IClientCommunicationServiceRepository clientCommunicationServiceRepository, ICryptoService cryptoService, IDataAccessService dataAccessService, IHashCalculationsRepository hashCalculationsRepository, IConfigurationService configurationService, IBlockParsersRepositoriesRepository blockParsersRepositoriesRepository, IIdentityKeyProvidersRegistry identityKeyProvidersRegistry, INodesResolutionService nodesResolutionService, IStatesRepository statesRepository, ILoggerService loggerService) { _cryptoService = cryptoService; _dataAccessService = dataAccessService; _blockCreator = blockCreator; _communicationService = clientCommunicationServiceRepository.GetInstance("TcpClientCommunicationService"); _defaultHashCalculation = hashCalculationsRepository.Create(Globals.DEFAULT_HASH); _synchronizerConfiguration = configurationService.Get <ISynchronizerConfiguration>(); _communicationConfiguration = (CommunicationConfigurationBase)configurationService["generalTcpCommunication"]; _blockParsersRepositoriesRepository = blockParsersRepositoriesRepository; _nodesResolutionService = nodesResolutionService; _identityKeyProvider = identityKeyProvidersRegistry.GetInstance(); _clientState = statesRepository.GetInstance <IClientState>(); _logger = loggerService.GetLogger(nameof(NetworkSynchronizer)); }
public TestBase() { _transactionHashKeyProvider = Substitute.For <IIdentityKeyProvider>(); _identityKeyProvider = Substitute.For <IIdentityKeyProvider>(); _identityKeyProvidersRegistry = Substitute.For <IIdentityKeyProvidersRegistry>(); _hashCalculationRepository = Substitute.For <IHashCalculationsRepository>(); _blockParsersRepositoriesRepository = Substitute.For <IBlockParsersRepositoriesRepository>(); _blockParsersRepository = Substitute.For <IBlockParsersRepository>(); _signingService = Substitute.For <ISigningService>(); _identityKeyProvidersRegistry.GetInstance().Returns(_identityKeyProvider); _identityKeyProvidersRegistry.GetTransactionsIdenityKeyProvider().Returns(_transactionHashKeyProvider); _identityKeyProvider.GetKey(null).ReturnsForAnyArgs(c => new Key32() { Value = c.Arg <Memory <byte> >() }); _transactionHashKeyProvider.GetKey(null).ReturnsForAnyArgs(c => new Key16() { Value = c.Arg <Memory <byte> >() }); _hashCalculationRepository.Create(HashType.MurMur).Returns(new MurMurHashCalculation()); _blockParsersRepositoriesRepository.GetBlockParsersRepository(PacketType.Registry).ReturnsForAnyArgs(_blockParsersRepository); _privateKey = ConfidentialAssetsHelper.GetRandomSeed(); _privateViewKey = ConfidentialAssetsHelper.GetRandomSeed(); Ed25519.KeyPairFromSeed(out _publicKey, out _expandedPrivateKey, _privateKey); _signingService.WhenForAnyArgs(s => s.Sign(null, null)).Do(c => { ((SignedPacketBase)c.ArgAt <IPacket>(0)).Signer = new Key32(_publicKey); ((SignedPacketBase)c.ArgAt <IPacket>(0)).Signature = Ed25519.Sign(((SignedPacketBase)c.ArgAt <IPacket>(0)).BodyBytes.ToArray(), _expandedPrivateKey); }); _signingService.PublicKeys.Returns(new IKey[] { new Key32() { Value = _publicKey } }); _utxoSigningService = new UtxoSigningService(_identityKeyProvidersRegistry); _utxoSigningService.Initialize(_privateKey, _privateViewKey); ServiceLocator.Current.GetInstance <IUnityContainer>().RegisterInstance(_blockParsersRepositoriesRepository); }
public ExecutionContextManager(IServiceProvider serviceProvider, IHubContext <IdentitiesHub> identitiesHubContext, IAssetsService assetsService, IDataAccessService dataAccessService, IIdentityAttributesService identityAttributesService, IWitnessPackagesProviderRepository witnessPackagesProviderRepository, IBlockParsersRepositoriesRepository blockParsersRepositoriesRepository, IConfigurationService configurationService, IGatewayService gatewayService, ITrackingService trackingService, ILoggerService loggerService, ISpValidationsService spValidationsService, IRelationsProofsValidationService relationsProofsValidationService, ISchemeResolverService schemeResolverService, IUniversalProofsPool universalProofsPool, IExternalUpdatersRepository externalUpdatersRepository, IConsentManagementService consentManagementService) { _accountIdCancellationList = new Dictionary <long, ICollection <IDisposable> >(); _serviceProvider = serviceProvider; _identitiesHubContext = identitiesHubContext; _assetsService = assetsService; _dataAccessService = dataAccessService; _identityAttributesService = identityAttributesService; _witnessPackagesProviderRepository = witnessPackagesProviderRepository; _blockParsersRepositoriesRepository = blockParsersRepositoriesRepository; _gatewayService = gatewayService; _trackingService = trackingService; _loggerService = loggerService; _spValidationsService = spValidationsService; _logger = loggerService.GetLogger(nameof(ExecutionContextManager)); _relationsProofsValidationService = relationsProofsValidationService; _schemeResolverService = schemeResolverService; _universalProofsPool = universalProofsPool; _externalUpdatersRepository = externalUpdatersRepository; _consentManagementService = consentManagementService; _restApiConfiguration = configurationService.Get <IRestApiConfiguration>(); }
public UtxoConfidentialMapperBase(IBlockParsersRepositoriesRepository blockParsersFactoriesRepository) { _blockParsersRepository = blockParsersFactoriesRepository.GetBlockParsersRepository(PacketType.UtxoConfidential); }
public TransactionalMapperBase(IBlockParsersRepositoriesRepository blockParsersFactoriesRepository) { _blockParsersRepository = blockParsersFactoriesRepository.GetBlockParsersRepository(PacketType.Transactional); }
public ServiceProviderUpdater(long accountId, IStateClientCryptoService clientCryptoService, IAssetsService assetsService, ISchemeResolverService schemeResolverService, IDataAccessService dataAccessService, IIdentityAttributesService identityAttributesService, IBlockParsersRepositoriesRepository blockParsersRepositoriesRepository, IGatewayService gatewayService, IStateTransactionsService transactionsService, ISpValidationsService spValidationsService, IHubContext <IdentitiesHub> idenitiesHubContext, ILoggerService loggerService, IConsentManagementService consentManagementService, IUniversalProofsPool universalProofsPool, CancellationToken cancellationToken) { _accountId = accountId; _clientCryptoService = clientCryptoService; _assetsService = assetsService; _schemeResolverService = schemeResolverService; _dataAccessService = dataAccessService; _identityAttributesService = identityAttributesService; _blockParsersRepositoriesRepository = blockParsersRepositoriesRepository; _gatewayService = gatewayService; _transactionsService = transactionsService; _spValidationsService = spValidationsService; _idenitiesHubContext = idenitiesHubContext; _consentManagementService = consentManagementService; _universalProofsPool = universalProofsPool; _cancellationToken = cancellationToken; _logger = loggerService.GetLogger(nameof(ServiceProviderUpdater)); _cancellationToken.Register(() => { PipeIn?.Complete(); PipInNotifications?.Complete(); }); PipeIn = new ActionBlock <PacketBase>(async p => { if (p == null) { _logger.Error($"[{_accountId}]: Obtained NULL packet"); return; } _logger.Info($"[{_accountId}]: Obtained {p.GetType().Name} packet"); try { if (p is DocumentSignRecord documentSignRecord) { ProcessDocumentSignRecord(documentSignRecord); } if (p is DocumentRecord documentRecord) { ProcessDocumentRecord(documentRecord); } if (p is DocumentSignRequest documentSignRequest) { ProcessDocumentSignRequest(documentSignRequest); } if (p is EmployeeRegistrationRequest employeeRegistrationRequest) { ProcessEmployeeRegistrationRequest(employeeRegistrationRequest); } if (p is IdentityProofs packet) { await ProcessIdentityProofs(packet).ConfigureAwait(false); } if (p is TransitionCompromisedProofs compromisedProofs) { ProcessCompromisedProofs(new Key32(compromisedProofs.CompromisedKeyImage)); } if (p is TransferAsset transferAsset) { ProcessTransferAsset(transferAsset); } if (p is UniversalTransport universalTransport) { await ProcessUniversalTransport(universalTransport).ConfigureAwait(false); } } catch (Exception ex) { _logger.Error($"[{_accountId}]: Failed to process packet {p.GetType().Name}", ex); } }); }
public UpdaterService(IBlockParsersRepositoriesRepository blockParsersRepositoriesRepository) { _observers = new List <IObserver <BulkUpdate> >(); _blockParsersRepositoriesRepository = blockParsersRepositoriesRepository; }
public SynchronizationBlockToBlockBaseMapper(IBlockParsersRepositoriesRepository blockParsersFactoriesRepository) { _blockParsersRepository = blockParsersFactoriesRepository.GetBlockParsersRepository(PacketType.Synchronization); }
public TransactionsRegistryBlockToBlockBaseMapper(IBlockParsersRepositoriesRepository blockParsersFactoriesRepository) { _blockParsersRepository = blockParsersFactoriesRepository.GetBlockParsersRepository(PacketType.Registry); }
public UtxoConfidentialBlockToBaseBlockMapper(IBlockParsersRepositoriesRepository blockParsersFactoriesRepository) : base(blockParsersFactoriesRepository) { }
public TransactionalBlockToBaseBlockMapper(IBlockParsersRepositoriesRepository blockParsersFactoriesRepository) : base(blockParsersFactoriesRepository) { }