main: Added DNS Updates and test Icon

This commit is contained in:
Nathan Woodburn 2023-06-08 15:16:03 +10:00
parent 9629f96183
commit 2f7427d5b4
Signed by: nathanwoodburn
GPG Key ID: 203B000478AD0EF1
21 changed files with 3086 additions and 136 deletions

View File

@ -28,6 +28,7 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BatchForm));
buttonCancel = new Button(); buttonCancel = new Button();
buttonSend = new Button(); buttonSend = new Button();
groupBoxTransactions = new GroupBox(); groupBoxTransactions = new GroupBox();
@ -41,9 +42,9 @@
// //
buttonCancel.FlatStyle = FlatStyle.Flat; buttonCancel.FlatStyle = FlatStyle.Flat;
buttonCancel.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "buttonCancel";
buttonCancel.Size = new System.Drawing.Size(81, 37); buttonCancel.Size = new Size(81, 37);
buttonCancel.TabIndex = 0; buttonCancel.TabIndex = 0;
buttonCancel.TabStop = false; buttonCancel.TabStop = false;
buttonCancel.Text = "Cancel Batch"; buttonCancel.Text = "Cancel Batch";
@ -54,9 +55,9 @@
// //
buttonSend.FlatStyle = FlatStyle.Flat; buttonSend.FlatStyle = FlatStyle.Flat;
buttonSend.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "buttonSend";
buttonSend.Size = new System.Drawing.Size(81, 37); buttonSend.Size = new Size(81, 37);
buttonSend.TabIndex = 1; buttonSend.TabIndex = 1;
buttonSend.TabStop = false; buttonSend.TabStop = false;
buttonSend.Text = "Send"; buttonSend.Text = "Send";
@ -66,9 +67,9 @@
// groupBoxTransactions // groupBoxTransactions
// //
groupBoxTransactions.Controls.Add(panelTXs); groupBoxTransactions.Controls.Add(panelTXs);
groupBoxTransactions.Location = new System.Drawing.Point(0, 0); groupBoxTransactions.Location = new Point(0, 0);
groupBoxTransactions.Name = "groupBoxTransactions"; groupBoxTransactions.Name = "groupBoxTransactions";
groupBoxTransactions.Size = new System.Drawing.Size(614, 438); groupBoxTransactions.Size = new Size(614, 438);
groupBoxTransactions.TabIndex = 2; groupBoxTransactions.TabIndex = 2;
groupBoxTransactions.TabStop = false; groupBoxTransactions.TabStop = false;
groupBoxTransactions.Text = "Transactions"; groupBoxTransactions.Text = "Transactions";
@ -77,18 +78,18 @@
// //
panelTXs.AutoScroll = true; panelTXs.AutoScroll = true;
panelTXs.Dock = DockStyle.Fill; panelTXs.Dock = DockStyle.Fill;
panelTXs.Location = new System.Drawing.Point(3, 19); panelTXs.Location = new Point(3, 19);
panelTXs.Name = "panelTXs"; panelTXs.Name = "panelTXs";
panelTXs.Size = new System.Drawing.Size(608, 416); panelTXs.Size = new Size(608, 416);
panelTXs.TabIndex = 3; panelTXs.TabIndex = 3;
// //
// buttonImport // buttonImport
// //
buttonImport.FlatStyle = FlatStyle.Flat; buttonImport.FlatStyle = FlatStyle.Flat;
buttonImport.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "buttonImport";
buttonImport.Size = new System.Drawing.Size(81, 37); buttonImport.Size = new Size(81, 37);
buttonImport.TabIndex = 3; buttonImport.TabIndex = 3;
buttonImport.TabStop = false; buttonImport.TabStop = false;
buttonImport.Text = "Import"; buttonImport.Text = "Import";
@ -99,9 +100,9 @@
// //
buttonExport.FlatStyle = FlatStyle.Flat; buttonExport.FlatStyle = FlatStyle.Flat;
buttonExport.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "buttonExport";
buttonExport.Size = new System.Drawing.Size(81, 37); buttonExport.Size = new Size(81, 37);
buttonExport.TabIndex = 4; buttonExport.TabIndex = 4;
buttonExport.TabStop = false; buttonExport.TabStop = false;
buttonExport.Text = "Export"; buttonExport.Text = "Export";
@ -110,15 +111,16 @@
// //
// BatchForm // BatchForm
// //
AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
ClientSize = new System.Drawing.Size(800, 450); ClientSize = new Size(800, 450);
Controls.Add(buttonExport); Controls.Add(buttonExport);
Controls.Add(buttonImport); Controls.Add(buttonImport);
Controls.Add(groupBoxTransactions); Controls.Add(groupBoxTransactions);
Controls.Add(buttonSend); Controls.Add(buttonSend);
Controls.Add(buttonCancel); Controls.Add(buttonCancel);
FormBorderStyle = FormBorderStyle.Fixed3D; FormBorderStyle = FormBorderStyle.Fixed3D;
Icon = (Icon)resources.GetObject("$this.Icon");
MaximizeBox = false; MaximizeBox = false;
Name = "BatchForm"; Name = "BatchForm";
Text = "Batch"; Text = "Batch";

View File

