public WalletController(
     ILoggerFactory loggerFactory,
     IWalletManager walletManager,
     IWalletTransactionHandler walletTransactionHandler,
     IWalletSyncManager walletSyncManager,
     IConnectionManager connectionManager,
     Network network,
     ConcurrentChain chain,
     IBroadcasterManager broadcasterManager,
     IDateTimeProvider dateTimeProvider)
 {
     this.walletManager            = walletManager;
     this.walletTransactionHandler = walletTransactionHandler;
     this.walletSyncManager        = walletSyncManager;
     this.connectionManager        = connectionManager;
     this.network            = network;
     this.coinType           = (CoinType)network.Consensus.CoinType;
     this.chain              = chain;
     this.logger             = loggerFactory.CreateLogger(this.GetType().FullName);
     this.broadcasterManager = broadcasterManager;
     this.dateTimeProvider   = dateTimeProvider;
 }
Example #2
0
        public RewardClaimer(
            IBroadcasterManager broadcasterManager,
            ChainIndexer chainIndexer,
            IConsensusManager consensusManager,
            IInitialBlockDownloadState initialBlockDownloadState,
            IKeyValueRepository keyValueRepository,
            Network network,
            ISignals signals)
        {
            this.broadcasterManager        = broadcasterManager;
            this.chainIndexer              = chainIndexer;
            this.consensusManager          = consensusManager;
            this.initialBlockDownloadState = initialBlockDownloadState;
            this.keyValueRepository        = keyValueRepository;
            this.logger  = LogManager.GetCurrentClassLogger();
            this.network = network;
            this.signals = signals;

            this.blockConnectedSubscription = this.signals.Subscribe <BlockConnected>(this.OnBlockConnected);

            LoadLastDistributionHeight();
        }
 public WalletRPCController(
     IBlockStore blockStore,
     IBroadcasterManager broadcasterManager,
     ChainIndexer chainIndexer,
     IConsensusManager consensusManager,
     IFullNode fullNode,
     ILoggerFactory loggerFactory,
     Network network,
     IScriptAddressReader scriptAddressReader,
     StoreSettings storeSettings,
     IWalletManager walletManager,
     WalletSettings walletSettings,
     IWalletTransactionHandler walletTransactionHandler) : base(fullNode: fullNode, consensusManager: consensusManager, chainIndexer: chainIndexer, network: network)
 {
     this.blockStore               = blockStore;
     this.broadcasterManager       = broadcasterManager;
     this.logger                   = loggerFactory.CreateLogger(this.GetType().FullName);
     this.scriptAddressReader      = scriptAddressReader;
     this.storeSettings            = storeSettings;
     this.walletManager            = walletManager;
     this.walletSettings           = walletSettings;
     this.walletTransactionHandler = walletTransactionHandler;
 }
 public ManagementController(
     IBroadcasterManager broadcasterManager,
     ICipherFactory cipherFactory,
     IConnectionManager connectionManager,
     IConsensusManager consensusManager,
     ILogger <ManagementController> logger,
     ISerializer serializer,
     ISmartContractTransactionService smartContractTransactionService,
     IStateRepositoryRoot stateRepositoryRoot,
     IStringGenerator stringGenerator,
     Network network)
 {
     _broadcasterManager = broadcasterManager;
     _cipherFactory      = cipherFactory;
     _connectionManager  = connectionManager;
     _consensusManager   = consensusManager;
     _logger             = logger;
     _serializer         = serializer;
     _smartContractTransactionService = smartContractTransactionService;
     _stateRepositoryRoot             = stateRepositoryRoot;
     _stringGenerator = stringGenerator;
     _network         = network;
 }
