diff --git a/app-template/bitcoincom/appConfig.json b/app-template/bitcoincom/appConfig.json
index 4d879e224..bb387db77 100644
--- a/app-template/bitcoincom/appConfig.json
+++ b/app-template/bitcoincom/appConfig.json
@@ -24,9 +24,9 @@
"windowsAppId": "804636ee-b017-4cad-8719-e58ac97ffa5c",
"pushSenderId": "1036948132229",
"description": "A Secure Bitcoin Wallet",
- "version": "5.9.1",
- "fullVersion": "5.9-rc2",
- "androidVersion": "509001",
+ "version": "5.9.4",
+ "fullVersion": "5.9-hotfix2",
+ "androidVersion": "509004",
"_extraCSS": "",
"_enabledExtensions": {
"coinbase": false,
diff --git a/app-template/package-template.json b/app-template/package-template.json
index 2edad2b8f..666ac790a 100644
--- a/app-template/package-template.json
+++ b/app-template/package-template.json
@@ -89,9 +89,9 @@
},
"scripts": {
"apply:bitcoincom": "npm i fs-extra && cd app-template && node apply.js bitcoincom && npm i && cordova prepare && cd ../ && ./fix-asn1.sh",
-
+
"build:app-release": "grunt build-app-release",
-
+
"build:mobile-release": "grunt build-mobile-release",
"build:desktop-release": "grunt build-desktop-release",
@@ -110,10 +110,10 @@
"build:windows-release": "cordova prepare windows && cordova build windows --release --arch=\"ARM\"",
"build:www": "grunt",
"build:www-release": "grunt prod",
-
+
"clean": "trash platforms && trash plugins && cordova prepare",
"clean-all": "git clean -dfx",
-
+
"log:android": "adb logcat | grep chromium",
"open:android": "grunt exec:android_studio",
diff --git a/resources/bitcoin.com/android/icon/drawable-hdpi-icon.png b/resources/bitcoin.com/android/icon/drawable-hdpi-icon.png
old mode 100644
new mode 100755
index 0753ae732..9f8314a72
Binary files a/resources/bitcoin.com/android/icon/drawable-hdpi-icon.png and b/resources/bitcoin.com/android/icon/drawable-hdpi-icon.png differ
diff --git a/resources/bitcoin.com/android/icon/drawable-ldpi-icon.png b/resources/bitcoin.com/android/icon/drawable-ldpi-icon.png
index a318c2e98..9d47e13aa 100644
Binary files a/resources/bitcoin.com/android/icon/drawable-ldpi-icon.png and b/resources/bitcoin.com/android/icon/drawable-ldpi-icon.png differ
diff --git a/resources/bitcoin.com/android/icon/drawable-mdpi-icon.png b/resources/bitcoin.com/android/icon/drawable-mdpi-icon.png
old mode 100644
new mode 100755
index 5edec10a6..6451d1799
Binary files a/resources/bitcoin.com/android/icon/drawable-mdpi-icon.png and b/resources/bitcoin.com/android/icon/drawable-mdpi-icon.png differ
diff --git a/resources/bitcoin.com/android/icon/drawable-xhdpi-icon.png b/resources/bitcoin.com/android/icon/drawable-xhdpi-icon.png
old mode 100644
new mode 100755
index 70257cb2c..ea7696cfd
Binary files a/resources/bitcoin.com/android/icon/drawable-xhdpi-icon.png and b/resources/bitcoin.com/android/icon/drawable-xhdpi-icon.png differ
diff --git a/resources/bitcoin.com/android/icon/drawable-xxhdpi-icon.png b/resources/bitcoin.com/android/icon/drawable-xxhdpi-icon.png
old mode 100644
new mode 100755
index 83a10e9ef..ffbe44e32
Binary files a/resources/bitcoin.com/android/icon/drawable-xxhdpi-icon.png and b/resources/bitcoin.com/android/icon/drawable-xxhdpi-icon.png differ
diff --git a/resources/bitcoin.com/android/icon/drawable-xxxhdpi-icon.png b/resources/bitcoin.com/android/icon/drawable-xxxhdpi-icon.png
old mode 100644
new mode 100755
index c17ed27cb..f02a9a32c
Binary files a/resources/bitcoin.com/android/icon/drawable-xxxhdpi-icon.png and b/resources/bitcoin.com/android/icon/drawable-xxxhdpi-icon.png differ
diff --git a/src/js/controllers/create.js b/src/js/controllers/create.js
index a21053e2d..631233022 100644
--- a/src/js/controllers/create.js
+++ b/src/js/controllers/create.js
@@ -25,9 +25,10 @@ angular.module('copayApp.controllers').controller('createController',
$scope.formData = {};
var config = configService.getSync();
var defaults = configService.getDefaults();
- var tc = $state.current.name == 'tabs.add.create-personal' ? 1 : defaults.wallet.totalCopayers;
+ var totalCopayers = $state.current.name == 'tabs.add.create-personal' ? 1 : defaults.wallet.totalCopayers;
+ var bchUrl = totalCopayers == 1 ? defaults.bwscashnew.url : defaults.bwscash.url;
$scope.formData.account = 1;
- $scope.formData.bwsurl = data.stateParams.coin == 'btc' ? defaults.bws.url : defaults.bwscash.url;
+ $scope.formData.bwsurl = data.stateParams.coin == 'btc' ? defaults.bws.url : bchUrl;
$scope.TCValues = lodash.range(2, defaults.limits.totalCopayers + 1);
$scope.formData.derivationPath = derivationPathHelper.default;
$scope.formData.coin = data.stateParams.coin;
@@ -36,8 +37,8 @@ angular.module('copayApp.controllers').controller('createController',
if (config.cashSupport) $scope.enableCash = true;
- $scope.setTotalCopayers(tc);
- updateRCSelect(tc);
+ $scope.setTotalCopayers(totalCopayers);
+ updateRCSelect(totalCopayers);
resetPasswordFields();
});
diff --git a/src/js/controllers/custom-amount.controller.js b/src/js/controllers/custom-amount.controller.js
index b6a6cb9ed..da41c79be 100644
--- a/src/js/controllers/custom-amount.controller.js
+++ b/src/js/controllers/custom-amount.controller.js
@@ -48,6 +48,7 @@
var coinsFromSatoshis = 0;
var listeningAddressLegacy = '';
var satoshisRequested = 0;
+ var bchAddresses = {};
function _showErrorAndBack(title, msg) {
popupService.showAlert(title, msg, function() {
@@ -80,8 +81,7 @@
}
$scope.bchAddressType = 'cashaddr';
- var bchAddresses = {};
-
+
if ($scope.wallet.coin == 'bch') {
bchAddresses = bitcoinCashJsService.translateAddresses(addr);
vm.displayAddress = bchAddresses[$scope.bchAddressType];
diff --git a/src/js/controllers/import.js b/src/js/controllers/import.js
index 59db5c753..062a6a341 100644
--- a/src/js/controllers/import.js
+++ b/src/js/controllers/import.js
@@ -13,7 +13,8 @@ angular.module('copayApp.controllers').controller('importController',
$scope.supportsTrezor = platformInfo.supportsTrezor;
$scope.isCordova = platformInfo.isCordova;
$scope.formData = {};
- $scope.formData.bwsurl = $stateParams.coin == 'btc' ? defaults.bws.url : defaults.bwscash.url;
+ $scope.isCopay = appConfigService.name == 'copay';
+ $scope.formData.bwsurl = $stateParams.coin == 'btc' ? defaults.bws.url : $scope.isCopay ? defaults.bwscash.url : defaults.bwscashnew.url;
$scope.formData.derivationPath = derivationPathHelper.default;
$scope.formData.account = 1;
$scope.formData.coin = $stateParams.coin ? $stateParams.coin : 'bch';
@@ -78,7 +79,7 @@ angular.module('copayApp.controllers').controller('importController',
};
$scope.coinChanged = function() {
- $scope.formData.bwsurl = $scope.formData.coin == 'btc' ? defaults.bws.url : defaults.bwscash.url;
+ $scope.formData.bwsurl = $scope.formData.coin == 'btc' ? defaults.bws.url : $scope.isCopay ? defaults.bwscash.url : defaults.bwscashnew.url;
}
$scope.processWalletInfo = function(code) {
diff --git a/src/js/controllers/marco-coino.controller.js b/src/js/controllers/marco-coino.controller.js
index b00a468f5..642d77b7d 100644
--- a/src/js/controllers/marco-coino.controller.js
+++ b/src/js/controllers/marco-coino.controller.js
@@ -16,7 +16,7 @@
, $timeout
) {
- var MARCO_COINO_BASE_URL = 'https://marco-coino.firebaseapp.com/marcocoino-embed.html?zoom=5&color=gold';
+ var MARCO_COINO_BASE_URL = 'https://marco-coino.firebaseapp.com/marcocoino-embed.html?zoom=5&color=default';
var ADD_MERCHANT_URL = 'https://marcocoino.bitcoin.com/submit-listing/';
var vm = this;
diff --git a/src/js/controllers/modals/pin.js b/src/js/controllers/modals/pin.js
index bb7fa41a9..7420c6d7c 100644
--- a/src/js/controllers/modals/pin.js
+++ b/src/js/controllers/modals/pin.js
@@ -70,7 +70,7 @@ angular.module('copayApp.controllers').controller('pinController', function($sta
};
$scope.getFilledClass = function(limit) {
- return currentPin.length >= limit ? 'filled-' + $scope.appName : null;
+ return currentPin.length >= limit ? 'filled' : null;
};
$scope.delete = function() {
diff --git a/src/js/services/bitcoincomService.js b/src/js/services/bitcoincomService.js
index b01f585fd..098184c88 100644
--- a/src/js/services/bitcoincomService.js
+++ b/src/js/services/bitcoincomService.js
@@ -17,13 +17,6 @@ angular.module('copayApp.services').factory('bitcoincomService', function(gettex
credentials.BITPAY_API_URL = "https://bitpay.com";
};
- var cashGamesItem = {
- name: 'games',
- title: gettextCatalog.getString('Bitcoin Games'),
- icon: 'icon-games',
- href: 'https://games.bitcoin.com/?utm_source=WalletApp&utm_medium=' + os
- };
-
var newsItem = {
name: 'news',
title: gettextCatalog.getString('News'),
@@ -99,9 +92,6 @@ angular.module('copayApp.services').factory('bitcoincomService', function(gettex
};
var register = function() {
- if (!platformInfo.isAndroid) { // To comply with Google Play policies
- nextStepsService.register(cashGamesItem);
- }
nextStepsService.register(newsItem);
nextStepsService.register(toolsItem);
nextStepsService.register(priceChartItem);
diff --git a/src/js/services/configService.js b/src/js/services/configService.js
index 9aff5356e..cf37898c8 100644
--- a/src/js/services/configService.js
+++ b/src/js/services/configService.js
@@ -21,6 +21,10 @@ angular.module('copayApp.services').factory('configService', function(storageSer
url: 'https://bwscash.bitcoin.com/bws/api'
},
+ bwscashnew: {
+ url: 'https://bch.api.wallet.bitcoin.com/bws/api'
+ },
+
download: {
bitpay: {
url: 'https://wallet.bitcoin.com'
diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js
index b02799582..e151ca525 100644
--- a/src/js/services/profileService.js
+++ b/src/js/services/profileService.js
@@ -766,7 +766,7 @@ angular.module('copayApp.services')
bchOpts.n = 1;
bchOpts.networkName = 'livenet';
bchOpts.coin = 'bch';
- bchOpts.bwsurl = defaults.bwscash.url;
+ bchOpts.bwsurl = defaults.bwscashnew.url;
var btcOpts = {};
btcOpts.m = 1;
diff --git a/src/sass/forms.scss b/src/sass/forms.scss
index 3f6121088..9f619080f 100644
--- a/src/sass/forms.scss
+++ b/src/sass/forms.scss
@@ -1,5 +1,8 @@
.button-clear{
background: none !important;
+ &.text-black {
+ color: black;
+ }
}
.button-skip {
diff --git a/src/sass/views/includes/pin.scss b/src/sass/views/includes/pin.scss
index fe8cc118b..dfba8436d 100644
--- a/src/sass/views/includes/pin.scss
+++ b/src/sass/views/includes/pin.scss
@@ -72,6 +72,10 @@
padding: 7%;
margin: 5%;
}
+ .circle {
+ @include circle;
+ border: 1px solid $v-bitcoin-green;
+ }
.circle-copay {
@include circle;
border: 1px solid $v-accent-color;
@@ -80,6 +84,9 @@
@include circle;
border: 1px solid $v-primary-color;
}
+ .filled {
+ background-color: $v-bitcoin-green;
+ }
.filled-copay {
background-color: $v-accent-color;
}
diff --git a/www/css/main.css b/www/css/main.css
index 20272f6d9..a406a492e 100644
--- a/www/css/main.css
+++ b/www/css/main.css
@@ -10253,7 +10253,7 @@ ion-view.deflash-blue:before, ion-view#view-amount:before, ion-view#view-confirm
text-decoration: none; }
.button-white.active, .button-white.activated {
border-color: transparent;
- background-color: #F1F3FB; }
+ background-color: transparent; }
.button-white.button-clear {
border-color: transparent;
background: none;
@@ -10263,7 +10263,7 @@ ion-view.deflash-blue:before, ion-view#view-amount:before, ion-view#view-confirm
border-color: transparent;
background: none; }
.button-white.activated {
- color: #FFF; }
+ background-color: rgba(0, 0, 0, 0.05); }
.button-white-outline {
border-color: #FFFFFF;
background-color: transparent;
@@ -10274,7 +10274,7 @@ ion-view.deflash-blue:before, ion-view#view-amount:before, ion-view#view-confirm
color: #FFFFFF;
text-decoration: none; }
.button-white-outline.active, .button-white-outline.activated {
- border-color: #FFFFFF;
+ border-color: transparent;
background-color: #FFFFFF; }
.button-white-outline.button-outline {
border-color: #FFFFFF;
@@ -10284,6 +10284,8 @@ ion-view.deflash-blue:before, ion-view#view-amount:before, ion-view#view-confirm
background-color: #FFFFFF;
box-shadow: none;
color: #fff; }
+ .button-white-outline.activated {
+ background-color: rgba(0, 0, 0, 0.1); }
.button-grey-outline {
border-color: #727272;
background-color: transparent;
@@ -10305,18 +10307,20 @@ ion-view.deflash-blue:before, ion-view#view-amount:before, ion-view#view-confirm
box-shadow: none;
color: #fff; }
.button-card-style {
- border-radius: 3px;
- background: white; }
+ border-radius: 3px; }
.button-card-style.white {
border-color: transparent;
background-color: #FFF;
- color: #15d6a0; }
+ color: #15d6a0;
+ background: white; }
.button-card-style.white:hover {
color: #15d6a0;
text-decoration: none; }
.button-card-style.white.active, .button-card-style.white.activated {
border-color: #FFF;
background-color: #FFF; }
+ .button-card-style.white.activated {
+ background-color: rgba(0, 0, 0, 0.05); }
.button-card-style.white-outline {
border-color: #FFF;
background-color: transparent;
@@ -10332,6 +10336,8 @@ ion-view.deflash-blue:before, ion-view#view-amount:before, ion-view#view-confirm
.button-clear {
background: none !important; }
+ .button-clear.text-black {
+ color: black; }
.button-skip {
padding-top: 15px !important;
@@ -12215,11 +12221,12 @@ ion-tabs .tab-title {
transform: scale3d(0.5, 0.5, 0.5) translateY(0px); }
#walletDetails .bp-content.collapse .amount-alternative, #walletDetails .bp-content.collapse .send-receive-buttons, #walletDetails .bp-content.collapse .wallet-details-wallet-info {
opacity: 0; }
+ #walletDetails ion-header-bar.bar.bar-header {
+ background-color: #fbfcff !important; }
#walletDetails .bar-header {
- border: 0;
- background: #eeb640; }
+ border: 0; }
#walletDetails .bar-header .title, #walletDetails .bar-header .button {
- color: #fff; }
+ color: #000000; }
#walletDetails .bar-header .button {
background-color: transparent; }
#walletDetails .nav-bar-block, #walletDetails .bar {
@@ -15798,6 +15805,13 @@ account-selector {
left: 15%;
width: 70%;
max-height: 55%; } }
+ #pin .circle {
+ border-radius: 50%;
+ box-shadow: 0 0 3px 0px #5b5b5b;
+ transition: background-color .2s ease-in-out;
+ padding: 7%;
+ margin: 5%;
+ border: 1px solid #0AC18E; }
#pin .circle-copay {
border-radius: 50%;
box-shadow: 0 0 3px 0px #5b5b5b;
@@ -15812,6 +15826,8 @@ account-selector {
padding: 7%;
margin: 5%;
border: 1px solid #0AC18E; }
+ #pin .filled {
+ background-color: #0AC18E; }
#pin .filled-copay {
background-color: #494949; }
#pin .filled-bitpay {
diff --git a/www/img/contact-placeholder.svg b/www/img/contact-placeholder.svg
index 54b0fcec2..4eb190d77 100644
--- a/www/img/contact-placeholder.svg
+++ b/www/img/contact-placeholder.svg
@@ -9,9 +9,9 @@