Merge branch 'newBranding'

This commit is contained in:
Nathan Woodburn 2023-06-21 21:32:08 +10:00
commit 07345d7f33
Signed by: nathanwoodburn
GPG Key ID: 203B000478AD0EF1
12 changed files with 737 additions and 730 deletions

BIN
FireWallet/FW.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@ -6,7 +6,7 @@
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms> <UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<ApplicationIcon>FW2.ico</ApplicationIcon> <ApplicationIcon>FW.ico</ApplicationIcon>
<Title>FireWallet</Title> <Title>FireWallet</Title>
<PackageProjectUrl>https://l.woodburn.au</PackageProjectUrl> <PackageProjectUrl>https://l.woodburn.au</PackageProjectUrl>
<PackageIcon>HSDBatcher.png</PackageIcon> <PackageIcon>HSDBatcher.png</PackageIcon>
@ -16,7 +16,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Content Include="FW2.ico" /> <Content Include="FW.ico" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -65,6 +65,7 @@ namespace FireWallet
buttonNavSend = new Button(); buttonNavSend = new Button();
buttonNavPortfolio = new Button(); buttonNavPortfolio = new Button();
panelPortfolio = new Panel(); panelPortfolio = new Panel();
buttonRedeemAll = new Button();
buttonRevealAll = new Button(); buttonRevealAll = new Button();
groupBoxTransactions = new GroupBox(); groupBoxTransactions = new GroupBox();
groupBoxinfo = new GroupBox(); groupBoxinfo = new GroupBox();
@ -126,6 +127,7 @@ namespace FireWallet
textBoxExAddr = new TextBox(); textBoxExAddr = new TextBox();
labelSettings4 = new Label(); labelSettings4 = new Label();
textBoxExTX = new TextBox(); textBoxExTX = new TextBox();
buttonSendAll = new Button();
statusStripmain.SuspendLayout(); statusStripmain.SuspendLayout();
panelaccount.SuspendLayout(); panelaccount.SuspendLayout();
groupBoxaccount.SuspendLayout(); groupBoxaccount.SuspendLayout();
@ -445,6 +447,8 @@ namespace FireWallet
// //
// panelPortfolio // panelPortfolio
// //
panelPortfolio.Controls.Add(buttonSendAll);
panelPortfolio.Controls.Add(buttonRedeemAll);
panelPortfolio.Controls.Add(buttonRevealAll); panelPortfolio.Controls.Add(buttonRevealAll);
panelPortfolio.Controls.Add(groupBoxTransactions); panelPortfolio.Controls.Add(groupBoxTransactions);
panelPortfolio.Controls.Add(groupBoxinfo); panelPortfolio.Controls.Add(groupBoxinfo);
@ -455,13 +459,25 @@ namespace FireWallet
panelPortfolio.TabIndex = 7; panelPortfolio.TabIndex = 7;
panelPortfolio.Visible = false; panelPortfolio.Visible = false;
// //
// buttonRedeemAll
//
buttonRedeemAll.FlatStyle = FlatStyle.Flat;
buttonRedeemAll.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point);
buttonRedeemAll.Location = new Point(649, 12);
buttonRedeemAll.Name = "buttonRedeemAll";
buttonRedeemAll.Size = new Size(106, 44);
buttonRedeemAll.TabIndex = 9;
buttonRedeemAll.Text = "Redeem All";
buttonRedeemAll.UseVisualStyleBackColor = true;
buttonRedeemAll.Click += buttonRedeemAll_Click;
//
// buttonRevealAll // buttonRevealAll
// //
buttonRevealAll.FlatStyle = FlatStyle.Flat; buttonRevealAll.FlatStyle = FlatStyle.Flat;
buttonRevealAll.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); buttonRevealAll.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point);
buttonRevealAll.Location = new Point(537, 12); buttonRevealAll.Location = new Point(537, 12);
buttonRevealAll.Name = "buttonRevealAll"; buttonRevealAll.Name = "buttonRevealAll";
buttonRevealAll.Size = new Size(89, 44); buttonRevealAll.Size = new Size(106, 44);
buttonRevealAll.TabIndex = 9; buttonRevealAll.TabIndex = 9;
buttonRevealAll.Text = "Reveal All"; buttonRevealAll.Text = "Reveal All";
buttonRevealAll.UseVisualStyleBackColor = true; buttonRevealAll.UseVisualStyleBackColor = true;
@ -1105,6 +1121,18 @@ namespace FireWallet
textBoxExTX.Size = new Size(307, 29); textBoxExTX.Size = new Size(307, 29);
textBoxExTX.TabIndex = 1; textBoxExTX.TabIndex = 1;
// //
// buttonSendAll
//
buttonSendAll.FlatStyle = FlatStyle.Flat;
buttonSendAll.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point);
buttonSendAll.Location = new Point(761, 12);
buttonSendAll.Name = "buttonSendAll";
buttonSendAll.Size = new Size(106, 44);
buttonSendAll.TabIndex = 9;
buttonSendAll.Text = "Send All TXs";
buttonSendAll.UseVisualStyleBackColor = true;
buttonSendAll.Click += buttonSendAll_Click;
//
// MainForm // MainForm
// //
AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleDimensions = new SizeF(7F, 15F);
@ -1251,5 +1279,7 @@ namespace FireWallet
private Label labelDomainSort; private Label labelDomainSort;
private ToolStripSeparator toolStripSeparator1; private ToolStripSeparator toolStripSeparator1;
private ToolStripMenuItem otherProjectsToolStripMenuItem; private ToolStripMenuItem otherProjectsToolStripMenuItem;
private Button buttonRedeemAll;
private Button buttonSendAll;
} }
} }

