Browse Source

Merge branch 'master' of https://github.com/PascalCoin/PascalCoin

Herman Schoenfeld 7 years ago
parent
commit
7dff2b8d85

+ 3 - 12
src/core/UAccounts.pas

@@ -300,7 +300,7 @@ Type
     FLock: TPCCriticalSection; // Thread safe
     FWorkSum : UInt64;
     FCurrentProtocol: Integer;
-    // Snapshots utility new on V3  XXXXXXXXXXXXXX
+    // Snapshots utility new on V3
     FSnapshots : TList; // Will save a Snapshots lists in order to rollback Safebox to a previous block state
     FMaxSafeboxSnapshots : Integer;
     // To be added to next snapshot
@@ -329,7 +329,7 @@ Type
     Constructor Create;
     Destructor Destroy; override;
     procedure SetToPrevious(APreviousSafeBox : TPCSafeBox; StartBlock : Cardinal);
-    procedure CommitToPrevious; // XXXXXXXXXXX New: Commit changes to Previous Safebox
+    procedure CommitToPrevious;
     procedure RollBackToSnapshot(snapshotBlock : Cardinal);
     function AccountsCount: Integer;
     Function BlocksCount : Integer;
@@ -768,7 +768,7 @@ Var n, i : Cardinal;
 begin
   {$IFDEF TESTNET}
   // TESTNET used (line_index +1), but PRODUCTION must use (line_index)
-  n := (line_index + 1) DIV CT_NewLineRewardDecrease;  // XXXXXXXXXXXXXXX TESTNET BAD USE (line_index + 1)
+  n := (line_index + 1) DIV CT_NewLineRewardDecrease;  // TESTNET BAD USE (line_index + 1)
   {$ELSE}
   n := line_index DIV CT_NewLineRewardDecrease; // FOR PRODUCTION
   {$ENDIF}
@@ -2604,11 +2604,6 @@ end;
 
 function TPCSafeBox.DoUpgradeToProtocol3: Boolean;
 begin
-  // XXXXXXXXXXX
-  // XXXXXXXXXXX
-  // TODO IF NEEDED
-  // XXXXXXXXXXX
-  // XXXXXXXXXXX
   FCurrentProtocol := CT_PROTOCOL_3;
   Result := True;
   TLog.NewLog(ltInfo,ClassName,'End Upgraded to protocol 3 - New safeboxhash:'+TCrypto.ToHexaString(FSafeBoxHash));
@@ -4159,10 +4154,6 @@ begin
     end;
   end;
   // All Ok, can do changes
-  // XXXXXXXXXXXXXXXX
-  // PREVIOUS BUG !!!!
-  // On previous versions (2.1.6) this update change was made prior to check all!
-  // XXXXXXXXXXXXXXXX
   previous.UpdateIfLower(P_signer^.account,P_signer^.updated_block);
   if P_signer^.updated_block <> Origin_BlocksCount then begin
     P_signer^.previous_updated_block := P_signer^.updated_block;

+ 4 - 14
src/core/UBlockChain.pas

@@ -1402,9 +1402,10 @@ begin
       else soob := 2;}
       soob := 2;
       if (SaveToStorage) then begin
+        {Old versions:
         // Introduced on protocol v2: soob = 4 when saving to storage
-        soob := 4;
-        // XXXXXXXXXXXXXXXX
+        soob := 4;}
+        // Introduced on protocol v3: soob = 5 when saving to storage
         soob := 5; // V3 will always save PreviousUpdatedBlocks
       end;
     end;
@@ -2373,10 +2374,7 @@ end;
 
 procedure TPCOperation.FillOperationResume(Block: Cardinal; getInfoForAllAccounts : Boolean; Affected_account_number: Cardinal; var OperationResume: TOperationResume);
 begin
-  // XXXXXXXXXXXXXXXX
-  // TODO
-  // change from class function TPCOperation.OperationToOperationResume(Block : Cardinal; Operation: TPCOperation; Affected_account_number: Cardinal; var OperationResume: TOperationResume): Boolean;
-  // to here
+  //
 end;
 
 function TPCOperation.LoadFromNettransfer(Stream: TStream): Boolean;
@@ -2665,16 +2663,8 @@ begin
 end;
 
 function TPCOperation.SaveToStorage(Stream: TStream): Boolean;
-
 begin
   Result := SaveOpToStream(Stream,True);
