Browse Source

Merge pull request #16 from PascalCoinDev/master

CHANGELOG and CONST for V5
Pascal Coin 5 years ago
parent
commit
e01fc6de1d
3 changed files with 18 additions and 18 deletions
  1. 9 9
      CHANGELOG.md
  2. 7 7
      src/core/UConst.pas
  3. 2 2
      src/core/UNetProtocol.pas

+ 9 - 9
CHANGELOG.md

@@ -1,6 +1,7 @@
 # Changelog
 
-## Current Build (Pending release date)
+## Build 5.0.0 - 2019-11-07
+- MANDATORY UPGRADE - HARD FORK ACTIVATION WILL OCCUR ON BLOCK 378000
 - Upgrade to Protocol 5 (Hard fork)
 - Implementation of PIP-0036 (RandomHash2 mining algo) -> https://github.com/PascalCoin/PascalCoin/blob/master/PIP/PIP-0036.md
   - New PoW miner algo improving previous RandomHash (PIP-0009) added on Protocol 4
@@ -11,7 +12,6 @@
 - Implementation of PIP-0033 (OpData JOSN-RPC calls) -> https://github.com/PascalCoin/PascalCoin/blob/master/PIP/PIP-0033.md
 - Implementation of PIP-0027 (E-PASA Inifine Address-Space) -> https://github.com/PascalCoin/PascalCoin/blob/master/PIP/PIP-0027.md
   - Third party apps/implementations of hard coded operations need to pay attention of an extra byte added on each operation using Payload
-  - TODO: Explain "in core" changes
 - Implementation of PIP-0037 (Distinguish account updates between active/passive mode)
   - Added fields "updated_b_active_mode" and "updated_b_passive_mode" at each account to indicate in which block this account has been updated
   - "active" means that private key has been used, so, is the initiator of the operation (can be as a sender or as a signer)
@@ -20,7 +20,6 @@
   - Accounts updated counter will only update when executing operations in active mode (See PIP-0037)
   - If account is a receiver (passive mode) then n_operation_update_block will not update value and can be recovered after 4 years (as defined on original PascalCoin v1 WhitePaper)
 - Fixed important security issue related to PIP-0003 caused by possible "parallelization" of the Proof-of-work
-  - Discovered by Herman Schoenfeld <[email protected]>
   - Modified length of the digest to be mined, adding previous proof-of-work to avoid parallelization
   - Added extra 4 missed bytes of fee (missing since V1)
   - The total length of the digest to be mined has increased in 36 bytes (32 for PoW and 4 for missing fee bytes). Those bytes are added on "Part 3" of the digest
@@ -30,7 +29,7 @@
 - Updated "OP_CHANGE_ACCOUNT_INFO" and "OP_MULTIOPERATION" to allow Account.Data as described on PIP-0024
   - Added "new_data" field allowing update Account.Data field (0..32 bytes)
   - Updated digest hash value adding "new_data" field  
-- Hardcoded RandomHash digest/hash values for quick speed safebox check on fresh installation
+- Hardcoded RandomHash digest/hash values until block 367300 (107300 hashes) for quick speed safebox check on fresh installation
 - Pools or external miners: Added new JSON-RPC methods for Server mining support (TCP/IP, no HTTP protocol)
   - New methods "rh" and "rh2" that will return a hash calculated using the RandomHash or RandomHash2 algo
   - params must include a 1-length array with the digest in hexastring format
@@ -88,11 +87,12 @@
   - Allowed to use all input params related to an account number as a String and including checksum
     - Example: Call "sendto" using param "sender"="1234-44" or "target"="12345-54"
     - If value is not a valid format, call will return error
-TODO  
-- TODO: RPC calls for PIP-0029
-- TODO: RPC calls for PIP-0030
-- TODO: RPC calls for PIP-0016
-- TODO: Store payload_type according to PIP-0027 when using standard RPC calls
+- GUI changes:
+  - Cosmetical changes showing Pascal soft rebrand and logo
+  - Allowed to "find account" by account name
+  - Allowed to import private keys without encryption generated by external clients like Blaise wallet
+  - Allowed to list accounts for Coin Swap or Account Swap
+- General improvements and minor bugs fixed
 
 ## Build 4.1.0.0 - 2019-07-24
 - Hardcoded RandomHash digest/hash values for quick speed safebox check on fresh installation

+ 7 - 7
src/core/UConst.pas

