aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2020-09-14 14:42:32 -0700
committerAdam Soltys <[email protected]>2020-09-14 14:42:32 -0700
commit071a97a75161a76dffb295459e52d92f433dc571 (patch)
tree30462ff84a860b51dd6d9b2490f4c06f0699e7d3
parent3ae6e9e46956416164c4540881a3acb81aa0c672 (diff)
downloadcoinos-server-071a97a75161a76dffb295459e52d92f433dc571.tar.gz
coinos-server-071a97a75161a76dffb295459e52d92f433dc571.zip
return lnurl linking pubkey in socket message
-rw-r--r--routes/lnurl.js4
-rw-r--r--routes/send.js55
2 files changed, 28 insertions, 31 deletions
diff --git a/routes/lnurl.js b/routes/lnurl.js
index 2649ea6d..e726b966 100644
--- a/routes/lnurl.js
+++ b/routes/lnurl.js
@@ -431,7 +431,7 @@ lnurlServer.bindToHook("login", async (key) => {
} else {
l.info("user not found");
user = await register({
- username: key,
+ username: key.substr(0, 8),
password: key,
});
}
@@ -442,7 +442,7 @@ lnurlServer.bindToHook("login", async (key) => {
const token = jwt.sign(payload, config.jwt);
const ws = sessions[logins[key].k1];
if (ws && ws.send)
- ws.send(JSON.stringify({ type: "token", data: token }));
+ ws.send(JSON.stringify({ type: "token", data: { token, key } }));
}
} catch (e) {
l.error("problem with login hook", e.message);
diff --git a/routes/send.js b/routes/send.js
index c87e2c1a..7fd22393 100644
--- a/routes/send.js
+++ b/routes/send.js
@@ -9,14 +9,14 @@ module.exports = ah(async (req, res, next) => {
return res.status(500).send("Amount must be greater than zero");
try {
- await db.transaction(async (transaction) => {
+ await db.transaction(async transaction => {
let account = await db.Account.findOne({
where: {
user_id: user.id,
- asset,
+ asset
},
lock: transaction.LOCK.UPDATE,
- transaction,
+ transaction
});
if (account.balance < amount) {
@@ -37,13 +37,13 @@ module.exports = ah(async (req, res, next) => {
currency: user.currency,
confirmed: true,
hash: "Internal Transfer",
- network: "COINOS",
+ network: "COINOS"
};
if (!username) {
l.info("creating redeemable payment");
params.redeemcode = uuidv4();
- params.hash = `${req.get('origin')}/redeem/${params.redeemcode}`;
+ params.hash = `${req.get("origin")}/redeem/${params.redeemcode}`;
}
let payment = await db.Payment.create(params, { transaction });
@@ -62,11 +62,10 @@ module.exports = ah(async (req, res, next) => {
where: { username },
include: {
model: db.Account,
- as: 'account'
- },
+ as: "account"
+ }
});
-
const invoice = await db.Invoice.findOne({
where: {
user_id: user.id,
@@ -75,26 +74,25 @@ module.exports = ah(async (req, res, next) => {
order: [["id", "DESC"]],
include: {
model: db.Account,
- as: "account",
- },
+ as: "account"
+ }
});
-
if (invoice) ({ account } = invoice);
- else if (user.account.asset === asset && !user.account.pubkey) ({ account } = user);
+ else if (user.account.asset === asset && !user.account.pubkey)
+ ({ account } = user);
else {
+ let params = {
+ user_id: user.id,
+ asset,
+ pubkey: null
+ };
- let params = {
- user_id: user.id,
- asset,
- pubkey: null,
- };
-
- account = await db.Account.findOne({
- where: params,
- lock: transaction.LOCK.UPDATE,
- transaction,
- });
+ account = await db.Account.findOne({
+ where: params,
+ lock: transaction.LOCK.UPDATE,
+ transaction
+ });
}
if (account) {
@@ -114,10 +112,10 @@ module.exports = ah(async (req, res, next) => {
} else {
const existing = await db.Account.findOne({
where: {
- asset,
+ asset
},
order: [["id", "ASC"]],
- limit: 1,
+ limit: 1
});
l.info("existing", existing);
@@ -144,7 +142,7 @@ module.exports = ah(async (req, res, next) => {
hash: "Internal Transfer",
memo,
network: "COINOS",
- received: true,
+ received: true
},
{ transaction }
);
@@ -156,16 +154,15 @@ module.exports = ah(async (req, res, next) => {
l.info("received internal", user.username, amount);
notify(user, `Received ${amount} ${account.ticker} sats`);
-
- res.send(payment);
}
+ res.send(payment);
});
} catch (e) {
l.error(
"problem sending internal payment",
user.username,
user.balance,
- e.message,
+ e.message
);
return res.status(500).send(e.message);
}