-  { XXXXXXXXXXXXXXX
-  DEPRECATED on V3, will use TPreviousUpdatedBlocks
-  Stream.Write(FPrevious_Signer_updated_block,Sizeof(FPrevious_Signer_updated_block));
-  Stream.Write(FPrevious_Destination_updated_block,SizeOf(FPrevious_Destination_updated_block));
-  Stream.Write(FPrevious_Seller_updated_block,SizeOf(FPrevious_Seller_updated_block));
-
-  Result := true; }
 end;
 
 function TPCOperation.Sha256: TRawBytes;

+ 1 - 5
src/core/UNetProtocol.pas

@@ -1120,7 +1120,7 @@ end;
 
 constructor TNetData.Create(AOwner: TComponent);
 begin
-  inherited Create(AOwner);  // XXXXXXXXXXXXX BUG
+  inherited Create(AOwner);
   FOnProcessReservedAreaMessage:=Nil;
   TLog.NewLog(ltInfo,ClassName,'TNetData.Create');
   FMaxConnections := CT_MaxClientsConnected;
@@ -1571,11 +1571,7 @@ Const CT_LogSender = 'GetNewBlockChainFromClient';
       Bank.Storage.CopyConfiguration(TNode.Node.Bank.Storage);
       if start_block>=0 then begin
         If (TNode.Node.Bank.SafeBox.HasSnapshotForBlock(start_block-1)) then begin
-          // XXXXXXXXXXXXX
-          // XXXXXXXXXXXXX
           // Restore from a Snapshot (New on V3) instead of restore reading from File
-          // XXXXXXXXXXXXX
-          // XXXXXXXXXXXXX
           Bank.SafeBox.SetToPrevious(TNode.Node.Bank.SafeBox,start_block-1);
           Bank.UpdateValuesFromSafebox;
           IsUsingSnapshot := True;

+ 1 - 1
src/core/UOpTransaction.pas

@@ -973,7 +973,7 @@ begin
   SetLength(OperationResume.Senders,1);
   OperationResume.Senders[0] := CT_TMultiOpSender_NUL;
   OperationResume.Senders[0].Account:=FData.sender;
-  OperationResume.Senders[0].Amount:=Int64(FData.amount + FData.fee) * (-1);
+  OperationResume.Senders[0].Amount:=Int64(FData.amount + FData.fee);
   OperationResume.Senders[0].N_Operation:=FData.n_operation;
   OperationResume.Senders[0].Payload:=FData.payload;
   OperationResume.Senders[0].Signature:=FData.sign;

+ 3 - 0
src/core/USettings.pas

@@ -43,6 +43,8 @@ const
   CT_PARAM_JSONRPCMinerServerActive = 'JSONRPCMinerServerActive';
   CT_PARAM_JSONRPCEnabled = 'JSONRPCEnabled';
   CT_PARAM_JSONRPCAllowedIPs = 'JSONRPCAllowedIPs';
+  CT_PARAM_HashRateAvgBlocksCount = 'HashRateAvgBlocksCount';
+  CT_PARAM_ShowHashRateAs = 'ShowHashRateAs';
 
 type
 
@@ -118,6 +120,7 @@ implementation
 uses
   Classes, SysUtils, UConst, UFolderHelper;
 
+
 { TSettings }
 
 class procedure TSettings.Load;

File diff suppressed because it is too large
+ 252 - 182
src/gui-classic/UFRMWallet.dfm


+ 2 - 208
src/gui-classic/UFRMWallet.lfm

@@ -388,9 +388,9 @@ object FRMWallet: TFRMWallet
     Height = 466
     Top = 91
     Width = 865
-    ActivePage = tsMyAccounts
+    ActivePage = tsBlockChain
     Align = alClient
-    TabIndex = 0
+    TabIndex = 2
     TabOrder = 2
     OnChange = PageControlChange
     object tsMyAccounts: TTabSheet
@@ -1244,12 +1244,6 @@ object FRMWallet: TFRMWallet
       end
     end
   end
-  object TrayIcon: TTrayIcon
-    Visible = True
-    OnDblClick = TrayIconDblClick
-    left = 45
-    top = 20
-  end
   object TimerUpdateStatus: TTimer
     OnTimer = TimerUpdateStatusTimer
     left = 25
@@ -1360,204 +1354,4 @@ object FRMWallet: TFRMWallet
       end
     end
   end
