コード例 #1
0
        public Outputs(IDaemonClient daemonClient, ICoinConfig coinConfig)
        {
            _daemonClient = daemonClient;
            _coinConfig   = coinConfig;

            List = new List <TxOut>();
        }
コード例 #2
0
ファイル: PoolConfig.cs プロジェクト: nuggetbram/coinium-whrl
        /// <summary>
        /// Initializes a new instance of the <see cref="PoolConfig"/> class.
        /// </summary>
        /// <param name="config">The configuration.</param>
        /// <param name="coinConfig"></param>
        public PoolConfig(dynamic config, ICoinConfig coinConfig)
        {
            try
            {
                Enabled = config.enabled ? config.enabled : false;

                if (Enabled == false) // if the configuration is not enabled
                    return; // just skip reading rest of the parameters.

                Coin = coinConfig;
                Daemon = new DaemonConfig(config.daemon);
                Wallet = new WalletConfig(config.wallet);
                Rewards = new RewardsConfig(config.rewards);
                Payments = new PaymentConfig(config.payments);
                Miner = new MinerConfig(config.miner);
                Job = new JobConfig(config.job);
                Stratum = new StratumServerConfig(config.stratum);
                Banning = new BanConfig(config.banning);
                Storage = new RedisConfig(config.storage.redis);
                Vanilla = new VanillaServerConfig(config.vanilla);

                Valid = true;
            }
            catch (Exception e)
            {
                Valid = false;
                Log.Logger.ForContext<PoolConfig>().Error(e, "Error loading pool configuration");
            }
        }
コード例 #3
0
ファイル: Outputs.cs プロジェクト: carloslozano/CoiniumServ
        public Outputs(IDaemonClient daemonClient, ICoinConfig coinConfig)
        {
            _daemonClient = daemonClient;
            _coinConfig = coinConfig;

            List = new List<TxOut>();
        }
コード例 #4
0
 public VanillaServer(IPool pool, IMinerManager minerManager, IJobManager jobManager, ICoinConfig coinConfig)
 {
     _pool = pool;
     _minerManager = minerManager;
     _jobManager = jobManager;
     _logger = Log.ForContext<VanillaServer>().ForContext("Component", coinConfig.Name);
 }
コード例 #5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="PoolConfig"/> class.
        /// </summary>
        /// <param name="config">The configuration.</param>
        /// <param name="coinConfig"></param>
        public PoolConfig(dynamic config, ICoinConfig coinConfig)
        {
            try
            {
                Enabled = config.enabled ? config.enabled : false;

                if (Enabled == false) // if the configuration is not enabled
                {
                    return;           // just skip reading rest of the parameters.
                }
                Coin = coinConfig;    // assign the coin config.

                // load the sections.
                Daemon   = new DaemonConfig(config.daemon);
                Meta     = new MetaConfig(config.meta);
                Wallet   = new WalletConfig(config.wallet);
                Rewards  = new RewardsConfig(config.rewards);
                Payments = new PaymentConfig(config.payments);
                Miner    = new MinerConfig(config.miner);
                Job      = new JobConfig(config.job);
                Stratum  = new StratumServerConfig(config.stratum);
                Banning  = new BanConfig(config.banning);
                Storage  = new RedisConfig(config.storage.redis);
                Vanilla  = new VanillaServerConfig(config.vanilla);

                Valid = true;
            }
            catch (Exception e)
            {
                Valid = false;
                Log.Logger.ForContext <PoolConfig>().Error(e, "Error loading pool configuration");
            }
        }
コード例 #6
0
        public OutputsTests()
        {
            _daemonClient = Substitute.For<IDaemonClient>();
            _daemonClient.ValidateAddress(Arg.Any<string>()).Returns(new ValidateAddress { IsValid = true });

            _coinConfig = Substitute.For<ICoinConfig>();
            _coinConfig.Options.IsProofOfStakeHybrid.Returns(false);
        }
