anchor.diff:    Result := FData.n_operation;
   end;
   
  +function TOpTransaction.OperationAmountByAccount(account: Cardinal): Int64;
  +begin
  +  Result := 0;
  +  If (FData.sender = account) then inc(Result, Int64(FData.amount+FData.fee) * (-1));
  +  If (FData.target = account) then begin
  +    if (FData.opTransactionStyle in [buy_account,transaction_with_auto_buy_account]) then inc(Result, FData.amount - FData.AccountPrice)
  +    else inc(Result,FData.amount);
  +  end;
  +  If ((FData.SellerAccount = account) And (FData.opTransactionStyle in [buy_account,transaction_with_auto_buy_account] )) then begin
  +    inc(Result, FData.AccountPrice)
  +  end;
  +end;
  +
   function TOpTransaction.toString: String;
   begin
     case FData.opTransactionStyle of
  
positive.code:     function SellerAccount : Int64; override;
      function N_Operation : Cardinal; override;
      procedure AffectedAccounts(list : TList); override;
      Property Data : TOpListAccountData read FData;
      Function toString : String; Override;
    End;
  
negative.code:     function OperationPayload : TRawBytes; override;
      function SignerAccount : Cardinal; override;
      function N_Operation : Cardinal; override;
      function OperationAmountByAccount(account : Cardinal) : Int64; override;
      procedure AffectedAccounts(list : TList); override;
      Constructor Create(account_number, n_operation: Cardinal; fee: UInt64);
      Property Data : TOpRecoverFoundsData read FData;
  