mirror of
https://github.com/Nathanwoodburn/FireWallet.git
synced 2025-12-06 08:33:00 +11:00
Compare commits
14 Commits
hip02remot
...
bidsPage
| Author | SHA1 | Date | |
|---|---|---|---|
|
64fc28d745
|
|||
|
9f33c74bb0
|
|||
|
8f241fc90a
|
|||
|
dc09194759
|
|||
|
638a367029
|
|||
|
026849575d
|
|||
|
d1a150114e
|
|||
|
5d59bdee64
|
|||
|
74548a22e2
|
|||
|
ac2aa06888
|
|||
|
429cf0d67b
|
|||
|
38838096d6
|
|||
|
fae4bff32b
|
|||
|
df8c675588
|
@@ -1,12 +1,11 @@
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security.Principal;
|
||||
using System.Text;
|
||||
using Microsoft.VisualBasic;
|
||||
using System.Windows.Forms.VisualStyles;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using ContentAlignment = System.Drawing.ContentAlignment;
|
||||
using Point = System.Drawing.Point;
|
||||
|
||||
namespace FireWallet
|
||||
@@ -60,7 +59,7 @@ namespace FireWallet
|
||||
List<Batch> temp = new List<Batch>();
|
||||
foreach (Batch batch in batches)
|
||||
{
|
||||
if (batch.domain != domain && batch.method != operation)
|
||||
if (batch.domain != domain || batch.method != operation)
|
||||
{
|
||||
temp.Add(batch);
|
||||
}
|
||||
@@ -124,7 +123,7 @@ namespace FireWallet
|
||||
List<Batch> temp = new List<Batch>();
|
||||
foreach (Batch batch in batches)
|
||||
{
|
||||
if (batch.domain != domain && batch.method != operation)
|
||||
if (batch.domain != domain || batch.method != operation)
|
||||
{
|
||||
temp.Add(batch);
|
||||
}
|
||||
@@ -184,7 +183,7 @@ namespace FireWallet
|
||||
List<Batch> temp = new List<Batch>();
|
||||
foreach (Batch batch in batches)
|
||||
{
|
||||
if (batch.domain != domain && batch.method != operation)
|
||||
if (batch.domain != domain || batch.method != operation)
|
||||
{
|
||||
temp.Add(batch);
|
||||
}
|
||||
@@ -240,7 +239,7 @@ namespace FireWallet
|
||||
List<Batch> temp = new List<Batch>();
|
||||
foreach (Batch batch in batches)
|
||||
{
|
||||
if (batch.domain != domain && batch.method != operation)
|
||||
if (batch.domain != domain || batch.method != operation)
|
||||
{
|
||||
temp.Add(batch);
|
||||
}
|
||||
@@ -620,7 +619,7 @@ namespace FireWallet
|
||||
}
|
||||
else if (b.method == "UPDATE")
|
||||
{
|
||||
sw.WriteLine(b.domain + "," + b.method + ",[" + string.Join(", ", b.update.Select(record => record.ToString())) + "]");
|
||||
sw.WriteLine(b.domain + "," + b.method + ",[" + string.Join(";", b.update.Select(record => record.ToString())) + "]");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -652,14 +651,54 @@ namespace FireWallet
|
||||
{
|
||||
if (split[1] == "UPDATE")
|
||||
{
|
||||
// Select operation and import domains
|
||||
string[] newDomains = new string[domains.Length + 1];
|
||||
for (int i = 0; i < domains.Length; i++)
|
||||
// Join the rest of the line
|
||||
string[] updateArray = new string[split.Length - 2];
|
||||
for (int i = 0; i < updateArray.Length; i++)
|
||||
{
|
||||
newDomains[i] = domains[i];
|
||||
updateArray[i] = split[i + 2];
|
||||
}
|
||||
newDomains[domains.Length] = split[0];
|
||||
domains = newDomains;
|
||||
string updateString = string.Join(",", updateArray);
|
||||
updateString.TrimStart('[');
|
||||
updateString.TrimEnd(']');
|
||||
|
||||
string[] updateSplit = updateString.Split(';');
|
||||
DNS[] UpdateRecords = new DNS[updateSplit.Length];
|
||||
int r = 0;
|
||||
foreach (string update in updateSplit)
|
||||
{
|
||||
string[] updateRecord = update.Split(',');
|
||||
string type = updateRecord[0];
|
||||
type = type.Split(':')[1].Replace("\"","").Trim();
|
||||
switch (type)
|
||||
{
|
||||
case "NS":
|
||||
string ns = updateRecord[1].Split(':')[1].Replace("\"","").Replace("}","").Trim();
|
||||
UpdateRecords[r] = new DNS(type, ns);
|
||||
break;
|
||||
case "DS":
|
||||
int keyTag = int.Parse(updateRecord[1].Split(':')[1]);
|
||||
int algorithm = int.Parse(updateRecord[2].Split(':')[1]);
|
||||
int digestType = int.Parse(updateRecord[3].Split(':')[1]);
|
||||
string digest = updateRecord[4].Split(':')[1].Replace("\"", "").Replace("}", "");
|
||||
|
||||
UpdateRecords[r] = new DNS(type, keyTag, algorithm, digestType, digest);
|
||||
break;
|
||||
case "TXT":
|
||||
string txt = updateRecord[1].Split(':')[1].Replace("\"", "").Replace("}", "");
|
||||
txt = txt.Replace("[", "");
|
||||
txt = txt.Replace("]", "");
|
||||
UpdateRecords[r] = new DNS(type, new string[] { txt.Trim() });
|
||||
break;
|
||||
case "GLUE4":
|
||||
case "GLUE6":
|
||||
string nsGlue = updateRecord[1].Split(':')[1].Replace("\"", "").Trim();
|
||||
string address = updateRecord[2].Split(':')[1].Replace("\"", "").Replace("}", "").Trim();
|
||||
UpdateRecords[r] = new DNS(type, nsGlue, address);
|
||||
break;
|
||||
}
|
||||
r++;
|
||||
}
|
||||
AddBatch(split[0], split[1], UpdateRecords);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -712,6 +751,10 @@ namespace FireWallet
|
||||
{
|
||||
AddBatch(b.domain, b.method, b.toAddress);
|
||||
}
|
||||
else if (b.method == "UPDATE")
|
||||
{
|
||||
AddBatch(b.domain, b.method, b.update);
|
||||
}
|
||||
else
|
||||
{
|
||||
AddBatch(b.domain, b.method);
|
||||
@@ -754,22 +797,27 @@ namespace FireWallet
|
||||
req.Content = new StringContent(content);
|
||||
|
||||
// Send request
|
||||
HttpResponseMessage resp = await httpClient.SendAsync(req);
|
||||
|
||||
try
|
||||
{
|
||||
resp.EnsureSuccessStatusCode();
|
||||
}
|
||||
catch (Exception ex)
|
||||
HttpResponseMessage resp = await httpClient.SendAsync(req);
|
||||
if (resp.StatusCode != HttpStatusCode.OK)
|
||||
{
|
||||
AddLog("Post Error: " + ex.Message);
|
||||
AddLog("Post Error: " + resp.StatusCode.ToString());
|
||||
AddLog(await resp.Content.ReadAsStringAsync());
|
||||
AddLog(content);
|
||||
return "Error";
|
||||
}
|
||||
|
||||
return await resp.Content.ReadAsStringAsync();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
AddLog("Post Error: " + ex.Message);
|
||||
return "Error";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
public class Batch
|
||||
{
|
||||
@@ -830,6 +878,10 @@ namespace FireWallet
|
||||
return "[\"UPDATE\", \"" + domain + "\", " + records + "]";
|
||||
|
||||
}
|
||||
else if (method == "UPDATE")
|
||||
{
|
||||
return "[\"UPDATE\", \"" + domain + "\", {\"records\":[]}]";
|
||||
}
|
||||
return "[\"" + method + "\", \"" + domain + "\"]";
|
||||
}
|
||||
}
|
||||
|
||||
2
FireWallet/BatchImportForm.Designer.cs
generated
2
FireWallet/BatchImportForm.Designer.cs
generated
@@ -72,7 +72,7 @@
|
||||
comboBoxMode.FlatStyle = FlatStyle.Flat;
|
||||
comboBoxMode.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
comboBoxMode.FormattingEnabled = true;
|
||||
comboBoxMode.Items.AddRange(new object[] { "OPEN", "BID", "REVEAL", "REDEEM", "RENEW", "TRANSFER", "FINALIZE", "CANCEL" });
|
||||
comboBoxMode.Items.AddRange(new object[] { "OPEN", "BID", "REVEAL", "REDEEM", "REGISTER", "RENEW", "TRANSFER", "FINALIZE", "CANCEL" });
|
||||
comboBoxMode.Location = new Point(346, 42);
|
||||
comboBoxMode.Name = "comboBoxMode";
|
||||
comboBoxMode.Size = new Size(226, 29);
|
||||
|
||||
@@ -263,6 +263,21 @@ namespace FireWallet
|
||||
}
|
||||
this.Close();
|
||||
}
|
||||
else if (comboBoxMode.Text == "REGISTER")
|
||||
{
|
||||
batches = new Batch[0];
|
||||
foreach (string domain in listBoxDomains.Items)
|
||||
{
|
||||
if (domain != "")
|
||||
{
|
||||
Batch[] newBatch = new Batch[batches.Length + 1];
|
||||
Array.Copy(batches, newBatch, batches.Length);
|
||||
newBatch[newBatch.Length - 1] = new Batch(domain,"UPDATE",new DNS[0]);
|
||||
batches = newBatch;
|
||||
}
|
||||
}
|
||||
this.Close();
|
||||
}
|
||||
else if (comboBoxMode.Text == "TRANSFER")
|
||||
{
|
||||
batches = new Batch[0];
|
||||
|
||||
@@ -363,6 +363,12 @@ namespace FireWallet
|
||||
string contentDNS = "{\"method\": \"getnameresource\", \"params\": [\"" + domain + "\"]}";
|
||||
string responseDNS = await APIPost("", false, contentDNS);
|
||||
JObject jObjectDNS = JObject.Parse(responseDNS);
|
||||
|
||||
if (jObjectDNS["result"].ToString() == "")
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
JObject result = (JObject)jObjectDNS["result"];
|
||||
JArray records = (JArray)result["records"];
|
||||
// For each record
|
||||
|
||||
@@ -279,6 +279,14 @@ namespace FireWallet
|
||||
string contentDNS = "{\"method\": \"getnameresource\", \"params\": [\"" + domain + "\"]}";
|
||||
string responseDNS = await APIPost("", false, contentDNS);
|
||||
JObject jObjectDNS = JObject.Parse(responseDNS);
|
||||
|
||||
if (jObjectDNS["result"].ToString() == "")
|
||||
{
|
||||
// Not registered
|
||||
groupBoxDNS.Visible = false;
|
||||
return;
|
||||
}
|
||||
|
||||
JObject result = (JObject)jObjectDNS["result"];
|
||||
JArray records = (JArray)result["records"];
|
||||
// For each record
|
||||
@@ -814,7 +822,14 @@ namespace FireWallet
|
||||
|
||||
if (!DNSEdit.cancel)
|
||||
{
|
||||
string records = string.Join(", ", DNSEdit.DNSrecords.Select(record => record.ToString()));
|
||||
string records = "";
|
||||
if (DNSEdit.DNSrecords != null)
|
||||
{
|
||||
if (DNSEdit.DNSrecords.Count() > 0)
|
||||
{
|
||||
records = string.Join(", ", DNSEdit.DNSrecords.Select(record => record.ToString()));
|
||||
}
|
||||
}
|
||||
|
||||
string content = "{\"method\": \"sendupdate\", \"params\": [\"" + domain + "\", {\"records\": [" + records + "]}]}";
|
||||
string response = await APIPost("", true, content);
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<PackageIcon>HSDBatcher.png</PackageIcon>
|
||||
<RepositoryUrl>https://github.com/Nathanwoodburn/FireWallet</RepositoryUrl>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<Version>3.1</Version>
|
||||
<Version>3.3</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
64
FireWallet/MainForm.Designer.cs
generated
64
FireWallet/MainForm.Designer.cs
generated
@@ -45,6 +45,8 @@ namespace FireWallet
|
||||
githubToolStripMenuItem = new ToolStripMenuItem();
|
||||
websiteToolStripMenuItem = new ToolStripMenuItem();
|
||||
supportDiscordServerToolStripMenuItem = new ToolStripMenuItem();
|
||||
toolStripSeparator1 = new ToolStripSeparator();
|
||||
otherProjectsToolStripMenuItem = new ToolStripMenuItem();
|
||||
timerNodeStatus = new System.Windows.Forms.Timer(components);
|
||||
panelaccount = new Panel();
|
||||
groupBoxaccount = new GroupBox();
|
||||
@@ -56,6 +58,7 @@ namespace FireWallet
|
||||
labelaccountusername = new Label();
|
||||
buttonaccountnew = new Button();
|
||||
panelNav = new Panel();
|
||||
buttonNavBids = new Button();
|
||||
buttonNavSettings = new Button();
|
||||
buttonBatch = new Button();
|
||||
buttonNavDomains = new Button();
|
||||
@@ -124,8 +127,7 @@ namespace FireWallet
|
||||
textBoxExAddr = new TextBox();
|
||||
labelSettings4 = new Label();
|
||||
textBoxExTX = new TextBox();
|
||||
toolStripSeparator1 = new ToolStripSeparator();
|
||||
otherProjectsToolStripMenuItem = new ToolStripMenuItem();
|
||||
panelBids = new Panel();
|
||||
statusStripmain.SuspendLayout();
|
||||
panelaccount.SuspendLayout();
|
||||
groupBoxaccount.SuspendLayout();
|
||||
@@ -233,6 +235,18 @@ namespace FireWallet
|
||||
supportDiscordServerToolStripMenuItem.Text = "Support Discord Server";
|
||||
supportDiscordServerToolStripMenuItem.Click += supportDiscordServerToolStripMenuItem_Click;
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
toolStripSeparator1.Size = new Size(191, 6);
|
||||
//
|
||||
// otherProjectsToolStripMenuItem
|
||||
//
|
||||
otherProjectsToolStripMenuItem.Name = "otherProjectsToolStripMenuItem";
|
||||
otherProjectsToolStripMenuItem.Size = new Size(194, 22);
|
||||
otherProjectsToolStripMenuItem.Text = "Other Projects";
|
||||
otherProjectsToolStripMenuItem.Click += otherProjectsToolStripMenuItem_Click;
|
||||
//
|
||||
// timerNodeStatus
|
||||
//
|
||||
timerNodeStatus.Enabled = true;
|
||||
@@ -341,6 +355,7 @@ namespace FireWallet
|
||||
//
|
||||
// panelNav
|
||||
//
|
||||
panelNav.Controls.Add(buttonNavBids);
|
||||
panelNav.Controls.Add(buttonNavSettings);
|
||||
panelNav.Controls.Add(buttonBatch);
|
||||
panelNav.Controls.Add(buttonNavDomains);
|
||||
@@ -353,6 +368,19 @@ namespace FireWallet
|
||||
panelNav.Size = new Size(114, 553);
|
||||
panelNav.TabIndex = 6;
|
||||
//
|
||||
// buttonNavBids
|
||||
//
|
||||
buttonNavBids.FlatStyle = FlatStyle.Flat;
|
||||
buttonNavBids.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
buttonNavBids.Location = new Point(12, 245);
|
||||
buttonNavBids.Name = "buttonNavBids";
|
||||
buttonNavBids.Size = new Size(89, 30);
|
||||
buttonNavBids.TabIndex = 5;
|
||||
buttonNavBids.TabStop = false;
|
||||
buttonNavBids.Text = "Bids";
|
||||
buttonNavBids.UseVisualStyleBackColor = true;
|
||||
buttonNavBids.Click += buttonNavBids_Click;
|
||||
//
|
||||
// buttonNavSettings
|
||||
//
|
||||
buttonNavSettings.FlatStyle = FlatStyle.Flat;
|
||||
@@ -370,7 +398,7 @@ namespace FireWallet
|
||||
//
|
||||
buttonBatch.FlatStyle = FlatStyle.Flat;
|
||||
buttonBatch.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
buttonBatch.Location = new Point(12, 245);
|
||||
buttonBatch.Location = new Point(12, 300);
|
||||
buttonBatch.Name = "buttonBatch";
|
||||
buttonBatch.Size = new Size(89, 30);
|
||||
buttonBatch.TabIndex = 3;
|
||||
@@ -383,7 +411,7 @@ namespace FireWallet
|
||||
//
|
||||
buttonNavDomains.FlatStyle = FlatStyle.Flat;
|
||||
buttonNavDomains.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
buttonNavDomains.Location = new Point(12, 189);
|
||||
buttonNavDomains.Location = new Point(12, 190);
|
||||
buttonNavDomains.Name = "buttonNavDomains";
|
||||
buttonNavDomains.Size = new Size(89, 30);
|
||||
buttonNavDomains.TabIndex = 2;
|
||||
@@ -396,7 +424,7 @@ namespace FireWallet
|
||||
//
|
||||
buttonNavReceive.FlatStyle = FlatStyle.Flat;
|
||||
buttonNavReceive.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
buttonNavReceive.Location = new Point(12, 134);
|
||||
buttonNavReceive.Location = new Point(12, 135);
|
||||
buttonNavReceive.Name = "buttonNavReceive";
|
||||
buttonNavReceive.Size = new Size(89, 30);
|
||||
buttonNavReceive.TabIndex = 1;
|
||||
@@ -437,7 +465,7 @@ namespace FireWallet
|
||||
panelPortfolio.Controls.Add(groupBoxTransactions);
|
||||
panelPortfolio.Controls.Add(groupBoxinfo);
|
||||
panelPortfolio.Controls.Add(groupBoxbalance);
|
||||
panelPortfolio.Location = new Point(1065, 80);
|
||||
panelPortfolio.Location = new Point(1036, 129);
|
||||
panelPortfolio.Name = "panelPortfolio";
|
||||
panelPortfolio.Size = new Size(956, 538);
|
||||
panelPortfolio.TabIndex = 7;
|
||||
@@ -576,7 +604,7 @@ namespace FireWallet
|
||||
panelSend.Controls.Add(labelSendingTo);
|
||||
panelSend.Controls.Add(labelSendPrompt);
|
||||
panelSend.Controls.Add(labelHIPArrow);
|
||||
panelSend.Location = new Point(138, 33);
|
||||
panelSend.Location = new Point(1041, 235);
|
||||
panelSend.Name = "panelSend";
|
||||
panelSend.Size = new Size(974, 521);
|
||||
panelSend.TabIndex = 2;
|
||||
@@ -794,7 +822,7 @@ namespace FireWallet
|
||||
panelDomains.Controls.Add(groupBoxDomains);
|
||||
panelDomains.Controls.Add(labelDomainSearch);
|
||||
panelDomains.Controls.Add(textBoxDomainSearch);
|
||||
panelDomains.Location = new Point(120, 48);
|
||||
panelDomains.Location = new Point(1122, 35);
|
||||
panelDomains.Name = "panelDomains";
|
||||
panelDomains.Size = new Size(920, 536);
|
||||
panelDomains.TabIndex = 18;
|
||||
@@ -1093,23 +1121,20 @@ namespace FireWallet
|
||||
textBoxExTX.Size = new Size(307, 29);
|
||||
textBoxExTX.TabIndex = 1;
|
||||
//
|
||||
// toolStripSeparator1
|
||||
// panelBids
|
||||
//
|
||||
toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
toolStripSeparator1.Size = new Size(191, 6);
|
||||
//
|
||||
// otherProjectsToolStripMenuItem
|
||||
//
|
||||
otherProjectsToolStripMenuItem.Name = "otherProjectsToolStripMenuItem";
|
||||
otherProjectsToolStripMenuItem.Size = new Size(194, 22);
|
||||
otherProjectsToolStripMenuItem.Text = "Other Projects";
|
||||
otherProjectsToolStripMenuItem.Click += otherProjectsToolStripMenuItem_Click;
|
||||
panelBids.Location = new Point(143, 44);
|
||||
panelBids.Name = "panelBids";
|
||||
panelBids.Size = new Size(868, 484);
|
||||
panelBids.TabIndex = 20;
|
||||
panelBids.Visible = false;
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(7F, 15F);
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
ClientSize = new Size(1152, 575);
|
||||
Controls.Add(panelBids);
|
||||
Controls.Add(panelDomains);
|
||||
Controls.Add(panelSend);
|
||||
Controls.Add(panelSettings);
|
||||
@@ -1124,6 +1149,7 @@ namespace FireWallet
|
||||
Text = "FireWallet";
|
||||
FormClosing += MainForm_Closing;
|
||||
Load += MainForm_Load;
|
||||
ResizeEnd += MainForm_ResizeEnd;
|
||||
Resize += Form1_Resize;
|
||||
statusStripmain.ResumeLayout(false);
|
||||
statusStripmain.PerformLayout();
|
||||
@@ -1250,5 +1276,7 @@ namespace FireWallet
|
||||
private Label labelDomainSort;
|
||||
private ToolStripSeparator toolStripSeparator1;
|
||||
private ToolStripMenuItem otherProjectsToolStripMenuItem;
|
||||
private Button buttonNavBids;
|
||||
private Panel panelBids;
|
||||
}
|
||||
}
|
||||
@@ -7,8 +7,6 @@ using QRCoder;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Security.Policy;
|
||||
using System.Windows.Forms;
|
||||
using System.Net;
|
||||
using DnsClient;
|
||||
using DnsClient.Protocol;
|
||||
@@ -130,7 +128,7 @@ namespace FireWallet
|
||||
// Wait until the Node is connected before closing the splash
|
||||
while (true)
|
||||
{
|
||||
string status = await APIGet("",false);
|
||||
string status = await APIGet("", false);
|
||||
if (status != "Error")
|
||||
{
|
||||
ss.CloseSplash();
|
||||
@@ -622,6 +620,10 @@ namespace FireWallet
|
||||
[DllImport("user32.dll")]
|
||||
internal static extern int SetWindowCompositionAttribute(IntPtr hwnd, ref WindowCompositionAttributeData data);
|
||||
}
|
||||
private void MainForm_ResizeEnd(object sender, EventArgs e)
|
||||
{
|
||||
ResizeForm();
|
||||
}
|
||||
private void Form1_Resize(object sender, EventArgs e)
|
||||
{
|
||||
ResizeForm();
|
||||
@@ -633,9 +635,33 @@ namespace FireWallet
|
||||
groupBoxDomains.Width = panelDomains.Width - 20;
|
||||
groupBoxDomains.Left = 10;
|
||||
groupBoxDomains.Height = panelDomains.Height - groupBoxDomains.Top - 10;
|
||||
|
||||
buttonNavSettings.Top = panelNav.Height - buttonNavSettings.Height - 10;
|
||||
buttonSettingsSave.Top = panelSettings.Height - buttonSettingsSave.Height - 10;
|
||||
groupBoxTransactions.Height = panelPortfolio.Height - groupBoxbalance.Height - 10;
|
||||
|
||||
// SEND Page
|
||||
labelSendPrompt.Left = (panelSend.Width - labelSendPrompt.Width) / 2;
|
||||
buttonSendHNS.Left = (panelSend.Width - buttonSendHNS.Width) / 2;
|
||||
labelSendingTo.Left = (panelSend.Width - labelSendingTo.Width - textBoxSendingTo.Width) / 2;
|
||||
labelSendingAmount.Left = labelSendingTo.Left;
|
||||
textBoxSendingTo.Left = labelSendingTo.Left + labelSendingTo.Width + 10;
|
||||
textBoxSendingAmount.Left = textBoxSendingTo.Left;
|
||||
labelSendingMax.Left = labelSendingTo.Left;
|
||||
labelSendingError.Left = textBoxSendingTo.Left + textBoxSendingTo.Width + 10;
|
||||
labelSendingFee.Left = labelSendingTo.Left;
|
||||
buttonSendMax.Left = textBoxSendingAmount.Left + textBoxSendingAmount.Width - buttonSendMax.Width;
|
||||
checkBoxSendSubFee.Left = labelSendingTo.Left;
|
||||
|
||||
// RECEIVE Page
|
||||
labelReceive1.Left = (panelRecieve.Width - labelReceive1.Width) / 2;
|
||||
labelReceive2.Left = (panelRecieve.Width - labelReceive2.Width) / 2;
|
||||
textBoxReceiveAddress.Left = (panelRecieve.Width - textBoxReceiveAddress.Width) / 2;
|
||||
Size size = TextRenderer.MeasureText(textBoxReceiveAddress.Text, textBoxReceiveAddress.Font);
|
||||
textBoxReceiveAddress.Width = size.Width + 10;
|
||||
textBoxReceiveAddress.Left = (panelRecieve.Width - textBoxReceiveAddress.Width) / 2;
|
||||
pictureBoxReceiveQR.Width = panelRecieve.Width / 3;
|
||||
pictureBoxReceiveQR.Left = (panelRecieve.Width - pictureBoxReceiveQR.Width) / 2;
|
||||
|
||||
}
|
||||
#endregion
|
||||
#region Accounts
|
||||
@@ -1195,6 +1221,7 @@ namespace FireWallet
|
||||
buttonNavPortfolio.BackColor = ColorTranslator.FromHtml(Theme["selected-bg"]);
|
||||
buttonNavPortfolio.ForeColor = ColorTranslator.FromHtml(Theme["selected-fg"]);
|
||||
}
|
||||
groupBoxTransactions.Height = panelPortfolio.Height - groupBoxbalance.Height - 10;
|
||||
}
|
||||
|
||||
private async void SendPanel_Click(object sender, EventArgs e)
|
||||
@@ -1260,9 +1287,6 @@ namespace FireWallet
|
||||
pictureBoxReceiveQR.SizeMode = PictureBoxSizeMode.Zoom;
|
||||
pictureBoxReceiveQR.Width = panelRecieve.Width / 3;
|
||||
pictureBoxReceiveQR.Left = (panelRecieve.Width - pictureBoxReceiveQR.Width) / 2;
|
||||
|
||||
|
||||
|
||||
}
|
||||
private void buttonNavDomains_Click(object sender, EventArgs e)
|
||||
{
|
||||
@@ -1290,6 +1314,7 @@ namespace FireWallet
|
||||
panelRecieve.Hide();
|
||||
panelDomains.Hide();
|
||||
panelSettings.Hide();
|
||||
panelBids.Hide();
|
||||
buttonNavPortfolio.BackColor = ColorTranslator.FromHtml(Theme["background"]);
|
||||
buttonNavPortfolio.ForeColor = ColorTranslator.FromHtml(Theme["foreground"]);
|
||||
buttonNavSend.BackColor = ColorTranslator.FromHtml(Theme["background"]);
|
||||
@@ -1300,6 +1325,8 @@ namespace FireWallet
|
||||
buttonNavDomains.ForeColor = ColorTranslator.FromHtml(Theme["foreground"]);
|
||||
buttonNavSettings.BackColor = ColorTranslator.FromHtml(Theme["background"]);
|
||||
buttonNavSettings.ForeColor = ColorTranslator.FromHtml(Theme["foreground"]);
|
||||
buttonNavBids.BackColor = ColorTranslator.FromHtml(Theme["background"]);
|
||||
buttonNavBids.ForeColor = ColorTranslator.FromHtml(Theme["foreground"]);
|
||||
}
|
||||
private void buttonNavSettings_Click(object sender, EventArgs e)
|
||||
{
|
||||
@@ -1322,6 +1349,19 @@ namespace FireWallet
|
||||
numericUpDownTXCount.Value = int.Parse(UserSettings["portfolio-tx"]);
|
||||
labelSettingsSaved.Hide();
|
||||
}
|
||||
private void buttonNavBids_Click(object sender, EventArgs e)
|
||||
{
|
||||
hidePages();
|
||||
if (Theme.ContainsKey("selected-bg") && Theme.ContainsKey("selected-fg"))
|
||||
{
|
||||
buttonNavBids.BackColor = ColorTranslator.FromHtml(Theme["selected-bg"]);
|
||||
buttonNavBids.ForeColor = ColorTranslator.FromHtml(Theme["selected-fg"]);
|
||||
}
|
||||
|
||||
panelBids.Show();
|
||||
panelBids.Dock = DockStyle.Fill;
|
||||
}
|
||||
|
||||
#endregion
|
||||
#region Send
|
||||
|
||||
@@ -1356,6 +1396,14 @@ namespace FireWallet
|
||||
{
|
||||
port = int.Parse(UserSettings["hip-02-port"]);
|
||||
}
|
||||
else if (!HSD)
|
||||
{
|
||||
string bobPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Bob\\hsd_data";
|
||||
if (Directory.Exists(bobPath))
|
||||
{
|
||||
port = 9892;
|
||||
}
|
||||
}
|
||||
|
||||
NameServer nameServer = new NameServer(IPAddress.Parse(ip), port);
|
||||
var options = new LookupClientOptions(nameServer);
|
||||
@@ -1429,7 +1477,7 @@ namespace FireWallet
|
||||
{
|
||||
labelSendingError.Show();
|
||||
labelSendingError.Text = "Invalid Address";
|
||||
AddLog("Invalid Address\n"+address);
|
||||
AddLog("Invalid Address\n" + address);
|
||||
|
||||
}
|
||||
|
||||
@@ -1563,8 +1611,6 @@ namespace FireWallet
|
||||
|
||||
if (!WatchOnly)
|
||||
{
|
||||
|
||||
AddLog("Sending " + amount.ToString() + " HNS to " + address);
|
||||
string content = "{\"method\": \"sendtoaddress\",\"params\": [ \"" + address + "\", " +
|
||||
amount.ToString() + ", \"\", \"\", " + subtractFee + " ]}";
|
||||
string output = await APIPost("", true, content);
|
||||
@@ -2282,7 +2328,6 @@ namespace FireWallet
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Help Menu
|
||||
private void githubToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
@@ -224,15 +224,15 @@
|
||||
{
|
||||
"Name" = "8:Microsoft Visual Studio"
|
||||
"ProductName" = "8:FireWallet"
|
||||
"ProductCode" = "8:{460D8F86-4FE9-4547-9B17-7E01ACBF9194}"
|
||||
"PackageCode" = "8:{A6678F97-9CE8-4005-82AC-AB2D09A9DA27}"
|
||||
"ProductCode" = "8:{C118B90C-B5A0-4015-B03A-FB226DC02F54}"
|
||||
"PackageCode" = "8:{FF49B317-BBC1-40D9-9AFF-315E3AEED79C}"
|
||||
"UpgradeCode" = "8:{0C86F725-6B01-4173-AA05-3F0EDF481362}"
|
||||
"AspNetVersion" = "8:"
|
||||
"RestartWWWService" = "11:FALSE"
|
||||
"RemovePreviousVersions" = "11:TRUE"
|
||||
"DetectNewerInstalledVersion" = "11:TRUE"
|
||||
"InstallAllUsers" = "11:FALSE"
|
||||
"ProductVersion" = "8:3.1"
|
||||
"ProductVersion" = "8:3.3"
|
||||
"Manufacturer" = "8:Nathan.Woodburn/"
|
||||
"ARPHELPTELEPHONE" = "8:"
|
||||
"ARPHELPLINK" = "8:https://l.woodburn.au/discord"
|
||||
|
||||
10
README.md
10
README.md
@@ -113,9 +113,6 @@ You can add transactions to the batch from the domain window or the DNS editor.
|
||||
You can also import a list of domains to the batch window.
|
||||
The "CANCEL" transaction type is used to cancel an transfer.
|
||||
|
||||
At the momemt "UPDATE" or coin only transactions are not supported.
|
||||
|
||||
|
||||
Please not that the import syntax for BIDs is BID,LOCKUP where LOCKUP is (BID+BLIND)
|
||||

|
||||
|
||||
@@ -141,6 +138,12 @@ They are stored in `%appdata%\FireWallet\` (`C:\Users\{username}\AppData\Roaming
|
||||
|
||||
## settings.txt
|
||||
This file stores the user settings for the application.
|
||||
If you want to change the default HIP-02 resolver you can add these settings
|
||||
```yaml
|
||||
hip-02-ip: 127.0.0.1
|
||||
hip-02-port: 5350
|
||||
```
|
||||
|
||||
|
||||
## node.txt
|
||||
This file stores the node (HSD/Bob connection) settings.
|
||||
@@ -171,3 +174,4 @@ You should check this file if you have any issues with the application.
|
||||
If you have any issues with the application you can open an issue on GitHub or contact me on Discord (NathanWoodburn on most Handshake servers).
|
||||
|
||||
If you would like to support this project you can find out how at https://nathan.woodburn.au/#donate or you can help by contributing to the project on GitHub.
|
||||
Also you can send HNS directly to `@firewallet`
|
||||
@@ -6,4 +6,4 @@ woodburn4,BID,1,3
|
||||
woodburn5,BID,1,3
|
||||
woodburn6,BID,1,4
|
||||
woodburn8,TRANSFER,hs1qlmlgnx0g3ynk4ylxkkdh9c9nernclnfq4lw6s9
|
||||
exampledomainnathan118,UPDATE,[{"type": "DS","keyTag": 20167,"algorithm": 13,"digestType": 2,"digest":"4a2ab3224727a4754a6c3d77621a5b04241a3d9c7ae7e5fa17f73121b9ff0e06"}, {"type": "NS","ns": "ns1.woodburn."}, {"type": "NS","ns": "ns2.woodburn."}, {"type": "TXT","txt": ["TEST"]}]
|
||||
exampledomainnathan90,UPDATE,[{"type": "NS","ns": "ns1.woodburn."};{"type": "NS","ns": "ns2.woodburn."};{"type": "DS","keyTag": 30273,"algorithm": 13,"digestType": 2,"digest":"9a3a8fb3d625d2a2073d740f10da6056ebed0e97f550aa7f3891ed450c7e60c9"};{"type": "GLUE4","ns": "ns1.exampledomainnathan90.","address": "1.2.3.4"};{"type": "TXT","txt": ["Test TXT record"]}]
|
||||
Reference in New Issue
Block a user