Ejemplo n.º 1
0
        public void GETNHWorkerRefresh()
        {
            string url = @"https://api.nicehash.com/api?method=stats.provider.workers&addr=" + CurrentNHWallet;

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            request.AutomaticDecompression = DecompressionMethods.GZip;

            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                using (Stream stream = response.GetResponseStream())
                    using (StreamReader reader = new StreamReader(stream))
                    {
                        lineWorker    = reader.ReadToEnd();
                        NHRelWorkers  = Reference.EaseMethods.getBetween(lineWorker, ":[", "\"algo");
                        NHRelWorkersA = Regex.Split(NHRelWorkers, "],");
                        SepWorkers    = NHRelWorkersA.OfType <string>().ToList();
                        for (int x = 0; x < SepWorkers.Count; x++)
                        {
                            if (SepWorkers[x] != "")
                            {
                                WorkerID = SepWorkers[x];
                                WorkerID = EaseMethods.RemoveforMiningKeepingCurly(WorkerID);
                                int RemoveA = WorkerID.LastIndexOf("{");
                                if (RemoveA > 0)
                                {
                                    WorkerID = WorkerID.Substring(0, RemoveA);
                                }
                                else if (RemoveA == 0)
                                {
                                    WorkerID = "EMPTY";
                                }
                                if (Crypto.bWorker == false)
                                {
                                    Reference.OptionsForm.HeaderWorkerv.Items.Add(WorkerID);
                                    RealWorkers.Add(WorkerID);
                                }
                            }
                            else if (SepWorkers[x] == "")
                            {
                                break;
                            }
                        }
                    }
        }
