From ff8965033788ef23a3d9b08043d94d3110ffad7d Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Wed, 17 Jan 2018 21:12:56 -0300 Subject: [PATCH 1/3] fix race condition at push service --- lib/pushnotificationsservice.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/pushnotificationsservice.js b/lib/pushnotificationsservice.js index df41c45..40b5b32 100644 --- a/lib/pushnotificationsservice.js +++ b/lib/pushnotificationsservice.js @@ -189,7 +189,7 @@ PushNotificationsService.prototype._checkShouldSendNotif = function(notification if (notification.type != 'NewTxProposal') return cb(null, true); self.storage.fetchWallet(notification.walletId, function(err, wallet) { - return cb(err, wallet.m > 1); + return cb(err, wallet && wallet.m > 1); }); }; @@ -297,7 +297,7 @@ PushNotificationsService.prototype._getDataForTemplate = function(notification, } self.storage.fetchWallet(notification.walletId, function(err, wallet) { - if (err) return cb(err); + if (err || !wallet) return cb(err); data.walletId = wallet.id; data.walletName = wallet.name; From b40a24691ad9d0f66273c061fd9f16570689eae3 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Fri, 19 Jan 2018 18:14:02 -0300 Subject: [PATCH 2/3] translate bch addr from monitor --- lib/blockchainmonitor.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/blockchainmonitor.js b/lib/blockchainmonitor.js index 0f15cb8..b217c80 100644 --- a/lib/blockchainmonitor.js +++ b/lib/blockchainmonitor.js @@ -14,7 +14,9 @@ var Lock = require('./lock'); var Notification = require('./model/notification'); var WalletService = require('./server'); -var Constants = require('./common/constants'); +var Common = require('./common'); +var Constants = Common.Constants; +var Utils = Common.Utils; function BlockchainMonitor() {}; @@ -157,6 +159,12 @@ BlockchainMonitor.prototype._handleIncomingPayments = function(coin, network, da var outs = _.compact(_.map(data.vout, function(v) { var addr = _.keys(v)[0]; + // This is because a bug on insight, that always return no copay addr + if (coin == 'bch' && Utils.getAddressCoin(addr) !='bch') { + addr = Utils.translateAddress(addr, coin); +console.log('[blockchainmonitor.js.164:addr:]',addr); //TODO + } + return { address: addr, amount: +v[addr] @@ -165,6 +173,8 @@ BlockchainMonitor.prototype._handleIncomingPayments = function(coin, network, da if (_.isEmpty(outs)) return; async.each(outs, function(out, next) { + + // toDo, remove coin here: no more same address for diff coins self.storage.fetchAddressByCoin(coin, out.address, function(err, address) { if (err) { log.error('Could not fetch addresses from the db'); From 072bb336c584d2565bc0597b1ad165547362f418 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Fri, 19 Jan 2018 18:16:44 -0300 Subject: [PATCH 3/3] translate bch addr if needed --- lib/blockchainmonitor.js | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/blockchainmonitor.js b/lib/blockchainmonitor.js index b217c80..1e43abf 100644 --- a/lib/blockchainmonitor.js +++ b/lib/blockchainmonitor.js @@ -162,7 +162,6 @@ BlockchainMonitor.prototype._handleIncomingPayments = function(coin, network, da // This is because a bug on insight, that always return no copay addr if (coin == 'bch' && Utils.getAddressCoin(addr) !='bch') { addr = Utils.translateAddress(addr, coin); -console.log('[blockchainmonitor.js.164:addr:]',addr); //TODO } return {