Example #1
0
        // 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);
 }