diff options
| author | Adam Soltys <[email protected]> | 2024-11-21 16:31:51 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-11-21 16:31:51 -0800 |
| commit | ff4d63f395a556543e9a642676f92dea5d1c1645 (patch) | |
| tree | dbee8887d40bf535f587c1f10bc0fa7f36db31f8 /routes | |
| parent | 3b15d16339c9209f307f8453af91fba15f3d340c (diff) | |
| download | coinos-server-ff4d63f395a556543e9a642676f92dea5d1c1645.tar.gz coinos-server-ff4d63f395a556543e9a642676f92dea5d1c1645.zip | |
ecash requests
Diffstat (limited to 'routes')
| -rw-r--r-- | routes/ecash.ts | 42 | ||||
| -rw-r--r-- | routes/nostr.ts | 19 |
2 files changed, 21 insertions, 40 deletions
diff --git a/routes/ecash.ts b/routes/ecash.ts index ff092374..101d1aca 100644 --- a/routes/ecash.ts +++ b/routes/ecash.ts @@ -1,26 +1,21 @@ import { db, g, s } from "$lib/db"; -import { check, claim, get, mint, request } from "$lib/ecash"; +import { check, claim, get, mint } from "$lib/ecash"; import { err, l } from "$lib/logging"; import { credit, debit, types } from "$lib/payments"; import { emit } from "$lib/sockets"; import { bail, fail } from "$lib/utils"; -import { - PaymentRequest, - PaymentRequestPayload, - PaymentRequestTransport, - PaymentRequestTransportType, - decodePaymentRequest, - getDecodedToken, -} from "@cashu/cashu-ts"; import { v4 } from "uuid"; const { ecash: type } = types; const sendCash = async ({ amount, user }) => { + console.log("HELLO", amount); const id = v4(); const hash = v4(); const p = await debit({ hash, amount, user, type }); + console.log("P", p); const token = await mint(amount); + console.log("TOKEN", token); p.memo = id; await s(`payment:${p.id}`, p); s(`cash:${id}`, token); @@ -93,8 +88,10 @@ export default { user, } = req; try { + console.log("OY"); res.send(await sendCash({ amount, user })); } catch (e) { + console.log(e); err(e.message); bail(res, e.message); } @@ -152,31 +149,4 @@ export default { bail(res, e.message); } }, - - async pay(req, res) { - const { user } = req; - const { request } = req.body; - const { amount } = decodePaymentRequest(request); - const { id, token } = await sendCash({ amount, user }); - - - const decodedToken = getDecodedToken(token); - if (!decodedToken) { - console.error("could not decode token"); - return; - } - const proofs = token.getProofs(decodedToken); - const mint = token.getMint(decodedToken); - const paymentPayload: PaymentRequestPayload = { - id: request.id, - mint: mint, - unit: request.unit || "", - proofs: proofs, - }; - const paymentPayloadString = JSON.stringify(paymentPayload); - try { - await nostrStore.sendNip17DirectMessageToNprofile(transport.target, paymentPayloadString); - - res.send({ id, token }); - }, }; diff --git a/routes/nostr.ts b/routes/nostr.ts index 1ad86baf..360ae22c 100644 --- a/routes/nostr.ts +++ b/routes/nostr.ts @@ -1,14 +1,17 @@ import config from "$config"; -import { bail, fail, getUser, time } from "$lib/utils"; -import { g, s, db } from "$lib/db"; +import { db, g, s } from "$lib/db"; import { anon, - send, getCount, + getProfile, getRelays, - serverPubkey, pool, + send, + serverPubkey, } from "$lib/nostr"; +import { bail, fail, getUser } from "$lib/utils"; +import { decode } from "nostr-tools/nip19"; +import type { ProfilePointer } from "nostr-tools/nip19"; const opts = { maxWait: 2000 }; @@ -198,4 +201,12 @@ export default { async info(_, res) { res.send({ pubkey: serverPubkey }); }, + + async profile(req, res) { + const { profile } = req.params; + const { data } = decode(profile); + const { pubkey, relays } = data as ProfilePointer; + const user = await getProfile(pubkey, relays); + res.send(user); + }, }; |
