aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-08-25 21:55:01 -0700
committerAdam Soltys <[email protected]>2024-08-25 21:55:26 -0700
commit5269deaa617dae61cdb97aca80269bf311e8dc4b (patch)
tree882faa6b4346abec49338fedf421c7eacfae8681 /lib
parentc5c201b441e0b1ef7d0df19bd936d0ccfa9e601c (diff)
downloadcoinos-server-5269deaa617dae61cdb97aca80269bf311e8dc4b.tar.gz
coinos-server-5269deaa617dae61cdb97aca80269bf311e8dc4b.zip
add nwc field to user
Diffstat (limited to 'lib')
-rw-r--r--lib/nostr.js9
-rw-r--r--lib/utils.js13
-rw-r--r--lib/whitelist.js1
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",