From 5b0f8d26ecf19077b1c12e29ec62bdfc3a2edeea Mon Sep 17 00:00:00 2001 From: Evan Feenstra Date: Wed, 30 Sep 2020 19:49:06 -0700 Subject: [PATCH] heartbeat --- config/constants.json | 4 +- dist/config/constants.json | 4 +- dist/src/controllers/confirmations.js | 32 +++++++++ dist/src/controllers/confirmations.js.map | 2 +- dist/src/controllers/index.js | 2 + dist/src/controllers/index.js.map | 2 +- src/controllers/confirmations.ts | 85 ++++++++++++++++------- src/controllers/index.ts | 2 + 8 files changed, 102 insertions(+), 31 deletions(-) diff --git a/config/constants.json b/config/constants.json index 6f7f4f1..b1e5374 100644 --- a/config/constants.json +++ b/config/constants.json @@ -51,7 +51,9 @@ "tribe_delete": 22, "bot_install": 23, "bot_cmd": 24, - "bot_res": 25 + "bot_res": 25, + "heartbeat": 26, + "heartbeat_confirmation": 27 }, "payment_errors": { "timeout": "Timed Out", diff --git a/dist/config/constants.json b/dist/config/constants.json index ec097ee..5a150e8 100644 --- a/dist/config/constants.json +++ b/dist/config/constants.json @@ -51,7 +51,9 @@ "tribe_delete": 22, "bot_install": 23, "bot_cmd": 24, - "bot_res": 25 + "bot_res": 25, + "heartbeat": 26, + "heartbeat_confirmation": 27 }, "payment_errors": { "timeout": "Timed Out", diff --git a/dist/src/controllers/confirmations.js b/dist/src/controllers/confirmations.js index e01f7e9..3abae89 100644 --- a/dist/src/controllers/confirmations.js +++ b/dist/src/controllers/confirmations.js @@ -113,4 +113,36 @@ function tribeOwnerAutoConfirmation(msg_id, chat_uuid) { }); } exports.tribeOwnerAutoConfirmation = tribeOwnerAutoConfirmation; +function receiveHeartbeat(payload) { + return __awaiter(this, void 0, void 0, function* () { + console.log('=> received heartbeat'); + const dat = payload.content || payload; + const sender_pub_key = dat.sender.pub_key; + const amount = dat.message.amount; + if (!(sender_pub_key && sender_pub_key.length === 66)) + return console.log('no sender'); + if (!amount) + return console.log('no amount'); + const owner = yield models_1.models.Contact.findOne({ where: { isOwner: true } }); + const MIN_SATS = 3; + const amt = Math.max(amount || MIN_SATS); + const opts = { + amt, + dest: sender_pub_key, + data: { + type: constants.message_types.heartbeat_confirmation, + message: { amount: amt }, + sender: { pub_key: owner.publicKey } + } + }; + try { + yield network.signAndSend(opts); + return true; + } + catch (e) { + return false; + } + }); +} +exports.receiveHeartbeat = receiveHeartbeat; //# sourceMappingURL=confirmations.js.map \ No newline at end of file diff --git a/dist/src/controllers/confirmations.js.map b/dist/src/controllers/confirmations.js.map index 69feac8..f733aba 100644 --- a/dist/src/controllers/confirmations.js.map +++ b/dist/src/controllers/confirmations.js.map @@ -1 +1 @@ -{"version":3,"file":"confirmations.js","sourceRoot":"","sources":["../../../src/controllers/confirmations.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"confirmations.js","sourceRoot":"","sources":["../../../src/controllers/confirmations.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/src/controllers/index.js b/dist/src/controllers/index.js index 3c044f0..ea13610 100644 --- a/dist/src/controllers/index.js +++ b/dist/src/controllers/index.js @@ -147,5 +147,7 @@ exports.ACTIONS = { [msgtypes.bot_install]: bots.receiveBotInstall, [msgtypes.bot_cmd]: bots.receiveBotCmd, [msgtypes.bot_res]: bots.receiveBotRes, + [msgtypes.heartbeat]: confirmations.receiveHeartbeat, + [msgtypes.heartbeat_confirmation]: () => { }, }; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/src/controllers/index.js.map b/dist/src/controllers/index.js.map index 3741a53..221ca7f 100644 --- a/dist/src/controllers/index.js.map +++ b/dist/src/controllers/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controllers/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controllers/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/controllers/confirmations.ts b/src/controllers/confirmations.ts index 531f288..15a4d3e 100644 --- a/src/controllers/confirmations.ts +++ b/src/controllers/confirmations.ts @@ -1,47 +1,47 @@ import lock from '../utils/lock' -import {models} from '../models' +import { models } from '../models' import * as socket from '../utils/socket' import * as jsonUtils from '../utils/json' import * as network from '../network' import * as path from 'path' -const constants = require(path.join(__dirname,'../../config/constants.json')) +const constants = require(path.join(__dirname, '../../config/constants.json')) export function sendConfirmation({ chat, sender, msg_id }) { - if(!msg_id) return + if (!msg_id) return network.sendMessage({ chat, sender, - message: {id:msg_id}, + message: { id: msg_id }, type: constants.message_types.confirmation, }) } export async function receiveConfirmation(payload) { - console.log('=> received confirmation', (payload.message&&payload.message.id)) + console.log('=> received confirmation', (payload.message && payload.message.id)) const dat = payload.content || payload const chat_uuid = dat.chat.uuid const msg_id = dat.message.id const sender_pub_key = dat.sender.pub_key - const owner = await models.Contact.findOne({ where: { isOwner: true }}) + const owner = await models.Contact.findOne({ where: { isOwner: true } }) const sender = await models.Contact.findOne({ where: { publicKey: sender_pub_key } }) const chat = await models.Chat.findOne({ where: { uuid: chat_uuid } }) - + // new confirmation logic - if(msg_id){ - lock.acquire('confirmation', async function(done){ + if (msg_id) { + lock.acquire('confirmation', async function (done) { // console.log("update status map") - const message = await models.Message.findOne({ where:{id:msg_id} }) - if(message){ + const message = await models.Message.findOne({ where: { id: msg_id } }) + if (message) { let statusMap = {} - try{ - statusMap = JSON.parse(message.statusMap||'{}') - } catch(e){} + try { + statusMap = JSON.parse(message.statusMap || '{}') + } catch (e) { } statusMap[sender.id] = constants.statuses.received - await message.update({ + await message.update({ status: constants.statuses.received, statusMap: JSON.stringify(statusMap) }) @@ -67,10 +67,10 @@ export async function receiveConfirmation(payload) { }, order: [['createdAt', 'desc']] }) - + const message = messages[0] message.update({ status: constants.statuses.received }) - + socket.sendJson({ type: 'confirmation', response: jsonUtils.messageToJson(message, chat, sender) @@ -78,19 +78,19 @@ export async function receiveConfirmation(payload) { } } -export async function tribeOwnerAutoConfirmation(msg_id,chat_uuid){ - if(!msg_id || !chat_uuid) return - const message = await models.Message.findOne({ where:{id:msg_id} }) - const chat = await models.Chat.findOne({where:{uuid:chat_uuid}}) - - if(message){ +export async function tribeOwnerAutoConfirmation(msg_id, chat_uuid) { + if (!msg_id || !chat_uuid) return + const message = await models.Message.findOne({ where: { id: msg_id } }) + const chat = await models.Chat.findOne({ where: { uuid: chat_uuid } }) + + if (message) { let statusMap = {} - try{ - statusMap = JSON.parse(message.statusMap||'{}') - } catch(e){} + try { + statusMap = JSON.parse(message.statusMap || '{}') + } catch (e) { } statusMap['chat'] = constants.statuses.received - await message.update({ + await message.update({ status: constants.statuses.received, statusMap: JSON.stringify(statusMap) }) @@ -100,3 +100,34 @@ export async function tribeOwnerAutoConfirmation(msg_id,chat_uuid){ }) } } + +export async function receiveHeartbeat(payload) { + console.log('=> received heartbeat') + + const dat = payload.content || payload + const sender_pub_key = dat.sender.pub_key + const amount = dat.message.amount + + if (!(sender_pub_key && sender_pub_key.length===66)) return console.log('no sender') + if (!amount) return console.log('no amount') + + const owner = await models.Contact.findOne({ where: { isOwner: true } }) + + const MIN_SATS = 3 + const amt = Math.max(amount || MIN_SATS) + const opts = { + amt, + dest:sender_pub_key, + data: { + type: constants.message_types.heartbeat_confirmation, + message: { amount: amt }, + sender: {pub_key: owner.publicKey} + } + } + try { + await network.signAndSend(opts) + return true + } catch (e) { + return false + } +} \ No newline at end of file diff --git a/src/controllers/index.ts b/src/controllers/index.ts index 94e7c5b..61fbe97 100644 --- a/src/controllers/index.ts +++ b/src/controllers/index.ts @@ -147,4 +147,6 @@ export const ACTIONS = { [msgtypes.bot_install]: bots.receiveBotInstall, [msgtypes.bot_cmd]: bots.receiveBotCmd, [msgtypes.bot_res]: bots.receiveBotRes, + [msgtypes.heartbeat]: confirmations.receiveHeartbeat, + [msgtypes.heartbeat_confirmation]: ()=>{}, }