Ejemplo n.º 1
0
        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;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        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();
                }
            }
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
 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;
         }
     }
 }
Ejemplo n.º 5
0
 /// <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");
 }
Ejemplo n.º 6
0
 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);
 }
Ejemplo n.º 8
0
        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");
 }
Ejemplo n.º 10
0
        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();
        }
Ejemplo n.º 11
0
        /// <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();
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        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();
            }
        }
Ejemplo n.º 14
0
        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");
 }
Ejemplo n.º 17
0
        /// <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);
        }
Ejemplo n.º 18
0
        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
            {
            }
        }
Ejemplo n.º 19
0
        /// <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
            }
        }