From 8d4c57a6a0d34d6e233c16607ccbec305ed6ef41 Mon Sep 17 00:00:00 2001 From: Arionum Date: Tue, 7 Aug 2018 20:30:33 +0300 Subject: [PATCH] Alias system and 0.4 --- LightArionum/ApplicationEvents.vb | 10 ++ LightArionum/LightArionum.vbproj | 26 ++--- LightArionum/My Project/AssemblyInfo.vb | 12 ++- LightArionum/My Project/Settings.Designer.vb | 62 ++++++------ LightArionum/My Project/app.manifest | 2 +- LightArionum/Resources/imgBG3.jpg | Bin 72380 -> 72380 bytes LightArionum/frmMain.Designer.vb | 58 ++++++++++- LightArionum/frmMain.resx | 39 -------- LightArionum/frmMain.vb | 96 ++++++++++++++++++- LightArionum/lightarionum.snk | Bin 0 -> 596 bytes 10 files changed, 210 insertions(+), 95 deletions(-) create mode 100644 LightArionum/ApplicationEvents.vb create mode 100644 LightArionum/lightarionum.snk diff --git a/LightArionum/ApplicationEvents.vb b/LightArionum/ApplicationEvents.vb new file mode 100644 index 0000000..83eb605 --- /dev/null +++ b/LightArionum/ApplicationEvents.vb @@ -0,0 +1,10 @@ +Namespace My + ' The following events are available for MyApplication: + ' Startup: Raised when the application starts, before the startup form is created. + ' Shutdown: Raised after all application forms are closed. This event is not raised if the application terminates abnormally. + ' UnhandledException: Raised if the application encounters an unhandled exception. + ' StartupNextInstance: Raised when launching a single-instance application and the application is already active. + ' NetworkAvailabilityChanged: Raised when the network connection is connected or disconnected. + Partial Friend Class MyApplication + End Class +End Namespace diff --git a/LightArionum/LightArionum.vbproj b/LightArionum/LightArionum.vbproj index b5e158e..fb05557 100644 --- a/LightArionum/LightArionum.vbproj +++ b/LightArionum/LightArionum.vbproj @@ -13,27 +13,27 @@ WindowsForms v4.6.1 true - true + false - publish\ + publish/ true - Web - true + Disk + false Foreground 7 Days false false - true - https://www.arionum.com/LightArionumC/ - https://www.arionum.com/LightArionumC/ + false + https://www.arionum.com/LightArionumD/ + en Arionum Developers - true index.html - 37 + true + 61 1.0.0.%2a - false + true true true true @@ -126,6 +126,9 @@ false + + lightarionum.snk + ..\packages\BouncyCastle.Crypto.dll.1.8.1\lib\BouncyCastle.Crypto.dll @@ -237,6 +240,7 @@ + frmQR.vb @@ -309,7 +313,7 @@ - + Designer diff --git a/LightArionum/My Project/AssemblyInfo.vb b/LightArionum/My Project/AssemblyInfo.vb index 8b61fa6..838dc7d 100644 --- a/LightArionum/My Project/AssemblyInfo.vb +++ b/LightArionum/My Project/AssemblyInfo.vb @@ -1,4 +1,5 @@ -Imports System +Imports System.Resources +Imports System Imports System.Reflection Imports System.Runtime.InteropServices @@ -8,14 +9,14 @@ Imports System.Runtime.InteropServices ' Review the values of the assembly attributes - + - + 'The following GUID is for the ID of the typelib if this project is exposed to COM @@ -31,5 +32,6 @@ Imports System.Runtime.InteropServices ' by using the '*' as shown below: ' - - + + + diff --git a/LightArionum/My Project/Settings.Designer.vb b/LightArionum/My Project/Settings.Designer.vb index bc39fd1..c96c302 100644 --- a/LightArionum/My Project/Settings.Designer.vb +++ b/LightArionum/My Project/Settings.Designer.vb @@ -13,42 +13,42 @@ Option Explicit On Namespace My - - _ + + _ Partial Friend NotInheritable Class MySettings Inherits Global.System.Configuration.ApplicationSettingsBase - - Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) - + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + #Region "My.Settings Auto-Save Functionality" #If _MyType = "WindowsForms" Then - Private Shared addedHandler As Boolean + Private Shared addedHandler As Boolean - Private Shared addedHandlerLockObject As New Object + Private Shared addedHandlerLockObject As New Object - _ - Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) - If My.Application.SaveMySettingsOnExit Then - My.Settings.Save() - End If - End Sub + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub #End If #End Region - + Public Shared ReadOnly Property [Default]() As MySettings Get - + #If _MyType = "WindowsForms" Then - If Not addedHandler Then - SyncLock addedHandlerLockObject - If Not addedHandler Then - AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings - addedHandler = True - End If - End SyncLock - End If + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If #End If Return defaultInstance End Get @@ -57,13 +57,13 @@ Namespace My End Namespace Namespace My - - _ + + _ Friend Module MySettingsProperty - - _ + + _ Friend ReadOnly Property Settings() As Global.LightArionum.My.MySettings Get Return Global.LightArionum.My.MySettings.Default diff --git a/LightArionum/My Project/app.manifest b/LightArionum/My Project/app.manifest index f0a58bd..22556f8 100644 --- a/LightArionum/My Project/app.manifest +++ b/LightArionum/My Project/app.manifest @@ -20,7 +20,7 @@ - + diff --git a/LightArionum/Resources/imgBG3.jpg b/LightArionum/Resources/imgBG3.jpg index 6337220689adfdb2e094f03355ec4e09be809afc..3994f9b832f6a9db6ddf8831ccd27086b3d42d5f 100644 GIT binary patch literal 72380 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 delta 23387 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 UD_>s_ye*{5yyxPLg?)Md2im?fMgRZ+ diff --git a/LightArionum/frmMain.Designer.vb b/LightArionum/frmMain.Designer.vb index 1696d0f..0b1a2fa 100644 --- a/LightArionum/frmMain.Designer.vb +++ b/LightArionum/frmMain.Designer.vb @@ -44,6 +44,9 @@ Partial Class frmMain Me.Label9 = New System.Windows.Forms.Label() Me.sendTo = New System.Windows.Forms.TextBox() Me.TabPage1 = New System.Windows.Forms.TabPage() + Me.btnAlias = New System.Windows.Forms.Button() + Me.lblAlias = New System.Windows.Forms.Label() + Me.Label15 = New System.Windows.Forms.Label() Me.Button3 = New System.Windows.Forms.Button() Me.Panel1 = New System.Windows.Forms.Panel() Me.DataGridView1 = New System.Windows.Forms.DataGridView() @@ -104,6 +107,7 @@ Partial Class frmMain Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog() Me.pool_update = New System.Windows.Forms.Timer(Me.components) Me.Button4 = New System.Windows.Forms.Button() + Me.Label24 = New System.Windows.Forms.Label() Label2 = New System.Windows.Forms.Label() Label4 = New System.Windows.Forms.Label() Me.TabPage2.SuspendLayout() @@ -356,6 +360,9 @@ Partial Class frmMain Me.TabPage1.BackColor = System.Drawing.Color.Transparent Me.TabPage1.BackgroundImage = Global.LightArionum.My.Resources.Resources.bgfade Me.TabPage1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch + Me.TabPage1.Controls.Add(Me.btnAlias) + Me.TabPage1.Controls.Add(Me.lblAlias) + Me.TabPage1.Controls.Add(Me.Label15) Me.TabPage1.Controls.Add(Me.Button3) Me.TabPage1.Controls.Add(Me.Panel1) Me.TabPage1.Controls.Add(Me.Label5) @@ -370,6 +377,34 @@ Partial Class frmMain Me.TabPage1.Text = "Receive Funds" Me.TabPage1.UseVisualStyleBackColor = True ' + 'btnAlias + ' + Me.btnAlias.Location = New System.Drawing.Point(780, 18) + Me.btnAlias.Name = "btnAlias" + Me.btnAlias.Size = New System.Drawing.Size(125, 25) + Me.btnAlias.TabIndex = 12 + Me.btnAlias.Text = "Set Alias" + Me.btnAlias.UseVisualStyleBackColor = True + Me.btnAlias.Visible = False + ' + 'lblAlias + ' + Me.lblAlias.AutoSize = True + Me.lblAlias.Location = New System.Drawing.Point(778, 24) + Me.lblAlias.Name = "lblAlias" + Me.lblAlias.Size = New System.Drawing.Size(0, 16) + Me.lblAlias.TabIndex = 11 + ' + 'Label15 + ' + Me.Label15.AutoSize = True + Me.Label15.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label15.Location = New System.Drawing.Point(730, 20) + Me.Label15.Name = "Label15" + Me.Label15.Size = New System.Drawing.Size(47, 20) + Me.Label15.TabIndex = 10 + Me.Label15.Text = "Alias:" + ' 'Button3 ' Me.Button3.BackColor = System.Drawing.Color.SlateGray @@ -489,7 +524,7 @@ Partial Class frmMain Me.Label3.AutoSize = True Me.Label3.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label3.ForeColor = System.Drawing.SystemColors.ActiveCaptionText - Me.Label3.Location = New System.Drawing.Point(111, 21) + Me.Label3.Location = New System.Drawing.Point(5, 21) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(108, 20) Me.Label3.TabIndex = 1 @@ -498,7 +533,7 @@ Partial Class frmMain 'txtaddress ' Me.txtaddress.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.txtaddress.Location = New System.Drawing.Point(219, 20) + Me.txtaddress.Location = New System.Drawing.Point(113, 20) Me.txtaddress.Name = "txtaddress" Me.txtaddress.Size = New System.Drawing.Size(610, 22) Me.txtaddress.TabIndex = 0 @@ -691,7 +726,7 @@ Partial Class frmMain Me.miner_pool.Name = "miner_pool" Me.miner_pool.Size = New System.Drawing.Size(382, 22) Me.miner_pool.TabIndex = 1 - Me.miner_pool.Text = "http://aropool.com" + Me.miner_pool.Text = "http://aro.cool" ' 'miner_button ' @@ -958,11 +993,24 @@ Partial Class frmMain Me.Button4.TabIndex = 9 Me.Button4.UseVisualStyleBackColor = False ' + 'Label24 + ' + Me.Label24.AutoSize = True + Me.Label24.BackColor = System.Drawing.Color.Transparent + Me.Label24.Font = New System.Drawing.Font("Verdana", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label24.ForeColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.Label24.Location = New System.Drawing.Point(359, 15) + Me.Label24.Name = "Label24" + Me.Label24.Size = New System.Drawing.Size(156, 18) + Me.Label24.TabIndex = 10 + Me.Label24.Text = "LightWallet 0.4.0" + ' 'frmMain ' Me.BackColor = System.Drawing.SystemColors.Window Me.BackgroundImage = Global.LightArionum.My.Resources.Resources.imgBG3 Me.ClientSize = New System.Drawing.Size(956, 542) + Me.Controls.Add(Me.Label24) Me.Controls.Add(Me.Button4) Me.Controls.Add(Me.Button2) Me.Controls.Add(Me.StatusStrip1) @@ -1077,4 +1125,8 @@ Partial Class frmMain Friend WithEvents PictureBox1 As PictureBox Friend WithEvents Button3 As Button Friend WithEvents Button4 As Button + Friend WithEvents btnAlias As Button + Friend WithEvents lblAlias As Label + Friend WithEvents Label15 As Label + Friend WithEvents Label24 As Label End Class diff --git a/LightArionum/frmMain.resx b/LightArionum/frmMain.resx index c389efb..428baeb 100644 --- a/LightArionum/frmMain.resx +++ b/LightArionum/frmMain.resx @@ -292,9 +292,6 @@ True - - True - True @@ -322,42 +319,6 @@ True - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - True diff --git a/LightArionum/frmMain.vb b/LightArionum/frmMain.vb index f6f3707..66adae9 100644 --- a/LightArionum/frmMain.vb +++ b/LightArionum/frmMain.vb @@ -85,6 +85,8 @@ Public Class frmMain Me.statusNode.Text = peer + + res = get_json(peer + "/api.php?q=currentBlock") If res.ToString = "" Then @@ -92,8 +94,10 @@ Public Class frmMain End If Me.statusBlock.Text = res("height") + res = get_json(peer + "/api.php?q=getTransactions&account=" + address) + If res.ToString = "" Then Exit Function End If @@ -296,6 +300,21 @@ Public Class frmMain End End If + Dim Generator As System.Random = New System.Random() + Dim r = Generator.Next(0, total_peers - 1) + Dim peer = peers(r) + + Dim res + res = get_json(peer + "/api.php?q=getAlias&account=" + address) + + If res = False Then + btnAlias.Visible = True + End If + + + + + trd = New Thread(AddressOf sync_data) trd.IsBackground = True trd.Start() @@ -418,7 +437,7 @@ Public Class frmMain End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click - If sendTo.Text.Length < 10 Then Exit Sub + If sendTo.Text.Length < 4 Then Exit Sub If Convert.ToDecimal(sendAmt.Text) < 0.00000001 Then MsgBox("Invalid amount", vbCritical) Exit Sub @@ -432,6 +451,10 @@ Public Class frmMain Exit Sub End If + Dim version As String = 1 + If sendTo.Text.Length < 26 Then + version = 2 + End If @@ -441,7 +464,7 @@ Public Class frmMain uTime = (DateTime.UtcNow - New DateTime(1970, 1, 1, 0, 0, 0)).TotalSeconds Dim info As String - info = FormatNumber(sum, 8).Replace(",", "") + "-" + FormatNumber(f, 8).Replace(",", "") + "-" + sendTo.Text + "-" + sendMsg.Text + "-1-" + public_key + "-" + uTime.ToString + info = FormatNumber(sum, 8).Replace(",", "") + "-" + FormatNumber(f, 8).Replace(",", "") + "-" + sendTo.Text + "-" + sendMsg.Text + "-" + version + "-" + public_key + "-" + uTime.ToString ' Console.WriteLine(info) frmLog.flog("Transaction data: " & info) Dim file As System.IO.StreamWriter @@ -478,14 +501,13 @@ Public Class frmMain Dim sig As String = SimpleBase.Base58.Bitcoin.Encode(signature) - - res = get_json(peer + "/api.php?q=send&version=1&public_key=" + public_key + "&signature=" + sig + "&dst=" + sendTo.Text + "&val=" + FormatNumber(sum, 8).Replace(",", "") + "&date=" + uTime.ToString + "&message=" + sendMsg.Text) + res = get_json(peer + "/api.php?q=send&version=" + Version + "&public_key=" + public_key + "&signature=" + sig + "&dst=" + sendTo.Text + "&val=" + FormatNumber(sum, 8).Replace(",", "") + "&date=" + uTime.ToString + "&message=" + sendMsg.Text) If res.ToString = "" Then r = Generator.Next(0, total_peers - 1) peer = peers(r) - res = get_json(peer + "/api.php?q=send&version=1&public_key=" + public_key + "&signature=" + sig + "&dst=" + sendTo.Text + "&val=" + FormatNumber(sum, 8).Replace(",", "") + "&date=" + uTime.ToString + "&message=" + sendMsg.Text) + res = get_json(peer + "/api.php?q=send&version=" + Version + "&public_key=" + public_key + "&signature=" + sig + "&dst=" + sendTo.Text + "&val=" + FormatNumber(sum, 8).Replace(",", "") + "&date=" + uTime.ToString + "&message=" + sendMsg.Text) If res.ToString = "" Then MsgBox("Could not send the transaction to the peer (" & peer & ")! Please try again!", vbCritical) Exit Sub @@ -901,4 +923,68 @@ Public Class frmMain Private Sub frmMain_DoubleClick(sender As Object, e As EventArgs) Handles Me.DoubleClick End Sub + + Private Sub btnAlias_Click(sender As Object, e As EventArgs) Handles btnAlias.Click + On Error GoTo Err + If Convert.ToInt32(statusBlock.Text) < 80000 Then + MsgBox("The alias can only be set after block 80.000", vbCritical) + Exit Sub + End If + Dim als = InputBox("Please enter your new alias. Only upper case letters, 4-25 chars.") + als = als.ToUpper() + + Dim uTime As Int64 + uTime = (DateTime.UtcNow - New DateTime(1970, 1, 1, 0, 0, 0)).TotalSeconds + + Dim info As String + info = FormatNumber(0.00000001, 8).Replace(",", "") + "-" + FormatNumber(10, 8).Replace(",", "") + "-" + address + "-" + als + "-3-" + public_key + "-" + uTime.ToString + ' Console.WriteLine(info) + frmLog.flog("Transaction data: " & info) + Dim file As System.IO.StreamWriter + + + Dim res As String + Static Generator As System.Random = New System.Random() + Dim r = Generator.Next(0, total_peers - 1) + Dim peer = peers(r) + + Dim tmp_key As String = coin2pem(private_key, True) + Dim tmp_key2 As String = coin2pem(public_key, False) + + + Dim textReader As TextReader = New StringReader(tmp_key) + Dim pemReader As PemReader = New PemReader(textReader) + Dim _keyPair As AsymmetricCipherKeyPair = pemReader.ReadObject() + Dim _privateKeyParams As ECPrivateKeyParameters = _keyPair.Private + Dim _publicKeyParams As ECPublicKeyParameters = _keyPair.Public + + + + Dim signer As ISigner = SignerUtilities.GetSigner("SHA-256withECDSA") + signer.Init(True, _keyPair.Private) + Dim bytes As Byte() = System.Text.Encoding.UTF8.GetBytes(info) + signer.BlockUpdate(bytes, 0, bytes.Length) + Dim signature As Byte() = signer.GenerateSignature() + + Dim sig As String = SimpleBase.Base58.Bitcoin.Encode(signature) + Dim version As String = 3 + + res = get_json(peer + "/api.php?q=send&version=" + version + "&public_key=" + public_key + "&signature=" + sig + "&dst=" + address + "&val=" + FormatNumber(0.00000001, 8).Replace(",", "") + "&date=" + uTime.ToString + "&message=" + als) + + If res.ToString = "" Then + r = Generator.Next(0, total_peers - 1) + peer = peers(r) + + res = get_json(peer + "/api.php?q=send&version=" + version + "&public_key=" + public_key + "&signature=" + sig + "&dst=" + address + "&val=" + FormatNumber(0.00000001, 8).Replace(",", "") + "&date=" + uTime.ToString + "&message=" + als) + If res.ToString = "" Then + MsgBox("Could not send the transaction to the peer (" & peer & ")! Please try again!", vbCritical) + Exit Sub + End If + End If + btnAlias.Visible = False + lblAlias.Text = als + "(Pending)" + Exit Sub +Err: + MsgBox("Something went wrong with setting up the alias. Please try again!", vbCritical) + End Sub End Class diff --git a/LightArionum/lightarionum.snk b/LightArionum/lightarionum.snk new file mode 100644 index 0000000000000000000000000000000000000000..a4d1d1d93d395a4cba847b9192ef430b7f025f74 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097T??!&E7d`#t#v&svBBcq17J>LM6ErU$ z01_0Oo?f}N!7wn;6EiN**@s=%k|eaCr<{OLyav0;=SO6LpvJ=uM|WU?I}QnqvuTRs z)%!69$p}C=mjd+!KNzHC#k?S*io~(cbbrG843(Efx_7|yqWyBXvE7|LDRb`5?Niv- zTO066oZF8gZL*D9N9O{|q&^-Ae!`VX5hQyGU1J943+;9`g zGb$DHZ;zAGID^AOE=B?ax8s#{EBEYST=U=33}&y^-w(|QAEeAFfqOx0vQv%$riM)g zx+GI^ZR0JiqC=_6xwmgYI2TD%5}PdOppHU9?hVeL0PyOA!^5#b`3*#8xIM1r`