Removed 'funds received' notification for change addresses

This commit is contained in:
Ivan Socolsky 2014-09-17 17:34:00 -03:00
commit e0263cf594
3 changed files with 37 additions and 7 deletions

View file

@ -710,7 +710,13 @@ Wallet.prototype._setBlockchainListeners = function() {
}); });
this.blockchain.on('tx', function(tx) { this.blockchain.on('tx', function(tx) {
log.debug('blockchain tx event'); log.debug('blockchain tx event');
self.emit('tx', tx.address); var addresses = self.getAddressesInfo();
var addr = _.findWhere(addresses, {
addressStr: tx.address
});
if (addr) {
self.emit('tx', tx.address, addr.isChange);
}
}); });
if (!self.spendUnconfirmed) { if (!self.spendUnconfirmed) {
@ -1403,10 +1409,9 @@ Wallet.prototype.receivePaymentRequest = function(options, pr, cb) {
expires: expires, expires: expires,
memo: memo || 'This server would like some BTC from you.', memo: memo || 'This server would like some BTC from you.',
payment_url: payment_url, payment_url: payment_url,
merchant_data: merchant_data merchant_data: merchant_data ? merchant_data.toString('hex')
? merchant_data.toString('hex') // : new Buffer('none', 'utf8').toString('hex')
// : new Buffer('none', 'utf8').toString('hex') : '00'
: '00'
}, },
signature: sig.toString('hex'), signature: sig.toString('hex'),
ca: trust.caName, ca: trust.caName,

View file

@ -69,8 +69,10 @@ angular.module('copayApp.services')
} }
}); });
w.on('tx', function(address) { w.on('tx', function(address, isChange) {
notification.funds('Funds received!', address); if (!isChange) {
notification.funds('Funds received!', address);
}
root.updateBalance(function() { root.updateBalance(function() {
$rootScope.$digest(); $rootScope.$digest();
}); });

View file

@ -1591,4 +1591,27 @@ describe('Wallet model', function() {
should.exist(n.networkNonce); should.exist(n.networkNonce);
}); });
it('should emit notification when tx received', function(done) {
var w = cachedCreateW2();
w.blockchain.removeAllListeners = sinon.stub();
var spy = sinon.spy(w, 'emit');
w.generateAddress(false, function(addr1) {
w.generateAddress(true, function(addr2) {
w.blockchain.on = sinon.stub().withArgs('tx').yields({
address: addr1.toString(),
});
w._setBlockchainListeners();
spy.calledWith('tx', addr1.toString(), false).should.be.true;
w.blockchain.on = sinon.stub().withArgs('tx').yields({
address: addr2.toString(),
});
w._setBlockchainListeners();
spy.calledWith('tx', addr2.toString(), true).should.be.true;
done();
});
});
});
}); });