summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruvok2025-04-18 12:08:47 +0200
committeruvok2025-04-18 12:08:47 +0200
commit3f7d8d8ef021486e416fc1b6bbba9e704dd19abe (patch)
tree84641afdaf9d3e581dbc7a26eccc82515e514d55
parent00965b3980a366356c3993094fb9be86481819e8 (diff)
Add assertions
-rw-r--r--ledger_process.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/ledger_process.py b/ledger_process.py
index 1c9d5f7..51d4fa6 100644
--- a/ledger_process.py
+++ b/ledger_process.py
@@ -86,20 +86,26 @@ class LedgerProcess:
date_sold = eur_trade.date
if eur_amount < 0: # Purchase of cryptocurrency
- stake_amount = -eur_amount - eur_fee # Account for EUR fees
+ assert crypto_amount > 0
+ assert eur_fee >= 0
+ assert crypto_fee >= 0
+
+ cost = -eur_amount - eur_fee # Account for EUR fees
crypto_amount -= crypto_fee # Adjust for crypto fees
self.fifo_queues[crypto_asset].add_trade(
- Trade(crypto_amount, stake_amount, date_sold, refid=refid)
+ Trade(crypto_amount, cost, date_sold, refid=refid)
)
elif eur_amount > 0: # Sale of cryptocurrency
+ # simply add to queue, don't process it yet
+ assert crypto_amount < 0
+ assert eur_fee >= 0
+ assert crypto_fee >= 0
+
proceeds = eur_amount - eur_fee
+ crypto_amount += crypto_fee # Adjust for crypto fees
self.fifo_queues[crypto_asset].add_trade(
Trade(crypto_amount, -proceeds, date_sold, refid=refid)
)
- # sale_entries = fifo_queues[crypto_asset].remove_coins(-crypto_amount)
- # report.extend(
- # generate_report(sale_entries, proceeds, crypto_asset, date_sold)
- # )
else:
raise ValueError(f"Unexpected trade grouping for refid {refid}")
else: