Wallet/js/services/network.js

70 lines
1.7 KiB
JavaScript
Raw Normal View History

'use strict';
angular.module('copay.network')
2014-04-15 12:17:28 -03:00
.factory('Network', function($rootScope) {
var peer;
var _refreshUx = function() {
2014-04-15 12:17:28 -03:00
var net = $rootScope.wallet.network;
2014-04-15 14:28:49 -03:00
log('*** UPDATING UX'); //TODO
2014-04-15 12:17:28 -03:00
$rootScope.peedId = net.peerId;
$rootScope.connectedPeers = net.connectedPeers;
$rootScope.$digest();
};
2014-04-07 13:26:29 -03:00
2014-04-16 17:50:10 -03:00
var closeWallet = function() {
2014-04-15 12:17:28 -03:00
var w = $rootScope.wallet;
2014-04-16 17:50:10 -03:00
if (w && w.id) w.store();
2014-04-08 00:54:38 -03:00
2014-04-16 17:50:10 -03:00
log('### CLOSING WALLET');
delete $rootScope['wallet'];
};
2014-04-08 00:54:38 -03:00
2014-04-16 17:50:10 -03:00
// public methods
var init = function(walletId, cb) {
if (!$rootScope.wallet) {
// create an empty Wallet
$rootScope.wallet = new copay.Wallet(config);
}
var w = $rootScope.wallet;
console.log('[network.js.30:walletId:]',walletId); //TODO
if (!walletId) w.openWalletId();
w.on('created', _refreshUx);
w.on('txProposals', _refreshUx);
w.on('publicKeyRing', _refreshUx);
w.on('abort', function() {
disconnect();
2014-04-15 12:17:28 -03:00
_refreshUx();
2014-04-16 17:50:10 -03:00
});
w.netStart(cb);
};
2014-04-09 11:05:25 -03:00
var disconnect = function() {
2014-04-15 12:17:28 -03:00
var w = $rootScope.wallet;
var net = w.network;
if (net) {
net.disconnect();
}
closeWallet();
};
2014-04-10 02:16:57 -03:00
var connect = function(peerId, openCallback, failCallback) {
2014-04-16 17:50:10 -03:00
$rootScope.wallet.connectTo(peerId);
$rootScope.wallet.on('open', openCallback);
$rootScope.wallet.on('close', failCallback);
2014-04-08 18:35:43 -03:00
};
2014-04-15 12:17:28 -03:00
var sendTxProposals = function(recipients) {
var w = $rootScope.wallet;
w.sendTxProposals(recipients);
};
return {
2014-04-07 13:26:29 -03:00
init: init,
connect: connect,
disconnect: disconnect,
2014-04-15 12:17:28 -03:00
sendTxProposals: sendTxProposals,
}
});