public ReceivingController( IConfiguration config, IReceivingAddressPool pool, ITokenReceivingWatcher watcher, ControllerHelper helper) { if (config == null) { throw new ArgumentNullException(nameof(config)); } if (pool == null) { throw new ArgumentNullException(nameof(pool)); } if (watcher == null) { throw new ArgumentNullException(nameof(watcher)); } if (helper == null) { throw new ArgumentNullException(nameof(helper)); } this.pool = pool; this.watcher = watcher; this.helper = helper; this.config = config.GetApiSection(); }
public ReceivingAddressesController(IReceivingAddressPool pool) { if (pool == null) { throw new ArgumentNullException(nameof(pool)); } this.pool = pool; }
public TokenReceivingWatcher( PropertyId property, ILogger <TokenReceivingWatcher> logger, IBlocksStorage blocks, IReceivingAddressPool addressPool, ITransactionRetriever exodusRetriever, IRuleRepository rules, IWatchRepository watches, ICallbackRepository callbacks, ICallbackExecuter callbackExecutor, ITimerScheduler timerScheduler) { if (property == null) { throw new ArgumentNullException(nameof(property)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (addressPool == null) { throw new ArgumentNullException(nameof(addressPool)); } if (exodusRetriever == null) { throw new ArgumentNullException(nameof(exodusRetriever)); } if (rules == null) { throw new ArgumentNullException(nameof(rules)); } if (watches == null) { throw new ArgumentNullException(nameof(watches)); } if (callbacks == null) { throw new ArgumentNullException(nameof(callbacks)); } if (callbackExecutor == null) { throw new ArgumentNullException(nameof(callbackExecutor)); } if (timerScheduler == null) { throw new ArgumentNullException(nameof(timerScheduler)); } this.property = property; this.logger = logger; this.addressPool = addressPool; this.exodusRetriever = exodusRetriever; this.rules = rules; this.watches = watches; this.callbacks = callbacks; this.callbackExecutor = callbackExecutor; this.timerScheduler = timerScheduler; this.watchings = new Dictionary <BitcoinAddress, Watching>(); this.engine = new BalanceWatcher <Rule, PropertyAmount>(this, blocks); this.semaphore = new SemaphoreSlim(1, 1); this.stopped = true; }