Example #5
0
 public TumblingState(ILoggerFactory loggerFactory,
                      ConcurrentChain chain,
                      WalletManager walletManager,
                      IWatchOnlyWalletManager watchOnlyWalletManager,
                      Network network,
                      WalletTransactionHandler walletTransactionHandler,
                      WalletSyncManager walletSyncManager,
                      IWalletFeePolicy walletFeePolicy,
                      NodeSettings nodeSettings,
                      IBroadcasterManager broadcasterManager)
 {
     this.Logger                   = loggerFactory.CreateLogger(this.GetType().FullName);
     this.Chain                    = chain;
     this.WalletManager            = walletManager;
     this.WatchOnlyWalletManager   = watchOnlyWalletManager;
     this.CoinType                 = (CoinType)network.Consensus.CoinType;
     this.WalletTransactionHandler = walletTransactionHandler;
     this.WalletSyncManager        = walletSyncManager;
     this.TumblerNetwork           = network;
     this.WalletFeePolicy          = walletFeePolicy;
     this.NodeSettings             = nodeSettings;
     this.BroadcasterManager       = broadcasterManager;
 }
        public SignedMultisigTransactionBroadcaster(ILoggerFactory loggerFactory,
                                                    ICrossChainTransferStore store,
                                                    ILeaderReceiver leaderReceiver,
                                                    IFederationGatewaySettings settings,
                                                    MempoolManager mempoolManager,
                                                    IBroadcasterManager broadcasterManager)
        {
            Guard.NotNull(loggerFactory, nameof(loggerFactory));
            Guard.NotNull(store, nameof(store));
            Guard.NotNull(leaderReceiver, nameof(leaderReceiver));
            Guard.NotNull(settings, nameof(settings));
            Guard.NotNull(mempoolManager, nameof(mempoolManager));
            Guard.NotNull(broadcasterManager, nameof(broadcasterManager));

            this.logger             = loggerFactory.CreateLogger(this.GetType().FullName);
            this.store              = store;
            this.publicKey          = settings.PublicKey;
            this.mempoolManager     = mempoolManager;
            this.broadcasterManager = broadcasterManager;

            this.leaderReceiverSubscription = leaderReceiver.LeaderProvidersStream.Subscribe(async m => await BroadcastTransactionsAsync(m).ConfigureAwait(false));
            this.logger.LogDebug("Subscribed to {0}", nameof(leaderReceiver), nameof(leaderReceiver.LeaderProvidersStream));
        }
        public MempoolFeature(
            IConnectionManager connectionManager,
            MempoolSignaled mempoolSignaled,
            BlocksDisconnectedSignaled blocksDisconnectedSignaled,
            MempoolBehavior mempoolBehavior,
            MempoolManager mempoolManager,
            ILoggerFactory loggerFactory,
            INodeStats nodeStats,
            IBroadcasterManager broadcasterManager,
            PayloadProvider payloadProvider,
            FeeFilterBehavior feeFilterBehavior)
        {
            this.connectionManager          = connectionManager;
            this.mempoolSignaled            = mempoolSignaled;
            this.blocksDisconnectedSignaled = blocksDisconnectedSignaled;
            this.mempoolBehavior            = mempoolBehavior;
            this.mempoolManager             = mempoolManager;
            this.broadcasterManager         = broadcasterManager;
            this.payloadProvider            = payloadProvider;
            this.feeFilterBehavior          = feeFilterBehavior;
            this.logger = loggerFactory.CreateLogger(this.GetType().FullName);

            nodeStats.RegisterStats(this.AddComponentStats, StatsType.Component, this.GetType().Name);
        }
Example #8
0
 public WalletRPCController(IWalletManager walletManager, IWalletTransactionHandler walletTransactionHandler, IFullNode fullNode, IBroadcasterManager broadcasterManager, ILoggerFactory loggerFactory, IConsensusManager consensusManager) : base(fullNode: fullNode, consensusManager: consensusManager)
 {
     this.walletManager            = walletManager;
     this.walletTransactionHandler = walletTransactionHandler;
     this.fullNode           = fullNode;
     this.broadcasterManager = broadcasterManager;
     this.logger             = loggerFactory.CreateLogger(this.GetType().FullName);
 }
