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 { } }
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(); } } }
private void textBoxPinCode_TextChangedAsync(object sender, EventArgs e) { if (textBoxPinCode.Text.Length >= 4) { new Thread(async delegate() { if (!await ClassWalletObject.WalletConnect .SendPacketWallet( ClassWalletCommand.ClassWalletSendEnumeration.PinPhase + "|" + textBoxPinCode.Text, ClassWalletObject.Certificate, true)) { ClassWalletObject.FullDisconnection(true); ClassFormPhase.SwitchFormPhase(ClassFormPhaseEnumeration.Main); #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder("PIN_CODE_SUBMIT_MENU_NETWORK_ERROR_TEXT"), string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("PIN_CODE_SUBMIT_MENU_NETWORK_ERROR_TEXT")); #endif } MethodInvoker invoke = () => textBoxPinCode.Text = string.Empty; BeginInvoke(invoke); ClassParallelForm.PinFormShowed = false; invoke = () => Hide(); BeginInvoke(invoke); }).Start(); } }
private void ButtonAcceptAndCloseWalletInformation_Click(object sender, EventArgs e) { #if WINDOWS if (ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_SUBMENU_BUTTON_ACCEPT_WALLET_INFORMATION_MESSAGE_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_SUBMENU_BUTTON_ACCEPT_WALLET_INFORMATION_MESSAGE_TITLE_TEXT"), MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) #else if (MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_SUBMENU_BUTTON_ACCEPT_WALLET_INFORMATION_MESSAGE_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_SUBMENU_BUTTON_ACCEPT_WALLET_INFORMATION_MESSAGE_TITLE_TEXT"), MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) #endif { labelYourPrivateKey.Text = ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_SUBMENU_LABEL_PRIVATE_KEY_TEXT"); labelYourPublicKey.Text = ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_SUBMENU_LABEL_PUBLIC_KEY_TEXT"); labelYourPinCode.Text = ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_SUBMENU_LABEL_PIN_CODE_TEXT"); PrivateKey = string.Empty; PublicKey = string.Empty; PinCode = string.Empty; Close(); } else { #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_SUBMENU_BUTTON_ACCEPT_WALLET_INFORMATION_MESSAGE_SAFE_CONTENT_TEXT"), string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_SUBMENU_BUTTON_ACCEPT_WALLET_INFORMATION_MESSAGE_SAFE_CONTENT_TEXT")); #endif } }
private void ButtonCopyWalletInformation_Click(object sender, EventArgs e) { #if WINDOWS Clipboard.SetText(labelYourPublicKey.Text + " " + Environment.NewLine + labelYourPrivateKey.Text + " " + Environment.NewLine + labelYourPinCode.Text); ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder( ClassTranslationEnumeration.createwalletsubmenubuttoncopywalletinformationcontenttext), ClassTranslation.GetLanguageTextFromOrder( ClassTranslationEnumeration.createwalletsubmenubuttoncopywalletinformationtitletext), MessageBoxButtons.OK, MessageBoxIcon.Question); #else LinuxClipboard.SetText(labelYourPublicKey.Text + " " + Environment.NewLine + labelYourPrivateKey.Text + " " + Environment.NewLine + labelYourPinCode.Text); MessageBox.Show(Program.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder(ClassTranslationEnumeration.createwalletsubmenubuttoncopywalletinformationcontenttext), ClassTranslation.GetLanguageTextFromOrder(ClassTranslationEnumeration.createwalletsubmenubuttoncopywalletinformationtitletext), MessageBoxButtons.OK, MessageBoxIcon.Question); #endif }
private void listViewExContact_MouseClick(object sender, MouseEventArgs e) { var item = listViewExContact.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; 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(Program.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 buttonEstimatedTimeInformation_Click(object sender, EventArgs e) { #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_TIME_RECEIVE_INFORMATION_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_TIME_RECEIVE_INFORMATION_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Information); #else MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_TIME_RECEIVE_INFORMATION_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_TIME_RECEIVE_INFORMATION_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Information); #endif }
private void buttonTokenNetworkHelp_Click(object sender, EventArgs e) { #if WINDOWS ClassFormPhase.MessageBoxInterface("The token network option permit to not have to use the online mode, and then to use only once this is necessary few requests to retrieve automatically your balance and to send a transaction once you want." + Environment.NewLine + "Note: The Token Network mode not permit to change your wallet password and not permit to disable your pin code.", "Token Network Option", MessageBoxButtons.OK, MessageBoxIcon.Information); #else MessageBox.Show(Program.WalletXiropht, "The token network option permit to not have to use the online mode, and then to use only once this is necessary few requests to retrieve automatically your balance and to send a transaction once you want." + Environment.NewLine + "Note: The Token Network mode not permit to change your wallet password and not permit to disable your pin code.", "Token Network Option", MessageBoxButtons.OK, MessageBoxIcon.Information); #endif }
private void buttonFeeInformationAccumulated_Click(object sender, EventArgs e) { #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder("OVERVIEW_WALLET_BUTTON_MESSAGE_TRANSACTION_FEE_ACCUMULATED_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("OVERVIEW_WALLET_BUTTON_MESSAGE_TRANSACTION_FEE_ACCUMULATED_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Information); #else MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("OVERVIEW_WALLET_BUTTON_MESSAGE_TRANSACTION_FEE_ACCUMULATED_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("OVERVIEW_WALLET_BUTTON_MESSAGE_TRANSACTION_FEE_ACCUMULATED_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Information); #endif }
private void ButtonCopyWalletInformation_Click(object sender, EventArgs e) { Clipboard.SetText(labelYourPublicKey.Text + " " + Environment.NewLine + labelYourPrivateKey.Text + " " + Environment.NewLine + labelYourPinCode.Text); #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_SUBMENU_BUTTON_COPY_WALLET_INFORMATION_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_SUBMENU_BUTTON_COPY_WALLET_INFORMATION_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Question); #else MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_SUBMENU_BUTTON_COPY_WALLET_INFORMATION_CONTENT_TEXT"), ClassTranslation.GetLanguageTextFromOrder("CREATE_WALLET_SUBMENU_BUTTON_COPY_WALLET_INFORMATION_TITLE_TEXT"), MessageBoxButtons.OK, MessageBoxIcon.Question); #endif }
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 CheckBoxHideWalletAddress_Click(object sender, EventArgs e) { if (checkBoxHideWalletAddress.Checked) { #if WINDOWS if (ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_OPTION_ANONYMITY_CONTENT1_TEXT"), ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_OPTION_ANONYMITY_TITLE_TEXT"), MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.No) #else if (MessageBox.Show(ClassFormPhase.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_OPTION_ANONYMITY_CONTENT1_TEXT"), ClassTranslation.GetLanguageTextFromOrder("SEND_TRANSACTION_WALLET_MESSAGE_OPTION_ANONYMITY_TITLE_TEXT"), MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.No) #endif { checkBoxHideWalletAddress.Checked = false; } } }
/// <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); }
private void ButtonAcceptAndCloseWalletInformation_Click(object sender, EventArgs e) { #if WINDOWS if (ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder( ClassTranslationEnumeration.createwalletsubmenubuttonacceptwalletinformationmessagecontenttext), ClassTranslation.GetLanguageTextFromOrder( ClassTranslationEnumeration.createwalletsubmenubuttonacceptwalletinformationmessagetitletext), MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) #else if (MessageBox.Show(Program.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder(ClassTranslationEnumeration.createwalletsubmenubuttonacceptwalletinformationmessagecontenttext), ClassTranslation.GetLanguageTextFromOrder(ClassTranslationEnumeration.createwalletsubmenubuttonacceptwalletinformationmessagetitletext), MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) #endif { labelYourPrivateKey.Text = ClassTranslation.GetLanguageTextFromOrder(ClassTranslationEnumeration.createwalletsubmenulabelprivatekeytext); labelYourPublicKey.Text = ClassTranslation.GetLanguageTextFromOrder(ClassTranslationEnumeration.createwalletsubmenulabelpublickeytext); labelYourPinCode.Text = ClassTranslation.GetLanguageTextFromOrder(ClassTranslationEnumeration.createwalletsubmenulabelpincodetext); PrivateKey = string.Empty; PublicKey = string.Empty; PinCode = string.Empty; Close(); } else { #if WINDOWS ClassFormPhase.MessageBoxInterface( ClassTranslation.GetLanguageTextFromOrder( ClassTranslationEnumeration.createwalletsubmenubuttonacceptwalletinformationmessagesafecontenttext), string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(Program.WalletXiropht, ClassTranslation.GetLanguageTextFromOrder(ClassTranslationEnumeration.createwalletsubmenubuttonacceptwalletinformationmessagesafecontenttext)); #endif } }
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(); } }
public static Dictionary <string, Dictionary <string, string> > LanguageDatabases = new Dictionary <string, Dictionary <string, string> >(); // Dictionnary content format -> {string:Language Name|Dictionnary:{string:text name|string:text content}} /// <summary> /// Read every language files, insert them to language database. /// </summary> public static void InitializationLanguage() { if (CurrentLanguage == null || string.IsNullOrEmpty(CurrentLanguage)) { CurrentLanguage = "english"; // By Default on initialization. } if (Directory.Exists(ClassUtility.ConvertPath(System.AppDomain.CurrentDomain.BaseDirectory + LanguageFolderName))) { string[] languageFilesList = Directory.GetFiles(ClassUtility.ConvertPath(System.AppDomain.CurrentDomain.BaseDirectory + LanguageFolderName), "*.xirlang").Select(Path.GetFileName).ToArray(); if (languageFilesList.Length == 0) { #if DEBUG Log.WriteLine("No language files found, please reinstall your gui wallet."); #endif #if WINDOWS ClassFormPhase.MessageBoxInterface("No language files found, please reinstall your gui wallet.", "No language files found.", MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(ClassFormPhase.WalletXiropht, "No language files found, please reinstall your gui wallet.", "No language files found.", MessageBoxButtons.OK, MessageBoxIcon.Error); #endif Process.GetCurrentProcess().Kill(); } else { for (int i = 0; i < languageFilesList.Length; i++) { if (i < languageFilesList.Length) { if (languageFilesList[i] != null) { if (!string.IsNullOrEmpty(languageFilesList[i])) { string currentLanguage = string.Empty; #if DEBUG Log.WriteLine("Read language file: " + languageFilesList[i]); #endif using (FileStream fs = File.Open(ClassUtility.ConvertPath(System.AppDomain.CurrentDomain.BaseDirectory + LanguageFolderName + "\\" + languageFilesList[i]), FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (BufferedStream bs = new BufferedStream(fs)) using (StreamReader sr = new StreamReader(bs)) { string line; while ((line = sr.ReadLine()) != null) { if (!line.Contains("#") && !string.IsNullOrEmpty(line)) // Ignore lines who contains # character. { if (line.Contains("LANGUAGE_NAME=")) { currentLanguage = line.Replace("LANGUAGE_NAME=", "").ToLower(); #if DEBUG Log.WriteLine("Language name detected: " + currentLanguage); #endif if (!LanguageDatabases.ContainsKey(currentLanguage)) { LanguageDatabases.Add(currentLanguage, new Dictionary <string, string>()); } } else if (line.Contains("CONTRIBUTOR=")) { if (!LanguageContributors.ContainsKey(currentLanguage)) { LanguageContributors.Add(currentLanguage, new List <string>()); } LanguageContributors[currentLanguage].Add(line.Replace("CONTRIBUTOR=", "")); } else { if (currentLanguage != string.Empty) // Ignore lines if the current language name of the file is not found. { var splitLanguageText = line.Split(new[] { "=" }, StringSplitOptions.None); var orderLanguageText = splitLanguageText[0]; var contentLanguageText = splitLanguageText[1]; // Replace commands. contentLanguageText = contentLanguageText.Replace(CoinNameOrder, ClassConnectorSetting.CoinName); contentLanguageText = contentLanguageText.Replace(CoinMinNameOrder, ClassConnectorSetting.CoinNameMin); contentLanguageText = contentLanguageText.Replace("\\n", Environment.NewLine); // Insert. LanguageDatabases[currentLanguage].Add(orderLanguageText, contentLanguageText); #if DEBUG Log.WriteLine("Insert order language text: " + orderLanguageText + " with content language text: " + contentLanguageText + " for language name: " + currentLanguage); #endif } } } } } } } } } } } else { #if DEBUG Log.WriteLine("No language folder found, please reinstall your gui wallet."); #endif #if WINDOWS ClassFormPhase.MessageBoxInterface("No language folder found, please reinstall your gui wallet.", "No folder language found.", MessageBoxButtons.OK, MessageBoxIcon.Error); #else MessageBox.Show(ClassFormPhase.WalletXiropht, "No language folder found, please reinstall your gui wallet.", "No folder language found.", MessageBoxButtons.OK, MessageBoxIcon.Error); #endif Process.GetCurrentProcess().Kill(); } }
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(); }
private void ButtonMainCreateWallet_Click(object sender, EventArgs e) { ClassFormPhase.SwitchFormPhase(ClassFormPhaseEnumeration.CreateWallet); }
/// <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(); }
/// <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 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 async void CreateWalletAsync() { if (InCreation) { await Program.WalletXiropht.ClassWalletObject.FullDisconnection(true); InCreation = false; } if (CheckPasswordValidity()) { if (textBoxPathWallet.Text != "") { if (textBoxSelectWalletPassword.Text != "") { if (Program.WalletXiropht.ClassWalletObject != null) { await Program.WalletXiropht.InitializationWalletObject(); } if (Program.WalletXiropht.ClassWalletObject != null && await Program.WalletXiropht.ClassWalletObject.InitializationWalletConnection("", textBoxSelectWalletPassword.Text, "", ClassWalletPhase.Create)) { Program.WalletXiropht.ClassWalletObject.WalletNewPassword = textBoxSelectWalletPassword.Text; Program.WalletXiropht.ClassWalletObject.ListenSeedNodeNetworkForWallet(); InCreation = true; Program.WalletXiropht.ClassWalletObject.WalletDataCreationPath = textBoxPathWallet.Text; await Task.Factory.StartNew(async delegate { if (await Program.WalletXiropht.ClassWalletObject.WalletConnect.SendPacketWallet( Program.WalletXiropht.ClassWalletObject.Certificate, string.Empty, false)) { await Task.Delay(100); if (!await Program.WalletXiropht.ClassWalletObject .SendPacketWalletToSeedNodeNetwork( ClassWalletCommand.ClassWalletSendEnumeration.CreatePhase + ClassConnectorSetting.PacketContentSeperator + textBoxSelectWalletPassword.Text)) { #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 } void MethodInvoker() { textBoxSelectWalletPassword.Text = ""; } BeginInvoke((MethodInvoker)MethodInvoker); CheckPasswordValidity(); } else { #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 } }, CancellationToken.None, TaskCreationOptions.DenyChildAttach, TaskScheduler.Current);
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 } }