-  object ImageListIcons: TImageList
-    Height = 48
-    left = 105
-    top = 180
-    Bitmap = {
-      4C69020000001000000030000000000000000000000000000000000000000000
-      00000000000016161616010101010C0C0C0C7171717100000000000000000000
-      0000000000000000000000000000000000000000000000000000000000002324
-      252266B3FF0066B3FF0066B3FF0066B3FF0066B3FF00586D7F40000000000000
-      0000000000000000000000000000000000000000000000000000000000002324
-      252266B3FF0066B3FF0066B3FF0066B3FF0066B3FF00586D7F40000000000000
-      00000000000000000000000000000000000000000000000000005252525266B3
-      FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF00252627240000
-      000000000000000000000000000000000000000000007878787866B3FF0066B3
-      FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0033597F0066B3FF001D1E
-      1F1D00000000000000000000000000000000000000007878787866B3FF0066B3
-      FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0033597F0066B3FF001D1E
-      1F1D00000000000000000000000000000000000000002B2F302966B3FF0066B3
-      FF006CB6FF006EB7FF006AB5FF0066B3FF0066B3FF00060B0F0066B3FF0068AC
-      F00E000000000000000000000000000000007474747466B3FF0067B4FF0077BB
-      FF0080C0FF0083C1FF007DBFFF00558BBF0066B3FF002C4E6F0066B3FF0066B3
-      FF003234382E0000000000000000000000007474747466B3FF0067B4FF0077BB
-      FF0080C0FF0083C1FF007DBFFF00558BBF0066B3FF002C4E6F0066B3FF0066B3
-      FF003234382E0000000000000000000000002B2F302966B3FF0070B8FF0080C0
-      FF007AACDF0000000000000000000000000000000000000000002C4E6F0066B3
-      FF0068ACF00E00000000000000000000000066B3FF0068B4FF007FC0FF0092C9
-      FF004F677F000000000000000000000000000000000000000000000000001321
-      2F0066B3FF006E6E6E6E000000000000000066B3FF0068B4FF007FC0FF0092C9
-      FF004F677F000000000000000000000000000000000000000000000000001321
-      2F0066B3FF006E6E6E6E000000000000000066B3FF006EB7FF0087C3FF009BCD
-      FF0034424F000000000000000000000000000000000000000000000000000000
-      000066B3FF002B2C2F29000000002122232066B3FF0079BDFF0094CAFF00ACD6
-      FF000000000000000000B7DBFF00000000006894BF00375B7F00000000000000
-      000066B3FF0066B3FF00000000002122232066B3FF0079BDFF0094CAFF00ACD6
-      FF000000000000000000B7DBFF00000000006894BF00375B7F00000000000000
-      000066B3FF0066B3FF00000000005E768F3F66B3FF007EBFFF009ACDFF00B3D9
-      FF000000000000000000C0E0FF0000000000597D9F0073BAFF00000000000000
-      000066B3FF0066B3FF000000000066B3FF0067B3FF0085C2FF00A3D1FF00BFDF
-      FF000000000000000000CFE7FF000000000025323F007ABDFF00000000000000
-      000066B3FF0066B3FF000000000066B3FF0067B3FF0085C2FF00A3D1FF00BFDF
-      FF000000000000000000CFE7FF000000000025323F007ABDFF00000000000000
-      000066B3FF0066B3FF000000000066B3FF0068B4FF0087C3FF00A6D3FF00C3E1
-      FF000000000000000000D5EAFF000B0D0F0013191F007CBEFF00000000000000
-      000066B3FF0066B3FF000000000066B3FF006AB5FF0089C4FF00A8D4FF00C7E3
-      FF000000000000000000DAEDFF0051606F00000000007DBFFF00000000000000
-      000066B3FF0066B3FF002323232366B3FF006AB5FF0089C4FF00A8D4FF00C7E3
-      FF000000000000000000DAEDFF0051606F00000000007DBFFF00000000000000
-      000066B3FF0066B3FF002323232366B3FF0069B4FF0088C4FF00A7D3FF00C6E3
-      FF000000000000000000D9ECFF00697C8F0000000000659ACF00000000000000
-      000066B3FF0066B3FF000D0D0D0D66B3FF0067B3FF0085C2FF00A3D1FF00BFDF
-      FF00000000000000000033393F002A323B000000000000000000000000002037
-      4F0066B3FF0066B3FF000202020266B3FF0067B3FF0085C2FF00A3D1FF00BFDF
-      FF00000000000000000033393F002A323B000000000000000000000000002037
-      4F0066B3FF0066B3FF000202020266B3FF0066B3FF0082C1FF009ECFFF00B9DC
-      FF000000000000000000000000000000000000000000000000000000000060A8
-      EF0066B3FF0066B3FF000505050566B3FF0066B3FF0079BDFF0094CAFF0096BA
-      DF0000000000000000000000000000000000000000000000000039648F0066B3
-      FF0066B3FF0066B3FF001111111166B3FF0066B3FF0079BDFF0094CAFF0096BA
-      DF0000000000000000000000000000000000000000000000000039648F0066B3
-      FF0066B3FF0066B3FF001111111166B3FF0066B3FF0074BAFF008EC7FF007A9D
-      BF0000000000000000000000000000000000000000000D161F0066B3FF0066B3
-      FF0066B3FF0066B3FF002323232366B3FF0066B3FF0068B4FF007FC0FF002D3E
-      4F000000000065829F0026333F008CC6FF0070B0EF0066B3FF0066B3FF0066B3
-      FF0066B3FF0066B3FF000000000066B3FF0066B3FF0068B4FF007FC0FF002D3E
-      4F000000000065829F0026333F008CC6FF0070B0EF0066B3FF0066B3FF0066B3
-      FF0066B3FF0066B3FF000000000066B3FF0066B3FF0066B3FF0077BCFF001924
-      2F00000000007198BF0012181F0083C2FF0070B8FF0066B3FF0066B3FF0066B3
-      FF0066B3FF0066B3FF0000000000586D7F4066B3FF0066B3FF0067B4FF000000
-      00000000000083C1FF003E5F7F005C96CF0066B3FF0066B3FF0066B3FF0066B3
-      FF0066B3FF0066B3FF0000000000586D7F4066B3FF0066B3FF0067B4FF000000
-      00000000000083C1FF003E5F7F005C96CF0066B3FF0066B3FF0066B3FF0066B3
-      FF0066B3FF0066B3FF00000000002022221F66B3FF0066B3FF0066B3FF000000
-      00000000000079BCFF0073BAFF0068B4FF0066B3FF0066B3FF0066B3FF0066B3
-      FF0066B3FF0066B3FF00000000000000000066B3FF0066B3FF0066B3FF000000
-      00000000000066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3
-      FF0066B3FF002022221F000000000000000066B3FF0066B3FF0066B3FF000000
-      00000000000066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3
-      FF0066B3FF002022221F000000000000000066B3FF0066B3FF0066B3FF000000
-      00000000000066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3
-      FF0066B3FF006868686800000000000000001414151466B3FF0066B3FF000000
-      00000000000066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3
-      FF0068ACF00E0000000000000000000000001414151466B3FF0066B3FF000000
-      00000000000066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3
-      FF0068ACF00E0000000000000000000000007F7F7F7F66B3FF0066B3FF000000
-      00000000000066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3
-      FF002B2F3029000000000000000000000000000000002B2F312966B3FF0066B3
-      FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0068AC
-      F00E00000000000000000000000000000000000000002B2F312966B3FF0066B3
-      FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0068AC
-      F00E00000000000000000000000000000000000000000000000066B3FF0066B3
-      FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF002C30
-      322A0000000000000000000000000000000000000000000000006D6D6D6D66B3
-      FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF00292A2D270000
-      00000000000000000000000000000000000000000000000000006D6D6D6D66B3
-      FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF0066B3FF00292A2D270000
-      0000000000000000000000000000000000000000000000000000000000002A2B
-      2E2866B3FF0066B3FF0066B3FF0066B3FF0066B3FF005E768F3F000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000292929290B0B0B0B111111110000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000292929290B0B0B0B111111110000000000000000000000000000
-      0000000000000000000000000000000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF000000FF000000FF
-    }
-  end
 end

