Browse Source

TESTNET 3.3

PascalCoin 7 years ago
parent
commit
20fc64693f
5 changed files with 23 additions and 28 deletions
  1. 10 4
      README.md
  2. 1 1
      src/core/UConst.pas
  3. 0 15
      src/core/UWallet.pas
  4. 7 7
      src/gui-classic/UGridUtils.pas
  5. 5 1
      src/pascalcoin_wallet_classic.lpi

+ 10 - 4
README.md

@@ -34,10 +34,13 @@ Also, consider a donation at PascalCoin development account: "0-10"
 
 ## History:  
 
-### DEVELOPMENT STATUS
-- PIP - 0010: 50% inflation reduction
-- New target calc on protocol V3 in order to reduce the sinusoidal effect
-  - Harmonization of the sinusoidal effect modifying the rise / fall by 50% calculating over the last 10 blocks only when increase/decrease is high
+### Build 3.0.0 - 2018-05-02
+- Implementation of Hard fork on block 210000
+  - PIP - 0010: 50% inflation reduction
+  - PIP - 0011: 20% Development reward
+  - PIP - 0017: Anonymity via transaction mixing (multioperation)
+  - New target calc on protocol V3 in order to reduce the sinusoidal effect
+    - Harmonization of the sinusoidal effect modifying the rise / fall by 50% calculating over the last 10 blocks only when increase/decrease is high
 - New Safebox Snapshoting
   - This allow quickly rollback/commit directly to Safebox instead of create a separate Safebox on memory (read from disk... use more ram...)
   - Is usefull when detecting posible orphan blocks in order to check which chain is the highest chain without duplicating a safebox to compare
@@ -83,6 +86,9 @@ Also, consider a donation at PascalCoin development account: "0-10"
     - "account" : will not be included in Multioperations, use fields in "senders"/"receivers"/"changers" instead    
     - "n_operation" will not be included in Multioperations, use fields in "senders"/"receivers"/"changers" instead
     - "payload" will not be included in Multioperations, use fields in "senders"/"receivers"/"changers" instead
+    - "sender_account" is not correct to be used. Use "account" param on "senders" array instead
+    - "dest_account" is not correct to be used. Use "account" param on "receivers" array instead
+    - "amount" is not correct to be used. Use each "amount" param on "senders/receivers" instad. Note: sender "amount" is a negative number, positive for receiver
   - New object "MultiOperation Object" : Will return info about a MultiOperation
     - "rawoperations" : HEXASTRING with this single MultiOperation in RAW format
     - "senders" : Will return an Array with Objects

+ 1 - 1
src/core/UConst.pas

@@ -150,7 +150,7 @@ Const
   CT_OpSubtype_MultiOperation_Global      = 91;
   CT_OpSubtype_MultiOperation_AccountInfo = 92;
 
-  CT_ClientAppVersion : AnsiString = {$IFDEF PRODUCTION}'2.1.9'{$ELSE}{$IFDEF TESTNET}'TESTNET 3.2 CR'{$ELSE}{$ENDIF}{$ENDIF};
+  CT_ClientAppVersion : AnsiString = {$IFDEF PRODUCTION}'3.0.0'{$ELSE}{$IFDEF TESTNET}'TESTNET 3.3.0'{$ELSE}{$ENDIF}{$ENDIF};
 
   CT_Discover_IPs =  'bpascal1.dynamic-dns.net;bpascal2.dynamic-dns.net;pascalcoin1.dynamic-dns.net;pascalcoin2.dynamic-dns.net;pascalcoin1.dns1.us;pascalcoin2.dns1.us;pascalcoin1.dns2.us;pascalcoin2.dns2.us';
 

+ 0 - 15
src/core/UWallet.pas

@@ -117,7 +117,6 @@ Type
       class function TryParseEncryptedKey(const AKeyText, AKeyPassword : AnsiString; out AKey : TECPrivateKey) : boolean;
       class function TryParseRawKey(const ARawBytes : TRawBytes; AEncryptionTypeNID : Word; out AKey : TECPrivateKey) : boolean;
       class function TryParseHexKey(const AHexString : AnsiString; AEncryptionTypeNID : Word; out AKey : TECPrivateKey) : boolean;
-      class function GetKeyNameOrDefault(const AKey: TAccountKey) : AnsiString;
   end;
 
 Const CT_TWalletKey_NUL  : TWalletKey = (Name:'';AccountKey:(EC_OpenSSL_NID:0;x:'';y:'');CryptedKey:'';PrivateKey:Nil;SearchableAccountKey:'');
@@ -787,20 +786,6 @@ begin
   end;
 end;
 
