public BitcoinDWaiter( RPCClient rpc, ExplorerConfiguration configuration, NBXplorerNetwork network, SlimChain chain, Repository repository, AddressPoolService addressPoolService, EventAggregator eventAggregator) { if (addressPoolService == null) { throw new ArgumentNullException(nameof(addressPoolService)); } _OriginalRPC = rpc; _RPCWithTimeout = rpc.Clone(); _RPCWithTimeout.RequestTimeout = TimeSpan.FromMinutes(1.0); _Configuration = configuration; _AddressPoolService = addressPoolService; _Network = network; _Chain = chain; _Repository = repository; State = BitcoinDWaiterState.NotStarted; _EventAggregator = eventAggregator; _ChainConfiguration = _Configuration.ChainConfigurations.First(c => c.CryptoCode == _Network.CryptoCode); RPCReadyFile = Path.Combine(configuration.SignalFilesDir, $"{network.CryptoCode.ToLowerInvariant()}_fully_synched"); }