Example #9
0
        public TumbleBitManager(
            ILoggerFactory loggerFactory,
            NodeSettings nodeSettings,
            IWalletManager walletManager,
            IWatchOnlyWalletManager watchOnlyWalletManager,
            ConcurrentChain chain,
            Network network,
            Signals signals,
            IWalletTransactionHandler walletTransactionHandler,
            IWalletSyncManager walletSyncManager,
            IWalletFeePolicy walletFeePolicy,
            IBroadcasterManager broadcasterManager,
            FullNode fullNode,
            ConfigurationOptionWrapper <string>[] configurationOptions)
        {
            this.walletManager            = walletManager as WalletManager;
            this.watchOnlyWalletManager   = watchOnlyWalletManager;
            this.walletSyncManager        = walletSyncManager as WalletSyncManager;
            this.walletTransactionHandler = walletTransactionHandler as WalletTransactionHandler;
            this.chain              = chain;
            this.signals            = signals;
            this.network            = network;
            this.nodeSettings       = nodeSettings;
            this.loggerFactory      = loggerFactory;
            this.logger             = loggerFactory.CreateLogger(this.GetType().FullName);
            this.walletFeePolicy    = walletFeePolicy;
            this.broadcasterManager = broadcasterManager;
            this.connectionManager  = fullNode.ConnectionManager as ConnectionManager;
            this.fullNode           = fullNode;

            foreach (var option in configurationOptions)
            {
                if (option.Name.Equals("RegistrationStoreDirectory"))
                {
                    if (option.Value != null)
                    {
                        this.registrationStore = new RegistrationStore(option.Value);
                    }
                    else
                    {
                        this.registrationStore = new RegistrationStore(this.nodeSettings.DataDir);
                    }
                }

                if (option.Name.Equals("MasterNodeUri"))
                {
                    if (option.Value != null)
                    {
                        this.TumblerAddress = option.Value;
                    }
                }
            }

            this.tumblingState = new TumblingState(
                this.loggerFactory,
                this.chain,
                this.walletManager,
                this.watchOnlyWalletManager,
                this.network,
                this.walletTransactionHandler,
                this.walletSyncManager,
                this.walletFeePolicy,
                this.nodeSettings,
                this.broadcasterManager,
                this.connectionManager);

            // Load saved state e.g. previously selected server
            if (File.Exists(this.tumblingState.GetStateFilePath()))
            {
                try
                {
                    this.tumblingState.LoadStateFromMemory();
                }
                catch (NullReferenceException)
                {
                    // The file appears to get corrupted sometimes, not clear why
                    // May be if the node is not shut down correctly
                }
            }

            this.tumblingState.Save();

            // If there was a server address saved, that means we were previously
            // connected to it, and should try to reconnect to it by default when
            // the connect method is invoked by the UI
            if ((this.TumblerAddress == null) && (this.tumblingState.TumblerUri != null))
            {
                this.TumblerAddress = this.tumblingState.TumblerUri.ToString();
            }

            // Remove the progress file from previous session as it is now stale
            ProgressInfo.RemoveProgressFile();
        }
Example #10
0
 public DeStreamWalletManager(ILoggerFactory loggerFactory, Network network, ConcurrentChain chain, NodeSettings settings, WalletSettings walletSettings,
                              DataFolder dataFolder, IWalletFeePolicy walletFeePolicy, IAsyncLoopFactory asyncLoopFactory, INodeLifetime nodeLifetime, IDateTimeProvider dateTimeProvider,
                              IBroadcasterManager broadcasterManager = null) :
     base(loggerFactory, network, chain, settings, walletSettings, dataFolder, walletFeePolicy, asyncLoopFactory, nodeLifetime, dateTimeProvider, broadcasterManager)
 {
 }
Example #11
0
 public BroadcasterBehavior(
     IBroadcasterManager broadcasterManager,
     ILoggerFactory loggerFactory)
     : this(broadcasterManager, loggerFactory.CreateLogger("Impleum.Bitcoin.Features.Wallet.Broadcasting.BroadcasterBehavior"))
 {
 }
 public ColdStakingWalletRPCController(IWalletManager walletManager, IWalletTransactionHandler walletTransactionHandler, IFullNode fullNode, IBroadcasterManager broadcasterManager, ILoggerFactory loggerFactory) :
     base(walletManager, walletTransactionHandler, fullNode, broadcasterManager, loggerFactory)
 {
 }
        private void BroadcastTransaction(Transaction transaction)
        {
            IBroadcasterManager broadcasterManager = this.node.FullNode.NodeService <IBroadcasterManager>();

            broadcasterManager.BroadcastTransactionAsync(transaction).GetAwaiter().GetResult();
        }
