anchor.diff:          errors := 'Invalid protocol version change to '+IntToStr(newOperationBlock.protocol_version);
           exit;
         end;
  -    end else if (Not (newOperationBlock.protocol_version in [CT_PROTOCOL_1,CT_PROTOCOL_2])) then begin
  -      errors := 'Invalid protocol version '+IntToStr(newOperationBlock.protocol_version);
  -      exit;
       end;
       // timestamp
       if ((newOperationBlock.timestamp) < (lastBlock.timestamp)) then begin
         errors := 'Invalid timestamp (Back timestamp: New timestamp:'+inttostr(newOperationBlock.timestamp)+' < last timestamp ('+Inttostr(BlocksCount-1)+'):'+Inttostr(lastBlock.timestamp)+')';
         exit;
  -    end;
  -  end else begin
  -    if (CT_Zero_Block_Proof_of_work_in_Hexa<>'') then begin
  -      // Check if valid Zero block
  -      if Not (AnsiSameText(TCrypto.ToHexaString(newOperationBlock.proof_of_work),CT_Zero_Block_Proof_of_work_in_Hexa)) then begin
  -        errors := 'Zero block not valid, Proof of Work invalid: '+TCrypto.ToHexaString(newOperationBlock.proof_of_work)+'<>'+CT_Zero_Block_Proof_of_work_in_Hexa;
  -        exit;
  -      end;
       end;
     end;
     // compact_target
  
positive.code:     finally
        sb.Free;
      end;
      tc := GetTickCount64 - tc;
      TLog.NewLog(ltDebug,Classname,'Checked memory '+IntToStr(tc)+' miliseonds');
    finally
      EndThreadSave;
    end;
  
negative.code:     Procedure RemoveAccountKey(Const AccountKey : TAccountKey);
      Procedure AddAccounts(Const AccountKey : TAccountKey; const accounts : Array of Cardinal);
      Procedure RemoveAccounts(Const AccountKey : TAccountKey; const accounts : Array of Cardinal);
      Function IndexOfAccountKey(Const AccountKey : TAccountKey) : Integer;
      Property AccountKeyList[index : Integer] : TOrderedCardinalList read GetAccountKeyList;
      Property AccountKey[index : Integer] : TAccountKey read GetAccountKey;
  