コード例 #7
0
        public OutputsTests()
        {
            _daemonClient = Substitute.For<IDaemonClient>();
            _daemonClient.ValidateAddress(Arg.Any<string>()).Returns(new ValidateAddress { IsValid = true });

            _coinConfig = Substitute.For<ICoinConfig>();
            _coinConfig.Options.IsProofOfStakeHybrid.Returns(false);
        }
コード例 #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="StratumServer"/> class.
 /// </summary>
 /// <param name="pool"></param>
 /// <param name="minerManager">The miner manager.</param>
 /// <param name="jobManager"></param>
 /// <param name="banManager"></param>
 /// <param name="coinConfig"></param>
 public StratumServer(IPool pool, IMinerManager minerManager, IJobManager jobManager, IBanManager banManager, ICoinConfig coinConfig)
 {
     _pool = pool;
     _minerManager = minerManager;
     _jobManager = jobManager;
     _banManager = banManager;
     _logger = Log.ForContext<StratumServer>().ForContext("Component", coinConfig.Name);
 }
コード例 #9
0
ファイル: ScryptN.cs プロジェクト: meritlabs/merit-pool
        private Dictionary <Int32, UInt64> _timeTable; // timeTable for the coin.

        public ScryptN(ICoinConfig coinConfig)
        {
            _r         = 1;
            _p         = 1;
            Multiplier = (UInt32)Math.Pow(2, 16);

            InitTimeTable(coinConfig.Extra.timeTable); // init the timeTable for the coin.
        }
コード例 #10
0
ファイル: ScryptN.cs プロジェクト: icede/CoiniumServ-develop
        private Dictionary<Int32, UInt64> _timeTable; // timeTable for the coin.

        #endregion Fields

        #region Constructors

        public ScryptN(ICoinConfig coinConfig)
        {
            _r = 1;
            _p = 1;
            Multiplier = (UInt32)Math.Pow(2, 16);

            InitTimeTable(coinConfig.Extra.timeTable); // init the timeTable for the coin.
        }
コード例 #11
0
ファイル: ObjectFactory.cs プロジェクト: banura/brasilcoin
        public IHashAlgorithm GetHashAlgorithm(ICoinConfig coinConfig)
        {
            var @params = new NamedParameterOverloads
            {
                { "coinConfig", coinConfig },
            };

            return(_applicationContext.Container.Resolve <IHashAlgorithm>(coinConfig.Algorithm, @params));
        }
コード例 #12
0
        public IPoolConfig GetPoolConfig(dynamic config, ICoinConfig coinConfig)
        {
            var @params = new NamedParameterOverloads
            {
                { "config", config },
                { "coinConfig", coinConfig }
            };

            return(_applicationContext.Container.Resolve <IPoolConfig>(@params));
        }
コード例 #13
0
ファイル: ObjectFactory.cs プロジェクト: banura/brasilcoin
        /// <summary>
        /// Returns a new instance of daemon client.
        /// </summary>
        /// <returns></returns>
        public IDaemonClient GetDaemonClient(IDaemonConfig daemonConfig, ICoinConfig coinConfig)
        {
            var @params = new NamedParameterOverloads
            {
                { "daemonConfig", daemonConfig },
                { "coinConfig", coinConfig }
            };

            return(_applicationContext.Container.Resolve <IDaemonClient>(@params));
        }
コード例 #14
0
        /// <summary>
        /// Returns a new instance of overpool client.
        /// </summary>
        /// <returns></returns>
        public IOverpoolClient GetOverpoolClient(IOverpoolConfig overpoolConfig, ICoinConfig coinConfig)
        {
            var @params = new NamedParameterOverloads
            {
                { "overpoolConfig", overpoolConfig },
                { "coinConfig", coinConfig }
            };

            return(_applicationContext.Container.Resolve <IOverpoolClient>(@params));
        }
コード例 #15
0
        public IPoolConfig GetPoolConfig(dynamic config, ICoinConfig coinConfig)
        {
            var @params = new NamedParameterOverloads
            {
                {"config", config},
                {"coinConfig", coinConfig}
            };

            return _applicationContext.Container.Resolve<IPoolConfig>(@params);
        }
