anchor.diff:  begin
     Result := Format('%s Balance:%s N_Op:%d UpdB:%d Type:%d Name:%s PK:%s',[AccountNumberToAccountTxtNumber(Account.account),
       FormatMoney(Account.balance),Account.n_operation,Account.updated_block,Account.account_type,
  -      Account.name,TCrypto.ToHexaString(TAccountComp.AccountInfo2RawString(Account.accountInfo))]);
  +      Account.name.ToPrintable,TCrypto.ToHexaString(TAccountComp.AccountInfo2RawString(Account.accountInfo))]);
   end;
   
   class function TAccountComp.IsValidAccountInfo(const accountInfo: TAccountInfo; var errors: AnsiString): Boolean;
  
positive.code:         // This account name is in the safebox... check if deleted:
          i := FAccountNames_Deleted.IndexOf(newName);
          if i<0 then begin
            errors := 'Account name "'+newName+'" is in current use';
            Exit;
          end;
        end;
        i := FAccountNames_Added.IndexOf(newName);
        if (i>=0) then begin
          // This account name is added in this transaction! (perhaps deleted also, but does not allow to "double add same name in same block")
          errors := 'Account name "'+newName+'" is in same transaction';
          Exit;
        end;
      end;
      // Ok, include
      if (P_target^.name<>'') then begin
        // In use in the safebox, mark as deleted
        FAccountNames_Deleted.Add(P_target^.name,target_account);
      end;
      if (newName<>'') then begin
        FAccountNames_Added.Add(newName,target_account);
      end;
    end;
  
negative.code:         // Start with added:
          If (Result>=0) then begin
            // I've found nameLower, search if was added (to undo)
            k := (Psnapshot^.namesAdded.IndexOf(aName));
            if (k>=0) then begin
              // Was addded, delete name
              Result := -1;
  