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; } } } }
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; }