diff options
| -rw-r--r-- | index.js | 12 | ||||
| -rw-r--r-- | lib/buildliquidtx.js | 3 | ||||
| -rw-r--r-- | lib/buildtx.js | 3 | ||||
| -rw-r--r-- | lib/ln.js | 17 | ||||
| -rw-r--r-- | lib/lnd.js | 2 | ||||
| -rw-r--r-- | lib/rates.js | 2 | ||||
| -rw-r--r-- | lib/rpc.js | 6 | ||||
| -rw-r--r-- | lib/sync.js | 42 | ||||
| -rw-r--r-- | package.json | 2 | ||||
| -rw-r--r-- | pnpm-lock.yaml | 536 | ||||
| -rw-r--r-- | routes/bitcoin/receive.js | 2 | ||||
| -rw-r--r-- | routes/liquid/receive.js | 2 |
12 files changed, 419 insertions, 210 deletions
@@ -5,12 +5,12 @@ import store from "./lib/store.js"; import { l } from "./lib/logging.js"; import "./lib/sockets.js"; -// import "./lib/webhooks.js"; -// import "./lib/passport.js"; -// import "./lib/register.js"; -// import "./lib/upload.js"; -// import "./lib/send.js"; -// import "./lib/sync.js"; +import "./lib/webhooks.js"; +import "./lib/passport.js"; +import "./lib/register.js"; +import "./lib/upload.js"; +import "./lib/send.js"; +import "./lib/sync.js"; // import "./routes/assets.js"; // import "./routes/info.js"; // import "./routes/users.js"; diff --git a/lib/buildliquidtx.js b/lib/buildliquidtx.js index 783e4036..81e3d971 100644 --- a/lib/buildliquidtx.js +++ b/lib/buildliquidtx.js @@ -1,3 +1,4 @@ +import store from "./store.js"; import { prod } from "./utils.js"; import axios from 'axios'; // import liquid from 'liquidjs-lib'; @@ -105,7 +106,7 @@ export default async ({ total += value; if (!address) { address = changeAddress; - change.push(address); + store.change.push(address); } psbt = psbt.addOutput({ diff --git a/lib/buildtx.js b/lib/buildtx.js index e6dde1d2..e65bea7d 100644 --- a/lib/buildtx.js +++ b/lib/buildtx.js @@ -1,3 +1,4 @@ +import store from "./store.js"; import { prod } from "./utils.js"; import axios from 'axios'; import bitcoin from 'bitcoinjs-lib'; @@ -53,7 +54,7 @@ export default async ({ address, amount, feeRate, replaceable, user }) => { total += value; if (!address) { address = payments[payments.length - 1].address; - change.push(address); + store.change.push(address); } psbt = psbt.addOutput({ @@ -4,22 +4,7 @@ let ln; if (config.lna.clightning) { ln = (await import("clightning-client"))(config.lna.dir); } else { - let lnd = await import("../lib/lnd"); - ln = [ - "addInvoice", - "channelBalance", - "connectPeer", - "decodePayReq", - "getInfo", - "listInvoices", - "listPayments", - "sendPaymentSync", - "walletBalance" - ].reduce( - (a, b) => - (a[b] = args => new Promise(r => lnd[b](args, (e, v) => r(v)))) && a, - {} - ); + ln = (await import("./lnd.js")); } export default ln; @@ -1,4 +1,4 @@ -import { promisify } from 'util'; +import config from "../config/index.js"; import { authenticatedLndGrpc } from 'lightning'; const { cert, macaroon, socket } = config.lna; diff --git a/lib/rates.js b/lib/rates.js index 5e24cff0..d22bf2f5 100644 --- a/lib/rates.js +++ b/lib/rates.js @@ -46,7 +46,7 @@ let fetchRates; } } - store.fx = fx; + store.fx = fx; setTimeout(fetchRates, 7200000); })(); @@ -1,6 +1,6 @@ import wretch from "./wretch.js"; -export default ({ host, port, wallet, user, password }) => +export default ({ host, port, wallet, username, password }) => new Proxy( {}, { @@ -9,7 +9,9 @@ export default ({ host, port, wallet, user, password }) => wretch() .url(`http://${host}:${port}/wallet/${wallet}`) .auth( - `Basic ${Buffer.from(`${user}:${password}`).toString("base64")}` + `Basic ${Buffer.from(`${username}:${password}`).toString( + "base64" + )}` ) .post({ method, diff --git a/lib/sync.js b/lib/sync.js index f1d28421..30d5b007 100644 --- a/lib/sync.js +++ b/lib/sync.js @@ -2,14 +2,20 @@ import db from "../db/index.js"; import app from "../app.js"; import { differenceInDays } from "date-fns"; import fs from "fs"; -import read from "../lib/read.js"; +import read from "./read.js"; import { Op } from "@sequelize/core"; import store from "./store.js"; -import { err } from "./logging.js"; +import { l, err, warn } from "./logging.js"; +import lnd from "./lnd.js"; +import { getInvoices } from "lightning"; +import bc from "./bitcoin.js"; +import lq from "./liquid.js"; const init = async () => { try { - read(fs.createReadStream("exceptions"), data => store.exceptions.push(data)); + read(fs.createReadStream("exceptions"), data => + store.exceptions.push(data) + ); } catch (e) { warn("couldn't read exceptions file", e.message); } @@ -31,7 +37,8 @@ const init = async () => { }) ).map(({ address, user, unconfidential }) => { if (address && user) store.addresses[address] = user.username; - if (unconfidential && user) store.addresses[unconfidential] = user.username; + if (unconfidential && user) + store.addresses[unconfidential] = user.username; }); } catch (e) { console.log(e); @@ -65,10 +72,7 @@ const sync = async () => { ] }); - let { invoices } = await lnp.listInvoices({ - reversed: true, - num_max_invoices: 1000 - }); + let { invoices } = await getInvoices({ lnd, limit: 200 }); let recent = invoices .filter( @@ -202,26 +206,26 @@ const sync = async () => { } } - unaccounted = []; + store.unaccounted = []; transactions.map(tx => { if ( !payments.find(p => p.hash === tx.txid) && !store.exceptions.includes(tx.txid) && - !unaccounted.find(a => a.txid === tx.txid) && + !store.unaccounted.find(a => a.txid === tx.txid) && new Date(tx.blocktime * 1000) >= twoWeeksAgo ) { - unaccounted.push(tx); + store.unaccounted.push(tx); } }); - if (unaccounted.length) + if (store.unaccounted.length) warn( "wallet transactions missing from database", - unaccounted.map(tx => tx.txid) + store.unaccounted.map(tx => tx.txid) ); - let receipts = unaccounted + let receipts = store.unaccounted .filter( tx => tx.category === "receive" && @@ -265,7 +269,7 @@ const sync = async () => { l("unaccounted", address); - let pending = unaccounted.filter( + let pending = store.unaccounted.filter( tx => tx.address === address || tx.address === unconfidential ); @@ -302,16 +306,12 @@ const sync = async () => { emit(user.username, "payment", p); }); } catch (e) { - err( - "problem updating pending transaction", - hash, - e.message, - e.stack - ); + err("problem updating pending transaction", hash, e.message, e.stack); } } } } catch (e) { + console.log(e); err("sync check failed", e.message, e.stack); } diff --git a/package.json b/package.json index a6c5497d..a8d4b455 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "imap": "^0.8.19", "jsonwebtoken": "^8.5.1", "knex": "^0.95.6", - "lightning": "^3.5.0", + "lightning": "5", "liquidjs-lib": "https://github.com/asoltys/liquidjs-lib#4a0bb0c4b38d327ec247d49e89219798fb0b28e2", "lnurl": "0.19", "long": "^4.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d839b0ac..58c03459 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,7 +31,7 @@ specifiers: imap: ^0.8.19 jsonwebtoken: ^8.5.1 knex: ^0.95.6 - lightning: ^3.5.0 + lightning: '5' liquidjs-lib: https://github.com/asoltys/liquidjs-lib#4a0bb0c4b38d327ec247d49e89219798fb0b28e2 lnurl: '0.19' long: ^4.0.0 @@ -92,7 +92,7 @@ dependencies: imap: 0.8.19 jsonwebtoken: 8.5.1 knex: 0.95.11_gbnmrixtkvoqbw4s5yc7xwlchq - lightning: 3.5.0 + lightning: 5.21.0 liquidjs-lib: github.com/asoltys/liquidjs-lib/4a0bb0c4b38d327ec247d49e89219798fb0b28e2 lnurl: 0.19.0 long: 4.0.0 @@ -126,11 +126,6 @@ devDependencies: packages: - /@cto.af/textdecoder/0.0.0: - resolution: {integrity: sha512-sJpx3F5xcVV/9jNYJQtvimo4Vfld/nD3ph+ZWtQzZ03Zo8rJC7QKQTRcIGS13Rcz80DwFNthCWMrd58vpY4ZAQ==} - engines: {node: '>=4.9.1'} - dev: false - /@fastify/ajv-compiler/3.2.0: resolution: {integrity: sha512-JrqgKmZoh1AJojDZk699DupQ9+tz5gSy7/w+5DrkXy5whM5IcqdV3SjG5qnOqgVJT1nPtUMDY0xYus2j6vwJiw==} dependencies: @@ -193,22 +188,23 @@ packages: - utf-8-validate dev: false - /@grpc/grpc-js/1.3.6: - resolution: {integrity: sha512-v7+LQFbqZKmd/Tvf5/j1Xlbq6jXL/4d+gUtm2TNX4QiEC3ELWADmGr2dGlUyLl6aKTuYfsN72vAsO5zmavYkEg==} + /@grpc/grpc-js/1.6.12: + resolution: {integrity: sha512-JmvQ03OTSpVd9JTlj/K3IWHSz4Gk/JMLUTtW7Zb0KvO1LcOYGATh5cNuRYzCAeDR3O8wq+q8FZe97eO9MBrkUw==} engines: {node: ^8.13.0 || >=10.10.0} dependencies: - '@types/node': 16.10.3 + '@grpc/proto-loader': 0.7.2 + '@types/node': 18.7.14 dev: false - /@grpc/proto-loader/0.6.4: - resolution: {integrity: sha512-7xvDvW/vJEcmLUltCUGOgWRPM8Oofv0eCFSVMuKqaqWJaXSzmB+m9hiyqe34QofAl4WAzIKUZZlinIF9FOHyTQ==} + /@grpc/proto-loader/0.7.2: + resolution: {integrity: sha512-jCdyLIT/tdQ1zhrbTQnJNK5nbDf0GoBpy5jVNywBzzMDF+Vs6uEaHnfz46dMtDxkvwrF2hzk5Z67goliceH0sA==} engines: {node: '>=6'} hasBin: true dependencies: '@types/long': 4.0.1 lodash.camelcase: 4.3.0 long: 4.0.0 - protobufjs: 6.11.2 + protobufjs: 7.1.0 yargs: 16.2.0 dev: false @@ -295,7 +291,7 @@ packages: /@pm2/agent/2.0.1: resolution: {integrity: sha512-QKHMm6yexcvdDfcNE7PL9D6uEjoQPGRi+8dh+rc4Hwtbpsbh5IAvZbz3BVGjcd4HaX6pt2xGpOohG7/Y2L4QLw==} dependencies: - async: 3.2.2 + async: 3.2.4 chalk: 3.0.0 dayjs: 1.8.36 debug: 4.3.4 @@ -356,7 +352,7 @@ packages: dev: false /@protobufjs/aspromise/1.1.2: - resolution: {integrity: sha1-m4sMxmPWaafY9vXQiToU00jzD78=} + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} dev: false /@protobufjs/base64/1.1.2: @@ -368,34 +364,34 @@ packages: dev: false /@protobufjs/eventemitter/1.1.0: - resolution: {integrity: sha1-NVy8mLr61ZePntCV85diHx0Ga3A=} + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} dev: false /@protobufjs/fetch/1.1.0: - resolution: {integrity: sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=} + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/inquire': 1.1.0 dev: false /@protobufjs/float/1.0.2: - resolution: {integrity: sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=} + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} dev: false /@protobufjs/inquire/1.1.0: - resolution: {integrity: sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=} + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} dev: false /@protobufjs/path/1.1.2: - resolution: {integrity: sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=} + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} dev: false /@protobufjs/pool/1.1.0: - resolution: {integrity: sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=} + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} dev: false /@protobufjs/utf8/1.1.0: - resolution: {integrity: sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=} + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} dev: false /@sequelize/core/7.0.0-alpha.10_z5l6k2ymvrhe2jtlk3taqnzt7e: @@ -477,14 +473,14 @@ packages: /@types/bn.js/4.11.6: resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} dependencies: - '@types/node': 16.10.3 + '@types/node': 18.7.14 dev: false /@types/body-parser/1.19.1: resolution: {integrity: sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==} dependencies: '@types/connect': 3.4.35 - '@types/node': 16.10.3 + '@types/node': 18.7.14 dev: false /@types/caseless/0.12.2: @@ -494,7 +490,7 @@ packages: /@types/connect/3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 16.10.3 + '@types/node': 18.7.14 dev: false /@types/debug/4.1.7: @@ -506,7 +502,7 @@ packages: /@types/express-serve-static-core/4.17.24: resolution: {integrity: sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==} dependencies: - '@types/node': 16.10.3 + '@types/node': 18.7.14 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 dev: false @@ -534,7 +530,7 @@ packages: /@types/keyv/3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 16.10.3 + '@types/node': 18.7.14 dev: false /@types/long/4.0.1: @@ -565,12 +561,8 @@ packages: resolution: {integrity: sha512-zv8ukKci1mrILYiQOwGSV4FpkZhyxQtuFWGya2GujWg+zVAeRQ4qbaMmWp9vb9889CFA8JECH7lkwCL6Ygg8kA==} dev: false - /@types/node/16.10.3: - resolution: {integrity: sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ==} - dev: false - - /@types/node/16.4.3: - resolution: {integrity: sha512-GKM4FLMkWDc0sfx7tXqPWkM6NBow1kge0fgQh0bOnlqo4iT1kvTvMEKE0c1RtUGnbLlGRXiAA8SumE//90uKAg==} + /@types/node/18.7.14: + resolution: {integrity: sha512-6bbDaETVi8oyIARulOE9qF1/Qdi/23z6emrUh0fNJRUmjznqrixD4MpGDdgOFk5Xb0m2H6Xu42JGdvAxaJR/wA==} dev: false /@types/qs/6.9.7: @@ -581,11 +573,11 @@ packages: resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} dev: false - /@types/request/2.48.6: - resolution: {integrity: sha512-vrZaV3Ij7j/l/3hz6OttZFtpRCu7zlq7XgkYHJP6FwVEAZkGQ095WqyJV08/GlW9eyXKVcp/xmtruHm8eHpw1g==} + /@types/request/2.48.8: + resolution: {integrity: sha512-whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ==} dependencies: '@types/caseless': 0.12.2 - '@types/node': 16.10.3 + '@types/node': 18.7.14 '@types/tough-cookie': 4.0.1 form-data: 2.5.1 dev: false @@ -593,24 +585,24 @@ packages: /@types/responselike/1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 16.10.3 + '@types/node': 18.7.14 dev: false /@types/serve-static/1.13.10: resolution: {integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==} dependencies: '@types/mime': 1.3.2 - '@types/node': 16.10.3 + '@types/node': 18.7.14 dev: false /@types/tough-cookie/4.0.1: resolution: {integrity: sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==} dev: false - /@types/ws/7.4.7: - resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} + /@types/ws/8.5.3: + resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} dependencies: - '@types/node': 16.10.3 + '@types/node': 18.7.14 dev: false /@vulpemventures/secp256k1-zkp/2.0.0: @@ -640,10 +632,18 @@ packages: resolution: {integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==} engines: {node: '>= 0.6'} dependencies: - mime-types: 2.1.33 + mime-types: 2.1.35 negotiator: 0.6.2 dev: false + /accepts/1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + dev: false + /agent-base/4.2.1: resolution: {integrity: sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==} engines: {node: '>= 4.0.0'} @@ -793,7 +793,7 @@ packages: dev: false /array-flatten/1.1.1: - resolution: {integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=} + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: false /asn1.js/5.4.1: @@ -852,10 +852,6 @@ packages: lodash: 4.17.21 dev: false - /async/3.2.0: - resolution: {integrity: sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==} - dev: false - /async/3.2.1: resolution: {integrity: sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg==} dev: false @@ -864,14 +860,18 @@ packages: resolution: {integrity: sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==} dev: false - /asyncjs-util/1.2.6: - resolution: {integrity: sha512-PxQ2drzeOUe20HsjIXOlfw76Ci8RQkF2B95arcQap02jJ3lByNKkC3MtVFhIWF+FYl738tD/tZHOlUuYfamFvw==} + /async/3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + dev: false + + /asyncjs-util/1.2.10: + resolution: {integrity: sha512-p4U6HQUw4k/xZKrwEQO7ZuF+8/OkzAQS4iAMhFUBGtSD8p3KkKBaTBuUTEH8TWKB3ArNbrP0401TGE2vIiU7uQ==} dependencies: - async: 3.2.0 + async: 3.2.4 dev: false /asynckit/0.4.0: - resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false /atomic-sleep/1.0.0: @@ -1045,35 +1045,28 @@ packages: wif: 2.0.6 dev: false - /bitcoinjs-lib/5.2.0: - resolution: {integrity: sha512-5DcLxGUDejgNBYcieMIUfjORtUeNWl828VWLHJGVKZCb4zIS1oOySTUr0LGmcqJBQgTBz3bGbRQla4FgrdQEIQ==} + /bitcoinjs-lib/6.0.1: + resolution: {integrity: sha512-x/7D4jDj/MMkmO6t3p2CSDXTqpwZ/jRsRiJDmaiXabrR9XRo7jwby8HRn7EyK1h24rKFFI7vI0ay4czl6bDOZQ==} engines: {node: '>=8.0.0'} dependencies: - bech32: 1.1.4 + bech32: 2.0.0 bip174: 2.0.1 - bip32: 2.0.6 - bip66: 1.1.5 - bitcoin-ops: 1.4.1 bs58check: 2.1.2 create-hash: 1.2.0 - create-hmac: 1.1.7 - merkle-lib: 2.0.10 - pushdata-bitcoin: 1.0.1 - randombytes: 2.1.0 - tiny-secp256k1: 1.1.6 typeforce: 1.18.0 varuint-bitcoin: 1.1.2 wif: 2.0.6 dev: false - /bitcoinjs-lib/6.0.1: - resolution: {integrity: sha512-x/7D4jDj/MMkmO6t3p2CSDXTqpwZ/jRsRiJDmaiXabrR9XRo7jwby8HRn7EyK1h24rKFFI7vI0ay4czl6bDOZQ==} + /bitcoinjs-lib/6.0.2: + resolution: {integrity: sha512-I994pGt9cL5s5OA6mkv1e8IuYcsKN2ORXnWbkqAXLNGvEnOHBhKBSvCjFl7YC2uVoJnfr/iwq7JMrq575SYO5w==} engines: {node: '>=8.0.0'} dependencies: bech32: 2.0.0 bip174: 2.0.1 bs58check: 2.1.2 create-hash: 1.2.0 + ripemd160: 2.0.2 typeforce: 1.18.0 varuint-bitcoin: 1.1.2 wif: 2.0.6 @@ -1108,8 +1101,8 @@ packages: resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} dev: false - /bn.js/5.2.0: - resolution: {integrity: sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==} + /bn.js/5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} dev: false /bodec/0.1.0: @@ -1134,15 +1127,35 @@ packages: - supports-color dev: false - /bolt07/1.7.3: - resolution: {integrity: sha512-zXhf60qEpFXwRTeoaJ+0SyPw/jzBtIHZLCJBvaa0rFGiiQKdWXdaiIWeyIkxl74p/UGUv4BQsbkAgB0Em/1QOQ==} + /body-parser/1.20.0: + resolution: {integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: - bn.js: 5.2.0 + bytes: 3.1.2 + content-type: 1.0.4 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.10.3 + raw-body: 2.5.1 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /bolt07/1.8.2: + resolution: {integrity: sha512-jq1b/ZdMambhh+yi+pm+1PJBAnlYvQYljaBgSajvVAINHrHg32ovCBra8d0ADE3BAoj6G/tK7OSV4t/yT9A+/g==} + dependencies: + bn.js: 5.2.1 dev: false - /bolt09/0.1.5: - resolution: {integrity: sha512-oT1+erg21vat55oXNd7nNEkCO0FQnmaraFZuyXFyeVk7dZCm/3vgic0qK1VuUSV+ksYXJfRKYC4AqfYrtHNPZg==} - engines: {node: '>=10.4.0'} + /bolt09/0.2.3: + resolution: {integrity: sha512-xEt5GE6pXB8wMIWHAoyF28k0Yt2rFqIou1LCyIeNadAOQhu/F7GTjZwreFwLl07YYkhOH23avewRt5PD8JnKKg==} + engines: {node: '>=12.20.0'} dev: false /bolt11/1.3.2: @@ -1249,6 +1262,11 @@ packages: engines: {node: '>= 0.8'} dev: false + /bytes/3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + dev: false + /cacheable-request/6.1.0: resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} engines: {node: '>=8'} @@ -1262,6 +1280,13 @@ packages: responselike: 1.0.2 dev: false + /call-bind/1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.1.2 + dev: false + /camelcase/5.0.0: resolution: {integrity: sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==} engines: {node: '>=6'} @@ -1277,17 +1302,11 @@ packages: dev: false optional: true - /cbor/7.0.6: - resolution: {integrity: sha512-rgt2RFogHGDLFU5r0kSfyeBc+de55DwYHP73KxKsQxsR5b0CYuQPH6AnJaXByiohpLdjQqj/K0SFcOV+dXdhSA==} - engines: {node: '>=10.18.0'} - peerDependencies: - bignumber.js: ^9.0.1 - peerDependenciesMeta: - bignumber.js: - optional: true + /cbor/8.1.0: + resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} + engines: {node: '>=12.19'} dependencies: - '@cto.af/textdecoder': 0.0.0 - nofilter: 2.0.3 + nofilter: 3.1.0 dev: false /chalk/2.4.2: @@ -1519,6 +1538,13 @@ packages: safe-buffer: 5.1.2 dev: false + /content-disposition/0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + dev: false + /content-type/1.0.4: resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} engines: {node: '>= 0.6'} @@ -1540,7 +1566,7 @@ packages: dev: false /cookie-signature/1.0.6: - resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} dev: false /cookie/0.4.0: @@ -1764,7 +1790,7 @@ packages: dev: false /delayed-stream/1.0.0: - resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} dev: false @@ -1788,7 +1814,12 @@ packages: dev: false /destroy/1.0.4: - resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=} + resolution: {integrity: sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==} + dev: false + + /destroy/1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dev: false /detect-libc/1.0.3: @@ -1865,7 +1896,7 @@ packages: dev: false /ee-first/1.1.1: - resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: false /elliptic/6.5.4: @@ -1891,7 +1922,7 @@ packages: dev: false /encodeurl/1.0.2: - resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=} + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} dev: false @@ -1935,7 +1966,7 @@ packages: dev: false /escape-html/1.0.3: - resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=} + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} dev: false /escape-string-regexp/1.0.5: @@ -1989,7 +2020,7 @@ packages: dev: false /etag/1.8.1: - resolution: {integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=} + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} dev: false @@ -2085,6 +2116,45 @@ packages: - supports-color dev: false + /express/4.18.1: + resolution: {integrity: sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==} + engines: {node: '>= 0.10.0'} + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.0 + content-disposition: 0.5.4 + content-type: 1.0.4 + cookie: 0.5.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.10.3 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: false + /extend/3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: false @@ -2235,6 +2305,21 @@ packages: - supports-color dev: false + /finalhandler/1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: false + /find-my-way/7.0.1: resolution: {integrity: sha512-w05SaOPg54KqBof/RDA+75n1R48V7ZZNPL3nR17jJJs5dgZpR3ivfrMWOyx7BVFQgCLhYRG05hfgFCohYvSUXA==} engines: {node: '>=14'} @@ -2290,7 +2375,7 @@ packages: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 - mime-types: 2.1.33 + mime-types: 2.1.35 dev: false optional: true @@ -2300,7 +2385,7 @@ packages: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 - mime-types: 2.1.33 + mime-types: 2.1.35 dev: false /forwarded/0.2.0: @@ -2309,7 +2394,7 @@ packages: dev: false /fresh/0.5.2: - resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} dev: false @@ -2394,6 +2479,14 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: false + /get-intrinsic/1.1.2: + resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.3 + dev: false + /get-stream/4.1.0: resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} engines: {node: '>=6'} @@ -2535,6 +2628,11 @@ packages: engines: {node: '>=8'} dev: false + /has-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: false + /has-unicode/2.0.1: resolution: {integrity: sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=} dev: false @@ -2601,6 +2699,17 @@ packages: toidentifier: 1.0.0 dev: false + /http-errors/2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + /http-proxy-agent/2.1.0: resolution: {integrity: sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==} engines: {node: '>= 4.5.0'} @@ -2772,16 +2881,16 @@ packages: engines: {node: '>= 0.10'} dev: false - /invoices/2.0.0: - resolution: {integrity: sha512-UnU0bS3+cMA2UvYrF5RXp/Hm7v/nYiA3F0GVCOeRmDiZmXAt/eO7KdqyRzewopvhBlev7F7t7GZzRRYY1XE3xg==} - engines: {node: '>=10.4.0'} + /invoices/2.2.0: + resolution: {integrity: sha512-uVe0WdHGdhkKubfrH1rSC/RpFREC7D0dh1IHxEgmUhV1lhn2+1UFVUxhri4dGyklBgIi+DNzE8q3665PF8z5Vw==} + engines: {node: '>=12.20.0'} dependencies: bech32: 2.0.0 - bitcoinjs-lib: 5.2.0 - bn.js: 5.2.0 - bolt07: 1.7.3 - bolt09: 0.1.5 - secp256k1: 4.0.2 + bitcoinjs-lib: 6.0.2 + bn.js: 5.2.1 + bolt07: 1.8.2 + bolt09: 0.2.3 + tiny-secp256k1: 2.2.1 dev: false /ip/1.1.5: @@ -2824,7 +2933,7 @@ packages: dev: false /is-fullwidth-code-point/1.0.0: - resolution: {integrity: sha1-754xOG8DGn8NZDr4L95QxFfvAMs=} + resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} engines: {node: '>=0.10.0'} dependencies: number-is-nan: 1.0.1 @@ -3116,29 +3225,31 @@ packages: set-cookie-parser: 2.5.1 dev: false - /lightning/3.5.0: - resolution: {integrity: sha512-6Kj1JX8tG3JiV5LXYGuZkKckiRJ/OU8ukb/R5qsp7RWq/xw32LDccCKvOK8oRnOGw9K+G8jcZAOY21exr9OSFA==} - engines: {node: '>=10.10.0'} + /lightning/5.21.0: + resolution: {integrity: sha512-Rha4U1yZS/SHwW/GJ+IeEaxI6vqJ1bx/upQkY5RIZNCn4YoMvqd4inQUt9GNtuLy/pXus8Bms4DL2B9DkujBKQ==} + engines: {node: '>=12.20'} dependencies: - '@grpc/grpc-js': 1.3.6 - '@grpc/proto-loader': 0.6.4 + '@grpc/grpc-js': 1.6.12 + '@grpc/proto-loader': 0.7.2 '@types/express': 4.17.13 - '@types/node': 16.4.3 - '@types/request': 2.48.6 - '@types/ws': 7.4.7 - async: 3.2.0 - asyncjs-util: 1.2.6 - bitcoinjs-lib: 5.2.0 - bn.js: 5.2.0 - body-parser: 1.19.0 - bolt07: 1.7.3 - bolt09: 0.1.5 - cbor: 7.0.6 - express: 4.17.1 - invoices: 2.0.0 - psbt: 1.1.10 + '@types/node': 18.7.14 + '@types/request': 2.48.8 + '@types/ws': 8.5.3 + async: 3.2.4 + asyncjs-util: 1.2.10 + bitcoinjs-lib: 6.0.2 + bn.js: 5.2.1 + body-parser: 1.20.0 + bolt07: 1.8.2 + bolt09: 0.2.3 + cbor: 8.1.0 + ecpair: 2.0.1 + express: 4.18.1 + invoices: 2.2.0 + psbt: 2.7.1 + tiny-secp256k1: 2.2.1 + type-fest: 2.19.0 transitivePeerDependencies: - - bignumber.js - supports-color dev: false @@ -3161,7 +3272,7 @@ packages: dev: false /lodash.camelcase/4.3.0: - resolution: {integrity: sha1-soqmKIorn8ZRA1x3EfZathkDMaY=} + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} dev: false /lodash.includes/4.3.0: @@ -3205,6 +3316,10 @@ packages: resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} dev: false + /long/5.2.0: + resolution: {integrity: sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==} + dev: false + /lowercase-keys/1.0.1: resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} engines: {node: '>=0.10.0'} @@ -3281,12 +3396,12 @@ packages: dev: false /media-typer/0.3.0: - resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} dev: false /merge-descriptors/1.0.1: - resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} dev: false /merkle-lib/2.0.10: @@ -3294,7 +3409,7 @@ packages: dev: false /methods/1.1.2: - resolution: {integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=} + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} dev: false @@ -3311,6 +3426,11 @@ packages: engines: {node: '>= 0.6'} dev: false + /mime-db/1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: false + /mime-types/2.1.33: resolution: {integrity: sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==} engines: {node: '>= 0.6'} @@ -3318,6 +3438,13 @@ packages: mime-db: 1.50.0 dev: false + /mime-types/2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + /mime/1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} @@ -3511,6 +3638,11 @@ packages: engines: {node: '>= 0.6'} dev: false + /negotiator/0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: false + /netmask/1.0.6: resolution: {integrity: sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=} engines: {node: '>= 0.4.0'} @@ -3599,11 +3731,9 @@ packages: update-notifier: 5.1.0 dev: false - /nofilter/2.0.3: - resolution: {integrity: sha512-FbuXC+lK+GU2+63D1kC1ETiZo+Z7SIi7B+mxKTCH1byrh6WFvfBCN/wpherFz0a0bjGd7EKTst/cz0yLeNngug==} - engines: {node: '>=10.18'} - dependencies: - '@cto.af/textdecoder': 0.0.0 + /nofilter/3.1.0: + resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} + engines: {node: '>=12.19'} dev: false /nopt/1.0.10: @@ -3697,6 +3827,10 @@ packages: engines: {node: '>=0.10.0'} dev: false + /object-inspect/1.12.2: + resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} + dev: false + /on-exit-leak-free/2.1.0: resolution: {integrity: sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==} dev: false @@ -3708,6 +3842,13 @@ packages: ee-first: 1.1.1 dev: false + /on-finished/2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: false + /on-headers/1.0.2: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} engines: {node: '>= 0.8'} @@ -3770,7 +3911,7 @@ packages: http-proxy-agent: 2.1.0 https-proxy-agent: 3.0.1 pac-resolver: 3.0.0 - raw-body: 2.4.1 + raw-body: 2.5.1 socks-proxy-agent: 4.0.2 transitivePeerDependencies: - supports-color @@ -3787,7 +3928,7 @@ packages: http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.0 pac-resolver: 5.0.0 - raw-body: 2.4.1 + raw-body: 2.5.1 socks-proxy-agent: 5.0.1 transitivePeerDependencies: - supports-color @@ -3874,7 +4015,7 @@ packages: dev: false /path-to-regexp/0.1.7: - resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=} + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} dev: false /pause/0.0.1: @@ -4052,7 +4193,7 @@ packages: resolution: {integrity: sha512-ACOhlONEXdCTVwKieBIQLSi2tQZ8eKinhcr9JpZSUAL8Qy0ajIgRtsLxG/lwPOW3JEKqPyw/UaHmTWhUzpP4kA==} requiresBuild: true dependencies: - async: 3.2.2 + async: 3.2.4 debug: 4.3.4 pidusage: 2.0.21 systeminformation: 5.9.7 @@ -4158,9 +4299,9 @@ packages: read: 1.0.7 dev: false - /protobufjs/6.11.2: - resolution: {integrity: sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==} - hasBin: true + /protobufjs/7.1.0: + resolution: {integrity: sha512-rCuxKlh0UQKSMjrpIcTLbR5TtGQ52cgs1a5nUoPBAKOccdPblN67BJtjrbtudUJK6HmBvUdsmymyYOzO7lxZEA==} + engines: {node: '>=12.0.0'} requiresBuild: true dependencies: '@protobufjs/aspromise': 1.1.2 @@ -4173,9 +4314,8 @@ packages: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/long': 4.0.1 - '@types/node': 16.10.3 - long: 4.0.0 + '@types/node': 18.7.14 + long: 5.2.0 dev: false /proxy-addr/2.0.7: @@ -4222,13 +4362,14 @@ packages: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: false - /psbt/1.1.10: - resolution: {integrity: sha512-LLyJcNVKRK8AUXKcpCrZA21+mlrjzlzTLQZp/Yu279hqqQrakAu9IusT7zEddhhkQrzm6UQ9cER3nhrIZqh0hw==} + /psbt/2.7.1: + resolution: {integrity: sha512-qFnvwdQcDoQBHHi3jYVVX+W98CRTbyeQs3RlUdAIzdEVbwBHEcv1+xhVaEJHrYiF75n7L+i6roDmZHIXT6tDSQ==} + engines: {node: '>=12.20'} dependencies: bip66: 1.1.5 bitcoin-ops: 1.4.1 - bitcoinjs-lib: 5.2.0 - bn.js: 5.2.0 + bitcoinjs-lib: 6.0.2 + bn.js: 5.2.1 pushdata-bitcoin: 1.0.1 varuint-bitcoin: 1.1.2 dev: false @@ -4275,6 +4416,13 @@ packages: bitcoin-ops: 1.4.1 dev: false + /qs/6.10.3: + resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: false + /qs/6.5.2: resolution: {integrity: sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==} engines: {node: '>=0.6'} @@ -4326,12 +4474,12 @@ packages: unpipe: 1.0.0 dev: false - /raw-body/2.4.1: - resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + /raw-body/2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} engines: {node: '>= 0.8'} dependencies: - bytes: 3.1.0 - http-errors: 1.7.3 + bytes: 3.1.2 + http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 dev: false @@ -4451,7 +4599,7 @@ packages: is-typedarray: 1.0.0 isstream: 0.1.2 json-stringify-safe: 5.0.1 - mime-types: 2.1.33 + mime-types: 2.1.35 oauth-sign: 0.9.0 performance-now: 2.1.0 qs: 6.5.2 @@ -4463,7 +4611,7 @@ packages: optional: true /require-directory/2.1.1: - resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=} + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} dev: false @@ -4678,6 +4826,27 @@ packages: - supports-color dev: false + /send/0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: false + /seq-queue/0.0.5: resolution: {integrity: sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4=} dev: false @@ -4727,6 +4896,18 @@ packages: - supports-color dev: false + /serve-static/1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + dev: false + /set-blocking/2.0.0: resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=} dev: false @@ -4739,6 +4920,10 @@ packages: resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} dev: false + /setprototypeof/1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: false + /sha.js/2.4.11: resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true @@ -4751,6 +4936,14 @@ packages: resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} dev: false + /side-channel/1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.1.2 + object-inspect: 1.12.2 + dev: false + /signal-exit/3.0.5: resolution: {integrity: sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==} dev: false @@ -4911,10 +5104,15 @@ packages: optional: true /statuses/1.5.0: - resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=} + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} dev: false + /statuses/2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: false + /streamsearch/0.1.2: resolution: {integrity: sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=} engines: {node: '>=0.8.0'} @@ -4930,7 +5128,7 @@ packages: dev: false /string-width/1.0.2: - resolution: {integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=} + resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} engines: {node: '>=0.10.0'} dependencies: code-point-at: 1.1.0 @@ -4964,7 +5162,7 @@ packages: dev: false /strip-ansi/3.0.1: - resolution: {integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=} + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} engines: {node: '>=0.10.0'} dependencies: ansi-regex: 2.1.1 @@ -5101,6 +5299,13 @@ packages: uint8array-tools: 0.0.6 dev: false + /tiny-secp256k1/2.2.1: + resolution: {integrity: sha512-/U4xfVqnVxJXN4YVsru0E6t5wVncu2uunB8+RVR40fYUxkKYUPS10f+ePQZgFBoE/Jbf9H1NBveupF2VmB58Ng==} + engines: {node: '>=14.0.0'} + dependencies: + uint8array-tools: 0.0.7 + dev: false + /to-readable-stream/1.0.0: resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} engines: {node: '>=6'} @@ -5118,6 +5323,11 @@ packages: engines: {node: '>=0.6'} dev: false + /toidentifier/1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: false + /token-types/5.0.1: resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==} engines: {node: '>=14.16'} @@ -5199,6 +5409,11 @@ packages: engines: {node: '>=10'} dev: false + /type-fest/2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + dev: false + /type-is/1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -5233,6 +5448,11 @@ packages: engines: {node: '>=14.0.0'} dev: false + /uint8array-tools/0.0.7: + resolution: {integrity: sha512-vrrNZJiusLWoFWBqz5Y5KMCgP9W9hnjZHzZiZRT8oNAkq3d5Z5Oe76jAvVVSRh4U8GGR90N2X1dWtrhvx6L8UQ==} + engines: {node: '>=14.0.0'} + dev: false + /undefsafe/[email protected]: resolution: {integrity: sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==} dependencies: @@ -5258,7 +5478,7 @@ packages: dev: false /unpipe/1.0.0: - resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=} + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} dev: false @@ -5310,7 +5530,7 @@ packages: dev: false /utils-merge/1.0.1: - resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} dev: false @@ -5342,7 +5562,7 @@ packages: dev: false /vary/1.1.2: - resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=} + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} dev: false @@ -5433,13 +5653,13 @@ packages: /wkx/0.4.8: resolution: {integrity: sha512-ikPXMM9IR/gy/LwiOSqWlSL3X/J5uk9EO2hHNRXS41eTLXaUFEVw9fn/593jW/tE5tedNg8YjT5HkCa4FqQZyQ==} dependencies: - '@types/node': 16.10.3 + '@types/node': 18.7.14 dev: false /wkx/0.5.0: resolution: {integrity: sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==} dependencies: - '@types/node': 16.10.3 + '@types/node': 18.7.14 dev: false /word-wrap/1.2.3: diff --git a/routes/bitcoin/receive.js b/routes/bitcoin/receive.js index c5baa76e..449e3984 100644 --- a/routes/bitcoin/receive.js +++ b/routes/bitcoin/receive.js @@ -49,7 +49,7 @@ zmqRawTx.on("message", async (topic, message, sequence) => { if ( Object.keys(addresses).includes(address) && - !change.includes(address) + !store.change.includes(address) ) { await db.transaction(async transaction => { let user = await db.User.findOne({ diff --git a/routes/liquid/receive.js b/routes/liquid/receive.js index 5f61bc73..624108cf 100644 --- a/routes/liquid/receive.js +++ b/routes/liquid/receive.js @@ -117,7 +117,7 @@ zmqRawTx.on("message", async (topic, message, sequence) => { if ( Object.keys(store.addresses).includes(address) && - !change.includes(address) + !store.change.includes(address) ) { await db.transaction(async transaction => { let user = await getUser(store.addresses[address], transaction); |
