subscribe addresses
This commit is contained in:
parent
7690b594a4
commit
3fe2aaa828
30
lib/wsapp.js
30
lib/wsapp.js
|
@ -23,16 +23,38 @@ WsApp._unauthorized = function() {
|
||||||
socket.disconnect();
|
socket.disconnect();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
WsApp.subscribeAddresses = function(walletId, addresses) {
|
||||||
|
console.log('*** [wsapp.js ln27] subscribing:', addresses, walletId); // TODO
|
||||||
|
|
||||||
|
_.each([].concat(addresses), function(address) {
|
||||||
|
subscriptions[address] = walletId;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
WsApp.subscribeWallet = function(serviceInstance) {
|
||||||
|
// TODO: optimize!
|
||||||
|
serviceInstance.getMainAddresses({}, function(err, addresses) {
|
||||||
|
if (err) {
|
||||||
|
log.warn('Could not subscribe to addresses for wallet ' + serviceInstance.walletId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
WsApp.subscribeAddress(_.pluck(addresses, 'address'), serviceInstance.walletId);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
WsApp.start = function(server) {
|
WsApp.start = function(server) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
var io = require('socket.io')(server);
|
var io = require('socket.io')(server);
|
||||||
|
|
||||||
WalletService.onNotification(function(serviceInstance, args) {
|
WalletService.onNotification(function(serviceInstance, args) {
|
||||||
var room = serviceInstance.walletId || args.walletId;
|
var walletId = serviceInstance.walletId || args.walletId;
|
||||||
if (room) {
|
if (!walletId) return;
|
||||||
io.to(room).emit('notification', args);
|
|
||||||
|
if (args.type == 'NewAddress') {
|
||||||
|
WsApp.subscribeAddress(walletId, args.address);
|
||||||
}
|
}
|
||||||
|
io.to(walletId).emit('notification', args);
|
||||||
});
|
});
|
||||||
|
|
||||||
io.on('connection', function(socket) {
|
io.on('connection', function(socket) {
|
||||||
|
@ -47,6 +69,8 @@ WsApp.start = function(server) {
|
||||||
|
|
||||||
socket.join(res.walletId);
|
socket.join(res.walletId);
|
||||||
socket.emit('authorized');
|
socket.emit('authorized');
|
||||||
|
|
||||||
|
WsApp.subscribeWallet(res);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue