anchor.diff:    sbHeader := CT_PCSafeBoxHeader_NUL;
     initialPos := Stream.Position;
     try
  -    TStreamOp.ReadAnsiString(Stream,s);
  -    if (s<>CT_MagicIdentificator) then exit;
  +    TStreamOp.ReadAnsiString(Stream,raw);
  +    if (raw.ToPrintable<>CT_MagicIdentificator) then exit;
       if Stream.Size<8 then exit;
       Stream.Read(w,SizeOf(w));
       if not (w in [CT_PROTOCOL_1,CT_PROTOCOL_2,CT_PROTOCOL_3,CT_PROTOCOL_4]) then exit;
  
positive.code:   // initial_safe_box_hash: Only can be checked when adding new blocks, not when restoring a safebox
    If checkSafeBoxHash then begin
      // TODO: Can use FSafeBoxHash instead of CalcSafeBoxHash ???? Quick speed if possible
      if (newOperationBlock.initial_safe_box_hash <> CalcSafeBoxHash) then begin
        errors := 'BlockChain Safe box hash invalid: '+TCrypto.ToHexaString(newOperationBlock.initial_safe_box_hash)+' var: '+
          TCrypto.ToHexaString(FSafeBoxHash)+
          ' Calculated:'+TCrypto.ToHexaString(CalcSafeBoxHash);
  
negative.code: end;
  
  function TPCSafeBoxTransaction.FindAccountByNameInTransaction(const findName: TRawBytes; out isAddedInThisTransaction, isDeletedInThisTransaction : Boolean) : Integer;
  Var iSafeBox, iAdded, iDeleted : Integer;
  begin
    Result := -1;
    isAddedInThisTransaction := False;
    isDeletedInThisTransaction := False;
    If Length(findName)=0 then begin
      Exit; // No name, no found
    end;
    iSafeBox := Origin_FindAccountByName(findName);
    iAdded := FAccountNames_Added.IndexOf(findName);
    iDeleted := FAccountNames_Deleted.IndexOf(findName);
    isAddedInThisTransaction := (iAdded >= 0);
    isDeletedInThisTransaction := (iDeleted >= 0);
    if (iSafeBox<0) then begin
  