Update Coinbase from tab-home

This commit is contained in:
Gustavo Maximiliano Cortez 2017-01-04 12:14:36 -03:00
commit 1a7f66273e
No known key found for this signature in database
GPG key ID: 15EDAD8D9F2EB1AF
2 changed files with 17 additions and 2 deletions

View file

@ -1,7 +1,7 @@
'use strict'; 'use strict';
angular.module('copayApp.controllers').controller('tabHomeController', angular.module('copayApp.controllers').controller('tabHomeController',
function($rootScope, $timeout, $scope, $state, $stateParams, $ionicModal, $ionicScrollDelegate, $window, gettextCatalog, lodash, popupService, ongoingProcess, externalLinkService, latestReleaseService, profileService, walletService, configService, $log, platformInfo, storageService, txpModalService, appConfigService, bitpayCardService, startupService, addressbookService, feedbackService, bwcError) { function($rootScope, $timeout, $scope, $state, $stateParams, $ionicModal, $ionicScrollDelegate, $window, gettextCatalog, lodash, popupService, ongoingProcess, externalLinkService, latestReleaseService, profileService, walletService, configService, $log, platformInfo, storageService, txpModalService, appConfigService, bitpayCardService, startupService, addressbookService, feedbackService, bwcError, coinbaseService) {
var wallet; var wallet;
var listeners = []; var listeners = [];
var notifications = []; var notifications = [];
@ -83,6 +83,10 @@ angular.module('copayApp.controllers').controller('tabHomeController',
var wallet = profileService.getWallet(walletId); var wallet = profileService.getWallet(walletId);
updateWallet(wallet); updateWallet(wallet);
if ($scope.recentTransactionsEnabled) getNotifications(); if ($scope.recentTransactionsEnabled) getNotifications();
if (type == 'NewBlock' && n && n.data && n.data.network == 'livenet') {
// Update Coinbase
coinbaseService.updatePendingTransactions();
}
}), }),
$rootScope.$on('Local/TxAction', function(e, walletId) { $rootScope.$on('Local/TxAction', function(e, walletId) {
$log.debug('Got action for wallet ' + walletId); $log.debug('Got action for wallet ' + walletId);

View file

@ -181,7 +181,7 @@ angular.module('copayApp.services').factory('coinbaseService', function($http, $
if (lodash.isEmpty(credentials.CLIENT_ID)) { if (lodash.isEmpty(credentials.CLIENT_ID)) {
return cb('Coinbase is Disabled'); return cb('Coinbase is Disabled');
} }
$log.debug('Init Token...'); $log.debug('Trying to initialise Coinbase...');
storageService.getCoinbaseToken(credentials.NETWORK, function(err, accessToken) { storageService.getCoinbaseToken(credentials.NETWORK, function(err, accessToken) {
if (err || !accessToken) return cb(); if (err || !accessToken) return cb();
@ -478,6 +478,10 @@ angular.module('copayApp.services').factory('coinbaseService', function($http, $
root.getPendingTransactions = function(coinbasePendingTransactions) { root.getPendingTransactions = function(coinbasePendingTransactions) {
root.init(function(err, data) { root.init(function(err, data) {
if (err || lodash.isEmpty(data)) {
if (err) $log.error(err);
return;
}
var accessToken = data.accessToken; var accessToken = data.accessToken;
var accountId = data.accountId; var accountId = data.accountId;
storageService.getCoinbaseTxs(credentials.NETWORK, function(err, txs) { storageService.getCoinbaseTxs(credentials.NETWORK, function(err, txs) {
@ -550,6 +554,13 @@ angular.module('copayApp.services').factory('coinbaseService', function($http, $
}); });
}; };
root.updatePendingTransactions = lodash.throttle(function() {
$log.debug('Updating pending transactions...');
root.setCredentials();
var pendingTransactions = { data: {} };
root.getPendingTransactions(pendingTransactions);
}, 20000);
var _updateTxs = function(coinbasePendingTransactions) { var _updateTxs = function(coinbasePendingTransactions) {
storageService.getCoinbaseTxs(credentials.NETWORK, function(err, txs) { storageService.getCoinbaseTxs(credentials.NETWORK, function(err, txs) {
txs = txs ? JSON.parse(txs) : {}; txs = txs ? JSON.parse(txs) : {};