View File

@ -142,13 +142,20 @@ namespace FireWallet
} }
} }
Application.DoEvents(); Application.DoEvents();
while (!ss.IsClosed)
{
Thread.Sleep(100);
Application.DoEvents();
}
} }
AddLog("Loaded"); AddLog("Loaded");
// Pull form to front // Pull form to front
Opacity = 1;
this.WindowState = FormWindowState.Minimized; this.WindowState = FormWindowState.Minimized;
this.Show(); this.Show();
this.Opacity = 1;
this.WindowState = FormWindowState.Normal; this.WindowState = FormWindowState.Normal;
textBoxaccountpassword.Focus(); textBoxaccountpassword.Focus();
} }
@ -920,21 +927,25 @@ namespace FireWallet
req.Content = new StringContent(content); req.Content = new StringContent(content);
// Send request // Send request
HttpResponseMessage resp = await httpClient.SendAsync(req);
try try
{ {
resp.EnsureSuccessStatusCode(); HttpResponseMessage resp = await httpClient.SendAsync(req);
if (!resp.IsSuccessStatusCode)
{
AddLog("Post Error: " + resp.StatusCode);
AddLog(await resp.Content.ReadAsStringAsync());
return "Error";
}
return await resp.Content.ReadAsStringAsync();
} }
catch (Exception ex) catch (Exception ex)
{ {
AddLog("Post Error: " + ex.Message); AddLog("Post Error: " + ex.Message);
AddLog(await resp.Content.ReadAsStringAsync());
AddLog("Content: " + content);
return "Error"; return "Error";
} }
return await resp.Content.ReadAsStringAsync();
} }
/// <summary> /// <summary>
/// Get from HSD API /// Get from HSD API
@ -964,7 +975,12 @@ namespace FireWallet
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes("x:" + key))); request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes("x:" + key)));
// Send request and log response // Send request and log response
HttpResponseMessage response = await httpClient.SendAsync(request); HttpResponseMessage response = await httpClient.SendAsync(request);
response.EnsureSuccessStatusCode(); if (!response.IsSuccessStatusCode)
{
AddLog("Get Error: " + response.StatusCode);
AddLog(await response.Content.ReadAsStringAsync());
return "Error";
}
return await response.Content.ReadAsStringAsync(); return await response.Content.ReadAsStringAsync();
} }
@ -985,8 +1001,15 @@ namespace FireWallet
AddLog("GetAddress Error"); AddLog("GetAddress Error");
return "Error"; return "Error";
} }
JObject resp = JObject.Parse(APIresponse); try
return resp["address"].ToString(); {
JObject resp = JObject.Parse(APIresponse);
return resp["address"].ToString();
}
catch
{
return "Error";
}
} }
private async void GetTXHistory() private async void GetTXHistory()
@ -2353,5 +2376,83 @@ namespace FireWallet
Process.Start(psi); Process.Start(psi);
} }
#endregion #endregion
private async void buttonRedeemAll_Click(object sender, EventArgs e)
{
buttonRedeemAll.Enabled = false;
string content = "{\"method\": \"sendbatch\", \"params\":[[[\"REDEEM\"]]]}";
AddLog(content);
string response = await APIPost("", true, content);
if (response == "Error")
{
AddLog("Error sending batch");
NotifyForm notifyForm = new NotifyForm("Error sending batch");
notifyForm.ShowDialog();
notifyForm.Dispose();
buttonRedeemAll.Enabled = true;
return;
}
JObject resp = JObject.Parse(response);
if (resp["error"].ToString() != "")
{
AddLog("Error sending batch");
AddLog(resp["error"].ToString());
JObject error = JObject.Parse(resp["error"].ToString());
NotifyForm notifyForm = new NotifyForm("Error sending batch\n" + error["message"].ToString());
notifyForm.ShowDialog();
notifyForm.Dispose();
buttonRedeemAll.Enabled = true;
return;
}
if (resp.ContainsKey("result"))
{
JObject result = JObject.Parse(resp["result"].ToString());
string hash = result["hash"].ToString();
NotifyForm notifyForm = new NotifyForm("Batch sent\n" + hash, "Explorer", UserSettings["explorer-tx"] + hash);
notifyForm.ShowDialog();
notifyForm.Dispose();
}
buttonRedeemAll.Enabled = true;
}
private async void buttonSendAll_Click(object sender, EventArgs e)
{
buttonSendAll.Enabled = false;
string content = "{\"method\": \"sendbatch\", \"params\":[[[\"REVEAL\"],[\"REDEEM\"],[\"RENEW\"]]]}";
AddLog(content);
string response = await APIPost("", true, content);
if (response == "Error")
{
AddLog("Error sending batch");
NotifyForm notifyForm = new NotifyForm("Error sending batch");
notifyForm.ShowDialog();
notifyForm.Dispose();
buttonSendAll.Enabled = true;
return;
}
JObject resp = JObject.Parse(response);
if (resp["error"].ToString() != "")
{
AddLog("Error sending batch");
AddLog(resp["error"].ToString());
JObject error = JObject.Parse(resp["error"].ToString());
NotifyForm notifyForm = new NotifyForm("Error sending batch\n" + error["message"].ToString());
notifyForm.ShowDialog();
notifyForm.Dispose();
buttonSendAll.Enabled = true;
return;
}
if (resp.ContainsKey("result"))
{
JObject result = JObject.Parse(resp["result"].ToString());
string hash = result["hash"].ToString();
NotifyForm notifyForm = new NotifyForm("Batch sent\n" + hash, "Explorer", UserSettings["explorer-tx"] + hash);
notifyForm.ShowDialog();
notifyForm.Dispose();
}
buttonSendAll.Enabled = true;
}
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -59,5 +59,15 @@ namespace FireWallet.Properties {
resourceCulture = value; resourceCulture = value;
} }
} }
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap FWSplash {
get {
object obj = ResourceManager.GetObject("FWSplash", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
} }
} }