+ 20 - 35
src/gui-classic/UFRMWallet.pas

@@ -55,7 +55,6 @@ type
     PageControl: TPageControl;
     tsMyAccounts: TTabSheet;
     tsOperations: TTabSheet;
-    TrayIcon: TTrayIcon;
     TimerUpdateStatus: TTimer;
     tsLogs: TTabSheet;
     pnlTopLogs: TPanel;
@@ -111,8 +110,6 @@ type
     N1: TMenuItem;
     MiClose: TMenuItem;
     MiDecodePayload: TMenuItem;
-    ImageListIcons: TImageList;
-    ApplicationEvents: {$IFDEF FPC}TApplicationProperties{$ELSE}TApplicationEvents{$ENDIF};
     Label5: TLabel;
     lblCurrentAccounts: TLabel;
     lblTimeAverageAux: TLabel;
@@ -201,8 +198,6 @@ type
     procedure cbExploreMyAccountsClick(Sender: TObject);
     procedure MiCloseClick(Sender: TObject);
     procedure MiDecodePayloadClick(Sender: TObject);
-    procedure TrayIconDblClick(Sender: TObject);
-    procedure ApplicationEventsMinimize(Sender: TObject);
     procedure bbSendAMessageClick(Sender: TObject);
     procedure lblReceivedMessagesClick(Sender: TObject);
     procedure ebFindAccountNumberChange(Sender: TObject);
