diff options
Diffstat (limited to 'lib/utils.js')
| -rw-r--r-- | lib/utils.js | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/lib/utils.js b/lib/utils.js index 2854fefc..49f95a00 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -1,4 +1,5 @@ import store from "$lib/store"; +import redis from "$lib/redis"; import config from "$config"; import db from "$db"; import sequelize from "@sequelize/core"; @@ -7,9 +8,18 @@ import { payments as bcPayments, networks as bcNetworks } from "bitcoinjs-lib"; import { payments as lqPayments, networks as lqNetworks } from "liquidjs-lib"; import lnd from "$lib/lnd"; import ln from "$lib/ln"; +import { coinos } from "$lib/nostr"; const { Op } = sequelize; +export const sleep = n => new Promise(r => setTimeout(r, n)); +export const wait = async (f, s = 300, n = 1000) => { + let i = 0; + while (!(await f()) && i < s) (await sleep(n)) && i++; + if (i >= s) throw new Error("timeout"); + return f(); +}; + export const requirePin = async ({ body, user }) => { if (!user || (user.pin && user.pin !== body.pin)) throw new Error("Invalid pin"); @@ -47,6 +57,7 @@ export const getUser = async (username, transaction) => { 500 ); + await wait(() => !!coinos, 100, 10); coinos.subscribe(`${pubkey}:follows`, { limit: 1, kinds: [3], @@ -193,10 +204,3 @@ export const derivePayRequest = async ({ amount, memo, tip }) => { ).bolt11; }; -export const sleep = n => new Promise(r => setTimeout(r, n)); -export const wait = async (f, s = 300, n = 1000) => { - let i = 0; - while (!(await f()) && i < s) (await sleep(n)) && i++; - if (i >= s) throw new Error("timeout"); - return f(); -}; |
