public SeedInfoTransaction UploadSeedKey(SeedInfoTransaction transInfo) { RpcClient rpcClient = new RpcClient(); string queryString = ""; rpcClient.SetServerInfo(CeremonyClientFinal.Core.Settings.Default.server_url); JObject requestParam = new JObject(); requestParam["pubkey"] = MyInfo.MyWallet.GetPublicKey().ToString(); requestParam["transaction"] = transInfo.ToJson(); JObject requestBody = new JObject(); requestBody["method"] = "UploadSeedKey"; requestBody["params"] = requestParam; queryString = requestBody.ToString(); try { string response = rpcClient.SendRequest(queryString); JObject responseBody = JObject.Parse(response); JObject result = responseBody["result"]; if (result["result"].AsString() == "true") { GetServerStatus(); } else { // --------------------------> add alert here. } return(null); } catch (Exception ex) { return(null); } }
public SeedInfoTransaction GetSeedKey() { RpcClient rpcClient = new RpcClient(); string queryString = ""; rpcClient.SetServerInfo(CeremonyClientFinal.Core.Settings.Default.server_url); JObject requestParam = new JObject(); requestParam["pubkey"] = MyInfo.MyWallet.GetPublicKey().ToString(); JObject requestBody = new JObject(); requestBody["method"] = "GetSeedKey"; requestBody["params"] = requestParam; queryString = requestBody.ToString(); try { string response = rpcClient.SendRequest(queryString); JObject responseBody = JObject.Parse(response); JObject result = responseBody["result"]; if (result["result"].AsString() == "true") { SeedInfoTransaction tx = new SeedInfoTransaction(); tx.FromJson(result["data"]); return(tx); } return(null); } catch (Exception ex) { return(null); } }
public void GetServerStatus() { RpcClient rpcClient = new RpcClient(); string queryString = ""; rpcClient.SetServerInfo(CeremonyClientFinal.Core.Settings.Default.server_url); JObject requestParam = new JObject(); requestParam["pubkey"] = MyInfo.MyWallet.GetPublicKey().ToString(); JObject requestBody = new JObject(); requestBody["method"] = "GetInfo"; requestBody["params"] = requestParam; queryString = requestBody.ToString(); try { string response = rpcClient.SendRequest(queryString); JObject responseBody = JObject.Parse(response); JObject result = responseBody["result"]; if (result["result"].AsString() == "true") { JObject updateData = result["data"]; MyInfo.TotalParticipant = int.Parse(updateData["total_participants"].AsString()); MyInfo.SelectedIndex = int.Parse(updateData["selected_participants"].AsString()); MyInfo.MyStatus = int.Parse(updateData["my_status"].AsString()); nLastSegmentNumber = int.Parse(updateData["segment_number"].AsString()); nMyRange = (CeremonyClientFinal.Core.Settings.Default.nTotalSegments - nLastSegmentNumber) / (MyInfo.TotalParticipant - MyInfo.MyOrder + 1); switch (updateData["ceremony_status"].AsString()) { case "CEREMONY_STATUS_WAITING": nCurrentState = 0; break; case "CEREMONY_STATUS_STARTED": nCurrentState = 1; break; case "CEREMONY_STATUS_COMPLETED": nCurrentState = 2; break; default: break; } if (MyInfo.SelectedIndex == MyInfo.MyOrder && nCurrentState == 1) { SeedInfoFromServer = GetSeedKey(); txbSeedText.IsEnabled = true; txbSeedText.Tag = "Write your seed text here..."; btnReset.IsEnabled = true; btnGenerate.IsEnabled = true; } UpdateUserInterface(); } } catch (Exception ex) { } }