From 1b6c68bc47a9e5e3d84b1cabbe5547072b4c9eb4 Mon Sep 17 00:00:00 2001 From: callebtc <93376500+callebtc@users.noreply.github.com> Date: Tue, 18 Jul 2023 15:17:15 +0200 Subject: [PATCH] invalidate proofs before unsetting pending state (#288) --- cashu/mint/ledger.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/cashu/mint/ledger.py b/cashu/mint/ledger.py index f5c6ffd..0304536 100644 --- a/cashu/mint/ledger.py +++ b/cashu/mint/ledger.py @@ -919,6 +919,10 @@ class Ledger: if not self._verify_outputs(total, amount, outputs): raise Exception("split of promises is not as expected.") logger.trace(f"verified outputs") + # Mark proofs as used and prepare new promises + logger.trace(f"invalidating proofs") + await self._invalidate_proofs(proofs) + logger.trace(f"invalidated proofs") except Exception as e: logger.trace(f"split failed: {e}") raise e @@ -926,11 +930,6 @@ class Ledger: # delete proofs from pending list await self._unset_proofs_pending(proofs) - # Mark proofs as used and prepare new promises - logger.trace(f"invalidating proofs") - await self._invalidate_proofs(proofs) - logger.trace(f"invalidated proofs") - # split outputs according to amount outs_fst = amount_split(total - amount) B_fst = [od for od in outputs[: len(outs_fst)]]