From 5421e4b5468a0fab58898e58bf237b5d0bf91113 Mon Sep 17 00:00:00 2001
From: MIPPL <>
Date: Thu, 16 Jan 2020 17:05:06 +0100
Subject: [PATCH] improve lock screen, max attemps 7, remove async loadEvents
(older iPhones), change sender message when tx null, 312
---
breadwallet.xcodeproj/project.pbxproj | 120 +++++++++---------
.../xcschemes/Screenshots.xcscheme | 10 +-
.../xcshareddata/xcschemes/Testnet.xcscheme | 10 +-
.../breadwallet (TestFlight).xcscheme | 10 +-
.../xcschemes/breadwallet.xcscheme | 10 +-
breadwallet/EventDetailViewController.swift | 2 +
breadwallet/src/Constants/Strings.swift | 1 +
breadwallet/src/CoreDatabase.swift | 4 +-
breadwallet/src/Sender.swift | 3 +-
.../RootNavigationController.swift | 8 +-
.../src/Views/WalletDisabledView.swift | 12 +-
.../src/Wallet/WalletManager+Auth.swift | 2 +-
12 files changed, 105 insertions(+), 87 deletions(-)
diff --git a/breadwallet.xcodeproj/project.pbxproj b/breadwallet.xcodeproj/project.pbxproj
index 1de77a79..c2bfa224 100644
--- a/breadwallet.xcodeproj/project.pbxproj
+++ b/breadwallet.xcodeproj/project.pbxproj
@@ -5428,12 +5428,12 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
ENABLE_BITCODE = YES;
INFOPLIST_FILE = "breadwallet WatchKit Extension/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.watchkitapp.Ext;
PRODUCT_NAME = "${TARGET_NAME}";
SDKROOT = watchos;
@@ -5448,12 +5448,12 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
ENABLE_BITCODE = YES;
INFOPLIST_FILE = "breadwallet WatchKit Extension/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.watchkitapp.Ext;
PRODUCT_NAME = "${TARGET_NAME}";
SDKROOT = watchos;
@@ -5471,12 +5471,12 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
ENABLE_BITCODE = YES;
IBSC_MODULE = breadwallet_WatchKit_Extension;
INFOPLIST_FILE = "breadwallet WatchKit App/Info.plist";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.watchkitapp;
PRODUCT_NAME = "Wagerr Pro";
PROVISIONING_PROFILE = "";
@@ -5496,12 +5496,12 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
ENABLE_BITCODE = YES;
IBSC_MODULE = breadwallet_WatchKit_Extension;
INFOPLIST_FILE = "breadwallet WatchKit App/Info.plist";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.watchkitapp;
PRODUCT_NAME = "Wagerr Pro";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -5521,12 +5521,12 @@
CODE_SIGN_ENTITLEMENTS = breadwallet/breadwallet.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/**";
INFOPLIST_FILE = breadwallet/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
OTHER_SWIFT_FLAGS = "-DDebug";
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet;
PRODUCT_NAME = "Wagerr Pro";
@@ -5547,12 +5547,12 @@
CODE_SIGN_ENTITLEMENTS = breadwallet/breadwallet.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/**";
INFOPLIST_FILE = breadwallet/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
OTHER_SWIFT_FLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet;
PRODUCT_NAME = "Wagerr Pro";
@@ -5625,12 +5625,12 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon";
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
INFOPLIST_FILE = MessagesExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.watchkitapp.Ext;
PRODUCT_NAME = "Wagerr Pro";
SKIP_INSTALL = YES;
@@ -5641,12 +5641,12 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon";
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
INFOPLIST_FILE = MessagesExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.watchkitapp.Ext;
PRODUCT_NAME = "Wagerr Pro";
SKIP_INSTALL = YES;
@@ -5657,11 +5657,11 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = TodayExtension/TodayExtension.entitlements;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
INFOPLIST_FILE = TodayExtension/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.TodayExt;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
@@ -5672,11 +5672,11 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = TodayExtension/TodayExtension.entitlements;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
INFOPLIST_FILE = TodayExtension/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.TodayExt;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
@@ -5686,12 +5686,12 @@
75A2A8251DA5938500A983D8 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
INFOPLIST_FILE = NotificationServiceExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.TodayExt;
PRODUCT_NAME = "Wagerr Pro";
SKIP_INSTALL = YES;
@@ -5702,12 +5702,12 @@
75A2A8261DA5938500A983D8 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
INFOPLIST_FILE = NotificationServiceExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.TodayExt;
PRODUCT_NAME = "Wagerr Pro";
SKIP_INSTALL = YES;
@@ -5859,12 +5859,12 @@
CODE_SIGN_ENTITLEMENTS = breadwallet/breadwallet.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/**";
INFOPLIST_FILE = breadwallet/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
OTHER_SWIFT_FLAGS = "-DDebug -DScreenshots -DTestnet";
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet;
PRODUCT_NAME = "Wagerr Pro";
@@ -5912,12 +5912,12 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
ENABLE_BITCODE = YES;
IBSC_MODULE = breadwallet_WatchKit_Extension;
INFOPLIST_FILE = "breadwallet WatchKit App/Info.plist";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.watchkitapp;
PRODUCT_NAME = "Wagerr Pro";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -5932,12 +5932,12 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
ENABLE_BITCODE = YES;
INFOPLIST_FILE = "breadwallet WatchKit Extension/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.watchkitapp.Ext;
PRODUCT_NAME = "${TARGET_NAME}";
SDKROOT = watchos;
@@ -5952,12 +5952,12 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon";
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
INFOPLIST_FILE = MessagesExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.watchkitapp.Ext;
PRODUCT_NAME = "Wagerr Pro";
SKIP_INSTALL = YES;
@@ -5968,11 +5968,11 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = TodayExtension/TodayExtension.entitlements;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
INFOPLIST_FILE = TodayExtension/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.TodayExt;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
@@ -5982,12 +5982,12 @@
CEA7E6901F09AC6A001F8C27 /* Screenshots */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
INFOPLIST_FILE = NotificationServiceExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.TodayExt;
PRODUCT_NAME = "Wagerr Pro";
SKIP_INSTALL = YES;
@@ -6188,12 +6188,12 @@
CODE_SIGN_ENTITLEMENTS = breadwallet/breadwallet.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/**";
INFOPLIST_FILE = breadwallet/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
OTHER_SWIFT_FLAGS = "-DDebug -DTestnet";
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet;
PRODUCT_NAME = "Wagerr Pro";
@@ -6241,12 +6241,12 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
ENABLE_BITCODE = YES;
IBSC_MODULE = breadwallet_WatchKit_Extension;
INFOPLIST_FILE = "breadwallet WatchKit App/Info.plist";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.watchkitapp;
PRODUCT_NAME = "Wagerr Pro";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -6261,12 +6261,12 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
ENABLE_BITCODE = YES;
INFOPLIST_FILE = "breadwallet WatchKit Extension/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.watchkitapp.Ext;
PRODUCT_NAME = "${TARGET_NAME}";
SDKROOT = watchos;
@@ -6281,12 +6281,12 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon";
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
INFOPLIST_FILE = MessagesExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.watchkitapp.Ext;
PRODUCT_NAME = "Wagerr Pro";
SKIP_INSTALL = YES;
@@ -6297,11 +6297,11 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = TodayExtension/TodayExtension.entitlements;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
INFOPLIST_FILE = TodayExtension/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.TodayExt;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
@@ -6311,12 +6311,12 @@
CEA7E6A31F0AAA84001F8C27 /* Testnet */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
INFOPLIST_FILE = NotificationServiceExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.TodayExt;
PRODUCT_NAME = "Wagerr Pro";
SKIP_INSTALL = YES;
@@ -6510,12 +6510,12 @@
CODE_SIGN_ENTITLEMENTS = breadwallet/breadwallet.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/**";
INFOPLIST_FILE = breadwallet/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
OTHER_SWIFT_FLAGS = "-DTestflight -DDebug";
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet;
PRODUCT_NAME = "Wagerr Pro";
@@ -6563,12 +6563,12 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
ENABLE_BITCODE = YES;
IBSC_MODULE = breadwallet_WatchKit_Extension;
INFOPLIST_FILE = "breadwallet WatchKit App/Info.plist";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.watchkitapp;
PRODUCT_NAME = "Wagerr Pro";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -6583,12 +6583,12 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
ENABLE_BITCODE = YES;
INFOPLIST_FILE = "breadwallet WatchKit Extension/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.watchkitapp.Ext;
PRODUCT_NAME = "${TARGET_NAME}";
SDKROOT = watchos;
@@ -6603,12 +6603,12 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon";
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
INFOPLIST_FILE = MessagesExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.watchkitapp.Ext;
PRODUCT_NAME = "Wagerr Pro";
SKIP_INSTALL = YES;
@@ -6619,11 +6619,11 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = TodayExtension/TodayExtension.entitlements;
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
INFOPLIST_FILE = TodayExtension/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.TodayExt;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
@@ -6633,12 +6633,12 @@
CEE0EF5C1EBF8D7F0018DB36 /* Testflight */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CURRENT_PROJECT_VERSION = 310;
+ CURRENT_PROJECT_VERSION = 312;
DEVELOPMENT_TEAM = GZ55ZWQ3G3;
INFOPLIST_FILE = NotificationServiceExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 3.1.0;
+ MARKETING_VERSION = 3.1.2;
PRODUCT_BUNDLE_IDENTIFIER = org.wagerr.betwallet.TodayExt;
PRODUCT_NAME = "Wagerr Pro";
SKIP_INSTALL = YES;
diff --git a/breadwallet.xcodeproj/xcshareddata/xcschemes/Screenshots.xcscheme b/breadwallet.xcodeproj/xcshareddata/xcschemes/Screenshots.xcscheme
index 10c95b39..fd3d815c 100644
--- a/breadwallet.xcodeproj/xcshareddata/xcschemes/Screenshots.xcscheme
+++ b/breadwallet.xcodeproj/xcshareddata/xcschemes/Screenshots.xcscheme
@@ -15,7 +15,7 @@
@@ -31,7 +31,7 @@
@@ -52,7 +52,7 @@
@@ -84,7 +84,7 @@
@@ -101,7 +101,7 @@
diff --git a/breadwallet.xcodeproj/xcshareddata/xcschemes/Testnet.xcscheme b/breadwallet.xcodeproj/xcshareddata/xcschemes/Testnet.xcscheme
index 43c42bde..857f2a83 100644
--- a/breadwallet.xcodeproj/xcshareddata/xcschemes/Testnet.xcscheme
+++ b/breadwallet.xcodeproj/xcshareddata/xcschemes/Testnet.xcscheme
@@ -15,7 +15,7 @@
@@ -31,7 +31,7 @@
@@ -42,7 +42,7 @@
@@ -74,7 +74,7 @@
@@ -91,7 +91,7 @@
diff --git a/breadwallet.xcodeproj/xcshareddata/xcschemes/breadwallet (TestFlight).xcscheme b/breadwallet.xcodeproj/xcshareddata/xcschemes/breadwallet (TestFlight).xcscheme
index 8d470995..c0d9dffd 100644
--- a/breadwallet.xcodeproj/xcshareddata/xcschemes/breadwallet (TestFlight).xcscheme
+++ b/breadwallet.xcodeproj/xcshareddata/xcschemes/breadwallet (TestFlight).xcscheme
@@ -15,7 +15,7 @@
@@ -31,7 +31,7 @@
@@ -42,7 +42,7 @@
@@ -85,7 +85,7 @@
@@ -109,7 +109,7 @@
diff --git a/breadwallet.xcodeproj/xcshareddata/xcschemes/breadwallet.xcscheme b/breadwallet.xcodeproj/xcshareddata/xcschemes/breadwallet.xcscheme
index 2f3be0e2..257a5eb0 100644
--- a/breadwallet.xcodeproj/xcshareddata/xcschemes/breadwallet.xcscheme
+++ b/breadwallet.xcodeproj/xcshareddata/xcschemes/breadwallet.xcscheme
@@ -15,7 +15,7 @@
@@ -31,7 +31,7 @@
@@ -42,7 +42,7 @@
@@ -84,7 +84,7 @@
@@ -108,7 +108,7 @@
diff --git a/breadwallet/EventDetailViewController.swift b/breadwallet/EventDetailViewController.swift
index 15b25ea8..943b6809 100644
--- a/breadwallet/EventDetailViewController.swift
+++ b/breadwallet/EventDetailViewController.swift
@@ -302,7 +302,9 @@ class EventDetailViewController: UIViewController, Subscriber, EventBetOptionDel
private func reload() {
viewModel = event
+ let currChoice = (self.dataSource as! EventDetailDataSource).currChoice
self.dataSource = EventDetailDataSource(tableView: tableView, viewModel: viewModel, controller: self)
+ dataSource?.prepareBetLayout(choice: currChoice)
tableView.dataSource = dataSource
tableView.reloadData()
}
diff --git a/breadwallet/src/Constants/Strings.swift b/breadwallet/src/Constants/Strings.swift
index d2c39540..a0702693 100644
--- a/breadwallet/src/Constants/Strings.swift
+++ b/breadwallet/src/Constants/Strings.swift
@@ -211,6 +211,7 @@ enum S {
static let newVersionTitle = NSLocalizedString("BetSettings.newVersion", value: "New version", comment: "New version available")
static let newVersion = NSLocalizedString("BetSettings.newVersion", value: "There is a new version available!", comment: "New version available")
static let goTo = NSLocalizedString("BetSettings.goTo", value: "Go", comment: "Go")
+ static let lockWarning = NSLocalizedString("BetSettings.lockWarning", value: "Attention: After the 7th incorrect pin attempt, the wallet database will be deleted. The seed phrase will be required to restore any balance", comment: "Warning")
}
enum Betting {
diff --git a/breadwallet/src/CoreDatabase.swift b/breadwallet/src/CoreDatabase.swift
index 2a1a6022..16c8fb08 100644
--- a/breadwallet/src/CoreDatabase.swift
+++ b/breadwallet/src/CoreDatabase.swift
@@ -896,7 +896,7 @@ class CoreDatabase {
}
func loadEvents(_ eventID : UInt64,_ eventTimestamp : TimeInterval, callback: @escaping ([BetEventViewModel?])->Void) {
- queue.async {
+
var events = [BetEventViewModel?]()
var sql: OpaquePointer? = nil
sqlite3_prepare_v2(self.db, self.getEventsQuery( eventID, eventTimestamp ), -1, &sql, nil)
@@ -944,7 +944,7 @@ class CoreDatabase {
if !event.zeroedOdds() {
events.append(event)
}
- }
+
if sqlite3_errcode(self.db) != SQLITE_DONE { print("SQLITE error loadEvents: " + String(cString: sqlite3_errmsg(self.db))) }
DispatchQueue.main.async {
diff --git a/breadwallet/src/Sender.swift b/breadwallet/src/Sender.swift
index 6fe489c2..ae138d8f 100644
--- a/breadwallet/src/Sender.swift
+++ b/breadwallet/src/Sender.swift
@@ -216,7 +216,8 @@ class BitcoinSender: SenderBase, Sender {
}
func sendTransaction(allowBiometrics: Bool, pinVerifier: @escaping PinVerifier, completion: @escaping SendCompletion) {
- guard readyToSend, let tx = transaction else { return completion(.creationError("not ready")) }
+ guard readyToSend else { return completion(.creationError("Not ready to send yet.")) }
+ guard let tx = transaction else { return completion(.creationError("Please ensure there is sufficient WGR for transaction fees")) }
if allowBiometrics && UserDefaults.isBiometricsEnabled && walletManager.canUseBiometrics(forTx: tx) {
sendWithBiometricVerification(tx: tx, pinVerifier: pinVerifier, completion: completion)
diff --git a/breadwallet/src/ViewControllers/RootNavigationController.swift b/breadwallet/src/ViewControllers/RootNavigationController.swift
index a0dc2a70..e61247ac 100644
--- a/breadwallet/src/ViewControllers/RootNavigationController.swift
+++ b/breadwallet/src/ViewControllers/RootNavigationController.swift
@@ -74,10 +74,14 @@ class RootNavigationController : UINavigationController {
return
})
}
- completion(false)
+ DispatchQueue.main.async { // completion affects UI
+ completion(false)
+ }
}
else {
- completion(true)
+ DispatchQueue.main.async {
+ completion(true)
+ }
}
})
}
diff --git a/breadwallet/src/Views/WalletDisabledView.swift b/breadwallet/src/Views/WalletDisabledView.swift
index 06178c87..cf5530a9 100644
--- a/breadwallet/src/Views/WalletDisabledView.swift
+++ b/breadwallet/src/Views/WalletDisabledView.swift
@@ -42,6 +42,7 @@ class WalletDisabledView : UIView {
}
private let label = UILabel(font: .customBold(size: 20.0), color: .darkText)
+ private let label2 = UILabel(font: .customBody(size: 16.0), color: .darkText)
private let faq: UIButton
private let blur: UIVisualEffectView
private let reset = ShadowButton(title: S.UnlockScreen.resetPin, type: .blackTransparent)
@@ -56,6 +57,7 @@ class WalletDisabledView : UIView {
private func addSubviews() {
addSubview(blur)
addSubview(label)
+ addSubview(label2)
addSubview(faq)
addSubview(reset)
}
@@ -65,6 +67,11 @@ class WalletDisabledView : UIView {
label.constrain([
label.centerYAnchor.constraint(equalTo: blur.centerYAnchor),
label.centerXAnchor.constraint(equalTo: blur.centerXAnchor) ])
+ label2.constrain([
+ label2.topAnchor.constraint(equalTo: label.bottomAnchor, constant: C.padding[4]),
+ label2.leadingAnchor.constraint(equalTo: blur.leadingAnchor, constant: C.padding[2]),
+ label2.trailingAnchor.constraint(equalTo: blur.trailingAnchor, constant: -C.padding[2]),
+ label2.centerXAnchor.constraint(equalTo: blur.centerXAnchor) ])
faq.constrain([
faq.leadingAnchor.constraint(equalTo: leadingAnchor, constant: C.padding[2]),
faq.bottomAnchor.constraint(equalTo: bottomAnchor, constant: -C.padding[2]),
@@ -75,11 +82,14 @@ class WalletDisabledView : UIView {
reset.centerYAnchor.constraint(equalTo: faq.centerYAnchor),
reset.heightAnchor.constraint(equalToConstant: C.Sizes.buttonHeight),
reset.widthAnchor.constraint(equalToConstant: 200.0) ])
-
}
private func setData() {
label.textAlignment = .center
+
+ label2.textAlignment = .center
+ label2.numberOfLines = 4
+ label2.text = S.BetSettings.lockWarning
}
required init?(coder aDecoder: NSCoder) {
diff --git a/breadwallet/src/Wallet/WalletManager+Auth.swift b/breadwallet/src/Wallet/WalletManager+Auth.swift
index 50f05d79..dc745d55 100644
--- a/breadwallet/src/Wallet/WalletManager+Auth.swift
+++ b/breadwallet/src/Wallet/WalletManager+Auth.swift
@@ -208,7 +208,7 @@ extension BTCWalletManager : WalletAuthenticator {
else if !BTCWalletManager.failedPins.contains(pin) { // unique failed attempt
BTCWalletManager.failedPins.append(pin)
- if (failCount >= 8) { // wipe wallet after 8 failed pin attempts and 24+ hours of lockout
+ if (failCount >= 7) { // WAGERR change to 7 (4hr) wipe wallet after 8 failed pin attempts and 24+ hours of lockout
Store.trigger(name: .wipeWalletNoPrompt)
return false
}