View File

@ -117,4 +117,8 @@
<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.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="FWSplash" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\FWSplash.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root> </root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

View File

@ -28,11 +28,18 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SplashScreen)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SplashScreen));
label1 = new Label(); label1 = new Label();
pictureBox1 = new PictureBox(); pictureBox1 = new PictureBox();
label2 = new Label(); label2 = new Label();
panelNew = new Panel();
pictureBoxNew = new PictureBox();
timerIn = new System.Windows.Forms.Timer(components);
timerOut = new System.Windows.Forms.Timer(components);
((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit(); ((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
panelNew.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureBoxNew).BeginInit();
SuspendLayout(); SuspendLayout();
// //
// label1 // label1
@ -67,12 +74,45 @@
label2.Text = "Nathan.Woodburn/"; label2.Text = "Nathan.Woodburn/";
label2.Click += label2_Click; label2.Click += label2_Click;
// //
// panelNew
//
panelNew.Controls.Add(pictureBoxNew);
panelNew.Dock = DockStyle.Fill;
panelNew.Location = new Point(0, 0);
panelNew.Name = "panelNew";
panelNew.Size = new Size(450, 450);
panelNew.TabIndex = 3;
//
// pictureBoxNew
//
pictureBoxNew.BackColor = Color.Black;
pictureBoxNew.Dock = DockStyle.Fill;
pictureBoxNew.Image = Properties.Resources.FWSplash;
pictureBoxNew.InitialImage = null;
pictureBoxNew.Location = new Point(0, 0);
pictureBoxNew.Name = "pictureBoxNew";
pictureBoxNew.Size = new Size(450, 450);
pictureBoxNew.SizeMode = PictureBoxSizeMode.Zoom;
pictureBoxNew.TabIndex = 0;
pictureBoxNew.TabStop = false;
pictureBoxNew.Visible = false;
//
// timerIn
//
timerIn.Enabled = true;
timerIn.Tick += timerIn_Tick;
//
// timerOut
//
timerOut.Tick += timerOut_Tick;
//
// SplashScreen // SplashScreen
// //
AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
BackColor = Color.Black; BackColor = Color.Black;
ClientSize = new Size(444, 435); ClientSize = new Size(450, 450);
Controls.Add(panelNew);
Controls.Add(label2); Controls.Add(label2);
Controls.Add(pictureBox1); Controls.Add(pictureBox1);
Controls.Add(label1); Controls.Add(label1);
@ -83,8 +123,12 @@
ShowInTaskbar = false; ShowInTaskbar = false;
StartPosition = FormStartPosition.CenterScreen; StartPosition = FormStartPosition.CenterScreen;
Text = "FireWallet"; Text = "FireWallet";
TopMost = true;
FormClosing += SplashScreen_FormClosing; FormClosing += SplashScreen_FormClosing;
Load += SplashScreen_Load;
((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit(); ((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
panelNew.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)pictureBoxNew).EndInit();
ResumeLayout(false); ResumeLayout(false);
PerformLayout(); PerformLayout();
} }
@ -93,5 +137,9 @@
private Label label1; private Label label1;
private PictureBox pictureBox1; private PictureBox pictureBox1;
private Label label2; private Label label2;
private Panel panelNew;
private PictureBox pictureBoxNew;
private System.Windows.Forms.Timer timerIn;
private System.Windows.Forms.Timer timerOut;
} }
} }