Example #14
0
        public TumbleBitManager(
            ILoggerFactory loggerFactory,
            NodeSettings nodeSettings,
            IWalletManager walletManager,
            IWatchOnlyWalletManager watchOnlyWalletManager,
            ConcurrentChain chain,
            Network network,
            Signals signals,
            IWalletTransactionHandler walletTransactionHandler,
            IWalletSyncManager walletSyncManager,
            IWalletFeePolicy walletFeePolicy,
            IBroadcasterManager broadcasterManager,
            FullNode fullNode,
            ConfigurationOptionWrapper <string> registrationStoreDirectory)
        {
            this.walletManager            = walletManager as WalletManager;
            this.watchOnlyWalletManager   = watchOnlyWalletManager;
            this.walletSyncManager        = walletSyncManager as WalletSyncManager;
            this.walletTransactionHandler = walletTransactionHandler as WalletTransactionHandler;
            this.chain              = chain;
            this.signals            = signals;
            this.network            = network;
            this.nodeSettings       = nodeSettings;
            this.loggerFactory      = loggerFactory;
            this.logger             = loggerFactory.CreateLogger(this.GetType().FullName);
            this.walletFeePolicy    = walletFeePolicy;
            this.broadcasterManager = broadcasterManager;
            this.fullNode           = fullNode;

            if (registrationStoreDirectory.Value != null)
            {
                this.registrationStore = new RegistrationStore(registrationStoreDirectory.Value);
            }
            else
            {
                this.registrationStore = new RegistrationStore(this.nodeSettings.DataDir);
            }

            this.tumblingState = new TumblingState(
                this.loggerFactory,
                this.chain,
                this.walletManager,
                this.watchOnlyWalletManager,
                this.network,
                this.walletTransactionHandler,
                this.walletSyncManager,
                this.walletFeePolicy,
                this.nodeSettings,
                this.broadcasterManager);

            // Load saved state e.g. previously selected server
            if (File.Exists(this.tumblingState.GetStateFilePath()))
            {
                try
                {
                    this.tumblingState.LoadStateFromMemory();
                }
                catch (NullReferenceException)
                {
                    // The file appears to get corrupted sometimes, not clear why
                    // May be if the node is not shut down correctly
                }
            }

            this.tumblingState.Save();

            // Remove the progress file from previous session as it is now stale
            ProgressInfo.RemoveProgressFile();
        }
Example #15
0
 public TransactionBroadcastEvent(IBroadcasterManager broadcasterManager, BroadcastTransactionStateChanedEntry broadcastEntry)
 {
     this.BroadcasterManager = broadcasterManager;
     this.BroadcastEntry     = broadcastEntry;
 }
 public BroadcasterBehavior(
     IBroadcasterManager manager,
     ILoggerFactory loggerFactory)
     : this(manager, loggerFactory.CreateLogger(typeof(BroadcasterBehavior).FullName))
 {
 }
Example #17
0
 public ColdStakingWalletService(ILoggerFactory loggerFactory, IWalletManager walletManager, IConsensusManager consensusManager, IWalletTransactionHandler walletTransactionHandler, IWalletSyncManager walletSyncManager, IConnectionManager connectionManager, Network network, ChainIndexer chainIndexer, IBroadcasterManager broadcasterManager, IDateTimeProvider dateTimeProvider, IUtxoIndexer utxoIndexer, IWalletFeePolicy walletFeePolicy) : base(loggerFactory, walletManager, consensusManager, walletTransactionHandler, walletSyncManager, connectionManager, network, chainIndexer, broadcasterManager, dateTimeProvider, utxoIndexer, walletFeePolicy)
 {
 }
Example #18
0
 public ColdStakingWalletRPCController(IWalletManager walletManager, IWalletTransactionHandler walletTransactionHandler, IFullNode fullNode, IBroadcasterManager broadcasterManager, IConsensusManager consensusManager, ChainIndexer chainIndexer, ILoggerFactory loggerFactory, WalletSettings walletSettings) :
     base(walletManager, walletTransactionHandler, fullNode, broadcasterManager, consensusManager, chainIndexer, loggerFactory, walletSettings)
 {
 }