Merge branch 'feature/signMessage' into develop

This commit is contained in:
Nathan Woodburn 2023-07-15 21:23:30 +10:00
commit b29971e4aa
Signed by: nathanwoodburn
GPG Key ID: 203B000478AD0EF1
2 changed files with 83 additions and 2 deletions

View File

@ -39,6 +39,8 @@
buttonCancel = new Button(); buttonCancel = new Button();
buttonFinalize = new Button(); buttonFinalize = new Button();
groupBoxSign = new GroupBox(); groupBoxSign = new GroupBox();
textBoxSignature = new TextBox();
buttonSign = new Button();
textBoxSignMessage = new TextBox(); textBoxSignMessage = new TextBox();
labelSignMessage = new Label(); labelSignMessage = new Label();
groupBoxManage.SuspendLayout(); groupBoxManage.SuspendLayout();
@ -151,6 +153,8 @@
// //
// groupBoxSign // groupBoxSign
// //
groupBoxSign.Controls.Add(textBoxSignature);
groupBoxSign.Controls.Add(buttonSign);
groupBoxSign.Controls.Add(textBoxSignMessage); groupBoxSign.Controls.Add(textBoxSignMessage);
groupBoxSign.Controls.Add(labelSignMessage); groupBoxSign.Controls.Add(labelSignMessage);
groupBoxSign.Font = new Font("Segoe UI", 14F, FontStyle.Regular, GraphicsUnit.Point); groupBoxSign.Font = new Font("Segoe UI", 14F, FontStyle.Regular, GraphicsUnit.Point);
@ -161,13 +165,33 @@
groupBoxSign.TabStop = false; groupBoxSign.TabStop = false;
groupBoxSign.Text = "Sign"; 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);
buttonSign.Name = "buttonSign";
buttonSign.Size = new Size(138, 33);
buttonSign.TabIndex = 2;
buttonSign.Text = "Sign";
buttonSign.UseVisualStyleBackColor = true;
buttonSign.Click += buttonSign_Click;
//
// textBoxSignMessage // textBoxSignMessage
// //
textBoxSignMessage.Location = new Point(6, 56); textBoxSignMessage.Location = new Point(6, 56);
textBoxSignMessage.Multiline = true; textBoxSignMessage.Multiline = true;
textBoxSignMessage.Name = "textBoxSignMessage"; textBoxSignMessage.Name = "textBoxSignMessage";
textBoxSignMessage.Size = new Size(744, 195); textBoxSignMessage.Size = new Size(472, 156);
textBoxSignMessage.TabIndex = 1; textBoxSignMessage.TabIndex = 1;
textBoxSignMessage.TextChanged += textBoxSignMessage_TextChanged;
// //
// labelSignMessage // labelSignMessage
// //
@ -216,5 +240,7 @@
private GroupBox groupBoxSign; private GroupBox groupBoxSign;
private TextBox textBoxSignMessage; private TextBox textBoxSignMessage;
private Label labelSignMessage; private Label labelSignMessage;
private Button buttonSign;
private TextBox textBoxSignature;
} }
} }

View File

@ -37,7 +37,7 @@ namespace FireWalletLite
private void DomainForm_Load(object sender, EventArgs e) private void DomainForm_Load(object sender, EventArgs e)
{ {
if (!File.Exists(Main.dir + "domains.json")) return; if (!File.Exists(Main.dir + "domains.json")) return;
JArray domains = JArray.Parse(File.ReadAllText(Main.dir + "domains.json")); JArray domains = JArray.Parse(File.ReadAllText(Main.dir + "domains.json"));
foreach (JObject domain in domains) foreach (JObject domain in domains)
{ {
@ -238,5 +238,60 @@ namespace FireWalletLite
File.WriteAllText(Main.dir + "domains.json", domains.ToString()); File.WriteAllText(Main.dir + "domains.json", domains.ToString());
} }
} }
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");
notify.ShowDialog();
notify.Dispose();
return;
}
string content = "{\"method\": \"signmessagewithname\", \"params\": [\"" + Domain + "\", \"" + textBoxSignMessage.Text + "\"]}";
string response = await Main.APIPost("", true, content);
if (response == "Error")
{
NotifyForm notify = new NotifyForm("Error signing message");
notify.ShowDialog();
notify.Dispose();
return;
}
JObject jObject = JObject.Parse(response);
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";
}
} }
} }