@@ -334,6 +329,7 @@ end;
 procedure TFRMWallet.Activate;
 Var ips : AnsiString;
   nsarr : TNodeServerAddressArray;
+  i : Integer;
 begin
   inherited;
   if FIsActivated then exit;
@@ -375,6 +371,10 @@ begin
     FWalletKeys.OnChanged.Add( OnWalletChanged );
     FAccountsGrid.Node := FNode;
     FOperationsAccountGrid.Node := FNode;
+    FBlockChainGrid.HashRateAverageBlocksCount := FAppParams.ParamByName[CT_PARAM_HashRateAvgBlocksCount].GetAsInteger(50);
+    i := FAppParams.ParamByName[CT_PARAM_ShowHashRateAs].GetAsInteger(Integer({$IFDEF TESTNET}hr_Mega{$ELSE}hr_Tera{$ENDIF}));
+    if (i<Integer(Low(TShowHashRateAs))) Or (i>Integer(High(TShowHashRateAs))) then i := Integer({$IFDEF TESTNET}hr_Mega{$ELSE}hr_Tera{$ENDIF});
+    FBlockChainGrid.HashRateAs := TShowHashRateAs(i);
     // Reading database
     TThreadActivate.Create(false).FreeOnTerminate := true;
     FNodeNotifyEvents.Node := FNode;
@@ -404,18 +404,6 @@ begin
 
 end;
 
-procedure TFRMWallet.ApplicationEventsMinimize(Sender: TObject);
-begin
-  {$IFnDEF FPC}
-  Hide();
-  WindowState := wsMinimized;
-  TimerUpdateStatus.Enabled := false;
-  { Show the animated tray icon and also a hint balloon. }
-  TrayIcon.Visible := True;
-  TrayIcon.ShowBalloonHint;
-  {$ENDIF}
-end;
-
 procedure TFRMWallet.bbAccountsRefreshClick(Sender: TObject);
 begin
   UpdateAccounts(true);
@@ -928,14 +916,9 @@ begin
   pcAccountsOptions.ActivePage := tsAccountOperations;
   ebFilterOperationsStartBlock.Text := '';
   ebFilterOperationsEndBlock.Text := '';
+  cbExploreMyAccounts.Checked:=True; // By default
   cbExploreMyAccountsClick(nil);
 
-  TrayIcon.Visible := true;
-  TrayIcon.Hint := Self.Caption;
-  TrayIcon.BalloonTitle := 'Restoring the window.';
-  TrayIcon.BalloonHint :=
-    'Double click the system tray icon to restore Pascal Coin';
-  TrayIcon.BalloonFlags := bfInfo;
   MinersBlocksFound := 0;
   lblBuild.Caption := 'Build: '+CT_ClientAppVersion;
   {$IFDEF TESTNET}
@@ -947,6 +930,13 @@ begin
   FBackgroundPanel.Parent:=Self;
   FBackgroundPanel.Align:=alClient;
   FBackgroundPanel.Font.Size:=15;
+  cbHashRateUnits.Items.Clear;
+  cbHashRateUnits.Items.Add('Kh/s');
+  cbHashRateUnits.Items.Add('Mh/s');
+  cbHashRateUnits.Items.Add('Gh/s');
+  cbHashRateUnits.Items.Add('Th/s');
+  cbHashRateUnits.Items.Add('Ph/s');
+  cbHashRateUnits.Items.Add('Eh/s');
 end;
 
 procedure TFRMWallet.ebHashRateBackBlocksKeyPress(Sender: TObject; var Key: char);
