Skip to content

Commit

Permalink
turn off melt lock by default
Browse files Browse the repository at this point in the history
  • Loading branch information
callebtc committed Nov 2, 2024
1 parent 48b0368 commit 9d4cab9
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 3 deletions.
1 change: 1 addition & 0 deletions cashu/core/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ class MintSettings(CashuSettings):
mint_max_secret_length: int = Field(default=512)

mint_input_fee_ppk: int = Field(default=0)
mint_disable_melt_on_error: bool = Field(default=False)


class MintDeprecationFlags(MintSettings):
Expand Down
6 changes: 3 additions & 3 deletions cashu/mint/ledger.py
Original file line number Diff line number Diff line change
Expand Up @@ -880,7 +880,7 @@ async def melt(
Tuple[str, List[BlindedMessage]]: Proof of payment and signed outputs for returning overpaid fees to wallet.
"""
# make sure we're allowed to melt
if self.disable_melt:
if self.disable_melt and settings.mint_disable_melt_on_error:
raise NotAllowedError("Melt is disabled. Please contact the operator.")

# get melt quote and check if it was already paid
Expand Down Expand Up @@ -976,7 +976,7 @@ async def melt(
except Exception as e:
# Something went wrong. We might have lost connection to the backend. Keep transaction pending and return.
logger.error(
f"Lightning backend error: could not check payment status. Proofs for melt quote {melt_quote.quote} are stuck as PENDING. Disabling melt. Fix your Lightning backend and restart the mint.\nError: {e}"
f"Lightning backend error: could not check payment status. Proofs for melt quote {melt_quote.quote} are stuck as PENDING.\nError: {e}"
)
self.disable_melt = True
return PostMeltQuoteResponse.from_melt_quote(melt_quote)
Expand All @@ -998,7 +998,7 @@ async def melt(
case _:
# Something went wrong with our implementation or the backend. Status check returned different result than payment. Keep transaction pending and return.
logger.error(
f"Payment state is {status.result.name} and payment was {payment.result}. Proofs for melt quote {melt_quote.quote} are stuck as PENDING. Disabling melt. Fix your Lightning backend and restart the mint."
f"Payment state was {payment.result} but additional payment state check returned {status.result.name}. Proofs for melt quote {melt_quote.quote} are stuck as PENDING."
)
self.disable_melt = True
return PostMeltQuoteResponse.from_melt_quote(melt_quote)
Expand Down

0 comments on commit 9d4cab9

Please sign in to comment.