View File

@ -1,13 +1,6 @@
using System; using System.Diagnostics;
using System.Collections.Generic; using System.Drawing.Imaging;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace FireWallet namespace FireWallet
{ {
@ -17,8 +10,10 @@ namespace FireWallet
{ {
InitializeComponent(); InitializeComponent();
close = false; close = false;
IsClosed = false;
} }
bool close; bool close;
float opacity = 0.0f;
private void SplashScreen_FormClosing(object sender, FormClosingEventArgs e) private void SplashScreen_FormClosing(object sender, FormClosingEventArgs e)
{ {
if (!close) if (!close)
@ -26,12 +21,15 @@ namespace FireWallet
e.Cancel = true; e.Cancel = true;
} }
} }
public bool IsClosed { get; set; }
public void CloseSplash() public void CloseSplash()
{ {
close = true; close = true;
this.Close();
}
// Fade out
timerIn.Stop();
timerOut.Start();
}
private void label2_Click(object sender, EventArgs e) private void label2_Click(object sender, EventArgs e)
{ {
ProcessStartInfo psi = new ProcessStartInfo ProcessStartInfo psi = new ProcessStartInfo
@ -41,5 +39,56 @@ namespace FireWallet
}; };
Process.Start(psi); Process.Start(psi);
} }
Bitmap splash = new Bitmap(Properties.Resources.FWSplash);
private void SplashScreen_Load(object sender, EventArgs e)
{
pictureBoxNew.Visible = true;
this.TransparencyKey = Color.FromArgb(0, 0, 0);
pictureBoxNew.Invalidate();
}
public Image SetImageOpacity(Image image, float opacity)
{
try
{
Bitmap bmp = new Bitmap(image.Width, image.Height);
using (Graphics gfx = Graphics.FromImage(bmp))
{
ColorMatrix matrix = new ColorMatrix();
matrix.Matrix33 = opacity;
ImageAttributes attributes = new ImageAttributes();
attributes.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
gfx.DrawImage(image, new Rectangle(0, 0, bmp.Width, bmp.Height), 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, attributes);
}
return bmp;
}
catch
{
return null;
}
}
private void timerIn_Tick(object sender, EventArgs e)
{
if (opacity >= 1)
{
timerIn.Stop();
return;
}
opacity += 0.05f;
pictureBoxNew.Image = SetImageOpacity(splash, opacity);
pictureBoxNew.Invalidate();
}
private void timerOut_Tick(object sender, EventArgs e)
{
if (opacity <= 0)
{
timerOut.Stop();
IsClosed = true;
this.Close();
return;
}
opacity -= 0.05f;
pictureBoxNew.Image = SetImageOpacity(splash, opacity);
pictureBoxNew.Invalidate();
}
} }
} }

View File

@ -898,6 +898,12 @@
AAAAAAAAAAAAAADQwWbM+D8RAPjBClJL0gAAAABJRU5ErkJggg== AAAAAAAAAAAAAADQwWbM+D8RAPjBClJL0gAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
<metadata name="timerIn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="timerOut.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>104, 17</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAABAAEAAAAAAAEAIAB2pAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAOEAAADAAgGAAAAfG+p9QAAIABJ AAABAAEAAAAAAAEAIAB2pAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAOEAAADAAgGAAAAfG+p9QAAIABJ

BIN
FireWallet/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB