Skip to content
This repository has been archived by the owner on Dec 5, 2020. It is now read-only.

Commit

Permalink
0.0.1-beta updates #3
Browse files Browse the repository at this point in the history
1. Updated Overview to include unconfirmed balances
2. Updated API to inculed unconfirmed balances
3. Updated balances by address to include unconfirmed addresses and confimed notation
4. Moved Qr code to contex menu on receive coin screen
5. updated listtransactions rpc call
6. added rpc call z_list receivedbyaddress
7. updated api to include inbound z-address transactions
8. updated api to include validate address to exclude any watch only addresses
9. Updated sendmany to prevent crash when incorrect string is passed.
  • Loading branch information
CryptoForge committed May 7, 2018
1 parent ce87497 commit b8cef5b
Show file tree
Hide file tree
Showing 7 changed files with 366 additions and 104 deletions.
Binary file modified SimpleWallet.v12.suo
Binary file not shown.
3 changes: 3 additions & 0 deletions SimpleWallet/SplashScreen.cs
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,9 @@ void startWallet_DoWork(System.Object sender, System.ComponentModel.DoWorkEventA
start.transparentbalance = dataimport.transparentbalance;
start.totalbalance = dataimport.totalbalance;
start.unconfirmedbalance = dataimport.unconfirmedbalance;
start.privatebalanceunconfirmed = dataimport.privatebalanceunconfirmed;
start.transparentbalanceunconfirmed = dataimport.transparentbalanceunconfirmed;
start.totalbalanceunconfirmed = dataimport.totalbalanceunconfirmed;

//blockhash info
start.bestHash = dataimport.bestblockhash;
Expand Down
147 changes: 105 additions & 42 deletions SimpleWallet/Start.Designer.cs

Large diffs are not rendered by default.

98 changes: 78 additions & 20 deletions SimpleWallet/Start.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,13 @@ public partial class Start : Form
public String bestHash = "";
public String connections = "";
public String totalbalance = "";
public String totalbalanceunconfirmed = "";
public String unconfirmedbalance = "";
public String privatebalance = "";
public String privatebalanceunconfirmed = "";
public String transparentbalance = "";

public String transparentbalanceunconfirmed = "";

public List<String> addressBalanceChange = new List<String>();
public List<Types.Transaction> listtransactions = new List<Types.Transaction>();
List<Types.TransactionConverted> txconvert = new List<Types.TransactionConverted>();
Expand Down Expand Up @@ -65,16 +68,18 @@ public Start()
InitializeComponent();
dtgAddress.ColumnCount = 3;
dtgAddress.RowHeadersVisible = false;
dtgAddress.Columns[0].Name = "No.";
dtgAddress.Columns[0].Name = "Confirmed";
dtgAddress.Columns[0].Width = dtgAddress.Width / 10;
dtgAddress.Columns[0].ReadOnly = true;
dtgAddress.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dtgAddress.Columns[1].Name = "Address";
dtgAddress.Columns[1].Width = dtgAddress.Width * 7 / 10;
dtgAddress.Columns[1].ReadOnly = true;
dtgAddress.Columns[2].Name = "Amount";
dtgAddress.Columns[2].Width = dtgAddress.Width * 2 / 10;
dtgAddress.Columns[2].ReadOnly = true;
dtgAddress.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText;
dtgAddress.DoubleBuffered(true);

dtgTransactions.RowHeadersVisible = false;
dtgTransactions.Columns[0].HeaderText = "Direction";
Expand All @@ -96,6 +101,7 @@ public Start()
dtgTransactions.Columns[5].Width = dtgTransactions.Width * 4 / 10;
dtgTransactions.Columns[5].ReadOnly = true;
dtgTransactions.Columns[5].Visible = false;
dtgTransactions.DoubleBuffered(true);

cbUnit.SelectedIndex = 0;
groupBox1.Enabled = false;
Expand Down Expand Up @@ -155,16 +161,31 @@ private void Start_Load(object sender, EventArgs e)
populateConnections(connections);
//balance
lbTotal.Invoke(new Action(() => lbTotal.Text = totalbalance));

lbTotal.Invoke(new Action(() => lblTotalUnconfirmed.Text = totalbalanceunconfirmed));
//balance
lbPrivate.Invoke(new Action(() => lbPrivate.Text = privatebalance));
lbPrivate.Invoke(new Action(() => lblPrivateUnconfirmed.Text = privatebalanceunconfirmed));

//balance
lbTransparent.Invoke(new Action(() => lbTransparent.Text = transparentbalance));
lbTransparent.Invoke(new Action(() => lblTransparentUnconfirmed.Text = transparentbalanceunconfirmed));

//unconfirmed
lbUnconfirmed.Invoke(new Action(() => lbUnconfirmed.Text = unconfirmedbalance));

if (totalbalance==totalbalanceunconfirmed &&
privatebalance==privatebalanceunconfirmed &&
transparentbalance==transparentbalanceunconfirmed)
{
lblUnconfirmedHeader.Invoke(new Action(() => lblUnconfirmedHeader.Hide()));
lblTransparentUnconfirmed.Invoke(new Action(() => lblTransparentUnconfirmed.Hide()));
lblPrivateUnconfirmed.Invoke(new Action(() => lblPrivateUnconfirmed.Hide()));
lblTotalUnconfirmed.Invoke(new Action(() => lblTotalUnconfirmed.Hide()));
}
else
{
lblUnconfirmedHeader.Invoke(new Action(() => lblUnconfirmedHeader.Show()));
lblTransparentUnconfirmed.Invoke(new Action(() => lblTransparentUnconfirmed.Show()));
lblPrivateUnconfirmed.Invoke(new Action(() => lblPrivateUnconfirmed.Show()));
lblTotalUnconfirmed.Invoke(new Action(() => lblTotalUnconfirmed.Show()));
}
listtransactions.Reverse();

//populate recent trans
Expand Down Expand Up @@ -248,16 +269,33 @@ void startSync()

//balance
lbTotal.Invoke(new Action(() => lbTotal.Text = dataimport.totalbalance));
lbTotal.Invoke(new Action(() => lblTotalUnconfirmed.Text = dataimport.totalbalanceunconfirmed));

//balance
lbPrivate.Invoke(new Action(() => lbPrivate.Text = dataimport.privatebalance));
lbPrivate.Invoke(new Action(() => lblPrivateUnconfirmed.Text = dataimport.privatebalanceunconfirmed));

//balance
lbTransparent.Invoke(new Action(() => lbTransparent.Text = dataimport.transparentbalance));
lbTransparent.Invoke(new Action(() => lblTransparentUnconfirmed.Text = dataimport.transparentbalanceunconfirmed));

if (dataimport.totalbalance==dataimport.totalbalanceunconfirmed &&
dataimport.privatebalance==dataimport.privatebalanceunconfirmed &&
dataimport.transparentbalance==dataimport.transparentbalanceunconfirmed)
{
lblUnconfirmedHeader.Invoke(new Action (() => lblUnconfirmedHeader.Hide()));
lblTransparentUnconfirmed.Invoke(new Action (() => lblTransparentUnconfirmed.Hide()));
lblPrivateUnconfirmed.Invoke(new Action (() => lblPrivateUnconfirmed.Hide()));
lblTotalUnconfirmed.Invoke(new Action(() => lblTotalUnconfirmed.Hide()));
}
else
{
lblUnconfirmedHeader.Invoke(new Action(() => lblUnconfirmedHeader.Show()));
lblTransparentUnconfirmed.Invoke(new Action(() => lblTransparentUnconfirmed.Show()));
lblPrivateUnconfirmed.Invoke(new Action(() => lblPrivateUnconfirmed.Show()));
lblTotalUnconfirmed.Invoke(new Action(() => lblTotalUnconfirmed.Show()));
}

//unconfirmed
lbUnconfirmed.Invoke(new Action(() => lbUnconfirmed.Text = dataimport.unconfirmedbalance));

if (shouldGetWallet)
{
loadWallet();
Expand Down Expand Up @@ -346,9 +384,25 @@ void startCheckBalance(Dictionary<String, String> addresses)
catch { }
}

string CheckBalanceUnconfirmed(string a)
{
String balance = null;
try
{
//get current balance of the address
balance = Task.Run(() => api.getAddressBalanceUnconfirmed(a)).Result;
}
catch
{
balance = "0.00";
}
return balance;
}

void updateBalance(String address, String balance)
{
DataGridViewRow row = new DataGridViewRow();
String balanceUnconfirmed = "0.00";
try
{
bool tempAllowUserToAddRows = dtgAddress.AllowUserToAddRows;
Expand All @@ -365,7 +419,19 @@ void updateBalance(String address, String balance)
}
catch { return; }
int rowIndex = row.Index;
dtgAddress.Invoke(new Action(() => dtgAddress.Rows[rowIndex].Cells[2].Value = balance));

balanceUnconfirmed=CheckBalanceUnconfirmed(address);
if (balanceUnconfirmed==balance)
{
dtgAddress.Invoke(new Action(() => dtgAddress.Rows[rowIndex].Cells[0].Value = "Yes"));
dtgAddress.Invoke(new Action(() => dtgAddress.Rows[rowIndex].Cells[2].Value = balance));
}
else
{
dtgAddress.Invoke(new Action(() => dtgAddress.Rows[rowIndex].Cells[0].Value = "No"));
dtgAddress.Invoke(new Action(() => dtgAddress.Rows[rowIndex].Cells[2].Value = balanceUnconfirmed));
}

}

public DateTime UnixTimeStampToDateTime(int unixTimeStamp)
Expand Down Expand Up @@ -1163,15 +1229,6 @@ private void btnSendMany_Click(object sender, EventArgs e)
}
}

