private void listViewExContact_MouseClick(object sender, MouseEventArgs e) { ListViewItem item = listViewExContact.GetItemAt(0, e.Y); bool found = false; if (item == null) { return; } for (int ix = item.SubItems.Count - 1; ix >= 0; --ix) { if (item.SubItems[ix].Bounds.Contains(e.Location)) { if (!found) { found = true; if (item.SubItems[ix].Text != "X") { Clipboard.SetText(item.SubItems[ix].Text); #if WINDOWS new Thread(() => ClassFormPhase.MessageBoxInterface(item.SubItems[ix].Text + " " + ClassTranslation.GetLanguageTextFromOrder("CONTACT_LIST_COPY_ACTION_CONTENT_TEXT"), string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Information)) .Start(); #else new Thread(delegate() { MethodInvoker invoker = () => MessageBox.Show(ClassFormPhase.WalletXiropht, item.SubItems[ix].Text + " " + ClassTranslation.GetLanguageTextFromOrder("CONTACT_LIST_COPY_ACTION_CONTENT_TEXT")); BeginInvoke(invoker); }).Start(); #endif } else { #if WINDOWS if (ClassFormPhase.MessageBoxInterface(ClassTranslation.GetLanguageTextFromOrder("CONTACT_LIST_REMOVE_ACTION_CONTENT_TEXT"), string.Empty, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) #else if (MessageBox.Show(ClassTranslation.GetLanguageTextFromOrder("CONTACT_LIST_REMOVE_ACTION_CONTENT_TEXT"), string.Empty, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) #endif { ClassContact.RemoveContact(item.SubItems[0].Text); // Remove contact by his name. listViewExContact.Items.Remove(item); listViewExContact.Refresh(); } } return; } } } }
private void buttonInsertContact_Click(object sender, EventArgs e) { if (CheckContactInformations()) { if (!ClassContact.InsertContact(textBoxContactName.Text, textBoxContactWalletAddress.Text)) { #if WINDOWS ClassFormPhase.MessageBoxInterface(ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_INSERT_CONTACT_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_INSERT_CONTACT_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Information); #else MessageBox.Show(ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_INSERT_CONTACT_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_INSERT_CONTACT_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Information); #endif } else { #if WINDOWS ClassFormPhase.MessageBoxInterface(ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_SUCCESS_INSERT_CONTACT_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_SUCCESS_INSERT_CONTACT_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Information); #else MessageBox.Show(ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_SUCCESS_INSERT_CONTACT_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_SUCCESS_INSERT_CONTACT_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Information); #endif string[] objectContact = { textBoxContactName.Text, textBoxContactWalletAddress.Text, "X" }; ListViewItem itemContact = new ListViewItem(objectContact); ClassFormPhase.WalletXiropht.ContactWalletForm.listViewExContact.Items.Add(itemContact); Close(); } } }
/// <summary> /// Check contact informations to insert. /// </summary> /// <returns></returns> private bool CheckContactInformations() { if (string.IsNullOrEmpty(textBoxContactName.Text)) { #if WINDOWS ClassFormPhase.MessageBoxInterface(ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_EMPTY_CONTACT_NAME_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_EMPTY_CONTACT_NAME_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_EMPTY_CONTACT_NAME_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_EMPTY_CONTACT_NAME_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #endif return(false); } if (textBoxContactName.Text.Contains("|")) // Don't allow to insert character separator inside. { #if WINDOWS ClassFormPhase.MessageBoxInterface(ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_INVALID_CONTACT_NAME_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_INVALID_CONTACT_NAME_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_INVALID_CONTACT_NAME_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_INVALID_CONTACT_NAME_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #endif return(false); } if (string.IsNullOrEmpty(textBoxContactWalletAddress.Text)) { #if WINDOWS ClassFormPhase.MessageBoxInterface(ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_EMPTY_CONTACT_WALLET_ADDRESS_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_EMPTY_CONTACT_WALLET_ADDRESS_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_EMPTY_CONTACT_WALLET_ADDRESS_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_EMPTY_CONTACT_WALLET_ADDRESS_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #endif return(false); } if (CheckSpecialCharacters(textBoxContactWalletAddress.Text)) { #if WINDOWS ClassFormPhase.MessageBoxInterface(ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_EMPTY_CONTACT_WALLET_ADDRESS_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_INVALID_CONTACT_WALLET_ADDRESS_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_INVALID_CONTACT_WALLET_ADDRESS_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_ERROR_INVALID_CONTACT_WALLET_ADDRESS_CONTENT_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #endif return(false); } return(true); }
public void AutoResizeColumns(ListView lv) { lv.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); ListView.ColumnHeaderCollection cc = lv.Columns; for (int i = 0; i < cc.Count; i++) { int colWidth = TextRenderer.MeasureText(cc[i].Text, lv.Font).Width + 30; if (colWidth > cc[i].Width || cc[i].Text == ClassTranslation.GetLanguageTextFromOrder("TRANSACTION_HISTORY_WALLET_COLUMN_FEE") || cc[i].Text == ClassTranslation.GetLanguageTextFromOrder("TRANSACTION_HISTORY_WALLET_COLUMN_AMOUNT")) { cc[i].Width = colWidth + 30; } } }
/// <summary> /// Translate on loading. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddContactWallet_Load(object sender, EventArgs e) { labelTextContactName.Text = ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_LABEL_CONTACT_NAME_TEXT"); labelTextContactWalletAddress.Text = ClassTranslation.GetLanguageTextFromOrder("CONTACT_SUBMENU_LABEL_CONTACT_WALLET_ADDRESS_TEXT"); }
private void ChangeWalletPassword_Load(object sender, EventArgs e) { labelChangePasswordWallet.Text = ClassTranslation.GetLanguageTextFromOrder("CHANGE_PASSWORD_WALLET_LABEL_OLD_PASSWORD_TEXT"); labelChangePasswordNewPassword.Text = ClassTranslation.GetLanguageTextFromOrder("CHANGE_PASSWORD_WALLET_LABEL_NEW_PASSWORD_TEXT"); labelChangePasswordPinCode.Text = ClassTranslation.GetLanguageTextFromOrder("CHANGE_PASSWORD_WALLET_LABEL_PIN_CODE_TEXT"); }
private void WaitingForm_Load(object sender, EventArgs e) { labelLoadingNetwork.Text = ClassTranslation.GetLanguageTextFromOrder(ClassTranslationEnumeration.waitingmenulabeltext); }
private async Task CreateWalletAsync() { if (InCreation) { ClassWalletObject.FullDisconnection(true); InCreation = false; } if (textBoxPathWallet.Text != "") { if (textBoxSelectWalletPassword.Text != "") { if (await ClassWalletObject .InitializationWalletConnection("", textBoxSelectWalletPassword.Text, "", ClassWalletPhase.Create)) { ClassWalletObject.WalletNewPassword = textBoxSelectWalletPassword.Text; ClassWalletObject.ListenSeedNodeNetworkForWallet(); InCreation = true; ClassWalletObject.WalletDataCreationPath = textBoxPathWallet.Text; new Thread(async delegate() { Stopwatch packetSpeedCalculator = new Stopwatch(); packetSpeedCalculator.Start(); if (await ClassWalletObject.WalletConnect .SendPacketWallet(ClassWalletObject.Certificate, string.Empty, false)) { packetSpeedCalculator.Stop(); if (packetSpeedCalculator.ElapsedMilliseconds > 0) { Thread.Sleep((int)packetSpeedCalculator.ElapsedMilliseconds); } if (!await ClassWalletObject .SendPacketWalletToSeedNodeNetwork( ClassWalletCommand.ClassWalletSendEnumeration.CreatePhase + "|" + textBoxSelectWalletPassword.Text)) { #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_ERROR_CANT_CONNECT_MESSAGE_CONTENT_TEXT"), string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); #else MethodInvoker invoke = () => MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_ERROR_CANT_CONNECT_MESSAGE_CONTENT_TEXT")); ClassFormPhase.WalletXiropht.BeginInvoke(invoke); #endif } void MethodInvoker() => textBoxSelectWalletPassword.Text = ""; BeginInvoke((MethodInvoker)MethodInvoker); } else { #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_ERROR_CANT_CONNECT_MESSAGE_CONTENT_TEXT"), string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); #else MethodInvoker invoke = () => MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_ERROR_CANT_CONNECT_MESSAGE_CONTENT_TEXT")); ClassFormPhase.WalletXiropht.BeginInvoke(invoke); #endif } }).Start(); } } } }
private void UpdateLangueForm() { labelWelcomeText.Text = ClassTranslation.GetLanguageTextFromOrder("FIRST_START_MENU_LABEL_WELCOME"); }
private async void ButtonSendTransaction_ClickAsync(object sender, EventArgs e) { try { string amountstring = textBoxAmount.Text.Replace(",", "."); string feestring = textBoxFee.Text.Replace(",", "."); var checkAmount = CheckAmount(amountstring); var checkFee = CheckAmount(feestring); if (checkAmount.Item1) { var amountSend = checkAmount.Item2; if (checkFee.Item1) { var feeSend = checkFee.Item2; if (CheckAmountNetwork(amountSend + feeSend)) { string destination = ClassUtility.RemoveSpecialCharacters(textBoxWalletDestination.Text); if ((destination.Length >= 48 && destination.Length <= 128) && Regex.IsMatch( destination, "[a-z0-9]+", RegexOptions.IgnoreCase)) { #if WINDOWS if (ClassFormPhase.MessageBoxInterface(ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_SUBMIT_CONTENT_TEXT").Replace(ClassTranslation.AmountSendOrder, "" + amountSend).Replace(ClassTranslation.TargetAddressOrder, destination), ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_SUBMIT_TITLE_TEXT"), MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) #else if (MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_SUBMIT_CONTENT_TEXT").Replace(ClassTranslation.AmountSendOrder, "" + amountSend).Replace(ClassTranslation.TargetAddressOrder, destination), ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_SUBMIT_TITLE_TEXT"), MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) #endif { ClassParallelForm.ShowWaitingForm(); if (checkBoxHideWalletAddress.Checked) { await ClassWalletObject.WalletConnect.SendPacketWallet( ClassWalletCommand.ClassWalletSendEnumeration.SendTransaction + "|" + destination + "|" + amountSend + "|" + feeSend + "|1", ClassWalletObject.Certificate, true); } else { await ClassWalletObject.WalletConnect.SendPacketWallet( ClassWalletCommand.ClassWalletSendEnumeration.SendTransaction + "|" + destination + "|" + amountSend + "|" + feeSend + "|0", ClassWalletObject.Certificate, true); } MethodInvoker invoke = () => { checkBoxHideWalletAddress.Checked = false; textBoxAmount.Text = "0.00000000"; textBoxFee.Text = "0.00001000"; textBoxWalletDestination.Text = string.Empty; }; BeginInvoke(invoke); } } else { #if WINDOWS ClassFormPhase.MessageBoxInterface(ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_ERROR_TARGET_CONTENT_TEXT"), string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_ERROR_TARGET_CONTENT_TEXT")); #endif } } } else { #if WINDOWS ClassFormPhase.MessageBoxInterface(ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_ERROR_FEE_CONTENT_TEXT"), string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_ERROR_FEE_CONTENT_TEXT")); #endif } } else { #if WINDOWS ClassFormPhase.MessageBoxInterface(ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_ERROR_AMOUNT_CONTENT_TEXT"), string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_ERROR_AMOUNT_CONTENT_TEXT")); #endif } } catch (Exception error) { Console.WriteLine("Exception error: " + error.Message); } Refresh(); }
/// <summary> /// Open and connect the wallet. /// </summary> /// <returns></returns> private void OpenAndConnectWallet() { if (textBoxPasswordWallet.Text == "") { #if WINDOWS ClassFormPhase.MessageBoxInterface(ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NO_PASSWORD_WRITTED_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NO_PASSWORD_WRITTED_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Warning); #else MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NO_PASSWORD_WRITTED_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NO_PASSWORD_WRITTED_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Warning); #endif return; } new Thread(async delegate() { try { bool error = false; string passwordEncrypted = ClassAlgo.GetEncryptedResultManual(ClassAlgoEnumeration.Rijndael, textBoxPasswordWallet.Text, textBoxPasswordWallet.Text, ClassWalletNetworkSetting.KeySize); ClassWalletObject.WalletDataDecrypted = ClassAlgo.GetDecryptedResultManual(ClassAlgoEnumeration.Rijndael, _walletFileData, passwordEncrypted, ClassWalletNetworkSetting.KeySize); // AES if (ClassWalletObject.WalletDataDecrypted == ClassAlgoErrorEnumeration.AlgoError) { error = true; } if (error) { ClassWalletObject.WalletDataDecrypted = ClassAlgo.GetDecryptedResultManual(ClassAlgoEnumeration.Rijndael, _walletFileData, textBoxPasswordWallet.Text, ClassWalletNetworkSetting.KeySize); // AES } if (ClassWalletObject.WalletDataDecrypted == ClassAlgoErrorEnumeration.AlgoError) { #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_WRONG_PASSWORD_WRITTED_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_WRONG_PASSWORD_WRITTED_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_WRONG_PASSWORD_WRITTED_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_WRONG_PASSWORD_WRITTED_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #endif return; } var splitWalletFileDecrypted = ClassWalletObject.WalletDataDecrypted.Split(new[] { "\n" }, StringSplitOptions.None); string walletAddress = splitWalletFileDecrypted[0]; string walletKey = splitWalletFileDecrypted[1]; if (!await ClassWalletObject.InitializationWalletConnection(walletAddress, textBoxPasswordWallet.Text, walletKey, ClassWalletPhase.Login)) { MethodInvoker invoker = () => textBoxPasswordWallet.Text = ""; BeginInvoke(invoker); #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NETWORK_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NETWORK_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Warning); #else MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NETWORK_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NETWORK_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Warning); #endif return; } MethodInvoker invoke = () => textBoxPasswordWallet.Text = ""; BeginInvoke(invoke); ClassWalletObject.ListenSeedNodeNetworkForWallet(); Stopwatch packetSpeedCalculator = new Stopwatch(); packetSpeedCalculator.Start(); if (await ClassWalletObject.WalletConnect.SendPacketWallet(ClassWalletObject.Certificate, string.Empty, false)) { packetSpeedCalculator.Stop(); if (packetSpeedCalculator.ElapsedMilliseconds > 0) { Thread.Sleep((int)packetSpeedCalculator.ElapsedMilliseconds); } await ClassWalletObject.WalletConnect.SendPacketWallet( ClassConnectorSettingEnumeration.WalletLoginType + "|" + ClassWalletObject.WalletConnect.WalletAddress, ClassWalletObject.Certificate, true); _walletFileData = string.Empty; _fileSelectedPath = string.Empty; invoke = () => labelOpenFileSelected.Text = ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_LABEL_FILE_SELECTED_TEXT"); BeginInvoke(invoke); } } catch { #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NETWORK_WRONG_PASSWORD_WRITTED_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NETWORK_WRONG_PASSWORD_WRITTED_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NETWORK_WRONG_PASSWORD_WRITTED_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NETWORK_WRONG_PASSWORD_WRITTED_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #endif } }).Start(); }
private async void StartAutoUpdateTimeReceived() { await Task.Factory.StartNew(async delegate() { while (true) { await Task.Delay(100); if (ClassWalletObject.SeedNodeConnectorWallet != null) { if (ClassWalletObject.SeedNodeConnectorWallet.ReturnStatus()) { MethodInvoker invoke; if (!string.IsNullOrEmpty(textBoxFee.Text)) { if (Decimal.TryParse(textBoxFee.Text.Replace(".", ","), out var feeAmount)) { Decimal timePendingFromFee = ClassWalletObject.RemoteNodeTotalPendingTransactionInNetwork; if (timePendingFromFee <= 0) { timePendingFromFee = 1; } else { Decimal decreaseTime = ((feeAmount * 1000) / timePendingFromFee) * 100; if (decreaseTime > 0) { timePendingFromFee = timePendingFromFee - decreaseTime; if (timePendingFromFee <= 0) { timePendingFromFee = 1; } else { timePendingFromFee = (timePendingFromFee * 1) / 100; } } } if (timePendingFromFee < 1) { timePendingFromFee = 1; } if (timePendingFromFee < 60) { timePendingFromFee = Math.Round(timePendingFromFee, 0); invoke = () => textBoxTransactionTime.Text = timePendingFromFee + " " + ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_TIME_SECOND_TEXT"); BeginInvoke(invoke); } else if (timePendingFromFee >= 60 && timePendingFromFee < 3600) { timePendingFromFee = timePendingFromFee / 60; timePendingFromFee = Math.Round(timePendingFromFee, 2); invoke = () => textBoxTransactionTime.Text = timePendingFromFee + " " + ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_TIME_MINUTE_TEXT"); BeginInvoke(invoke); } else if (timePendingFromFee >= 3600 && timePendingFromFee < 84600) { timePendingFromFee = timePendingFromFee / 3600; timePendingFromFee = Math.Round(timePendingFromFee, 2); invoke = () => textBoxTransactionTime.Text = timePendingFromFee + " " + ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_TIME_HOUR_TEXT"); BeginInvoke(invoke); } else if (timePendingFromFee >= 84600) { timePendingFromFee = timePendingFromFee / 84600; timePendingFromFee = Math.Round(timePendingFromFee, 2); invoke = () => textBoxTransactionTime.Text = timePendingFromFee + " " + ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_TIME_DAY_TEXT"); BeginInvoke(invoke); } } else { invoke = () => textBoxTransactionTime.Text = "N/A"; BeginInvoke(invoke); } } } } } }, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Current).ConfigureAwait(false); }
private async void buttonRestoreYourWallet_ClickAsync(object sender, EventArgs e) { string walletPath = textBoxPathWallet.Text; string walletPassword = textBoxPassword.Text; string walletKey = textBoxPrivateKey.Text; walletKey = Regex.Replace(walletKey, @"\s+", string.Empty); textBoxPassword.Text = string.Empty; textBoxPathWallet.Text = string.Empty; textBoxPrivateKey.Text = string.Empty; if (await ClassWalletObject.InitializationWalletConnection(string.Empty, walletPassword, string.Empty, ClassWalletPhase.Create)) { ClassWalletObject.ListenSeedNodeNetworkForWallet(); ClassWalletObject.WalletDataCreationPath = walletPath; new Thread(async delegate() { Stopwatch packetSpeedCalculator = new Stopwatch(); packetSpeedCalculator.Start(); if (await ClassWalletObject.WalletConnect.SendPacketWallet(ClassWalletObject.Certificate, string.Empty, false)) { packetSpeedCalculator.Stop(); if (packetSpeedCalculator.ElapsedMilliseconds > 0) { Thread.Sleep(1000); } string requestRestoreQrCodeEncrypted = null; using (ClassWalletRestoreFunctions walletRestoreFunctions = new ClassWalletRestoreFunctions()) { requestRestoreQrCodeEncrypted = walletRestoreFunctions.GenerateQRCodeKeyEncryptedRepresentation(walletKey, walletPassword); if (requestRestoreQrCodeEncrypted != null) { ClassWalletObject.WalletNewPassword = walletPassword; ClassWalletObject.WalletPrivateKeyEncryptedQRCode = walletKey; if (!await ClassWalletObject.SeedNodeConnectorWallet.SendPacketToSeedNodeAsync(ClassWalletCommand.ClassWalletSendEnumeration.AskPhase + "|" + requestRestoreQrCodeEncrypted, ClassWalletObject.Certificate, false, true)) { #if WINDOWS ClassFormPhase.MessageBoxInterface(ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_ERROR_CANT_CONNECT_MESSAGE_CONTENT_TEXT"), string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); #else MethodInvoker invoke = () => MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_ERROR_CANT_CONNECT_MESSAGE_CONTENT_TEXT")); ClassFormPhase.WalletXiropht.BeginInvoke(invoke); #endif } } else { #if WINDOWS ClassFormPhase.MessageBoxInterface("Invalid private key inserted.", string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); #else MethodInvoker invoke = () => MessageBox.Show(ClassFormPhase.WalletXiropht, "Invalid private key inserted."); ClassFormPhase.WalletXiropht.BeginInvoke(invoke); #endif } } } else { #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_ERROR_CANT_CONNECT_MESSAGE_CONTENT_TEXT"), string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); #else MethodInvoker invoke = () => MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_ERROR_CANT_CONNECT_MESSAGE_CONTENT_TEXT")); ClassFormPhase.WalletXiropht.BeginInvoke(invoke); #endif } }).Start(); } }
private void CalculateTimeToReceive() { MethodInvoker invoke; if (!string.IsNullOrEmpty(textBoxFee.Text)) { if (decimal.TryParse(textBoxFee.Text.Replace(".", ","), out var feeAmount)) { decimal timePendingFromFee = Program.WalletXiropht.ClassWalletObject .RemoteNodeTotalPendingTransactionInNetwork; if (timePendingFromFee <= 0) { timePendingFromFee = 1; } else { var decreaseTime = feeAmount * 1000 / timePendingFromFee * 100; if (decreaseTime > 0) { timePendingFromFee = timePendingFromFee - decreaseTime; if (timePendingFromFee <= 0) { timePendingFromFee = 1; } else { timePendingFromFee = timePendingFromFee * 1 / 100; } } } if (timePendingFromFee < 1) { timePendingFromFee = 1; } if (timePendingFromFee < 60) { timePendingFromFee = Math.Round(timePendingFromFee, 0); invoke = () => textBoxTransactionTime.Text = timePendingFromFee + " " + ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_TIME_SECOND_TEXT"); BeginInvoke(invoke); } else if (timePendingFromFee >= 60 && timePendingFromFee < 3600) { timePendingFromFee = timePendingFromFee / 60; timePendingFromFee = Math.Round(timePendingFromFee, 2); invoke = () => textBoxTransactionTime.Text = timePendingFromFee + " " + ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_TIME_MINUTE_TEXT"); BeginInvoke(invoke); } else if (timePendingFromFee >= 3600 && timePendingFromFee < 84600) { timePendingFromFee = timePendingFromFee / 3600; timePendingFromFee = Math.Round(timePendingFromFee, 2); invoke = () => textBoxTransactionTime.Text = timePendingFromFee + " " + ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_TIME_HOUR_TEXT"); BeginInvoke(invoke); } else if (timePendingFromFee >= 84600) { timePendingFromFee = timePendingFromFee / 84600; timePendingFromFee = Math.Round(timePendingFromFee, 2); invoke = () => textBoxTransactionTime.Text = timePendingFromFee + " " + ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_TIME_DAY_TEXT"); BeginInvoke(invoke); } } else { invoke = () => textBoxTransactionTime.Text = "N/A"; BeginInvoke(invoke); } } }
private void listViewBlockExplorer_MouseClick(object sender, MouseEventArgs e) { try { var item = listViewBlockExplorer.GetItemAt(0, e.Y); var found = false; if (item == null) { return; } for (var ix = item.SubItems.Count - 1; ix >= 0; --ix) { if (item.SubItems[ix].Bounds.Contains(e.Location)) { if (!found) { found = true; Clipboard.SetText(item.SubItems[ix].Text); #if WINDOWS Task.Factory.StartNew(() => ClassFormPhase.MessageBoxInterface( item.SubItems[ix].Text + " " + ClassTranslation.GetLanguageTextFromOrder( ClassTranslationEnumeration.transactionhistorywalletcopytext), string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Information)) .ConfigureAwait(false); #else LinuxClipboard.SetText(item.SubItems[ix].Text); Task.Factory.StartNew(() => { MethodInvoker invoker = () => MessageBox.Show(Program.WalletXiropht, item.SubItems[ix].Text + " " + ClassTranslation.GetLanguageTextFromOrder(ClassTranslationEnumeration.transactionhistorywalletcopytext)); BeginInvoke(invoker); }).ConfigureAwait(false); #endif return; } } } } catch { } }
private void WaitingForm_Load(object sender, EventArgs e) { labelLoadingNetwork.Text = ClassTranslation.GetLanguageTextFromOrder("WAITING_MENU_LABEL_TEXT"); }
/// <summary> /// Open and connect the wallet. /// </summary> /// <returns></returns> private void OpenAndConnectWallet() { if (textBoxPasswordWallet.Text == "") { #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder( "OPEN_WALLET_ERROR_MESSAGE_NO_PASSWORD_WRITTED_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder( "OPEN_WALLET_ERROR_MESSAGE_NO_PASSWORD_WRITTED_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Warning); #else MessageBox.Show(Program.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NO_PASSWORD_WRITTED_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NO_PASSWORD_WRITTED_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Warning); #endif return; } if (Program.WalletXiropht.WalletEnableProxyMode) { if (!Program.WalletXiropht.EnableTokenNetworkMode) { #if WINDOWS if (MetroMessageBox.Show(Program.WalletXiropht, "The proxy mode option is enabled, default mode to connect is recommended, also the proxy mode check process on initialization can take time. Do you want to continue ?", "Proxy feature", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No) { Program.WalletXiropht.ClassWalletObject.FullDisconnection(true, true).ConfigureAwait(false); return; } #else if (MessageBox.Show(Program.WalletXiropht, "The proxy mode option is enabled, default mode to connect is recommended, also the proxy mode check process on initialization can take time. Do you want to continue ?", "Proxy feature", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No) { Program.WalletXiropht.ClassWalletObject.FullDisconnection(true, true).ConfigureAwait(false); return; } #endif } } Task.Factory.StartNew(async delegate { await Program.WalletXiropht.InitializationWalletObject(); try { var error = false; var passwordEncrypted = ClassAlgo.GetEncryptedResultManual(ClassAlgoEnumeration.Rijndael, textBoxPasswordWallet.Text, textBoxPasswordWallet.Text, ClassWalletNetworkSetting.KeySize); if (Program.WalletXiropht.ClassWalletObject != null) { Program.WalletXiropht.ClassWalletObject.WalletDataDecrypted = ClassAlgo.GetDecryptedResultManual( ClassAlgoEnumeration.Rijndael, _walletFileData, passwordEncrypted, ClassWalletNetworkSetting.KeySize); // AES if (Program.WalletXiropht.ClassWalletObject.WalletDataDecrypted == ClassAlgoErrorEnumeration.AlgoError) { error = true; } if (error) { Program.WalletXiropht.ClassWalletObject.WalletDataDecrypted = ClassAlgo.GetDecryptedResultManual(ClassAlgoEnumeration.Rijndael, _walletFileData, textBoxPasswordWallet.Text, ClassWalletNetworkSetting.KeySize); // AES } if (Program.WalletXiropht.ClassWalletObject.WalletDataDecrypted == ClassAlgoErrorEnumeration.AlgoError) { #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder( "OPEN_WALLET_ERROR_MESSAGE_WRONG_PASSWORD_WRITTED_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder( "OPEN_WALLET_ERROR_MESSAGE_WRONG_PASSWORD_WRITTED_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(Program.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_WRONG_PASSWORD_WRITTED_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_WRONG_PASSWORD_WRITTED_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #endif return; } var splitWalletFileDecrypted = Program.WalletXiropht.ClassWalletObject.WalletDataDecrypted.Split(new[] { "\n" }, StringSplitOptions.None); var walletAddress = splitWalletFileDecrypted[0]; var walletKey = splitWalletFileDecrypted[1]; if (Program.WalletXiropht.ClassWalletObject == null) { await Program.WalletXiropht.InitializationWalletObject(); } if (!Program.WalletXiropht.EnableTokenNetworkMode) { if (!await Program.WalletXiropht.ClassWalletObject.InitializationWalletConnection( walletAddress, textBoxPasswordWallet.Text, walletKey, ClassWalletPhase.Login)) { MethodInvoker invoker = () => textBoxPasswordWallet.Text = ""; BeginInvoke(invoker); #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder( "OPEN_WALLET_ERROR_MESSAGE_NETWORK_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder( "OPEN_WALLET_ERROR_MESSAGE_NETWORK_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Warning); #else MessageBox.Show(Program.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NETWORK_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NETWORK_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Warning); #endif await Program.WalletXiropht.ClassWalletObject.FullDisconnection(true, true); return; } MethodInvoker invoke = () => textBoxPasswordWallet.Text = ""; BeginInvoke(invoke); Program.WalletXiropht.ClassWalletObject.ListenSeedNodeNetworkForWallet(); _walletFileData = string.Empty; _fileSelectedPath = string.Empty; invoke = () => labelOpenFileSelected.Text = ClassTranslation.GetLanguageTextFromOrder( "OPEN_WALLET_LABEL_FILE_SELECTED_TEXT"); BeginInvoke(invoke); if (Program.WalletXiropht.WalletSyncMode == ClassWalletSyncMode.WALLET_SYNC_DEFAULT || !Program.WalletXiropht.WalletEnableProxyMode) { if (await Program.WalletXiropht.ClassWalletObject.WalletConnect.SendPacketWallet( Program.WalletXiropht.ClassWalletObject.Certificate, string.Empty, false)) { await Program.WalletXiropht.ClassWalletObject.WalletConnect.SendPacketWallet( ClassConnectorSettingEnumeration.WalletLoginType + ClassConnectorSetting.PacketContentSeperator + Program.WalletXiropht .ClassWalletObject.WalletConnect.WalletAddress, Program.WalletXiropht.ClassWalletObject.Certificate, true); } } else if (Program.WalletXiropht.WalletSyncMode == ClassWalletSyncMode.WALLET_SYNC_PUBLIC_NODE && Program.WalletXiropht.WalletEnableProxyMode) { if (!ClassConnectorSetting.SeedNodeIp.ContainsKey(Program.WalletXiropht .ClassWalletObject.SeedNodeConnectorWallet.ReturnCurrentSeedNodeHost())) { await Program.WalletXiropht.ClassWalletObject.SeedNodeConnectorWallet.SendPacketToSeedNodeAsync( ClassConnectorSettingEnumeration.WalletLoginProxy + ClassConnectorSetting.PacketContentSeperator + Program.WalletXiropht.ClassWalletObject.WalletConnect.WalletAddress + ClassConnectorSetting.PacketContentSeperator + Program.WalletXiropht.ClassWalletObject.Certificate + ClassConnectorSetting.PacketSplitSeperator, string.Empty, false, false); } else { if (await Program.WalletXiropht.ClassWalletObject.WalletConnect.SendPacketWallet( Program.WalletXiropht.ClassWalletObject.Certificate, string.Empty, false)) { await Program.WalletXiropht.ClassWalletObject.WalletConnect.SendPacketWallet( ClassConnectorSettingEnumeration.WalletLoginType + ClassConnectorSetting.PacketContentSeperator + Program.WalletXiropht .ClassWalletObject.WalletConnect.WalletAddress, Program.WalletXiropht.ClassWalletObject.Certificate, true); } } } else if (Program.WalletXiropht.WalletSyncMode == ClassWalletSyncMode.WALLET_SYNC_MANUAL_NODE && Program.WalletXiropht.WalletEnableProxyMode) { await Program.WalletXiropht.ClassWalletObject.SeedNodeConnectorWallet.SendPacketToSeedNodeAsync( ClassConnectorSettingEnumeration.WalletLoginProxy + ClassConnectorSetting.PacketContentSeperator + Program.WalletXiropht.ClassWalletObject.WalletConnect.WalletAddress + ClassConnectorSetting.PacketContentSeperator + Program.WalletXiropht.ClassWalletObject.Certificate + ClassConnectorSetting.PacketSplitSeperator, string.Empty, false, false); } } else { Program.WalletXiropht.ClassWalletObject.InitializationWalletTokenMode(walletAddress, walletKey, textBoxPasswordWallet.Text); MethodInvoker invoke = () => textBoxPasswordWallet.Text = ""; BeginInvoke(invoke); invoke = () => labelOpenFileSelected.Text = ClassTranslation.GetLanguageTextFromOrder( "OPEN_WALLET_LABEL_FILE_SELECTED_TEXT"); BeginInvoke(invoke); ClassFormPhase.SwitchFormPhase(ClassFormPhaseEnumeration.Overview); } } else { #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder( "OPEN_WALLET_ERROR_MESSAGE_NETWORK_WRONG_PASSWORD_WRITTED_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder( "OPEN_WALLET_ERROR_MESSAGE_NETWORK_WRONG_PASSWORD_WRITTED_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(Program.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NETWORK_WRONG_PASSWORD_WRITTED_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NETWORK_WRONG_PASSWORD_WRITTED_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #endif } } catch { #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder( "OPEN_WALLET_ERROR_MESSAGE_NETWORK_WRONG_PASSWORD_WRITTED_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder( "OPEN_WALLET_ERROR_MESSAGE_NETWORK_WRONG_PASSWORD_WRITTED_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(Program.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NETWORK_WRONG_PASSWORD_WRITTED_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("OPEN_WALLET_ERROR_MESSAGE_NETWORK_WRONG_PASSWORD_WRITTED_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Error); #endif } }, CancellationToken.None, TaskCreationOptions.DenyChildAttach, TaskScheduler.Current); }
private void listViewBlockRewardTransactionHistory_MouseClick(object sender, MouseEventArgs e) { try { ListViewItem item = listViewBlockRewardTransactionHistory.GetItemAt(5, e.Y); if (item == null) { return; } for (int ix = item.SubItems.Count - 1; ix >= 0; --ix) { if (item.SubItems[ix].Bounds.Contains(e.Location)) { Clipboard.SetText(item.SubItems[ix].Text); #if WINDOWS new Thread(() => ClassFormPhase.MessageBoxInterface(item.SubItems[ix].Text + " " + ClassTranslation.GetLanguageTextFromOrder("TRANSACTION_HISTORY_WALLET_COPY_TEXT"), string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error)) .Start(); #else LinuxClipboard.SetText(item.SubItems[ix].Text); new Thread(delegate() { MethodInvoker invoker = () => MessageBox.Show(ClassFormPhase.WalletXiropht, item.SubItems[ix].Text + " " + ClassTranslation.GetLanguageTextFromOrder("TRANSACTION_HISTORY_WALLET_COPY_TEXT")); BeginInvoke(invoker); }).Start(); #endif return; } } } catch { } }
/// <summary> /// Show amount and wallet address. /// </summary> /// <param name="walletAddress"></param> /// <param name="walletAmount"></param> public static void ShowWalletInformationInMenu(string walletAddress, string walletAmount) { WalletXiropht.BeginInvoke((MethodInvoker) delegate { WalletXiropht.labelNoticeWalletAddress.Text = ClassTranslation.GetLanguageTextFromOrder("PANEL_WALLET_ADDRESS_TEXT") + " " + walletAddress; }); bool showPendingAmount = false; if (ClassWalletObject.WalletAmountInPending != null) { if (!string.IsNullOrEmpty(ClassWalletObject.WalletAmountInPending)) { showPendingAmount = true; } } if (!showPendingAmount) { WalletXiropht.BeginInvoke((MethodInvoker) delegate { WalletXiropht.labelNoticeWalletBalance.Text = ClassTranslation.GetLanguageTextFromOrder("PANEL_WALLET_BALANCE_TEXT") + " " + walletAmount + " " + ClassConnectorSetting.CoinNameMin; }); } else { WalletXiropht.BeginInvoke((MethodInvoker) delegate { WalletXiropht.labelNoticeWalletBalance.Text = ClassTranslation.GetLanguageTextFromOrder("PANEL_WALLET_BALANCE_TEXT") + " " + ClassWalletObject.WalletConnect.WalletAmount + " " + ClassConnectorSetting.CoinNameMin + " | " + ClassTranslation.GetLanguageTextFromOrder("PANEL_WALLET_PENDING_BALANCE_TEXT") + " " + ClassWalletObject.WalletAmountInPending + " " + ClassConnectorSetting.CoinNameMin; }); } }
private async void buttonRestoreYourWallet_ClickAsync(object sender, EventArgs e) { if (CheckPasswordValidity()) { ClassParallelForm.ShowWaitingFormAsync(); var walletPath = textBoxPathWallet.Text; var walletPassword = textBoxPassword.Text; var walletKey = textBoxPrivateKey.Text; walletKey = Regex.Replace(walletKey, @"\s+", string.Empty); textBoxPassword.Text = string.Empty; textBoxPathWallet.Text = string.Empty; textBoxPrivateKey.Text = string.Empty; CheckPasswordValidity(); await Task.Factory.StartNew(async() => { var walletRestoreFunctions = new ClassWalletRestoreFunctions(); var requestRestoreQrCodeEncrypted = walletRestoreFunctions.GenerateQrCodeKeyEncryptedRepresentation(walletKey, walletPassword); if (Program.WalletXiropht.ClassWalletObject != null) { await Program.WalletXiropht.InitializationWalletObject(); } if (await Program.WalletXiropht.ClassWalletObject.InitializationWalletConnection(string.Empty, walletPassword, string.Empty, ClassWalletPhase.Restore)) { Program.WalletXiropht.ClassWalletObject.ListenSeedNodeNetworkForWallet(); Program.WalletXiropht.ClassWalletObject.WalletDataCreationPath = walletPath; if (await Program.WalletXiropht.ClassWalletObject.WalletConnect.SendPacketWallet( Program.WalletXiropht.ClassWalletObject.Certificate, string.Empty, false)) { if (requestRestoreQrCodeEncrypted != null) { Program.WalletXiropht.ClassWalletObject.WalletNewPassword = walletPassword; Program.WalletXiropht.ClassWalletObject.WalletPrivateKeyEncryptedQRCode = walletKey; await Task.Delay(1000); if (!await Program.WalletXiropht.ClassWalletObject.SeedNodeConnectorWallet .SendPacketToSeedNodeAsync( ClassWalletCommand.ClassWalletSendEnumeration.AskPhase + ClassConnectorSetting.PacketContentSeperator + requestRestoreQrCodeEncrypted, Program.WalletXiropht.ClassWalletObject.Certificate, false, true)) { ClassParallelForm.HideWaitingFormAsync(); #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder( ClassTranslationEnumeration.createwalleterrorcantconnectmessagecontenttext), string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); #else MethodInvoker invoke = () => MessageBox.Show(Program.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder(ClassTranslationEnumeration.createwalleterrorcantconnectmessagecontenttext)); Program.WalletXiropht.BeginInvoke(invoke); #endif } } else { ClassParallelForm.HideWaitingFormAsync(); #if WINDOWS ClassFormPhase.MessageBoxInterface("Invalid private key inserted.", string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); #else MethodInvoker invoke = () => MessageBox.Show(Program.WalletXiropht, "Invalid private key inserted."); Program.WalletXiropht.BeginInvoke(invoke); #endif } } else { ClassParallelForm.HideWaitingFormAsync(); #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder( ClassTranslationEnumeration.createwalleterrorcantconnectmessagecontenttext), string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); #else MethodInvoker invoke = () => MessageBox.Show(Program.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder(ClassTranslationEnumeration.createwalleterrorcantconnectmessagecontenttext)); Program.WalletXiropht.BeginInvoke(invoke); #endif } } else { ClassParallelForm.HideWaitingFormAsync(); #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder( ClassTranslationEnumeration.createwalleterrorcantconnectmessagecontenttext), string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); #else MethodInvoker invoke = () => MessageBox.Show(Program.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder(ClassTranslationEnumeration.createwalleterrorcantconnectmessagecontenttext)); Program.WalletXiropht.BeginInvoke(invoke); #endif } walletRestoreFunctions.Dispose(); }, CancellationToken.None, TaskCreationOptions.LongRunning, TaskScheduler.Current); } else { #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder(ClassTranslationEnumeration.createwalletlabelpasswordrequirementtext), ClassTranslation.GetLanguageTextFromOrder( ClassTranslationEnumeration.walletnetworkobjectcreatewalletpassworderror2titletext), MessageBoxButtons.OK, MessageBoxIcon.Error); #else await Task.Factory.StartNew(() => { MethodInvoker invoke = () => MessageBox.Show(Program.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder(ClassTranslationEnumeration.createwalletlabelpasswordrequirementtext), ClassTranslation.GetLanguageTextFromOrder(ClassTranslationEnumeration.walletnetworkobjectcreatewalletpassworderror2titletext), MessageBoxButtons.OK, MessageBoxIcon.Error); Program.WalletXiropht.BeginInvoke(invoke); }).ConfigureAwait(false); #endif } }