@@ -124,15 +124,15 @@ Const
   CT_Protocol_Upgrade_v2_MinBlock = {$IFDEF PRODUCTION}115000{$ELSE}50{$ENDIF};
   CT_Protocol_Upgrade_v3_MinBlock = {$IFDEF PRODUCTION}210000{$ELSE}250{$ENDIF};
   CT_Protocol_Upgrade_v4_MinBlock = {$IFDEF PRODUCTION}260000{$ELSE}400{$ENDIF};
-  CT_Protocol_Upgrade_v5_MinBlock = {$IFDEF PRODUCTION}999999999{$ELSE}500{$ENDIF}; // TODO Need define v5 for production!
+  CT_Protocol_Upgrade_v5_MinBlock = {$IFDEF PRODUCTION}378000{$ELSE}500{$ENDIF};
 
 
-  CT_MagicNetIdentification = {$IFDEF PRODUCTION}$0A043580{$ELSE}$05000004{$ENDIF}; // Unix timestamp 168048000 ... It's Albert birthdate!
+  CT_MagicNetIdentification = {$IFDEF PRODUCTION}$0A043580{$ELSE}$05000004{$ENDIF};
 
-  CT_NetProtocol_Version: Word = $0009; // Version 4.0.2 Will allow only net protocol 9
+  CT_NetProtocol_Version: Word = 9; // TODO Need to upgrade to 10 after V5 Hardfork
   // IMPORTANT NOTE!!!
   // NetProtocol_Available MUST BE always >= NetProtocol_version
-  CT_NetProtocol_Available: Word = {$IFDEF PRODUCTION}$0009{$ELSE}$000A{$ENDIF};  //
+  CT_NetProtocol_Available: Word = {$IFDEF PRODUCTION}10{$ELSE}10{$ENDIF};
 
   CT_MaxAccountOperationsPerBlockWithoutFee = 1;
 
@@ -161,8 +161,8 @@ Const
   CT_Protocol_v3_PIP11_Percent = 20; // PIP-0011 20% Percent proposed and voted by PIP-0011
 
   {$IFDEF PRODUCTION}
-  CT_Hardcoded_RandomHash_Table_Filename = 'HardcodedRH_75800.randomhash';
-  CT_Hardcoded_RandomHash_Table_HASH = '0A56291E8368AC855227B67A2F6CBEEFD2DB4CAE3CB8A473A7F6663C63368D0E';
+  CT_Hardcoded_RandomHash_Table_Filename = 'HardcodedRH_367300.randomhash';
+  CT_Hardcoded_RandomHash_Table_HASH = '5AAE9DA7F0F8251119F01923367B1AEF5958455FAE40FF89D3AD4B7FCBAF3B2A';
   {$ENDIF}
 
   CT_PseudoOpSubtype_Miner                = 1;
@@ -195,7 +195,7 @@ Const
   CT_OpSubtype_Data_Signer                = 103;
   CT_OpSubtype_Data_Receiver              = 104;
 
-  CT_ClientAppVersion : String = {$IFDEF PRODUCTION}'4.1'{$ELSE}{$IFDEF TESTNET}'TESTNET 5.Beta.4.1'{$ELSE}{$ENDIF}{$ENDIF};
+  CT_ClientAppVersion : String = {$IFDEF PRODUCTION}'5.0'{$ELSE}{$IFDEF TESTNET}'TESTNET 5.Beta.4.1'{$ELSE}{$ENDIF}{$ENDIF};
 
   CT_Discover_IPs = {$IFDEF PRODUCTION}'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'
                     {$ELSE}'pascaltestnet1.dynamic-dns.net;pascaltestnet2.dynamic-dns.net;pascaltestnet1.dns1.us;pascaltestnet2.dns1.us'{$ENDIF};

+ 2 - 2
src/core/UNetProtocol.pas

@@ -2667,7 +2667,7 @@ begin
       errors := 'Not autosend';
       exit;
     end;
-    if (NetProtocolVersion.protocol_available>=CT_NetProtocol_Available) then begin
+    if (NetProtocolVersion.protocol_available>=10) then begin
       if Not operations.LoadOperationsHashTreeFromStream(DataBuffer,False,TNode.Node.Bank.SafeBox.CurrentProtocol,TNode.Node.Bank.SafeBox.CurrentProtocol,Nil,errors) then Exit;
     end else begin
       // TODO:
@@ -4313,7 +4313,7 @@ begin
         LStream := TMemoryStream.Create;
         try
           request_id := TNetData.NetData.NewRequestId;
-          if (NetProtocolVersion.protocol_available>=CT_NetProtocol_Available) then begin
+          if (NetProtocolVersion.protocol_available>=10) then begin
             FBufferToSendOperations.SaveOperationsHashTreeToStream(LStream,False)
           end else begin
             // TODO: