// TODO: Could put a dictionary by OutPoint. public InputConsolidator(IFederationWalletTransactionHandler transactionHandler, IFederationWalletManager walletManager, IBroadcasterManager broadcasterManager, IFederatedPegSettings settings, ISignals signals, IAsyncProvider asyncProvider, Network network) { this.transactionHandler = transactionHandler; this.walletManager = walletManager; this.broadcasterManager = broadcasterManager; this.network = network; this.settings = settings; this.logger = LogManager.GetCurrentClassLogger(); this.asyncProvider = asyncProvider; this.blockQueue = asyncProvider.CreateAndRunAsyncDelegateDequeuer <ChainedHeaderBlock>($"{nameof(InputConsolidator)}-{nameof(this.blockQueue)}", this.ProcessBlockInternal); signals.Subscribe <WalletNeedsConsolidation>(this.StartConsolidation); }
public GenerateCoinsFastDateTimeProvider(ISignals signals) { this.blockConnectedSubscription = signals.Subscribe <BlockConnected>(this.OnBlockConnected); }
public ReserveUtxoService(ILoggerFactory loggerFactory, ISignals signals) { this.logger = loggerFactory.CreateLogger(GetType().FullName); signals.Subscribe <BlockConnected>(OnBlockConnected); signals.Subscribe <TransactionFailedMempoolValidation>(OnTransactionFailedMempoolValidation); }