diff options
author | uvok | 2025-04-13 16:20:14 +0200 |
---|---|---|
committer | uvok | 2025-04-13 16:20:14 +0200 |
commit | 76dd137a4b37d07ab698c53d474067b12f9217c1 (patch) | |
tree | 6072eeacb82c5a2130c8514e23e0f94d38298417 | |
parent | bc5149fd3541687842570ba6e195c5deb7e0573a (diff) |
fix neg amount
-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}") |