private void dtgAddress_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
if (((DataGridView)(sender)).CurrentCell.Value != null)
{
QrCode qr = new QrCode(((DataGridView)(sender)).CurrentCell.Value.ToString());
qr.ShowDialog();
}
}

private void tpReceive_Leave(object sender, EventArgs e)
{
dtgAddress.Visible = false;
Expand Down Expand Up @@ -1637,14 +1694,15 @@ private void dtgAddress_CellMouseClick(object sender, DataGridViewCellMouseEvent
ContextMenu ctxMenu = new ContextMenu();
ctxMenu.MenuItems.Add(new CustomMenuItem("Copy Address", ctxMenu_CopyAddress, type));
ctxMenu.MenuItems.Add(new CustomMenuItem("View Private Key", ctxMenu_ViewPrivateKey, type));
ctxMenu.MenuItems.Add(new CustomMenuItem("View Qr Code", ctxMenu_ViewQrCode, type));
((DataGridView)sender).CurrentCell = ((DataGridView)sender).Rows[rightClick.rowIdx].Cells[1];
ctxMenu.Show(((DataGridView)sender), new Point(rightClick.x, rightClick.y));
}
}






}
Expand Down
2 changes: 1 addition & 1 deletion SimpleWallet/Start.resx
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACc
DQAAAk1TRnQBSQFMAgEBBgEAAdABDQHQAQ0BEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
DQAAAk1TRnQBSQFMAgEBBgEAAVgBDgFYAQ4BEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
Expand Down
Loading

0 comments on commit b8cef5b

Please sign in to comment.