@ -1,5 +1,7 @@
using System.Data; using System.Data;
using System.Net;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using Microsoft.VisualBasic;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using Point = System.Drawing.Point; using Point = System.Drawing.Point;
@ -47,7 +49,8 @@ namespace FireWallet
deleteTX.Width = 25; deleteTX.Width = 25;
deleteTX.Height = 25; deleteTX.Height = 25;
deleteTX.TextAlign = ContentAlignment.MiddleCenter; deleteTX.TextAlign = ContentAlignment.MiddleCenter;
deleteTX.Click += (sender, e) => { deleteTX.Click += (sender, e) =>
{
panelTXs.Controls.Remove(tx); panelTXs.Controls.Remove(tx);
FixSpacing(); FixSpacing();
List<Batch> temp = new List<Batch>(); List<Batch> temp = new List<Batch>();
@ -110,7 +113,8 @@ namespace FireWallet
deleteTX.Width = 25; deleteTX.Width = 25;
deleteTX.Height = 25; deleteTX.Height = 25;
deleteTX.TextAlign = ContentAlignment.MiddleCenter; deleteTX.TextAlign = ContentAlignment.MiddleCenter;
deleteTX.Click += (sender, e) => { deleteTX.Click += (sender, e) =>
{
panelTXs.Controls.Remove(tx); panelTXs.Controls.Remove(tx);
FixSpacing(); FixSpacing();
List<Batch> temp = new List<Batch>(); List<Batch> temp = new List<Batch>();
@ -169,7 +173,64 @@ namespace FireWallet
deleteTX.Width = 25; deleteTX.Width = 25;
deleteTX.Height = 25; deleteTX.Height = 25;
deleteTX.TextAlign = ContentAlignment.MiddleCenter; deleteTX.TextAlign = ContentAlignment.MiddleCenter;
deleteTX.Click += (sender, e) => { deleteTX.Click += (sender, e) =>
{
panelTXs.Controls.Remove(tx);
FixSpacing();
List<Batch> temp = new List<Batch>();
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); panelTXs.Controls.Remove(tx);
FixSpacing(); FixSpacing();
List<Batch> temp = new List<Batch>(); List<Batch> temp = new List<Batch>();
@ -455,7 +516,8 @@ namespace FireWallet
else if (b.method == "TRANSFER") else if (b.method == "TRANSFER")
{ {
sw.WriteLine(b.domain + "," + b.method + "," + b.toAddress); sw.WriteLine(b.domain + "," + b.method + "," + b.toAddress);
} else }
else
{ {
sw.WriteLine(b.domain + "," + b.method); sw.WriteLine(b.domain + "," + b.method);
} }
@ -522,10 +584,12 @@ namespace FireWallet
if (b.method == "BID") if (b.method == "BID")
{ {
AddBatch(b.domain, b.method, b.bid, b.lockup); 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); AddBatch(b.domain, b.method, b.toAddress);
} else }
else
{ {
AddBatch(b.domain, b.method); AddBatch(b.domain, b.method);
} }
@ -582,48 +646,131 @@ namespace FireWallet
public decimal bid { get; } public decimal bid { get; }
public decimal lockup { get; } public decimal lockup { get; }
public string toAddress { 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.domain = domain;
this.method = method; this.method = method;
bid = 0; bid = 0;
lockup = 0; lockup = 0;
toAddress = ""; toAddress = "";
update = null;
} }
public Batch(string domain, string method, string toAddress) public Batch(string domain, string method, string toAddress) // Transfers
{ {
this.domain = domain; this.domain = domain;
this.method = method; this.method = method;
this.toAddress = toAddress; this.toAddress = toAddress;
bid = 0; bid = 0;
lockup = 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.domain = domain;
this.method = method; this.method = method;
this.bid = bid; this.bid = bid;
this.lockup = lockup; this.lockup = lockup;
toAddress = ""; 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.domain = domain;
this.method = method; this.method = method;
this.bid = bid; this.update = update;
this.lockup = lockup;
this.toAddress = toAddress;
} }
public override string ToString() public override string ToString()
{ {
if (method == "BID") if (method == "BID")
{ {
return "[\"BID\", \"" + domain + "\", " + bid + ", " + lockup + "]"; return "[\"BID\", \"" + domain + "\", " + bid + ", " + lockup + "]";
} else if (method == "TRANSFER") }
else if (method == "TRANSFER")
{ {
return "[\"TRANSFER\", \"" + domain + "\", \"" + toAddress + "\"]"; 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 + "\"]"; 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 "";
}
}
} }

View File

@ -117,4 +117,179 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
</root> </root>

View File

@ -28,6 +28,7 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BatchImportForm));
listBoxDomains = new ListBox(); listBoxDomains = new ListBox();
label1 = new Label(); label1 = new Label();
comboBoxMode = new ComboBox(); comboBoxMode = new ComboBox();
@ -50,18 +51,18 @@
// //
listBoxDomains.FormattingEnabled = true; listBoxDomains.FormattingEnabled = true;
listBoxDomains.ItemHeight = 15; listBoxDomains.ItemHeight = 15;
listBoxDomains.Location = new System.Drawing.Point(12, 42); listBoxDomains.Location = new Point(12, 42);
listBoxDomains.Name = "listBoxDomains"; listBoxDomains.Name = "listBoxDomains";
listBoxDomains.Size = new System.Drawing.Size(241, 484); listBoxDomains.Size = new Size(241, 484);
listBoxDomains.TabIndex = 0; listBoxDomains.TabIndex = 0;
// //
// label1 // label1
// //
label1.AutoSize = true; label1.AutoSize = true;
label1.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "label1";
label1.Size = new System.Drawing.Size(75, 21); label1.Size = new Size(75, 21);
label1.TabIndex = 1; label1.TabIndex = 1;
label1.Text = "Domains:"; label1.Text = "Domains:";
// //
@ -72,9 +73,9 @@
comboBoxMode.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); comboBoxMode.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point);
comboBoxMode.FormattingEnabled = true; 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", "RENEW", "TRANSFER", "FINALIZE", "CANCEL" });
comboBoxMode.Location = new System.Drawing.Point(346, 42); comboBoxMode.Location = new Point(346, 42);
comboBoxMode.Name = "comboBoxMode"; comboBoxMode.Name = "comboBoxMode";
comboBoxMode.Size = new System.Drawing.Size(226, 29); comboBoxMode.Size = new Size(226, 29);
comboBoxMode.TabIndex = 2; comboBoxMode.TabIndex = 2;
comboBoxMode.SelectedIndexChanged += comboBoxMode_SelectedIndexChanged; comboBoxMode.SelectedIndexChanged += comboBoxMode_SelectedIndexChanged;
// //
@ -82,9 +83,9 @@
// //
label2.AutoSize = true; label2.AutoSize = true;
label2.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "label2";
label2.Size = new System.Drawing.Size(53, 21); label2.Size = new Size(53, 21);
label2.TabIndex = 3; label2.TabIndex = 3;
label2.Text = "Mode:"; label2.Text = "Mode:";
// //
@ -92,9 +93,9 @@
// //
label3.AutoSize = true; label3.AutoSize = true;
label3.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "label3";
label3.Size = new System.Drawing.Size(35, 21); label3.Size = new Size(35, 21);
label3.TabIndex = 3; label3.TabIndex = 3;
label3.Text = "Bid:"; label3.Text = "Bid:";
// //
@ -102,35 +103,35 @@
// //
label4.AutoSize = true; label4.AutoSize = true;
label4.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "label4";
label4.Size = new System.Drawing.Size(48, 21); label4.Size = new Size(48, 21);
label4.TabIndex = 3; label4.TabIndex = 3;
label4.Text = "Blind:"; label4.Text = "Blind:";
// //
// textBoxBid // textBoxBid
// //
textBoxBid.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "textBoxBid";
textBoxBid.Size = new System.Drawing.Size(226, 29); textBoxBid.Size = new Size(226, 29);
textBoxBid.TabIndex = 4; textBoxBid.TabIndex = 4;
// //
// textBoxBlind // textBoxBlind
// //
textBoxBlind.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "textBoxBlind";
textBoxBlind.Size = new System.Drawing.Size(226, 29); textBoxBlind.Size = new Size(226, 29);
textBoxBlind.TabIndex = 5; textBoxBlind.TabIndex = 5;
// //
// buttonImport // buttonImport
// //
buttonImport.FlatStyle = FlatStyle.Flat; buttonImport.FlatStyle = FlatStyle.Flat;
buttonImport.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "buttonImport";
buttonImport.Size = new System.Drawing.Size(87, 38); buttonImport.Size = new Size(87, 38);
buttonImport.TabIndex = 6; buttonImport.TabIndex = 6;
buttonImport.Text = "Import"; buttonImport.Text = "Import";
buttonImport.UseVisualStyleBackColor = true; buttonImport.UseVisualStyleBackColor = true;
@ -140,9 +141,9 @@
// //
buttonCancel.FlatStyle = FlatStyle.Flat; buttonCancel.FlatStyle = FlatStyle.Flat;
buttonCancel.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "buttonCancel";
buttonCancel.Size = new System.Drawing.Size(87, 38); buttonCancel.Size = new Size(87, 38);
buttonCancel.TabIndex = 6; buttonCancel.TabIndex = 6;
buttonCancel.Text = "Cancel"; buttonCancel.Text = "Cancel";
buttonCancel.UseVisualStyleBackColor = true; buttonCancel.UseVisualStyleBackColor = true;
@ -152,9 +153,9 @@
// //
label5.AutoSize = true; label5.AutoSize = true;
label5.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "label5";
label5.Size = new System.Drawing.Size(67, 21); label5.Size = new Size(67, 21);
label5.TabIndex = 7; label5.TabIndex = 7;
label5.Text = "Send To:"; label5.Text = "Send To:";
// //
@ -164,9 +165,9 @@
groupBoxBid.Controls.Add(label3); groupBoxBid.Controls.Add(label3);
groupBoxBid.Controls.Add(label4); groupBoxBid.Controls.Add(label4);
groupBoxBid.Controls.Add(textBoxBlind); groupBoxBid.Controls.Add(textBoxBlind);
groupBoxBid.Location = new System.Drawing.Point(287, 99); groupBoxBid.Location = new Point(287, 99);
groupBoxBid.Name = "groupBoxBid"; groupBoxBid.Name = "groupBoxBid";
groupBoxBid.Size = new System.Drawing.Size(370, 200); groupBoxBid.Size = new Size(370, 200);
groupBoxBid.TabIndex = 8; groupBoxBid.TabIndex = 8;
groupBoxBid.TabStop = false; groupBoxBid.TabStop = false;
groupBoxBid.Text = "Bid Settings"; groupBoxBid.Text = "Bid Settings";
@ -175,9 +176,9 @@
// //
groupBoxtransfer.Controls.Add(textBoxToAddress); groupBoxtransfer.Controls.Add(textBoxToAddress);
groupBoxtransfer.Controls.Add(label5); groupBoxtransfer.Controls.Add(label5);
groupBoxtransfer.Location = new System.Drawing.Point(287, 99); groupBoxtransfer.Location = new Point(287, 99);
groupBoxtransfer.Name = "groupBoxtransfer"; groupBoxtransfer.Name = "groupBoxtransfer";
groupBoxtransfer.Size = new System.Drawing.Size(370, 200); groupBoxtransfer.Size = new Size(370, 200);
groupBoxtransfer.TabIndex = 0; groupBoxtransfer.TabIndex = 0;
groupBoxtransfer.TabStop = false; groupBoxtransfer.TabStop = false;
groupBoxtransfer.Text = "Transfer Settings"; groupBoxtransfer.Text = "Transfer Settings";
@ -185,16 +186,16 @@
// textBoxToAddress // textBoxToAddress
// //
textBoxToAddress.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "textBoxToAddress";
textBoxToAddress.Size = new System.Drawing.Size(358, 29); textBoxToAddress.Size = new Size(358, 29);
textBoxToAddress.TabIndex = 8; textBoxToAddress.TabIndex = 8;
// //
// BatchImportForm // BatchImportForm
// //
AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
ClientSize = new System.Drawing.Size(950, 535); ClientSize = new Size(950, 535);
Controls.Add(groupBoxtransfer); Controls.Add(groupBoxtransfer);
Controls.Add(groupBoxBid); Controls.Add(groupBoxBid);
Controls.Add(buttonCancel); Controls.Add(buttonCancel);
@ -204,6 +205,7 @@
Controls.Add(label1); Controls.Add(label1);
Controls.Add(listBoxDomains); Controls.Add(listBoxDomains);
FormBorderStyle = FormBorderStyle.Fixed3D; FormBorderStyle = FormBorderStyle.Fixed3D;
Icon = (Icon)resources.GetObject("$this.Icon");
MaximizeBox = false; MaximizeBox = false;
Name = "BatchImportForm"; Name = "BatchImportForm";
Text = "Import"; Text = "Import";

View File

@ -117,4 +117,179 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
AElFTkSuQmCC
</value>
</data>
</root> </root>

210
FireWallet/DNSForm.Designer.cs generated Normal file
View File

@ -0,0 +1,210 @@
namespace FireWallet
{
partial class DNSForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
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;
}
}

617
FireWallet/DNSForm.cs Normal file
View File

@ -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<string, string> theme;
private Dictionary<string, string> 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<string, string>();
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<string, string> 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();
/// <summary>
/// Post to HSD API
/// </summary>
/// <param name="path">Path to post to</param>
/// <param name="wallet">Whether to use port 12039</param>
/// <param name="content">Content to post</param>
/// <returns></returns>
private async Task<string> 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();
}
/// <summary>
/// Get from HSD API
/// </summary>
/// <param name="path">Path to get</param>
/// <param name="wallet">Whether to use port 12039</param>
/// <returns></returns>
private async Task<string> 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();
}
}
}
}

295
FireWallet/DNSForm.resx Normal file
View File

@ -0,0 +1,295 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing"">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
</root>

View File

@ -28,6 +28,7 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DomainForm));
labelTitle = new Label(); labelTitle = new Label();
groupBoxStatus = new GroupBox(); groupBoxStatus = new GroupBox();
labelStatusTimeToNext = new Label(); labelStatusTimeToNext = new Label();
@ -66,9 +67,9 @@
// //
labelTitle.AutoSize = true; labelTitle.AutoSize = true;
labelTitle.Font = new Font("Segoe UI", 20F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "labelTitle";
labelTitle.Size = new System.Drawing.Size(126, 37); labelTitle.Size = new Size(126, 37);
labelTitle.TabIndex = 0; labelTitle.TabIndex = 0;
labelTitle.Text = "labelTitle"; labelTitle.Text = "labelTitle";
// //
@ -87,9 +88,9 @@
groupBoxStatus.Controls.Add(labelStatusMain); groupBoxStatus.Controls.Add(labelStatusMain);
groupBoxStatus.Controls.Add(labelStatus1); groupBoxStatus.Controls.Add(labelStatus1);
groupBoxStatus.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "groupBoxStatus";
groupBoxStatus.Size = new System.Drawing.Size(378, 173); groupBoxStatus.Size = new Size(378, 173);
groupBoxStatus.TabIndex = 1; groupBoxStatus.TabIndex = 1;
groupBoxStatus.TabStop = false; groupBoxStatus.TabStop = false;
groupBoxStatus.Text = "Info"; groupBoxStatus.Text = "Info";
@ -97,117 +98,117 @@
// labelStatusTimeToNext // labelStatusTimeToNext
// //
labelStatusTimeToNext.AutoSize = true; labelStatusTimeToNext.AutoSize = true;
labelStatusTimeToNext.Location = new System.Drawing.Point(112, 130); labelStatusTimeToNext.Location = new Point(112, 130);
labelStatusTimeToNext.Name = "labelStatusTimeToNext"; labelStatusTimeToNext.Name = "labelStatusTimeToNext";
labelStatusTimeToNext.Size = new System.Drawing.Size(67, 21); labelStatusTimeToNext.Size = new Size(67, 21);
labelStatusTimeToNext.TabIndex = 11; labelStatusTimeToNext.TabIndex = 11;
labelStatusTimeToNext.Text = "0 Blocks"; labelStatusTimeToNext.Text = "0 Blocks";
// //
// labelStatusNextState // labelStatusNextState
// //
labelStatusNextState.AutoSize = true; labelStatusNextState.AutoSize = true;
labelStatusNextState.Location = new System.Drawing.Point(27, 130); labelStatusNextState.Location = new Point(27, 130);
labelStatusNextState.Name = "labelStatusNextState"; labelStatusNextState.Name = "labelStatusNextState";
labelStatusNextState.Size = new System.Drawing.Size(79, 21); labelStatusNextState.Size = new Size(79, 21);
labelStatusNextState.TabIndex = 10; labelStatusNextState.TabIndex = 10;
labelStatusNextState.Text = "Expires in:"; labelStatusNextState.Text = "Expires in:";
// //
// labelStatusTransferring // labelStatusTransferring
// //
labelStatusTransferring.AutoSize = true; labelStatusTransferring.AutoSize = true;
labelStatusTransferring.Location = new System.Drawing.Point(112, 109); labelStatusTransferring.Location = new Point(112, 109);
labelStatusTransferring.Name = "labelStatusTransferring"; labelStatusTransferring.Name = "labelStatusTransferring";
labelStatusTransferring.Size = new System.Drawing.Size(31, 21); labelStatusTransferring.Size = new Size(31, 21);
labelStatusTransferring.TabIndex = 9; labelStatusTransferring.TabIndex = 9;
labelStatusTransferring.Text = "No"; labelStatusTransferring.Text = "No";
// //
// labelStatus5 // labelStatus5
// //
labelStatus5.AutoSize = true; labelStatus5.AutoSize = true;
labelStatus5.Location = new System.Drawing.Point(9, 109); labelStatus5.Location = new Point(9, 109);
labelStatus5.Name = "labelStatus5"; labelStatus5.Name = "labelStatus5";
labelStatus5.Size = new System.Drawing.Size(97, 21); labelStatus5.Size = new Size(97, 21);
labelStatus5.TabIndex = 8; labelStatus5.TabIndex = 8;
labelStatus5.Text = "Transferring:"; labelStatus5.Text = "Transferring:";
// //
// labelStatusPaid // labelStatusPaid
// //
labelStatusPaid.AutoSize = true; labelStatusPaid.AutoSize = true;
labelStatusPaid.Location = new System.Drawing.Point(112, 88); labelStatusPaid.Location = new Point(112, 88);
labelStatusPaid.Name = "labelStatusPaid"; labelStatusPaid.Name = "labelStatusPaid";
labelStatusPaid.Size = new System.Drawing.Size(95, 21); labelStatusPaid.Size = new Size(95, 21);
labelStatusPaid.TabIndex = 7; labelStatusPaid.TabIndex = 7;
labelStatusPaid.Text = "Not Opened"; labelStatusPaid.Text = "Not Opened";
// //
// labelStatus4 // labelStatus4
// //
labelStatus4.AutoSize = true; labelStatus4.AutoSize = true;
labelStatus4.Location = new System.Drawing.Point(26, 88); labelStatus4.Location = new Point(26, 88);
labelStatus4.Name = "labelStatus4"; labelStatus4.Name = "labelStatus4";
labelStatus4.Size = new System.Drawing.Size(80, 21); labelStatus4.Size = new Size(80, 21);
labelStatus4.TabIndex = 6; labelStatus4.TabIndex = 6;
labelStatus4.Text = "Price Paid:"; labelStatus4.Text = "Price Paid:";
// //
// labelStatusHighest // labelStatusHighest
// //
labelStatusHighest.AutoSize = true; labelStatusHighest.AutoSize = true;
labelStatusHighest.Location = new System.Drawing.Point(112, 67); labelStatusHighest.Location = new Point(112, 67);
labelStatusHighest.Name = "labelStatusHighest"; labelStatusHighest.Name = "labelStatusHighest";
labelStatusHighest.Size = new System.Drawing.Size(95, 21); labelStatusHighest.Size = new Size(95, 21);
labelStatusHighest.TabIndex = 5; labelStatusHighest.TabIndex = 5;
labelStatusHighest.Text = "Not Opened"; labelStatusHighest.Text = "Not Opened";
// //
// labelStatus3 // labelStatus3
// //
labelStatus3.AutoSize = true; labelStatus3.AutoSize = true;
labelStatus3.Location = new System.Drawing.Point(14, 67); labelStatus3.Location = new Point(14, 67);
labelStatus3.Name = "labelStatus3"; labelStatus3.Name = "labelStatus3";
labelStatus3.Size = new System.Drawing.Size(92, 21); labelStatus3.Size = new Size(92, 21);
labelStatus3.TabIndex = 4; labelStatus3.TabIndex = 4;
labelStatus3.Text = "Highest Bid:"; labelStatus3.Text = "Highest Bid:";
// //
// labelStatusReserved // labelStatusReserved
// //
labelStatusReserved.AutoSize = true; labelStatusReserved.AutoSize = true;
labelStatusReserved.Location = new System.Drawing.Point(112, 25); labelStatusReserved.Location = new Point(112, 25);
labelStatusReserved.Name = "labelStatusReserved"; labelStatusReserved.Name = "labelStatusReserved";
labelStatusReserved.Size = new System.Drawing.Size(40, 21); labelStatusReserved.Size = new Size(40, 21);
labelStatusReserved.TabIndex = 3; labelStatusReserved.TabIndex = 3;
labelStatusReserved.Text = "True"; labelStatusReserved.Text = "True";
// //
// labelStatus2 // labelStatus2
// //
labelStatus2.AutoSize = true; labelStatus2.AutoSize = true;
labelStatus2.Location = new System.Drawing.Point(29, 25); labelStatus2.Location = new Point(29, 25);
labelStatus2.Name = "labelStatus2"; labelStatus2.Name = "labelStatus2";
labelStatus2.Size = new System.Drawing.Size(77, 21); labelStatus2.Size = new Size(77, 21);
labelStatus2.TabIndex = 2; labelStatus2.TabIndex = 2;
labelStatus2.Text = "Reserved:"; labelStatus2.Text = "Reserved:";
// //
// labelStatusMain // labelStatusMain
// //
labelStatusMain.AutoSize = true; labelStatusMain.AutoSize = true;
labelStatusMain.Location = new System.Drawing.Point(112, 46); labelStatusMain.Location = new Point(112, 46);
labelStatusMain.Name = "labelStatusMain"; labelStatusMain.Name = "labelStatusMain";
labelStatusMain.Size = new System.Drawing.Size(57, 21); labelStatusMain.Size = new Size(57, 21);
labelStatusMain.TabIndex = 1; labelStatusMain.TabIndex = 1;
labelStatusMain.Text = "Closed"; labelStatusMain.Text = "Closed";
// //
// labelStatus1 // labelStatus1
// //
labelStatus1.AutoSize = true; labelStatus1.AutoSize = true;
labelStatus1.Location = new System.Drawing.Point(51, 46); labelStatus1.Location = new Point(51, 46);
labelStatus1.Name = "labelStatus1"; labelStatus1.Name = "labelStatus1";
labelStatus1.Size = new System.Drawing.Size(55, 21); labelStatus1.Size = new Size(55, 21);
labelStatus1.TabIndex = 0; labelStatus1.TabIndex = 0;
labelStatus1.Text = "Status:"; labelStatus1.Text = "Status:";
// //
// groupBoxDNS // groupBoxDNS
// //
groupBoxDNS.Controls.Add(panelDNS); groupBoxDNS.Controls.Add(panelDNS);
groupBoxDNS.Location = new System.Drawing.Point(12, 247); groupBoxDNS.Location = new Point(12, 247);
groupBoxDNS.Name = "groupBoxDNS"; groupBoxDNS.Name = "groupBoxDNS";
groupBoxDNS.Size = new System.Drawing.Size(962, 313); groupBoxDNS.Size = new Size(962, 313);
groupBoxDNS.TabIndex = 12; groupBoxDNS.TabIndex = 12;
groupBoxDNS.TabStop = false; groupBoxDNS.TabStop = false;
groupBoxDNS.Text = "DNS"; groupBoxDNS.Text = "DNS";
@ -215,18 +216,18 @@
// panelDNS // panelDNS
// //
panelDNS.Dock = DockStyle.Fill; panelDNS.Dock = DockStyle.Fill;
panelDNS.Location = new System.Drawing.Point(3, 19); panelDNS.Location = new Point(3, 19);
panelDNS.Name = "panelDNS"; panelDNS.Name = "panelDNS";
panelDNS.Size = new System.Drawing.Size(956, 291); panelDNS.Size = new Size(956, 291);
panelDNS.TabIndex = 0; panelDNS.TabIndex = 0;
// //
// groupBoxBids // groupBoxBids
// //
groupBoxBids.Controls.Add(panelBids); groupBoxBids.Controls.Add(panelBids);
groupBoxBids.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "groupBoxBids";
groupBoxBids.Size = new System.Drawing.Size(962, 313); groupBoxBids.Size = new Size(962, 313);
groupBoxBids.TabIndex = 13; groupBoxBids.TabIndex = 13;
groupBoxBids.TabStop = false; groupBoxBids.TabStop = false;
groupBoxBids.Text = "Bids"; groupBoxBids.Text = "Bids";
@ -235,9 +236,9 @@
// panelBids // panelBids
// //
panelBids.Dock = DockStyle.Fill; panelBids.Dock = DockStyle.Fill;
panelBids.Location = new System.Drawing.Point(3, 19); panelBids.Location = new Point(3, 19);
panelBids.Name = "panelBids"; panelBids.Name = "panelBids";
panelBids.Size = new System.Drawing.Size(956, 291); panelBids.Size = new Size(956, 291);
panelBids.TabIndex = 0; panelBids.TabIndex = 0;
// //
// groupBoxAction // groupBoxAction
@ -251,9 +252,9 @@
groupBoxAction.Controls.Add(buttonActionAlt); groupBoxAction.Controls.Add(buttonActionAlt);
groupBoxAction.Controls.Add(buttonActionMain); groupBoxAction.Controls.Add(buttonActionMain);
groupBoxAction.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "groupBoxAction";
groupBoxAction.Size = new System.Drawing.Size(575, 173); groupBoxAction.Size = new Size(575, 173);
groupBoxAction.TabIndex = 14; groupBoxAction.TabIndex = 14;
groupBoxAction.TabStop = false; groupBoxAction.TabStop = false;
groupBoxAction.Text = "Bid"; groupBoxAction.Text = "Bid";
@ -262,9 +263,9 @@
// buttonTransfer // buttonTransfer
// //
buttonTransfer.FlatStyle = FlatStyle.Flat; buttonTransfer.FlatStyle = FlatStyle.Flat;
buttonTransfer.Location = new System.Drawing.Point(253, 22); buttonTransfer.Location = new Point(253, 22);
buttonTransfer.Name = "buttonTransfer"; buttonTransfer.Name = "buttonTransfer";
buttonTransfer.Size = new System.Drawing.Size(155, 37); buttonTransfer.Size = new Size(155, 37);
buttonTransfer.TabIndex = 6; buttonTransfer.TabIndex = 6;
buttonTransfer.Text = "Transfer"; buttonTransfer.Text = "Transfer";
buttonTransfer.UseVisualStyleBackColor = true; buttonTransfer.UseVisualStyleBackColor = true;
@ -274,9 +275,9 @@
// buttonRenew // buttonRenew
// //
buttonRenew.FlatStyle = FlatStyle.Flat; buttonRenew.FlatStyle = FlatStyle.Flat;
buttonRenew.Location = new System.Drawing.Point(414, 22); buttonRenew.Location = new Point(414, 22);
buttonRenew.Name = "buttonRenew"; buttonRenew.Name = "buttonRenew";
buttonRenew.Size = new System.Drawing.Size(155, 37); buttonRenew.Size = new Size(155, 37);
buttonRenew.TabIndex = 6; buttonRenew.TabIndex = 6;
buttonRenew.Text = "Renew"; buttonRenew.Text = "Renew";
buttonRenew.UseVisualStyleBackColor = true; buttonRenew.UseVisualStyleBackColor = true;
@ -285,18 +286,18 @@
// //
// textBoxBlind // textBoxBlind
// //
textBoxBlind.Location = new System.Drawing.Point(60, 64); textBoxBlind.Location = new Point(60, 64);
textBoxBlind.Name = "textBoxBlind"; textBoxBlind.Name = "textBoxBlind";
textBoxBlind.Size = new System.Drawing.Size(180, 29); textBoxBlind.Size = new Size(180, 29);
textBoxBlind.TabIndex = 5; textBoxBlind.TabIndex = 5;
textBoxBlind.Visible = false; textBoxBlind.Visible = false;
textBoxBlind.TextChanged += BidBlind_TextChanged; textBoxBlind.TextChanged += BidBlind_TextChanged;
// //
// textBoxBid // textBoxBid
// //
textBoxBid.Location = new System.Drawing.Point(60, 22); textBoxBid.Location = new Point(60, 22);
textBoxBid.Name = "textBoxBid"; textBoxBid.Name = "textBoxBid";
textBoxBid.Size = new System.Drawing.Size(180, 29); textBoxBid.Size = new Size(180, 29);
textBoxBid.TabIndex = 4; textBoxBid.TabIndex = 4;
textBoxBid.Visible = false; textBoxBid.Visible = false;
textBoxBid.TextChanged += BidBlind_TextChanged; textBoxBid.TextChanged += BidBlind_TextChanged;
@ -304,9 +305,9 @@
// labelBlind // labelBlind
// //
labelBlind.AutoSize = true; labelBlind.AutoSize = true;
labelBlind.Location = new System.Drawing.Point(6, 67); labelBlind.Location = new Point(6, 67);
labelBlind.Name = "labelBlind"; labelBlind.Name = "labelBlind";
labelBlind.Size = new System.Drawing.Size(48, 21); labelBlind.Size = new Size(48, 21);
labelBlind.TabIndex = 3; labelBlind.TabIndex = 3;
labelBlind.Text = "Blind:"; labelBlind.Text = "Blind:";
labelBlind.Visible = false; labelBlind.Visible = false;
@ -314,9 +315,9 @@
// labelBid // labelBid
// //
labelBid.AutoSize = true; labelBid.AutoSize = true;
labelBid.Location = new System.Drawing.Point(19, 25); labelBid.Location = new Point(19, 25);
labelBid.Name = "labelBid"; labelBid.Name = "labelBid";
labelBid.Size = new System.Drawing.Size(35, 21); labelBid.Size = new Size(35, 21);
labelBid.TabIndex = 2; labelBid.TabIndex = 2;
labelBid.Text = "Bid:"; labelBid.Text = "Bid:";
labelBid.Visible = false; labelBid.Visible = false;
@ -324,9 +325,9 @@
// buttonActionAlt // buttonActionAlt
// //
buttonActionAlt.FlatStyle = FlatStyle.Flat; buttonActionAlt.FlatStyle = FlatStyle.Flat;
buttonActionAlt.Location = new System.Drawing.Point(253, 130); buttonActionAlt.Location = new Point(253, 130);
buttonActionAlt.Name = "buttonActionAlt"; buttonActionAlt.Name = "buttonActionAlt";
buttonActionAlt.Size = new System.Drawing.Size(155, 37); buttonActionAlt.Size = new Size(155, 37);
buttonActionAlt.TabIndex = 1; buttonActionAlt.TabIndex = 1;
buttonActionAlt.Text = "Bid in Batch"; buttonActionAlt.Text = "Bid in Batch";
buttonActionAlt.UseVisualStyleBackColor = true; buttonActionAlt.UseVisualStyleBackColor = true;
@ -335,9 +336,9 @@
// buttonActionMain // buttonActionMain
// //
buttonActionMain.FlatStyle = FlatStyle.Flat; buttonActionMain.FlatStyle = FlatStyle.Flat;
buttonActionMain.Location = new System.Drawing.Point(414, 130); buttonActionMain.Location = new Point(414, 130);
buttonActionMain.Name = "buttonActionMain"; buttonActionMain.Name = "buttonActionMain";
buttonActionMain.Size = new System.Drawing.Size(155, 37); buttonActionMain.Size = new Size(155, 37);
buttonActionMain.TabIndex = 0; buttonActionMain.TabIndex = 0;
buttonActionMain.Text = "Send Bid"; buttonActionMain.Text = "Send Bid";
buttonActionMain.UseVisualStyleBackColor = true; buttonActionMain.UseVisualStyleBackColor = true;
@ -347,9 +348,9 @@
// //
buttonExplorer.FlatStyle = FlatStyle.Flat; buttonExplorer.FlatStyle = FlatStyle.Flat;
buttonExplorer.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); 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.Name = "buttonExplorer";
buttonExplorer.Size = new System.Drawing.Size(98, 34); buttonExplorer.Size = new Size(98, 34);
buttonExplorer.TabIndex = 15; buttonExplorer.TabIndex = 15;
buttonExplorer.TabStop = false; buttonExplorer.TabStop = false;
buttonExplorer.Text = "Explorer"; buttonExplorer.Text = "Explorer";
@ -358,9 +359,9 @@
// //
// DomainForm // DomainForm
// //
AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
ClientSize = new System.Drawing.Size(986, 572); ClientSize = new Size(986, 572);
Controls.Add(buttonExplorer); Controls.Add(buttonExplorer);
Controls.Add(groupBoxAction); Controls.Add(groupBoxAction);
Controls.Add(groupBoxBids); Controls.Add(groupBoxBids);
@ -368,6 +369,7 @@
Controls.Add(groupBoxStatus); Controls.Add(groupBoxStatus);
Controls.Add(labelTitle); Controls.Add(labelTitle);
FormBorderStyle = FormBorderStyle.Fixed3D; FormBorderStyle = FormBorderStyle.Fixed3D;
Icon = (Icon)resources.GetObject("$this.Icon");
MaximizeBox = false; MaximizeBox = false;
Name = "DomainForm"; Name = "DomainForm";
Text = "DomainForm"; Text = "DomainForm";

