From 5550ce472e338bd1d1531f8f5e1a92912c42f06b Mon Sep 17 00:00:00 2001 From: Nathan Woodburn Date: Sat, 15 Jul 2023 21:06:11 +1000 Subject: [PATCH] main: Added save signed message --- FireWalletLite/DomainForm.Designer.cs | 21 +++++++++++---------- FireWalletLite/DomainForm.cs | 25 ++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 11 deletions(-) diff --git a/FireWalletLite/DomainForm.Designer.cs b/FireWalletLite/DomainForm.Designer.cs index 1c33768..d9498cc 100644 --- a/FireWalletLite/DomainForm.Designer.cs +++ b/FireWalletLite/DomainForm.Designer.cs @@ -39,10 +39,10 @@ buttonCancel = new Button(); buttonFinalize = new Button(); groupBoxSign = new GroupBox(); + textBoxSignature = new TextBox(); buttonSign = new Button(); textBoxSignMessage = new TextBox(); labelSignMessage = new Label(); - textBoxSignature = new TextBox(); groupBoxManage.SuspendLayout(); groupBoxSign.SuspendLayout(); SuspendLayout(); @@ -165,6 +165,15 @@ groupBoxSign.TabStop = false; groupBoxSign.Text = "Sign"; // + // textBoxSignature + // + textBoxSignature.Location = new Point(484, 56); + textBoxSignature.Multiline = true; + textBoxSignature.Name = "textBoxSignature"; + textBoxSignature.ReadOnly = true; + textBoxSignature.Size = new Size(260, 156); + textBoxSignature.TabIndex = 3; + // // buttonSign // buttonSign.Location = new Point(606, 218); @@ -182,6 +191,7 @@ textBoxSignMessage.Name = "textBoxSignMessage"; textBoxSignMessage.Size = new Size(472, 156); textBoxSignMessage.TabIndex = 1; + textBoxSignMessage.TextChanged += textBoxSignMessage_TextChanged; // // labelSignMessage // @@ -192,15 +202,6 @@ labelSignMessage.TabIndex = 0; labelSignMessage.Text = "Message:"; // - // textBoxSignature - // - textBoxSignature.Location = new Point(484, 56); - textBoxSignature.Multiline = true; - textBoxSignature.Name = "textBoxSignature"; - textBoxSignature.ReadOnly = true; - textBoxSignature.Size = new Size(260, 156); - textBoxSignature.TabIndex = 3; - // // DomainForm // AutoScaleDimensions = new SizeF(7F, 15F); diff --git a/FireWalletLite/DomainForm.cs b/FireWalletLite/DomainForm.cs index e0c47da..ff2835d 100644 --- a/FireWalletLite/DomainForm.cs +++ b/FireWalletLite/DomainForm.cs @@ -241,6 +241,23 @@ namespace FireWalletLite private async void buttonSign_Click(object sender, EventArgs e) { + if (buttonSign.Text == "Save") + { + SaveFileDialog saveFileDialog = new SaveFileDialog(); + saveFileDialog.Filter = "Text File|*.txt"; + saveFileDialog.Title = "Save Signature"; + if (saveFileDialog.ShowDialog() == DialogResult.OK) + { + JObject signature = new JObject(); + signature["domain"] = Domain; + signature["message"] = textBoxSignMessage.Text; + signature["signature"] = textBoxSignature.Text; + signature["time"] = DateTime.Now.ToString(); + File.WriteAllText(saveFileDialog.FileName, signature.ToString()); + } + + return; + } if (textBoxSignMessage.Text == "") { NotifyForm notify = new NotifyForm("Enter a message to sign"); @@ -250,7 +267,6 @@ namespace FireWalletLite } string content = "{\"method\": \"signmessagewithname\", \"params\": [\"" + Domain + "\", \"" + textBoxSignMessage.Text + "\"]}"; string response = await Main.APIPost("", true, content); - Main.AddLog(response); if (response == "Error") { NotifyForm notify = new NotifyForm("Error signing message"); @@ -262,13 +278,20 @@ namespace FireWalletLite if (jObject.ContainsKey("result")) { textBoxSignature.Text = jObject["result"].ToString(); + buttonSign.Text = "Save"; } else { + Main.AddLog(response); NotifyForm notify = new NotifyForm("Error signing message"); notify.ShowDialog(); notify.Dispose(); } } + + private void textBoxSignMessage_TextChanged(object sender, EventArgs e) + { + buttonSign.Text = "Sign"; + } } }