Ejemplo n.º 2
0
        public void GETWorkerInfo()
        {
            HideMiningLogos();
            STimeDays    = null;
            STimeHours   = null;
            STimeMins    = null;
            STimeSeconds = null;
            TimeCalc     = false;
            WorkerID     = Reference.OptionsForm.HeaderWorkerv.Text;

            if (Reference.OptionsForm.HeaderPoolv.Text == "NICEHASH")
            {
                MiningNH.Location = new Point(26, 30);
                MiningNH.Visible  = true;

                for (int x = 0; x < SepWorkers.Count; x++)
                {
                    WorkerID = SepWorkers[x];
                    WorkerID = EaseMethods.RemoveforMiningKeepingCurly(WorkerID);
                    int RemoveA = WorkerID.LastIndexOf("{");
                    if (RemoveA > 0)
                    {
                        WorkerID = WorkerID.Substring(0, RemoveA);
                    }
                    else if (RemoveA == 0)
                    {
                        WorkerID = "EMPTY";
                    }

                    if (WorkerID == Reference.OptionsForm.HeaderWorkerv.Text)
                    {
                        DATA = SepWorkers[x];
                        try
                        {
                            char last = DATA[DATA.Length - 1];
                            if (last != ']')
                            {
                                DATA = DATA + "]";
                            }
                        }
                        catch (Exception)
                        {
                        }
                        break;
                    }
                }

                DATA          = Reference.EaseMethods.getBetween(DATA, ",{\"", "]");
                DATA          = EaseMethods.RemoveExtraText(DATA);
                WorkerIDCheck = EaseMethods.RemoveCommas(DATA);
                SepDATA       = DATA.Split(',');

                GETWorkerNHProfit();

                if (SepDATA.Length == 6)
                {
                    //Setting Array Values to Variables
                    CurrentHashRate           = Convert.ToDouble(SepDATA[0]);
                    SUpTimeBeforeCalc         = Convert.ToDouble(SepDATA[1]);
                    Verified                  = SepDATA[2];
                    lblWorkerDifficultyv.Text = SepDATA[3];
                    KeyCurrentAlgo            = "\"" + SepDATA[5] + "\"";

                    //Use New Variables to Calculate Displayable Data
                    GETWorkerInfoNH();

                    //Set Leftover Labels
                    lblWorkerRejectv.Text          = "0 " + SHashEnd;
                    lblWorkerEfficiencyv.Text      = "100%";
                    lblWorkerEfficiencyv.ForeColor = Color.LightGreen;

                    //Calculate Profitability
                    GETWorkerCalcProfit();
                }
                else if (SepDATA.Length == 7)
                {
                    //Setting Array Values to Variables
                    CurrentHashRate           = Convert.ToDouble(SepDATA[0]);
                    CurrentRejectRate         = Convert.ToDouble(SepDATA[1]);
                    SUpTimeBeforeCalc         = Convert.ToDouble(SepDATA[2]);
                    Verified                  = SepDATA[3];
                    lblWorkerDifficultyv.Text = SepDATA[4];
                    KeyCurrentAlgo            = "\"" + SepDATA[6] + "\"";

                    //Use New Variables Including Rejected Speed | Set Labels
                    GETWorkerNHReject();
                }
                else if (SepDATA.Length == 8)
                {
                    //Setting Array Values to Variables
                    CurrentHashRate           = Convert.ToDouble(SepDATA[0]);
                    CurrentRejectRate         = Convert.ToDouble(SepDATA[1]) + Convert.ToDouble(SepDATA[2]);
                    SUpTimeBeforeCalc         = Convert.ToDouble(SepDATA[3]);
                    Verified                  = SepDATA[4];
                    lblWorkerDifficultyv.Text = SepDATA[5];
                    KeyCurrentAlgo            = "\"" + SepDATA[7] + "\"";

                    //Use New Variables Including Rejected Speed | Set Labels
                    GETWorkerNHReject();

                    //Calculate Profitability
                    GETWorkerCalcProfit();
                }
                else if (SepDATA.Length == 9)
                {
                    //Setting Array Values to Variables
                    CurrentHashRate           = Convert.ToDouble(SepDATA[0]);
                    CurrentRejectRate         = Convert.ToDouble(SepDATA[1]) + Convert.ToDouble(SepDATA[2]) + Convert.ToDouble(SepDATA[3]);
                    SUpTimeBeforeCalc         = Convert.ToDouble(SepDATA[3]);
                    Verified                  = SepDATA[5];
                    lblWorkerDifficultyv.Text = SepDATA[6];
                    KeyCurrentAlgo            = "\"" + SepDATA[8] + "\"";

                    //Use New Variables Including Rejected Speed | Set Labels
                    GETWorkerNHReject();

                    //Calculate Profitability
                    GETWorkerCalcProfit();
                }
                else if (SepDATA.Length == 10)
                {
                    //Setting Array Values to Variables
                    CurrentHashRate           = Convert.ToDouble(SepDATA[0]);
                    CurrentRejectRate         = Convert.ToDouble(SepDATA[1]) + Convert.ToDouble(SepDATA[2]) + Convert.ToDouble(SepDATA[3]) + Convert.ToDouble(SepDATA[4]);
                    SUpTimeBeforeCalc         = Convert.ToDouble(SepDATA[4]);
                    Verified                  = SepDATA[6];
                    lblWorkerDifficultyv.Text = SepDATA[7];
                    KeyCurrentAlgo            = "\"" + SepDATA[9] + "\"";

                    //Use New Variables Including Rejected Speed | Set Labels
                    GETWorkerNHReject();

                    //Calculate Profitability
                    GETWorkerCalcProfit();
                }
                else
                {
                    //If Nicehash API is Updated this Formula could potentially break
                    MessageBox.Show("NICEHASH API IS DELAYED - PLEASE TRY AGAIN LATER");
                    lblWorkerIDv.Text              = "No Data";
                    lblWorkerAlgov.Text            = "No Data";
                    lblWorkerDifficultyv.Text      = "No Data";
                    lblWorkerUpTimev.Text          = "No Data";
                    lblWorkerVerifiedv.Text        = "No Data";
                    lblWorkerVerifiedv.ForeColor   = Color.Black;
                    lblWorkerEfficiencyv.Text      = "No Data";
                    lblWorkerEfficiencyv.ForeColor = Color.Black;
                    lblWorkerHashv.Text            = "No Data";
                    lblWorkerRejectv.Text          = "No Data";
                    lblProfitv.Text = "No Data";
                }
            }
            Crypto.SYNCED = true;
        }