コード例 #16
0
ファイル: OverpoolBase.cs プロジェクト: tross2015/CoiniumServ
        public OverpoolBase(IOverpoolConfig overpoolConfig, ICoinConfig coinConfig, IRpcExceptionFactory rpcExceptionFactory)
        {
            _rpcExceptionFactory = rpcExceptionFactory;
            _logger = LogManager.PacketLogger.ForContext <OverpoolClient>().ForContext("Component", coinConfig.Name);

            _timeout = overpoolConfig.Timeout * 1000; // set the overpool timeout.

            RpcUrl      = string.Format("http://{0}:{1}", overpoolConfig.Host, overpoolConfig.Port);
            RpcUser     = overpoolConfig.Username;
            RpcPassword = overpoolConfig.Password;

            RequestCounter = 0;
        }
コード例 #17
0
        public DaemonBase(IDaemonConfig daemonConfig, ICoinConfig coinConfig, IRpcExceptionFactory rpcExceptionFactory)
        {
            _rpcExceptionFactory = rpcExceptionFactory;
            _logger = LogManager.PacketLogger.ForContext <DaemonClient>().ForContext("Component", coinConfig.Name);

            _timeout = daemonConfig.Timeout * 1000; // set the daemon timeout.

            RpcUrl      = string.Format("http://{0}:{1}", daemonConfig.Host, daemonConfig.Port);
            RpcUser     = daemonConfig.Username;
            RpcPassword = daemonConfig.Password;

            RequestCounter = 0;
        }
コード例 #18
0
ファイル: PoolConfig.cs プロジェクト: zacons/CoiniumServ
        /// <summary>
        /// Initializes a new instance of the <see cref="PoolConfig"/> class.
        /// </summary>
        /// <param name="config">The configuration.</param>
        /// <param name="coinConfig"></param>
        public PoolConfig(dynamic config, ICoinConfig coinConfig)
        {
            try
            {
                _logger = Log.ForContext <PoolConfig>().ForContext("Component", coinConfig.Name);

                Enabled = config.enabled ? config.enabled : false;

                if (Enabled == false) // if the configuration is not enabled
                {
                    return;           // just skip reading rest of the parameters.
                }
                Coin = coinConfig;    // assign the coin config.

                // load the sections.
                Daemon   = new DaemonConfig(config.daemon);
                Meta     = new MetaConfig(config.meta);
                Wallet   = new WalletConfig(config.wallet);
                Rewards  = new RewardsConfig(config.rewards);
                Payments = new PaymentConfig(config.payments);
                Miner    = new MinerConfig(config.miner);
                Job      = new JobConfig(config.job);
                Stratum  = new StratumServerConfig(config.stratum);
                Banning  = new BanConfig(config.banning);
                Storage  = new StorageConfig(config.storage);
                Vanilla  = new VanillaServerConfig(config.vanilla);

                // process extra checks
                if (Storage.Layer is MposStorageLayerConfig)
                {
                    if (Payments.Enabled)
                    {
                        Payments.Disable();
                        _logger.Information("Disabled payments processor as it can not be enabled when MPOS mode is on");
                    }
                }

                Valid = true;
            }
            catch (Exception e)
            {
                Valid = false;
                _logger.Error(e, "Error loading pool configuration");
            }
        }
コード例 #19
0
        /// <summary>
        /// Initializes a new instance of the <see cref="PoolConfig"/> class.
        /// </summary>
        /// <param name="config">The configuration.</param>
        /// <param name="coinConfig"></param>
        public PoolConfig(dynamic config, ICoinConfig coinConfig)
        {
            try
            {
                _logger = Log.ForContext<PoolConfig>().ForContext("Component", coinConfig.Name);

                Enabled = config.enabled ? config.enabled : false;

                if (Enabled == false) // if the configuration is not enabled
                    return; // just skip reading rest of the parameters.

                // load the sections.
                Coin = coinConfig; // assign the coin config.
                Daemon = new DaemonConfig(config.daemon);
                Meta = new MetaConfig(config.meta);
                Wallet = new WalletConfig(config.wallet);
                Rewards = new RewardsConfig(config.rewards);
                Payments = new PaymentConfig(config.payments);
                Miner = new MinerConfig(config.miner);
                Job = new JobConfig(config.job);
                Stratum = new StratumServerConfig(config.stratum);
                Banning = new BanConfig(config.banning);
                Storage = new StorageConfig(config.storage);
                Getwork = new GetworkServerConfig(config.getwork);

                // process extra checks
                if (Storage.Layer is MposStorageConfig)
                {
                    if (Payments.Enabled)
                    {
                        Payments.Disable();
                        _logger.Information("Disabled payment processor as it can not be enabled when MPOS mode is on");
                    }
                }

                Valid = true;
            }
            catch (Exception e)
            {
                Valid = false;
                _logger.Error(e, "Error loading pool configuration");
            }
        }
