コード例 #1
0
ファイル: IrcClient.cs プロジェクト: edrochenski/juvo
        /// <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;
        }
コード例 #2
0
 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));
 }
コード例 #3
0
 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();
 }
コード例 #4
0
 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;
 }
コード例 #5
0
 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));
 }
コード例 #6
0
        /*/ 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;
        }
コード例 #7
0
ファイル: StateReader.cs プロジェクト: oozan/nethermind
 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);
 }
コード例 #8
0
        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();
        }
コード例 #9
0
        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");
            }
        }
コード例 #10
0
        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);
        }
コード例 #11
0
ファイル: SlackClient.cs プロジェクト: edrochenski/juvo
        /*/ 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);
        }
コード例 #12
0
 public TransactionProcessor(
     ISpecProvider?specProvider,
     IStateProvider?stateProvider,
     IStorageProvider?storageProvider,
     IVirtualMachine?virtualMachine,
     ILogManager?logManager)
     : this(specProvider, new WorldState(stateProvider, storageProvider), virtualMachine, logManager)
 {
 }
コード例 #13
0
 public ReadOnlyTxProcessingEnv(
     IDbProvider?dbProvider,
     IReadOnlyTrieStore?trieStore,
     IBlockTree?blockTree,
     ISpecProvider?specProvider,
     ILogManager?logManager)
     : this(dbProvider?.AsReadOnly(false), trieStore, blockTree?.AsReadOnly(), specProvider, logManager)
 {
 }
コード例 #14
0
 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;
 }
コード例 #15
0
 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)
 {
 }
コード例 #16
0
 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));
 }
コード例 #17
0
 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;
 }
コード例 #18
0
 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)
 {
 }
コード例 #19
0
        /*/ 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;
        }
コード例 #20
0
 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));
 }
コード例 #21
0
ファイル: TxPoolTxSource.cs プロジェクト: huyen-pk/nethermind
 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));
 }
コード例 #22
0
 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));
 }
コード例 #23
0
 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));
 }
コード例 #24
0
 public ReadOnlyTxProcessingEnvFactory(
     IReadOnlyDbProvider?readOnlyDbProvider,
     IReadOnlyTrieStore?readOnlyTrieStore,
     IReadOnlyBlockTree?readOnlyBlockTree,
     ISpecProvider?specProvider,
     ILogManager?logManager)
 {
     _readOnlyDbProvider = readOnlyDbProvider;
     _readOnlyTrieStore  = readOnlyTrieStore;
     _readOnlyBlockTree  = readOnlyBlockTree;
     _specProvider       = specProvider;
     _logManager         = logManager;
 }
コード例 #25
0
 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");
            }
        }
コード例 #27
0
 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));
 }
コード例 #28
0
 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);
 }
コード例 #29
0
        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");
                }
            });
        }
コード例 #30
0
ファイル: DiscordClient.cs プロジェクト: edrochenski/juvo
        /*/ 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));
        }