aboutsummaryrefslogtreecommitdiffstats
path: root/routes/payments.ts
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-09-16 04:53:22 -0700
committerAdam Soltys <[email protected]>2026-09-16 04:53:22 -0700
commitc72fa2a5ccf1cc04073f9ff12606491971dadd36 (patch)
treee58124db24fb734c4a443b4ef20e9f25efe78c24 /routes/payments.ts
parent19f73ae9cf2afffbbb2abc71eb80c6d5bdccca52 (diff)
downloadcoinos-server-c72fa2a5ccf1cc04073f9ff12606491971dadd36.tar.gz
coinos-server-c72fa2a5ccf1cc04073f9ff12606491971dadd36.zip
ecash: redeem tokens by melting to the user's own invoice
Redeeming ecash is now a plain NUT-05 melt into a Lightning invoice owned by the redeeming user, credited by the regular lightning listener. Drop the house proof pool and its lock, the /mint and /melt routes, and the special-casing of a mint account in NWC and payment routing. Tokens are decoded against the mint's keyset list so short v1 ids resolve, and an empty keyset list is never cached. Co-Authored-By: Claude Fable 5.1 <[email protected]>
Diffstat (limited to 'routes/payments.ts')
-rw-r--r--routes/payments.ts2
1 files changed, 1 insertions, 1 deletions
diff --git a/routes/payments.ts b/routes/payments.ts
index accb09fd..cf0248fa 100644
--- a/routes/payments.ts
+++ b/routes/payments.ts
@@ -66,7 +66,7 @@ export default {
const invoice = await getInvoice(payreq || hash);
const recipient = invoice ? await getUser(invoice.uid) : undefined;
if (payreq) {
- if (invoice && recipient.username !== "mint") {
+ if (invoice) {
if (invoice.aid === user.id) fail("Cannot send to self");
hash = payreq;
if (!amount) ({ amount } = invoice);