View File

@ -1,6 +1,7 @@
using System.Diagnostics; using System.Diagnostics;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using Microsoft.VisualBasic;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
namespace FireWallet namespace FireWallet
@ -20,9 +21,9 @@ namespace FireWallet
int TransferEnd; 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(); InitializeComponent();
this.Text = domain + "/ | FireWallet"; this.Text = domain + "/ | FireWallet";
@ -30,6 +31,7 @@ namespace FireWallet
this.domain = domain; this.domain = domain;
this.explorerTX = explorerTX; this.explorerTX = explorerTX;
this.explorerName = explorerName; this.explorerName = explorerName;
this.mainForm = mainForm;
} }
#region Theming #region Theming
@ -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(); this.Close();
} }
} }
else
{
DNSForm dnsEdit = new DNSForm(mainForm, domain);
dnsEdit.ShowDialog();
if (!dnsEdit.cancel)
{
mainForm.AddBatch(domain, "UPDATE", dnsEdit.DNSrecords);
}
dnsEdit.Dispose();
}
} }
else else
{ {

View File

@ -117,4 +117,179 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
AElFTkSuQmCC
</value>
</data>
</root> </root>

View File

@ -6,11 +6,28 @@
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms> <UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<ApplicationIcon>Firewallet.ico</ApplicationIcon>
<Title>FireWallet</Title>
<PackageProjectUrl>https://l.woodburn.au</PackageProjectUrl>
<PackageIcon>HSDBatcher.png</PackageIcon>
<RepositoryUrl>https://github.com/Nathanwoodburn/FireWallet</RepositoryUrl>
<RepositoryType>git</RepositoryType>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="BarCode" Version="2023.6.1" /> <Content Include="Firewallet.ico" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\Downloads\HSDBatcher.png">
<Pack>True</Pack>
<PackagePath>\</PackagePath>
</None>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="QRCoder" Version="1.4.3" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

BIN
FireWallet/Firewallet.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
FireWallet/HSDBatcher.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

View File

@ -34,6 +34,7 @@ namespace FireWallet
private void InitializeComponent() private void InitializeComponent()
{ {
components = new System.ComponentModel.Container(); components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
statusStripmain = new StatusStrip(); statusStripmain = new StatusStrip();
toolStripStatusLabelNetwork = new ToolStripStatusLabel(); toolStripStatusLabelNetwork = new ToolStripStatusLabel();
toolStripStatusLabelstatus = new ToolStripStatusLabel(); toolStripStatusLabelstatus = new ToolStripStatusLabel();
@ -682,6 +683,7 @@ namespace FireWallet
Controls.Add(panelNav); Controls.Add(panelNav);
Controls.Add(panelaccount); Controls.Add(panelaccount);
Controls.Add(statusStripmain); Controls.Add(statusStripmain);
Icon = (Icon)resources.GetObject("$this.Icon");
Name = "MainForm"; Name = "MainForm";
Text = "FireWallet"; Text = "FireWallet";
FormClosing += MainForm_Closing; FormClosing += MainForm_Closing;

View File

@ -3,8 +3,9 @@ using System.Runtime.InteropServices;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using Point = System.Drawing.Point; using Point = System.Drawing.Point;
using Size = System.Drawing.Size; using Size = System.Drawing.Size;
using IronBarCode; using QRCoder;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Security.Cryptography;
namespace FireWallet namespace FireWallet
{ {
@ -848,8 +849,10 @@ namespace FireWallet
textBoxReceiveAddress.Width = size.Width + 10; textBoxReceiveAddress.Width = size.Width + 10;
textBoxReceiveAddress.Left = (panelRecieve.Width - textBoxReceiveAddress.Width) / 2; textBoxReceiveAddress.Left = (panelRecieve.Width - textBoxReceiveAddress.Width) / 2;
GeneratedBarcode Qrcode = QRCodeWriter.CreateQrCode(textBoxReceiveAddress.Text); QRCodeGenerator qrcode = new QRCodeGenerator();
pictureBoxReceiveQR.Image = Qrcode.Image; 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.SizeMode = PictureBoxSizeMode.Zoom;
pictureBoxReceiveQR.Width = panelRecieve.Width / 3; pictureBoxReceiveQR.Width = panelRecieve.Width / 3;
pictureBoxReceiveQR.Left = (panelRecieve.Width - pictureBoxReceiveQR.Width) / 2; pictureBoxReceiveQR.Left = (panelRecieve.Width - pictureBoxReceiveQR.Width) / 2;
@ -1055,7 +1058,7 @@ namespace FireWallet
// On Click open domain // On Click open domain
domainTMP.Click += new EventHandler((sender, e) => 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(); domainForm.Show();
}); });
@ -1068,10 +1071,11 @@ namespace FireWallet
JObject stats = JObject.Parse(name["stats"].ToString()); JObject stats = JObject.Parse(name["stats"].ToString());
Label expiry = new Label(); Label expiry = new Label();
expiry.Text = "Expires: " + stats["blocksUntilExpire"].ToString() + " blocks"; expiry.Text = "Expires: " + stats["daysUntilExpire"].ToString() + " days";
expiry.Top = 5; expiry.Top = 5;
expiry.Left = domainTMP.Width - expiry.Width - 5;
expiry.AutoSize = true; expiry.AutoSize = true;
expiry.Left = domainTMP.Width - expiry.Width - 100;
domainTMP.Controls.Add(domainName); domainTMP.Controls.Add(domainName);
domainTMP.Controls.Add(expiry); domainTMP.Controls.Add(expiry);
@ -1087,8 +1091,7 @@ namespace FireWallet
{ {
textBoxDomainSearch.Text = textBoxDomainSearch.Text.Trim().ToLower(); textBoxDomainSearch.Text = textBoxDomainSearch.Text.Trim().ToLower();
e.SuppressKeyPress = true; e.SuppressKeyPress = true;
DomainForm domainForm = new DomainForm(textBoxDomainSearch.Text, userSettings["explorer-tx"], userSettings["explorer-domain"]); DomainForm domainForm = new DomainForm(this, textBoxDomainSearch.Text, userSettings["explorer-tx"], userSettings["explorer-domain"]);
domainForm.mainForm = this;
domainForm.Show(); domainForm.Show();
@ -1122,6 +1125,16 @@ namespace FireWallet
batchForm.AddBatch(domain, operation, bid, lockup); 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() public void FinishBatch()
{ {
batchMode = false; batchMode = false;

View File

@ -123,4 +123,712 @@
<metadata name="timerNodeStatus.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="timerNodeStatus.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>269, 17</value> <value>269, 17</value>
</metadata> </metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
Ng+/rHaXDlcTERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER
ERERERERERERERERERERERERERERERERERERERERERERERERERERkbz1/wNrGKFswMgwBwAAAABJRU5E
rkJggg==
</value>
</data>
</root> </root>

View File

@ -33,6 +33,7 @@ namespace FireWallet
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NodeForm));
labelWelcome = new Label(); labelWelcome = new Label();
groupBoxNode = new GroupBox(); groupBoxNode = new GroupBox();
labelNodeStatus = new Label(); labelNodeStatus = new Label();
@ -168,6 +169,7 @@ namespace FireWallet
Controls.Add(groupBoxNode); Controls.Add(groupBoxNode);
Controls.Add(labelWelcome); Controls.Add(labelWelcome);
FormBorderStyle = FormBorderStyle.Fixed3D; FormBorderStyle = FormBorderStyle.Fixed3D;
Icon = (Icon)resources.GetObject("$this.Icon");
Name = "NodeForm"; Name = "NodeForm";
Text = "Setup"; Text = "Setup";
Load += CreateForm_Load; Load += CreateForm_Load;

View File

@ -117,4 +117,179 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
AElFTkSuQmCC
</value>
</data>
</root> </root>

View File

@ -32,6 +32,7 @@ namespace FireWallet
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NotifyForm));
labelmessage = new Label(); labelmessage = new Label();
buttonOK = new Button(); buttonOK = new Button();
buttonALT = new Button(); buttonALT = new Button();
@ -80,6 +81,7 @@ namespace FireWallet
Controls.Add(buttonOK); Controls.Add(buttonOK);
Controls.Add(labelmessage); Controls.Add(labelmessage);
FormBorderStyle = FormBorderStyle.FixedDialog; FormBorderStyle = FormBorderStyle.FixedDialog;
Icon = (Icon)resources.GetObject("$this.Icon");
Name = "NotifyForm"; Name = "NotifyForm";
Text = "FireWallet"; Text = "FireWallet";
Load += NotifyForm_Load; Load += NotifyForm_Load;

View File

@ -117,4 +117,179 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
AElFTkSuQmCC
</value>
</data>
</root> </root>