aboutsummaryrefslogtreecommitdiffstats
path: root/routes
diff options
context:
space:
mode:
authorDerrick Schwabe <[email protected]>2022-05-01 16:22:16 -0600
committerDerrick Schwabe <[email protected]>2022-05-01 16:22:16 -0600
commit49561e914cc5d3cb21262cac0e96e5c295d8049c (patch)
treeba6816433c379b319763928e46b7da4b25ca04e1 /routes
parentb7a3b0bc84a18265a5a90aba606c15094ca76c57 (diff)
parentc80408c08ff2a8ca31df5ef3c7c9df13c9f714e4 (diff)
downloadcoinos-server-49561e914cc5d3cb21262cac0e96e5c295d8049c.tar.gz
coinos-server-49561e914cc5d3cb21262cac0e96e5c295d8049c.zip
Merge remote-tracking branch 'origin/master' into stageUpdate2
Diffstat (limited to 'routes')
-rw-r--r--routes/bitcoin/receive.js11
-rw-r--r--routes/bitcoin/send.js3
-rw-r--r--routes/lightning/receive.js3
3 files changed, 5 insertions, 12 deletions
diff --git a/routes/bitcoin/receive.js b/routes/bitcoin/receive.js
index e74f9394..5d8e21e7 100644
--- a/routes/bitcoin/receive.js
+++ b/routes/bitcoin/receive.js
@@ -68,15 +68,6 @@ zmqRawTx.on("message", async (topic, message, sequence) => {
if (!invoice) return;
- let payment = await db.Payment.findOne({
- where: {
- invoice_id: invoice.id
- },
- order: [["id", "DESC"]],
- });
-
- if (payment) return;
-
const currency = invoice ? invoice.currency : user.currency;
const rate = invoice ? invoice.rate : app.get("rates")[user.currency];
const tip = invoice ? invoice.tip : 0;
@@ -113,7 +104,7 @@ zmqRawTx.on("message", async (topic, message, sequence) => {
}
let fee = totalInputs - totalOutputs;
- payment = await db.Payment.create({
+ let payment = await db.Payment.create({
account_id: account.id,
user_id: user.id,
hash,
diff --git a/routes/bitcoin/send.js b/routes/bitcoin/send.js
index fe2b2862..9d64bb59 100644
--- a/routes/bitcoin/send.js
+++ b/routes/bitcoin/send.js
@@ -54,7 +54,7 @@ module.exports = ah(async (req, res) => {
if (total > account.balance) {
l.error("amount exceeds balance", amount, fee, account.balance);
- throw new Error("Insufficient funds");
+ throw new Error("low balance");
}
await account.decrement({ balance: total }, { transaction });
@@ -92,6 +92,7 @@ module.exports = ah(async (req, res) => {
payments.push(params.hash);
l.info("sent bitcoin", user.username, total);
} catch (e) {
+ if (e.message.includes("Insufficient")) e.message = "The coinos server hot wallet has insufficient funds to complete the payment, try again later";
l.error("error sending bitcoin", e.message);
return res.status(500).send(e.message);
}
diff --git a/routes/lightning/receive.js b/routes/lightning/receive.js
index ffc0ae03..6723d577 100644
--- a/routes/lightning/receive.js
+++ b/routes/lightning/receive.js
@@ -1,4 +1,5 @@
const handlePayment = async (msg) => {
+ l.info("incoming lightning payment", msg.value, msg.payment_request, msg.settled);
if (!msg.settled) return;
let account, total, user;
@@ -15,7 +16,7 @@ const handlePayment = async (msg) => {
await db.transaction(async (transaction) => {
const { text: hash, currency, memo, rate, tip, user_id } = invoice;
const amount = parseInt(msg.amt_paid_sat) - tip;
- if (amount > 10000000 || amount < 0)
+ if (amount < 0)
throw new Error("amount out of range");
account = await db.Account.findOne({