diff options
| -rw-r--r-- | bla.py | 4 | 
1 files changed, 3 insertions, 1 deletions
@@ -10,6 +10,8 @@ class FIFOQueue:          self.queue.append((amount, cost, date))      def remove(self, amount): +        if amount <= 0: +            raise ValueError("The amount to remove must be positive.")          remaining = amount          cost_basis = 0          date_acquired = None @@ -101,7 +103,7 @@ def process_ledger(file_path):                          fifo_queues[crypto_asset].add(crypto_amount, stake_amount, date_sold)                      elif eur_amount > 0:  # Sale of cryptocurrency                          proceeds = eur_amount - eur_fee  # Account for EUR fees -                        cost_basis, sale_entries = fifo_queues[crypto_asset].remove(crypto_amount) +                        cost_basis, sale_entries = fifo_queues[crypto_asset].remove(-crypto_amount)                          report.extend(generate_report(sale_entries, proceeds, crypto_asset, date_sold))                  else:                      raise ValueError(f"Unexpected trade grouping for refid {refid}")  | 
