anchor.diff:  interface
   
   uses
  -  Classes, SysUtils, UCrypto, UAccounts, UBlockChain, UCommon,
  -  Generics.Collections, Generics.Defaults;
  +  Classes, SysUtils, UCrypto, UAccounts, UBlockChain, UNode, UCommon, UNetProtocol,
  +  Generics.Collections, Generics.Defaults, UCoreObjects;
   
   type
  +
  +{ TAccountKeyComparer }
   
   TAccountKeyComparer = class (TComparer<TAccountKey>)
     function Compare(constref ALeft, ARight: T): Integer; override;
     class function DoCompare(constref ALeft, ARight : TAccountKey) : Integer; inline;
   end;
  +
  +{ TAccountKeyEqualityComparer }
   
   TAccountKeyEqualityComparer = class(TEqualityComparer<TAccountKey>)
     public
  
positive.code:         TArrayTool<TAccount>.RemoveAt(Result, i);
        end;
      end;
  end;
  
  { TAccountKeyComparer }
  
negative.code: 
  { TCoreTool }
  
  class function TCoreTool.GetSignerCandidates(ANumOps : Integer; const ACandidates : array of TAccount) : TArray<TAccount>;
  var
    i: Integer;
    Fee: Int64;
    acc: TAccount;
  begin
    //make deep copy of accounts!!! Very Important
    Result := TArrayTool<TAccount>.Copy(ACandidates);
    Fee := ANumOps * CT_MOLINA;
    for i := High(Result) downto Low(Result) do
      begin
  