diff --git a/FireWallet/BatchForm.Designer.cs b/FireWallet/BatchForm.Designer.cs index 067873c..6d17d18 100644 --- a/FireWallet/BatchForm.Designer.cs +++ b/FireWallet/BatchForm.Designer.cs @@ -28,6 +28,7 @@ /// private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BatchForm)); buttonCancel = new Button(); buttonSend = new Button(); groupBoxTransactions = new GroupBox(); @@ -41,9 +42,9 @@ // buttonCancel.FlatStyle = FlatStyle.Flat; buttonCancel.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - buttonCancel.Location = new System.Drawing.Point(707, 401); + buttonCancel.Location = new Point(707, 401); buttonCancel.Name = "buttonCancel"; - buttonCancel.Size = new System.Drawing.Size(81, 37); + buttonCancel.Size = new Size(81, 37); buttonCancel.TabIndex = 0; buttonCancel.TabStop = false; buttonCancel.Text = "Cancel Batch"; @@ -54,9 +55,9 @@ // buttonSend.FlatStyle = FlatStyle.Flat; buttonSend.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - buttonSend.Location = new System.Drawing.Point(620, 401); + buttonSend.Location = new Point(620, 401); buttonSend.Name = "buttonSend"; - buttonSend.Size = new System.Drawing.Size(81, 37); + buttonSend.Size = new Size(81, 37); buttonSend.TabIndex = 1; buttonSend.TabStop = false; buttonSend.Text = "Send"; @@ -66,9 +67,9 @@ // groupBoxTransactions // groupBoxTransactions.Controls.Add(panelTXs); - groupBoxTransactions.Location = new System.Drawing.Point(0, 0); + groupBoxTransactions.Location = new Point(0, 0); groupBoxTransactions.Name = "groupBoxTransactions"; - groupBoxTransactions.Size = new System.Drawing.Size(614, 438); + groupBoxTransactions.Size = new Size(614, 438); groupBoxTransactions.TabIndex = 2; groupBoxTransactions.TabStop = false; groupBoxTransactions.Text = "Transactions"; @@ -77,18 +78,18 @@ // panelTXs.AutoScroll = true; panelTXs.Dock = DockStyle.Fill; - panelTXs.Location = new System.Drawing.Point(3, 19); + panelTXs.Location = new Point(3, 19); panelTXs.Name = "panelTXs"; - panelTXs.Size = new System.Drawing.Size(608, 416); + panelTXs.Size = new Size(608, 416); panelTXs.TabIndex = 3; // // buttonImport // buttonImport.FlatStyle = FlatStyle.Flat; buttonImport.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - buttonImport.Location = new System.Drawing.Point(620, 19); + buttonImport.Location = new Point(620, 19); buttonImport.Name = "buttonImport"; - buttonImport.Size = new System.Drawing.Size(81, 37); + buttonImport.Size = new Size(81, 37); buttonImport.TabIndex = 3; buttonImport.TabStop = false; buttonImport.Text = "Import"; @@ -99,9 +100,9 @@ // buttonExport.FlatStyle = FlatStyle.Flat; buttonExport.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - buttonExport.Location = new System.Drawing.Point(707, 19); + buttonExport.Location = new Point(707, 19); buttonExport.Name = "buttonExport"; - buttonExport.Size = new System.Drawing.Size(81, 37); + buttonExport.Size = new Size(81, 37); buttonExport.TabIndex = 4; buttonExport.TabStop = false; buttonExport.Text = "Export"; @@ -110,15 +111,16 @@ // // BatchForm // - AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new System.Drawing.Size(800, 450); + ClientSize = new Size(800, 450); Controls.Add(buttonExport); Controls.Add(buttonImport); Controls.Add(groupBoxTransactions); Controls.Add(buttonSend); Controls.Add(buttonCancel); FormBorderStyle = FormBorderStyle.Fixed3D; + Icon = (Icon)resources.GetObject("$this.Icon"); MaximizeBox = false; Name = "BatchForm"; Text = "Batch"; diff --git a/FireWallet/BatchForm.cs b/FireWallet/BatchForm.cs index 40f576e..fb03eda 100644 --- a/FireWallet/BatchForm.cs +++ b/FireWallet/BatchForm.cs @@ -1,5 +1,7 @@ using System.Data; +using System.Net; using System.Runtime.InteropServices; +using Microsoft.VisualBasic; using Newtonsoft.Json.Linq; using Point = System.Drawing.Point; @@ -47,7 +49,8 @@ namespace FireWallet deleteTX.Width = 25; deleteTX.Height = 25; deleteTX.TextAlign = ContentAlignment.MiddleCenter; - deleteTX.Click += (sender, e) => { + deleteTX.Click += (sender, e) => + { panelTXs.Controls.Remove(tx); FixSpacing(); List temp = new List(); @@ -110,7 +113,8 @@ namespace FireWallet deleteTX.Width = 25; deleteTX.Height = 25; deleteTX.TextAlign = ContentAlignment.MiddleCenter; - deleteTX.Click += (sender, e) => { + deleteTX.Click += (sender, e) => + { panelTXs.Controls.Remove(tx); FixSpacing(); List temp = new List(); @@ -161,7 +165,7 @@ namespace FireWallet toAddressLabel.Location = new Point(200, 10); toAddressLabel.AutoSize = true; tx.Controls.Add(toAddressLabel); - + Button deleteTX = new Button(); deleteTX.Text = "X"; @@ -169,7 +173,64 @@ namespace FireWallet deleteTX.Width = 25; deleteTX.Height = 25; deleteTX.TextAlign = ContentAlignment.MiddleCenter; - deleteTX.Click += (sender, e) => { + deleteTX.Click += (sender, e) => + { + panelTXs.Controls.Remove(tx); + FixSpacing(); + List temp = new List(); + foreach (Batch batch in batches) + { + if (batch.domain != domain && batch.method != operation) + { + temp.Add(batch); + } + } + batches = temp.ToArray(); + }; + deleteTX.FlatStyle = FlatStyle.Flat; + deleteTX.Font = new Font(deleteTX.Font.FontFamily, 9F, FontStyle.Bold); + tx.Controls.Add(deleteTX); + + panelTXs.Controls.Add(tx); + UpdateTheme(); + } + + public void AddBatch(string domain, string operation, DNS[] updateRecords) + { + batches = batches.Concat(new Batch[] { new Batch(domain, operation, updateRecords) }).ToArray(); + Panel tx = new Panel(); + tx.Left = 0; + tx.Top = panelTXs.Controls.Count * 52 + 2; + tx.Width = panelTXs.Width - SystemInformation.VerticalScrollBarWidth; + tx.Height = 50; + tx.BorderStyle = BorderStyle.FixedSingle; + + Label action = new Label(); + action.Text = operation; + action.Location = new Point(10, 10); + action.AutoSize = true; + tx.Controls.Add(action); + Label target = new Label(); + target.Text = domain; + target.Location = new Point(10, 30); + target.AutoSize = true; + tx.Controls.Add(target); + + Label toAddressLabel = new Label(); + toAddressLabel.Text = "-> UPDATE RECORDS"; + toAddressLabel.Location = new Point(200, 10); + toAddressLabel.AutoSize = true; + tx.Controls.Add(toAddressLabel); + + + Button deleteTX = new Button(); + deleteTX.Text = "X"; + deleteTX.Location = new Point(tx.Width - 40, 10); + deleteTX.Width = 25; + deleteTX.Height = 25; + deleteTX.TextAlign = ContentAlignment.MiddleCenter; + deleteTX.Click += (sender, e) => + { panelTXs.Controls.Remove(tx); FixSpacing(); List temp = new List(); @@ -400,10 +461,10 @@ namespace FireWallet HttpClient httpClient = new HttpClient(); private async void buttonSend_Click(object sender, EventArgs e) { - string batchTX = "[" +string.Join(", ", batches.Select(batch => batch.ToString())) + "]"; + string batchTX = "[" + string.Join(", ", batches.Select(batch => batch.ToString())) + "]"; string content = "{\"method\": \"sendbatch\",\"params\":[ " + batchTX + "]}"; - string responce = await APIPost("",true,content); - + string responce = await APIPost("", true, content); + if (responce == "Error") { AddLog("Error sending batch"); @@ -412,7 +473,7 @@ namespace FireWallet notifyForm.Dispose(); return; } - + JObject jObject = JObject.Parse(responce); if (jObject["error"].ToString() != "") { @@ -423,11 +484,11 @@ namespace FireWallet notifyForm.Dispose(); return; } - + JObject result = JObject.Parse(jObject["result"].ToString()); string hash = result["hash"].ToString(); AddLog("Batch sent with hash: " + hash); - NotifyForm notifyForm2 = new NotifyForm("Batch sent\nThis might take a while to mine.", "Explorer", mainForm.userSettings["explorer-tx"]+hash); + NotifyForm notifyForm2 = new NotifyForm("Batch sent\nThis might take a while to mine.", "Explorer", mainForm.userSettings["explorer-tx"] + hash); notifyForm2.ShowDialog(); notifyForm2.Dispose(); this.Close(); @@ -455,7 +516,8 @@ namespace FireWallet else if (b.method == "TRANSFER") { sw.WriteLine(b.domain + "," + b.method + "," + b.toAddress); - } else + } + else { sw.WriteLine(b.domain + "," + b.method); } @@ -522,10 +584,12 @@ namespace FireWallet if (b.method == "BID") { AddBatch(b.domain, b.method, b.bid, b.lockup); - } else if (b.method == "TRANSFER") + } + else if (b.method == "TRANSFER") { AddBatch(b.domain, b.method, b.toAddress); - } else + } + else { AddBatch(b.domain, b.method); } @@ -582,48 +646,131 @@ namespace FireWallet public decimal bid { get; } public decimal lockup { get; } public string toAddress { get; } - public Batch(string domain, string method) + DNS[]? update; + public Batch(string domain, string method) // Normal TXs { this.domain = domain; this.method = method; bid = 0; lockup = 0; toAddress = ""; + update = null; } - public Batch(string domain, string method, string toAddress) + public Batch(string domain, string method, string toAddress) // Transfers { this.domain = domain; this.method = method; this.toAddress = toAddress; bid = 0; lockup = 0; + update = null; } - public Batch(string domain, string method, decimal bid, decimal lockup) + public Batch(string domain, string method, decimal bid, decimal lockup) // Bids { this.domain = domain; this.method = method; this.bid = bid; this.lockup = lockup; toAddress = ""; + update = null; } - public Batch(string domain, string method, decimal bid, decimal lockup, string toAddress) + public Batch(string domain, string method, DNS[] update) // DNS Update { this.domain = domain; this.method = method; - this.bid = bid; - this.lockup = lockup; - this.toAddress = toAddress; + this.update = update; + } public override string ToString() { if (method == "BID") { return "[\"BID\", \"" + domain + "\", " + bid + ", " + lockup + "]"; - } else if (method == "TRANSFER") + } + else if (method == "TRANSFER") { return "[\"TRANSFER\", \"" + domain + "\", \"" + toAddress + "\"]"; } + else if (method == "UPDATE" && update != null) + { + + string records = "{records:[" + string.Join(", ", update.Select(record => record.ToString())) + "]}"; + return "[\"UPDATE\", \"" + domain + "\", " + records + "]"; + + } return "[\"" + method + "\", \"" + domain + "\"]"; } } + public class DNS + { + public string? type { get; } + public string? ns { get; } + public string? address { get; } + public string[]? TXT { get; } + public int? keyTag { get; } + public int? algorithm { get; } + public int? digestType { get; } + public string? digest { get; } + + public DNS(string type, string content) // NS, SYNTH4, SYNTH6 + { + this.type = type; + switch (type) + { + case "NS": + ns = content; + break; + case "SYNTH4": + address = content; + break; + case "SYNTH6": + address = content; + break; + } + } + public DNS(string type, string[] content) // TXT + { + this.type = type; + TXT = content; + } + public DNS(string type, string ns, string address) // GLUE4, GLUE6 + { + this.type = type; + this.ns = ns; + this.address = address; + } + public DNS(string type, int keyTag, int algorithm, int digestType, string digest) // DS + { + this.type = type; + this.keyTag = keyTag; + this.algorithm = algorithm; + this.digestType = digestType; + this.digest = digest; + } + public override string ToString() + { + switch (type) + { + case "DS": + return "{\"type\": \"" + type + "\",\"keyTag\": " + keyTag + ",\"algorithm\": " + algorithm + ",\"digestType\": " + digestType + ",\"digest\":\"" + digest + "\"}"; + break; + case "NS": + return "{\"type\": \"" + type + "\",\"ns\": \"" + ns + "\"}"; + break; + case "GLUE4": + case "GLUE6": + return "{\"type\": \"" + type + "\",\"ns\": \"" + ns + "\",\"address\": \"" + address + "\"}"; + break; + case "SYNTH4": + case "SYNTH6": + return "{\"type\": \"" + type + "\",\"address\": \"" + address + "\"}"; + break; + case "TXT": + return "{\"type\": \"" + type + "\",\"txt\": [" + string.Join(", ", TXT.Select(record => ("\"" + record + "\""))) + "]}"; + break; + } + return ""; + + } + } } diff --git a/FireWallet/BatchForm.resx b/FireWallet/BatchForm.resx index a395bff..3f56770 100644 --- a/FireWallet/BatchForm.resx +++ b/FireWallet/BatchForm.resx @@ -117,4 +117,179 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 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 + AElFTkSuQmCC + + \ No newline at end of file diff --git a/FireWallet/BatchImportForm.Designer.cs b/FireWallet/BatchImportForm.Designer.cs index 2823ee7..6ddc815 100644 --- a/FireWallet/BatchImportForm.Designer.cs +++ b/FireWallet/BatchImportForm.Designer.cs @@ -28,6 +28,7 @@ /// private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BatchImportForm)); listBoxDomains = new ListBox(); label1 = new Label(); comboBoxMode = new ComboBox(); @@ -50,18 +51,18 @@ // listBoxDomains.FormattingEnabled = true; listBoxDomains.ItemHeight = 15; - listBoxDomains.Location = new System.Drawing.Point(12, 42); + listBoxDomains.Location = new Point(12, 42); listBoxDomains.Name = "listBoxDomains"; - listBoxDomains.Size = new System.Drawing.Size(241, 484); + listBoxDomains.Size = new Size(241, 484); listBoxDomains.TabIndex = 0; // // label1 // label1.AutoSize = true; label1.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - label1.Location = new System.Drawing.Point(12, 9); + label1.Location = new Point(12, 9); label1.Name = "label1"; - label1.Size = new System.Drawing.Size(75, 21); + label1.Size = new Size(75, 21); label1.TabIndex = 1; label1.Text = "Domains:"; // @@ -72,9 +73,9 @@ 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.Location = new System.Drawing.Point(346, 42); + comboBoxMode.Location = new Point(346, 42); comboBoxMode.Name = "comboBoxMode"; - comboBoxMode.Size = new System.Drawing.Size(226, 29); + comboBoxMode.Size = new Size(226, 29); comboBoxMode.TabIndex = 2; comboBoxMode.SelectedIndexChanged += comboBoxMode_SelectedIndexChanged; // @@ -82,9 +83,9 @@ // label2.AutoSize = true; label2.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - label2.Location = new System.Drawing.Point(287, 45); + label2.Location = new Point(287, 45); label2.Name = "label2"; - label2.Size = new System.Drawing.Size(53, 21); + label2.Size = new Size(53, 21); label2.TabIndex = 3; label2.Text = "Mode:"; // @@ -92,9 +93,9 @@ // label3.AutoSize = true; label3.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - label3.Location = new System.Drawing.Point(25, 25); + label3.Location = new Point(25, 25); label3.Name = "label3"; - label3.Size = new System.Drawing.Size(35, 21); + label3.Size = new Size(35, 21); label3.TabIndex = 3; label3.Text = "Bid:"; // @@ -102,35 +103,35 @@ // label4.AutoSize = true; label4.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - label4.Location = new System.Drawing.Point(12, 73); + label4.Location = new Point(12, 73); label4.Name = "label4"; - label4.Size = new System.Drawing.Size(48, 21); + label4.Size = new Size(48, 21); label4.TabIndex = 3; label4.Text = "Blind:"; // // textBoxBid // textBoxBid.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - textBoxBid.Location = new System.Drawing.Point(66, 22); + textBoxBid.Location = new Point(66, 22); textBoxBid.Name = "textBoxBid"; - textBoxBid.Size = new System.Drawing.Size(226, 29); + textBoxBid.Size = new Size(226, 29); textBoxBid.TabIndex = 4; // // textBoxBlind // textBoxBlind.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - textBoxBlind.Location = new System.Drawing.Point(66, 70); + textBoxBlind.Location = new Point(66, 70); textBoxBlind.Name = "textBoxBlind"; - textBoxBlind.Size = new System.Drawing.Size(226, 29); + textBoxBlind.Size = new Size(226, 29); textBoxBlind.TabIndex = 5; // // buttonImport // buttonImport.FlatStyle = FlatStyle.Flat; buttonImport.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - buttonImport.Location = new System.Drawing.Point(851, 485); + buttonImport.Location = new Point(851, 485); buttonImport.Name = "buttonImport"; - buttonImport.Size = new System.Drawing.Size(87, 38); + buttonImport.Size = new Size(87, 38); buttonImport.TabIndex = 6; buttonImport.Text = "Import"; buttonImport.UseVisualStyleBackColor = true; @@ -140,9 +141,9 @@ // buttonCancel.FlatStyle = FlatStyle.Flat; buttonCancel.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - buttonCancel.Location = new System.Drawing.Point(731, 485); + buttonCancel.Location = new Point(731, 485); buttonCancel.Name = "buttonCancel"; - buttonCancel.Size = new System.Drawing.Size(87, 38); + buttonCancel.Size = new Size(87, 38); buttonCancel.TabIndex = 6; buttonCancel.Text = "Cancel"; buttonCancel.UseVisualStyleBackColor = true; @@ -152,9 +153,9 @@ // label5.AutoSize = true; label5.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - label5.Location = new System.Drawing.Point(6, 19); + label5.Location = new Point(6, 19); label5.Name = "label5"; - label5.Size = new System.Drawing.Size(67, 21); + label5.Size = new Size(67, 21); label5.TabIndex = 7; label5.Text = "Send To:"; // @@ -164,9 +165,9 @@ groupBoxBid.Controls.Add(label3); groupBoxBid.Controls.Add(label4); groupBoxBid.Controls.Add(textBoxBlind); - groupBoxBid.Location = new System.Drawing.Point(287, 99); + groupBoxBid.Location = new Point(287, 99); groupBoxBid.Name = "groupBoxBid"; - groupBoxBid.Size = new System.Drawing.Size(370, 200); + groupBoxBid.Size = new Size(370, 200); groupBoxBid.TabIndex = 8; groupBoxBid.TabStop = false; groupBoxBid.Text = "Bid Settings"; @@ -175,9 +176,9 @@ // groupBoxtransfer.Controls.Add(textBoxToAddress); groupBoxtransfer.Controls.Add(label5); - groupBoxtransfer.Location = new System.Drawing.Point(287, 99); + groupBoxtransfer.Location = new Point(287, 99); groupBoxtransfer.Name = "groupBoxtransfer"; - groupBoxtransfer.Size = new System.Drawing.Size(370, 200); + groupBoxtransfer.Size = new Size(370, 200); groupBoxtransfer.TabIndex = 0; groupBoxtransfer.TabStop = false; groupBoxtransfer.Text = "Transfer Settings"; @@ -185,16 +186,16 @@ // textBoxToAddress // textBoxToAddress.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - textBoxToAddress.Location = new System.Drawing.Point(6, 43); + textBoxToAddress.Location = new Point(6, 43); textBoxToAddress.Name = "textBoxToAddress"; - textBoxToAddress.Size = new System.Drawing.Size(358, 29); + textBoxToAddress.Size = new Size(358, 29); textBoxToAddress.TabIndex = 8; // // BatchImportForm // - AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new System.Drawing.Size(950, 535); + ClientSize = new Size(950, 535); Controls.Add(groupBoxtransfer); Controls.Add(groupBoxBid); Controls.Add(buttonCancel); @@ -204,6 +205,7 @@ Controls.Add(label1); Controls.Add(listBoxDomains); FormBorderStyle = FormBorderStyle.Fixed3D; + Icon = (Icon)resources.GetObject("$this.Icon"); MaximizeBox = false; Name = "BatchImportForm"; Text = "Import"; diff --git a/FireWallet/BatchImportForm.resx b/FireWallet/BatchImportForm.resx index a395bff..3f56770 100644 --- a/FireWallet/BatchImportForm.resx +++ b/FireWallet/BatchImportForm.resx @@ -117,4 +117,179 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 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 + AElFTkSuQmCC + + \ No newline at end of file diff --git a/FireWallet/DNSForm.Designer.cs b/FireWallet/DNSForm.Designer.cs new file mode 100644 index 0000000..7294f98 --- /dev/null +++ b/FireWallet/DNSForm.Designer.cs @@ -0,0 +1,210 @@ +namespace FireWallet +{ + partial class DNSForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DNSForm)); + groupBoxRecords = new GroupBox(); + panelRecords = new Panel(); + buttonAddRecord = new Button(); + buttonCancel = new Button(); + buttonSend = new Button(); + label1 = new Label(); + groupBoxAddRecord = new GroupBox(); + labelRecordAlt = new Label(); + textBoxAlt = new TextBox(); + textBoxMain = new TextBox(); + labelRecordMain = new Label(); + comboBoxType = new ComboBox(); + groupBoxRecords.SuspendLayout(); + groupBoxAddRecord.SuspendLayout(); + SuspendLayout(); + // + // groupBoxRecords + // + groupBoxRecords.Controls.Add(panelRecords); + groupBoxRecords.Location = new Point(12, 12); + groupBoxRecords.Name = "groupBoxRecords"; + groupBoxRecords.Size = new Size(542, 540); + groupBoxRecords.TabIndex = 0; + groupBoxRecords.TabStop = false; + groupBoxRecords.Text = "DNS Records"; + // + // panelRecords + // + panelRecords.AutoScroll = true; + panelRecords.Dock = DockStyle.Fill; + panelRecords.Location = new Point(3, 19); + panelRecords.Name = "panelRecords"; + panelRecords.Size = new Size(536, 518); + panelRecords.TabIndex = 0; + // + // buttonAddRecord + // + buttonAddRecord.FlatStyle = FlatStyle.Flat; + buttonAddRecord.Location = new Point(6, 163); + buttonAddRecord.Name = "buttonAddRecord"; + buttonAddRecord.Size = new Size(93, 46); + buttonAddRecord.TabIndex = 1; + buttonAddRecord.TabStop = false; + buttonAddRecord.Text = "Add Record"; + buttonAddRecord.UseVisualStyleBackColor = true; + buttonAddRecord.Click += buttonAddRecord_Click; + // + // buttonCancel + // + buttonCancel.FlatStyle = FlatStyle.Flat; + buttonCancel.Location = new Point(557, 500); + buttonCancel.Name = "buttonCancel"; + buttonCancel.Size = new Size(93, 46); + buttonCancel.TabIndex = 1; + buttonCancel.TabStop = false; + buttonCancel.Text = "Cancel Edit"; + buttonCancel.UseVisualStyleBackColor = true; + buttonCancel.Click += buttonCancel_Click; + // + // buttonSend + // + buttonSend.FlatStyle = FlatStyle.Flat; + buttonSend.Location = new Point(888, 500); + buttonSend.Name = "buttonSend"; + buttonSend.Size = new Size(93, 46); + buttonSend.TabIndex = 1; + buttonSend.TabStop = false; + buttonSend.Text = "Send Edit"; + buttonSend.UseVisualStyleBackColor = true; + buttonSend.Click += buttonSend_Click; + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(6, 28); + label1.Name = "label1"; + label1.Size = new Size(34, 15); + label1.TabIndex = 2; + label1.Text = "Type:"; + // + // groupBoxAddRecord + // + groupBoxAddRecord.Controls.Add(labelRecordAlt); + groupBoxAddRecord.Controls.Add(textBoxAlt); + groupBoxAddRecord.Controls.Add(textBoxMain); + groupBoxAddRecord.Controls.Add(labelRecordMain); + groupBoxAddRecord.Controls.Add(comboBoxType); + groupBoxAddRecord.Controls.Add(label1); + groupBoxAddRecord.Controls.Add(buttonAddRecord); + groupBoxAddRecord.Location = new Point(560, 12); + groupBoxAddRecord.Name = "groupBoxAddRecord"; + groupBoxAddRecord.Size = new Size(421, 224); + groupBoxAddRecord.TabIndex = 3; + groupBoxAddRecord.TabStop = false; + groupBoxAddRecord.Text = "New Record"; + // + // labelRecordAlt + // + labelRecordAlt.AutoSize = true; + labelRecordAlt.Location = new Point(6, 105); + labelRecordAlt.Name = "labelRecordAlt"; + labelRecordAlt.Size = new Size(52, 15); + labelRecordAlt.TabIndex = 6; + labelRecordAlt.Text = "Address:"; + // + // textBoxAlt + // + textBoxAlt.Location = new Point(65, 102); + textBoxAlt.Name = "textBoxAlt"; + textBoxAlt.Size = new Size(326, 23); + textBoxAlt.TabIndex = 5; + textBoxAlt.KeyDown += textBoxMain_KeyDown; + // + // textBoxMain + // + textBoxMain.Location = new Point(65, 65); + textBoxMain.Name = "textBoxMain"; + textBoxMain.Size = new Size(326, 23); + textBoxMain.TabIndex = 5; + textBoxMain.KeyDown += textBoxMain_KeyDown; + // + // labelRecordMain + // + labelRecordMain.AutoSize = true; + labelRecordMain.Location = new Point(6, 68); + labelRecordMain.Name = "labelRecordMain"; + labelRecordMain.Size = new Size(53, 15); + labelRecordMain.TabIndex = 4; + labelRecordMain.Text = "Content:"; + // + // comboBoxType + // + comboBoxType.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxType.FlatStyle = FlatStyle.Flat; + comboBoxType.FormattingEnabled = true; + comboBoxType.Items.AddRange(new object[] { "NS", "DS", "GLUE4", "GLUE6", "TXT" }); + comboBoxType.Location = new Point(65, 25); + comboBoxType.Name = "comboBoxType"; + comboBoxType.Size = new Size(129, 23); + comboBoxType.TabIndex = 3; + comboBoxType.SelectedIndexChanged += comboBoxType_SelectedIndexChanged; + // + // DNSForm + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(993, 564); + Controls.Add(groupBoxAddRecord); + Controls.Add(buttonSend); + Controls.Add(buttonCancel); + Controls.Add(groupBoxRecords); + FormBorderStyle = FormBorderStyle.Fixed3D; + Icon = (Icon)resources.GetObject("$this.Icon"); + MaximizeBox = false; + Name = "DNSForm"; + Text = "DNSForm"; + Load += DNSForm_Load; + groupBoxRecords.ResumeLayout(false); + groupBoxAddRecord.ResumeLayout(false); + groupBoxAddRecord.PerformLayout(); + ResumeLayout(false); + } + + #endregion + + private GroupBox groupBoxRecords; + private Panel panelRecords; + private Button buttonAddRecord; + private Button buttonCancel; + private Button buttonSend; + private Label label1; + private GroupBox groupBoxAddRecord; + private ComboBox comboBoxType; + private Label labelRecordMain; + private Label labelRecordAlt; + private TextBox textBoxAlt; + private TextBox textBoxMain; + } +} \ No newline at end of file diff --git a/FireWallet/DNSForm.cs b/FireWallet/DNSForm.cs new file mode 100644 index 0000000..cedd738 --- /dev/null +++ b/FireWallet/DNSForm.cs @@ -0,0 +1,617 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.DirectoryServices.ActiveDirectory; +using System.Drawing; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Newtonsoft.Json.Linq; + +namespace FireWallet +{ + public partial class DNSForm : Form + { + private string dir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\FireWallet\\"; + private Dictionary theme; + private Dictionary nodeSettings; + private string domain; + MainForm mainForm; + public bool cancel { get; set; } + public DNS[] DNSrecords { get; set; } + public DNSForm(MainForm mainForm, string domain) + { + InitializeComponent(); + this.domain = domain; + this.mainForm = mainForm; + nodeSettings = mainForm.nodeSettings; + + cancel = true; + } + private void DNSForm_Load(object sender, EventArgs e) + { + UpdateTheme(); + GetDNS(); + + comboBoxType.SelectedIndex = 0; + } + + + + private void UpdateDNSGroup() + { + panelRecords.Controls.Clear(); + int i = 0; + foreach (DNS record in DNSrecords) + { + Panel DNSPanel = new Panel(); + // Count for scroll width + DNSPanel.Width = panelRecords.Width - SystemInformation.VerticalScrollBarWidth - 2; + DNSPanel.Height = 60; + DNSPanel.BorderStyle = BorderStyle.FixedSingle; + DNSPanel.Top = 62 * i; + + Label DNSType = new Label(); + DNSType.Text = record.type; + DNSType.Location = new System.Drawing.Point(10, 10); + DNSType.AutoSize = true; + DNSType.Font = new Font(DNSType.Font.FontFamily, 11.0f, FontStyle.Bold); + DNSPanel.Controls.Add(DNSType); + + + switch (DNSType.Text) + { + case "NS": + Label DNSNS = new Label(); + DNSNS.Text = record.ns; + DNSNS.Location = new System.Drawing.Point(10, 30); + DNSNS.AutoSize = true; + DNSPanel.Controls.Add(DNSNS); + break; + case "GLUE4": + case "GLUE6": + Label DNSNS1 = new Label(); + DNSNS1.Text = record.ns; + DNSNS1.Location = new System.Drawing.Point(10, 30); + DNSNS1.AutoSize = true; + DNSPanel.Controls.Add(DNSNS1); + Label address = new Label(); + address.Text = record.address; + address.Location = new System.Drawing.Point(DNSNS1.Left + DNSNS1.Width + 20, 30); + address.AutoSize = true; + DNSPanel.Controls.Add(address); + break; + case "DS": + Label keyTag = new Label(); + keyTag.Text = record.keyTag.ToString(); + keyTag.Location = new System.Drawing.Point(10, 30); + keyTag.AutoSize = true; + DNSPanel.Controls.Add(keyTag); + Label algorithm = new Label(); + algorithm.Text = record.algorithm.ToString(); + algorithm.Location = new System.Drawing.Point(keyTag.Left + keyTag.Width + 10, 30); + algorithm.AutoSize = true; + DNSPanel.Controls.Add(algorithm); + Label digestType = new Label(); + digestType.Text = record.digestType.ToString(); + digestType.Location = new System.Drawing.Point(algorithm.Left + algorithm.Width + 10, 30); + digestType.AutoSize = true; + DNSPanel.Controls.Add(digestType); + Label digest = new Label(); + digest.Text = record.digest; + digest.Location = new System.Drawing.Point(digestType.Left + digestType.Width + 10, 30); + digest.AutoSize = true; + DNSPanel.Controls.Add(digest); + break; + case "TXT": + + int j = 0; + foreach (string txt in record.TXT) + { + Label DNSTXT = new Label(); + DNSTXT.Text = txt; + DNSTXT.Location = new System.Drawing.Point(10, 30 + (j * 20)); + DNSTXT.AutoSize = true; + DNSPanel.Controls.Add(DNSTXT); + DNSPanel.Height = 60 + (j * 20); + j++; + } + break; + + } + Button DeleteButton = new Button(); + DeleteButton.Text = "X"; + DeleteButton.Width = 30; + DeleteButton.Height = 30; + DeleteButton.Left = DNSPanel.Width - 40; + // On click remove record from DNS[] and refresh display + DeleteButton.TextAlign = ContentAlignment.MiddleCenter; + + DNS current = record; + DeleteButton.Click += (sender, e) => + { + DNS[] newRecords = new DNS[DNSrecords.Length - 1]; + int a = 0; + foreach (DNS r in DNSrecords) + { + if (r.type == current.type && r.ns == current.ns && + r.TXT == current.TXT && r.address == current.address && + r.digest == current.digest && r.digestType == current.digestType && + r.algorithm == current.algorithm && r.keyTag == current.keyTag) + { + // Deleted + } + else + { + newRecords[a] = r; + a++; + } + } + DNSrecords = newRecords; + UpdateDNSGroup(); + }; + + DNSPanel.Controls.Add(DeleteButton); + DeleteButton.BringToFront(); + + panelRecords.Controls.Add(DNSPanel); + i++; + + } + } + + #region Logging + public void AddLog(string message) + { + StreamWriter sw = new StreamWriter(dir + "log.txt", true); + sw.WriteLine(DateTime.Now.ToString() + ": " + message); + sw.Dispose(); + } + #endregion + #region Theming + private void UpdateTheme() + { + // Check if file exists + if (!Directory.Exists(dir)) + { + CreateConfig(dir); + } + if (!File.Exists(dir + "theme.txt")) + { + CreateConfig(dir); + } + + // Read file + StreamReader sr = new StreamReader(dir + "theme.txt"); + theme = new Dictionary(); + while (!sr.EndOfStream) + { + string line = sr.ReadLine(); + string[] split = line.Split(':'); + theme.Add(split[0].Trim(), split[1].Trim()); + } + sr.Dispose(); + + if (!theme.ContainsKey("background") || !theme.ContainsKey("background-alt") || !theme.ContainsKey("foreground") || !theme.ContainsKey("foreground-alt")) + { + AddLog("Theme file is missing key"); + return; + } + + // Apply theme + this.BackColor = ColorTranslator.FromHtml(theme["background"]); + + // Foreground + this.ForeColor = ColorTranslator.FromHtml(theme["foreground"]); + + + // Need to specify this for each groupbox to override the black text + foreach (Control c in Controls) + { + ThemeControl(c); + } + applyTransparency(theme); + + + } + private void ThemeControl(Control c) + { + if (c.GetType() == typeof(GroupBox) || c.GetType() == typeof(Panel)) + { + c.ForeColor = ColorTranslator.FromHtml(theme["foreground"]); + foreach (Control sub in c.Controls) + { + ThemeControl(sub); + } + } + if (c.GetType() == typeof(TextBox) || c.GetType() == typeof(Button) + || c.GetType() == typeof(ComboBox) || c.GetType() == typeof(StatusStrip) || c.GetType() == typeof(ToolStrip) || + c.GetType() == typeof(ListBox)) + { + c.ForeColor = ColorTranslator.FromHtml(theme["foreground-alt"]); + c.BackColor = ColorTranslator.FromHtml(theme["background-alt"]); + } + } + + private void applyTransparency(Dictionary theme) + { + if (theme.ContainsKey("transparent-mode")) + { + switch (theme["transparent-mode"]) + { + case "mica": + var accent = new AccentPolicy { AccentState = AccentState.ACCENT_ENABLE_BLURBEHIND }; + var accentStructSize = Marshal.SizeOf(accent); + var accentPtr = Marshal.AllocHGlobal(accentStructSize); + Marshal.StructureToPtr(accent, accentPtr, false); + var data = new WindowCompositionAttributeData + { + Attribute = WindowCompositionAttribute.WCA_ACCENT_POLICY, + SizeOfData = accentStructSize, + Data = accentPtr + }; + User32.SetWindowCompositionAttribute(Handle, ref data); + Marshal.FreeHGlobal(accentPtr); + break; + case "key": + if (theme.ContainsKey("transparency-key")) + { + switch (theme["transparency-key"]) + { + case "alt": + this.TransparencyKey = ColorTranslator.FromHtml(theme["background-alt"]); + break; + case "main": + this.TransparencyKey = ColorTranslator.FromHtml(theme["background"]); + break; + default: + this.TransparencyKey = ColorTranslator.FromHtml(theme["transparency-key"]); + break; + } + } + else + { + AddLog("No transparency-key found in theme file"); + } + break; + case "percent": + if (theme.ContainsKey("transparency-percent")) + { + Opacity = Convert.ToDouble(theme["transparency-percent"]) / 100; + } + else + { + AddLog("No transparency-percent found in theme file"); + } + break; + } + } + } + + private void CreateConfig(string dir) + { + if (!Directory.Exists(dir)) + { + Directory.CreateDirectory(dir); + } + StreamWriter sw = new StreamWriter(dir + "theme.txt"); + sw.WriteLine("background: #000000"); + sw.WriteLine("foreground: #8e05c2"); + sw.WriteLine("background-alt: #3e065f"); + sw.WriteLine("foreground-alt: #ffffff"); + sw.WriteLine("transparent-mode: off"); + sw.WriteLine("transparency-key: main"); + sw.WriteLine("transparency-percent: 90"); + sw.WriteLine("selected-bg: #000000"); + sw.WriteLine("selected-fg: #ffffff"); + sw.WriteLine("error: #ff0000"); + + sw.Dispose(); + AddLog("Created theme file"); + } + + // Required for mica effect + internal enum AccentState + { + ACCENT_DISABLED = 0, + ACCENT_ENABLE_GRADIENT = 1, + ACCENT_ENABLE_TRANSPARENTGRADIENT = 2, + ACCENT_ENABLE_BLURBEHIND = 3, + ACCENT_INVALID_STATE = 4 + } + + internal enum WindowCompositionAttribute + { + WCA_ACCENT_POLICY = 19 + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AccentPolicy + { + public AccentState AccentState; + public int AccentFlags; + public int GradientColor; + public int AnimationId; + } + + [StructLayout(LayoutKind.Sequential)] + internal struct WindowCompositionAttributeData + { + public WindowCompositionAttribute Attribute; + public IntPtr Data; + public int SizeOfData; + } + + internal static class User32 + { + [DllImport("user32.dll")] + internal static extern int SetWindowCompositionAttribute(IntPtr hwnd, ref WindowCompositionAttributeData data); + } + #endregion + #region API + + + private async void GetDNS() + { + + // Get DNS records + string contentDNS = "{\"method\": \"getnameresource\", \"params\": [\"" + domain + "\"]}"; + string responseDNS = await APIPost("", false, contentDNS); + JObject jObjectDNS = JObject.Parse(responseDNS); + JObject result = (JObject)jObjectDNS["result"]; + JArray records = (JArray)result["records"]; + // For each record + int i = 0; + DNSrecords = new DNS[records.Count()]; + foreach (JObject record in records) + { + Panel DNSPanel = new Panel(); + // Count for scroll width + DNSPanel.Width = panelRecords.Width - SystemInformation.VerticalScrollBarWidth - 2; + DNSPanel.Height = 60; + DNSPanel.BorderStyle = BorderStyle.FixedSingle; + DNSPanel.Top = 62 * i; + + Label DNSType = new Label(); + DNSType.Text = record["type"].ToString(); + DNSType.Location = new System.Drawing.Point(10, 10); + DNSType.AutoSize = true; + DNSType.Font = new Font(DNSType.Font.FontFamily, 11.0f, FontStyle.Bold); + DNSPanel.Controls.Add(DNSType); + + + switch (DNSType.Text) + { + case "NS": + DNSrecords[i] = new DNS(record["type"].ToString(), record["ns"].ToString()); + break; + case "GLUE4": + case "GLUE6": + DNSrecords[i] = new DNS(record["type"].ToString(), record["ns"].ToString(), record["address"].ToString()); + break; + case "DS": + DNSrecords[i] = new DNS(record["type"].ToString(), int.Parse(record["keyTag"].ToString()), + int.Parse(record["algorithm"].ToString()), int.Parse(record["digestType"].ToString()), + record["digest"].ToString()); + break; + case "TXT": + JArray txts = (JArray)record["txt"]; + int j = 0; + string[] TXTs = new string[txts.Count]; + foreach (string txt in txts) + { + TXTs[j] = txt; + j++; + } + DNSrecords[i] = new DNS("TXT", TXTs); + break; + } + i++; + } + + UpdateDNSGroup(); + } + + private string convertHNS(string dollarydoos) + { + decimal hns = Convert.ToDecimal(dollarydoos); + hns = hns / 1000000; + return decimal.Round(hns, 2).ToString(); + } + + + + HttpClient httpClient = new HttpClient(); + /// + /// Post to HSD API + /// + /// Path to post to + /// Whether to use port 12039 + /// Content to post + /// + private async Task APIPost(string path, bool wallet, string content) + { + string key = nodeSettings["Key"]; + string ip = nodeSettings["IP"]; + string port = "1203"; + if (mainForm.network == 1) + { + port = "1303"; + } + if (wallet) port = port + "9"; + else port = port + "7"; + + HttpRequestMessage req = new HttpRequestMessage(HttpMethod.Post, "http://" + ip + ":" + port + "/" + path); + req.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes("x:" + key))); + req.Content = new StringContent(content); + + // Send request + HttpResponseMessage resp = await httpClient.SendAsync(req); + + try + { + resp.EnsureSuccessStatusCode(); + } + catch (Exception ex) + { + AddLog("Post Error: " + ex.Message); + AddLog("Post Error: " + await resp.Content.ReadAsStringAsync()); + return "Error"; + } + + return await resp.Content.ReadAsStringAsync(); + } + /// + /// Get from HSD API + /// + /// Path to get + /// Whether to use port 12039 + /// + private async Task APIGet(string path, bool wallet) + { + string key = nodeSettings["Key"]; + string ip = nodeSettings["IP"]; + + string port = "1203"; + if (mainForm.network == 1) + { + port = "1303"; + } + if (wallet) port = port + "9"; + else port = port + "7"; + + try + { + HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://" + ip + ":" + port + "/" + path); + // Add API key to header + request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes("x:" + key))); + // Send request and log response + HttpResponseMessage response = await httpClient.SendAsync(request); + response.EnsureSuccessStatusCode(); + return await response.Content.ReadAsStringAsync(); + + } + // Log errors to log textbox + catch (Exception ex) + { + AddLog("Get Error: " + ex.Message); + return "Error"; + } + } + #endregion + + private void buttonAddRecord_Click(object sender, EventArgs e) + { + DNS[] updatedDNS = new DNS[DNSrecords.Length + 1]; + DNSrecords.CopyTo(updatedDNS, 0); + if (textBoxMain.Text == "") + { + AddLog("No Content"); + return; + } + switch (comboBoxType.Text) + { + case "NS": + updatedDNS[updatedDNS.Length - 1] = new DNS("NS", textBoxMain.Text.ToLower()); + break; + case "TXT": + string[] TXT = new string[1]; + TXT[0] = textBoxMain.Text; + updatedDNS[updatedDNS.Length - 1] = new DNS("TXT", TXT); + break; + case "DS": + try + { + string[] parts = textBoxMain.Text.Trim().Split(' '); + if (parts.Length != 4) return; + int keyTag = int.Parse(parts[0]); + int algorithm = int.Parse(parts[1]); + int digestType = int.Parse(parts[2]); + string digest = parts[3]; + updatedDNS[updatedDNS.Length - 1] = new DNS("DS", keyTag, algorithm, digestType, digest); + } + catch + { + NotifyForm notifyForm = new NotifyForm("Incorrect format for DS"); + notifyForm.ShowDialog(); + notifyForm.Dispose(); + } + break; + case "GLUE4": + case "GLUE6": + if (textBoxAlt.Text == "") return; + updatedDNS[updatedDNS.Length - 1] = new DNS(comboBoxType.Text, textBoxMain.Text, textBoxAlt.Text); + break; + } + textBoxMain.Text = ""; + textBoxAlt.Text = ""; + DNSrecords = updatedDNS; + UpdateDNSGroup(); + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + this.cancel = true; + this.Close(); + } + + private void buttonSend_Click(object sender, EventArgs e) + { + this.cancel = false; + this.Close(); + } + + private void comboBoxType_SelectedIndexChanged(object sender, EventArgs e) + { + switch (comboBoxType.Text) + { + case "NS": + textBoxAlt.Hide(); + labelRecordAlt.Hide(); + labelRecordMain.Text = "NS"; + textBoxMain.PlaceholderText = "ns1.woodburn."; + break; + case "DS": + textBoxAlt.Hide(); + labelRecordAlt.Hide(); + labelRecordMain.Text = "DS"; + textBoxMain.PlaceholderText = "57355 8 2 95a57c3bab7849dbcddf7c72ada71a88146b141110318ca5be672057e865c3e2"; + break; + case "TXT": + textBoxAlt.Hide(); + labelRecordAlt.Hide(); + labelRecordMain.Text = "TXT"; + break; + case "GLUE4": + textBoxAlt.Show(); + labelRecordAlt.Show(); + labelRecordMain.Text = "NS"; + labelRecordAlt.Text = "Address"; + textBoxMain.PlaceholderText = "ns1.woodburn."; + textBoxAlt.PlaceholderText = "127.0.0.1"; + break; + case "GLUE6": + textBoxAlt.Show(); + labelRecordAlt.Show(); + labelRecordMain.Text = "NS"; + labelRecordAlt.Text = "Address"; + textBoxMain.PlaceholderText = "ns1.woodburn."; + textBoxAlt.PlaceholderText = "::1"; + break; + } + } + + private void textBoxMain_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyValue == 13) + { + e.SuppressKeyPress = true; + buttonAddRecord.PerformClick(); + + } + } + } +} diff --git a/FireWallet/DNSForm.resx b/FireWallet/DNSForm.resx new file mode 100644 index 0000000..3f56770 --- /dev/null +++ b/FireWallet/DNSForm.resx @@ -0,0 +1,295 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + AElFTkSuQmCC + + + \ No newline at end of file diff --git a/FireWallet/DomainForm.Designer.cs b/FireWallet/DomainForm.Designer.cs index 29b49cc..8f395e1 100644 --- a/FireWallet/DomainForm.Designer.cs +++ b/FireWallet/DomainForm.Designer.cs @@ -28,6 +28,7 @@ /// private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DomainForm)); labelTitle = new Label(); groupBoxStatus = new GroupBox(); labelStatusTimeToNext = new Label(); @@ -66,9 +67,9 @@ // labelTitle.AutoSize = true; labelTitle.Font = new Font("Segoe UI", 20F, FontStyle.Regular, GraphicsUnit.Point); - labelTitle.Location = new System.Drawing.Point(12, 9); + labelTitle.Location = new Point(12, 9); labelTitle.Name = "labelTitle"; - labelTitle.Size = new System.Drawing.Size(126, 37); + labelTitle.Size = new Size(126, 37); labelTitle.TabIndex = 0; labelTitle.Text = "labelTitle"; // @@ -87,9 +88,9 @@ groupBoxStatus.Controls.Add(labelStatusMain); groupBoxStatus.Controls.Add(labelStatus1); groupBoxStatus.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - groupBoxStatus.Location = new System.Drawing.Point(12, 68); + groupBoxStatus.Location = new Point(12, 68); groupBoxStatus.Name = "groupBoxStatus"; - groupBoxStatus.Size = new System.Drawing.Size(378, 173); + groupBoxStatus.Size = new Size(378, 173); groupBoxStatus.TabIndex = 1; groupBoxStatus.TabStop = false; groupBoxStatus.Text = "Info"; @@ -97,117 +98,117 @@ // labelStatusTimeToNext // labelStatusTimeToNext.AutoSize = true; - labelStatusTimeToNext.Location = new System.Drawing.Point(112, 130); + labelStatusTimeToNext.Location = new Point(112, 130); labelStatusTimeToNext.Name = "labelStatusTimeToNext"; - labelStatusTimeToNext.Size = new System.Drawing.Size(67, 21); + labelStatusTimeToNext.Size = new Size(67, 21); labelStatusTimeToNext.TabIndex = 11; labelStatusTimeToNext.Text = "0 Blocks"; // // labelStatusNextState // labelStatusNextState.AutoSize = true; - labelStatusNextState.Location = new System.Drawing.Point(27, 130); + labelStatusNextState.Location = new Point(27, 130); labelStatusNextState.Name = "labelStatusNextState"; - labelStatusNextState.Size = new System.Drawing.Size(79, 21); + labelStatusNextState.Size = new Size(79, 21); labelStatusNextState.TabIndex = 10; labelStatusNextState.Text = "Expires in:"; // // labelStatusTransferring // labelStatusTransferring.AutoSize = true; - labelStatusTransferring.Location = new System.Drawing.Point(112, 109); + labelStatusTransferring.Location = new Point(112, 109); labelStatusTransferring.Name = "labelStatusTransferring"; - labelStatusTransferring.Size = new System.Drawing.Size(31, 21); + labelStatusTransferring.Size = new Size(31, 21); labelStatusTransferring.TabIndex = 9; labelStatusTransferring.Text = "No"; // // labelStatus5 // labelStatus5.AutoSize = true; - labelStatus5.Location = new System.Drawing.Point(9, 109); + labelStatus5.Location = new Point(9, 109); labelStatus5.Name = "labelStatus5"; - labelStatus5.Size = new System.Drawing.Size(97, 21); + labelStatus5.Size = new Size(97, 21); labelStatus5.TabIndex = 8; labelStatus5.Text = "Transferring:"; // // labelStatusPaid // labelStatusPaid.AutoSize = true; - labelStatusPaid.Location = new System.Drawing.Point(112, 88); + labelStatusPaid.Location = new Point(112, 88); labelStatusPaid.Name = "labelStatusPaid"; - labelStatusPaid.Size = new System.Drawing.Size(95, 21); + labelStatusPaid.Size = new Size(95, 21); labelStatusPaid.TabIndex = 7; labelStatusPaid.Text = "Not Opened"; // // labelStatus4 // labelStatus4.AutoSize = true; - labelStatus4.Location = new System.Drawing.Point(26, 88); + labelStatus4.Location = new Point(26, 88); labelStatus4.Name = "labelStatus4"; - labelStatus4.Size = new System.Drawing.Size(80, 21); + labelStatus4.Size = new Size(80, 21); labelStatus4.TabIndex = 6; labelStatus4.Text = "Price Paid:"; // // labelStatusHighest // labelStatusHighest.AutoSize = true; - labelStatusHighest.Location = new System.Drawing.Point(112, 67); + labelStatusHighest.Location = new Point(112, 67); labelStatusHighest.Name = "labelStatusHighest"; - labelStatusHighest.Size = new System.Drawing.Size(95, 21); + labelStatusHighest.Size = new Size(95, 21); labelStatusHighest.TabIndex = 5; labelStatusHighest.Text = "Not Opened"; // // labelStatus3 // labelStatus3.AutoSize = true; - labelStatus3.Location = new System.Drawing.Point(14, 67); + labelStatus3.Location = new Point(14, 67); labelStatus3.Name = "labelStatus3"; - labelStatus3.Size = new System.Drawing.Size(92, 21); + labelStatus3.Size = new Size(92, 21); labelStatus3.TabIndex = 4; labelStatus3.Text = "Highest Bid:"; // // labelStatusReserved // labelStatusReserved.AutoSize = true; - labelStatusReserved.Location = new System.Drawing.Point(112, 25); + labelStatusReserved.Location = new Point(112, 25); labelStatusReserved.Name = "labelStatusReserved"; - labelStatusReserved.Size = new System.Drawing.Size(40, 21); + labelStatusReserved.Size = new Size(40, 21); labelStatusReserved.TabIndex = 3; labelStatusReserved.Text = "True"; // // labelStatus2 // labelStatus2.AutoSize = true; - labelStatus2.Location = new System.Drawing.Point(29, 25); + labelStatus2.Location = new Point(29, 25); labelStatus2.Name = "labelStatus2"; - labelStatus2.Size = new System.Drawing.Size(77, 21); + labelStatus2.Size = new Size(77, 21); labelStatus2.TabIndex = 2; labelStatus2.Text = "Reserved:"; // // labelStatusMain // labelStatusMain.AutoSize = true; - labelStatusMain.Location = new System.Drawing.Point(112, 46); + labelStatusMain.Location = new Point(112, 46); labelStatusMain.Name = "labelStatusMain"; - labelStatusMain.Size = new System.Drawing.Size(57, 21); + labelStatusMain.Size = new Size(57, 21); labelStatusMain.TabIndex = 1; labelStatusMain.Text = "Closed"; // // labelStatus1 // labelStatus1.AutoSize = true; - labelStatus1.Location = new System.Drawing.Point(51, 46); + labelStatus1.Location = new Point(51, 46); labelStatus1.Name = "labelStatus1"; - labelStatus1.Size = new System.Drawing.Size(55, 21); + labelStatus1.Size = new Size(55, 21); labelStatus1.TabIndex = 0; labelStatus1.Text = "Status:"; // // groupBoxDNS // groupBoxDNS.Controls.Add(panelDNS); - groupBoxDNS.Location = new System.Drawing.Point(12, 247); + groupBoxDNS.Location = new Point(12, 247); groupBoxDNS.Name = "groupBoxDNS"; - groupBoxDNS.Size = new System.Drawing.Size(962, 313); + groupBoxDNS.Size = new Size(962, 313); groupBoxDNS.TabIndex = 12; groupBoxDNS.TabStop = false; groupBoxDNS.Text = "DNS"; @@ -215,18 +216,18 @@ // panelDNS // panelDNS.Dock = DockStyle.Fill; - panelDNS.Location = new System.Drawing.Point(3, 19); + panelDNS.Location = new Point(3, 19); panelDNS.Name = "panelDNS"; - panelDNS.Size = new System.Drawing.Size(956, 291); + panelDNS.Size = new Size(956, 291); panelDNS.TabIndex = 0; // // groupBoxBids // groupBoxBids.Controls.Add(panelBids); groupBoxBids.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point); - groupBoxBids.Location = new System.Drawing.Point(12, 247); + groupBoxBids.Location = new Point(12, 247); groupBoxBids.Name = "groupBoxBids"; - groupBoxBids.Size = new System.Drawing.Size(962, 313); + groupBoxBids.Size = new Size(962, 313); groupBoxBids.TabIndex = 13; groupBoxBids.TabStop = false; groupBoxBids.Text = "Bids"; @@ -235,9 +236,9 @@ // panelBids // panelBids.Dock = DockStyle.Fill; - panelBids.Location = new System.Drawing.Point(3, 19); + panelBids.Location = new Point(3, 19); panelBids.Name = "panelBids"; - panelBids.Size = new System.Drawing.Size(956, 291); + panelBids.Size = new Size(956, 291); panelBids.TabIndex = 0; // // groupBoxAction @@ -251,9 +252,9 @@ groupBoxAction.Controls.Add(buttonActionAlt); groupBoxAction.Controls.Add(buttonActionMain); groupBoxAction.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - groupBoxAction.Location = new System.Drawing.Point(396, 68); + groupBoxAction.Location = new Point(396, 68); groupBoxAction.Name = "groupBoxAction"; - groupBoxAction.Size = new System.Drawing.Size(575, 173); + groupBoxAction.Size = new Size(575, 173); groupBoxAction.TabIndex = 14; groupBoxAction.TabStop = false; groupBoxAction.Text = "Bid"; @@ -262,9 +263,9 @@ // buttonTransfer // buttonTransfer.FlatStyle = FlatStyle.Flat; - buttonTransfer.Location = new System.Drawing.Point(253, 22); + buttonTransfer.Location = new Point(253, 22); buttonTransfer.Name = "buttonTransfer"; - buttonTransfer.Size = new System.Drawing.Size(155, 37); + buttonTransfer.Size = new Size(155, 37); buttonTransfer.TabIndex = 6; buttonTransfer.Text = "Transfer"; buttonTransfer.UseVisualStyleBackColor = true; @@ -274,9 +275,9 @@ // buttonRenew // buttonRenew.FlatStyle = FlatStyle.Flat; - buttonRenew.Location = new System.Drawing.Point(414, 22); + buttonRenew.Location = new Point(414, 22); buttonRenew.Name = "buttonRenew"; - buttonRenew.Size = new System.Drawing.Size(155, 37); + buttonRenew.Size = new Size(155, 37); buttonRenew.TabIndex = 6; buttonRenew.Text = "Renew"; buttonRenew.UseVisualStyleBackColor = true; @@ -285,18 +286,18 @@ // // textBoxBlind // - textBoxBlind.Location = new System.Drawing.Point(60, 64); + textBoxBlind.Location = new Point(60, 64); textBoxBlind.Name = "textBoxBlind"; - textBoxBlind.Size = new System.Drawing.Size(180, 29); + textBoxBlind.Size = new Size(180, 29); textBoxBlind.TabIndex = 5; textBoxBlind.Visible = false; textBoxBlind.TextChanged += BidBlind_TextChanged; // // textBoxBid // - textBoxBid.Location = new System.Drawing.Point(60, 22); + textBoxBid.Location = new Point(60, 22); textBoxBid.Name = "textBoxBid"; - textBoxBid.Size = new System.Drawing.Size(180, 29); + textBoxBid.Size = new Size(180, 29); textBoxBid.TabIndex = 4; textBoxBid.Visible = false; textBoxBid.TextChanged += BidBlind_TextChanged; @@ -304,9 +305,9 @@ // labelBlind // labelBlind.AutoSize = true; - labelBlind.Location = new System.Drawing.Point(6, 67); + labelBlind.Location = new Point(6, 67); labelBlind.Name = "labelBlind"; - labelBlind.Size = new System.Drawing.Size(48, 21); + labelBlind.Size = new Size(48, 21); labelBlind.TabIndex = 3; labelBlind.Text = "Blind:"; labelBlind.Visible = false; @@ -314,9 +315,9 @@ // labelBid // labelBid.AutoSize = true; - labelBid.Location = new System.Drawing.Point(19, 25); + labelBid.Location = new Point(19, 25); labelBid.Name = "labelBid"; - labelBid.Size = new System.Drawing.Size(35, 21); + labelBid.Size = new Size(35, 21); labelBid.TabIndex = 2; labelBid.Text = "Bid:"; labelBid.Visible = false; @@ -324,9 +325,9 @@ // buttonActionAlt // buttonActionAlt.FlatStyle = FlatStyle.Flat; - buttonActionAlt.Location = new System.Drawing.Point(253, 130); + buttonActionAlt.Location = new Point(253, 130); buttonActionAlt.Name = "buttonActionAlt"; - buttonActionAlt.Size = new System.Drawing.Size(155, 37); + buttonActionAlt.Size = new Size(155, 37); buttonActionAlt.TabIndex = 1; buttonActionAlt.Text = "Bid in Batch"; buttonActionAlt.UseVisualStyleBackColor = true; @@ -335,9 +336,9 @@ // buttonActionMain // buttonActionMain.FlatStyle = FlatStyle.Flat; - buttonActionMain.Location = new System.Drawing.Point(414, 130); + buttonActionMain.Location = new Point(414, 130); buttonActionMain.Name = "buttonActionMain"; - buttonActionMain.Size = new System.Drawing.Size(155, 37); + buttonActionMain.Size = new Size(155, 37); buttonActionMain.TabIndex = 0; buttonActionMain.Text = "Send Bid"; buttonActionMain.UseVisualStyleBackColor = true; @@ -347,9 +348,9 @@ // buttonExplorer.FlatStyle = FlatStyle.Flat; buttonExplorer.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); - buttonExplorer.Location = new System.Drawing.Point(876, 12); + buttonExplorer.Location = new Point(876, 12); buttonExplorer.Name = "buttonExplorer"; - buttonExplorer.Size = new System.Drawing.Size(98, 34); + buttonExplorer.Size = new Size(98, 34); buttonExplorer.TabIndex = 15; buttonExplorer.TabStop = false; buttonExplorer.Text = "Explorer"; @@ -358,9 +359,9 @@ // // DomainForm // - AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new System.Drawing.Size(986, 572); + ClientSize = new Size(986, 572); Controls.Add(buttonExplorer); Controls.Add(groupBoxAction); Controls.Add(groupBoxBids); @@ -368,6 +369,7 @@ Controls.Add(groupBoxStatus); Controls.Add(labelTitle); FormBorderStyle = FormBorderStyle.Fixed3D; + Icon = (Icon)resources.GetObject("$this.Icon"); MaximizeBox = false; Name = "DomainForm"; Text = "DomainForm"; diff --git a/FireWallet/DomainForm.cs b/FireWallet/DomainForm.cs index 924e9fc..8d2332e 100644 --- a/FireWallet/DomainForm.cs +++ b/FireWallet/DomainForm.cs @@ -1,6 +1,7 @@ using System.Diagnostics; using System.Runtime.InteropServices; using System.Text.RegularExpressions; +using Microsoft.VisualBasic; using Newtonsoft.Json.Linq; namespace FireWallet @@ -20,9 +21,9 @@ namespace FireWallet int TransferEnd; - public MainForm mainForm { get; set; } + private MainForm mainForm; - public DomainForm(string domain, string explorerTX, string explorerName) + public DomainForm(MainForm mainForm, string domain, string explorerTX, string explorerName) { InitializeComponent(); this.Text = domain + "/ | FireWallet"; @@ -30,6 +31,7 @@ namespace FireWallet this.domain = domain; this.explorerTX = explorerTX; this.explorerName = explorerName; + this.mainForm = mainForm; } #region Theming @@ -624,7 +626,7 @@ namespace FireWallet { foreach (string d in mainForm.Domains) { - if (d==domain) + if (d == domain) { return true; } @@ -830,7 +832,7 @@ namespace FireWallet else if (state == "CLOSED") { if (labelStatusTransferring.Text == "Yes") - { + { string content = "{\"method\": \"sendfinalize\", \"params\": [\"" + domain + "\"]}"; if (height < TransferEnd) { @@ -865,6 +867,50 @@ namespace FireWallet } } + else + { + DNSForm DNSEdit = new DNSForm(mainForm, domain); + DNSEdit.ShowDialog(); + + if (!DNSEdit.cancel) + { + string records = string.Join(", ", DNSEdit.DNSrecords.Select(record => record.ToString())); + + string content = "{\"method\": \"sendupdate\", \"params\": [\"" + domain + "\", {\"records\": [" + records + "]}]}"; + AddLog(content); + string response = await APIPost("", true, content); + + if (response == "Error") + { + NotifyForm notifyForm = new NotifyForm("Error sending update"); + notifyForm.ShowDialog(); + notifyForm.Dispose(); + } + else + { + JObject jObject = JObject.Parse(response); + if (jObject["result"].ToString() == "") + { + JObject error = (JObject)jObject["error"]; + string message = (string)error["message"]; + NotifyForm notifyForm2 = new NotifyForm("Error sending update: \n" + message); + notifyForm2.ShowDialog(); + notifyForm2.Dispose(); + return; + } + JObject result = (JObject)jObject["result"]; + string hash = (string)result["hash"]; + + NotifyForm notifyForm = new NotifyForm("Update sent: " + hash, "Explorer", explorerTX + hash); + notifyForm.ShowDialog(); + notifyForm.Dispose(); + + } + + } + + DNSEdit.Dispose(); + } } } @@ -922,6 +968,16 @@ namespace FireWallet this.Close(); } } + else + { + DNSForm dnsEdit = new DNSForm(mainForm, domain); + dnsEdit.ShowDialog(); + if (!dnsEdit.cancel) + { + mainForm.AddBatch(domain, "UPDATE", dnsEdit.DNSrecords); + } + dnsEdit.Dispose(); + } } else { diff --git a/FireWallet/DomainForm.resx b/FireWallet/DomainForm.resx index a395bff..3f56770 100644 --- a/FireWallet/DomainForm.resx +++ b/FireWallet/DomainForm.resx @@ -117,4 +117,179 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + AAABAAEAAAAAAAEAIACPJwAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAIzAAACMwgGAAAA9VKYwgAAIABJ + REFUeJzt3Xu4HeddH/rfu7YkW0Fy/Rweh0bx06cJaempwcdaMzI14qFu697A3BEkKW3S3K92bBI7sRPf + 4wvBiUlCLgQSAoeWYOC0SWhPqUPUQo7raq2l9IB5SuuItqQ2qXuJEUkkWXu9/SN7G0XWZa+91+x518zn + 8x9o75lfvGfe+c7vfWcmAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AIAS7du3b6ntGgD67PLLLz+37Ro4MxfKwm3fvv3Vu3btumnXrl2HHnvssf/adj0APZGGw+F379q166PH + jh37wmOPPfbv2y6I09vSdgGc1ZaIuDIirqyq6jM553smk8kn2i4KoKMGw+Hwu1JKN0dEFRGRcx60XBNn + IcwULuc8SCmt/p97U0ofr6pqEhF3j8fjX4mI3F51AN1w0UUXbdu+ffvzc843RMQ3nfhvKSWzGIUTZgo3 + GAxSzk/LK8OI+OWqqn43pfSOHTt2/KP9+/cfb6E8gIV28cUXf93WrVtfFhFvzDlfeKqf0Zkpnz9Q4c5y + En1zzvmjhw8f/o9VVV192WWXbd+0wgAW2N69e3dWVXX11q1bH4mI+yLilEEmQmdmEejMFO6kaabT+fMR + cd+xY8duqOv6/Tnnd43H4yearw5gsezevfuCpaWl1x45cuTqiDh/Lb+jM1M+YaZwp5lmOp1n5pxvjohr + qqr6ucFgcNeBAwf+qMHyABZCVVV/LiJ+LCJelnN+xiy/OxgMhJnCCTOFW+cdwXkRcdV0On1pVVU/u2XL + lnc89NBDn593bQClq+v6uTnnqyPilRFxznq2MZ1OTTMVTpgp31nnmM7g6yLiquPHj79qOBx+LKV053g8 + 9q4EoPOGw+HF8dVFvS+MDb5TTWemfMJM4XLOaQ1rZs5mW0rp70fEC4fD4f0RcddkMvn/N14dQFn27Nnz + bdPp9IaI+M7Y2M3gU3RmyidtFm7Oq+iXUkrPTyl9tqqqT+zevbue47YBWrNnz55vq6rqE9Pp9DMR8V0x + pyATEZFScq0snM5M+eZ2Qp60zSsHg8GVw+HwgaWlpRsOHDhwoIH9ADSqruu9Oec3T6fTKxvcjTBTOGGm + cCmlwQxPM61n+1dMp9MrhBpgkayGmJxzkyFmlWmmwgkzhcs5N9GZeZoTQ81gMLhxNBr9283YL8Asqqr6 + 9oi4fpNCzCqdmcIJM+Xb1JMopXRFzvmK4XD4QErprePx+KHN3D/AqVRV9e0ppVtyzn9js/dtzUz5hJnC + zelpppmllK6IiCuqqvpMSumto9Fo/6YXAfTeiSGmySn3M8k5m2YqnDBTuALuCPbmnD9dVdVnIuJt4/H4 + 0y3XA/TAynTSrRHx19sKMasKGIc5C2GmfKWcRHsj4jerqvpMzvmmyWTym20XBHTPSoi5LSL+Wtu1rNKZ + KZ8wU7i2ppnOYG9K6VNVVX1mOp3efPDgwU+1XRCw+FZCzO0RcXnLpTyNzkz5hJnCFXwS7R0MBg9UVbU/ + pXSrNTXAetR1/Z0555si4lvbruV0dGbKJ8yUr9Qws+rynPPlOjXALOq6viLnfEfOudgQs6rgm0pWCDOF + K3Ca6XRWOzVCDXBaVVV9+0qI+att17JWOWdhpnDCTOEW8I7gqVBjoTCw6sQ1MQtyg/YUYaZ8wkz5Fuus + /1NPLRQOj3RDb5X4dNKsFvCmsneEmcLlnAeLdhdzkqce6Q6hBnrjxPfEtF3LRlkAXD5hpnAduiN4KtR4 + ozB0V5dCzKoOjcOdJcyUb6HbMqfw1BuFB4PBjQcOHPhXbRcEbFyb305qms5M+YSZwnVgmul09k6n0/0+ + aAmLra7rvTnnN0fElW1/dqApOjPlE2YK1/WTaPWDlsPh8IHBYHDjaDT6t23XBJzdnj17vm06nb4l53xl + 27Vsgk6Pw10gzJSvk22Zk6WUrsg5XzEcDh9YWlq64cCBAwfargl4ut27d182GAxumE6nfQgxq0wzFU6Y + KVyHp5lOKaV0xXQ6/Rt1XX9yeXn5toMHD47argl4amHvTRHxN9uuZbNZM1M+rbPCdX2a6TRSzvm7B4PB + geFw+C+rqir+defQVbt37/6Ouq4fiIjfih4GmYjejsMLRWemfP1py5zC6poa76mBzbXSibk+Orywdwa9 + HocXgTBTuL5NM53BU++p8ZkEaM7Kt5Nujogr2q6lIAbhwgkzhdPefJqnPpOQUrplNBo90HZB0AUnvifG + DdTXMg6XT5gpn1Hl1PbmnP/lSqfmnslk8om2C4JFdOIbe00nnVrO2ThcOGGmcKaZzmpvSunjQg3Mpgsf + gNxEBuHCCTOFGwwGyd3SmuxNKX28rusHp9PpXUINnFpd11fknG+PiL/Sdi0LRJgpnDBTuJyzudoZ5Jwv + W+nUfDYi7hyPx78SEdIgvbcSYu7IOXvVwYysmSmfMFM400zrdklE/HJVVf8uIt4u1NBXKyHm7TnnS9uu + ZVFZM1M+YaZwppk27P+KiF8eDocHcs4vPnjw4O+1XRBshqqqhimlD+ac67Zr6QCdmcL5AxXONNN8pJT2 + DAaDA3Vde3cGnVdV1fdFxL8RZOZDZ6Z8LpTlcxLNzzNyzr9w6aWXfn3bhUBTvvVbv/XCiPhoRGxtu5au + GAwGxuHCCTOFs/Bs7v7s8vLyi9suAppy/Pjx10XEeW3X0SU6M+VzoSycaab5Syn9YNs1QIO+p+0COsg4 + XDh/oMIJM/OXc/6WMH1HB11++eVbIuJ5bdfRNToz5XOhLJy52kbs+JZv+Zbz2y4C5u3LX/7ynwlrZebO + OFw+YaZwOjPN2LZt27lt1wDzduzYsZ1t19BFOjPlc6EsnDDTjKWlJWGGzhkMBhb+NkOYKZwLZeG0N5tx + /PhxYYbOGQwGOjMNcFNZPn+gwjmJmpFS8vZrOmc6nQozDXBTWT4XyvI5iRownU7PabsGmLeUkjDTAGtm + yifMFM5L85qxtLT0zLZrgAY8o+0COso4XDh/oMK5I2hGztmj2XSO6dNmGIfLJ8yUz98IWJPpdLrUdg1d + ZM1M+VwoC2eaqRkppdx2DTBvKSVhpgE6M+VzoSycp5mAGZhmaoYwUzgXyvI5iZqhM0Pn5Jx1ZhrgprJ8 + /kCFM80ErJXxohnWzJTPgV84dwTNmE6nOjN0kYtuA6yZKZ8LZfmcRADtMg4XTpgpn5MIWCsdxwbokJfP + H6h8wkwzDPp0jlcONMOamfIJMwAdkXOetl1DF1kzUz5hhl5yBwvQHcIMQHcI6fSSMEMv6czQUY5rekmY + AegIIZ2+EmYAOsLLIOkrYYa+MujTOToz9JUwA9AdwkwzPJpdOGGGXtKOB+gOYQagO4R0ekmYoa8M+nSO + NTP0lTADACw0YYZecgdLF1kLRl8JMwDAQhNmALpDZ6YZHs0unDBDL5lmAugOYQagI4R0+kqYoa8M+gAd + IcwAdITODH0lzNBLHmEF6A5hBqA7hHR6SZihrwz6wJrknD2aXThhBqAjTJ/SV8JM+QxOLIJ0ySWXnD/L + L8z686yJ8YJeEmbKp73ZAE99zM++ffuWhsPhzywtLe2d5fcGg8Hfqqrq/WEcAjbIIAKs20UXXbTt0KFD + v5RSeklK6dxZfjeltD0iXlVV1S9UVbW1oRKBHhBm6CWdmY2rquoZ55577scj4ociIqbT6axhZvXnXxgR + v3bZZZdtn3OJveO4pq+EGWBmK+tdfiMi/vbq/28wGMwUZnLOJ/78lceOHftne/fu3TmnEoEeEWboK3ew + 63TxxRc/c2lp6dMR8TVrZGbtzETEyZ2Yy7/yla986tJLL/36DRXYYzozzRgMBtYuFk6YAdZs9+7du7Zu + 3fqbEXHJyf+2jjUzT/v5lNKe5eXlf7179+5dGygT6Blhhl7yPo7ZXXrppc8ZDAa/FREXnerfZw0zJ00z + negvDwaD367r+rmz1oiOI/0kzABntWfPnouWl5d/OyJOGzByzufMuNkzhZ/n5Jx/u67rb55xm0APCTPA + Ge3Zs2fPdDr9VxFxxqmfOXZmVj0r5/ypPXv2PG1Ki1PTcaSvhBngtOq6vmI6nX46Is66KHc6nc70aPUa + w88zp9Ppp+u6numFfD0mzDTAt5nKJ8zQVwb9s6jr+jtzzp+IiK9by8+nlGadZlpr+Dk/5/wbdV1fMeP2 + YS48JVY+YYZeMjid2XA4/O6c86/Fmde1fI01TBtt5OefkXP+ZF3X3zPLPmAedGbKJ8wAX2M4HP5ISulX + I2KmTss8Hs0+i3NyzvcPh8Pvn/H3ekNIp6+EGeApw+HwH6aUfjEi1vOtpCbWzJxsW0rpY1VV7VvH73ae + MENfCTP0kkH/6YbD4StSSj8TEUvr3MRMASjnvG0D+/nHVVW9aJ2/D3SMMENfCTMnqKrqNSmlD8TGxoSZ + wkxKacsG9rUUER8ZDoev3cA2gI4QZqDn6rq+LiJ+KiI2tMhx1nCSc95ImFnZZXpPVVVXb3A7XSKk00vC + DPRYVVXX55zvmce2ptPprOFkPetyTpYi4r66rm+cw7aABSXM0EvLy8u9v4Otquq2iLh7jpucNZxstDPz + lJzzHcPh8OZ5bW9ReQNwYzyaXThhBvon1XX9roh421w3OvsamLmFmZX931JV1TzDGbAghBnol1RV1U/l + nN/QwLZb68yc4PrhcDiXabMFpTNDLwkz9FJPH81OdV2/JyJe3dD221gz8zQppeuqqrq3iW0DZRJm6KUe + hplUVdV7c85NPspcRJhZce1wOHxng9svUg+Pa4gIYQb6IFVV9d6IeE3D+2l1zczJUkrX9DHQQB8JM9Bt + g6qqfjqaDzIRZayZ+RoppWtWFjv3gs4MfSXM0Es9GfRXOzIv26T9lTTN9JSc8xtWAo3Ha1kvx07hhBno + plRV1fuiucW+p1LUNNOJcs5vGA6H74/uX5T6ENLhaYQZ6J7VIPOqTd7vrJ2W9X7Qcl1SSq+squq+6HCg + 8dI8+kqYgW4ZVFX14dj8IBMxWzhJ0U6ouKqu6w+0tG+gIcIMdMdqkHlxS/tfiICQc36FQAPdIsxAB+zb + t29pJci8qO1a1qjVIJFzfkVVVR9su44GmGail4QZWHD79u1bOnToUAlBZtGCwctXAo1xEBack5he6sqj + 2ScEmX/Qdi2z2LdvXynB5+VVVX0gOjIWduW4Lk3OuZTjldPoxAkMfbRv376lz33ucx+JcoLMmgf8xx9/ + vKSLgw4NLDgnLyyg1SCTUvr7bddygpICyqxeNhwO3xeL/b9BZ4beEmbopUVuG69MLf1CYUFmJocPHy7u + v//Ke2g+FAs8Li7ycQ0bsbAnLWzEot7B7tu3b+kP/uAPfi4iXtB2LafQhQvpS4fD4cIGGmGGvlrIExb6 + aKUj89Gc84+2XctGHTlypNiLbkrpJYscaKCPnKywAFaDTET8vbZrOYNiA8qsFjjQdOZvALNYtBMV5uL4 + 8eMLM820EmR+PsoOMhEzXEiPHj1a/EV3gQMNczYYDIo/XvvOSVq+hbnoMn8nBJkXtl3LPF144YULcXFI + Kb2kqqqfjQUZKweDwULUuWh8wLN8DvzyOYkasGXLluIvppdffvmWQ4cO/VIsTpAp/r/pOr14kQIN9JGT + s3xdvUC0qvRppn379i0dPnz4oxHxQ23X0oRFmGY6yYvruv6ZKHzM9DQTfVX0iUlE6Mz0zgmLfRelI7Oq + 0xfSnPM/LH0NjTDTjEV9lUOfFHtSQh+d8B6Z0hf7nsqaL6THjh1byIvuyhqanw5jJxTFCQnlGHzuc5/7 + SBfeI9NxL135llOJgazEmrpAZ6Zwwkz5nEQNKLBtPKiq6sOL/ImCmOFC+uSTTy76RfdlJQYajxDTV8IM + tC+tfOTwRW0XslmWl5e7cNF9eVVV90VZgaakWmDTCDPQrlRV1ftSSq9suxDW5aq6rt/ZdhE0rrROLicR + ZsrnJOquVFXVeyPiVW0XMkdr6gycf/75nekg5JzfUNf1u9quI8LTTPSXMAPtSHVdvyciXtN2IWxczvkN + VVXdW0AdwkwDClxjx0mEGdh8aTgcvjvn/Nq2C2nAmi6mx48f7+JF99qqqn6i7SKgj4QZ2FypqqqfTCm9 + ru1CmrBv374+h5mIiB+rquodLe6/q/9d4YyEmcJpb3bLcDi8OyJe33YdNOqNw+HwnjZ27NHsZvjQZPmE + mcI5ibqjqqp7U0rXtV1Hkw4dOrSmMaUjj2afVkrpuuFweHMbu25hn9A6YaZw7rSasdkLJauqujMirt3M + fbZh586dwveKlNItVVW9re06oA+EmcLpzDRjaWlp0479qqrujoi3bNb+2vT444+v6b/r0tJSX47r26qq + eutm7czTTM0w3V8+YYZe2qxBv6qq2yPi+s3YVwkuuOCC6Vp+bsuWLX26ONxe1/WNm7EjYYa+Embopel0 + 2vixX1XVbRGxaXflJbjgggvWFFJ6FmYi53zHcDi8oe06WLdeHa+LSJgpnPZmM5qeZqqq6taI6N16ifvv + v39Nx+sXv/jF3h3XKaW3V1X15qZ30/D2oUjCDL3UZDu+ruvrIuKmprZfuDWFlB6tmTnZXVVVNTbt6IGB + xvT1eF0Ywgy9lHNu5NgfDodvyjm38o6RQqxp0N+6dWufLw53VVV1VdtFQJcIM+Xr86DfmMFgMPdjv6qq + t6SUfnze2+2ibdu29fm4ThFxX13XTbwFWmeGXhJm6KV5TzMNh8M3RcSd89zmAlpzQDnnnHP6HGYiIlLO + +d3z7tB4mqkZ1i6WT5ihl+Y56A+HwzfpyETEDGHm85//vIvDSodmnoFGmKGvhJnyGfQbMK9pJkHma+jM + zG410FzddiGcnpeXlk+YoZfmsQBYkHmaNQ/45557rovDn1oNNPN4yklnhl4SZuiljbbj67q+TpB5mjUH + FN9wOqW7N/oeGo9m01fCDL20kWmmuq6v6/nj16ez5oCyf//+NX32oIfu2oQX6zEjC4DLJ8wUzknUmHXd + wQoyZzTLseq4Pr27qqpa14dJLQCmr4QZemk932YSZM5KmJmfO9cZaIQZekmYoa9mGvSrqrpekDkrU0fz + dec6Pk4pzDRD+C6cMFM4jwQ2Y5Y1MytPmdzdYDldMeux6tg+i5TS231tG85OmKGX1rq2QJCZiTDTgJTS + 2+u6vnEtP2vNTGMcq4UTZuiltbxnRpCZmTDTkJzzHWsJNB7Npq+EmcJ5mqkZZ5tmEmTWRZhpUM75jqqq + 3tp2HVAiYYZeOlM7XpBZN2GmebefKdCYZmqGm8ryCTP00ummmeq6viUEmfUSZjbH7VVVve00/ybM0EvC + TPkM+A041dqCuq5vyTnf3EY9HSHMbJ7bThNohJkGeKq0fMIMvXRyZ0aQmQthZnPdVlXVTW0XASUQZuil + E9cWCDJzI8xsvltPDDTWzNBXwgy9tPo0U1VVtwoycyPMtOPW4XB4c4RHs5tiAXD5trRdAGflJGpAznlQ + VdWtEaFNPz/CTEtSSrcMh8OIiD9uuxZogzBTuJRSztmY34DXRcRfbruIjpn1QPUtpzlKKd2Sc/79tuuA + NphmKpw58MYIMvM3a5gx/szfN7VdQEe5oyycwaRw5mpZILMeq4I6MBfCDDAvs44nxh8WhZvKwhlMgHmZ + tdOiMwPMhTBTOG+eZIEIM3SS6f7yCTPAvMw6nggzwFwIM8C8zBpOjD/AXBhMCqe9yQLRmaGTTPeXT5gB + 5sWaGaAVwgwwLzozdJIOefmEGWBeZgknggwwN8JM+dwRsChmGU+EGWBuhBlgXtYcUPbt2yfMsEjcVBZO + mCmfk4hFsebx5PHHHxdmgLkRZspn0GdRrPlYffzxx409LBI3lYUzoJRPmGFRrHk8OXr0qOMamBthpnA5 + Z4M+i2LNx+qFF17ouAbmRpgB5kVnhk7ynpnyCTOFGwwGBn0WyZqO12PHjjmugbkRZoB5WlNIOXLkiLEH + mBsDSuGsmWGRrPX9Meeff77jGpgbYaZ8Bn0WxqFDh9Y0phw/ftxxzcJwU1k+YQaYmyNHjqxp0BdmgHkS + Zspn0GdhXHDBBWsaU5aXlx3XwNwIM8DcrPWR6+3btxt7WCTCd+EMKIUzV8si+dKXvqQzA2w6YQaYm7WG + FGGGBeN4LZwwUzgvzWOR7NixY01jynQ6dVwDcyPMFM40E4vEU0pAG4QZYG6OHTtmTKFz3FSWz8BTPicR + C2PHjh2OV2DTCTPAphsMBr5CzMKwdrF8wkz5nEQAcAbCTOHM1QLAmQkzwNxMp9PjbdcA8+amsnzCTOHM + 1bJApg899NDhNf7sk41WAvNlHC6cMAPMyx9HxJoW9o7H4z8OgQaYE2GmcNqbLJAnZvjZHBH/s6lCgH4R + ZoB5+eKMP//fG6kC6B1hpnw6MyyK/zDLD6eU/qipQmDOjMOFE2aAefndWX445zzTzwOcjjBTPncELISc + 86dn+fmU0qSpWmCerF0snzBTPicRi+B/nHfeeQ/O8gvLy8sPxBqffgI4E2EGmIeP7N+/f6YX5h08ePDR + lNK/aKogmBfv+yqfMFM+JxGlOzKdTt+1nl9cXl5+aXiqCdggYaZ8wgxFSyndcPDgwUfX87sr3Zl/EBHL + cy4L5saamfIJM8BGfHI0Gt23kQ2MRqN/HhE3zqkeoIeEmfK5I6BIKaV/feTIkRfEHBbxjsfje1JKGwpF + QH8JM8B6/MbWrVv/zsMPP/wn89rgaDS6NiJ+bl7bA/pDmCmfzgxFSSn9vzt37vzeBx988Ctz3nSOiFdE + xK/PebuwUcbhwgkz5XMSUZJ/tmPHju/fv3//kSY2Ph6Pn9y2bdu+lNKnmtg+rJNxuHDCDLBWn3ziiSd+ + oKkgs+rBBx/8yhe/+MXvioh/2uR+gO4QZsrnjoAS3B8RP/DII48c3YydPfLII0ePHDnywznnX92M/QGL + TZgBziil9LGdO3e+cDweP7mZ+3344YePfeM3fuOPRMTPb+Z+gcUjzJRPZ4Y2/eMdO3b86KyfKpiX+++/ + f/m5z33uS3LOH25j/xDhpXmLYEvbBQBlyjl/eDKZvDwipm3Wcf/99y9HxMuqqjocEVe3WQtQJp2Z8rkj + oA0fKiHInCCPx+NrIuLetguhf3xosnzCTPmcRGyqnPMHx+Pxq6KcILMqj8fjN0bEHW0XApRFmAFO9P7J + ZPLqKC/IPGU8Hr8tIm5vuw6gHMJM+XRm2Cz3jsfj18QcvrXUtPF4fFMINGwSC4DLJ8wAkVJ6x8oUzsJY + CTS3tV0H0D5hpnzuCGjaPaPR6Lq2i1iP8Xh8c0rp1rbrANolzJRPmKExOedbxuPxm9uuYyNGo9EtEbHQ + /xsonnG4cMIM9NdNk8mkE12N8Xh8Twg00FvCTPncETB3Oecbx+NxpxbQjsfje1JK17ddB51kHC6cMAP9 + knPO10wmkzvbLqQJo9Hox3POC7n+B1g/YaZ87giYlxwRV08mk/vaLqRJk8nkHRHxprbrADaPMAP9kFNK + rx6Px+9pu5DNMB6PfyIiFupRc8rlPTPlE2bK5yRio3JEvG40Gn2w7UI203g8vjcEGugFYaZ8wgwbkXPO + rx+Px+9ru5A2rASaH2u7DhabD02WT5iB7so559dPJpOfaruQNo3H43emlK5tuw6gOcJM+dwRsB6CzAlG + o9G7cs7XxAJ8dwqYnTAD3SPInMLKU1wL8SFNymIBcPmEmfI5iZhFTildJcic2ng8/kBK6dUh0ECnCDPQ + HatPLb237UJKNhqNPphSuioEGtbOTWXhhJnyHW+7ABZCTild1denlmY1Go3em3N+ZQg00AnCTPmOtl0A + xcsppat0ZGYzmUw+lHN+VQg0sPCEmfIdabsAiibIbMBkMvlpgYY1MM1UOGGmfMfaLoBi5Yi4WpDZmMlk + 8tMWBcNiE2bK92TbBVCkHBFX9+VbS01b+dSD99BwSh7NLp8wUz6dGU4myDRgPB7/ZM7Zm4JhAQkz5Tvc + dgEUZfWpJUGmAZPJ5L6VNwUDC0SYKVzO+VDbNVAMa2Q2wcqbgn2ckqeklL7Ydg2cmTBTvt9quwCKkCPi + DToym2M8Hr8zIt7Ydh0U4xNtF8CZCTOFO378+G9ExH9vuw5atRpk3t12IX0yHo/v9bVtIuILW7Zs+Wjb + RXBmS20XwJl94QtfeHLXrl2HI+LKtmuhFYJMix599NF/86xnPevLKaW/2XYttGI55/zC0Wj0O20XwpkJ + MwvgscceG+3atevciPj2tmthU+WIuEaQaddjjz32/wk0vbQcEa+aTCa/1HYhnJ0wsyAee+yxTz372c/+ + bER8R0TsbLseGrcaZH6y7UL4aqB59rOf/ZWIEGj64fM55+dPJpP72y6EtRFmFsijjz76+9/wDd/w4cFg + sC0ihhGxpe2aaETOOV87mUwEmYI8+uijn9m1a9efRMTfarsWGjNNKX1oy5Yt3zcajX6v7WJYO281XFCX + XHLJn19aWro1Iv5eCKWdknO+ZuXxYApUVdWbI+KututgrnJEfHw6nd588ODBf9d2McxOmFlwl1566XOm + 0+mbc84vDaGmC948Ho/vabsIzqyqqrdExJ1t18GG5Yj49el0euvBgwdHbRfD+gkzHVHX9TdPp9NbUkrf + Hx65X0gppWtHo9G72q6Dtamq6o0R8Y6262BdckT8+mAwuO1eIS3dAAAHSklEQVTAgQMH2i6GjRNmOmbP + nj0XLS8vX59SekFYU7NI3jIej+9uuwhmU9f1jTnnO9qugzVbjoiPDQaDOw8cOPBw28UwP8JMR9V1/dyI + uD7n/JIQakonyCyw4XD4ppTSj7ddB2f0ZM75lwaDwdtHo9Hvt10M8yfMdNzKQuFrIuIVEXFu2/XwNDeM + x2OLSRecQFOsYznnj02n09s/+9nP/se2i6E5wkxPVFX15+KrH897eURsb7kcvkqQ6RCBpihHU0ofXVpa + uv2hhx76fNvF0DxhpmcuvvjiZ27duvXaiHh9RDyj7Xp6TJDpIIGmdV+KiJ+dTqf3HDx48NG2i2HzCDM9 + tXv37guWlpZem3N+Q0T8mbbr6ZOc842TycRjvR0l0LTicER8ZDAY3HXgwIE/arsYNp8w03OXXnrp10+n + 09fnnK+OiPPbrqfrBJl+EGg2zf9IKb336NGjP/k7v/M7/6vtYmiPMENEROzdu3fnkSNHXhMR10XE/9F2 + PV0kyPSLx7Yb9YWc871Hjx59/8MPP/wnbRdD+4QZvsZKqHldRFwTERe0XU+HeLNvD+nQzN3jEXFvRLxn + PB5/ue1iKIcwwyldfPHFX7d169aXRcT1EfGstutZZCmlt45Go7e3XQftEGjmQojhjIQZzkio2RhBhgiB + ZgOEGNZEmGFNhJp1edt4PLZmgogQaGb03yLindu2bXv3gw8++JW2i6F8wgwzqarqGfHVF+8JNWcmyPA0 + As1ZCTGsizDDujzvec8757zzzntRSunmiNjVdj2FEWQ4LYHmlIQYNkSYYUOEmqe5aTwe3952EZRNoHmK + EMNcCDPMhVATEYIMM+h5oPlCRLxLiGFehBnm6rLLLtt+7NixV0TP1tR4IR7r0cNA84cRce/OnTs/uH// + /iNtF0N3CDM04qKLLtp2zjnnvDildFNEPLvtehpmjQzr1pM3Bf9hRNz1xBNPfPiRRx452nYxdI8wQ6Mu + v/zycw8fPrzaqeni9NMbx+PxvW0XwWLrcKD5w4i468iRIz/78MMPH2u7GLpLmGFTnNCpeVtEXNh2PXOQ + c87XTiaT+9ouhG7o2JST6SQ2lTDDpupIqMkR8YbxePzutguhW6qq+rGI+Im269gAIYZWCDO04qKLLtq2 + ffv25+ecb4qIb2y7nhnklNJVo9HovW0XQjdVVfXqiPipWKzxWYihVYt0stBBVVVtTSm9YEFCTY6I143H + 4/e1XQjdVtf1K3PO74/yx2ghhiKUfqLQEyeEmrdFxPParucUckS8djwev7/tQuiH4XD48pTSByJi0HYt + pyDEUBRhhqIUGmqWI+Kl4/H4o20XQr9UVfWyiPhglBNohBiKJMxQpBNCzVsj4i+0WMpySuklo9Ho51us + gR6r6/olOecPRbuBRoihaMIMRTsh1NwYEX9xk3e/nHN+8WQy+b83eb/wNeq6fkHO+ecjYssm71qIYSEI + MyyKQVVVPxgRd8TmhJrlnPOLJpPJL27CvuCshsPhj6aUfi4iljZhd/8lIu72xl4WhTDDolkNNbdHxDc1 + tI8nc87Pn0wmv9bQ9mFdhsPhD6eUfjGa69D8l4h4p04Mi0aYYVE1FWqORcSPjMfjfzLHbcLc1HX9Qznn + fxQRW+e42f8cEe964oknPqATwyISZlh0q6Hmtoj4Sxvc1rGU0g+PRqN/Ooe6oDHD4fDKlNKvRMQ5G9zU + f8o535VS+sh4PH5yHrVBG4QZumI11NwaEf/nOn7/WM75hyaTySfmXBc0oq7r78w5/2pEnLuOX/+DnPPd + 55133of3799/fN61wWYTZuiawXA4/K6U0m0Rcckaf+foSpD5ZJOFwbzVdf13c86/FmsPNIdyzvcIMXSN + MENXrYaaWyNi9xl+7ssppe8djUYPbFZhME/D4fBvp5T+n4jYfoYf+72U0j3Pec5zfvH+++9f3qzaYLMI + M3Tdaqi5JSKGJ/3bl6fT6fccPHjwUy3UBXOzZ8+evzqdTj8ZETtO+qeHU0o/LsTQdcIMfZFWFk3eEl8N + NV+KiO8ej8efbrcsmI/du3d/x2Aw+PX4aqD53ZTSO4QYgG4a1HX9g3Vd7227EJi33bt3f0dVVd8XblQB + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6If/DblSgybooEU7AAAA + AElFTkSuQmCC + + \ No newline at end of file diff --git a/FireWallet/FireWallet.csproj b/FireWallet/FireWallet.csproj index 8f7a687..ec2187a 100644 --- a/FireWallet/FireWallet.csproj +++ b/FireWallet/FireWallet.csproj @@ -6,11 +6,28 @@ enable true enable + Firewallet.ico + FireWallet + https://l.woodburn.au + HSDBatcher.png + https://github.com/Nathanwoodburn/FireWallet + git - + + + + + + True + \ + + + + + diff --git a/FireWallet/Firewallet.ico b/FireWallet/Firewallet.ico new file mode 100644 index 0000000..0f6471f Binary files /dev/null and b/FireWallet/Firewallet.ico differ diff --git a/FireWallet/HSDBatcher.ico b/FireWallet/HSDBatcher.ico new file mode 100644 index 0000000..906e206 Binary files /dev/null and b/FireWallet/HSDBatcher.ico differ diff --git a/FireWallet/MainForm.Designer.cs b/FireWallet/MainForm.Designer.cs index d2f4e3b..9fe3900 100644 --- a/FireWallet/MainForm.Designer.cs +++ b/FireWallet/MainForm.Designer.cs @@ -34,6 +34,7 @@ namespace FireWallet private void InitializeComponent() { components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); statusStripmain = new StatusStrip(); toolStripStatusLabelNetwork = new ToolStripStatusLabel(); toolStripStatusLabelstatus = new ToolStripStatusLabel(); @@ -682,6 +683,7 @@ namespace FireWallet Controls.Add(panelNav); Controls.Add(panelaccount); Controls.Add(statusStripmain); + Icon = (Icon)resources.GetObject("$this.Icon"); Name = "MainForm"; Text = "FireWallet"; FormClosing += MainForm_Closing; diff --git a/FireWallet/MainForm.cs b/FireWallet/MainForm.cs index d78ace3..b568886 100644 --- a/FireWallet/MainForm.cs +++ b/FireWallet/MainForm.cs @@ -3,8 +3,9 @@ using System.Runtime.InteropServices; using Newtonsoft.Json.Linq; using Point = System.Drawing.Point; using Size = System.Drawing.Size; -using IronBarCode; +using QRCoder; using System.Text.RegularExpressions; +using System.Security.Cryptography; namespace FireWallet { @@ -848,8 +849,10 @@ namespace FireWallet textBoxReceiveAddress.Width = size.Width + 10; textBoxReceiveAddress.Left = (panelRecieve.Width - textBoxReceiveAddress.Width) / 2; - GeneratedBarcode Qrcode = QRCodeWriter.CreateQrCode(textBoxReceiveAddress.Text); - pictureBoxReceiveQR.Image = Qrcode.Image; + QRCodeGenerator qrcode = new QRCodeGenerator(); + QRCodeData qrData = qrcode.CreateQrCode(textBoxReceiveAddress.Text, QRCodeGenerator.ECCLevel.Q); + QRCode qrCode = new QRCode(qrData); + pictureBoxReceiveQR.Image = qrCode.GetGraphic(20, theme["foreground"], theme["background"]); pictureBoxReceiveQR.SizeMode = PictureBoxSizeMode.Zoom; pictureBoxReceiveQR.Width = panelRecieve.Width / 3; pictureBoxReceiveQR.Left = (panelRecieve.Width - pictureBoxReceiveQR.Width) / 2; @@ -1055,7 +1058,7 @@ namespace FireWallet // On Click open domain domainTMP.Click += new EventHandler((sender, e) => { - DomainForm domainForm = new DomainForm(name["name"].ToString(), userSettings["explorer-tx"], userSettings["explorer-domain"]); + DomainForm domainForm = new DomainForm(this, name["name"].ToString(), userSettings["explorer-tx"], userSettings["explorer-domain"]); domainForm.Show(); }); @@ -1068,10 +1071,11 @@ namespace FireWallet JObject stats = JObject.Parse(name["stats"].ToString()); Label expiry = new Label(); - expiry.Text = "Expires: " + stats["blocksUntilExpire"].ToString() + " blocks"; + expiry.Text = "Expires: " + stats["daysUntilExpire"].ToString() + " days"; expiry.Top = 5; - expiry.Left = domainTMP.Width - expiry.Width - 5; expiry.AutoSize = true; + expiry.Left = domainTMP.Width - expiry.Width - 100; + domainTMP.Controls.Add(domainName); domainTMP.Controls.Add(expiry); @@ -1087,8 +1091,7 @@ namespace FireWallet { textBoxDomainSearch.Text = textBoxDomainSearch.Text.Trim().ToLower(); e.SuppressKeyPress = true; - DomainForm domainForm = new DomainForm(textBoxDomainSearch.Text, userSettings["explorer-tx"], userSettings["explorer-domain"]); - domainForm.mainForm = this; + DomainForm domainForm = new DomainForm(this, textBoxDomainSearch.Text, userSettings["explorer-tx"], userSettings["explorer-domain"]); domainForm.Show(); @@ -1122,6 +1125,16 @@ namespace FireWallet batchForm.AddBatch(domain, operation, bid, lockup); } + public void AddBatch(string domain, string operation, DNS[] updateRecords) + { + if (!batchMode) + { + batchForm = new BatchForm(this); + batchForm.Show(); + batchMode = true; + } + batchForm.AddBatch(domain, operation, updateRecords); + } public void FinishBatch() { batchMode = false; diff --git a/FireWallet/MainForm.resx b/FireWallet/MainForm.resx index b9647bd..f4122f6 100644 --- a/FireWallet/MainForm.resx +++ b/FireWallet/MainForm.resx @@ -123,4 +123,712 @@ 269, 17 + + + + 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 + Ng+/rHaXDlcTERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER + ERERERERERERERERERERERERERERERERERERERERERERERERERERkbz1/wNrGKFswMgwBwAAAABJRU5E + rkJggg== + + \ No newline at end of file diff --git a/FireWallet/NodeForm.Designer.cs b/FireWallet/NodeForm.Designer.cs index 6c0fb9d..88902d2 100644 --- a/FireWallet/NodeForm.Designer.cs +++ b/FireWallet/NodeForm.Designer.cs @@ -33,6 +33,7 @@ namespace FireWallet /// private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NodeForm)); labelWelcome = new Label(); groupBoxNode = new GroupBox(); labelNodeStatus = new Label(); @@ -168,6 +169,7 @@ namespace FireWallet Controls.Add(groupBoxNode); Controls.Add(labelWelcome); FormBorderStyle = FormBorderStyle.Fixed3D; + Icon = (Icon)resources.GetObject("$this.Icon"); Name = "NodeForm"; Text = "Setup"; Load += CreateForm_Load; diff --git a/FireWallet/NodeForm.resx b/FireWallet/NodeForm.resx index a395bff..3f56770 100644 --- a/FireWallet/NodeForm.resx +++ b/FireWallet/NodeForm.resx @@ -117,4 +117,179 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 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 + AElFTkSuQmCC + + \ No newline at end of file diff --git a/FireWallet/NotifyForm.Designer.cs b/FireWallet/NotifyForm.Designer.cs index 4cbe485..3aa1395 100644 --- a/FireWallet/NotifyForm.Designer.cs +++ b/FireWallet/NotifyForm.Designer.cs @@ -32,6 +32,7 @@ namespace FireWallet /// private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NotifyForm)); labelmessage = new Label(); buttonOK = new Button(); buttonALT = new Button(); @@ -80,6 +81,7 @@ namespace FireWallet Controls.Add(buttonOK); Controls.Add(labelmessage); FormBorderStyle = FormBorderStyle.FixedDialog; + Icon = (Icon)resources.GetObject("$this.Icon"); Name = "NotifyForm"; Text = "FireWallet"; Load += NotifyForm_Load; diff --git a/FireWallet/NotifyForm.resx b/FireWallet/NotifyForm.resx index a395bff..3f56770 100644 --- a/FireWallet/NotifyForm.resx +++ b/FireWallet/NotifyForm.resx @@ -117,4 +117,179 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 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 + AElFTkSuQmCC + + \ No newline at end of file