-class function TWallet.GetKeyNameOrDefault(const AKey: TAccountKey) : AnsiString;
-var
- LIndex : Integer;
- LKey : TWalletKey;
-begin
-  LIndex := Self.Keys.IndexOfAccountKey(AKey);
-  if LIndex >= 0 then begin
-    LKey := Self.Keys[LIndex];
-    Result := LKey.Name;
-    if LKey.HasPrivateKey then
-      Result := Result + ' (*)';
-  end else Result := TAccountComp.AccountPublicKeyExport(AKey);
-end;
-
 class procedure TWallet.CheckLoaded;
 begin
   if not Assigned(FKeys) then

+ 7 - 7
src/gui-classic/UGridUtils.pas

@@ -122,7 +122,7 @@ Type
     Property OperationsResume : TOperationsResumeList read FOperationsResume;
   End;
 
-  TBlockSummary = Record
+  TBlockChainData = Record
     Block : Cardinal;
     Timestamp : Cardinal;
     BlockProtocolVersion,
@@ -145,7 +145,7 @@ Type
     TimeAverage25 : Real;
     TimeAverage10 : Real;
   End;
-  TBlockSummaryArray = Array of TBlockSummary;
+  TBlockChainDataArray = Array of TBlockChainData;
 
   { TBlockChainGrid }
 
@@ -153,7 +153,7 @@ Type
 
   TBlockChainGrid = Class(TComponent)
   private
-    FBlockChainDataArray : TBlockSummaryArray;
+    FBlockChainDataArray : TBlockChainDataArray;
     FBlockStart: Int64;
     FHashRateAs: TShowHashRateAs;
     FMaxBlocks: Integer;
@@ -193,7 +193,7 @@ Type
   End;
 
 Const
-  CT_TBlockSummary_NUL : TBlockSummary = (Block:0;Timestamp:0;BlockProtocolVersion:0;BlockProtocolAvailable:0;OperationsCount:-1;Volume:-1;Reward:0;Fee:0;Target:0;HashRateTargetKhs:0;HashRateKhs:0;MinerPayload:'';PoW:'';SafeBoxHash:'';AccumulatedWork:0;TimeAverage200:0;TimeAverage150:0;TimeAverage100:0;TimeAverage75:0;TimeAverage50:0;TimeAverage25:0;TimeAverage10:0);
+  CT_TBlockChainData_NUL : TBlockChainData = (Block:0;Timestamp:0;BlockProtocolVersion:0;BlockProtocolAvailable:0;OperationsCount:-1;Volume:-1;Reward:0;Fee:0;Target:0;HashRateTargetKhs:0;HashRateKhs:0;MinerPayload:'';PoW:'';SafeBoxHash:'';AccumulatedWork:0;TimeAverage200:0;TimeAverage150:0;TimeAverage100:0;TimeAverage75:0;TimeAverage50:0;TimeAverage25:0;TimeAverage10:0);
 
 
 implementation
@@ -1063,7 +1063,7 @@ end;
 procedure TBlockChainGrid.OnGridDrawCell(Sender: TObject; ACol, ARow: Longint;
   Rect: TRect; State: TGridDrawState);
 Var s : String;
-  bcd : TBlockSummary;
+  bcd : TBlockChainData;
   deviation : Real;
   hr_base : Int64;
 begin
@@ -1275,7 +1275,7 @@ end;
 procedure TBlockChainGrid.UpdateBlockChainGrid;
 Var nstart,nend : Cardinal;
   opc : TPCOperationsComp;
-  bcd : TBlockSummary;
+  bcd : TBlockChainData;
   i : Integer;
   opb : TOperationBlock;
   bn : TBigNum;
@@ -1310,7 +1310,7 @@ begin
       opc.bank := Node.Bank;
       while (nstart<=nend) do begin
         i := length(FBlockChainDataArray) - (nend-nstart+1);
-        bcd := CT_TBlockSummary_NUL;
+        bcd := CT_TBlockChainData_NUL;
         opb := Node.Bank.SafeBox.Block(nend).blockchainInfo;
         bcd.Block:=opb.block;
         bcd.Timestamp := opb.timestamp;

+ 5 - 1
src/pascalcoin_wallet_classic.lpi

@@ -42,7 +42,7 @@
         <PackageName Value="LCL"/>
       </Item1>
     </RequiredPackages>
-    <Units Count="32">
+    <Units Count="33">
       <Unit0>
         <Filename Value="pascalcoin_wallet_classic.dpr"/>
         <IsPartOfProject Value="True"/>
@@ -199,6 +199,10 @@
         <Filename Value="config.inc"/>
         <IsPartOfProject Value="True"/>
       </Unit31>
+      <Unit32>
+        <Filename Value="core\UTxMultiOperation.pas"/>
+        <IsPartOfProject Value="True"/>
+      </Unit32>
     </Units>
   </ProjectOptions>
   <CompilerOptions>