/// <summary> /// Initializes a new instance of the <see cref="IrcClient"/> class. /// </summary> /// <param name="logManager">Log manager.</param> /// <param name="socketClient">Socket client.</param> public IrcClient(ISocketClient socketClient, ILogManager?logManager = null) { this.logManager = logManager; this.client = socketClient; this.client.ConnectCompleted += this.Client_ConnectCompleted; this.client.ConnectFailed += this.Client_ConnectFailed; this.client.Disconnected += this.Client_Disconnected; this.client.ReceiveCompleted += this.Client_ReceiveCompleted; this.client.ReceiveFailed += this.Client_ReceiveFailed; this.client.SendCompleted += this.Client_SendCompleted; this.client.SendFailed += this.Client_SendFailed; this.dataBuffer = new StringBuilder(); this.log = this.logManager?.GetLogger(typeof(IrcClient)); this.chanModeDict = this.CompileChannelModeDictionary(); this.userModeDict = this.CompileUserModeDictionary(); this.CurrentChannels = new List <string>(0); this.CurrentNickname = string.Empty; this.NickName = string.Empty; this.NickNameAlt = string.Empty; this.RealName = string.Empty; this.UserModes = new IrcUserMode[0]; this.Username = string.Empty; }
public EthStatsIntegration( string name, string node, int port, string network, string protocol, string api, string client, string contact, bool canUpdateHistory, string secret, IEthStatsClient?ethStatsClient, IMessageSender?sender, ITxPool?txPool, IBlockTree?blockTree, IPeerManager?peerManager, ILogManager?logManager) { _name = name; _node = node; _port = port; _network = network; _protocol = protocol; _api = api; _client = client; _contact = contact; _canUpdateHistory = canUpdateHistory; _secret = secret; _ethStatsClient = ethStatsClient ?? throw new ArgumentNullException(nameof(ethStatsClient)); _sender = sender ?? throw new ArgumentNullException(nameof(sender)); _txPool = txPool ?? throw new ArgumentNullException(nameof(txPool)); _blockTree = blockTree ?? throw new ArgumentNullException(nameof(blockTree)); _peerManager = peerManager ?? throw new ArgumentNullException(nameof(peerManager)); _logger = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager)); }
public DiscoveryApp(INodesLocator nodesLocator, IDiscoveryManager? discoveryManager, INodeTable? nodeTable, IMessageSerializationService? msgSerializationService, ICryptoRandom? cryptoRandom, INetworkStorage? discoveryStorage, INetworkConfig? networkConfig, IDiscoveryConfig? discoveryConfig, ITimestamper? timestamper, ILogManager? logManager) { _logManager = logManager ?? throw new ArgumentNullException(nameof(logManager)); _logger = _logManager.GetClassLogger(); _discoveryConfig = discoveryConfig ?? throw new ArgumentNullException(nameof(discoveryConfig)); _timestamper = timestamper ?? throw new ArgumentNullException(nameof(timestamper)); _nodesLocator = nodesLocator ?? throw new ArgumentNullException(nameof(nodesLocator)); _discoveryManager = discoveryManager ?? throw new ArgumentNullException(nameof(discoveryManager)); _nodeTable = nodeTable ?? throw new ArgumentNullException(nameof(nodeTable)); _messageSerializationService = msgSerializationService ?? throw new ArgumentNullException(nameof(msgSerializationService)); _cryptoRandom = cryptoRandom ?? throw new ArgumentNullException(nameof(cryptoRandom)); _discoveryStorage = discoveryStorage ?? throw new ArgumentNullException(nameof(discoveryStorage)); _networkConfig = networkConfig ?? throw new ArgumentNullException(nameof(networkConfig)); _discoveryStorage.StartBatch(); }
public NdmSubprotocolFactory( IMessageSerializationService?messageSerializationService, INodeStatsManager?nodeStatsManager, ILogManager?logManager, IAccountService?accountService, IConsumerService?consumerService, INdmConsumerChannelManager?ndmConsumerChannelManager, IEcdsa?ecdsa, IWallet?wallet, INdmFaucet?faucet, PublicKey?nodeId, Address?providerAddress, Address?consumerAddress, bool verifySignature = true) { if (nodeStatsManager == null) { throw new ArgumentNullException(nameof(nodeStatsManager)); } MessageSerializationService = messageSerializationService ?? throw new ArgumentNullException(nameof(messageSerializationService)); NodeStatsManager = nodeStatsManager ?? throw new ArgumentNullException(nameof(nodeStatsManager)); LogManager = logManager ?? throw new ArgumentNullException(nameof(logManager)); AccountService = accountService ?? throw new ArgumentNullException(nameof(accountService)); ConsumerService = consumerService ?? throw new ArgumentNullException(nameof(consumerService)); NdmConsumerChannelManager = ndmConsumerChannelManager ?? throw new ArgumentNullException(nameof(ndmConsumerChannelManager)); Ecdsa = ecdsa ?? throw new ArgumentNullException(nameof(ecdsa)); Wallet = wallet ?? throw new ArgumentNullException(nameof(wallet)); Faucet = faucet ?? throw new ArgumentNullException(nameof(faucet)); NodeId = nodeId ?? throw new ArgumentNullException(nameof(nodeId)); ProviderAddress = providerAddress; ConsumerAddress = consumerAddress; VerifySignature = verifySignature; AccountService.AddressChanged += (_, e) => ConsumerAddress = e.NewAddress; }
public TxPoolTxSource(ITxPool?transactionPool, IStateReader?stateReader, ILogManager?logManager, ITxFilter?txFilter = null) { _transactionPool = transactionPool ?? throw new ArgumentNullException(nameof(transactionPool)); _stateReader = stateReader ?? throw new ArgumentNullException(nameof(stateReader)); _txFilter = txFilter ?? new MinGasPriceTxFilter(UInt256.Zero); _logger = logManager?.GetClassLogger <TxPoolTxSource>() ?? throw new ArgumentNullException(nameof(logManager)); }
/*/ Constructors /*/ /// <summary> /// Initializes a new instance of the <see cref="IrcBot"/> class. /// </summary> /// <param name="juvoClient">Host.</param> /// <param name="ircClient">IRC client.</param> /// <param name="config">IRC configuration.</param> /// <param name="logManager">Log manager.</param> public IrcBot(IJuvoClient juvoClient, IIrcClient ircClient, IrcConfigConnection config, ILogManager?logManager = null) { this.config = config; this.host = juvoClient; this.logManager = logManager; this.client = ircClient; this.log = logManager?.GetLogger(typeof(IrcBot)); this.client.Network = IrcClient.LookupNetwork(this.config.Network ?? string.Empty); this.client.NickName = config.Nickname ?? throw new Exception("Nickname is missing from configuration"); this.client.NickNameAlt = config.NicknameAlt ?? $"{config.Nickname}-"; this.client.RealName = config.RealName ?? string.Empty; this.client.Username = config.Ident ?? config.Nickname.ToLowerInvariant(); this.client.ChannelJoined += this.Client_ChannelJoined; this.client.ChannelMessage += this.Client_ChannelMessage; this.client.ChannelModeChanged += this.Client_ChannelModeChanged; this.client.ChannelParted += this.Client_ChannelParted; this.client.Connected += this.Client_Connected; this.client.Disconnected += this.Client_Disconnected; this.client.HostHidden += this.Client_HostHidden; this.client.MessageReceived += this.Client_MessageReceived; this.client.PrivateMessage += this.Client_PrivateMessage; this.client.UserModeChanged += this.Client_UserModeChanged; this.client.UserQuit += this.Client_UserQuit; this.commandToken = config.CommandToken ?? DefaultCommandToken; }
public StateReader(ITrieStore?trieStore, IDb?codeDb, ILogManager?logManager) { _logger = logManager?.GetClassLogger <StateReader>() ?? throw new ArgumentNullException(nameof(logManager)); _codeDb = codeDb ?? throw new ArgumentNullException(nameof(codeDb)); _state = new StateTree(trieStore, logManager); _storage = new StorageTree(trieStore, Keccak.EmptyTreeHash, logManager); }
public BlockProcessor( ISpecProvider?specProvider, IBlockValidator?blockValidator, IRewardCalculator?rewardCalculator, ITransactionProcessor?transactionProcessor, IStateProvider?stateProvider, IStorageProvider?storageProvider, ITxPool?txPool, IReceiptStorage?receiptStorage, IWitnessCollector?witnessCollector, ILogManager?logManager) { _logger = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager)); _specProvider = specProvider ?? throw new ArgumentNullException(nameof(specProvider)); _blockValidator = blockValidator ?? throw new ArgumentNullException(nameof(blockValidator)); _stateProvider = stateProvider ?? throw new ArgumentNullException(nameof(stateProvider)); _storageProvider = storageProvider ?? throw new ArgumentNullException(nameof(storageProvider)); _txPool = txPool ?? throw new ArgumentNullException(nameof(txPool)); _receiptStorage = receiptStorage ?? throw new ArgumentNullException(nameof(receiptStorage)); _witnessCollector = witnessCollector ?? throw new ArgumentNullException(nameof(witnessCollector)); _rewardCalculator = rewardCalculator ?? throw new ArgumentNullException(nameof(rewardCalculator)); _transactionProcessor = transactionProcessor ?? throw new ArgumentNullException(nameof(transactionProcessor)); _receiptsTracer = new BlockReceiptsTracer(); }
public SyncingSubscription( IJsonRpcDuplexClient jsonRpcDuplexClient, IBlockTree?blockTree, IEthSyncingInfo ethSyncingInfo, ILogManager?logManager) : base(jsonRpcDuplexClient) { _blockTree = blockTree ?? throw new ArgumentNullException(nameof(blockTree)); _ethSyncingInfo = ethSyncingInfo ?? throw new ArgumentNullException(nameof(ethSyncingInfo)); _logger = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager)); _lastIsSyncing = _ethSyncingInfo.IsSyncing(); if (_logger.IsTrace) { _logger.Trace($"Syncing subscription {Id}: Syncing status on start is {_lastIsSyncing}"); } _blockTree.NewBestSuggestedBlock += OnConditionsChange; if (_logger.IsTrace) { _logger.Trace($"Syncing subscription {Id} will track NewBestSuggestedBlocks"); } _blockTree.NewHeadBlock += OnConditionsChange; if (_logger.IsTrace) { _logger.Trace($"Syncing subscription {Id} will track NewHeadBlocks"); } }
public ReadOnlyTxProcessingEnv( IReadOnlyDbProvider?readOnlyDbProvider, IReadOnlyTrieStore?readOnlyTrieStore, IReadOnlyBlockTree?readOnlyBlockTree, ISpecProvider?specProvider, ILogManager?logManager) { if (specProvider == null) { throw new ArgumentNullException(nameof(specProvider)); } DbProvider = readOnlyDbProvider ?? throw new ArgumentNullException(nameof(readOnlyDbProvider)); _codeDb = readOnlyDbProvider.CodeDb.AsReadOnly(true); StateReader = new StateReader(readOnlyTrieStore, _codeDb, logManager); StateProvider = new StateProvider(readOnlyTrieStore, _codeDb, logManager); StorageProvider = new StorageProvider(readOnlyTrieStore, StateProvider, logManager); IWorldState worldState = new WorldState(StateProvider, StorageProvider); BlockTree = readOnlyBlockTree ?? throw new ArgumentNullException(nameof(readOnlyBlockTree)); BlockhashProvider = new BlockhashProvider(BlockTree, logManager); Machine = new VirtualMachine(BlockhashProvider, specProvider, logManager); TransactionProcessor = new TransactionProcessor(specProvider, worldState, Machine, logManager); }
/*/ Constructors /*/ /// <summary> /// Initializes a new instance of the <see cref="SlackClient"/> class. /// </summary> /// <param name="clientWebSocket">Client web socket.</param> /// <param name="logManager">Log manager.</param> public SlackClient(IClientWebSocket clientWebSocket, ILogManager?logManager = null) { this.webSocket = clientWebSocket ?? throw new ArgumentNullException(nameof(clientWebSocket)); this.logManager = logManager; this.log = this.logManager?.GetLogger(typeof(SlackClient)); this.emptyStringContent = new StringContent(string.Empty); }
public TransactionProcessor( ISpecProvider?specProvider, IStateProvider?stateProvider, IStorageProvider?storageProvider, IVirtualMachine?virtualMachine, ILogManager?logManager) : this(specProvider, new WorldState(stateProvider, storageProvider), virtualMachine, logManager) { }
public ReadOnlyTxProcessingEnv( IDbProvider?dbProvider, IReadOnlyTrieStore?trieStore, IBlockTree?blockTree, ISpecProvider?specProvider, ILogManager?logManager) : this(dbProvider?.AsReadOnly(false), trieStore, blockTree?.AsReadOnly(), specProvider, logManager) { }
public MergeSealEngine( ISealEngine preMergeSealEngine, IPoSSwitcher?poSSwitcher, ISealValidator mergeSealValidator, ILogManager?logManager) { _preMergeSealValidator = preMergeSealEngine ?? throw new ArgumentNullException(nameof(preMergeSealEngine)); _poSSwitcher = poSSwitcher ?? throw new ArgumentNullException(nameof(poSSwitcher)); _mergeSealValidator = mergeSealValidator; }
public ReorgTxPool( ITxStorage txStorage, IEthereumEcdsa ecdsa, IChainHeadInfoProvider chainHeadInfoProvider, ITxPoolConfig txPoolConfig, ITxValidator validator, ILogManager?logManager, IComparer <Transaction> comparer) : base(txStorage, ecdsa, chainHeadInfoProvider, txPoolConfig, validator, logManager, comparer) { }
public EthStatsClient( string?urlFromConfig, int reconnectionInterval, IMessageSender?messageSender, ILogManager?logManager) { _urlFromConfig = urlFromConfig ?? throw new ArgumentNullException(nameof(urlFromConfig)); _reconnectionInterval = reconnectionInterval; _messageSender = messageSender ?? throw new ArgumentNullException(nameof(messageSender)); _logger = logManager?.GetClassLogger() ?? throw new ArgumentException(nameof(logManager)); }
public HeaderValidator( IBlockTree?blockTree, ISealValidator?sealValidator, ISpecProvider?specProvider, ILogManager?logManager) { _logger = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager)); _blockTree = blockTree ?? throw new ArgumentNullException(nameof(blockTree)); _sealValidator = sealValidator ?? throw new ArgumentNullException(nameof(sealValidator)); _specProvider = specProvider ?? throw new ArgumentNullException(nameof(specProvider)); _daoBlockNumber = specProvider.DaoBlockNumber; }
public ReorgTxPool( ITxStorage txStorage, IEthereumEcdsa ecdsa, IChainHeadSpecProvider specProvider, ITxPoolConfig txPoolConfig, IReadOnlyStateProvider stateProvider, ITxValidator validator, ILogManager?logManager, IComparer <Transaction>?comparer = null) : base(txStorage, ecdsa, specProvider, txPoolConfig, stateProvider, validator, logManager, comparer) { }
/*/ Constructors /*/ /// <summary> /// Initializes a new instance of the <see cref="SlackBot"/> class. /// </summary> /// <param name="host">Host.</param> /// <param name="slackClient">Slack client.</param> /// <param name="config">Configuration to use.</param> /// <param name="logManager">Log manager.</param> public SlackBot(IJuvoClient host, ISlackClient slackClient, SlackConfigConnection config, ILogManager?logManager = null) { this.host = host; this.config = config; this.logManager = logManager; this.log = this.logManager?.GetLogger(typeof(SlackBot)); this.random = new Random(DateTime.Now.Millisecond * DateTime.Now.Second); this.slackClient = slackClient ?? throw new ArgumentNullException(nameof(slackClient)); this.slackClient.Initialize(config.Token); this.slackClient.MessageReceived += this.SlackClient_MessageReceived; }
public SubscriptionFactory( ILogManager?logManager, IBlockTree?blockTree, ITxPool?txPool, IReceiptStorage?receiptStorage, IFilterStore?filterStore) { _logManager = logManager ?? throw new ArgumentNullException(nameof(logManager)); _blockTree = blockTree ?? throw new ArgumentNullException(nameof(blockTree)); _txPool = txPool ?? throw new ArgumentNullException(nameof(txPool)); _receiptStorage = receiptStorage ?? throw new ArgumentNullException(nameof(receiptStorage)); _filterStore = filterStore ?? throw new ArgumentNullException(nameof(filterStore)); }
public TxPoolTxSource( ITxPool?transactionPool, ISpecProvider?specProvider, ITransactionComparerProvider transactionComparerProvider, ILogManager?logManager, ITxFilterPipeline?txFilterPipeline) { _transactionPool = transactionPool ?? throw new ArgumentNullException(nameof(transactionPool)); _transactionComparerProvider = transactionComparerProvider ?? throw new ArgumentNullException(nameof(transactionComparerProvider)); _txFilterPipeline = txFilterPipeline ?? throw new ArgumentNullException(nameof(txFilterPipeline)); _specProvider = specProvider ?? throw new ArgumentNullException(nameof(specProvider)); _logger = logManager?.GetClassLogger <TxPoolTxSource>() ?? throw new ArgumentNullException(nameof(logManager)); }
public BlockValidator( ITxValidator?txValidator, IHeaderValidator?headerValidator, IUnclesValidator?unclesValidator, ISpecProvider?specProvider, ILogManager?logManager) { _logger = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager)); _txValidator = txValidator ?? throw new ArgumentNullException(nameof(txValidator)); _unclesValidator = unclesValidator ?? throw new ArgumentNullException(nameof(unclesValidator)); _specProvider = specProvider ?? throw new ArgumentNullException(nameof(specProvider)); _headerValidator = headerValidator ?? throw new ArgumentNullException(nameof(headerValidator)); }
public NettyDiscoveryHandler( IDiscoveryManager?discoveryManager, IDatagramChannel?channel, IMessageSerializationService?msgSerializationService, ITimestamper?timestamper, ILogManager?logManager) { _logger = logManager?.GetClassLogger <NettyDiscoveryHandler>() ?? throw new ArgumentNullException(nameof(logManager)); _discoveryManager = discoveryManager ?? throw new ArgumentNullException(nameof(discoveryManager)); _channel = channel ?? throw new ArgumentNullException(nameof(channel)); _msgSerializationService = msgSerializationService ?? throw new ArgumentNullException(nameof(msgSerializationService)); _timestamper = timestamper ?? throw new ArgumentNullException(nameof(timestamper)); }
public ReadOnlyTxProcessingEnvFactory( IReadOnlyDbProvider?readOnlyDbProvider, IReadOnlyTrieStore?readOnlyTrieStore, IReadOnlyBlockTree?readOnlyBlockTree, ISpecProvider?specProvider, ILogManager?logManager) { _readOnlyDbProvider = readOnlyDbProvider; _readOnlyTrieStore = readOnlyTrieStore; _readOnlyBlockTree = readOnlyBlockTree; _specProvider = specProvider; _logManager = logManager; }
public TransactionProcessor( ISpecProvider?specProvider, IWorldState?worldState, IVirtualMachine?virtualMachine, ILogManager?logManager) { _logger = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager)); _specProvider = specProvider ?? throw new ArgumentNullException(nameof(specProvider)); _worldState = worldState ?? throw new ArgumentNullException(nameof(worldState)); _stateProvider = worldState.StateProvider; _storageProvider = worldState.StorageProvider; _virtualMachine = virtualMachine ?? throw new ArgumentNullException(nameof(virtualMachine)); _ecdsa = new EthereumEcdsa(specProvider.ChainId, logManager); }
public DroppedPendingTransactionsSubscription( IJsonRpcDuplexClient jsonRpcDuplexClient, ITxPool?txPool, ILogManager?logManager) : base(jsonRpcDuplexClient) { _txPool = txPool ?? throw new ArgumentNullException(nameof(txPool)); _logger = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager)); _txPool.EvictedPending += OnEvicted; if (_logger.IsTrace) { _logger.Trace($"DroppedPendingTransactions subscription {Id} will track DroppedPendingTransactions"); } }
public NodeLifecycleManagerFactory(INodeTable nodeTable, IEvictionManager evictionManager, INodeStatsManager nodeStatsManager, NodeRecord self, IDiscoveryConfig discoveryConfig, ITimestamper timestamper, ILogManager?logManager) { _logger = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager)); _nodeTable = nodeTable ?? throw new ArgumentNullException(nameof(nodeTable)); _discoveryConfig = discoveryConfig ?? throw new ArgumentNullException(nameof(discoveryConfig)); _timestamper = timestamper ?? throw new ArgumentNullException(nameof(timestamper)); _evictionManager = evictionManager ?? throw new ArgumentNullException(nameof(evictionManager)); _nodeStatsManager = nodeStatsManager ?? throw new ArgumentNullException(nameof(nodeStatsManager)); _selfNodeRecord = self ?? throw new ArgumentNullException(nameof(self)); }
public LogFinder( IBlockFinder?blockFinder, IReceiptFinder?receiptFinder, IBloomStorage?bloomStorage, ILogManager?logManager, IReceiptsRecovery?receiptsRecovery, int maxBlockDepth = 1000) { _blockFinder = blockFinder ?? throw new ArgumentNullException(nameof(blockFinder)); _receiptFinder = receiptFinder ?? throw new ArgumentNullException(nameof(receiptFinder)); _bloomStorage = bloomStorage ?? throw new ArgumentNullException(nameof(bloomStorage)); _receiptsRecovery = receiptsRecovery ?? throw new ArgumentNullException(nameof(receiptsRecovery)); _logger = logManager?.GetClassLogger <LogFinder>() ?? throw new ArgumentNullException(nameof(logManager)); _maxBlockDepth = maxBlockDepth; _rpcConfigGetLogsThreads = Math.Max(1, Environment.ProcessorCount / 4); }
public NdmFaucet( INdmBlockchainBridge?blockchainBridge, IEthRequestRepository?requestRepository, Address?faucetAddress, UInt256 maxValue, UInt256 dailyRequestsTotalValueEth, bool enabled, ITimestamper?timestamper, IWallet?wallet, ILogManager?logManager) { _blockchainBridge = blockchainBridge ?? throw new ArgumentNullException(nameof(blockchainBridge)); _requestRepository = requestRepository ?? throw new ArgumentNullException(nameof(requestRepository)); _faucetAddress = faucetAddress; _maxValue = maxValue; _dailyRequestsTotalValueWei = dailyRequestsTotalValueEth * 1_000_000_000_000_000_000; _enabled = enabled; _timestamper = timestamper ?? throw new ArgumentNullException(nameof(timestamper)); _wallet = wallet ?? throw new ArgumentNullException(nameof(wallet)); _today = _timestamper.UtcNow; _logger = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager)); if (!_enabled || _faucetAddress is null) { return; } if (_logger.IsInfo) { _logger.Info($"NDM Faucet was enabled for this host, account: {faucetAddress}, request max value: {maxValue} wei"); } _requestRepository.SumDailyRequestsTotalValueAsync(_today).ContinueWith(t => { if (t.IsFaulted && _logger.IsError) { _logger.Error($"Error during NDM faucet today's ({_today.Date:d}) total value initialization.", t.Exception); return; } _todayRequestsTotalValueWei = t.Result; _initialized = true; if (_logger.IsInfo) { _logger.Info($"Initialized NDM faucet today's ({_today.Date:d}) total value: {_todayRequestsTotalValueWei} wei"); } }); }
/*/ Constructors /*/ /// <summary> /// Initializes a new instance of the <see cref="DiscordClient"/> class. /// </summary> /// <param name="clientWebSocket">Client web socket.</param> /// <param name="httpClient">Http client.</param> /// <param name="logManager">Log Manager.</param> public DiscordClient( IClientWebSocket clientWebSocket, IHttpClient httpClient, ILogManager?logManager = null) { this.httpClient = httpClient ?? throw new ArgumentNullException(nameof(httpClient)); this.socket = clientWebSocket ?? throw new ArgumentNullException(nameof(clientWebSocket)); this.logManager = logManager; this.cancelToken = new CancellationToken(false); this.heartbeatTimer = new Timer( this.OnHeartbeatInterval, null, HeartbeatIntervalDefault, HeartbeatIntervalDefault); this.log = this.logManager?.GetLogger(typeof(DiscordClient)); }