コード例 #20
0
        public IHashAlgorithm GetHashAlgorithm(ICoinConfig coinConfig)
        {
            var @params = new NamedParameterOverloads
            {
                {"coinConfig", coinConfig},
            };

            return _applicationContext.Container.Resolve<IHashAlgorithm>(coinConfig.Algorithm, @params);
        }
コード例 #21
0
        public static readonly object[] EmptyString = {}; // used as empty parameter.

        public DaemonClient(IDaemonConfig daemonConfig, ICoinConfig coinConfig, IRpcExceptionFactory rpcExceptionFactory)
            : base(daemonConfig, coinConfig, rpcExceptionFactory)
        {
        }
コード例 #22
0
        public static readonly object[] EmptyString = {}; // used as empty parameter.

        public DaemonClient(IDaemonConfig daemonConfig, ICoinConfig coinConfig, IRpcExceptionFactory rpcExceptionFactory)
            : base(daemonConfig, coinConfig, rpcExceptionFactory)
        { }
コード例 #23
0
 public StratumService(ICoinConfig coinConfig, IShareManager shareManager)
     : base(coinConfig.Name)
 {
     _shareManager = shareManager;
 }
コード例 #24
0
        public static readonly object[] EmptyString = { };         // used as empty parameter.

        public OverpoolClient(IOverpoolConfig overpoolConfig, ICoinConfig coinConfig, IRpcExceptionFactory rpcExceptionFactory)
            : base(overpoolConfig, coinConfig, rpcExceptionFactory)
        {
            _requestLogger = LogManager.PacketLogger.ForContext <OverpoolClient>().ForContext("Component", coinConfig.Name);
        }
コード例 #25
0
 public VanillaService(ICoinConfig coinConfig, IShareManager shareManager, IDaemonClient daemonClient)
     : base(coinConfig.Name)
 {
     _daemonClient = daemonClient;
     _shareManager = shareManager;
 }
コード例 #26
0
        public IMiningServer GetMiningServer(string type, IPool pool, IMinerManager minerManager, IJobManager jobManager,
            IBanManager banManager, ICoinConfig coinConfig)
        {
            var @params = new NamedParameterOverloads
            {
                {"pool", pool},
                {"minerManager", minerManager},
                {"jobManager", jobManager},
                {"banManager", banManager},
                {"coinConfig", coinConfig}
            };

            return _applicationContext.Container.Resolve<IMiningServer>(type, @params);
        }
コード例 #27
0
        /// <summary>
        /// Returns a new instance of daemon client.
        /// </summary>
        /// <returns></returns>
        public IDaemonClient GetDaemonClient(IDaemonConfig daemonConfig, ICoinConfig coinConfig)
        {
            var @params = new NamedParameterOverloads
            {
                {"daemonConfig", daemonConfig},
                {"coinConfig", coinConfig}
            };

            return _applicationContext.Container.Resolve<IDaemonClient>(@params);
        }
コード例 #28
0
        public IRpcService GetMiningService(string type, ICoinConfig coinConfig, IShareManager shareManager, IDaemonClient daemonClient)
        {
            var @params = new NamedParameterOverloads
            {
                {"coinConfig", coinConfig},
                {"shareManager", shareManager},
                {"daemonClient", daemonClient}
            };

            return _applicationContext.Container.Resolve<IRpcService>(type, @params);
        }