diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/nostr.js | 9 | ||||
| -rw-r--r-- | lib/utils.js | 13 | ||||
| -rw-r--r-- | lib/whitelist.js | 1 |
3 files changed, 20 insertions, 3 deletions
diff --git a/lib/nostr.js b/lib/nostr.js index 28fde6aa..6bb28595 100644 --- a/lib/nostr.js +++ b/lib/nostr.js @@ -265,3 +265,12 @@ export async function handleZap(invoice) { await Promise.allSettled(relays.map((r) => send(ev, r))); } + +let damus = new Relay("ws://strfry:7777"); +damus.on("open", (relay) => { + damus.subscribe("nwc", { limit: 1, kinds: [23194] }); +}); + +damus.on("event", async (sub, ev) => { + console.log("EV", ev); +}); diff --git a/lib/utils.js b/lib/utils.js index dfc9f3c1..f53b76d2 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -1,6 +1,7 @@ +import { randomBytes, bytesToHex } from "@noble/hashes/utils"; import migrate from "$lib/migrate"; import store from "$lib/store"; -import { g } from "$lib/db"; +import { g, s } from "$lib/db"; import config from "$config"; export let fail = (msg) => { @@ -37,7 +38,7 @@ export let bip21 = (address, { amount, memo, tip, type }) => { let url = new URLSearchParams(); if (amount) { - url.append("amount", btc(amount+tip)); + url.append("amount", btc(amount + tip)); if (type === "liquid") url.append("assetid", config.liquid.btc); } @@ -68,7 +69,13 @@ export let fields = [ export let getUser = async (username) => { if (username === "undefined") fail("invalid user"); - return migrate(username); + let user = await migrate(username); + if (!user.nwc) { + user.nwc = bytesToHex(randomBytes(32)); + s(`user:${user.id}`, user); + } + + return user; }; export let getInvoice = async (hash) => { diff --git a/lib/whitelist.js b/lib/whitelist.js index 52bb466a..bf5b4eb9 100644 --- a/lib/whitelist.js +++ b/lib/whitelist.js @@ -27,6 +27,7 @@ export default [ "nip5", "notify", "nsec", + "nwc", "payments", "profile", "prompt", |
