anchor.diff:          //
           FPreviousSafeBox.FSubChains.Add(Self);
           //
  +        {$IFDEF USE_BIGBLOCKS_MEM_ON_DISK}
  +        BufferBlocksHash.Clear;
  +        BufferBlocksHash.LoadFromStream( Psnapshot^.oldBufferBlocksHash );
  +        {$ELSE}
           BufferBlocksHash.CopyFrom( Psnapshot^.oldBufferBlocksHash );
  +        {$ENDIF}
  +
           FTotalBalance := Psnapshot^.oldTotalBalance;
           FTotalFee := Psnapshot^.oldTotalFee;
           FSafeBoxHash := Psnapshot^.oldSafeBoxHash;
  
positive.code:     Psnapshot^.newBlocks := FModifiedBlocksFinalState;
      Psnapshot^.namesDeleted := FDeletedNamesSincePreviousSafebox;
      Psnapshot^.namesAdded := FAddedNamesSincePreviousSafebox;
      Psnapshot^.oldBufferBlocksHash := TBytesBuffer.CreateCopy(BufferBlocksHash);
      Psnapshot^.oldTotalBalance:=FTotalBalance;
      Psnapshot^.oldTotalFee:=FTotalFee;
      Psnapshot^.oldSafeBoxHash := FSafeBoxHash;
  
negative.code: implementation
  
  uses
    ULog, {$IFnDEF USE_ABSTRACTMEM} UAccountKeyStorage,{$ENDIF} math, UCommon, UPCOperationsBlockValidator, UPCTemporalFileStream;
  
  
  {$IFDEF FPC}
    {$DEFINE USE_BIGBLOCKS_MEM_ON_DISK}
    // USE_BIGBLOCKS_MEM_ON_DISK directive is used in order to prevent a FreePascal issue with Heap allocation strategy that
    // reuses big blocks of disposed memory and fragments it, this causes that when a new big block of same size that previously
    // freeded mem is needed it will not reuse because has been fragmented...
    // Tested on FPC version 3.2.0 (2020-11-03) and order versions
    // Defragmention documented here: https://www.freepascal.org/docs-html/current/prog/progsu172.html
    // This issue is not detected on current Delphi memory manager (Tested on Delphi 10.3.2)
  {$ENDIF}
  
  
  { This function is for testing purpose only.
    Will check if Account Names are well assigned and stored }
  