diff --git a/lib/blockchainmonitor.js b/lib/blockchainmonitor.js index 0f15cb8..1e43abf 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,11 @@ 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); + } + return { address: addr, amount: +v[addr] @@ -165,6 +172,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'); 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;