anchor.diff:  begin
     StartThreadSafe;
     try
  -    // If No buffer to hash is because it's firts block... so use Genesis: CT_Genesis_Magic_String_For_Old_Block_Hash
  -    if (FBufferBlocksHash.Length=0) then Result := InitialSafeboxHash
  -    else Result := TCrypto.DoSha256(FBufferBlocksHash.Memory,FBufferBlocksHash.Length);
  +    Result := TPascalCoinProtocol.CalcSafeBoxHash(FBufferBlocksHash,CurrentProtocol);
     finally
       EndThreadSave;
     end;
  
positive.code:     Function GetMinimumAvailableSnapshotBlock : Integer;
      Function HasSnapshotForBlock(block_number : Cardinal) : Boolean;
      Property OrderedAccountKeysList : TOrderedAccountKeysList read FOrderedAccountKeysList;
    End;
  
  
  
negative.code:     Class Procedure CalcProofOfWork(const operationBlock : TOperationBlock; out PoW : TRawBytes);
      Class Function IsValidMinerBlockPayload(const newBlockPayload : TRawBytes) : Boolean;
      class procedure GetRewardDistributionForNewBlock(const OperationBlock : TOperationBlock; out acc_0_miner_reward, acc_4_dev_reward : Int64; out acc_4_for_dev : Boolean);
      class Function CalcSafeBoxHash(ABlocksHashBuffer : TBytesBuffer; protocol_version : Integer) : TRawBytes;
    end;
  
    TAccount = Record
  