public void AddNewAccount(string name) { AccountItem newAccount = new AccountItem(); newAccount.m_name=name; newAccount.GenerateKey(); m_Accounts.Add(newAccount); }
public void SendTX(AccountItem account, byte[] to, Int64 qAmount) { SC_Transaction tx = new SC_Transaction(); tx.m_dwAddressID = account.m_addressid; Array.Copy(account.GetPubKeyBytes(), 1, tx.m_Extra1, 0, 64); //this isnt always sent, but may as well just copy it if (tx.m_dwAddressID == 0) tx.m_dwType = 1; for (int x = 0; x < 8; x++) tx.m_Info[x] = 0; tx.m_FromAddress = account.GetAddressBytes(); tx.m_RecvAddress = to; tx.m_qAmount = qAmount*10000; byte[] hash = tx.GetHash(false); string s = MicroCashFunctions.ToHex(hash); tx.m_Signature = account.Sign(hash); MicroCashRPC mcrpc = CreateMCRPC(); byte[] txserialized = tx.GetByteBuffer(true); if (txserialized.Length != 108) { int n = 0; } SendTransaction sendtx = mcrpc.SendTransaction(MicroCashFunctions.ToHex(txserialized)); if (sendtx != null && sendtx.sent == true) { account.m_addressid++; } else { m_LogItems.Add("Failed to send transaction from "+account.m_name + " amount "+qAmount.ToString() + " error:"+mcrpc.m_ErrorMessage); } }
public bool LoadFromFile(string filename) { m_FileName = filename; bool bRet = false; XmlTextReader reader = null; try { reader = new XmlTextReader(m_FileName); while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: // The node is an element. switch (reader.Name) { case "name": reader.MoveToContent(); m_name = reader.ReadElementContentAsString(); break; case "pass1": reader.MoveToContent(); m_pass1 = reader.ReadElementContentAsString(); break; case "pass2": reader.MoveToContent(); m_pass2 = reader.ReadElementContentAsString(); break; case "icon": reader.MoveToContent(); m_icon = reader.ReadElementContentAsInt(); break; case "account": { AccountItem newAccount = new AccountItem(); if (newAccount.AccountXMLLoad(reader)) { m_Accounts.Add(newAccount); } break; } } break; case XmlNodeType.EndElement: break; } } } catch (System.IO.FileNotFoundException exception) { return false; } catch (Exception exception) { MessageBox.Show("Error reading " + m_FileName); } finally { reader.Close(); } return bRet; }