@@ -962,6 +952,7 @@ begin
   Try
     i := StrToIntDef(ebHashRateBackBlocks.Text,-1);
     FBlockChainGrid.HashRateAverageBlocksCount:=i;
+    FAppParams.ParamByName[CT_PARAM_HashRateAvgBlocksCount].Value := FBlockChainGrid.HashRateAverageBlocksCount;
   Finally
     ebHashRateBackBlocks.Text := IntToStr(FBlockChainGrid.HashRateAverageBlocksCount);
     FUpdating := false;
@@ -978,8 +969,11 @@ begin
       1 : FBlockChainGrid.HashRateAs := hr_Mega;
       2 : FBlockChainGrid.HashRateAs := hr_Giga;
       3 : FBlockChainGrid.HashRateAs := hr_Tera;
+      4 : FBlockChainGrid.HashRateAs := hr_Peta;
+      5 : FBlockChainGrid.HashRateAs := hr_Exa;
     else FBlockChainGrid.HashRateAs := hr_Mega;
     end;
+    FAppParams.ParamByName[CT_PARAM_ShowHashRateAs].Value := Integer(FBlockChainGrid.HashRateAs);
   Finally
     FUpdating := false;
   End;
@@ -1563,8 +1557,6 @@ end;
 
 procedure TFRMWallet.OnNodeKeysActivity(Sender: TObject);
 begin
-  // XXXXXXXXXXXXXXX
-  TLog.NewLog(ltInfo,ClassName,'OnNodeKeysActivity FIRED XXXXXXXXXXXXXX');  // XXXXXXXXXXX
   DoUpdateAccounts;
 end;
 
@@ -1733,15 +1725,6 @@ begin
   End;
 end;
 
-procedure TFRMWallet.TrayIconDblClick(Sender: TObject);
-begin
-  TrayIcon.Visible := False;
-  TimerUpdateStatus.Enabled := true;
-  Show();
-  WindowState := wsNormal;
-  Application.BringToFront();
-end;
-
 procedure TFRMWallet.UpdateAccounts(RefreshData : Boolean);
 Var accl : TOrderedCardinalList;
   l : TOrderedCardinalList;
@@ -1950,6 +1933,8 @@ begin
     hr_Mega : cbHashRateUnits.ItemIndex:=1;
     hr_Giga : cbHashRateUnits.ItemIndex:=2;
     hr_Tera : cbHashRateUnits.ItemIndex:=3;
+    hr_Peta : cbHashRateUnits.ItemIndex:=4;
+    hr_Exa : cbHashRateUnits.ItemIndex:=5;
   else cbHashRateUnits.ItemIndex:=-1;
   end;
 end;
@@ -2017,7 +2002,7 @@ Var i,last_i : Integer;
 begin
   If (Not Assigned(FOrderedAccountsKeyList)) And (Assigned(FNode)) Then begin
     FOrderedAccountsKeyList := TOrderedAccountKeysList.Create(FNode.Bank.SafeBox,false);
-    FNodeNotifyEvents.WatchKeys := FOrderedAccountsKeyList; // XXXXXXXXX Assign the Keys to Watch!!!
+    FNodeNotifyEvents.WatchKeys := FOrderedAccountsKeyList;
   end;
   if (cbMyPrivateKeys.ItemIndex>=0) then last_i := PtrInt(cbMyPrivateKeys.Items.Objects[cbMyPrivateKeys.ItemIndex])
   else last_i := -1;

+ 2 - 9
src/gui-classic/UFRMWalletKeys.dfm

@@ -49,16 +49,9 @@ object FRMWalletKeys: TFRMWalletKeys
   object lblPrivateKeyCaption: TLabel
     Left = 30
     Top = 336
-    Width = 58
+    Width = 52
     Height = 13
-    Caption = 'Private key:'
-  end
-  object lblPrivateKeyCaption2: TLabel
-    Left = 30
-    Top = 355
-    Width = 80
-    Height = 13
-    Caption = '(In hexa format)'
+    Caption = 'Public Key:'
   end
   object lblKeysEncrypted: TLabel
     Left = 30

+ 2 - 11
src/gui-classic/UFRMWalletKeys.lfm

@@ -15,7 +15,6 @@ object FRMWalletKeys: TFRMWalletKeys
   OnCreate = FormCreate
   Position = poOwnerFormCenter
   LCLVersion = '1.8.0.6'
-  Visible = False
   object lblEncryptionTypeCaption: TLabel
     Left = 30
     Height = 13
@@ -53,16 +52,8 @@ object FRMWalletKeys: TFRMWalletKeys
     Left = 30
     Height = 13
     Top = 336
-    Width = 58
-    Caption = 'Private key:'
-    ParentColor = False
-  end
-  object lblPrivateKeyCaption2: TLabel
-    Left = 30
-    Height = 13
-    Top = 355
-    Width = 80
-    Caption = '(In hexa format)'
+    Width = 52
+    Caption = 'Public Key:'
     ParentColor = False
   end
   object lblKeysEncrypted: TLabel

+ 7 - 9
src/gui-classic/UFRMWalletKeys.pas

@@ -29,6 +29,9 @@ Const
   CM_PC_WalletKeysChanged = {$IFDEF FPC}LM_USER{$ELSE}WM_USER{$ENDIF} + 1;
 
 type
+
+  { TFRMWalletKeys }
+
   TFRMWalletKeys = class(TForm)
     lbWalletKeys: TListBox;
     bbExportPrivateKey: TBitBtn;
@@ -43,7 +46,6 @@ type
     bbExportPublicKey: TBitBtn;
     bbImportPublicKey: TBitBtn;
     bbGenerateNewKey: TBitBtn;
-    lblPrivateKeyCaption2: TLabel;
     bbDelete: TBitBtn;
     lblKeysEncrypted: TLabel;
     bbUpdatePassword: TBitBtn;
@@ -492,6 +494,7 @@ procedure TFRMWalletKeys.UpdateSelectedWalletKey;
 Var
   wk : TWalletKey;
   ok : Boolean;
+  s : String;
 begin
   ok := false;
   wk := CT_TWalletKey_NUL;
@@ -501,13 +504,9 @@ begin
     lblEncryptionType.Caption := TAccountComp.GetECInfoTxt( wk.AccountKey.EC_OpenSSL_NID );
     if wk.Name='' then lblKeyName.Caption := '(No name)'
     else lblKeyName.Caption := wk.Name;
-    if Assigned(wk.PrivateKey) then begin
-      memoPrivateKey.Lines.Text :=  TCrypto.PrivateKey2Hexa(wk.PrivateKey.PrivateKey);
-      memoPrivateKey.Font.Color := clBlack;
-    end else begin
-      memoPrivateKey.Lines.Text := '(No private key)';
-      memoPrivateKey.Font.Color := clRed;
-    end;
+    memoPrivateKey.Font.Color := clBlack;
+    s := TAccountComp.AccountPublicKeyExport(wk.AccountKey);
+    memoPrivateKey.Lines.Text:=s;
   finally
     lblEncryptionTypeCaption.Enabled := ok;
     lblEncryptionType.Enabled := ok;
@@ -518,7 +517,6 @@ begin
     bbExportPrivateKey.Enabled := ok;
     bbExportPublicKey.Enabled := ok;
     bbChangeName.Enabled := ok;
-    lblPrivateKeyCaption2.Enabled := ok;
     bbDelete.Enabled := ok;
     if not ok then begin
       lblEncryptionType.Caption := '';

+ 5 - 1
src/gui-classic/UGridUtils.pas

@@ -149,7 +149,7 @@ Type
 
   { TBlockChainGrid }
 
-  TShowHashRateAs = (hr_Kilo, hr_Mega, hr_Giga, hr_Tera);
+  TShowHashRateAs = (hr_Kilo, hr_Mega, hr_Giga, hr_Tera, hr_Peta, hr_Exa);
 
   TBlockChainGrid = Class(TComponent)
   private
@@ -1086,6 +1086,8 @@ begin
           hr_Mega : s := 'Mh/s';
           hr_Giga : s := 'Gh/s';
           hr_Tera : s := 'Th/s';
+          hr_Peta : s := 'Ph/s';
+          hr_Exa  : s := 'Eh/s';
         else s := '?h/s';
         end;
       end;
@@ -1152,6 +1154,8 @@ begin
           hr_Mega : hr_base := 1000;
           hr_Giga : hr_base := 1000000;
           hr_Tera : hr_base := 1000000000;
+          hr_Peta : hr_base := 1000000000000;
+          hr_Exa  : hr_base := 1000000000000000;
         else hr_base := 1;
         end;
         s := Format('%.2n (%.2n)',[bcd.HashRateKhs/hr_base,bcd.HashRateTargetKhs/hr_base]);

Some files were not shown because too many files changed in this diff