From 818be0d25299affebe7fdd6e790dc3d69c966d9b Mon Sep 17 00:00:00 2001 From: Wisdom Arerosuoghene Date: Fri, 17 May 2019 21:25:29 +0100 Subject: [PATCH 1/8] restore files from other freshly created project clone --- Podfile | 14 +- Podfile.lock | 10 +- decred_wallet.xcodeproj/project.pbxproj | 1658 +++++++---------- .../contents.xcworkspacedata | 2 +- .../xcschemes/Decred Wallet Testnet.xcscheme | 68 +- .../xcschemes/Decred Wallet.xcscheme | 46 +- .../xcschemes/xcschememanagement.plist | 27 - decred_wallet/Base.lproj/Main.storyboard | 203 +- decred_wallet/Extensions/String.swift | 1 + .../StartScreenViewController.swift | 1 + .../Navigation Menu/NavigationMenu.storyboard | 18 +- .../RequestPasswordViewController.swift | 2 - .../ConfirmNewWalletSeedViewController.swift | 1 + .../RecoverExistingWalletViewController.swift | 1 + .../Wallet Utils/SyncDecodableDataTypes.swift | 1 + .../Features/Wallet Utils/Syncer.swift | 2 + .../TransactionNotification.swift | 2 +- .../Features/Wallet Utils/WalletLoader.swift | 1 + decred_wallet/Info.plist | 150 +- .../AccountViewController.swift | 172 -- .../AddAcountViewController.swift | 105 -- .../ConfirmSeedTableViewController.swift | 153 -- .../ConfirmToSendFundViewController.swift | 70 - .../ConfirmToSendFundViewPINController.swift | 79 - .../WifiConfirmationController.swift | 49 - .../CurrencyOptionTableViewController.swift | 49 - .../HelpViewController.swift | 54 - .../NetworkModeTableViewController.swift | 55 - .../NodeLogViewController.swift | 38 - .../OverviewViewControllerOld.swift | 898 --------- .../PeerSetTableViewController.swift | 76 - .../ReceiveViewController.swift | 281 --- ...rWalletSeedSuggestionsViewController.swift | 56 - .../RecoverWalletViewController.swift | 208 --- .../SendCompletedViewController.storyboard | 151 -- .../SendCompletedViewController.swift | 44 - .../SendViewController.swift | 1144 ------------ .../ServerSetTableViewController.swift | 72 - .../SettingsController.swift | 291 --- .../Cells/RecoveryWalletSeedWordsCell.swift | 48 - .../Cells/TransactionDetailCell.swift | 38 - .../Cells/TransactionDetailCell.xib | 66 - .../Cells/TransactiontInputDetails.swift | 103 - .../Cells/TransactiontInputDetails.xib | 78 - .../Cells/TransactiontOutputDetailsCell.swift | 104 -- .../Cells/TransactiontOutputDetailsCell.xib | 79 - ...actionFullDetailsViewController.storyboard | 84 - ...TransactionFullDetailsViewController.swift | 327 ---- .../WalletLogViewController.swift | 34 - .../certificateViewController.swift | 55 - decred_wallet/Storage/Entities.swift | 16 - decred_wallet/Storage/StorageProtocols.swift | 33 - .../SubContentsViewController.storyboard | 4 - decred_wallet/mainnet.xcconfig | 12 - decred_wallet/testnet.xcconfig | 12 - .../ConfirmSeedTableViewController.swift | 153 -- .../view_controller/HelpViewController.swift | 7 +- ...rWalletSeedSuggestionsViewController.swift | 56 - .../RecoverWalletViewController.swift | 208 --- .../view_controller/SendViewController.swift | 7 +- .../Cells/RecoveryWalletSeedWordsCell.swift | 48 - ...TransactionFullDetailsViewController.swift | 7 +- decred_wallet_tests/Decred_WalletTests.swift | 35 - decred_wallet_tests/Info.plist | 22 - 64 files changed, 980 insertions(+), 6909 deletions(-) delete mode 100644 decred_wallet.xcodeproj/xcuserdata/Macsleven.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 decred_wallet/OverviewViewController.swift/AccountViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/AddAcountViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/ConfirmSeedTableViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/ConfirmToSendFundController/ConfirmToSendFundViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/ConfirmToSendFundController/ConfirmToSendFundViewPINController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/ConfirmToSendFundController/WifiConfirmationController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/CurrencyOptionTableViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/HelpViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/NetworkModeTableViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/NodeLogViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/OverviewViewControllerOld.swift delete mode 100644 decred_wallet/OverviewViewController.swift/PeerSetTableViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/ReceiveViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/RecoverWalletSeedSuggestionsViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/RecoverWalletViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/SendCompletedViewController/SendCompletedViewController.storyboard delete mode 100644 decred_wallet/OverviewViewController.swift/SendCompletedViewController/SendCompletedViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/SendViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/ServerSetTableViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/SettingsController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/RecoveryWalletSeedWordsCell.swift delete mode 100644 decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactionDetailCell.swift delete mode 100644 decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactionDetailCell.xib delete mode 100644 decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactiontInputDetails.swift delete mode 100644 decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactiontInputDetails.xib delete mode 100644 decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.swift delete mode 100644 decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.xib delete mode 100644 decred_wallet/OverviewViewController.swift/TransactionFullDetails/TransactionFullDetailsViewController.storyboard delete mode 100644 decred_wallet/OverviewViewController.swift/TransactionFullDetails/TransactionFullDetailsViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/WalletLogViewController.swift delete mode 100644 decred_wallet/OverviewViewController.swift/certificateViewController.swift delete mode 100644 decred_wallet/Storage/Entities.swift delete mode 100644 decred_wallet/Storage/StorageProtocols.swift delete mode 100644 decred_wallet/SubContentsViewController.storyboard delete mode 100644 decred_wallet/view_controller/ConfirmSeedTableViewController.swift delete mode 100644 decred_wallet/view_controller/RecoverWalletSeedSuggestionsViewController.swift delete mode 100644 decred_wallet/view_controller/RecoverWalletViewController.swift delete mode 100644 decred_wallet/view_controller/TransactionFullDetails/Cells/RecoveryWalletSeedWordsCell.swift delete mode 100644 decred_wallet_tests/Decred_WalletTests.swift delete mode 100644 decred_wallet_tests/Info.plist diff --git a/Podfile b/Podfile index 5262ed2e7..996498012 100644 --- a/Podfile +++ b/Podfile @@ -1,22 +1,14 @@ # Uncomment the next line to define a global platform for your project platform :ios, '9.0' -project 'decred_wallet' -target 'Decred Wallet' do + +target 'decred_wallet' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! - # use swift5 branch pending when cocoapods gets updated with official support for swift 5 + pod 'SlideMenuControllerSwift', :git => 'https://github.com/itswisdomagain/SlideMenuControllerSwift.git', :branch => 'swift5' pod 'JGProgressHUD' pod 'QRCodeReader.swift' - pod 'CryptoSwift' pod 'Fabric' pod 'Crashlytics' - pod 'MBProgressHUD' end - -target 'Decred WalletTests' do - inherit! :search_paths - # Pods for testing -end - diff --git a/Podfile.lock b/Podfile.lock index 94e9da60b..eb3d6abcd 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,29 +1,23 @@ PODS: - Crashlytics (3.12.0): - Fabric (~> 1.9.0) - - CryptoSwift (1.0.0) - Fabric (1.9.0) - JGProgressHUD (2.0.3) - - MBProgressHUD (1.1.0) - QRCodeReader.swift (10.1.0) - SlideMenuControllerSwift (4.0.0) DEPENDENCIES: - Crashlytics - - CryptoSwift - Fabric - JGProgressHUD - - MBProgressHUD - QRCodeReader.swift - SlideMenuControllerSwift (from `https://github.com/itswisdomagain/SlideMenuControllerSwift.git`, branch `swift5`) SPEC REPOS: https://github.com/cocoapods/specs.git: - Crashlytics - - CryptoSwift - Fabric - JGProgressHUD - - MBProgressHUD - QRCodeReader.swift EXTERNAL SOURCES: @@ -38,13 +32,11 @@ CHECKOUT OPTIONS: SPEC CHECKSUMS: Crashlytics: 07fb167b1694128c1c9a5a5cc319b0e9c3ca0933 - CryptoSwift: d81eeaa59dc5a8d03720fe919a6fd07b51f7439f Fabric: f988e33c97f08930a413e08123064d2e5f68d655 JGProgressHUD: 12b20a8f4ffe05258f8635c1ab92816e451f904d - MBProgressHUD: e7baa36a220447d8aeb12769bf0585582f3866d9 QRCodeReader.swift: 373a389fe9a22d513c879a32a6f647c58f4ef572 SlideMenuControllerSwift: f9ec1ad1a95d211324d25b15dcdbc94881596716 -PODFILE CHECKSUM: 90a2a91513fab5bc604856282ff3a8dc619010bc +PODFILE CHECKSUM: 7a79c5bca6d524b00fa23bee2170780f4ce11048 COCOAPODS: 1.6.1 diff --git a/decred_wallet.xcodeproj/project.pbxproj b/decred_wallet.xcodeproj/project.pbxproj index 97b5f22a6..c91b51e03 100644 --- a/decred_wallet.xcodeproj/project.pbxproj +++ b/decred_wallet.xcodeproj/project.pbxproj @@ -3,837 +3,766 @@ archiveVersion = 1; classes = { }; - objectVersion = 48; + objectVersion = 50; objects = { /* Begin PBXBuildFile section */ - 2804D43321BAAD170011A5B3 /* SeedCheckActiveCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2804D43221BAAD170011A5B3 /* SeedCheckActiveCellView.swift */; }; - 28102DCD21B83E700052DC00 /* ContouredButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28102DCC21B83E700052DC00 /* ContouredButton.swift */; }; - 28102DCF21B83F8F0052DC00 /* SeedConfirmTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28102DCE21B83F8F0052DC00 /* SeedConfirmTableViewCell.swift */; }; - 281D545821B169DE00F68803 /* SecurityViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 281D545421B169D100F68803 /* SecurityViewController.swift */; }; - 281D545A21B169DE00F68803 /* RequestPinViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 281D545621B169D100F68803 /* RequestPinViewController.swift */; }; - 281D545B21B169DE00F68803 /* PasswordSetupViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 281D545721B169D100F68803 /* PasswordSetupViewController.swift */; }; - 281D545E21B16AC800F68803 /* PinInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 281D545C21B16AC800F68803 /* PinInputView.swift */; }; - 2827EE0A21B9675500832555 /* ConfirmNewWalletSeedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2827EE0921B9675500832555 /* ConfirmNewWalletSeedViewController.swift */; }; - 2850E08B217612EE00171267 /* SourceSansPro-BlackItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2850E07F217612EE00171267 /* SourceSansPro-BlackItalic.ttf */; }; - 2850E08C217612EE00171267 /* SourceSansPro-SemiBoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2850E080217612EE00171267 /* SourceSansPro-SemiBoldItalic.ttf */; }; - 2850E08D217612EE00171267 /* SourceSansPro-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2850E081217612EE00171267 /* SourceSansPro-Regular.ttf */; }; - 2850E08E217612EE00171267 /* SourceSansPro-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2850E082217612EE00171267 /* SourceSansPro-Bold.ttf */; }; - 2850E08F217612EE00171267 /* SourceSansPro-LightItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2850E083217612EE00171267 /* SourceSansPro-LightItalic.ttf */; }; - 2850E090217612EE00171267 /* SourceSansPro-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2850E084217612EE00171267 /* SourceSansPro-Light.ttf */; }; - 2850E091217612EE00171267 /* SourceSansPro-Black.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2850E085217612EE00171267 /* SourceSansPro-Black.ttf */; }; - 2850E092217612EE00171267 /* SourceSansPro-ExtraLight.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2850E086217612EE00171267 /* SourceSansPro-ExtraLight.ttf */; }; - 2850E093217612EE00171267 /* SourceSansPro-BoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2850E087217612EE00171267 /* SourceSansPro-BoldItalic.ttf */; }; - 2850E094217612EE00171267 /* SourceSansPro-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2850E088217612EE00171267 /* SourceSansPro-SemiBold.ttf */; }; - 2850E095217612EE00171267 /* SourceSansPro-ExtraLightItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2850E089217612EE00171267 /* SourceSansPro-ExtraLightItalic.ttf */; }; - 2850E096217612EE00171267 /* SourceSansPro-Italic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2850E08A217612EE00171267 /* SourceSansPro-Italic.ttf */; }; - 28664E5E216F740000AA01E2 /* progress bar-1s-200px.gif in Resources */ = {isa = PBXBuildFile; fileRef = 28664E5D216F740000AA01E2 /* progress bar-1s-200px.gif */; }; - 286DA549210B0C7A00734259 /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = 286DA548210B0C7A00734259 /* Data.swift */; }; - 2870338B20BC5E7D00BFD0B8 /* JsonEntities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2870338A20BC5E7D00BFD0B8 /* JsonEntities.swift */; }; - 2883CA702099D40F0053D9BB /* DropDownSearchField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2883CA6F2099D40F0053D9BB /* DropDownSearchField.swift */; }; - 2883CA72209B52AE0053D9BB /* StartScreenViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2883CA71209B52AE0053D9BB /* StartScreenViewController.swift */; }; - 28D36C7C2180ADF5000C6572 /* ConfirmSeedViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28D36C7B2180ADF5000C6572 /* ConfirmSeedViewCell.swift */; }; - 28EB91B820FCFD8F007A0906 /* CreateNewWalletViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28EB91B720FCFD8F007A0906 /* CreateNewWalletViewController.swift */; }; - 28EB91C720FCFDBE007A0906 /* TransactionHistoryTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28EB91BE20FCFDBE007A0906 /* TransactionHistoryTableViewCell.swift */; }; - 28EB91C820FCFDBE007A0906 /* BaseTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28EB91BF20FCFDBE007A0906 /* BaseTableViewCell.swift */; }; - 28EB91C920FCFDBE007A0906 /* TransactionHistoryTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28EB91C020FCFDBE007A0906 /* TransactionHistoryTableViewCell.xib */; }; - 28EB91CA20FCFDBE007A0906 /* AccountDataCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28EB91C120FCFDBE007A0906 /* AccountDataCell.swift */; }; - 28EB91CB20FCFDBE007A0906 /* AccountDataCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28EB91C220FCFDBE007A0906 /* AccountDataCell.xib */; }; - 28EB91CC20FCFDBE007A0906 /* TransactionTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28EB91C320FCFDBE007A0906 /* TransactionTableViewCell.xib */; }; - 28EB91CD20FCFDBE007A0906 /* MenuItemCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28EB91C420FCFDBE007A0906 /* MenuItemCell.swift */; }; - 28EB91CE20FCFDBE007A0906 /* TransactionTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28EB91C520FCFDBE007A0906 /* TransactionTableViewCell.swift */; }; - 28EB91CF20FCFDBE007A0906 /* MenuItemCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28EB91C620FCFDBE007A0906 /* MenuItemCell.xib */; }; - 28F0CE7320888258003AC958 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28F0CE7220888258003AC958 /* Utils.swift */; }; - 28FEB26C21D263E7001B074B /* RecoverExistingWalletViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28FEB26B21D263E7001B074B /* RecoverExistingWalletViewController.swift */; }; - 28FEB26E21D264D9001B074B /* RecoveryWalletSeedWordCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28FEB26D21D264D9001B074B /* RecoveryWalletSeedWordCell.swift */; }; - 7B9A3C2E9A00AE43F1C5A089 /* Pods_Decred_Wallet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BB18428A6467205A88C5FD9 /* Pods_Decred_Wallet.framework */; }; - 952C932720E2174B00A60E43 /* ConfirmToSendFundViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 952C932620E2174B00A60E43 /* ConfirmToSendFundViewController.swift */; }; - 952C932A20E247FE00A60E43 /* SendCompletedViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 952C932920E247FE00A60E43 /* SendCompletedViewController.storyboard */; }; - 952C932C20E2481500A60E43 /* SendCompletedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 952C932B20E2481500A60E43 /* SendCompletedViewController.swift */; }; - 95404EBE20E113D700B34327 /* AccountsHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95404EBC20E113D700B34327 /* AccountsHeaderView.swift */; }; - 95404EBF20E113D700B34327 /* AccountsHeaderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 95404EBD20E113D700B34327 /* AccountsHeaderView.xib */; }; - 95473E6420E393C00023F50A /* TransactionFullDetailsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95473E6320E393C00023F50A /* TransactionFullDetailsViewController.swift */; }; - 95473E6620E393E50023F50A /* TransactionFullDetailsViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 95473E6520E393E50023F50A /* TransactionFullDetailsViewController.storyboard */; }; - 95473E6A20E39E3C0023F50A /* TransactiontInputDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95473E6820E39E3C0023F50A /* TransactiontInputDetails.swift */; }; - 95473E6B20E39E3C0023F50A /* TransactiontInputDetails.xib in Resources */ = {isa = PBXBuildFile; fileRef = 95473E6920E39E3C0023F50A /* TransactiontInputDetails.xib */; }; - 95473E6E20E39E7A0023F50A /* TransactiontOutputDetailsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95473E6C20E39E7A0023F50A /* TransactiontOutputDetailsCell.swift */; }; - 95473E7120E3A4C20023F50A /* TransactiontOutputDetailsCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 95473E7020E3A4C00023F50A /* TransactiontOutputDetailsCell.xib */; }; - 95473E7420E3A6420023F50A /* TransactionDetailCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95473E7220E3A6420023F50A /* TransactionDetailCell.swift */; }; - 95473E7520E3A6420023F50A /* TransactionDetailCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 95473E7320E3A6420023F50A /* TransactionDetailCell.xib */; }; - 956D14AE20BF035D00624D68 /* wordlist.txt in Resources */ = {isa = PBXBuildFile; fileRef = 956D14AD20BF035C00624D68 /* wordlist.txt */; }; - 957F0AFF20B82F3200D3E8A9 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 957F0AFE20B82F3200D3E8A9 /* Constants.swift */; }; - 95877FE820B70CBB00CE53D2 /* TransactionHistoryViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 95877FE620B70CBB00CE53D2 /* TransactionHistoryViewController.xib */; }; - 95877FE920B70CBB00CE53D2 /* TransactionHistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95877FE720B70CBB00CE53D2 /* TransactionHistoryViewController.swift */; }; - 95CC024420D3F15800DA73AF /* AccountsData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95CC024320D3F15800DA73AF /* AccountsData.swift */; }; - 95E1C96E20FCD43E00D7F3EE /* TextFieldDoneButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95E1C96D20FCD43E00D7F3EE /* TextFieldDoneButton.swift */; }; - B313BFF62281585600593E62 /* Dcrlibwallet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3879A102271F4970066CD0F /* Dcrlibwallet.framework */; }; - B353549822842A8700DBFDC9 /* WalletSetup.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B353549722842A8700DBFDC9 /* WalletSetup.storyboard */; }; - B353549A2284329500DBFDC9 /* Storyboards.swift in Sources */ = {isa = PBXBuildFile; fileRef = B35354992284329500DBFDC9 /* Storyboards.swift */; }; - B353549C22844CB100DBFDC9 /* WalletLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = B353549B22844CB100DBFDC9 /* WalletLoader.swift */; }; - B35BF4632278923700018DBE /* PinPasswordStrength.swift in Sources */ = {isa = PBXBuildFile; fileRef = B35BF4622278923700018DBE /* PinPasswordStrength.swift */; }; - B36225DF22725BC100D61D15 /* WalletSetupBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B36225DE22725BC100D61D15 /* WalletSetupBaseViewController.swift */; }; - B36547C62286A6490015F911 /* NavigationMenuViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B36547C52286A6490015F911 /* NavigationMenuViewController.swift */; }; - B36547C82286B4B70015F911 /* MenuItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = B36547C72286B4B70015F911 /* MenuItem.swift */; }; - B39D0F432287ECF90035F781 /* OverviewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B39D0F412287ECF90035F781 /* OverviewViewController.swift */; }; - B39F15B222896E340024A884 /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = B39F15B122896E330024A884 /* Button.swift */; }; - B39F15B4228992120024A884 /* Syncer.swift in Sources */ = {isa = PBXBuildFile; fileRef = B39F15B3228992120024A884 /* Syncer.swift */; }; - B39F15B6228994D00024A884 /* SyncDecodableDataTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = B39F15B5228994D00024A884 /* SyncDecodableDataTypes.swift */; }; - B39F15B822899A770024A884 /* String.swift in Sources */ = {isa = PBXBuildFile; fileRef = B39F15B722899A770024A884 /* String.swift */; }; - B39F15BA228A53640024A884 /* Overview.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B39F15B9228A53640024A884 /* Overview.storyboard */; }; - B39F15BC228A54E60024A884 /* SyncProgressViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B39F15BB228A54E60024A884 /* SyncProgressViewController.swift */; }; - B3BA850C22744C7400440D3A /* SpendingPinOrPassword.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3BA850B22744C7400440D3A /* SpendingPinOrPassword.swift */; }; - B3BA850E22744C8800440D3A /* StartupPinOrPassword.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3BA850D22744C8800440D3A /* StartupPinOrPassword.swift */; }; - B3CC32B02284CBCC00A48624 /* Security.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B3CC32AF2284CBCC00A48624 /* Security.storyboard */; }; - B3CC32B22284CFC000A48624 /* SecurityBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3CC32B12284CFC000A48624 /* SecurityBaseViewController.swift */; }; - B3CC32B42284D7FD00A48624 /* NavigationMenu.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B3CC32B32284D7FD00A48624 /* NavigationMenu.storyboard */; }; - B3CC32BA22856AEF00A48624 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3CC32B922856AEF00A48624 /* Extensions.swift */; }; - B3FA1D81228B3CA000C8FE16 /* TransactionNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3FA1D80228B3CA000C8FE16 /* TransactionNotification.swift */; }; - DD0B356E218930B7000830C4 /* AddAcountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD0B356D218930B7000830C4 /* AddAcountViewController.swift */; }; - DD0C493E208A160900986C6B /* WalletSetupViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD0C493D208A160900986C6B /* WalletSetupViewController.swift */; }; - DD1D5C7C20AED828009789DD /* certificateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD1D5C7B20AED824009789DD /* certificateViewController.swift */; }; - DD1D5C7E20AEDB15009789DD /* WalletLogViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD1D5C7D20AEDB15009789DD /* WalletLogViewController.swift */; }; - DD1D5C8020AEDB2B009789DD /* NodeLogViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD1D5C7F20AEDB2B009789DD /* NodeLogViewController.swift */; }; - DD1D5C8220AEE90D009789DD /* ServerSetTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD1D5C8120AEE90D009789DD /* ServerSetTableViewController.swift */; }; - DD1D5C8420AEE9FF009789DD /* PeerSetTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD1D5C8320AEE9FE009789DD /* PeerSetTableViewController.swift */; }; - DD24AFA420A6ED70009EC84F /* NetworkModeTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD24AFA320A6ED70009EC84F /* NetworkModeTableViewController.swift */; }; - DD3A7E0E2152A7520009A0BE /* SingleInstance.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD3A7E0D2152A7520009A0BE /* SingleInstance.swift */; }; - DD419763202F9B570044F068 /* UITableViewExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD419762202F9B570044F068 /* UITableViewExtension.swift */; }; - DD4C89D92038EC12003FEA0C /* DropMenuButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD4C89D82038CDBC003FEA0C /* DropMenuButton.swift */; }; - DD4C89DA2038EC3F003FEA0C /* keyPadButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD4C89D72038CABD003FEA0C /* keyPadButton.swift */; }; - DDA0F47421EEC8E7006AB571 /* RequestPasswordViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDA0F47321EEC8E7006AB571 /* RequestPasswordViewController.swift */; }; - DDA3E26E20292EF900C83D18 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDA3E26D20292EF900C83D18 /* AppDelegate.swift */; }; - DDA3E27320292EF900C83D18 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DDA3E27120292EF900C83D18 /* Main.storyboard */; }; - DDA3E27520292EF900C83D18 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DDA3E27420292EF900C83D18 /* Assets.xcassets */; }; - DDA3E27820292EF900C83D18 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DDA3E27620292EF900C83D18 /* LaunchScreen.storyboard */; }; - DDA3E28320292EF900C83D18 /* Decred_WalletTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDA3E28220292EF900C83D18 /* Decred_WalletTests.swift */; }; - DDA5C06B22591D9D0052CD52 /* WifiConfirmationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDA5C06A22591D9D0052CD52 /* WifiConfirmationController.swift */; }; - DDA66BB721BFFFA800987248 /* SecurityMenuViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDA66BB621BFFFA800987248 /* SecurityMenuViewController.swift */; }; - DDAE8BBD223C1820005CDD9C /* splashLogo.gif in Resources */ = {isa = PBXBuildFile; fileRef = DDAE8BBC223C181E005CDD9C /* splashLogo.gif */; }; - DDAE8BC3224283AE005CDD9C /* customUImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAE8BC2224283AE005CDD9C /* customUImage.swift */; }; - DDB89402202F771F002F85EE /* UIViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDB89401202F771F002F85EE /* UIViewController.swift */; }; - DDB89404202F7E01002F85EE /* SendViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDB89403202F7E01002F85EE /* SendViewController.swift */; }; - DDB89409202F824A002F85EE /* ReceiveViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDB89408202F824A002F85EE /* ReceiveViewController.swift */; }; - DDB8940B202F82A3002F85EE /* AccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDB8940A202F82A3002F85EE /* AccountViewController.swift */; }; - DDB8940D202F82E6002F85EE /* SettingsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDB8940C202F82E6002F85EE /* SettingsController.swift */; }; - DDB89417202F8EE2002F85EE /* UIImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDB89416202F8EE2002F85EE /* UIImageView.swift */; }; - DDB89419202F8F3E002F85EE /* UIIMage.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDB89418202F8F3E002F85EE /* UIIMage.swift */; }; - DDB8941B202F8F92002F85EE /* UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDB8941A202F8F92002F85EE /* UIColor.swift */; }; - DDB89427202F955F002F85EE /* UIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDB89426202F955F002F85EE /* UIView.swift */; }; - DDB89429202F95AC002F85EE /* UIApplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDB89428202F95AC002F85EE /* UIApplication.swift */; }; - DDBB74A82215B97B003B172C /* inconsolata_regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = DDBB74A72215B5C7003B172C /* inconsolata_regular.ttf */; }; - DDD2BA17224FED3800136C65 /* CurrencyOptionTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDD2BA16224FED3800136C65 /* CurrencyOptionTableViewController.swift */; }; - DDD967372204668500462238 /* ConfirmToSendFundViewPINController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDD967362204668400462238 /* ConfirmToSendFundViewPINController.swift */; }; - DDE90C8A2162CCB20031CED7 /* HelpViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDE90C892162CCB20031CED7 /* HelpViewController.swift */; }; - F1C7D32B4B6DE251498E6BC4 /* libPods-Decred WalletTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D041B416C87AEF5835443B41 /* libPods-Decred WalletTests.a */; }; + B3B46993228F0C2E00A68EDD /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46992228F0C2E00A68EDD /* AppDelegate.swift */; }; + B3B46998228F0C2E00A68EDD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B3B46996228F0C2E00A68EDD /* Main.storyboard */; }; + B3B4699A228F0C2E00A68EDD /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B3B46999228F0C2E00A68EDD /* Assets.xcassets */; }; + B3B4699D228F0C2E00A68EDD /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B3B4699B228F0C2E00A68EDD /* LaunchScreen.storyboard */; }; + B3B469A6228F0F0700A68EDD /* AccountsData.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469A5228F0F0700A68EDD /* AccountsData.swift */; }; + B3B469FA228F0F2700A68EDD /* UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469A8228F0F2600A68EDD /* UIColor.swift */; }; + B3B469FB228F0F2700A68EDD /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469A9228F0F2600A68EDD /* Extensions.swift */; }; + B3B469FC228F0F2700A68EDD /* String.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469AA228F0F2600A68EDD /* String.swift */; }; + B3B469FD228F0F2700A68EDD /* UIViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469AB228F0F2600A68EDD /* UIViewController.swift */; }; + B3B469FE228F0F2700A68EDD /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469AD228F0F2600A68EDD /* Button.swift */; }; + B3B469FF228F0F2700A68EDD /* ImageHeaderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = B3B469AE228F0F2600A68EDD /* ImageHeaderView.xib */; }; + B3B46A00228F0F2700A68EDD /* inconsolata_regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B3B469B1228F0F2600A68EDD /* inconsolata_regular.ttf */; }; + B3B46A01228F0F2700A68EDD /* SourceSansPro-BlackItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B3B469B3228F0F2600A68EDD /* SourceSansPro-BlackItalic.ttf */; }; + B3B46A02228F0F2700A68EDD /* SourceSansPro-SemiBoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B3B469B4228F0F2600A68EDD /* SourceSansPro-SemiBoldItalic.ttf */; }; + B3B46A03228F0F2700A68EDD /* SourceSansPro-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B3B469B5228F0F2600A68EDD /* SourceSansPro-Regular.ttf */; }; + B3B46A04228F0F2700A68EDD /* SourceSansPro-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B3B469B6228F0F2600A68EDD /* SourceSansPro-Bold.ttf */; }; + B3B46A05228F0F2700A68EDD /* SourceSansPro-LightItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B3B469B7228F0F2600A68EDD /* SourceSansPro-LightItalic.ttf */; }; + B3B46A06228F0F2700A68EDD /* SourceSansPro-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B3B469B8228F0F2600A68EDD /* SourceSansPro-Light.ttf */; }; + B3B46A07228F0F2700A68EDD /* SourceSansPro-Black.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B3B469B9228F0F2600A68EDD /* SourceSansPro-Black.ttf */; }; + B3B46A08228F0F2700A68EDD /* SourceSansPro-ExtraLight.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B3B469BA228F0F2600A68EDD /* SourceSansPro-ExtraLight.ttf */; }; + B3B46A09228F0F2700A68EDD /* SourceSansPro-BoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B3B469BB228F0F2600A68EDD /* SourceSansPro-BoldItalic.ttf */; }; + B3B46A0A228F0F2700A68EDD /* SourceSansPro-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B3B469BC228F0F2600A68EDD /* SourceSansPro-SemiBold.ttf */; }; + B3B46A0B228F0F2700A68EDD /* SourceSansPro-ExtraLightItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B3B469BD228F0F2600A68EDD /* SourceSansPro-ExtraLightItalic.ttf */; }; + B3B46A0C228F0F2700A68EDD /* SourceSansPro-Italic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B3B469BE228F0F2600A68EDD /* SourceSansPro-Italic.ttf */; }; + B3B46A0D228F0F2700A68EDD /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469C0228F0F2600A68EDD /* Constants.swift */; }; + B3B46A0E228F0F2700A68EDD /* wordlist.txt in Resources */ = {isa = PBXBuildFile; fileRef = B3B469C1228F0F2600A68EDD /* wordlist.txt */; }; + B3B46A0F228F0F2700A68EDD /* JsonEntities.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469C3228F0F2600A68EDD /* JsonEntities.swift */; }; + B3B46A10228F0F2700A68EDD /* UIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469C7228F0F2600A68EDD /* UIView.swift */; }; + B3B46A11228F0F2700A68EDD /* UITableViewExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469C8228F0F2600A68EDD /* UITableViewExtension.swift */; }; + B3B46A12228F0F2700A68EDD /* TextFieldDoneButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469C9228F0F2600A68EDD /* TextFieldDoneButton.swift */; }; + B3B46A13228F0F2700A68EDD /* AccountsHeaderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = B3B469CB228F0F2600A68EDD /* AccountsHeaderView.xib */; }; + B3B46A14228F0F2700A68EDD /* AccountsHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469CC228F0F2600A68EDD /* AccountsHeaderView.swift */; }; + B3B46A15228F0F2700A68EDD /* UIImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469CD228F0F2600A68EDD /* UIImageView.swift */; }; + B3B46A16228F0F2700A68EDD /* ImageHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469CE228F0F2600A68EDD /* ImageHeaderView.swift */; }; + B3B46A17228F0F2700A68EDD /* ContouredButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469CF228F0F2600A68EDD /* ContouredButton.swift */; }; + B3B46A18228F0F2700A68EDD /* DropDownSearchField.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469D0228F0F2600A68EDD /* DropDownSearchField.swift */; }; + B3B46A19228F0F2700A68EDD /* StartScreenViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469D3228F0F2600A68EDD /* StartScreenViewController.swift */; }; + B3B46A1A228F0F2700A68EDD /* Security.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B3B469D5228F0F2600A68EDD /* Security.storyboard */; }; + B3B46A1B228F0F2700A68EDD /* SecurityViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469D6228F0F2600A68EDD /* SecurityViewController.swift */; }; + B3B46A1C228F0F2700A68EDD /* PinInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469D7228F0F2600A68EDD /* PinInputView.swift */; }; + B3B46A1D228F0F2700A68EDD /* PasswordSetupViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469D8228F0F2600A68EDD /* PasswordSetupViewController.swift */; }; + B3B46A1E228F0F2700A68EDD /* RequestPasswordViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469D9228F0F2600A68EDD /* RequestPasswordViewController.swift */; }; + B3B46A1F228F0F2700A68EDD /* RequestPinViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469DA228F0F2600A68EDD /* RequestPinViewController.swift */; }; + B3B46A20228F0F2700A68EDD /* PinPasswordStrength.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469DB228F0F2600A68EDD /* PinPasswordStrength.swift */; }; + B3B46A21228F0F2700A68EDD /* SecurityBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469DC228F0F2600A68EDD /* SecurityBaseViewController.swift */; }; + B3B46A22228F0F2700A68EDD /* TransactionTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B3B469DE228F0F2600A68EDD /* TransactionTableViewCell.xib */; }; + B3B46A23228F0F2700A68EDD /* TransactionHistoryViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = B3B469DF228F0F2600A68EDD /* TransactionHistoryViewController.xib */; }; + B3B46A24228F0F2700A68EDD /* TransactionTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469E0228F0F2600A68EDD /* TransactionTableViewCell.swift */; }; + B3B46A25228F0F2700A68EDD /* TransactionHistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469E1228F0F2600A68EDD /* TransactionHistoryViewController.swift */; }; + B3B46A26228F0F2700A68EDD /* CreateNewWalletViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469E3228F0F2600A68EDD /* CreateNewWalletViewController.swift */; }; + B3B46A27228F0F2700A68EDD /* ConfirmNewWalletSeedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469E4228F0F2600A68EDD /* ConfirmNewWalletSeedViewController.swift */; }; + B3B46A28228F0F2700A68EDD /* RecoverExistingWalletViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469E5228F0F2600A68EDD /* RecoverExistingWalletViewController.swift */; }; + B3B46A29228F0F2700A68EDD /* WalletSetupViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469E6228F0F2600A68EDD /* WalletSetupViewController.swift */; }; + B3B46A2A228F0F2700A68EDD /* WalletSetupBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469E7228F0F2600A68EDD /* WalletSetupBaseViewController.swift */; }; + B3B46A2B228F0F2700A68EDD /* WalletSetup.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B3B469E8228F0F2600A68EDD /* WalletSetup.storyboard */; }; + B3B46A2C228F0F2700A68EDD /* MenuItemCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469EA228F0F2600A68EDD /* MenuItemCell.swift */; }; + B3B46A2D228F0F2700A68EDD /* NavigationMenu.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B3B469EB228F0F2600A68EDD /* NavigationMenu.storyboard */; }; + B3B46A2E228F0F2700A68EDD /* MenuItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469EC228F0F2600A68EDD /* MenuItem.swift */; }; + B3B46A2F228F0F2700A68EDD /* MenuItemCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B3B469ED228F0F2600A68EDD /* MenuItemCell.xib */; }; + B3B46A30228F0F2700A68EDD /* NavigationMenuViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469EE228F0F2600A68EDD /* NavigationMenuViewController.swift */; }; + B3B46A31228F0F2700A68EDD /* SyncProgressViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469F0228F0F2600A68EDD /* SyncProgressViewController.swift */; }; + B3B46A32228F0F2700A68EDD /* OverviewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469F1228F0F2600A68EDD /* OverviewViewController.swift */; }; + B3B46A33228F0F2700A68EDD /* Overview.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B3B469F2228F0F2600A68EDD /* Overview.storyboard */; }; + B3B46A34228F0F2700A68EDD /* TransactionNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469F4228F0F2600A68EDD /* TransactionNotification.swift */; }; + B3B46A35228F0F2700A68EDD /* Syncer.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469F5228F0F2600A68EDD /* Syncer.swift */; }; + B3B46A36228F0F2700A68EDD /* WalletLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469F6228F0F2600A68EDD /* WalletLoader.swift */; }; + B3B46A37228F0F2700A68EDD /* SpendingPinOrPassword.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469F7228F0F2600A68EDD /* SpendingPinOrPassword.swift */; }; + B3B46A38228F0F2700A68EDD /* SyncDecodableDataTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469F8228F0F2600A68EDD /* SyncDecodableDataTypes.swift */; }; + B3B46A39228F0F2700A68EDD /* StartupPinOrPassword.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B469F9228F0F2600A68EDD /* StartupPinOrPassword.swift */; }; + B3B46A3F228F0F6700A68EDD /* bg-button@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B3B46A3B228F0F6700A68EDD /* bg-button@3x.png */; }; + B3B46A40228F0F6700A68EDD /* bg-button.png in Resources */ = {isa = PBXBuildFile; fileRef = B3B46A3C228F0F6700A68EDD /* bg-button.png */; }; + B3B46A41228F0F6700A68EDD /* dcr-logo.png in Resources */ = {isa = PBXBuildFile; fileRef = B3B46A3D228F0F6700A68EDD /* dcr-logo.png */; }; + B3B46A42228F0F6700A68EDD /* progress bar-1s-200px.gif in Resources */ = {isa = PBXBuildFile; fileRef = B3B46A3E228F0F6700A68EDD /* progress bar-1s-200px.gif */; }; + B3B46A85228F0F7D00A68EDD /* UIApplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A47228F0F7B00A68EDD /* UIApplication.swift */; }; + B3B46A86228F0F7D00A68EDD /* DropMenuButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A49228F0F7B00A68EDD /* DropMenuButton.swift */; }; + B3B46A87228F0F7D00A68EDD /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A4A228F0F7B00A68EDD /* Data.swift */; }; + B3B46A88228F0F7D00A68EDD /* UIIMage.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A4B228F0F7B00A68EDD /* UIIMage.swift */; }; + B3B46A89228F0F7D00A68EDD /* keyPadButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A4C228F0F7B00A68EDD /* keyPadButton.swift */; }; + B3B46A8A228F0F7D00A68EDD /* customUImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A4D228F0F7B00A68EDD /* customUImage.swift */; }; + B3B46A8B228F0F7D00A68EDD /* splashLogo.gif in Resources */ = {isa = PBXBuildFile; fileRef = B3B46A4E228F0F7B00A68EDD /* splashLogo.gif */; }; + B3B46A8C228F0F7D00A68EDD /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A4F228F0F7B00A68EDD /* Utils.swift */; }; + B3B46A8D228F0F7D00A68EDD /* WifiConfirmationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A52228F0F7B00A68EDD /* WifiConfirmationController.swift */; }; + B3B46A8E228F0F7D00A68EDD /* ConfirmToSendFundViewPINController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A53228F0F7B00A68EDD /* ConfirmToSendFundViewPINController.swift */; }; + B3B46A8F228F0F7D00A68EDD /* ConfirmToSendFundViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A54228F0F7B00A68EDD /* ConfirmToSendFundViewController.swift */; }; + B3B46A97228F0F7D00A68EDD /* TransactionFullDetailsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A5E228F0F7B00A68EDD /* TransactionFullDetailsViewController.swift */; }; + B3B46A98228F0F7D00A68EDD /* TransactionFullDetailsViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B3B46A5F228F0F7B00A68EDD /* TransactionFullDetailsViewController.storyboard */; }; + B3B46A99228F0F7D00A68EDD /* certificateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A60228F0F7B00A68EDD /* certificateViewController.swift */; }; + B3B46A9A228F0F7D00A68EDD /* SettingsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A61228F0F7B00A68EDD /* SettingsController.swift */; }; + B3B46A9B228F0F7D00A68EDD /* PeerSetTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A62228F0F7B00A68EDD /* PeerSetTableViewController.swift */; }; + B3B46A9C228F0F7D00A68EDD /* ServerSetTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A63228F0F7B00A68EDD /* ServerSetTableViewController.swift */; }; + B3B46A9D228F0F7D00A68EDD /* HelpViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A64228F0F7B00A68EDD /* HelpViewController.swift */; }; + B3B46A9E228F0F7D00A68EDD /* ReceiveViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A65228F0F7B00A68EDD /* ReceiveViewController.swift */; }; + B3B46A9F228F0F7D00A68EDD /* WalletLogViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A66228F0F7B00A68EDD /* WalletLogViewController.swift */; }; + B3B46AA0228F0F7D00A68EDD /* SendCompletedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A68228F0F7B00A68EDD /* SendCompletedViewController.swift */; }; + B3B46AA1228F0F7D00A68EDD /* SendCompletedViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B3B46A69228F0F7B00A68EDD /* SendCompletedViewController.storyboard */; }; + B3B46AA3228F0F7D00A68EDD /* SendViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A6B228F0F7B00A68EDD /* SendViewController.swift */; }; + B3B46AA6228F0F7D00A68EDD /* NetworkModeTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A6E228F0F7B00A68EDD /* NetworkModeTableViewController.swift */; }; + B3B46AA7228F0F7D00A68EDD /* CurrencyOptionTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A6F228F0F7B00A68EDD /* CurrencyOptionTableViewController.swift */; }; + B3B46AA8228F0F7D00A68EDD /* NodeLogViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A70228F0F7B00A68EDD /* NodeLogViewController.swift */; }; + B3B46AA9228F0F7D00A68EDD /* AddAcountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A71228F0F7B00A68EDD /* AddAcountViewController.swift */; }; + B3B46AAA228F0F7D00A68EDD /* AccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A72228F0F7B00A68EDD /* AccountViewController.swift */; }; + B3B46AAB228F0F7D00A68EDD /* TransactionHistoryTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A74228F0F7C00A68EDD /* TransactionHistoryTableViewCell.swift */; }; + B3B46AAC228F0F7D00A68EDD /* RecoveryWalletSeedWordCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A75228F0F7C00A68EDD /* RecoveryWalletSeedWordCell.swift */; }; + B3B46AAD228F0F7D00A68EDD /* BaseTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A76228F0F7C00A68EDD /* BaseTableViewCell.swift */; }; + B3B46AAE228F0F7D00A68EDD /* TransactionHistoryTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B3B46A77228F0F7C00A68EDD /* TransactionHistoryTableViewCell.xib */; }; + B3B46AAF228F0F7D00A68EDD /* SeedConfirmTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A78228F0F7C00A68EDD /* SeedConfirmTableViewCell.swift */; }; + B3B46AB0228F0F7D00A68EDD /* AccountDataCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A79228F0F7C00A68EDD /* AccountDataCell.swift */; }; + B3B46AB1228F0F7D00A68EDD /* SeedCheckActiveCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A7A228F0F7C00A68EDD /* SeedCheckActiveCellView.swift */; }; + B3B46AB2228F0F7D00A68EDD /* AccountDataCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B3B46A7B228F0F7C00A68EDD /* AccountDataCell.xib */; }; + B3B46AB3228F0F7D00A68EDD /* ConfirmSeedViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A7C228F0F7C00A68EDD /* ConfirmSeedViewCell.swift */; }; + B3B46AB4228F0F7D00A68EDD /* SecurityMenuViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A7D228F0F7C00A68EDD /* SecurityMenuViewController.swift */; }; + B3B46AB5228F0F7D00A68EDD /* SingleInstance.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A7E228F0F7C00A68EDD /* SingleInstance.swift */; }; + B3B46AB6228F0F7D00A68EDD /* Storyboards.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A7F228F0F7C00A68EDD /* Storyboards.swift */; }; + B3B46AB7228F0F7D00A68EDD /* splashLoader.gif in Resources */ = {isa = PBXBuildFile; fileRef = B3B46A80228F0F7C00A68EDD /* splashLoader.gif */; }; + B3B46ABA228F102800A68EDD /* Dcrlibwallet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3B46AB9228F102800A68EDD /* Dcrlibwallet.framework */; }; + B3B46AC4228F120700A68EDD /* TransactiontOutputDetailsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46ABD228F120700A68EDD /* TransactiontOutputDetailsCell.swift */; }; + B3B46AC5228F120700A68EDD /* TransactiontInputDetails.xib in Resources */ = {isa = PBXBuildFile; fileRef = B3B46ABE228F120700A68EDD /* TransactiontInputDetails.xib */; }; + B3B46AC6228F120700A68EDD /* TransactiontOutputDetailsCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B3B46ABF228F120700A68EDD /* TransactiontOutputDetailsCell.xib */; }; + B3B46AC7228F120700A68EDD /* TransactionDetailCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B3B46AC0228F120700A68EDD /* TransactionDetailCell.xib */; }; + B3B46AC8228F120700A68EDD /* TransactionDetailCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46AC1228F120700A68EDD /* TransactionDetailCell.swift */; }; + B3B46AC9228F120700A68EDD /* TransactiontInputDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46AC2228F120700A68EDD /* TransactiontInputDetails.swift */; }; + C23B3FA93B9C7677C80614E8 /* Pods_decred_wallet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29A74BFFB42A1B6273EE305B /* Pods_decred_wallet.framework */; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - DDA3E27F20292EF900C83D18 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = DDA3E26220292EF900C83D18 /* Project object */; - proxyType = 1; - remoteGlobalIDString = DDA3E26920292EF900C83D18; - remoteInfo = "Decred Wallet"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 28F0CE952088B1AF003AC958 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ - 2804D43221BAAD170011A5B3 /* SeedCheckActiveCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SeedCheckActiveCellView.swift; sourceTree = ""; }; - 28102DCC21B83E700052DC00 /* ContouredButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContouredButton.swift; sourceTree = ""; }; - 28102DCE21B83F8F0052DC00 /* SeedConfirmTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SeedConfirmTableViewCell.swift; sourceTree = ""; }; - 281D545421B169D100F68803 /* SecurityViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SecurityViewController.swift; sourceTree = ""; }; - 281D545621B169D100F68803 /* RequestPinViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RequestPinViewController.swift; sourceTree = ""; }; - 281D545721B169D100F68803 /* PasswordSetupViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PasswordSetupViewController.swift; sourceTree = ""; }; - 281D545C21B16AC800F68803 /* PinInputView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = PinInputView.swift; path = decred_wallet/Features/Security/PinInputView.swift; sourceTree = SOURCE_ROOT; }; - 2827EE0921B9675500832555 /* ConfirmNewWalletSeedViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfirmNewWalletSeedViewController.swift; sourceTree = ""; }; - 2850E07F217612EE00171267 /* SourceSansPro-BlackItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-BlackItalic.ttf"; sourceTree = ""; }; - 2850E080217612EE00171267 /* SourceSansPro-SemiBoldItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-SemiBoldItalic.ttf"; sourceTree = ""; }; - 2850E081217612EE00171267 /* SourceSansPro-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-Regular.ttf"; sourceTree = ""; }; - 2850E082217612EE00171267 /* SourceSansPro-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-Bold.ttf"; sourceTree = ""; }; - 2850E083217612EE00171267 /* SourceSansPro-LightItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-LightItalic.ttf"; sourceTree = ""; }; - 2850E084217612EE00171267 /* SourceSansPro-Light.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-Light.ttf"; sourceTree = ""; }; - 2850E085217612EE00171267 /* SourceSansPro-Black.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-Black.ttf"; sourceTree = ""; }; - 2850E086217612EE00171267 /* SourceSansPro-ExtraLight.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-ExtraLight.ttf"; sourceTree = ""; }; - 2850E087217612EE00171267 /* SourceSansPro-BoldItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-BoldItalic.ttf"; sourceTree = ""; }; - 2850E088217612EE00171267 /* SourceSansPro-SemiBold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-SemiBold.ttf"; sourceTree = ""; }; - 2850E089217612EE00171267 /* SourceSansPro-ExtraLightItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-ExtraLightItalic.ttf"; sourceTree = ""; }; - 2850E08A217612EE00171267 /* SourceSansPro-Italic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-Italic.ttf"; sourceTree = ""; }; - 28664E5D216F740000AA01E2 /* progress bar-1s-200px.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = "progress bar-1s-200px.gif"; path = "decred_wallet/Resources/progress bar-1s-200px.gif"; sourceTree = ""; }; - 286DA548210B0C7A00734259 /* Data.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Data.swift; sourceTree = ""; }; - 2870338A20BC5E7D00BFD0B8 /* JsonEntities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JsonEntities.swift; sourceTree = ""; }; - 2883CA6F2099D40F0053D9BB /* DropDownSearchField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DropDownSearchField.swift; sourceTree = ""; }; - 2883CA71209B52AE0053D9BB /* StartScreenViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StartScreenViewController.swift; sourceTree = ""; }; - 28D36C7B2180ADF5000C6572 /* ConfirmSeedViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfirmSeedViewCell.swift; sourceTree = ""; }; - 28EB91B720FCFD8F007A0906 /* CreateNewWalletViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CreateNewWalletViewController.swift; sourceTree = ""; }; - 28EB91BE20FCFDBE007A0906 /* TransactionHistoryTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactionHistoryTableViewCell.swift; sourceTree = ""; }; - 28EB91BF20FCFDBE007A0906 /* BaseTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseTableViewCell.swift; sourceTree = ""; }; - 28EB91C020FCFDBE007A0906 /* TransactionHistoryTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TransactionHistoryTableViewCell.xib; sourceTree = ""; }; - 28EB91C120FCFDBE007A0906 /* AccountDataCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountDataCell.swift; sourceTree = ""; }; - 28EB91C220FCFDBE007A0906 /* AccountDataCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AccountDataCell.xib; sourceTree = ""; }; - 28EB91C320FCFDBE007A0906 /* TransactionTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TransactionTableViewCell.xib; sourceTree = ""; }; - 28EB91C420FCFDBE007A0906 /* MenuItemCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MenuItemCell.swift; sourceTree = ""; }; - 28EB91C520FCFDBE007A0906 /* TransactionTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactionTableViewCell.swift; sourceTree = ""; }; - 28EB91C620FCFDBE007A0906 /* MenuItemCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MenuItemCell.xib; sourceTree = ""; }; - 28F0CE7220888258003AC958 /* Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utils.swift; sourceTree = ""; }; - 28FEB26B21D263E7001B074B /* RecoverExistingWalletViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecoverExistingWalletViewController.swift; sourceTree = ""; }; - 28FEB26D21D264D9001B074B /* RecoveryWalletSeedWordCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecoveryWalletSeedWordCell.swift; sourceTree = ""; }; - 59C0B78FBE22FDE12F72A4BD /* Pods-Decred Wallet.mainnet.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred Wallet.mainnet.xcconfig"; path = "Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet.mainnet.xcconfig"; sourceTree = ""; }; - 746E19ED2213F0DF0073E0D6 /* decred_wallet-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "decred_wallet-Bridging-Header.h"; sourceTree = ""; }; - 746E19EE2213F0F90073E0D6 /* ObserverProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ObserverProxy.h; sourceTree = ""; }; - 74BA834F225ED7AA00D3359E /* testnet.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = testnet.xcconfig; sourceTree = ""; }; - 74BA8353225EDDB900D3359E /* mainnet.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = mainnet.xcconfig; sourceTree = ""; }; - 803CF6EF4883511AD6FBFEDA /* Pods-Decred WalletTests.testnet.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred WalletTests.testnet.xcconfig"; path = "Target Support Files/Pods-Decred WalletTests/Pods-Decred WalletTests.testnet.xcconfig"; sourceTree = ""; }; - 8189AACB6CA2D0A1D0BF64BB /* Pods-Decred Wallet.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred Wallet.release.xcconfig"; path = "Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet.release.xcconfig"; sourceTree = ""; }; - 86D9782F8EE06C89E05C3666 /* Pods-Decred Wallet.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred Wallet.debug.xcconfig"; path = "Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet.debug.xcconfig"; sourceTree = ""; }; - 952C932620E2174B00A60E43 /* ConfirmToSendFundViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfirmToSendFundViewController.swift; sourceTree = ""; }; - 952C932920E247FE00A60E43 /* SendCompletedViewController.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = SendCompletedViewController.storyboard; sourceTree = ""; }; - 952C932B20E2481500A60E43 /* SendCompletedViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SendCompletedViewController.swift; sourceTree = ""; }; - 95404EBC20E113D700B34327 /* AccountsHeaderView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountsHeaderView.swift; sourceTree = ""; }; - 95404EBD20E113D700B34327 /* AccountsHeaderView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AccountsHeaderView.xib; sourceTree = ""; }; - 95473E6320E393C00023F50A /* TransactionFullDetailsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TransactionFullDetailsViewController.swift; sourceTree = ""; }; - 95473E6520E393E50023F50A /* TransactionFullDetailsViewController.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = TransactionFullDetailsViewController.storyboard; sourceTree = ""; }; - 95473E6820E39E3C0023F50A /* TransactiontInputDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TransactiontInputDetails.swift; sourceTree = ""; }; - 95473E6920E39E3C0023F50A /* TransactiontInputDetails.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TransactiontInputDetails.xib; sourceTree = ""; }; - 95473E6C20E39E7A0023F50A /* TransactiontOutputDetailsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TransactiontOutputDetailsCell.swift; sourceTree = ""; }; - 95473E7020E3A4C00023F50A /* TransactiontOutputDetailsCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TransactiontOutputDetailsCell.xib; sourceTree = ""; }; - 95473E7220E3A6420023F50A /* TransactionDetailCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TransactionDetailCell.swift; sourceTree = ""; }; - 95473E7320E3A6420023F50A /* TransactionDetailCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TransactionDetailCell.xib; sourceTree = ""; }; - 956D14AD20BF035C00624D68 /* wordlist.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = wordlist.txt; sourceTree = ""; }; - 957F0AFE20B82F3200D3E8A9 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; - 95877FE620B70CBB00CE53D2 /* TransactionHistoryViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TransactionHistoryViewController.xib; sourceTree = ""; }; - 95877FE720B70CBB00CE53D2 /* TransactionHistoryViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactionHistoryViewController.swift; sourceTree = ""; }; - 95CC024320D3F15800DA73AF /* AccountsData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountsData.swift; sourceTree = ""; }; - 95E1C96D20FCD43E00D7F3EE /* TextFieldDoneButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldDoneButton.swift; sourceTree = ""; }; - 97C93247BA63B908E0B4F262 /* Pods-Decred WalletTests.mainnet.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred WalletTests.mainnet.xcconfig"; path = "Target Support Files/Pods-Decred WalletTests/Pods-Decred WalletTests.mainnet.xcconfig"; sourceTree = ""; }; - 9BB18428A6467205A88C5FD9 /* Pods_Decred_Wallet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Decred_Wallet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B353549722842A8700DBFDC9 /* WalletSetup.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = WalletSetup.storyboard; sourceTree = ""; }; - B35354992284329500DBFDC9 /* Storyboards.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Storyboards.swift; sourceTree = ""; }; - B353549B22844CB100DBFDC9 /* WalletLoader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletLoader.swift; sourceTree = ""; }; - B35BF4622278923700018DBE /* PinPasswordStrength.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PinPasswordStrength.swift; sourceTree = ""; }; - B36225DE22725BC100D61D15 /* WalletSetupBaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletSetupBaseViewController.swift; sourceTree = ""; }; - B36547C52286A6490015F911 /* NavigationMenuViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationMenuViewController.swift; sourceTree = ""; }; - B36547C72286B4B70015F911 /* MenuItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuItem.swift; sourceTree = ""; }; - B3879A102271F4970066CD0F /* Dcrlibwallet.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Dcrlibwallet.framework; path = libs/Dcrlibwallet.framework; sourceTree = ""; }; - B38F4546227062B50068F33D /* Dcrlibwallet.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Dcrlibwallet.framework; path = debug/Dcrlibwallet.framework; sourceTree = ""; }; - B39D0F412287ECF90035F781 /* OverviewViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OverviewViewController.swift; sourceTree = ""; }; - B39F15B122896E330024A884 /* Button.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; - B39F15B3228992120024A884 /* Syncer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Syncer.swift; sourceTree = ""; }; - B39F15B5228994D00024A884 /* SyncDecodableDataTypes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyncDecodableDataTypes.swift; sourceTree = ""; }; - B39F15B722899A770024A884 /* String.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = String.swift; sourceTree = ""; }; - B39F15B9228A53640024A884 /* Overview.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Overview.storyboard; sourceTree = ""; }; - B39F15BB228A54E60024A884 /* SyncProgressViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyncProgressViewController.swift; sourceTree = ""; }; - B39F41C72278DB8300F6F202 /* Dcrlibwallet.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Dcrlibwallet.framework; path = libs/Dcrlibwallet.framework; sourceTree = ""; }; - B3A32AA9227012BB00CDD53D /* Crashlytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Crashlytics.framework; path = Pods/Crashlytics/Crashlytics.framework; sourceTree = ""; }; - B3BA850B22744C7400440D3A /* SpendingPinOrPassword.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpendingPinOrPassword.swift; sourceTree = ""; }; - B3BA850D22744C8800440D3A /* StartupPinOrPassword.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StartupPinOrPassword.swift; sourceTree = ""; }; - B3CC32AF2284CBCC00A48624 /* Security.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Security.storyboard; sourceTree = ""; }; - B3CC32B12284CFC000A48624 /* SecurityBaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecurityBaseViewController.swift; sourceTree = ""; }; - B3CC32B32284D7FD00A48624 /* NavigationMenu.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = NavigationMenu.storyboard; sourceTree = ""; }; - B3CC32B922856AEF00A48624 /* Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = ""; }; - B3FA1D80228B3CA000C8FE16 /* TransactionNotification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TransactionNotification.swift; sourceTree = ""; }; - D041B416C87AEF5835443B41 /* libPods-Decred WalletTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Decred WalletTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - D88FC8D6F04F2065EA91CDD0 /* Pods-Decred WalletTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred WalletTests.release.xcconfig"; path = "Target Support Files/Pods-Decred WalletTests/Pods-Decred WalletTests.release.xcconfig"; sourceTree = ""; }; - DD0B356D218930B7000830C4 /* AddAcountViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddAcountViewController.swift; sourceTree = ""; }; - DD0C493D208A160900986C6B /* WalletSetupViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletSetupViewController.swift; sourceTree = ""; }; - DD1D5C7B20AED824009789DD /* certificateViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = certificateViewController.swift; sourceTree = ""; }; - DD1D5C7D20AEDB15009789DD /* WalletLogViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletLogViewController.swift; sourceTree = ""; }; - DD1D5C7F20AEDB2B009789DD /* NodeLogViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NodeLogViewController.swift; sourceTree = ""; }; - DD1D5C8120AEE90D009789DD /* ServerSetTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerSetTableViewController.swift; sourceTree = ""; }; - DD1D5C8320AEE9FE009789DD /* PeerSetTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PeerSetTableViewController.swift; sourceTree = ""; }; - DD24AFA320A6ED70009EC84F /* NetworkModeTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkModeTableViewController.swift; sourceTree = ""; }; - DD3A7E0D2152A7520009A0BE /* SingleInstance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SingleInstance.swift; sourceTree = ""; }; - DD419762202F9B570044F068 /* UITableViewExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITableViewExtension.swift; sourceTree = ""; }; - DD4C89D72038CABD003FEA0C /* keyPadButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = keyPadButton.swift; sourceTree = ""; }; - DD4C89D82038CDBC003FEA0C /* DropMenuButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DropMenuButton.swift; sourceTree = ""; }; - DDA0F47321EEC8E7006AB571 /* RequestPasswordViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RequestPasswordViewController.swift; sourceTree = ""; }; - DDA3E26A20292EF900C83D18 /* DecredWallet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DecredWallet.app; sourceTree = BUILT_PRODUCTS_DIR; }; - DDA3E26D20292EF900C83D18 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - DDA3E27220292EF900C83D18 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - DDA3E27420292EF900C83D18 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - DDA3E27720292EF900C83D18 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - DDA3E27920292EF900C83D18 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - DDA3E27E20292EF900C83D18 /* Decred WalletTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Decred WalletTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - DDA3E28220292EF900C83D18 /* Decred_WalletTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Decred_WalletTests.swift; sourceTree = ""; }; - DDA3E28420292EF900C83D18 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - DDA5C06A22591D9D0052CD52 /* WifiConfirmationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WifiConfirmationController.swift; sourceTree = ""; }; - DDA66BB621BFFFA800987248 /* SecurityMenuViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SecurityMenuViewController.swift; path = decred_wallet/SecurityMenuViewController.swift; sourceTree = SOURCE_ROOT; }; - DDAE8BBC223C181E005CDD9C /* splashLogo.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = splashLogo.gif; sourceTree = ""; }; - DDAE8BC2224283AE005CDD9C /* customUImage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = customUImage.swift; sourceTree = ""; }; - DDB89401202F771F002F85EE /* UIViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIViewController.swift; sourceTree = ""; }; - DDB89403202F7E01002F85EE /* SendViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SendViewController.swift; sourceTree = ""; }; - DDB89408202F824A002F85EE /* ReceiveViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReceiveViewController.swift; sourceTree = ""; }; - DDB8940A202F82A3002F85EE /* AccountViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountViewController.swift; sourceTree = ""; }; - DDB8940C202F82E6002F85EE /* SettingsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsController.swift; sourceTree = ""; }; - DDB89416202F8EE2002F85EE /* UIImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIImageView.swift; sourceTree = ""; }; - DDB89418202F8F3E002F85EE /* UIIMage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIIMage.swift; sourceTree = ""; }; - DDB8941A202F8F92002F85EE /* UIColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIColor.swift; sourceTree = ""; }; - DDB89426202F955F002F85EE /* UIView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIView.swift; sourceTree = ""; }; - DDB89428202F95AC002F85EE /* UIApplication.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIApplication.swift; sourceTree = ""; }; - DDBB74A72215B5C7003B172C /* inconsolata_regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = inconsolata_regular.ttf; sourceTree = ""; }; - DDC51C9F2272076D00ED24B0 /* Dcrlibwallet.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Dcrlibwallet.framework; sourceTree = ""; }; - DDD2BA16224FED3800136C65 /* CurrencyOptionTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CurrencyOptionTableViewController.swift; path = decred_wallet/view_controller/CurrencyOptionTableViewController.swift; sourceTree = ""; }; - DDD37FB8138E4D4E83F64691 /* Pods-Decred WalletTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred WalletTests.debug.xcconfig"; path = "Target Support Files/Pods-Decred WalletTests/Pods-Decred WalletTests.debug.xcconfig"; sourceTree = ""; }; - DDD967362204668400462238 /* ConfirmToSendFundViewPINController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfirmToSendFundViewPINController.swift; sourceTree = ""; }; - DDE90C892162CCB20031CED7 /* HelpViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HelpViewController.swift; sourceTree = ""; }; - EEF206FAF87F1149B8A07A5E /* Pods-Decred Wallet.testnet.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred Wallet.testnet.xcconfig"; path = "Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet.testnet.xcconfig"; sourceTree = ""; }; + 29A74BFFB42A1B6273EE305B /* Pods_decred_wallet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_decred_wallet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 6E101B27914D446A611047FA /* Pods-decred_wallet.testnet debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-decred_wallet.testnet debug.xcconfig"; path = "Target Support Files/Pods-decred_wallet/Pods-decred_wallet.testnet debug.xcconfig"; sourceTree = ""; }; + 90F2C1496F6CB8860F23D117 /* Pods-decred_wallet.mainnet release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-decred_wallet.mainnet release.xcconfig"; path = "Target Support Files/Pods-decred_wallet/Pods-decred_wallet.mainnet release.xcconfig"; sourceTree = ""; }; + B30A37CA228F3A6100F78629 /* mainnet.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = mainnet.xcconfig; sourceTree = ""; }; + B3B4698F228F0C2D00A68EDD /* decred_wallet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = decred_wallet.app; sourceTree = BUILT_PRODUCTS_DIR; }; + B3B46992228F0C2E00A68EDD /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + B3B46997228F0C2E00A68EDD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + B3B46999228F0C2E00A68EDD /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + B3B4699C228F0C2E00A68EDD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + B3B4699E228F0C2E00A68EDD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + B3B469A5228F0F0700A68EDD /* AccountsData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountsData.swift; sourceTree = ""; }; + B3B469A8228F0F2600A68EDD /* UIColor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIColor.swift; sourceTree = ""; }; + B3B469A9228F0F2600A68EDD /* Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = ""; }; + B3B469AA228F0F2600A68EDD /* String.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = String.swift; sourceTree = ""; }; + B3B469AB228F0F2600A68EDD /* UIViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIViewController.swift; sourceTree = ""; }; + B3B469AD228F0F2600A68EDD /* Button.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; + B3B469AE228F0F2600A68EDD /* ImageHeaderView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ImageHeaderView.xib; sourceTree = ""; }; + B3B469B1228F0F2600A68EDD /* inconsolata_regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = inconsolata_regular.ttf; sourceTree = ""; }; + B3B469B3228F0F2600A68EDD /* SourceSansPro-BlackItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-BlackItalic.ttf"; sourceTree = ""; }; + B3B469B4228F0F2600A68EDD /* SourceSansPro-SemiBoldItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-SemiBoldItalic.ttf"; sourceTree = ""; }; + B3B469B5228F0F2600A68EDD /* SourceSansPro-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-Regular.ttf"; sourceTree = ""; }; + B3B469B6228F0F2600A68EDD /* SourceSansPro-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-Bold.ttf"; sourceTree = ""; }; + B3B469B7228F0F2600A68EDD /* SourceSansPro-LightItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-LightItalic.ttf"; sourceTree = ""; }; + B3B469B8228F0F2600A68EDD /* SourceSansPro-Light.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-Light.ttf"; sourceTree = ""; }; + B3B469B9228F0F2600A68EDD /* SourceSansPro-Black.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-Black.ttf"; sourceTree = ""; }; + B3B469BA228F0F2600A68EDD /* SourceSansPro-ExtraLight.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-ExtraLight.ttf"; sourceTree = ""; }; + B3B469BB228F0F2600A68EDD /* SourceSansPro-BoldItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-BoldItalic.ttf"; sourceTree = ""; }; + B3B469BC228F0F2600A68EDD /* SourceSansPro-SemiBold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-SemiBold.ttf"; sourceTree = ""; }; + B3B469BD228F0F2600A68EDD /* SourceSansPro-ExtraLightItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-ExtraLightItalic.ttf"; sourceTree = ""; }; + B3B469BE228F0F2600A68EDD /* SourceSansPro-Italic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-Italic.ttf"; sourceTree = ""; }; + B3B469C0228F0F2600A68EDD /* Constants.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; + B3B469C1228F0F2600A68EDD /* wordlist.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = wordlist.txt; sourceTree = ""; }; + B3B469C3228F0F2600A68EDD /* JsonEntities.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JsonEntities.swift; sourceTree = ""; }; + B3B469C4228F0F2600A68EDD /* ObserverProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObserverProxy.h; sourceTree = ""; }; + B3B469C5228F0F2600A68EDD /* decred_wallet-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "decred_wallet-Bridging-Header.h"; sourceTree = ""; }; + B3B469C7228F0F2600A68EDD /* UIView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIView.swift; sourceTree = ""; }; + B3B469C8228F0F2600A68EDD /* UITableViewExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UITableViewExtension.swift; sourceTree = ""; }; + B3B469C9228F0F2600A68EDD /* TextFieldDoneButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldDoneButton.swift; sourceTree = ""; }; + B3B469CB228F0F2600A68EDD /* AccountsHeaderView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AccountsHeaderView.xib; sourceTree = ""; }; + B3B469CC228F0F2600A68EDD /* AccountsHeaderView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountsHeaderView.swift; sourceTree = ""; }; + B3B469CD228F0F2600A68EDD /* UIImageView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIImageView.swift; sourceTree = ""; }; + B3B469CE228F0F2600A68EDD /* ImageHeaderView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageHeaderView.swift; sourceTree = ""; }; + B3B469CF228F0F2600A68EDD /* ContouredButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContouredButton.swift; sourceTree = ""; }; + B3B469D0228F0F2600A68EDD /* DropDownSearchField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DropDownSearchField.swift; sourceTree = ""; }; + B3B469D3228F0F2600A68EDD /* StartScreenViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StartScreenViewController.swift; sourceTree = ""; }; + B3B469D5228F0F2600A68EDD /* Security.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Security.storyboard; sourceTree = ""; }; + B3B469D6228F0F2600A68EDD /* SecurityViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SecurityViewController.swift; sourceTree = ""; }; + B3B469D7228F0F2600A68EDD /* PinInputView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PinInputView.swift; sourceTree = ""; }; + B3B469D8228F0F2600A68EDD /* PasswordSetupViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PasswordSetupViewController.swift; sourceTree = ""; }; + B3B469D9228F0F2600A68EDD /* RequestPasswordViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RequestPasswordViewController.swift; sourceTree = ""; }; + B3B469DA228F0F2600A68EDD /* RequestPinViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RequestPinViewController.swift; sourceTree = ""; }; + B3B469DB228F0F2600A68EDD /* PinPasswordStrength.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PinPasswordStrength.swift; sourceTree = ""; }; + B3B469DC228F0F2600A68EDD /* SecurityBaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SecurityBaseViewController.swift; sourceTree = ""; }; + B3B469DE228F0F2600A68EDD /* TransactionTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TransactionTableViewCell.xib; sourceTree = ""; }; + B3B469DF228F0F2600A68EDD /* TransactionHistoryViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TransactionHistoryViewController.xib; sourceTree = ""; }; + B3B469E0228F0F2600A68EDD /* TransactionTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactionTableViewCell.swift; sourceTree = ""; }; + B3B469E1228F0F2600A68EDD /* TransactionHistoryViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactionHistoryViewController.swift; sourceTree = ""; }; + B3B469E3228F0F2600A68EDD /* CreateNewWalletViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CreateNewWalletViewController.swift; sourceTree = ""; }; + B3B469E4228F0F2600A68EDD /* ConfirmNewWalletSeedViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfirmNewWalletSeedViewController.swift; sourceTree = ""; }; + B3B469E5228F0F2600A68EDD /* RecoverExistingWalletViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecoverExistingWalletViewController.swift; sourceTree = ""; }; + B3B469E6228F0F2600A68EDD /* WalletSetupViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WalletSetupViewController.swift; sourceTree = ""; }; + B3B469E7228F0F2600A68EDD /* WalletSetupBaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WalletSetupBaseViewController.swift; sourceTree = ""; }; + B3B469E8228F0F2600A68EDD /* WalletSetup.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = WalletSetup.storyboard; sourceTree = ""; }; + B3B469EA228F0F2600A68EDD /* MenuItemCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MenuItemCell.swift; sourceTree = ""; }; + B3B469EB228F0F2600A68EDD /* NavigationMenu.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = NavigationMenu.storyboard; sourceTree = ""; }; + B3B469EC228F0F2600A68EDD /* MenuItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MenuItem.swift; sourceTree = ""; }; + B3B469ED228F0F2600A68EDD /* MenuItemCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MenuItemCell.xib; sourceTree = ""; }; + B3B469EE228F0F2600A68EDD /* NavigationMenuViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationMenuViewController.swift; sourceTree = ""; }; + B3B469F0228F0F2600A68EDD /* SyncProgressViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SyncProgressViewController.swift; sourceTree = ""; }; + B3B469F1228F0F2600A68EDD /* OverviewViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OverviewViewController.swift; sourceTree = ""; }; + B3B469F2228F0F2600A68EDD /* Overview.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Overview.storyboard; sourceTree = ""; }; + B3B469F4228F0F2600A68EDD /* TransactionNotification.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactionNotification.swift; sourceTree = ""; }; + B3B469F5228F0F2600A68EDD /* Syncer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Syncer.swift; sourceTree = ""; }; + B3B469F6228F0F2600A68EDD /* WalletLoader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WalletLoader.swift; sourceTree = ""; }; + B3B469F7228F0F2600A68EDD /* SpendingPinOrPassword.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SpendingPinOrPassword.swift; sourceTree = ""; }; + B3B469F8228F0F2600A68EDD /* SyncDecodableDataTypes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SyncDecodableDataTypes.swift; sourceTree = ""; }; + B3B469F9228F0F2600A68EDD /* StartupPinOrPassword.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StartupPinOrPassword.swift; sourceTree = ""; }; + B3B46A3B228F0F6700A68EDD /* bg-button@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bg-button@3x.png"; sourceTree = ""; }; + B3B46A3C228F0F6700A68EDD /* bg-button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bg-button.png"; sourceTree = ""; }; + B3B46A3D228F0F6700A68EDD /* dcr-logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "dcr-logo.png"; sourceTree = ""; }; + B3B46A3E228F0F6700A68EDD /* progress bar-1s-200px.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = "progress bar-1s-200px.gif"; sourceTree = ""; }; + B3B46A47228F0F7B00A68EDD /* UIApplication.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIApplication.swift; sourceTree = ""; }; + B3B46A49228F0F7B00A68EDD /* DropMenuButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DropMenuButton.swift; sourceTree = ""; }; + B3B46A4A228F0F7B00A68EDD /* Data.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Data.swift; sourceTree = ""; }; + B3B46A4B228F0F7B00A68EDD /* UIIMage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIIMage.swift; sourceTree = ""; }; + B3B46A4C228F0F7B00A68EDD /* keyPadButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = keyPadButton.swift; sourceTree = ""; }; + B3B46A4D228F0F7B00A68EDD /* customUImage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = customUImage.swift; sourceTree = ""; }; + B3B46A4E228F0F7B00A68EDD /* splashLogo.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = splashLogo.gif; sourceTree = ""; }; + B3B46A4F228F0F7B00A68EDD /* Utils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Utils.swift; sourceTree = ""; }; + B3B46A52228F0F7B00A68EDD /* WifiConfirmationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WifiConfirmationController.swift; sourceTree = ""; }; + B3B46A53228F0F7B00A68EDD /* ConfirmToSendFundViewPINController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfirmToSendFundViewPINController.swift; sourceTree = ""; }; + B3B46A54228F0F7B00A68EDD /* ConfirmToSendFundViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfirmToSendFundViewController.swift; sourceTree = ""; }; + B3B46A5E228F0F7B00A68EDD /* TransactionFullDetailsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactionFullDetailsViewController.swift; sourceTree = ""; }; + B3B46A5F228F0F7B00A68EDD /* TransactionFullDetailsViewController.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = TransactionFullDetailsViewController.storyboard; sourceTree = ""; }; + B3B46A60228F0F7B00A68EDD /* certificateViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = certificateViewController.swift; sourceTree = ""; }; + B3B46A61228F0F7B00A68EDD /* SettingsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsController.swift; sourceTree = ""; }; + B3B46A62228F0F7B00A68EDD /* PeerSetTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PeerSetTableViewController.swift; sourceTree = ""; }; + B3B46A63228F0F7B00A68EDD /* ServerSetTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ServerSetTableViewController.swift; sourceTree = ""; }; + B3B46A64228F0F7B00A68EDD /* HelpViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HelpViewController.swift; sourceTree = ""; }; + B3B46A65228F0F7B00A68EDD /* ReceiveViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReceiveViewController.swift; sourceTree = ""; }; + B3B46A66228F0F7B00A68EDD /* WalletLogViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WalletLogViewController.swift; sourceTree = ""; }; + B3B46A68228F0F7B00A68EDD /* SendCompletedViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SendCompletedViewController.swift; sourceTree = ""; }; + B3B46A69228F0F7B00A68EDD /* SendCompletedViewController.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = SendCompletedViewController.storyboard; sourceTree = ""; }; + B3B46A6B228F0F7B00A68EDD /* SendViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SendViewController.swift; sourceTree = ""; }; + B3B46A6E228F0F7B00A68EDD /* NetworkModeTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkModeTableViewController.swift; sourceTree = ""; }; + B3B46A6F228F0F7B00A68EDD /* CurrencyOptionTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CurrencyOptionTableViewController.swift; sourceTree = ""; }; + B3B46A70228F0F7B00A68EDD /* NodeLogViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NodeLogViewController.swift; sourceTree = ""; }; + B3B46A71228F0F7B00A68EDD /* AddAcountViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AddAcountViewController.swift; sourceTree = ""; }; + B3B46A72228F0F7B00A68EDD /* AccountViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountViewController.swift; sourceTree = ""; }; + B3B46A74228F0F7C00A68EDD /* TransactionHistoryTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactionHistoryTableViewCell.swift; sourceTree = ""; }; + B3B46A75228F0F7C00A68EDD /* RecoveryWalletSeedWordCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecoveryWalletSeedWordCell.swift; sourceTree = ""; }; + B3B46A76228F0F7C00A68EDD /* BaseTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseTableViewCell.swift; sourceTree = ""; }; + B3B46A77228F0F7C00A68EDD /* TransactionHistoryTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TransactionHistoryTableViewCell.xib; sourceTree = ""; }; + B3B46A78228F0F7C00A68EDD /* SeedConfirmTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SeedConfirmTableViewCell.swift; sourceTree = ""; }; + B3B46A79228F0F7C00A68EDD /* AccountDataCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountDataCell.swift; sourceTree = ""; }; + B3B46A7A228F0F7C00A68EDD /* SeedCheckActiveCellView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SeedCheckActiveCellView.swift; sourceTree = ""; }; + B3B46A7B228F0F7C00A68EDD /* AccountDataCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AccountDataCell.xib; sourceTree = ""; }; + B3B46A7C228F0F7C00A68EDD /* ConfirmSeedViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfirmSeedViewCell.swift; sourceTree = ""; }; + B3B46A7D228F0F7C00A68EDD /* SecurityMenuViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SecurityMenuViewController.swift; sourceTree = ""; }; + B3B46A7E228F0F7C00A68EDD /* SingleInstance.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SingleInstance.swift; sourceTree = ""; }; + B3B46A7F228F0F7C00A68EDD /* Storyboards.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Storyboards.swift; sourceTree = ""; }; + B3B46A80228F0F7C00A68EDD /* splashLoader.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = splashLoader.gif; sourceTree = ""; }; + B3B46A81228F0F7C00A68EDD /* testnet.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = testnet.xcconfig; sourceTree = ""; }; + B3B46AB9228F102800A68EDD /* Dcrlibwallet.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Dcrlibwallet.framework; path = libs/Dcrlibwallet.framework; sourceTree = ""; }; + B3B46ABD228F120700A68EDD /* TransactiontOutputDetailsCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactiontOutputDetailsCell.swift; sourceTree = ""; }; + B3B46ABE228F120700A68EDD /* TransactiontInputDetails.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TransactiontInputDetails.xib; sourceTree = ""; }; + B3B46ABF228F120700A68EDD /* TransactiontOutputDetailsCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TransactiontOutputDetailsCell.xib; sourceTree = ""; }; + B3B46AC0228F120700A68EDD /* TransactionDetailCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TransactionDetailCell.xib; sourceTree = ""; }; + B3B46AC1228F120700A68EDD /* TransactionDetailCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactionDetailCell.swift; sourceTree = ""; }; + B3B46AC2228F120700A68EDD /* TransactiontInputDetails.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactiontInputDetails.swift; sourceTree = ""; }; + D54FC8830482A1C8089F10ED /* Pods-decred_wallet.mainnet debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-decred_wallet.mainnet debug.xcconfig"; path = "Target Support Files/Pods-decred_wallet/Pods-decred_wallet.mainnet debug.xcconfig"; sourceTree = ""; }; + E132813A7283C4AF63D571CB /* Pods-decred_wallet.testnet release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-decred_wallet.testnet release.xcconfig"; path = "Target Support Files/Pods-decred_wallet/Pods-decred_wallet.testnet release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - DDA3E26720292EF900C83D18 /* Frameworks */ = { + B3B4698C228F0C2D00A68EDD /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B313BFF62281585600593E62 /* Dcrlibwallet.framework in Frameworks */, - 7B9A3C2E9A00AE43F1C5A089 /* Pods_Decred_Wallet.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DDA3E27B20292EF900C83D18 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - F1C7D32B4B6DE251498E6BC4 /* libPods-Decred WalletTests.a in Frameworks */, + B3B46ABA228F102800A68EDD /* Dcrlibwallet.framework in Frameworks */, + C23B3FA93B9C7677C80614E8 /* Pods_decred_wallet.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 2850E07D217612EE00171267 /* Fonts */ = { + 452B0148672C448C74CB5C1E /* Frameworks */ = { isa = PBXGroup; children = ( - DDBB74A22215B57F003B172C /* Inconsolata */, - 2850E07E217612EE00171267 /* Source_Sans_Pro */, + B3B46AB9228F102800A68EDD /* Dcrlibwallet.framework */, + 29A74BFFB42A1B6273EE305B /* Pods_decred_wallet.framework */, ); - name = Fonts; - path = decred_wallet/Fonts; + name = Frameworks; sourceTree = ""; }; - 2850E07E217612EE00171267 /* Source_Sans_Pro */ = { + 8F7CDB697B0BC7D598AC1F98 /* Pods */ = { isa = PBXGroup; children = ( - 2850E07F217612EE00171267 /* SourceSansPro-BlackItalic.ttf */, - 2850E080217612EE00171267 /* SourceSansPro-SemiBoldItalic.ttf */, - 2850E081217612EE00171267 /* SourceSansPro-Regular.ttf */, - 2850E082217612EE00171267 /* SourceSansPro-Bold.ttf */, - 2850E083217612EE00171267 /* SourceSansPro-LightItalic.ttf */, - 2850E084217612EE00171267 /* SourceSansPro-Light.ttf */, - 2850E085217612EE00171267 /* SourceSansPro-Black.ttf */, - 2850E086217612EE00171267 /* SourceSansPro-ExtraLight.ttf */, - 2850E087217612EE00171267 /* SourceSansPro-BoldItalic.ttf */, - 2850E088217612EE00171267 /* SourceSansPro-SemiBold.ttf */, - 2850E089217612EE00171267 /* SourceSansPro-ExtraLightItalic.ttf */, - 2850E08A217612EE00171267 /* SourceSansPro-Italic.ttf */, + D54FC8830482A1C8089F10ED /* Pods-decred_wallet.mainnet debug.xcconfig */, + 6E101B27914D446A611047FA /* Pods-decred_wallet.testnet debug.xcconfig */, + 90F2C1496F6CB8860F23D117 /* Pods-decred_wallet.mainnet release.xcconfig */, + E132813A7283C4AF63D571CB /* Pods-decred_wallet.testnet release.xcconfig */, ); - path = Source_Sans_Pro; + path = Pods; sourceTree = ""; }; - 286E279620B6E22300EE0B08 /* DcrdConnection */ = { + B3B46986228F0C2D00A68EDD = { isa = PBXGroup; children = ( - 746E19ED2213F0DF0073E0D6 /* decred_wallet-Bridging-Header.h */, - 746E19EE2213F0F90073E0D6 /* ObserverProxy.h */, - 2870338A20BC5E7D00BFD0B8 /* JsonEntities.swift */, + B3B46991228F0C2E00A68EDD /* decred_wallet */, + B3B46990228F0C2D00A68EDD /* Products */, + 8F7CDB697B0BC7D598AC1F98 /* Pods */, + 452B0148672C448C74CB5C1E /* Frameworks */, ); - path = DcrdConnection; sourceTree = ""; }; - 28EB91BD20FCFDBE007A0906 /* table_view_cell */ = { + B3B46990228F0C2D00A68EDD /* Products */ = { isa = PBXGroup; children = ( - 28102DCE21B83F8F0052DC00 /* SeedConfirmTableViewCell.swift */, - 2804D43221BAAD170011A5B3 /* SeedCheckActiveCellView.swift */, - 28FEB26D21D264D9001B074B /* RecoveryWalletSeedWordCell.swift */, - 28EB91BE20FCFDBE007A0906 /* TransactionHistoryTableViewCell.swift */, - 28EB91BF20FCFDBE007A0906 /* BaseTableViewCell.swift */, - 28EB91C020FCFDBE007A0906 /* TransactionHistoryTableViewCell.xib */, - 28EB91C120FCFDBE007A0906 /* AccountDataCell.swift */, - 28EB91C220FCFDBE007A0906 /* AccountDataCell.xib */, - 28D36C7B2180ADF5000C6572 /* ConfirmSeedViewCell.swift */, + B3B4698F228F0C2D00A68EDD /* decred_wallet.app */, ); - path = table_view_cell; + name = Products; sourceTree = ""; }; - 5300E0A95A9FA022A08F903E /* Frameworks */ = { + B3B46991228F0C2E00A68EDD /* decred_wallet */ = { isa = PBXGroup; children = ( - B38F4546227062B50068F33D /* Dcrlibwallet.framework */, - B39F41C72278DB8300F6F202 /* Dcrlibwallet.framework */, - DDC51C9F2272076D00ED24B0 /* Dcrlibwallet.framework */, - B3879A102271F4970066CD0F /* Dcrlibwallet.framework */, - B3A32AA9227012BB00CDD53D /* Crashlytics.framework */, - 9BB18428A6467205A88C5FD9 /* Pods_Decred_Wallet.framework */, - D041B416C87AEF5835443B41 /* libPods-Decred WalletTests.a */, + B3B469A4228F0F0700A68EDD /* Accounts */, + B3B469BF228F0F2600A68EDD /* Constants */, + B3B469AC228F0F2600A68EDD /* Custom Views */, + B3B469C2228F0F2600A68EDD /* DcrdConnection */, + B3B469A7228F0F2600A68EDD /* Extensions */, + B3B469C6228F0F2600A68EDD /* extra_view */, + B3B469D1228F0F2600A68EDD /* Features */, + B3B469AF228F0F2600A68EDD /* Fonts */, + B3B46A3A228F0F6700A68EDD /* Resources */, + B3B46A73228F0F7C00A68EDD /* table_view_cell */, + B3B46A50228F0F7B00A68EDD /* view_controller */, + B3B46A48228F0F7B00A68EDD /* view_util */, + B3B46A7D228F0F7C00A68EDD /* SecurityMenuViewController.swift */, + B3B46A7E228F0F7C00A68EDD /* SingleInstance.swift */, + B3B46A80228F0F7C00A68EDD /* splashLoader.gif */, + B3B46A4E228F0F7B00A68EDD /* splashLogo.gif */, + B3B46A7F228F0F7C00A68EDD /* Storyboards.swift */, + B30A37CA228F3A6100F78629 /* mainnet.xcconfig */, + B3B46A81228F0F7C00A68EDD /* testnet.xcconfig */, + B3B46A47228F0F7B00A68EDD /* UIApplication.swift */, + B3B46A4F228F0F7B00A68EDD /* Utils.swift */, + B3B469AE228F0F2600A68EDD /* ImageHeaderView.xib */, + B3B46992228F0C2E00A68EDD /* AppDelegate.swift */, + B3B46996228F0C2E00A68EDD /* Main.storyboard */, + B3B46999228F0C2E00A68EDD /* Assets.xcassets */, + B3B4699B228F0C2E00A68EDD /* LaunchScreen.storyboard */, + B3B4699E228F0C2E00A68EDD /* Info.plist */, ); - name = Frameworks; + path = decred_wallet; sourceTree = ""; }; - 952C932520E2174B00A60E43 /* ConfirmToSendFundController */ = { + B3B469A4228F0F0700A68EDD /* Accounts */ = { isa = PBXGroup; children = ( - DDD967362204668400462238 /* ConfirmToSendFundViewPINController.swift */, - 952C932620E2174B00A60E43 /* ConfirmToSendFundViewController.swift */, - DDA5C06A22591D9D0052CD52 /* WifiConfirmationController.swift */, + B3B469A5228F0F0700A68EDD /* AccountsData.swift */, ); - path = ConfirmToSendFundController; + path = Accounts; sourceTree = ""; }; - 952C932820E247D100A60E43 /* SendCompletedViewController */ = { + B3B469A7228F0F2600A68EDD /* Extensions */ = { isa = PBXGroup; children = ( - 952C932920E247FE00A60E43 /* SendCompletedViewController.storyboard */, - 952C932B20E2481500A60E43 /* SendCompletedViewController.swift */, + B3B469A8228F0F2600A68EDD /* UIColor.swift */, + B3B469A9228F0F2600A68EDD /* Extensions.swift */, + B3B469AA228F0F2600A68EDD /* String.swift */, + B3B469AB228F0F2600A68EDD /* UIViewController.swift */, ); - path = SendCompletedViewController; + path = Extensions; sourceTree = ""; }; - 95404EBB20E113D700B34327 /* AccountsHeaderView */ = { + B3B469AC228F0F2600A68EDD /* Custom Views */ = { isa = PBXGroup; children = ( - 95404EBC20E113D700B34327 /* AccountsHeaderView.swift */, - 95404EBD20E113D700B34327 /* AccountsHeaderView.xib */, + B3B469AD228F0F2600A68EDD /* Button.swift */, ); - path = AccountsHeaderView; + path = "Custom Views"; sourceTree = ""; }; - 95473E6220E393A00023F50A /* TransactionFullDetails */ = { + B3B469AF228F0F2600A68EDD /* Fonts */ = { isa = PBXGroup; children = ( - 95473E6720E39DE70023F50A /* Cells */, - 95473E6320E393C00023F50A /* TransactionFullDetailsViewController.swift */, - 95473E6520E393E50023F50A /* TransactionFullDetailsViewController.storyboard */, + B3B469B0228F0F2600A68EDD /* Inconsolata */, + B3B469B2228F0F2600A68EDD /* Source_Sans_Pro */, ); - path = TransactionFullDetails; + path = Fonts; sourceTree = ""; }; - 95473E6720E39DE70023F50A /* Cells */ = { + B3B469B0228F0F2600A68EDD /* Inconsolata */ = { isa = PBXGroup; children = ( - 95473E6820E39E3C0023F50A /* TransactiontInputDetails.swift */, - 95473E6920E39E3C0023F50A /* TransactiontInputDetails.xib */, - 95473E6C20E39E7A0023F50A /* TransactiontOutputDetailsCell.swift */, - 95473E7020E3A4C00023F50A /* TransactiontOutputDetailsCell.xib */, - 95473E7220E3A6420023F50A /* TransactionDetailCell.swift */, - 95473E7320E3A6420023F50A /* TransactionDetailCell.xib */, + B3B469B1228F0F2600A68EDD /* inconsolata_regular.ttf */, ); - path = Cells; + path = Inconsolata; sourceTree = ""; }; - 957F0AFD20B82F0800D3E8A9 /* Constants */ = { + B3B469B2228F0F2600A68EDD /* Source_Sans_Pro */ = { isa = PBXGroup; children = ( - 956D14AD20BF035C00624D68 /* wordlist.txt */, - 957F0AFE20B82F3200D3E8A9 /* Constants.swift */, + B3B469B3228F0F2600A68EDD /* SourceSansPro-BlackItalic.ttf */, + B3B469B4228F0F2600A68EDD /* SourceSansPro-SemiBoldItalic.ttf */, + B3B469B5228F0F2600A68EDD /* SourceSansPro-Regular.ttf */, + B3B469B6228F0F2600A68EDD /* SourceSansPro-Bold.ttf */, + B3B469B7228F0F2600A68EDD /* SourceSansPro-LightItalic.ttf */, + B3B469B8228F0F2600A68EDD /* SourceSansPro-Light.ttf */, + B3B469B9228F0F2600A68EDD /* SourceSansPro-Black.ttf */, + B3B469BA228F0F2600A68EDD /* SourceSansPro-ExtraLight.ttf */, + B3B469BB228F0F2600A68EDD /* SourceSansPro-BoldItalic.ttf */, + B3B469BC228F0F2600A68EDD /* SourceSansPro-SemiBold.ttf */, + B3B469BD228F0F2600A68EDD /* SourceSansPro-ExtraLightItalic.ttf */, + B3B469BE228F0F2600A68EDD /* SourceSansPro-Italic.ttf */, ); - path = Constants; + path = Source_Sans_Pro; sourceTree = ""; }; - 95CC024220D3F14800DA73AF /* Accounts */ = { + B3B469BF228F0F2600A68EDD /* Constants */ = { isa = PBXGroup; children = ( - 95CC024320D3F15800DA73AF /* AccountsData.swift */, + B3B469C0228F0F2600A68EDD /* Constants.swift */, + B3B469C1228F0F2600A68EDD /* wordlist.txt */, ); - path = Accounts; + path = Constants; sourceTree = ""; }; - B35354962284285700DBFDC9 /* Features */ = { + B3B469C2228F0F2600A68EDD /* DcrdConnection */ = { isa = PBXGroup; children = ( - B3CC32B722855F4C00A48624 /* App Launch */, - B36225DD22725B7C00D61D15 /* Wallet Setup */, - B3BA850A22744C4F00440D3A /* Wallet Utils */, - B3CC32AE2284CB9300A48624 /* Security */, - B3CC32AD2284BF0C00A48624 /* Navigation Menu */, - B39D0F3F2287ECF90035F781 /* Overview */, - B36547C92286CBE30015F911 /* History */, + B3B469C3228F0F2600A68EDD /* JsonEntities.swift */, + B3B469C4228F0F2600A68EDD /* ObserverProxy.h */, + B3B469C5228F0F2600A68EDD /* decred_wallet-Bridging-Header.h */, ); - path = Features; + path = DcrdConnection; sourceTree = ""; }; - B36225DD22725B7C00D61D15 /* Wallet Setup */ = { + B3B469C6228F0F2600A68EDD /* extra_view */ = { isa = PBXGroup; children = ( - B353549722842A8700DBFDC9 /* WalletSetup.storyboard */, - B36225DE22725BC100D61D15 /* WalletSetupBaseViewController.swift */, - DD0C493D208A160900986C6B /* WalletSetupViewController.swift */, - 28EB91B720FCFD8F007A0906 /* CreateNewWalletViewController.swift */, - 2827EE0921B9675500832555 /* ConfirmNewWalletSeedViewController.swift */, - 28FEB26B21D263E7001B074B /* RecoverExistingWalletViewController.swift */, + B3B469C7228F0F2600A68EDD /* UIView.swift */, + B3B469C8228F0F2600A68EDD /* UITableViewExtension.swift */, + B3B469C9228F0F2600A68EDD /* TextFieldDoneButton.swift */, + B3B469CA228F0F2600A68EDD /* AccountsHeaderView */, + B3B469CD228F0F2600A68EDD /* UIImageView.swift */, + B3B469CE228F0F2600A68EDD /* ImageHeaderView.swift */, + B3B469CF228F0F2600A68EDD /* ContouredButton.swift */, + B3B469D0228F0F2600A68EDD /* DropDownSearchField.swift */, ); - path = "Wallet Setup"; + path = extra_view; sourceTree = ""; }; - B36547C92286CBE30015F911 /* History */ = { + B3B469CA228F0F2600A68EDD /* AccountsHeaderView */ = { isa = PBXGroup; children = ( - 95877FE620B70CBB00CE53D2 /* TransactionHistoryViewController.xib */, - 95877FE720B70CBB00CE53D2 /* TransactionHistoryViewController.swift */, - 28EB91C320FCFDBE007A0906 /* TransactionTableViewCell.xib */, - 28EB91C520FCFDBE007A0906 /* TransactionTableViewCell.swift */, + B3B469CB228F0F2600A68EDD /* AccountsHeaderView.xib */, + B3B469CC228F0F2600A68EDD /* AccountsHeaderView.swift */, ); - path = History; + path = AccountsHeaderView; sourceTree = ""; }; - B39D0F3F2287ECF90035F781 /* Overview */ = { + B3B469D1228F0F2600A68EDD /* Features */ = { isa = PBXGroup; children = ( - B39F15B9228A53640024A884 /* Overview.storyboard */, - B39D0F412287ECF90035F781 /* OverviewViewController.swift */, - B39F15BB228A54E60024A884 /* SyncProgressViewController.swift */, + B3B469D2228F0F2600A68EDD /* App Launch */, + B3B469D4228F0F2600A68EDD /* Security */, + B3B469DD228F0F2600A68EDD /* History */, + B3B469E2228F0F2600A68EDD /* Wallet Setup */, + B3B469E9228F0F2600A68EDD /* Navigation Menu */, + B3B469EF228F0F2600A68EDD /* Overview */, + B3B469F3228F0F2600A68EDD /* Wallet Utils */, ); - path = Overview; + path = Features; sourceTree = ""; }; - B39F15B022896E0E0024A884 /* Custom Views */ = { + B3B469D2228F0F2600A68EDD /* App Launch */ = { isa = PBXGroup; children = ( - B39F15B122896E330024A884 /* Button.swift */, + B3B469D3228F0F2600A68EDD /* StartScreenViewController.swift */, ); - path = "Custom Views"; + path = "App Launch"; sourceTree = ""; }; - B3BA850A22744C4F00440D3A /* Wallet Utils */ = { + B3B469D4228F0F2600A68EDD /* Security */ = { isa = PBXGroup; children = ( - B353549B22844CB100DBFDC9 /* WalletLoader.swift */, - B3BA850B22744C7400440D3A /* SpendingPinOrPassword.swift */, - B3BA850D22744C8800440D3A /* StartupPinOrPassword.swift */, - B39F15B3228992120024A884 /* Syncer.swift */, - B39F15B5228994D00024A884 /* SyncDecodableDataTypes.swift */, - B3FA1D80228B3CA000C8FE16 /* TransactionNotification.swift */, + B3B469D5228F0F2600A68EDD /* Security.storyboard */, + B3B469D6228F0F2600A68EDD /* SecurityViewController.swift */, + B3B469D7228F0F2600A68EDD /* PinInputView.swift */, + B3B469D8228F0F2600A68EDD /* PasswordSetupViewController.swift */, + B3B469D9228F0F2600A68EDD /* RequestPasswordViewController.swift */, + B3B469DA228F0F2600A68EDD /* RequestPinViewController.swift */, + B3B469DB228F0F2600A68EDD /* PinPasswordStrength.swift */, + B3B469DC228F0F2600A68EDD /* SecurityBaseViewController.swift */, ); - path = "Wallet Utils"; + path = Security; sourceTree = ""; }; - B3CC32AD2284BF0C00A48624 /* Navigation Menu */ = { + B3B469DD228F0F2600A68EDD /* History */ = { isa = PBXGroup; children = ( - B3CC32B32284D7FD00A48624 /* NavigationMenu.storyboard */, - B36547C52286A6490015F911 /* NavigationMenuViewController.swift */, - B36547C72286B4B70015F911 /* MenuItem.swift */, - 28EB91C620FCFDBE007A0906 /* MenuItemCell.xib */, - 28EB91C420FCFDBE007A0906 /* MenuItemCell.swift */, + B3B469DE228F0F2600A68EDD /* TransactionTableViewCell.xib */, + B3B469DF228F0F2600A68EDD /* TransactionHistoryViewController.xib */, + B3B469E0228F0F2600A68EDD /* TransactionTableViewCell.swift */, + B3B469E1228F0F2600A68EDD /* TransactionHistoryViewController.swift */, ); - path = "Navigation Menu"; + path = History; sourceTree = ""; }; - B3CC32AE2284CB9300A48624 /* Security */ = { + B3B469E2228F0F2600A68EDD /* Wallet Setup */ = { isa = PBXGroup; children = ( - B3CC32AF2284CBCC00A48624 /* Security.storyboard */, - B3CC32B12284CFC000A48624 /* SecurityBaseViewController.swift */, - 281D545421B169D100F68803 /* SecurityViewController.swift */, - 281D545721B169D100F68803 /* PasswordSetupViewController.swift */, - DDA0F47321EEC8E7006AB571 /* RequestPasswordViewController.swift */, - 281D545621B169D100F68803 /* RequestPinViewController.swift */, - 281D545C21B16AC800F68803 /* PinInputView.swift */, - B35BF4622278923700018DBE /* PinPasswordStrength.swift */, + B3B469E3228F0F2600A68EDD /* CreateNewWalletViewController.swift */, + B3B469E4228F0F2600A68EDD /* ConfirmNewWalletSeedViewController.swift */, + B3B469E5228F0F2600A68EDD /* RecoverExistingWalletViewController.swift */, + B3B469E6228F0F2600A68EDD /* WalletSetupViewController.swift */, + B3B469E7228F0F2600A68EDD /* WalletSetupBaseViewController.swift */, + B3B469E8228F0F2600A68EDD /* WalletSetup.storyboard */, ); - path = Security; + path = "Wallet Setup"; sourceTree = ""; }; - B3CC32B722855F4C00A48624 /* App Launch */ = { + B3B469E9228F0F2600A68EDD /* Navigation Menu */ = { isa = PBXGroup; children = ( - 2883CA71209B52AE0053D9BB /* StartScreenViewController.swift */, + B3B469EA228F0F2600A68EDD /* MenuItemCell.swift */, + B3B469EB228F0F2600A68EDD /* NavigationMenu.storyboard */, + B3B469EC228F0F2600A68EDD /* MenuItem.swift */, + B3B469ED228F0F2600A68EDD /* MenuItemCell.xib */, + B3B469EE228F0F2600A68EDD /* NavigationMenuViewController.swift */, ); - path = "App Launch"; + path = "Navigation Menu"; sourceTree = ""; }; - B3CC32B82285631E00A48624 /* Extensions */ = { + B3B469EF228F0F2600A68EDD /* Overview */ = { isa = PBXGroup; children = ( - DDB89401202F771F002F85EE /* UIViewController.swift */, - DDB8941A202F8F92002F85EE /* UIColor.swift */, - B3CC32B922856AEF00A48624 /* Extensions.swift */, - B39F15B722899A770024A884 /* String.swift */, + B3B469F0228F0F2600A68EDD /* SyncProgressViewController.swift */, + B3B469F1228F0F2600A68EDD /* OverviewViewController.swift */, + B3B469F2228F0F2600A68EDD /* Overview.storyboard */, ); - path = Extensions; + path = Overview; sourceTree = ""; }; - DC51136384787171F3F2350F /* Pods */ = { + B3B469F3228F0F2600A68EDD /* Wallet Utils */ = { isa = PBXGroup; children = ( - 86D9782F8EE06C89E05C3666 /* Pods-Decred Wallet.debug.xcconfig */, - EEF206FAF87F1149B8A07A5E /* Pods-Decred Wallet.testnet.xcconfig */, - 8189AACB6CA2D0A1D0BF64BB /* Pods-Decred Wallet.release.xcconfig */, - 59C0B78FBE22FDE12F72A4BD /* Pods-Decred Wallet.mainnet.xcconfig */, - DDD37FB8138E4D4E83F64691 /* Pods-Decred WalletTests.debug.xcconfig */, - 803CF6EF4883511AD6FBFEDA /* Pods-Decred WalletTests.testnet.xcconfig */, - D88FC8D6F04F2065EA91CDD0 /* Pods-Decred WalletTests.release.xcconfig */, - 97C93247BA63B908E0B4F262 /* Pods-Decred WalletTests.mainnet.xcconfig */, + B3B469F4228F0F2600A68EDD /* TransactionNotification.swift */, + B3B469F5228F0F2600A68EDD /* Syncer.swift */, + B3B469F6228F0F2600A68EDD /* WalletLoader.swift */, + B3B469F7228F0F2600A68EDD /* SpendingPinOrPassword.swift */, + B3B469F8228F0F2600A68EDD /* SyncDecodableDataTypes.swift */, + B3B469F9228F0F2600A68EDD /* StartupPinOrPassword.swift */, ); - path = Pods; + path = "Wallet Utils"; sourceTree = ""; }; - DD4C89DB2038EE60003FEA0C /* view_util */ = { + B3B46A3A228F0F6700A68EDD /* Resources */ = { isa = PBXGroup; children = ( - DDAE8BC2224283AE005CDD9C /* customUImage.swift */, - DD4C89D72038CABD003FEA0C /* keyPadButton.swift */, - DDB89418202F8F3E002F85EE /* UIIMage.swift */, - DD4C89D82038CDBC003FEA0C /* DropMenuButton.swift */, - 286DA548210B0C7A00734259 /* Data.swift */, + B3B46A3B228F0F6700A68EDD /* bg-button@3x.png */, + B3B46A3C228F0F6700A68EDD /* bg-button.png */, + B3B46A3D228F0F6700A68EDD /* dcr-logo.png */, + B3B46A3E228F0F6700A68EDD /* progress bar-1s-200px.gif */, ); - path = view_util; + path = Resources; sourceTree = ""; }; - DD4C89DC2038EEEF003FEA0C /* view_controller */ = { + B3B46A48228F0F7B00A68EDD /* view_util */ = { isa = PBXGroup; children = ( - DDB8940A202F82A3002F85EE /* AccountViewController.swift */, - DD0B356D218930B7000830C4 /* AddAcountViewController.swift */, - DD1D5C7B20AED824009789DD /* certificateViewController.swift */, - 952C932520E2174B00A60E43 /* ConfirmToSendFundController */, - DDE90C892162CCB20031CED7 /* HelpViewController.swift */, - DD24AFA320A6ED70009EC84F /* NetworkModeTableViewController.swift */, - DD1D5C7F20AEDB2B009789DD /* NodeLogViewController.swift */, - DD1D5C8320AEE9FE009789DD /* PeerSetTableViewController.swift */, - DDB89408202F824A002F85EE /* ReceiveViewController.swift */, - DDA66BB621BFFFA800987248 /* SecurityMenuViewController.swift */, - 952C932820E247D100A60E43 /* SendCompletedViewController */, - DDB89403202F7E01002F85EE /* SendViewController.swift */, - DD1D5C8120AEE90D009789DD /* ServerSetTableViewController.swift */, - DDB8940C202F82E6002F85EE /* SettingsController.swift */, - 95473E6220E393A00023F50A /* TransactionFullDetails */, - DD1D5C7D20AEDB15009789DD /* WalletLogViewController.swift */, + B3B46A49228F0F7B00A68EDD /* DropMenuButton.swift */, + B3B46A4A228F0F7B00A68EDD /* Data.swift */, + B3B46A4B228F0F7B00A68EDD /* UIIMage.swift */, + B3B46A4C228F0F7B00A68EDD /* keyPadButton.swift */, + B3B46A4D228F0F7B00A68EDD /* customUImage.swift */, ); - path = view_controller; + path = view_util; sourceTree = ""; }; - DD4C89DE2038F2DA003FEA0C /* extra_view */ = { + B3B46A50228F0F7B00A68EDD /* view_controller */ = { isa = PBXGroup; children = ( - 28102DCC21B83E700052DC00 /* ContouredButton.swift */, - 95404EBB20E113D700B34327 /* AccountsHeaderView */, - 2883CA6F2099D40F0053D9BB /* DropDownSearchField.swift */, - 95E1C96D20FCD43E00D7F3EE /* TextFieldDoneButton.swift */, - DDB89416202F8EE2002F85EE /* UIImageView.swift */, - DDB89426202F955F002F85EE /* UIView.swift */, - DD419762202F9B570044F068 /* UITableViewExtension.swift */, + B3B46A51228F0F7B00A68EDD /* ConfirmToSendFundController */, + B3B46A55228F0F7B00A68EDD /* TransactionFullDetails */, + B3B46A60228F0F7B00A68EDD /* certificateViewController.swift */, + B3B46A61228F0F7B00A68EDD /* SettingsController.swift */, + B3B46A62228F0F7B00A68EDD /* PeerSetTableViewController.swift */, + B3B46A63228F0F7B00A68EDD /* ServerSetTableViewController.swift */, + B3B46A64228F0F7B00A68EDD /* HelpViewController.swift */, + B3B46A65228F0F7B00A68EDD /* ReceiveViewController.swift */, + B3B46A66228F0F7B00A68EDD /* WalletLogViewController.swift */, + B3B46A67228F0F7B00A68EDD /* SendCompletedViewController */, + B3B46A6B228F0F7B00A68EDD /* SendViewController.swift */, + B3B46A6E228F0F7B00A68EDD /* NetworkModeTableViewController.swift */, + B3B46A6F228F0F7B00A68EDD /* CurrencyOptionTableViewController.swift */, + B3B46A70228F0F7B00A68EDD /* NodeLogViewController.swift */, + B3B46A71228F0F7B00A68EDD /* AddAcountViewController.swift */, + B3B46A72228F0F7B00A68EDD /* AccountViewController.swift */, ); - path = extra_view; + path = view_controller; sourceTree = ""; }; - DDA3E26120292EF900C83D18 = { + B3B46A51228F0F7B00A68EDD /* ConfirmToSendFundController */ = { isa = PBXGroup; children = ( - DDD2BA16224FED3800136C65 /* CurrencyOptionTableViewController.swift */, - 2850E07D217612EE00171267 /* Fonts */, - 28664E5D216F740000AA01E2 /* progress bar-1s-200px.gif */, - DDA3E26C20292EF900C83D18 /* decred_wallet */, - DDA3E28120292EF900C83D18 /* decred_wallet_tests */, - DDA3E26B20292EF900C83D18 /* Products */, - 5300E0A95A9FA022A08F903E /* Frameworks */, - DC51136384787171F3F2350F /* Pods */, + B3B46A52228F0F7B00A68EDD /* WifiConfirmationController.swift */, + B3B46A53228F0F7B00A68EDD /* ConfirmToSendFundViewPINController.swift */, + B3B46A54228F0F7B00A68EDD /* ConfirmToSendFundViewController.swift */, ); + path = ConfirmToSendFundController; sourceTree = ""; }; - DDA3E26B20292EF900C83D18 /* Products */ = { + B3B46A55228F0F7B00A68EDD /* TransactionFullDetails */ = { isa = PBXGroup; children = ( - DDA3E26A20292EF900C83D18 /* DecredWallet.app */, - DDA3E27E20292EF900C83D18 /* Decred WalletTests.xctest */, + B3B46ABB228F120700A68EDD /* Cells */, + B3B46A5E228F0F7B00A68EDD /* TransactionFullDetailsViewController.swift */, + B3B46A5F228F0F7B00A68EDD /* TransactionFullDetailsViewController.storyboard */, ); - name = Products; + path = TransactionFullDetails; sourceTree = ""; }; - DDA3E26C20292EF900C83D18 /* decred_wallet */ = { + B3B46A67228F0F7B00A68EDD /* SendCompletedViewController */ = { isa = PBXGroup; children = ( - B39F15B022896E0E0024A884 /* Custom Views */, - B3CC32B82285631E00A48624 /* Extensions */, - B35354962284285700DBFDC9 /* Features */, - 95CC024220D3F14800DA73AF /* Accounts */, - DDA3E26D20292EF900C83D18 /* AppDelegate.swift */, - DDA3E27420292EF900C83D18 /* Assets.xcassets */, - 957F0AFD20B82F0800D3E8A9 /* Constants */, - 286E279620B6E22300EE0B08 /* DcrdConnection */, - DD4C89DE2038F2DA003FEA0C /* extra_view */, - DDA3E27920292EF900C83D18 /* Info.plist */, - DDA3E27620292EF900C83D18 /* LaunchScreen.storyboard */, - DDA3E27120292EF900C83D18 /* Main.storyboard */, - 74BA8353225EDDB900D3359E /* mainnet.xcconfig */, - DD3A7E0D2152A7520009A0BE /* SingleInstance.swift */, - DDAE8BBC223C181E005CDD9C /* splashLogo.gif */, - 28EB91BD20FCFDBE007A0906 /* table_view_cell */, - 74BA834F225ED7AA00D3359E /* testnet.xcconfig */, - DDB89428202F95AC002F85EE /* UIApplication.swift */, - 28F0CE7220888258003AC958 /* Utils.swift */, - DD4C89DC2038EEEF003FEA0C /* view_controller */, - DD4C89DB2038EE60003FEA0C /* view_util */, - B35354992284329500DBFDC9 /* Storyboards.swift */, + B3B46A68228F0F7B00A68EDD /* SendCompletedViewController.swift */, + B3B46A69228F0F7B00A68EDD /* SendCompletedViewController.storyboard */, ); - path = decred_wallet; + path = SendCompletedViewController; sourceTree = ""; }; - DDA3E28120292EF900C83D18 /* decred_wallet_tests */ = { + B3B46A73228F0F7C00A68EDD /* table_view_cell */ = { isa = PBXGroup; children = ( - DDA3E28220292EF900C83D18 /* Decred_WalletTests.swift */, - DDA3E28420292EF900C83D18 /* Info.plist */, + B3B46A74228F0F7C00A68EDD /* TransactionHistoryTableViewCell.swift */, + B3B46A75228F0F7C00A68EDD /* RecoveryWalletSeedWordCell.swift */, + B3B46A76228F0F7C00A68EDD /* BaseTableViewCell.swift */, + B3B46A77228F0F7C00A68EDD /* TransactionHistoryTableViewCell.xib */, + B3B46A78228F0F7C00A68EDD /* SeedConfirmTableViewCell.swift */, + B3B46A79228F0F7C00A68EDD /* AccountDataCell.swift */, + B3B46A7A228F0F7C00A68EDD /* SeedCheckActiveCellView.swift */, + B3B46A7B228F0F7C00A68EDD /* AccountDataCell.xib */, + B3B46A7C228F0F7C00A68EDD /* ConfirmSeedViewCell.swift */, ); - path = decred_wallet_tests; + path = table_view_cell; sourceTree = ""; }; - DDBB74A22215B57F003B172C /* Inconsolata */ = { + B3B46ABB228F120700A68EDD /* Cells */ = { isa = PBXGroup; children = ( - DDBB74A72215B5C7003B172C /* inconsolata_regular.ttf */, + B3B46ABD228F120700A68EDD /* TransactiontOutputDetailsCell.swift */, + B3B46ABE228F120700A68EDD /* TransactiontInputDetails.xib */, + B3B46ABF228F120700A68EDD /* TransactiontOutputDetailsCell.xib */, + B3B46AC0228F120700A68EDD /* TransactionDetailCell.xib */, + B3B46AC1228F120700A68EDD /* TransactionDetailCell.swift */, + B3B46AC2228F120700A68EDD /* TransactiontInputDetails.swift */, ); - path = Inconsolata; + path = Cells; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - DDA3E26920292EF900C83D18 /* Decred Wallet */ = { + B3B4698E228F0C2D00A68EDD /* decred_wallet */ = { isa = PBXNativeTarget; - buildConfigurationList = DDA3E28720292EF900C83D18 /* Build configuration list for PBXNativeTarget "Decred Wallet" */; + buildConfigurationList = B3B469A1228F0C2E00A68EDD /* Build configuration list for PBXNativeTarget "decred_wallet" */; buildPhases = ( - A02038BBAC31846BF60B2F8B /* [CP] Check Pods Manifest.lock */, - DDA3E26620292EF900C83D18 /* Sources */, - DDA3E26720292EF900C83D18 /* Frameworks */, - DDA3E26820292EF900C83D18 /* Resources */, - 28F0CE952088B1AF003AC958 /* Embed Frameworks */, - DDBB749D22144335003B172C /* ShellScript */, - F9E47088DA5E1AF65A163C58 /* [CP] Embed Pods Frameworks */, + F094CF31E5AAA1A987CFA40A /* [CP] Check Pods Manifest.lock */, + B3B4698B228F0C2D00A68EDD /* Sources */, + B3B4698C228F0C2D00A68EDD /* Frameworks */, + B3B4698D228F0C2D00A68EDD /* Resources */, + 51F5DA15ED13891F67B28D00 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); dependencies = ( ); - name = "Decred Wallet"; - productName = "Decred Wallet"; - productReference = DDA3E26A20292EF900C83D18 /* DecredWallet.app */; + name = decred_wallet; + productName = decred_wallet; + productReference = B3B4698F228F0C2D00A68EDD /* decred_wallet.app */; productType = "com.apple.product-type.application"; }; - DDA3E27D20292EF900C83D18 /* Decred WalletTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = DDA3E28A20292EF900C83D18 /* Build configuration list for PBXNativeTarget "Decred WalletTests" */; - buildPhases = ( - 667226CFE620AC2403D4D2F6 /* [CP] Check Pods Manifest.lock */, - DDA3E27A20292EF900C83D18 /* Sources */, - DDA3E27B20292EF900C83D18 /* Frameworks */, - DDA3E27C20292EF900C83D18 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - DDA3E28020292EF900C83D18 /* PBXTargetDependency */, - ); - name = "Decred WalletTests"; - productName = "Decred WalletTests"; - productReference = DDA3E27E20292EF900C83D18 /* Decred WalletTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - DDA3E26220292EF900C83D18 /* Project object */ = { + B3B46987228F0C2D00A68EDD /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1010; - ORGANIZATIONNAME = "The Decred developers"; + LastSwiftUpdateCheck = 1020; + LastUpgradeCheck = 1020; + ORGANIZATIONNAME = Decred; TargetAttributes = { - DDA3E26920292EF900C83D18 = { - CreatedOnToolsVersion = 9.1; - LastSwiftMigration = 0940; - ProvisioningStyle = Automatic; - }; - DDA3E27D20292EF900C83D18 = { - CreatedOnToolsVersion = 9.1; - ProvisioningStyle = Automatic; - TestTargetID = DDA3E26920292EF900C83D18; + B3B4698E228F0C2D00A68EDD = { + CreatedOnToolsVersion = 10.2.1; }; }; }; - buildConfigurationList = DDA3E26520292EF900C83D18 /* Build configuration list for PBXProject "decred_wallet" */; - compatibilityVersion = "Xcode 8.0"; + buildConfigurationList = B3B4698A228F0C2D00A68EDD /* Build configuration list for PBXProject "decred_wallet" */; + compatibilityVersion = "Xcode 9.3"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); - mainGroup = DDA3E26120292EF900C83D18; - productRefGroup = DDA3E26B20292EF900C83D18 /* Products */; + mainGroup = B3B46986228F0C2D00A68EDD; + productRefGroup = B3B46990228F0C2D00A68EDD /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - DDA3E26920292EF900C83D18 /* Decred Wallet */, - DDA3E27D20292EF900C83D18 /* Decred WalletTests */, + B3B4698E228F0C2D00A68EDD /* decred_wallet */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - DDA3E26820292EF900C83D18 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - DDBB74A82215B97B003B172C /* inconsolata_regular.ttf in Resources */, - 2850E092217612EE00171267 /* SourceSansPro-ExtraLight.ttf in Resources */, - B3CC32B02284CBCC00A48624 /* Security.storyboard in Resources */, - 2850E08C217612EE00171267 /* SourceSansPro-SemiBoldItalic.ttf in Resources */, - 2850E08B217612EE00171267 /* SourceSansPro-BlackItalic.ttf in Resources */, - DDAE8BBD223C1820005CDD9C /* splashLogo.gif in Resources */, - DDA3E27820292EF900C83D18 /* LaunchScreen.storyboard in Resources */, - 28EB91CC20FCFDBE007A0906 /* TransactionTableViewCell.xib in Resources */, - 2850E091217612EE00171267 /* SourceSansPro-Black.ttf in Resources */, - 28EB91CF20FCFDBE007A0906 /* MenuItemCell.xib in Resources */, - 2850E08E217612EE00171267 /* SourceSansPro-Bold.ttf in Resources */, - B353549822842A8700DBFDC9 /* WalletSetup.storyboard in Resources */, - 2850E095217612EE00171267 /* SourceSansPro-ExtraLightItalic.ttf in Resources */, - 956D14AE20BF035D00624D68 /* wordlist.txt in Resources */, - 2850E090217612EE00171267 /* SourceSansPro-Light.ttf in Resources */, - 28EB91CB20FCFDBE007A0906 /* AccountDataCell.xib in Resources */, - DDA3E27520292EF900C83D18 /* Assets.xcassets in Resources */, - 2850E094217612EE00171267 /* SourceSansPro-SemiBold.ttf in Resources */, - 95473E6620E393E50023F50A /* TransactionFullDetailsViewController.storyboard in Resources */, - 95473E7520E3A6420023F50A /* TransactionDetailCell.xib in Resources */, - 95473E6B20E39E3C0023F50A /* TransactiontInputDetails.xib in Resources */, - 28EB91C920FCFDBE007A0906 /* TransactionHistoryTableViewCell.xib in Resources */, - B3CC32B42284D7FD00A48624 /* NavigationMenu.storyboard in Resources */, - B39F15BA228A53640024A884 /* Overview.storyboard in Resources */, - 95877FE820B70CBB00CE53D2 /* TransactionHistoryViewController.xib in Resources */, - DDA3E27320292EF900C83D18 /* Main.storyboard in Resources */, - 95473E7120E3A4C20023F50A /* TransactiontOutputDetailsCell.xib in Resources */, - 2850E08D217612EE00171267 /* SourceSansPro-Regular.ttf in Resources */, - 2850E08F217612EE00171267 /* SourceSansPro-LightItalic.ttf in Resources */, - 2850E096217612EE00171267 /* SourceSansPro-Italic.ttf in Resources */, - 28664E5E216F740000AA01E2 /* progress bar-1s-200px.gif in Resources */, - 95404EBF20E113D700B34327 /* AccountsHeaderView.xib in Resources */, - 952C932A20E247FE00A60E43 /* SendCompletedViewController.storyboard in Resources */, - 2850E093217612EE00171267 /* SourceSansPro-BoldItalic.ttf in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DDA3E27C20292EF900C83D18 /* Resources */ = { + B3B4698D228F0C2D00A68EDD /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + B3B46A41228F0F6700A68EDD /* dcr-logo.png in Resources */, + B3B46A02228F0F2700A68EDD /* SourceSansPro-SemiBoldItalic.ttf in Resources */, + B3B46A0C228F0F2700A68EDD /* SourceSansPro-Italic.ttf in Resources */, + B3B46A40228F0F6700A68EDD /* bg-button.png in Resources */, + B3B46A3F228F0F6700A68EDD /* bg-button@3x.png in Resources */, + B3B46A01228F0F2700A68EDD /* SourceSansPro-BlackItalic.ttf in Resources */, + B3B46A06228F0F2700A68EDD /* SourceSansPro-Light.ttf in Resources */, + B3B46A22228F0F2700A68EDD /* TransactionTableViewCell.xib in Resources */, + B3B46A04228F0F2700A68EDD /* SourceSansPro-Bold.ttf in Resources */, + B3B46A23228F0F2700A68EDD /* TransactionHistoryViewController.xib in Resources */, + B3B46AA1228F0F7D00A68EDD /* SendCompletedViewController.storyboard in Resources */, + B3B46A0B228F0F2700A68EDD /* SourceSansPro-ExtraLightItalic.ttf in Resources */, + B3B46A07228F0F2700A68EDD /* SourceSansPro-Black.ttf in Resources */, + B3B46A13228F0F2700A68EDD /* AccountsHeaderView.xib in Resources */, + B3B4699D228F0C2E00A68EDD /* LaunchScreen.storyboard in Resources */, + B3B46A8B228F0F7D00A68EDD /* splashLogo.gif in Resources */, + B3B46A33228F0F2700A68EDD /* Overview.storyboard in Resources */, + B3B46AAE228F0F7D00A68EDD /* TransactionHistoryTableViewCell.xib in Resources */, + B3B46A2F228F0F2700A68EDD /* MenuItemCell.xib in Resources */, + B3B46AB7228F0F7D00A68EDD /* splashLoader.gif in Resources */, + B3B46A03228F0F2700A68EDD /* SourceSansPro-Regular.ttf in Resources */, + B3B46A09228F0F2700A68EDD /* SourceSansPro-BoldItalic.ttf in Resources */, + B3B46A2D228F0F2700A68EDD /* NavigationMenu.storyboard in Resources */, + B3B46A98228F0F7D00A68EDD /* TransactionFullDetailsViewController.storyboard in Resources */, + B3B46AC6228F120700A68EDD /* TransactiontOutputDetailsCell.xib in Resources */, + B3B46A05228F0F2700A68EDD /* SourceSansPro-LightItalic.ttf in Resources */, + B3B46A08228F0F2700A68EDD /* SourceSansPro-ExtraLight.ttf in Resources */, + B3B46AC7228F120700A68EDD /* TransactionDetailCell.xib in Resources */, + B3B46A00228F0F2700A68EDD /* inconsolata_regular.ttf in Resources */, + B3B46A1A228F0F2700A68EDD /* Security.storyboard in Resources */, + B3B4699A228F0C2E00A68EDD /* Assets.xcassets in Resources */, + B3B46A0A228F0F2700A68EDD /* SourceSansPro-SemiBold.ttf in Resources */, + B3B46998228F0C2E00A68EDD /* Main.storyboard in Resources */, + B3B46A2B228F0F2700A68EDD /* WalletSetup.storyboard in Resources */, + B3B46A42228F0F6700A68EDD /* progress bar-1s-200px.gif in Resources */, + B3B46A0E228F0F2700A68EDD /* wordlist.txt in Resources */, + B3B469FF228F0F2700A68EDD /* ImageHeaderView.xib in Resources */, + B3B46AB2228F0F7D00A68EDD /* AccountDataCell.xib in Resources */, + B3B46AC5228F120700A68EDD /* TransactiontInputDetails.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 667226CFE620AC2403D4D2F6 /* [CP] Check Pods Manifest.lock */ = { + 51F5DA15ED13891F67B28D00 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -841,21 +770,25 @@ inputFileListPaths = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + "${PODS_ROOT}/Target Support Files/Pods-decred_wallet/Pods-decred_wallet-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/JGProgressHUD/JGProgressHUD.framework", + "${BUILT_PRODUCTS_DIR}/QRCodeReader.swift/QRCodeReader.framework", + "${BUILT_PRODUCTS_DIR}/SlideMenuControllerSwift/SlideMenuControllerSwift.framework", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Decred WalletTests-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JGProgressHUD.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/QRCodeReader.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SlideMenuControllerSwift.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-decred_wallet/Pods-decred_wallet-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - A02038BBAC31846BF60B2F8B /* [CP] Check Pods Manifest.lock */ = { + F094CF31E5AAA1A987CFA40A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -870,181 +803,119 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Decred Wallet-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-decred_wallet-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - DDBB749D22144335003B172C /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Fabric/run\" 7e7665339b679dfd7ad19ebb8e859867ade8ca99 295d819cb24910fa414d5e1216b56f2a5730cb0d910f1d6739d0390346d0a69a\n"; - }; - F9E47088DA5E1AF65A163C58 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/CryptoSwift/CryptoSwift.framework", - "${BUILT_PRODUCTS_DIR}/JGProgressHUD/JGProgressHUD.framework", - "${BUILT_PRODUCTS_DIR}/MBProgressHUD/MBProgressHUD.framework", - "${BUILT_PRODUCTS_DIR}/QRCodeReader.swift/QRCodeReader.framework", - "${BUILT_PRODUCTS_DIR}/SlideMenuControllerSwift/SlideMenuControllerSwift.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - ); - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CryptoSwift.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JGProgressHUD.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MBProgressHUD.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/QRCodeReader.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SlideMenuControllerSwift.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - DDA3E26620292EF900C83D18 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - DDAE8BC3224283AE005CDD9C /* customUImage.swift in Sources */, - 281D545E21B16AC800F68803 /* PinInputView.swift in Sources */, - B353549A2284329500DBFDC9 /* Storyboards.swift in Sources */, - DDB89409202F824A002F85EE /* ReceiveViewController.swift in Sources */, - DD1D5C8220AEE90D009789DD /* ServerSetTableViewController.swift in Sources */, - DD1D5C8420AEE9FF009789DD /* PeerSetTableViewController.swift in Sources */, - B36225DF22725BC100D61D15 /* WalletSetupBaseViewController.swift in Sources */, - DD0C493E208A160900986C6B /* WalletSetupViewController.swift in Sources */, - DDB8941B202F8F92002F85EE /* UIColor.swift in Sources */, - 95404EBE20E113D700B34327 /* AccountsHeaderView.swift in Sources */, - 28EB91C720FCFDBE007A0906 /* TransactionHistoryTableViewCell.swift in Sources */, - B36547C82286B4B70015F911 /* MenuItem.swift in Sources */, - B3BA850E22744C8800440D3A /* StartupPinOrPassword.swift in Sources */, - 95473E7420E3A6420023F50A /* TransactionDetailCell.swift in Sources */, - 2827EE0A21B9675500832555 /* ConfirmNewWalletSeedViewController.swift in Sources */, - 28F0CE7320888258003AC958 /* Utils.swift in Sources */, - 28EB91CE20FCFDBE007A0906 /* TransactionTableViewCell.swift in Sources */, - DDB89404202F7E01002F85EE /* SendViewController.swift in Sources */, - B3CC32B22284CFC000A48624 /* SecurityBaseViewController.swift in Sources */, - 2804D43321BAAD170011A5B3 /* SeedCheckActiveCellView.swift in Sources */, - B39F15B222896E340024A884 /* Button.swift in Sources */, - DD419763202F9B570044F068 /* UITableViewExtension.swift in Sources */, - 28102DCF21B83F8F0052DC00 /* SeedConfirmTableViewCell.swift in Sources */, - 95877FE920B70CBB00CE53D2 /* TransactionHistoryViewController.swift in Sources */, - DD1D5C7E20AEDB15009789DD /* WalletLogViewController.swift in Sources */, - 28EB91CA20FCFDBE007A0906 /* AccountDataCell.swift in Sources */, - DD4C89DA2038EC3F003FEA0C /* keyPadButton.swift in Sources */, - 28EB91C820FCFDBE007A0906 /* BaseTableViewCell.swift in Sources */, - DD3A7E0E2152A7520009A0BE /* SingleInstance.swift in Sources */, - 28FEB26E21D264D9001B074B /* RecoveryWalletSeedWordCell.swift in Sources */, - DDD967372204668500462238 /* ConfirmToSendFundViewPINController.swift in Sources */, - 2883CA72209B52AE0053D9BB /* StartScreenViewController.swift in Sources */, - 2883CA702099D40F0053D9BB /* DropDownSearchField.swift in Sources */, - B39F15B4228992120024A884 /* Syncer.swift in Sources */, - 95473E6E20E39E7A0023F50A /* TransactiontOutputDetailsCell.swift in Sources */, - DDD2BA17224FED3800136C65 /* CurrencyOptionTableViewController.swift in Sources */, - DDA66BB721BFFFA800987248 /* SecurityMenuViewController.swift in Sources */, - DDB89429202F95AC002F85EE /* UIApplication.swift in Sources */, - B36547C62286A6490015F911 /* NavigationMenuViewController.swift in Sources */, - DD24AFA420A6ED70009EC84F /* NetworkModeTableViewController.swift in Sources */, - B35BF4632278923700018DBE /* PinPasswordStrength.swift in Sources */, - 281D545821B169DE00F68803 /* SecurityViewController.swift in Sources */, - DD4C89D92038EC12003FEA0C /* DropMenuButton.swift in Sources */, - DDB89419202F8F3E002F85EE /* UIIMage.swift in Sources */, - DDE90C8A2162CCB20031CED7 /* HelpViewController.swift in Sources */, - 957F0AFF20B82F3200D3E8A9 /* Constants.swift in Sources */, - 28FEB26C21D263E7001B074B /* RecoverExistingWalletViewController.swift in Sources */, - DDA0F47421EEC8E7006AB571 /* RequestPasswordViewController.swift in Sources */, - 281D545B21B169DE00F68803 /* PasswordSetupViewController.swift in Sources */, - 286DA549210B0C7A00734259 /* Data.swift in Sources */, - 952C932720E2174B00A60E43 /* ConfirmToSendFundViewController.swift in Sources */, - DD1D5C8020AEDB2B009789DD /* NodeLogViewController.swift in Sources */, - 952C932C20E2481500A60E43 /* SendCompletedViewController.swift in Sources */, - DDB89417202F8EE2002F85EE /* UIImageView.swift in Sources */, - B39F15B6228994D00024A884 /* SyncDecodableDataTypes.swift in Sources */, - B39F15BC228A54E60024A884 /* SyncProgressViewController.swift in Sources */, - 28EB91B820FCFD8F007A0906 /* CreateNewWalletViewController.swift in Sources */, - DD1D5C7C20AED828009789DD /* certificateViewController.swift in Sources */, - B353549C22844CB100DBFDC9 /* WalletLoader.swift in Sources */, - B39D0F432287ECF90035F781 /* OverviewViewController.swift in Sources */, - 2870338B20BC5E7D00BFD0B8 /* JsonEntities.swift in Sources */, - B39F15B822899A770024A884 /* String.swift in Sources */, - DDB89427202F955F002F85EE /* UIView.swift in Sources */, - 95473E6A20E39E3C0023F50A /* TransactiontInputDetails.swift in Sources */, - 95CC024420D3F15800DA73AF /* AccountsData.swift in Sources */, - B3BA850C22744C7400440D3A /* SpendingPinOrPassword.swift in Sources */, - DDB89402202F771F002F85EE /* UIViewController.swift in Sources */, - 281D545A21B169DE00F68803 /* RequestPinViewController.swift in Sources */, - B3FA1D81228B3CA000C8FE16 /* TransactionNotification.swift in Sources */, - DDA5C06B22591D9D0052CD52 /* WifiConfirmationController.swift in Sources */, - DD0B356E218930B7000830C4 /* AddAcountViewController.swift in Sources */, - DDA3E26E20292EF900C83D18 /* AppDelegate.swift in Sources */, - DDB8940D202F82E6002F85EE /* SettingsController.swift in Sources */, - DDB8940B202F82A3002F85EE /* AccountViewController.swift in Sources */, - 28102DCD21B83E700052DC00 /* ContouredButton.swift in Sources */, - B3CC32BA22856AEF00A48624 /* Extensions.swift in Sources */, - 95E1C96E20FCD43E00D7F3EE /* TextFieldDoneButton.swift in Sources */, - 28EB91CD20FCFDBE007A0906 /* MenuItemCell.swift in Sources */, - 28D36C7C2180ADF5000C6572 /* ConfirmSeedViewCell.swift in Sources */, - 95473E6420E393C00023F50A /* TransactionFullDetailsViewController.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DDA3E27A20292EF900C83D18 /* Sources */ = { + B3B4698B228F0C2D00A68EDD /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - DDA3E28320292EF900C83D18 /* Decred_WalletTests.swift in Sources */, + B3B46A85228F0F7D00A68EDD /* UIApplication.swift in Sources */, + B3B46A10228F0F2700A68EDD /* UIView.swift in Sources */, + B3B469FE228F0F2700A68EDD /* Button.swift in Sources */, + B3B46A2A228F0F2700A68EDD /* WalletSetupBaseViewController.swift in Sources */, + B3B46A15228F0F2700A68EDD /* UIImageView.swift in Sources */, + B3B46A31228F0F2700A68EDD /* SyncProgressViewController.swift in Sources */, + B3B46A19228F0F2700A68EDD /* StartScreenViewController.swift in Sources */, + B3B46A16228F0F2700A68EDD /* ImageHeaderView.swift in Sources */, + B3B46AA0228F0F7D00A68EDD /* SendCompletedViewController.swift in Sources */, + B3B46A20228F0F2700A68EDD /* PinPasswordStrength.swift in Sources */, + B3B46A24228F0F2700A68EDD /* TransactionTableViewCell.swift in Sources */, + B3B46A28228F0F2700A68EDD /* RecoverExistingWalletViewController.swift in Sources */, + B3B46A86228F0F7D00A68EDD /* DropMenuButton.swift in Sources */, + B3B46AC9228F120700A68EDD /* TransactiontInputDetails.swift in Sources */, + B3B46A99228F0F7D00A68EDD /* certificateViewController.swift in Sources */, + B3B46A9E228F0F7D00A68EDD /* ReceiveViewController.swift in Sources */, + B3B46A9F228F0F7D00A68EDD /* WalletLogViewController.swift in Sources */, + B3B46A25228F0F2700A68EDD /* TransactionHistoryViewController.swift in Sources */, + B3B46AC8228F120700A68EDD /* TransactionDetailCell.swift in Sources */, + B3B46A1B228F0F2700A68EDD /* SecurityViewController.swift in Sources */, + B3B46993228F0C2E00A68EDD /* AppDelegate.swift in Sources */, + B3B46A12228F0F2700A68EDD /* TextFieldDoneButton.swift in Sources */, + B3B46A1D228F0F2700A68EDD /* PasswordSetupViewController.swift in Sources */, + B3B469FA228F0F2700A68EDD /* UIColor.swift in Sources */, + B3B469FD228F0F2700A68EDD /* UIViewController.swift in Sources */, + B3B46A9B228F0F7D00A68EDD /* PeerSetTableViewController.swift in Sources */, + B3B46A89228F0F7D00A68EDD /* keyPadButton.swift in Sources */, + B3B46AB0228F0F7D00A68EDD /* AccountDataCell.swift in Sources */, + B3B46AB3228F0F7D00A68EDD /* ConfirmSeedViewCell.swift in Sources */, + B3B46A88228F0F7D00A68EDD /* UIIMage.swift in Sources */, + B3B46A11228F0F2700A68EDD /* UITableViewExtension.swift in Sources */, + B3B46A2E228F0F2700A68EDD /* MenuItem.swift in Sources */, + B3B469FC228F0F2700A68EDD /* String.swift in Sources */, + B3B46A9D228F0F7D00A68EDD /* HelpViewController.swift in Sources */, + B3B46A9A228F0F7D00A68EDD /* SettingsController.swift in Sources */, + B3B46A26228F0F2700A68EDD /* CreateNewWalletViewController.swift in Sources */, + B3B46A14228F0F2700A68EDD /* AccountsHeaderView.swift in Sources */, + B3B46A1F228F0F2700A68EDD /* RequestPinViewController.swift in Sources */, + B3B469A6228F0F0700A68EDD /* AccountsData.swift in Sources */, + B3B46A21228F0F2700A68EDD /* SecurityBaseViewController.swift in Sources */, + B3B46AB4228F0F7D00A68EDD /* SecurityMenuViewController.swift in Sources */, + B3B46A9C228F0F7D00A68EDD /* ServerSetTableViewController.swift in Sources */, + B3B46AAF228F0F7D00A68EDD /* SeedConfirmTableViewCell.swift in Sources */, + B3B46A8C228F0F7D00A68EDD /* Utils.swift in Sources */, + B3B46A34228F0F2700A68EDD /* TransactionNotification.swift in Sources */, + B3B46A27228F0F2700A68EDD /* ConfirmNewWalletSeedViewController.swift in Sources */, + B3B46A87228F0F7D00A68EDD /* Data.swift in Sources */, + B3B46AA8228F0F7D00A68EDD /* NodeLogViewController.swift in Sources */, + B3B46AB6228F0F7D00A68EDD /* Storyboards.swift in Sources */, + B3B46AAD228F0F7D00A68EDD /* BaseTableViewCell.swift in Sources */, + B3B46A37228F0F2700A68EDD /* SpendingPinOrPassword.swift in Sources */, + B3B46AA9228F0F7D00A68EDD /* AddAcountViewController.swift in Sources */, + B3B46AAC228F0F7D00A68EDD /* RecoveryWalletSeedWordCell.swift in Sources */, + B3B46A2C228F0F2700A68EDD /* MenuItemCell.swift in Sources */, + B3B46A39228F0F2700A68EDD /* StartupPinOrPassword.swift in Sources */, + B3B46A8F228F0F7D00A68EDD /* ConfirmToSendFundViewController.swift in Sources */, + B3B46A1E228F0F2700A68EDD /* RequestPasswordViewController.swift in Sources */, + B3B46A38228F0F2700A68EDD /* SyncDecodableDataTypes.swift in Sources */, + B3B46A36228F0F2700A68EDD /* WalletLoader.swift in Sources */, + B3B46AA7228F0F7D00A68EDD /* CurrencyOptionTableViewController.swift in Sources */, + B3B46A8D228F0F7D00A68EDD /* WifiConfirmationController.swift in Sources */, + B3B46AB1228F0F7D00A68EDD /* SeedCheckActiveCellView.swift in Sources */, + B3B46A30228F0F2700A68EDD /* NavigationMenuViewController.swift in Sources */, + B3B46A32228F0F2700A68EDD /* OverviewViewController.swift in Sources */, + B3B46AB5228F0F7D00A68EDD /* SingleInstance.swift in Sources */, + B3B46A8A228F0F7D00A68EDD /* customUImage.swift in Sources */, + B3B46AA6228F0F7D00A68EDD /* NetworkModeTableViewController.swift in Sources */, + B3B46AAA228F0F7D00A68EDD /* AccountViewController.swift in Sources */, + B3B469FB228F0F2700A68EDD /* Extensions.swift in Sources */, + B3B46A1C228F0F2700A68EDD /* PinInputView.swift in Sources */, + B3B46A0D228F0F2700A68EDD /* Constants.swift in Sources */, + B3B46A29228F0F2700A68EDD /* WalletSetupViewController.swift in Sources */, + B3B46AC4228F120700A68EDD /* TransactiontOutputDetailsCell.swift in Sources */, + B3B46A35228F0F2700A68EDD /* Syncer.swift in Sources */, + B3B46A0F228F0F2700A68EDD /* JsonEntities.swift in Sources */, + B3B46A17228F0F2700A68EDD /* ContouredButton.swift in Sources */, + B3B46A18228F0F2700A68EDD /* DropDownSearchField.swift in Sources */, + B3B46A8E228F0F7D00A68EDD /* ConfirmToSendFundViewPINController.swift in Sources */, + B3B46AA3228F0F7D00A68EDD /* SendViewController.swift in Sources */, + B3B46A97228F0F7D00A68EDD /* TransactionFullDetailsViewController.swift in Sources */, + B3B46AAB228F0F7D00A68EDD /* TransactionHistoryTableViewCell.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXTargetDependency section */ - DDA3E28020292EF900C83D18 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = DDA3E26920292EF900C83D18 /* Decred Wallet */; - targetProxy = DDA3E27F20292EF900C83D18 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - /* Begin PBXVariantGroup section */ - DDA3E27120292EF900C83D18 /* Main.storyboard */ = { + B3B46996228F0C2E00A68EDD /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( - DDA3E27220292EF900C83D18 /* Base */, + B3B46997228F0C2E00A68EDD /* Base */, ); name = Main.storyboard; sourceTree = ""; }; - DDA3E27620292EF900C83D18 /* LaunchScreen.storyboard */ = { + B3B4699B228F0C2E00A68EDD /* LaunchScreen.storyboard */ = { isa = PBXVariantGroup; children = ( - DDA3E27720292EF900C83D18 /* Base */, + B3B4699C228F0C2E00A68EDD /* Base */, ); name = LaunchScreen.storyboard; sourceTree = ""; @@ -1052,9 +923,9 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 74BA834B225ED31D00D3359E /* testnet */ = { + B30A37CC228F3AE100F78629 /* Testnet Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 74BA834F225ED7AA00D3359E /* testnet.xcconfig */; + baseConfigurationReference = B3B46A81228F0F7C00A68EDD /* testnet.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -1063,6 +934,7 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; @@ -1086,7 +958,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; @@ -1104,65 +976,42 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 11.1; - MTL_ENABLE_DEBUG_INFO = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; - name = testnet; + name = "Testnet Debug"; }; - 74BA834C225ED31D00D3359E /* testnet */ = { + B30A37CD228F3AE100F78629 /* Testnet Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EEF206FAF87F1149B8A07A5E /* Pods-Decred Wallet.testnet.xcconfig */; + baseConfigurationReference = 6E101B27914D446A611047FA /* Pods-decred_wallet.testnet debug.xcconfig */; buildSettings = { - APP_NAME = "$(APP_NAME)"; ASSETCATALOG_COMPILER_APPICON_NAME = "${APP_ICON}"; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = UX9L95U548; + DEVELOPMENT_TEAM = 8PU6UQXE68; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/libs", ); INFOPLIST_FILE = decred_wallet/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.3; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.decred.dcrios; - PRODUCT_NAME = DecredWallet; - PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_ENFORCE_EXCLUSIVE_ACCESS = none; - SWIFT_OBJC_BRIDGING_HEADER = "decred_wallet/DcrdConnection/decred_wallet-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = testnet; - }; - 74BA834D225ED31D00D3359E /* testnet */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 803CF6EF4883511AD6FBFEDA /* Pods-Decred WalletTests.testnet.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = LYZ95J7356; - INFOPLIST_FILE = "Decred WalletTests/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.macsleven.Decred-WalletTests"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.dcrios.decredwallet; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Decred Wallet.app/Decred Wallet"; }; - name = testnet; + name = "Testnet Debug"; }; - 74BA8350225EDD0500D3359E /* mainnet */ = { + B30A37CE228F3AF000F78629 /* Testnet Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 74BA8353225EDDB900D3359E /* mainnet.xcconfig */; + baseConfigurationReference = B3B46A81228F0F7C00A68EDD /* testnet.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -1171,6 +1020,7 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; @@ -1207,61 +1057,41 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 11.1; MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; VALIDATE_PRODUCT = YES; }; - name = mainnet; + name = "Testnet Release"; }; - 74BA8351225EDD0500D3359E /* mainnet */ = { + B30A37CF228F3AF000F78629 /* Testnet Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 59C0B78FBE22FDE12F72A4BD /* Pods-Decred Wallet.mainnet.xcconfig */; + baseConfigurationReference = E132813A7283C4AF63D571CB /* Pods-decred_wallet.testnet release.xcconfig */; buildSettings = { - APP_NAME = "$(APP_NAME)"; ASSETCATALOG_COMPILER_APPICON_NAME = "${APP_ICON}"; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = UX9L95U548; + DEVELOPMENT_TEAM = 8PU6UQXE68; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/libs", ); INFOPLIST_FILE = decred_wallet/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.3; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.decred.dcrios; - PRODUCT_NAME = DecredWallet; - PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_ENFORCE_EXCLUSIVE_ACCESS = none; - SWIFT_OBJC_BRIDGING_HEADER = "decred_wallet/DcrdConnection/decred_wallet-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = mainnet; - }; - 74BA8352225EDD0500D3359E /* mainnet */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 97C93247BA63B908E0B4F262 /* Pods-Decred WalletTests.mainnet.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = LYZ95J7356; - INFOPLIST_FILE = "Decred WalletTests/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.macsleven.Decred-WalletTests"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.dcrios.decredwallet; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Decred Wallet.app/Decred Wallet"; }; - name = mainnet; + name = "Testnet Release"; }; - DDA3E28520292EF900C83D18 /* Debug */ = { + B3B4699F228F0C2E00A68EDD /* Mainnet Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = B30A37CA228F3A6100F78629 /* mainnet.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -1270,6 +1100,7 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; @@ -1293,7 +1124,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; @@ -1311,16 +1142,18 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 11.1; - MTL_ENABLE_DEBUG_INFO = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; - name = Debug; + name = "Mainnet Debug"; }; - DDA3E28620292EF900C83D18 /* Release */ = { + B3B469A0228F0C2E00A68EDD /* Mainnet Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = B30A37CA228F3A6100F78629 /* mainnet.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -1329,6 +1162,7 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; @@ -1365,144 +1199,88 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 11.1; MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; VALIDATE_PRODUCT = YES; }; - name = Release; + name = "Mainnet Release"; }; - DDA3E28820292EF900C83D18 /* Debug */ = { + B3B469A2228F0C2E00A68EDD /* Mainnet Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 86D9782F8EE06C89E05C3666 /* Pods-Decred Wallet.debug.xcconfig */; + baseConfigurationReference = D54FC8830482A1C8089F10ED /* Pods-decred_wallet.mainnet debug.xcconfig */; buildSettings = { - APP_NAME = "$(APP_NAME)"; ASSETCATALOG_COMPILER_APPICON_NAME = "${APP_ICON}"; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = UX9L95U548; + DEVELOPMENT_TEAM = 8PU6UQXE68; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/libs", ); INFOPLIST_FILE = decred_wallet/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.3; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.decred.dcrios; - PRODUCT_NAME = DecredWallet; - PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_ENFORCE_EXCLUSIVE_ACCESS = none; - SWIFT_OBJC_BRIDGING_HEADER = "decred_wallet/DcrdConnection/decred_wallet-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.dcrios.decredwallet; + PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; - name = Debug; + name = "Mainnet Debug"; }; - DDA3E28920292EF900C83D18 /* Release */ = { + B3B469A3228F0C2E00A68EDD /* Mainnet Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8189AACB6CA2D0A1D0BF64BB /* Pods-Decred Wallet.release.xcconfig */; + baseConfigurationReference = 90F2C1496F6CB8860F23D117 /* Pods-decred_wallet.mainnet release.xcconfig */; buildSettings = { - APP_NAME = "$(APP_NAME)"; ASSETCATALOG_COMPILER_APPICON_NAME = "${APP_ICON}"; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = UX9L95U548; + DEVELOPMENT_TEAM = 8PU6UQXE68; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/libs", ); INFOPLIST_FILE = decred_wallet/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.3; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.decred.dcrios; - PRODUCT_NAME = DecredWallet; - PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_ENFORCE_EXCLUSIVE_ACCESS = none; - SWIFT_OBJC_BRIDGING_HEADER = "decred_wallet/DcrdConnection/decred_wallet-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - DDA3E28B20292EF900C83D18 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DDD37FB8138E4D4E83F64691 /* Pods-Decred WalletTests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = LYZ95J7356; - INFOPLIST_FILE = "Decred WalletTests/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.macsleven.Decred-WalletTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Decred Wallet.app/Decred Wallet"; - }; - name = Debug; - }; - DDA3E28C20292EF900C83D18 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D88FC8D6F04F2065EA91CDD0 /* Pods-Decred WalletTests.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = LYZ95J7356; - INFOPLIST_FILE = "Decred WalletTests/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.macsleven.Decred-WalletTests"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.dcrios.decredwallet; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Decred Wallet.app/Decred Wallet"; }; - name = Release; + name = "Mainnet Release"; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - DDA3E26520292EF900C83D18 /* Build configuration list for PBXProject "decred_wallet" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DDA3E28520292EF900C83D18 /* Debug */, - 74BA834B225ED31D00D3359E /* testnet */, - DDA3E28620292EF900C83D18 /* Release */, - 74BA8350225EDD0500D3359E /* mainnet */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - DDA3E28720292EF900C83D18 /* Build configuration list for PBXNativeTarget "Decred Wallet" */ = { + B3B4698A228F0C2D00A68EDD /* Build configuration list for PBXProject "decred_wallet" */ = { isa = XCConfigurationList; buildConfigurations = ( - DDA3E28820292EF900C83D18 /* Debug */, - 74BA834C225ED31D00D3359E /* testnet */, - DDA3E28920292EF900C83D18 /* Release */, - 74BA8351225EDD0500D3359E /* mainnet */, + B3B4699F228F0C2E00A68EDD /* Mainnet Debug */, + B30A37CC228F3AE100F78629 /* Testnet Debug */, + B3B469A0228F0C2E00A68EDD /* Mainnet Release */, + B30A37CE228F3AF000F78629 /* Testnet Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; + defaultConfigurationName = "Mainnet Release"; }; - DDA3E28A20292EF900C83D18 /* Build configuration list for PBXNativeTarget "Decred WalletTests" */ = { + B3B469A1228F0C2E00A68EDD /* Build configuration list for PBXNativeTarget "decred_wallet" */ = { isa = XCConfigurationList; buildConfigurations = ( - DDA3E28B20292EF900C83D18 /* Debug */, - 74BA834D225ED31D00D3359E /* testnet */, - DDA3E28C20292EF900C83D18 /* Release */, - 74BA8352225EDD0500D3359E /* mainnet */, + B3B469A2228F0C2E00A68EDD /* Mainnet Debug */, + B30A37CD228F3AE100F78629 /* Testnet Debug */, + B3B469A3228F0C2E00A68EDD /* Mainnet Release */, + B30A37CF228F3AF000F78629 /* Testnet Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; + defaultConfigurationName = "Mainnet Release"; }; /* End XCConfigurationList section */ }; - rootObject = DDA3E26220292EF900C83D18 /* Project object */; + rootObject = B3B46987228F0C2D00A68EDD /* Project object */; } diff --git a/decred_wallet.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/decred_wallet.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 4b442154b..746b114cf 100644 --- a/decred_wallet.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/decred_wallet.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:decred_wallet.xcodeproj"> diff --git a/decred_wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet Testnet.xcscheme b/decred_wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet Testnet.xcscheme index bc955f705..b83b33a49 100644 --- a/decred_wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet Testnet.xcscheme +++ b/decred_wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet Testnet.xcscheme @@ -14,30 +14,16 @@ buildForAnalyzing = "YES"> - - - - @@ -46,9 +32,9 @@ @@ -56,7 +42,7 @@ - - - - - - - - + buildConfiguration = "Testnet Debug"> diff --git a/decred_wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet.xcscheme b/decred_wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet.xcscheme index cd2876693..50981e366 100644 --- a/decred_wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet.xcscheme +++ b/decred_wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet.xcscheme @@ -14,37 +14,27 @@ buildForAnalyzing = "YES"> - - - - @@ -52,7 +42,7 @@ @@ -75,27 +65,27 @@ + buildConfiguration = "Mainnet Debug"> diff --git a/decred_wallet.xcodeproj/xcuserdata/Macsleven.xcuserdatad/xcschemes/xcschememanagement.plist b/decred_wallet.xcodeproj/xcuserdata/Macsleven.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 8eb8a5249..000000000 --- a/decred_wallet.xcodeproj/xcuserdata/Macsleven.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - SchemeUserState - - Decred Wallet.xcscheme_^#shared#^_ - - orderHint - 16 - - - SuppressBuildableAutocreation - - DDA3E26920292EF900C83D18 - - primary - - - DDA3E27D20292EF900C83D18 - - primary - - - - - diff --git a/decred_wallet/Base.lproj/Main.storyboard b/decred_wallet/Base.lproj/Main.storyboard index e92cbf699..7c1885e45 100644 --- a/decred_wallet/Base.lproj/Main.storyboard +++ b/decred_wallet/Base.lproj/Main.storyboard @@ -1,12 +1,11 @@ - + - @@ -21,7 +20,7 @@ - + @@ -39,7 +38,6 @@ - @@ -51,7 +49,11 @@ - + + + + + @@ -88,7 +90,6 @@ - @@ -101,7 +102,11 @@ - + + + + + @@ -179,10 +184,9 @@ - + - @@ -198,7 +202,7 @@ - + @@ -231,7 +235,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/decred_wallet/OverviewViewController.swift/SendCompletedViewController/SendCompletedViewController.swift b/decred_wallet/OverviewViewController.swift/SendCompletedViewController/SendCompletedViewController.swift deleted file mode 100644 index f81e8c2fc..000000000 --- a/decred_wallet/OverviewViewController.swift/SendCompletedViewController/SendCompletedViewController.swift +++ /dev/null @@ -1,44 +0,0 @@ -// SendCompletedViewController.swift -// Decred Wallet -// -// Copyright (c) 2018-2019 The Decred developers -// Use of this source code is governed by an ISC -// license that can be found in the LICENSE file. -import UIKit - -class SendCompletedViewController: UIViewController { - - var transactionHash: String? - - @IBOutlet private weak var labelTransactionHash: UILabel! - @IBOutlet weak var vContent: UIView! - - var openDetails: (() -> Void)? - var closeView: (() -> Void)? - - override func viewDidLoad() { - super.viewDidLoad() - - let layer = view.layer - - layer.frame = vContent.frame - layer.shadowColor = UIColor.gray.cgColor - layer.shadowRadius = 30 - layer.shadowOpacity = 0.8 - layer.shadowOffset = CGSize(width:0.0, height:40.0); - labelTransactionHash.text = transactionHash - } - - @IBAction func openAction(_ sender: UIButton) { - dismiss(animated: false) { [weak self] in - self?.openDetails?() - } - } - - @IBAction func closeAction(_ sender: UIButton) { - dismiss(animated: false) { [weak self] in - self?.closeView?() - } - - } -} diff --git a/decred_wallet/OverviewViewController.swift/SendViewController.swift b/decred_wallet/OverviewViewController.swift/SendViewController.swift deleted file mode 100644 index f85073c1c..000000000 --- a/decred_wallet/OverviewViewController.swift/SendViewController.swift +++ /dev/null @@ -1,1144 +0,0 @@ -// -// SendViewController.swift -// Decred Wallet -// -// Copyright (c) 2018-2019 The Decred developers -// Use of this source code is governed by an ISC -// license that can be found in the LICENSE file. -// - -import QRCodeReader -import UIKit -import Dcrlibwallet -import SafariServices - - -class SendViewController: UIViewController, UITextFieldDelegate,UITextPasteDelegate, QRCodeReaderViewControllerDelegate { - var pinInput: String? - - @IBOutlet weak var pasteBtn: UIButton! - weak var delegate: LeftMenuProtocol? - @IBOutlet var accountDropdown: DropMenuButton! - @IBOutlet weak var toAccountDropDown: DropMenuButton! - @IBOutlet var BalanceAfter: UILabel! - @IBOutlet var estimateFee: UILabel! - @IBOutlet var estimateSize: UILabel! - @IBOutlet var walletAddress: UITextField! - @IBOutlet var tfAmount: UITextField! - @IBOutlet var sendAllBtn: UIButton! - @IBOutlet weak var toAccountContainer: UIStackView! - @IBOutlet weak var toAddressContainer: UIStackView! - private var barButton: UIBarButtonItem? - var removedBtn = true - var wallet :DcrlibwalletLibWallet! - - @IBOutlet weak var sendNtwkErrtext: UILabel! - @IBOutlet weak var amountErrorText: UILabel! - @IBOutlet weak var addressErrorText: UILabel! - @IBOutlet weak var sendBtn: UIButton! - @IBOutlet weak var qrcodeBtn: UIButton! - var fromNotQRScreen = true - var AccountFilter: [AccountsEntity]? - - @IBOutlet weak var conversionContHeight: NSLayoutConstraint! - @IBOutlet weak var conversionRowCont: UIStackView! - - @IBOutlet weak var bottomCont: UIView! - @IBOutlet weak var conversionFeeCont: UIStackView! - - - @IBOutlet weak var sendInfoHeight: NSLayoutConstraint! - - @IBOutlet weak var exchangeRateCont: UIStackView! - @IBOutlet weak var exchangeRateDisplay: UILabel! - @IBOutlet weak var convertionFeeOther: UILabel! - @IBOutlet weak var exchangeRateError: UIButton! - @IBOutlet weak var currencyAmount2: AmountTextfield! - - private lazy var readerVC: QRCodeReaderViewController = { - let builder = QRCodeReaderViewControllerBuilder { - $0.reader = QRCodeReader(metadataObjectTypes: [.qr], captureDevicePosition: .back) - } - - return QRCodeReaderViewController(builder: builder) - }() - - var selectedAccount: AccountsEntity? - var sendToAccount: AccountsEntity? - var password: String? - var sendAllTX = false - var exchangeRateGloabal :NSDecimalNumber = 0.0 - var tempFee = "0" - - override func viewDidLoad() { - super.viewDidLoad() - self.sendBtn.layer.cornerRadius = 5; - self.accountDropdown.backgroundColor = UIColor.clear - self.toAccountDropDown.backgroundColor = UIColor.clear - self.tfAmount.delegate = self - self.currencyAmount2.delegate = self - self.pasteBtn.layer.cornerRadius = 4 - self.pasteBtn.layer.shadowOffset = CGSize(width: 0, height: 2.0) - wallet = SingleInstance.shared.wallet - NotificationCenter.default.addObserver(self, selector: #selector(willResignActive), name: UIApplication.willEnterForegroundNotification, object: nil) - self.walletAddress.delegate = self - removedBtn = false - let currency_value = UserDefaults.standard.integer(forKey: "currency") - if(currency_value == 1){ - GetExchangeRate() - } - self.showDefaultAccount() - self.removePasteBtn() - self.checkpaste() - } - - @objc func willResignActive() { - if ((self.walletAddress.text?.count)! < 1) { - self.checkpaste() - } - } - - private func clearFields() { - if(self.walletAddress.hasText){ - self.walletAddress.text = "" - self.tfAmount.text = "" - self.addQrbtn() - self.checkpaste() - self.addressErrorText.text = "" - self.amountErrorText.text = "" - self.tfAmount.text = "" - self.currencyAmount2.text = "" - self.estimateFee.text = "0.00 DCR" - self.estimateSize.text = "0 Bytes" - self.BalanceAfter.text = "0.00 DCR" - } else { - self.amountErrorText.text = "" - self.tfAmount.text = "" - self.currencyAmount2.text = "" - self.estimateFee.text = "0.00 DCR" - self.estimateSize.text = "0 Bytes" - self.BalanceAfter.text = "0.00 DCR" - } - } - - func checkpaste(){ - let pasteboardString: String? = UIPasteboard.general.string - if let theString = pasteboardString { - if (self.wallet.isAddressValid(theString )) { - print("address valid on appear") - if !(removedBtn){ - print("not showing but adding now") - removedBtn = true - self.removePasteBtn() - } - else{ - print("showing and leaving it") - } - //self.addressError.text = "" - } - else{ - print("address invalid on appear") - if (removedBtn){ - print("showing but removing now") - removedBtn = false - self.removePasteBtn() - } - //self.addressError.text = "" - } - } - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - self.setNavigationBarItem() - self.navigationItem.title = "Send" - self.updateBalance() - let menu = UIButton(type: .custom) - menu.setImage(UIImage(named: "right-menu"), for: .normal) - menu.addTarget(self, action: #selector(showMenu), for: .touchUpInside) - menu.frame = CGRect(x: 0, y: 0, width: 10, height: 51) - barButton = UIBarButtonItem(customView: menu) - self.navigationItem.rightBarButtonItems = [barButton!] - print("address valid on appear") - if !(self.fromNotQRScreen){ - self.fromNotQRScreen = true - } - else{ - self.checkpaste() - } - } - - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - - @IBAction func onSendAll(_ sender: Any?) { - self.sendAllTX = true - sendAll() - - } - func sendAll() { - let spendableAmount = Utils.spendable(account: self.selectedAccount!) - self.tfAmount.text = "\(spendableAmount)" - if !(self.conversionRowCont.isHidden){ - self.currencyAmount2.text = "\((((self.exchangeRateGloabal as Decimal) * spendableAmount)as NSDecimalNumber).round(2))" - } - self.prepareTransaction(sendAll: self.sendAllTX, amount: self.tfAmount.text!) - self.toggleSendBtn(validate: self.validateSentBtn(amount: self.tfAmount.text!)) - } - - @objc func showMenu(){ - let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet) - - let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler: nil) - - let sendTitle = self.toAddressContainer.isHidden ? "Send to address" : "Send to account" - let sendToAccount = UIAlertAction(title: sendTitle, style: .default, handler: { (alert: UIAlertAction!) -> Void in - self.sendToSwitch() - }) - - let clearFields = UIAlertAction(title: "Clear fields", style: .default, handler: { (alert: UIAlertAction!) -> Void in - self.clearFields() - }) - - if let popoverPresentationController = alertController.popoverPresentationController { - popoverPresentationController.barButtonItem = barButton - } - - alertController.addAction(cancelAction) - alertController.addAction(sendToAccount) - alertController.addAction(clearFields) - - self.present(alertController, animated: true, completion: nil) - } - - func sendToSwitch(){ - self.toAddressContainer.isHidden = !toAddressContainer.isHidden - self.toAccountContainer.isHidden = !toAccountContainer.isHidden - self.addressErrorText.isHidden = !self.addressErrorText.isHidden - self.toggleSendBtn(validate: self.validateSentBtn(amount: self.tfAmount.text!)) - } - - func removePasteBtn(){ - DispatchQueue.main.async { - if !(self.removedBtn){ - - self.toAddressContainer.removeArrangedSubview(self.pasteBtn) - self.pasteBtn.isHidden = true - - } - else{ - self.toAddressContainer.insertArrangedSubview(self.pasteBtn, at: 1) - self.pasteBtn.isHidden = false - } - } - - } - - func removeQrbtn(){ - DispatchQueue.main.async { - self.toAddressContainer.removeArrangedSubview(self.qrcodeBtn) - self.qrcodeBtn.isHidden = true - } - } - func addQrbtn(){ - DispatchQueue.main.async { - self.toAddressContainer.insertArrangedSubview(self.qrcodeBtn, at: 1) - self.qrcodeBtn.isHidden = false - } - } - - @IBAction private func sendFund(_ sender: Any) { - guard (UserDefaults.standard.bool(forKey: "synced")) else { - sendNtwkErrtext.text = "Please wait for network synchronization." - DispatchQueue.main.asyncAfter(deadline: .now() + 3) { - self.sendNtwkErrtext.text = " " - } - return - } - let peer = UserDefaults.standard.integer(forKey: "peercount") - guard peer > 0 else { - sendNtwkErrtext.text = "Not connected to the network." - DispatchQueue.main.asyncAfter(deadline: .now() + 3) { - self.sendNtwkErrtext.text = " " - } - return - } - if self.validate(amount: self.tfAmount.text!) { - self.fromNotQRScreen = false - if SpendingPinOrPassword.currentSecurityType() == SecurityViewController.SECURITY_TYPE_PASSWORD { - self.confirmSend(sendAll: false) - } else { - let requestPinVC = storyboard!.instantiateViewController(withIdentifier: "RequestPinViewController") as! RequestPinViewController - requestPinVC.securityFor = "Spending" - requestPinVC.showCancelButton = true - requestPinVC.onUserEnteredPin = { pin in - self.confirmSendWithoutPin(sendAll: false, pin: pin) - } - self.present(requestPinVC, animated: true, completion: nil) - } - } - } - - private func prepareTransaction(sendAll: Bool?, amount : String) { - let amountToSend = Double((amount))! - let amount = DcrlibwalletAmountAtom(amountToSend) - var walletaddress = self.walletAddress.text! - let acountN = (self.selectedAccount?.Number)! - var fee = 0.0 - - if !(validateDestinationAddress()) { - walletaddress = (wallet?.currentAddress(acountN, error: nil))! - } - - DispatchQueue.global(qos: .userInitiated).async { - do { - - let isShouldBeConfirmed = UserDefaults.standard.bool(forKey: "pref_spend_fund_switch") - let preparedTransaction: DcrlibwalletUnsignedTransaction? - preparedTransaction = try self.wallet?.constructTransaction(walletaddress, amount: amount, srcAccount: acountN , requiredConfirmations: isShouldBeConfirmed ? 0 : 2, sendAll: sendAll ?? false) - - DispatchQueue.main.async { [weak self] in - guard let this = self else { return } - fee = Double((preparedTransaction?.estimatedSignedSize)!) / 0.001 / 1e8 - let spendableAmount = Utils.spendable(account: (self?.selectedAccount!)!) - this.estimateSize.text = "\(preparedTransaction?.estimatedSignedSize ?? 0) Bytes" - this.estimateFee.text = "\(fee) DCR" - let Amount = (spendableAmount - (Decimal(amountToSend) )) as NSDecimalNumber - this.BalanceAfter.text = "\(Amount.round(8)) DCR" - if !(self!.conversionRowCont.isHidden){ - self?.conversionFeeCont.isHidden = false - self!.sendInfoHeight.constant = 155 - self?.tempFee = "\((((Decimal(fee)) * ((self?.exchangeRateGloabal)! as Decimal)) as NSDecimalNumber).round(4))" - self?.convertionFeeOther.text = "(\(self!.tempFee) USD)" - } - if(sendAll)!{ - this.tfAmount.text = "\(DcrlibwalletAmountCoin(amount - DcrlibwalletAmountAtom(fee)) )" - } - } - } catch { - // self.showAlert(message: error.localizedDescription, titles: "Error") - } - } - } - - private func signTransaction(sendAll: Bool?, password:String) { - let peer = UserDefaults.standard.integer(forKey: "peercount") - guard peer > 0 else { - sendNtwkErrtext.text = "Not connected to the network." - DispatchQueue.main.asyncAfter(deadline: .now() + 3) { - self.sendNtwkErrtext.text = " " - } - return - } - var walletAddress = "" - if (self.toAddressContainer.isHidden) { - let receiveAddress = wallet?.currentAddress((self.sendToAccount?.Number)!, error: nil) - walletAddress = receiveAddress! - } - else{ - DispatchQueue.main.async { - walletAddress = self.walletAddress.text! - } - } - DispatchQueue.main.async { - let amount = Double((self.tfAmount.text)!)! * 100000000 - let account = (self.selectedAccount?.Number)! - DispatchQueue.global(qos: .userInitiated).async {[unowned self] in - do { - - let isShouldBeConfirmed = UserDefaults.standard.bool(forKey: "pref_spend_fund_switch") - let result = try self.wallet?.sendTransaction(password.data(using: .utf8), destAddr: walletAddress, amount: Int64(amount) , srcAccount: account , requiredConfs: isShouldBeConfirmed ? 0 : 2, sendAll: sendAll ?? false) - - DispatchQueue.main.async { - self.transactionSucceeded(hash: result?.hexEncodedString()) - return - } - return - - } catch let error { - self.showAlert(message: error.localizedDescription, titles: "Error") - } - } - } - } - - override func viewDidDisappear(_ animated: Bool) { - super.viewDidDisappear(animated) - NotificationCenter.default.removeObserver(self, name: UIApplication.willEnterForegroundNotification, object: nil) - } - - private func confirmSend(sendAll: Bool) { - - let amountToSend = (tfAmount?.text)! - let storyboard = UIStoryboard(name: "Main", bundle: nil) - - let confirmSendFundViewController = storyboard.instantiateViewController(withIdentifier: "ConfirmToSendFundViewController") as! ConfirmToSendFundViewController - confirmSendFundViewController.modalTransitionStyle = .crossDissolve - confirmSendFundViewController.modalPresentationStyle = .overCurrentContext - - let tap = UITapGestureRecognizer(target: confirmSendFundViewController.view, action: #selector(confirmSendFundViewController.vContent.endEditing(_:))) - tap.cancelsTouchesInView = false - - confirmSendFundViewController.view.addGestureRecognizer(tap) - DispatchQueue.main.async { - if (self.toAddressContainer.isHidden){ - let receiveAddress = self.wallet?.currentAddress((self.sendToAccount?.Number)!, error: nil) - confirmSendFundViewController.address = receiveAddress! - confirmSendFundViewController.account = (self.selectedAccount?.Name)! - } - else{ - confirmSendFundViewController.accountLabel.isHidden = true - confirmSendFundViewController.address = self.walletAddress.text! - } - if !(self.conversionRowCont.isHidden){ - confirmSendFundViewController.amount = "\(amountToSend) DCR ($\((self.currencyAmount2.text)!))" - confirmSendFundViewController.fee = "\((self.estimateFee.text)!) ($\((self.tempFee)))" - } - else{ - confirmSendFundViewController.amount = "\(amountToSend) DCR" - confirmSendFundViewController.fee = "\((self.estimateFee.text)!) (\((self.estimateSize.text)!))" - - } - - } - - confirmSendFundViewController.confirm = { (password) in - self.signTransaction(sendAll: sendAll, password: password) - } - - DispatchQueue.main.async { - self.present(confirmSendFundViewController, animated: true, completion: nil) - } - return - } - - private func confirmSendWithoutPin(sendAll: Bool, pin: String) { - let amountToSend = (tfAmount?.text)! - let storyboard = UIStoryboard(name: "Main", bundle: nil) - - let confirmSendFundViewController = storyboard.instantiateViewController(withIdentifier: "ConfirmToSendFundViewPINController") as! ConfirmToSendFundViewPINController - confirmSendFundViewController.modalTransitionStyle = .crossDissolve - confirmSendFundViewController.modalPresentationStyle = .overCurrentContext - - let tap = UITapGestureRecognizer(target: confirmSendFundViewController.view, action: #selector(confirmSendFundViewController.vContent.endEditing(_:))) - tap.cancelsTouchesInView = false - - confirmSendFundViewController.view.addGestureRecognizer(tap) - DispatchQueue.main.async { - if (self.toAddressContainer.isHidden){ - let receiveAddress = self.wallet?.currentAddress((self.sendToAccount?.Number)!, error: nil) - confirmSendFundViewController.address = receiveAddress! - confirmSendFundViewController.account = (self.selectedAccount?.Name)! - } - else{ - confirmSendFundViewController.accountName.isHidden = true - confirmSendFundViewController.address = self.walletAddress.text! - } - if !(self.conversionRowCont.isHidden){ - confirmSendFundViewController.amount = "\(amountToSend) DCR ($\((self.currencyAmount2.text)!))" - confirmSendFundViewController.fee = "\((self.estimateFee.text)!) ($\((self.tempFee)))" - } - else{ - confirmSendFundViewController.amount = "\(amountToSend) DCR" - confirmSendFundViewController.fee = "\((self.estimateFee.text)!) (\((self.estimateSize.text)!))" - } - } - let tmp = pin - confirmSendFundViewController.confirm = { () in - self.signTransaction(sendAll: sendAll, password: tmp) - } - DispatchQueue.main.async { - self.present(confirmSendFundViewController, animated: true, completion: nil) - } - return - } - - @IBAction private func scanQRCodeAction(_ sender: UIButton) { - // Retrieve the QRCode content - // By using the delegate pattern - self.readerVC.delegate = self - - // Or by using the closure pattern - self.readerVC.completionBlock = { (result: QRCodeReaderResult?) in - - DispatchQueue.main.async { [weak self] in - guard let this = self else { return } - var address = result?.value - if address == nil { - return - } - - let lenght = min((address?.length)!,40) - let errorText = address?.prefix(lenght) - let message = "This is not a decred wallet address.\n".appending((errorText)!) - - if (address?.length)! > 0 { - if (address?.starts(with: "decred:"))! { - address = address?.replacingOccurrences(of: "decred:", with: "") - } - if self!.wallet.isAddressValid(address!) { - self?.fromNotQRScreen = false - DispatchQueue.main.async { - this.walletAddress?.text = address - } - this.removeQrbtn() - if (this.removedBtn){ - print("showing but removing now") - this.removedBtn = false - this.removePasteBtn() - } - } else{ - self?.showAlert(message: message, titles: "Info") - print("invalid address length") - } - } else{ - self?.showAlert(message: message, titles: "Info") - } - } - } - - // Presents the readerVC as modal form sheet - self.readerVC.modalPresentationStyle = .formSheet - DispatchQueue.main.async { - self.present(self.readerVC, animated: true, completion: nil) - } - } - - func reader(_ reader: QRCodeReaderViewController, didScanResult result: QRCodeReaderResult) { - reader.dismiss(animated: true, completion: nil) - } - - func readerDidCancel(_ reader: QRCodeReaderViewController) { - reader.dismiss(animated: true, completion: nil) - } - - func openLink(urlString: String) { - - if let url = URL(string: urlString) { - let viewController = SFSafariViewController(url: url, entersReaderIfAvailable: true) - viewController.delegate = self as? SFSafariViewControllerDelegate - - self.present(viewController, animated: true) - } - } - - private func transactionSucceeded(hash: String?) { - - let hashe = hash - let storyboard = UIStoryboard( - name: "SendCompletedViewController", - bundle: nil - ) - - let sendCompletedVC = storyboard.instantiateViewController(withIdentifier: "SendCompletedViewController") as! SendCompletedViewController - sendCompletedVC.modalTransitionStyle = .crossDissolve - sendCompletedVC.modalPresentationStyle = .overCurrentContext - sendCompletedVC.transactionHash = hashe - - sendCompletedVC.openDetails = { [weak self] in - guard let `self` = self else { return } - DispatchQueue.main.async { - self.walletAddress.text = nil - self.estimateFee.text = "0.00 DCR" - self.estimateSize.text = "0 Bytes" - self.BalanceAfter.text = "0.00 DCR" - self.tfAmount.text = nil - if !(self.toAddressContainer.isHidden){ - self.addQrbtn() - self.checkpaste() - - } - self.showDefaultAccount() - } - - if GlobalConstants.App.IsTestnet { - self.openLink(urlString: "https://testnet.dcrdata.org/tx/" + hashe! ) - }else{ - self.openLink(urlString: "https://mainnet.dcrdata.org/tx/" + hashe! ) - } - } - sendCompletedVC.closeView = { [weak self] in - guard let `self` = self else { return } - DispatchQueue.main.async { - self.walletAddress.text = nil - self.estimateFee.text = "0.00 DCR" - self.estimateSize.text = "0 Bytes" - self.BalanceAfter.text = "0.00 DCR" - self.tfAmount.text = nil - self.currencyAmount2.text = nil - if !(self.toAddressContainer.isHidden){ - self.addQrbtn() - self.checkpaste() - } - self.showDefaultAccount() - self.updateBalance() - } - - } - self.present(sendCompletedVC, animated: true, completion: nil) - return - } - - // MARK: - TextFieldDelegate - - func textFieldShouldReturn(_ textField: UITextField) -> Bool { - if !self.validateAmount(amount: self.tfAmount.text!) { - self.showAlertInvalidAmount() - return false - } - textField.resignFirstResponder() - return true - } - - func textFieldShouldEndEditing(_ textField: UITextField) -> Bool { - if (self.tfAmount.text != nil && self.tfAmount.text != "" && self.tfAmount.text != "0" && self.amountErrorText.text == "") { - self.sendAllTX = false - return true - } - - if (textField == self.tfAmount) { - self.estimateFee.text = "0.00 DCR" - self.estimateSize.text = "0 Bytes" - self.BalanceAfter.text = "0.00 DCR" - } - - return true - } - - func textFieldShouldClear(_ textField: UITextField) -> Bool { - if (textField == self.walletAddress) { - DispatchQueue.main.async { - self.addressErrorText.text = "" - - } - self.addQrbtn() - if (self.wallet.isAddressValid(UIPasteboard.general.string)) { - removedBtn = true - self.removePasteBtn() - return true - } - } - - return true - } - - var ACCEPTABLE_CHARACTERS = "" - - func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { - var updatedString = (textField.text as NSString?)?.replacingCharacters(in: range, with: string) - - if (textField == self.walletAddress) { - if (updatedString == nil || updatedString?.trimmingCharacters(in: .whitespaces) == "") { - DispatchQueue.main.async { - self.addressErrorText.text = "" - } - self.addQrbtn() - if (self.wallet.isAddressValid(UIPasteboard.general.string)) { - removedBtn = true - self.removePasteBtn() - return true - } - return true - } - - if (removedBtn) { - removedBtn = false - self.removePasteBtn() - } - - self.removeQrbtn() - - if (self.wallet.isAddressValid(updatedString)) { - DispatchQueue.main.async { - self.addressErrorText.text = "" - self.toggleSendBtn(validate: self.validateSentBtn(amount: self.tfAmount.text!)) - } - return true - } else { - DispatchQueue.main.async { - self.addressErrorText.text = "Destination address is not valid" - self.toggleSendBtn(validate: self.validateSentBtn(amount: self.tfAmount.text!)) - } - return true - } - } - - if (textField == self.tfAmount) { - self.sendAllTX = false - let cs = NSCharacterSet(charactersIn: ACCEPTABLE_CHARACTERS).inverted - if (updatedString != nil && updatedString != "" ) { - if((updatedString?.contains("."))!){ - let tmp2 = updatedString! as NSString - let TmpDot = tmp2.range(of: ".") - if((updatedString!.length - (TmpDot.location + 1)) > 8 || TmpDot.location > 8){ - return false - } - if(updatedString?.first == "."){ - DispatchQueue.main.async { - self.tfAmount.text = "0." - } - updatedString = "0." - ACCEPTABLE_CHARACTERS = "." - } - else{ - ACCEPTABLE_CHARACTERS = "." - } - } - else{ - if(updatedString!.length > 8){ - return false - } - ACCEPTABLE_CHARACTERS = "" - } - if !(CharacterSet(charactersIn: string).isSubset(of: cs)){ - return false - } - self.amountErrorText.text = "" - - let tspendable = Utils.spendable(account: self.selectedAccount!) as Decimal - let amountToSend = Decimal(Double((updatedString)!)!) - - if (amountToSend > tspendable) { - DispatchQueue.main.async { - if !(self.conversionRowCont.isHidden){ - let tmp = Double((updatedString)!)! - let tmp2 = Decimal(tmp) - self.currencyAmount2.text = "\((((self.exchangeRateGloabal as Decimal) * tmp2)as NSDecimalNumber).round(2))" - } - if(UserDefaults.standard.bool(forKey: "synced")){ - self.amountErrorText.text = "Not enough funds" - } - else{ - self.amountErrorText.text = "Not enough funds (or not connected)" - } - DispatchQueue.main.async { - self.estimateFee.text = "0.00 DCR" - self.estimateSize.text = "0 Bytes" - self.BalanceAfter.text = "0.00 DCR" - if !(self.conversionRowCont.isHidden){ - self.conversionFeeCont.isHidden = true - self.sendInfoHeight.constant = 135 - self.convertionFeeOther.text = "" - } - } - } - } - else { - DispatchQueue.main.async { - self.amountErrorText.text = "" - if !(self.conversionRowCont.isHidden){ - let tmp = Double((updatedString)!)! - let tmp2 = Decimal(tmp) - self.currencyAmount2.text = "\((((self.exchangeRateGloabal as Decimal) * tmp2)as NSDecimalNumber).round(2))" - } - } - } - self.sendAllTX = false - self.prepareTransaction(sendAll: self.sendAllTX, amount: updatedString!) - self.toggleSendBtn(validate: self.validateSentBtn(amount: updatedString!)) - } else { - DispatchQueue.main.async { - self.currencyAmount2.text = nil - self.estimateFee.text = "0.00 DCR" - self.estimateSize.text = "0 Bytes" - self.BalanceAfter.text = "0.00 DCR" - self.amountErrorText.text = "" - if !(self.conversionRowCont.isHidden){ - self.conversionFeeCont.isHidden = true - self.sendInfoHeight.constant = 135 - self.convertionFeeOther.text = "" - } - self.toggleSendBtn(validate: self.validateSentBtn(amount: updatedString!)) - } - } - } - else if (textField == self.currencyAmount2) { - self.sendAllTX = false - let cs = NSCharacterSet(charactersIn: ACCEPTABLE_CHARACTERS).inverted - if (updatedString != nil && updatedString != "" ){ - if((updatedString?.contains("."))!){ - let tmp2 = updatedString! as NSString - let TmpDot = tmp2.range(of: ".") - if((updatedString!.length - (TmpDot.location + 1)) > 2 || TmpDot.location > 10){ - return false - } - if(updatedString?.first == "."){ - DispatchQueue.main.async { - self.currencyAmount2.text = "0." - } - updatedString = "0." - ACCEPTABLE_CHARACTERS = "." - } - else{ - ACCEPTABLE_CHARACTERS = "." - } - } - else{ - if(updatedString!.length > 10){ - return false - } - ACCEPTABLE_CHARACTERS = "" - } - if !(CharacterSet(charactersIn: string).isSubset(of: cs)){ - return false - } - self.amountErrorText.text = "" - let tspendable = Utils.spendable(account: self.selectedAccount!) as Decimal - let amountToSend = Decimal(Double((updatedString)!)!) - if (amountToSend > tspendable) { - DispatchQueue.main.async { - let tmp = Double((updatedString)!)! - let tmp2 = Decimal(tmp) - print("\((tmp2 )) and \(self.exchangeRateGloabal as Decimal)") - print((tmp2 ) / (self.exchangeRateGloabal as Decimal)) - print("currency") - self.tfAmount.text = "\(((tmp2 ) / (self.exchangeRateGloabal as Decimal) as NSDecimalNumber).round(8))" - if(UserDefaults.standard.bool(forKey: "synced")){ - self.amountErrorText.text = "Not enough funds" - } - else{ - self.amountErrorText.text = "Not enough funds (or not connected)" - } - DispatchQueue.main.async { - self.estimateFee.text = "0.00 DCR" - self.estimateSize.text = "0 Bytes" - self.BalanceAfter.text = "0.00 DCR" - if !(self.conversionRowCont.isHidden){ - self.conversionFeeCont.isHidden = true - self.sendInfoHeight.constant = 135 - self.convertionFeeOther.text = "" - } - } - } - } - else{ - DispatchQueue.main.async { - self.amountErrorText.text = "" - if !(self.conversionRowCont.isHidden){ - let tmp = Double((updatedString)!)! - let tmp2 = Decimal(tmp) - self.tfAmount.text = "\(((tmp2 ) / (self.exchangeRateGloabal as Decimal) as NSDecimalNumber).round(8))" - } - } - } - self.sendAllTX = false - print("before validate") - self.toggleSendBtn(validate: self.validateSentBtn(amount: updatedString!)) - self.prepareTransaction(sendAll: self.sendAllTX, amount: updatedString!) - return true - }else{ - DispatchQueue.main.async { - self.tfAmount.text = nil - self.estimateFee.text = "0.00 DCR" - self.estimateSize.text = "0 Bytes" - self.BalanceAfter.text = "0.00 DCR" - if !(self.conversionRowCont.isHidden){ - self.conversionFeeCont.isHidden = true - self.sendInfoHeight.constant = 135 - self.convertionFeeOther.text = "" - } - self.toggleSendBtn(validate: self.validateSentBtn(amount: updatedString!)) - } - } - } - return true - } - override func touchesBegan(_ touches: Set, with event: UIEvent?) { - super.touchesBegan(touches, with: event) - self.view.endEditing(true) - } - - private func toggleSendBtn(validate: Bool){ - if validate { - self.sendBtn.backgroundColor = UIColor(hex: "#007AFF") - self.sendBtn.setTitleColor(UIColor.white, for: .normal) - print("btn true") - } - else{ - self.sendBtn.backgroundColor = UIColor(hex: "#E6EAED") - self.sendBtn.setTitleColor(UIColor(hex: "#000000", alpha: 0.61), for: .normal) - print("btn false") - } - } - - private func showDefaultAccount() { - var account: GetAccountResponse? - do { - var getAccountError: NSError? - let strAccount = wallet?.getAccounts(0, error: &getAccountError) - if getAccountError != nil { - throw getAccountError! - } - account = try JSONDecoder().decode(GetAccountResponse.self, from: (strAccount?.data(using: .utf8))!) - - } catch let error { - print(error) - } - - let defaultNumber = UserDefaults.standard.integer(forKey: "wallet_default") - - if let defaultAccount = account?.Acc.filter({ $0.Number == defaultNumber }).first { - let tspendable = Utils.spendable(account: defaultAccount) as NSDecimalNumber - - accountDropdown.setTitle( - "\(defaultAccount.Name) [\(tspendable.round(8) )]", - for: UIControl.State.normal - ) - toAccountDropDown.setTitle( - "\(defaultAccount.Name) [\(tspendable.round(8) )]", - for: UIControl.State.normal - ) - selectedAccount = defaultAccount - sendToAccount = defaultAccount - print("before function default") - } - } - - private func updateBalance() { - var accounts = [String]() - var account: GetAccountResponse? - do { - var getAccountError: NSError? - let strAccount = wallet?.getAccounts(0, error: &getAccountError) - if getAccountError != nil { - throw getAccountError! - } - account = try JSONDecoder().decode(GetAccountResponse.self, from: (strAccount?.data(using: .utf8))!) - - } catch let error { - print(error) - } - accounts = (account?.Acc.filter({UserDefaults.standard.bool(forKey: "hidden\($0.Number)") != true && $0.Number != INT_MAX }).map { (acc) -> String in - let tspendable = Utils.spendable(account: acc) as NSDecimalNumber - print(acc.Number) - - return "\(acc.Name) [\( tspendable.round(8) )]" - })! - AccountFilter = (account?.Acc.filter({UserDefaults.standard.bool(forKey: "hidden\($0.Number)") != true && $0.Number != INT_MAX }).map { (acc) -> AccountsEntity in - return acc - })! - self.accountDropdown.initMenu(accounts) { [weak self] ind, val in - guard let this = self else { return } - this.accountDropdown.setTitle( - val, - for: UIControl.State.normal - ) - this.selectedAccount = self?.AccountFilter?[ind] - print("before function update") - if(self!.sendAllTX){ - self!.sendAll() - } - } - self.toAccountDropDown.initMenu(accounts) { [weak self] ind, val in - guard let this = self else { return } - this.toAccountDropDown.setTitle( - val, - for: UIControl.State.normal - ) - this.sendToAccount = self?.AccountFilter?[ind] - } - } - - @IBAction func pasteFunc(_ sender: Any) { - DispatchQueue.main.async { - self.walletAddress.text = UIPasteboard.general.string - } - self.removedBtn = false - self.addressErrorText.text = "" - self.removeQrbtn() - self.removePasteBtn() - self.walletAddress.becomeFirstResponder() - } - - //MARK: - Validation - - private func validate(amount: String) -> Bool { - if !self.validateWallet() { - self.showAlertForInvalidWallet() - return false - } - if self.toAddressContainer.isHidden { - if !self.validateDestinationAddress() { - self.addressErrorText.text = "Destination address is not valid" - return false - } - } - if !self.validateAmount(amount: amount) { - self.amountErrorText.text = "Amount can not be zero" - return false - } - if(self.amountErrorText.text != ""){ - return false - } - return true - } - - private func validateSentBtn(amount : String)-> Bool { - if !self.validateWallet() { - self.showAlertForInvalidWallet() - print("wallet error") - return false - } - if !self.toAddressContainer.isHidden { - if !self.validateDestinationAddress() { - print("address error") - return false - } - } - if !self.validateAmount(amount: amount) { - print("amount error") - return false - } - if(self.amountErrorText.text != ""){ - print("addressErrorText error") - return false - } - - return true - } - - private func validateDestinationAddress() -> Bool { - return self.wallet.isAddressValid(self.walletAddress.text!) - } - - private func validateAmount(amount : String) -> Bool { - if(amount == "" ){ - print("Amount nill or empty") - return false - } - else{ - - let amountToSend = Double((amount ))! - let tspendable = Utils.spendable(account: self.selectedAccount!) as Decimal - print(" result of amount is \(amountToSend > 0 || Decimal(amountToSend) < tspendable)") - return amountToSend > 0 && Decimal(amountToSend) <= tspendable - } - } - - private func validateWallet() -> Bool { - return self.selectedAccount != nil - } - - private func showAlertForInvalidDestinationAddress() { - self.showAlert(message: "Please paste a correct destination address.", titles: "Warning") - } - - private func showAlertForInvalidWallet() { - self.showAlert(message: "Please select your source wallet.", titles: "Warning") - } - - private func showAlertInvalidAmount() { - self.showAlert(message: "Please input amount of DCR to send.", titles: "Warning") - } - - private func showAlert(message: String? , titles: String?) { - let alert = UIAlertController(title: titles, message: message, preferredStyle: .alert) - let okAction = UIAlertAction(title: "OK", style: .default) { _ in - alert.dismiss(animated: true, completion: nil) - } - alert.addAction(okAction) - - DispatchQueue.main.async { - self.present(alert, animated: true, completion: nil) - } - } - - private func validate(address: String) -> Bool { - return (wallet?.isAddressValid(address)) ?? false - } - - @IBAction func reloadExchange(_ sender: Any) { - self.exchangeRateError.isEnabled = false - self.GetExchangeRate() - } - - func GetExchangeRate(){ - //create the url with NSURL - let url = NSURL(string: "https://bittrex.com/api/v1.1/public/getticker?market=USDT-DCR")! //change the url - print("start fetching") - //create the session object - let session = URLSession.shared - - //now create the URLRequest object using the url object - let request = URLRequest(url: url as URL) - - //create dataTask using the session object to send data to the server - let task = session.dataTask(with: request as URLRequest, completionHandler: { data, response, error in - print("in task now") - guard error == nil else { - DispatchQueue.main.async { - self.exchangeRateError.setTitle("bittrex rate unavailable (tap to retry)", for: .normal) - self.exchangeRateError.isEnabled = true - } - return - } - - guard let data = data else { - DispatchQueue.main.async { - self.exchangeRateError.setTitle("bittrex rate unavailable (tap to retry)", for: .normal) - self.exchangeRateError.isEnabled = true - } - return - } - - do { - //create json object from data - if let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String: Any] { - let resultValue = json["success"] as? Bool? - print(json["result"]! as Any) - print(json["success"]!) - if resultValue == true{ - // print(json["data"] as Any) - let reportLoad = json["result"] as? NSDictionary - if let exchangeRate = reportLoad!["Last"] as? Double?{ - let exchange = Decimal(exchangeRate!) as NSDecimalNumber - DispatchQueue.main.async { - self.conversionContHeight.constant = 75 - self.conversionRowCont.isHidden = false - self.sendInfoHeight.constant = 135 - self.exchangeRateCont.isHidden = false - self.exchangeRateDisplay.text = exchange.round(2).stringValue + " USD/DCR (bittrex)" - self.exchangeRateGloabal = exchange.round(2) - self.exchangeRateError.isEnabled = false - self.exchangeRateError.setTitle("", for: .normal) - } - return - } - DispatchQueue.main.async { - self.exchangeRateError.setTitle("bittrex rate unavailable (tap to retry)", for: .normal) - self.exchangeRateError.isEnabled = true - } - } - else{ - DispatchQueue.main.async { - self.exchangeRateError.setTitle("bittrex rate unavailable (tap to retry)", for: .normal) - self.exchangeRateError.isEnabled = true - } - return - } - } - } catch let error { - DispatchQueue.main.async { - self.exchangeRateError.setTitle("bittrex rate unavailable (tap to retry)", for: .normal) - self.exchangeRateError.isEnabled = true - } - - print(error.localizedDescription) - return - } - }) - - task.resume() - } - -} -class AmountTextfield: UITextField { - override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool { - if action == #selector(UIResponderStandardEditActions.paste(_:)) { - return false - } - return super.canPerformAction(action, withSender: sender) - } -} diff --git a/decred_wallet/OverviewViewController.swift/ServerSetTableViewController.swift b/decred_wallet/OverviewViewController.swift/ServerSetTableViewController.swift deleted file mode 100644 index def440f29..000000000 --- a/decred_wallet/OverviewViewController.swift/ServerSetTableViewController.swift +++ /dev/null @@ -1,72 +0,0 @@ -// -// ServerSetTableViewController.swift -// Decred Wallet -// -// Copyright (c) 2018-2019 The Decred developers -// Use of this source code is governed by an ISC -// license that can be found in the LICENSE file. - -import UIKit - -class ServerSetTableViewController: UITableViewController { - - @IBOutlet weak var server_ip: UITextField! - - override func viewDidLoad() { - super.viewDidLoad() - self.navigationController?.navigationBar.tintColor = UIColor.blue - self.navigationItem.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: .cancel, target: self, action: #selector(cancel)) - self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .save, target: self, action: #selector(save)) - self.navigationItem.title = "Server Address" - server_ip?.text = UserDefaults.standard.string(forKey: "pref_server_ip") ?? "" - } - - override func viewDidAppear(_ animated: Bool) { - super.viewDidAppear(true) - self.server_ip.becomeFirstResponder() - } - - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - - @objc func save() -> Void { - // save here - if (server_ip.text?.isEmpty)! || (server_ip.text)! == ""{ - UserDefaults.standard.set("", forKey: "pref_server_ip") - UserDefaults.standard.synchronize() - self.navigationController?.popViewController(animated: true) - return - } - else if isValidIP(s: server_ip.text!){ - UserDefaults.standard.set(server_ip.text, forKey: "pref_server_ip") - UserDefaults.standard.synchronize() - self.navigationController?.popViewController(animated: true) - return - } - else { - self.showMessage(title: "Invalid input", userMessage: "please input a valid IP address", buttonTitle: "ok") - } - } - - @objc func cancel() -> Void { - self.navigationController?.popViewController(animated: true) - } - - func showMessage(title: String,userMessage : String, buttonTitle button:String) { - - let uiAlert = UIAlertController(title: title, message: userMessage, preferredStyle: UIAlertController.Style.alert) - let uiAction = UIAlertAction(title: button, style: UIAlertAction.Style.default, handler: nil) - - uiAlert.addAction(uiAction) - - self.present(uiAlert, animated: true, completion: nil) - } - - func isValidIP(s: String) -> Bool { - let parts = s.components(separatedBy: ".") - let nums = parts.compactMap { Int($0) } - return parts.count == 4 && nums.count == 4 && nums.filter { $0 >= 0 && $0 < 256}.count == 4 - } -} diff --git a/decred_wallet/OverviewViewController.swift/SettingsController.swift b/decred_wallet/OverviewViewController.swift/SettingsController.swift deleted file mode 100644 index c265db63e..000000000 --- a/decred_wallet/OverviewViewController.swift/SettingsController.swift +++ /dev/null @@ -1,291 +0,0 @@ -// -// SettingsController.swift -// Decred Wallet - -// Copyright (c) 2018-2019 The Decred developers -// Use of this source code is governed by an ISC -// license that can be found in the LICENSE file. -import Foundation -import UIKit -import JGProgressHUD - -class SettingsController: UITableViewController { - @IBOutlet weak var changeStartPINCell: UITableViewCell! - @IBOutlet weak var peer_cell: UIView! - @IBOutlet weak var connectPeer_cell: UITableViewCell! - @IBOutlet weak var server_cell: UITableViewCell! - @IBOutlet weak var certificate_cell: UITableViewCell! - @IBOutlet weak var serverAdd_label: UILabel! - @IBOutlet weak var connect_ip_label: UILabel! - @IBOutlet weak var certificat_label: UILabel! - @IBOutlet weak var network_mode_subtitle: UILabel! - @IBOutlet weak var network_mode: UITableViewCell! - @IBOutlet weak var Start_Pin_cell: UITableViewCell! - - @IBOutlet weak var connect_peer_ip: UILabel! - @IBOutlet weak var build: UILabel! - @IBOutlet weak var version: UILabel! - @IBOutlet weak var server_ip: UILabel! - - @IBOutlet weak var debu_msg: UISwitch! - @IBOutlet weak var spend_uncon_fund: UISwitch! - @IBOutlet weak var incoming_notification_switch: UISwitch! - @IBOutlet weak var start_Pin: UISwitch! - @IBOutlet weak var currency_subtitle: UILabel! - - override func viewDidLoad() { - super.viewDidLoad() - loadDate() - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - self.navigationController?.navigationBar.isHidden = false - self.navigationController?.navigationBar.tintColor = UIColor.black - self.navigationItem.title = "Settings" - self.navigationItem.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: .cancel, target: self, action: #selector(exitSettings)) - self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .save, target: self, action: #selector(save)) - - connect_peer_ip?.text = UserDefaults.standard.string(forKey: "pref_peer_ip") ?? "" - server_ip?.text = UserDefaults.standard.string(forKey: "pref_server_ip") ?? "" - - loadDate() - self.checkStartupSecurity() - - let network_value = UserDefaults.standard.integer(forKey: "network_mode") - if (network_value == 0) { - network_mode_subtitle?.text = "Simplified Payment Verification" - self.certificate_cell.isUserInteractionEnabled = false - self.server_cell.isUserInteractionEnabled = false - self.connectPeer_cell.isUserInteractionEnabled = true - self.server_ip.textColor = UIColor.lightGray - self.certificat_label.textColor = UIColor.lightGray - self.connect_peer_ip.textColor = UIColor.darkText - self.serverAdd_label.textColor = UIColor.lightGray - self.connect_ip_label.textColor = UIColor.darkText - } else { - network_mode_subtitle?.text = "Remote Full Node" - self.certificate_cell.isUserInteractionEnabled = true - self.server_cell.isUserInteractionEnabled = true - self.connectPeer_cell.isUserInteractionEnabled = false - self.connect_peer_ip.textColor = UIColor.lightGray - self.certificat_label.textColor = UIColor.darkText - self.server_ip.textColor = UIColor.darkText - self.serverAdd_label.textColor = UIColor.darkText - self.connect_ip_label.textColor = UIColor.lightGray - } - } - - @objc func exitSettings() -> Void { - if let navMenuController = self.navigationMenuViewController() { - navMenuController.changeActivePage(to: MenuItem.overview) - } else if self.isModal { - self.dismiss(animated: true, completion: nil) - } else { - self.navigationController?.popViewController(animated: true) - } - } - - override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) { - super.viewWillTransition(to: size, with: coordinator) - coordinator.animate(alongsideTransition: nil, completion: { (context: UIViewControllerTransitionCoordinatorContext!) -> Void in - guard let vc = (self.slideMenuController()?.mainViewController as? UINavigationController)?.topViewController else { - return - } - if vc.isKind(of: SettingsController.self) { - self.slideMenuController()?.removeLeftGestures() - self.slideMenuController()?.removeRightGestures() - } - }) - } - - func loadDate() -> Void { - let network_value = UserDefaults.standard.integer(forKey: "network_mode") - let currency_value = UserDefaults.standard.integer(forKey: "currency") - version?.text = UserDefaults.standard.string(forKey: "app_version") ?? "Pre-release" - - var compileDate:Date - { - let bundleName = Bundle.main.infoDictionary!["CFBundleName"] as? String ?? "Info.plist" - if let infoPath = Bundle.main.path(forResource: bundleName, ofType: nil), - let infoAttr = try? FileManager.default.attributesOfItem(atPath: infoPath), - let infoDate = infoAttr[FileAttributeKey.creationDate] as? Date - { return infoDate } - return Date() - } - - let dateformater = DateFormatter() - dateformater.dateFormat = "yyyy-MM-dd" - build?.text = dateformater.string(from: compileDate as Date) - debu_msg?.setOn((UserDefaults.standard.bool(forKey: "pref_debug_switch") ), animated: false) - spend_uncon_fund?.setOn(UserDefaults.standard.bool(forKey: "pref_spend_fund_switch"), animated: false) - connect_peer_ip?.text = UserDefaults.standard.string(forKey: "pref_peer_ip") ?? "" - server_ip?.text = UserDefaults.standard.string(forKey: "pref_server_ip") ?? "" - incoming_notification_switch?.setOn(UserDefaults.standard.bool(forKey: "pref_notification_switch"), animated: true) - - if (network_value == 0) { - network_mode_subtitle?.text = "Simplified Payment Verification (SPV)" - }else{ - network_mode_subtitle?.text = "Remote Full Node" - } - if (currency_value == 0) { - currency_subtitle?.text = "None" - }else{ - currency_subtitle?.text = "USD (bittrex)" - } - } - - func checkStartupSecurity() { - start_Pin?.setOn(StartupPinOrPassword.pinOrPasswordIsSet(), animated: false) - - if start_Pin.isOn { - changeStartPINCell.isUserInteractionEnabled = true - changeStartPINCell.alpha = 1 - } - else{ - changeStartPINCell.isUserInteractionEnabled = false - changeStartPINCell.alpha = 0.4 - } - - tableView.reloadData() - } - - @objc func save() -> Void { - UserDefaults.standard.set(incoming_notification_switch.isOn, forKey: "pref_notification_switch") - UserDefaults.standard.set(spend_uncon_fund.isOn, forKey: "pref_spend_fund_switch") - UserDefaults.standard.set(debu_msg.isOn, forKey: "pref_debug_switch") - UserDefaults.standard.synchronize() - self.exitSettings() - } - - override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { - if !start_Pin.isOn && indexPath.section == 0 && indexPath.row == 2 { - return 0 - } - return 44 - } - - override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - if (indexPath.section != 0) { - return - } - - switch indexPath.row { - case 0: // change spending pin/password - SpendingPinOrPassword.change(sender: self) - - case 1: // enable/disable startup pin/password - if (start_Pin.isOn) { - StartupPinOrPassword.clear(sender: self, completion: self.checkStartupSecurity) - } else { - StartupPinOrPassword.set(sender: self, completion: self.checkStartupSecurity) - } - - case 2: // change startup pin/password - StartupPinOrPassword.change(sender: self, completion: self.checkStartupSecurity) - - default: - break - } - } - - @IBAction func deleteWallet(_ sender: Any) { - if SpendingPinOrPassword.currentSecurityType() == "PASSWORD" { - let alert = UIAlertController(title: "Delete Wallet", message: "Please enter spending password of your wallet", preferredStyle: .alert) - alert.addTextField { textField in - textField.placeholder = "password" - textField.isSecureTextEntry = true - } - - let okAction = UIAlertAction(title: "Proceed", style: .default) { _ in - let tfPasswd = alert.textFields![0] as UITextField - if (tfPasswd.text?.count)! > 0 { - self.handleDeleteWallet(pass: tfPasswd.text!) - alert.dismiss(animated: false, completion: nil) - } else { - alert.dismiss(animated: false, completion: nil) - self.showAlert(message: "Password can't be empty.", title: "invalid input") - } - } - - let CancelAction = UIAlertAction(title: "Cancel", style: .default) { _ in - alert.dismiss(animated: false, completion: nil) - } - alert.addAction(CancelAction) - alert.addAction(okAction) - - self.present(alert, animated: true, completion: nil) - } else { - let requestPinVC = storyboard!.instantiateViewController(withIdentifier: "RequestPinViewController") as! RequestPinViewController - requestPinVC.securityFor = "Spending" - requestPinVC.showCancelButton = true - requestPinVC.onUserEnteredPin = { pin in - self.handleDeleteWallet(pass: pin) - } - self.present(requestPinVC, animated: true, completion: nil) - } - } - - private func showAlert(message: String? , title: String?) { - let alert = UIAlertController(title: title, message: message, preferredStyle: .alert) - let okAction = UIAlertAction(title: "OK", style: .default) { _ in - alert.dismiss(animated: true, completion: nil) - } - alert.addAction(okAction) - - DispatchQueue.main.async { - self.present(alert, animated: true, completion: nil) - } - } - - func handleDeleteWallet(pass: String){ - let progressHud = Utils.showProgressHud(with: "Deleting wallet...") - let wallet = SingleInstance.shared.wallet! - DispatchQueue.global(qos: .userInitiated).async { [weak self] in - guard let this = self else { return } - - do { - let passData = (pass as NSString).data(using: String.Encoding.utf8.rawValue)! - wallet.dropSpvConnection() - try wallet.unlock(passData) - try wallet.close() - - let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) - let walletDir = paths[0].appendingPathComponent("dcrlibwallet") - try FileManager.default.removeItem(at: walletDir) - - DispatchQueue.main.async { - progressHud.dismiss() - this.walletDeleted() - } - } catch { - DispatchQueue.main.async { - progressHud.dismiss() - let alertController = UIAlertController(title: "", message: "Passphrase was not valid.", preferredStyle: UIAlertController.Style.alert) - alertController.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler: nil)) - this.present(alertController, animated: true, completion: nil) - } - } - } - } - - // Restarts the app when wallet is deleted. - func walletDeleted() { - let domain = Bundle.main.bundleIdentifier! - UserDefaults.standard.removePersistentDomain(forName: domain) - UserDefaults.standard.synchronize() - SingleInstance.shared.setDefaults() - - UIApplication.shared.keyWindow?.rootViewController?.dismiss(animated: false, completion: nil) - - if let appDelegate = UIApplication.shared.delegate as? AppDelegate { - let startScreen = Storyboards.Main.initialViewController() - appDelegate.setAndDisplayRootViewController(startScreen!) - } - } - - static func instantiate() -> Self { - return Storyboards.Main.instantiateViewController(for: self) - } -} diff --git a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/RecoveryWalletSeedWordsCell.swift b/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/RecoveryWalletSeedWordsCell.swift deleted file mode 100644 index 47575dc97..000000000 --- a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/RecoveryWalletSeedWordsCell.swift +++ /dev/null @@ -1,48 +0,0 @@ -// -// RecoveryWalletSeedWordsCell.swift -// Decred Wallet -// -// Copyright (c) 2018, The Decred developers -// See LICENSE for details. -// - -import UIKit - -class RecoveryWalletSeedWordsCell: UITableViewCell, UITextFieldDelegate { - - @IBOutlet weak var lbWordNum: UILabel! - @IBOutlet weak var tfSeedWord: DropDownSearchField! - - var seed:[String]? - var wordNum:Int = 0 - var onPickUpSeed:((Int, String)->Void)?{ - set{ - tfSeedWord.onSelect = newValue - } - get{ - return tfSeedWord.onSelect - } - } - - func setup(wordNum:Int, word: String?, seed:[String], placeholder: UIView){ - tfSeedWord.dropDownListPlaceholder = placeholder - lbWordNum.text = "Word #\(wordNum + 1)" - tfSeedWord.text = word ?? "" - self.seed = seed - self.wordNum = wordNum - tfSeedWord.autocorrectionType = .no - tfSeedWord.itemsToSearch = seed - tfSeedWord.vertPosition = self.frame.origin.y - tfSeedWord.setupDropdownTable() - } - - - func hideDropDown(){ - tfSeedWord.hideDropDown() - tfSeedWord.clean() - } - - func updatePlaceholder(vertPosition: Int){ - tfSeedWord.updatePlaceholder(position:vertPosition) - } -} diff --git a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactionDetailCell.swift b/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactionDetailCell.swift deleted file mode 100644 index 561edd4cf..000000000 --- a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactionDetailCell.swift +++ /dev/null @@ -1,38 +0,0 @@ -// TransactionDetailCell.swift -// Decred Wallet - -// Copyright (c) 2018-2019 The Decred developers -// Use of this source code is governed by an ISC -// license that can be found in the LICENSE file. - -import UIKit - -class TransactionDetailCell: UITableViewCell { - - @IBOutlet private weak var labelTitle: UILabel! - @IBOutlet private weak var labelValue: UILabel! - - var txnDetails: TransactionDetails? { - didSet { - showData() - } - } - - override func awakeFromNib() { - super.awakeFromNib() - // Initialization code - } - - override func setSelected(_ selected: Bool, animated: Bool) { - super.setSelected(selected, animated: animated) - // Configure the view for the selected state - } - - private func showData() { - guard let txn = self.txnDetails else { return } - - self.labelTitle.text = txn.title - self.labelValue.attributedText = txn.value - self.labelValue.textColor = txn.textColor - } -} diff --git a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactionDetailCell.xib b/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactionDetailCell.xib deleted file mode 100644 index 4a0ef32e2..000000000 --- a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactionDetailCell.xib +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - SourceSansPro-Regular - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactiontInputDetails.swift b/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactiontInputDetails.swift deleted file mode 100644 index ce970ca4f..000000000 --- a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactiontInputDetails.swift +++ /dev/null @@ -1,103 +0,0 @@ -// TransactiontInputDetails.swift -// Decred Wallet -// -// Copyright (c) 2018-2019 The Decred developers -// Use of this source code is governed by an ISC -// license that can be found in the LICENSE file. -import UIKit - -class TransactiontInputDetails: UITableViewCell { - - @IBOutlet weak var viewCotainer: UIView! - @IBOutlet weak var debitsStack: UIStackView! - @IBOutlet weak var alcDebitStackHeight: NSLayoutConstraint! - - var expandOrCollapse: (() -> Void)? - - var presentingController: TransactionFullDetailsViewController! - - func setup(with debits:[Debit], decodedInputs: [DecodedInput], presentingController: TransactionFullDetailsViewController){ - debitsStack.subviews.forEach({ $0.removeFromSuperview() }) // this stack view comes with previous items when this function is called again - self.presentingController = presentingController - - var walletInputIndices = [Int]() - - for (_, debit) in debits.enumerated() { - - walletInputIndices.append(Int(debit.Index)) - - let decodedInput = decodedInputs[Int(debit.Index)] - - var hash = decodedInput.PreviousTransactionHash - if hash == "0000000000000000000000000000000000000000000000000000000000000000" { - hash = "Stakebase: 0000" - } - hash = "\(hash):\(decodedInput.PreviousTransactionIndex)" - - let amount = "\(debit.dcrAmount.round(8))" - let title = " (\(debit.AccountName))" - - self.addSubrow(with: amount, title: title, subTitle: hash) - } - - for (i, decodedInput) in decodedInputs.enumerated() { - - if walletInputIndices.contains(i) { - continue - } - - let amount = "\(decodedInput.dcrAmount.round(8))" - let title = " (external)" - - var hash = decodedInput.PreviousTransactionHash - if hash == "0000000000000000000000000000000000000000000000000000000000000000" { - hash = "Stakebase: 0000" - } - hash = "\(hash):\(decodedInput.PreviousTransactionIndex)" - - self.addSubrow(with: amount, title: title, subTitle: hash) - } - - // each debit row has an height of 45 - alcDebitStackHeight.constant = CGFloat(45 * debitsStack.arrangedSubviews.count) - } - - @IBAction func hideOrExpandAction(_ sender: UIButton) { - self.viewCotainer.isHidden = false - } - - private func addSubrow(with amount: String, title: String, subTitle: String) { - - let subrow = UIView(frame: CGRect(x:0.0, y:0.0, width: self.frame.size.width, height:45.0)) - let amountLabel = UILabel(frame: CGRect(x:5.0, y:1.0, width: self.frame.size.width, height: 22.0)) - let subTitleLabel = UIButton(frame: CGRect(x: 5.0, y: 23, width: self.frame.size.width, height: 22.0)) - - subTitleLabel.setTitleColor(#colorLiteral(red: 0.2470588235, green: 0.4941176471, blue: 0.8901960784, alpha: 1), for: .normal) - subTitleLabel.addTarget(self, action: #selector(buttonClicked), for: .touchUpInside) - subTitleLabel.set(fontSize: 15, name: "SourceSansPro-Regular") - amountLabel.textColor = #colorLiteral(red: 0.03529411765, green: 0.07843137255, blue: 0.2509803922, alpha: 1) - amountLabel.font = UIFont(name: "Inconsolata-Regular", size: 16) - subTitleLabel.contentHorizontalAlignment = .left - subrow.addSubview(amountLabel) - subrow.addSubview(subTitleLabel) - amountLabel.font = amountLabel.font.withSize(16) - let combine = NSMutableAttributedString() - combine.append(Utils.getAttributedString(str: amount, siz: 13, TexthexColor: GlobalConstants.Colors.TextAmount)) - combine.append(NSMutableAttributedString(string: title)) - amountLabel.attributedText = combine - subTitleLabel.setTitle(subTitle, for: .normal) - - debitsStack.addArrangedSubview(subrow) - } - - @objc func buttonClicked(sender : UIButton){ - DispatchQueue.main.async { - //Copy a string to the pasteboard. - UIPasteboard.general.string = sender.titleLabel?.text - //Alert - let alertController = UIAlertController(title: "", message: "Previous outpoint copied!", preferredStyle: UIAlertController.Style.alert) - alertController.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler: nil)) - self.presentingController.present(alertController, animated: true, completion: nil) - } - } -} diff --git a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactiontInputDetails.xib b/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactiontInputDetails.xib deleted file mode 100644 index fd4cafedf..000000000 --- a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactiontInputDetails.xib +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - SourceSansPro-SemiBold - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.swift b/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.swift deleted file mode 100644 index 04193c073..000000000 --- a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.swift +++ /dev/null @@ -1,104 +0,0 @@ -// TransactiontOutputDetailsTableViewCell.swift -// Decred Wallet - -// Copyright (c) 2018-2019 The Decred developers -// Use of this source code is governed by an ISC -// license that can be found in the LICENSE file. -import UIKit - -class TransactiontOutputDetailsCell: UITableViewCell { - - @IBOutlet private weak var viewContainer: UIView! - @IBOutlet weak var creditsStack: UIStackView! - @IBOutlet weak var alcCreditStackHeight: NSLayoutConstraint! - - var expandOrCollapse: (() -> Void)? - - var presentingController: TransactionFullDetailsViewController! - - func setup(with credits:[Credit], decodedOutputs: [DecodedOutput], presentingController: TransactionFullDetailsViewController){ - creditsStack.subviews.forEach({ $0.removeFromSuperview() }) // this stack view comes with previous items when this function is called again - self.presentingController = presentingController - - var walletOutputIndices = [Int]() - - let wallet = SingleInstance.shared.wallet - - for (_, credit) in credits.enumerated() { - walletOutputIndices.append(Int(credit.Index)) - - let amount = Utils.getAttributedString(str: "\(credit.dcrAmount.round(8))", siz: 13, TexthexColor: GlobalConstants.Colors.TextAmount) - let title = " (\((wallet?.account(ofAddress: credit.Address))!))" - let address = credit.Address - - addSubrow(with: amount, title: title, subTitle: address) - } - - for(i, decodedOutput) in decodedOutputs.enumerated() { - if walletOutputIndices.contains(i) { - continue - } - - var address = decodedOutput.Addresses.count > 0 ? decodedOutput.Addresses[0] : "" - var amount = Utils.getAttributedString(str: "\(decodedOutput.dcrAmount.round(8))", siz: 13, TexthexColor: GlobalConstants.Colors.TextAmount) - var title = " (external)" - - switch(decodedOutput.ScriptType){ - case "nulldata": - amount = NSAttributedString(string: "[null data]") - address = "[script]" - title = "" - break - case "stakegen": - address = "[stakegen]" - break - default: - break - } - - addSubrow(with: amount, title: title, subTitle: address) - } - - // each debit row has an height of 45 - alcCreditStackHeight.constant = CGFloat(45 * creditsStack.arrangedSubviews.count) - } - - @IBAction func hideOrExpandAction(_ sender: UIButton) { - self.viewContainer.isHidden = false - } - - private func addSubrow(with amount: NSAttributedString, title: String, subTitle: String){ - - let subrow = UIView(frame: CGRect(x:0.0, y:0.0, width: self.frame.size.width, height:45.0)) - let amountLabel = UILabel(frame: CGRect(x:5.0, y:1.0, width: self.frame.size.width, height: 22.0)) - let subTitleLabel = UIButton(frame: CGRect(x: 5.0, y: 23, width: self.frame.size.width, height: 22.0)) - - subTitleLabel.setTitleColor(#colorLiteral(red: 0.2470588235, green: 0.4941176471, blue: 0.8901960784, alpha: 1), for: .normal) - subTitleLabel.addTarget(self, action: #selector(buttonClicked), for: .touchUpInside) - subTitleLabel.set(fontSize: 15, name: "SourceSansPro-Regular") - amountLabel.textColor = #colorLiteral(red: 0.03529411765, green: 0.07843137255, blue: 0.2509803922, alpha: 1) - amountLabel.font = UIFont(name: "Inconsolata-Regular", size: 16) - subTitleLabel.contentHorizontalAlignment = .left - subrow.addSubview(amountLabel) - subrow.addSubview(subTitleLabel) - amountLabel.font = amountLabel.font.withSize(16) - let combine = NSMutableAttributedString() - combine.append(amount) - combine.append(NSMutableAttributedString(string: title)) - amountLabel.attributedText = combine - subTitleLabel.setTitle(subTitle, for: .normal) - - creditsStack.addArrangedSubview(subrow) - } - - @objc func buttonClicked(sender : UIButton){ - DispatchQueue.main.async { - //Copy a string to the pasteboard. - UIPasteboard.general.string = sender.titleLabel?.text - //Alert - let alertController = UIAlertController(title: "", message: "Address copied!", preferredStyle: UIAlertController.Style.alert) - alertController.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler: nil)) - self.presentingController.present(alertController, animated: true, completion: nil) - } - } -} diff --git a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.xib b/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.xib deleted file mode 100644 index 5535f68b8..000000000 --- a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.xib +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - SourceSansPro-SemiBold - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/TransactionFullDetailsViewController.storyboard b/decred_wallet/OverviewViewController.swift/TransactionFullDetails/TransactionFullDetailsViewController.storyboard deleted file mode 100644 index d3db57b9d..000000000 --- a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/TransactionFullDetailsViewController.storyboard +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/TransactionFullDetailsViewController.swift b/decred_wallet/OverviewViewController.swift/TransactionFullDetails/TransactionFullDetailsViewController.swift deleted file mode 100644 index 7872d23f2..000000000 --- a/decred_wallet/OverviewViewController.swift/TransactionFullDetails/TransactionFullDetailsViewController.swift +++ /dev/null @@ -1,327 +0,0 @@ -// TransactionFullDetailsViewController.swift -// Decred Wallet -// -// Copyright (c) 2018-2019 The Decred developers -// Use of this source code is governed by an ISC -// license that can be found in the LICENSE file. -import UIKit -import JGProgressHUD -import SafariServices - -class TransactionFullDetailsViewController: UIViewController, UITableViewDataSource, UITableViewDelegate,SFSafariViewControllerDelegate { - - @IBOutlet private weak var tableTransactionDetails: UITableView! - @IBOutlet weak var tableView: UITableView! - @IBOutlet var detailsHeader: UIView! - @IBOutlet weak var amount: UILabel! - - private var barButton: UIBarButtonItem? - - var transactionHash: String? - var account : String? - var txstatus: String? - - var progressHud : JGProgressHUD? - var details: [TransactionDetails] = [] - var transaction: Transaction! - var decodedTransaction: DecodedTransaction! - - override func viewDidLoad() { - super.viewDidLoad() - - tableTransactionDetails - .hideEmptyAndExtraRows() - .autoResizeCell(estimatedHeight: 60.0) - .registerCellNib(TransactiontInputDetails.self) - - tableTransactionDetails.registerCellNib(TransactionDetailCell.self) - tableTransactionDetails.registerCellNib(TransactiontOutputDetailsCell.self) - tableTransactionDetails.registerCellNib(TransactiontInputDetails.self) - - self.removeNavigationBarItem() - self.slideMenuController()?.removeLeftGestures() - self.navigationItem.title = "Transaction Details" - self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "left-arrow"), style: .done, target: self, action: #selector(backk)) - } - - @objc func backk(){ - self.navigationController?.popViewController(animated: true) - } - - override func viewWillAppear(_ animated: Bool) { - - self.navigationItem.title = "Transaction Details" - self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "left-arrow"), style: .done, target: self, action: #selector(backk)) - - let optionsMenuButton = UIButton(type: .custom) - optionsMenuButton.setImage(UIImage(named: "right-menu"), for: .normal) - optionsMenuButton.addTarget(self, action: #selector(showMenu), for: .touchUpInside) - optionsMenuButton.frame = CGRect(x: 0, y: 0, width: 10, height: 51) - barButton = UIBarButtonItem(customView: optionsMenuButton) - self.navigationItem.rightBarButtonItems = [barButton!] - - do { - if let data = Data(fromHexEncodedString: self.transaction.Hash) { - var decodeTxError: NSError? - let decodedTxJson = SingleInstance.shared.wallet?.decodeTransaction(data, error: &decodeTxError) - if decodeTxError != nil { - throw decodeTxError! - } - - self.decodedTransaction = try JSONDecoder().decode(DecodedTransaction.self, from: (decodedTxJson?.data(using: .utf8))!) - } else { - print("invalid hex string") - } - } catch let error { - print(error) - } - - wrap(transaction: self.transaction) - } - - @objc func showMenu(sender: UIBarButtonItem){ - let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet) - - let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler: nil) - - let copyTxHash = UIAlertAction(title: "Copy transaction hash", style: .default, handler: { (alert: UIAlertAction!) -> Void in - self.copyText(text: self.transaction.Hash) - }) - - let copyRawTx = UIAlertAction(title: "Copy raw transaction", style: .default, handler: { (alert: UIAlertAction!) -> Void in - self.copyText(text: self.transaction.Raw) - }) - - let viewOnDcrdata = UIAlertAction(title: "View on dcrdata", style: .default, handler: { (alert: UIAlertAction!) -> Void in - self.openLink(urlString: "https://testnet.dcrdata.org/tx/\(self.transaction.Hash)") - }) - - alertController.addAction(cancelAction) - alertController.addAction(copyTxHash) - alertController.addAction(copyRawTx) - alertController.addAction(viewOnDcrdata) - - if let popoverPresentationController = alertController.popoverPresentationController { - popoverPresentationController.barButtonItem = barButton - } - - self.present(alertController, animated: true, completion: nil) - - } - - func numberOfSections(in tableView: UITableView) -> Int { - return 3 - } - - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return (section == 0 ? details.count : 1) - } - - func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { - return 0.5 - } - - func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { - - let headerView = UIView.init(frame: CGRect.zero) - headerView.backgroundColor = #colorLiteral(red: 0.8039215803, green: 0.8039215803, blue: 0.8039215803, alpha: 1) - headerView.frame.size.height = 0 - - return headerView - } - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - switch indexPath.section { - case 0: - - let cell = tableView.dequeueReusableCell(withIdentifier: "TransactionDetailCell") as! TransactionDetailCell - let data = details[indexPath.row] - cell.txnDetails = data - - return cell - case 1: - - let cell = tableView.dequeueReusableCell(withIdentifier: "TransactiontInputDetails") as! TransactiontInputDetails - cell.setup(with: transaction.Debits, decodedInputs: decodedTransaction.Inputs, presentingController: self) - cell.expandOrCollapse = { [weak self] in - self?.tableTransactionDetails.reloadData() - } - - return cell - case 2: - - let cell = tableView.dequeueReusableCell(withIdentifier: "TransactiontOutputDetailsCell") as! TransactiontOutputDetailsCell - cell.setup(with: transaction.Credits, decodedOutputs: decodedTransaction.Outputs, presentingController: self) - cell.expandOrCollapse = { [weak self] in - self?.tableTransactionDetails.reloadData() - } - - return cell - default: - return UITableViewCell() - } - } - - func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - switch indexPath.section{ - case 0: - - if indexPath.row == 6 { - copyText(text: transaction.Hash) - } - - default: - return - } - } - - private func copyText(text: String){ - DispatchQueue.main.async { - //Copy a string to the pasteboard. - UIPasteboard.general.string = text - - //Alert - let alertController = UIAlertController(title: "", message: "Copied", preferredStyle: UIAlertController.Style.alert) - alertController.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler: nil)) - self.present(alertController, animated: true, completion: nil) - } - } - - override func viewDidDisappear(_ animated: Bool) { - super.viewDidDisappear(animated) - progressHud?.dismiss() - self.dismiss(animated: true, completion: nil) - } - - fileprivate func wrap(transaction:Transaction?){ - - var confirmations: Int32 = 0 - var status = "Pending" - let textColor: UIColor? - - if(transaction!.Height != -1){ - confirmations = (SingleInstance.shared.wallet?.getBestBlock())! - Int32(transaction!.Height) - confirmations += 1 - } - - let height = transaction?.Height - if (height == -1) { - status = "Pending" - textColor = #colorLiteral(red: 0.2392156863, green: 0.3960784314, blue: 0.6117647059, alpha: 1) - } else { - if(UserDefaults.standard.bool(forKey: "pref_spend_fund_switch") || confirmations > 1) { - status = "Confirmed" - textColor = #colorLiteral(red: 0.2549019608, green: 0.7490196078, blue: 0.3254901961, alpha: 1) - } else { - status = "Pending" - textColor = #colorLiteral(red: 0.2392156863, green: 0.3960784314, blue: 0.6117647059, alpha: 1) - } - } - - let amount = Decimal(Double((transaction?.Amount)!) / 1e8) as NSDecimalNumber - let fee = Decimal(Double((transaction?.Fee)!) / 1e8) as NSDecimalNumber - - var txType: String - if transaction?.Type.lowercased() == "ticket_purchase" { - txType = "Ticket Purchase" - }else{ - let first = String((transaction?.Type.prefix(1))!).capitalized - let other = String((transaction?.Type.dropFirst())!).lowercased() - print("First: \(first) Other: \(other)") - txType = first + other - } - - details = [ - TransactionDetails( - title: "Date", - value: NSMutableAttributedString(string: "\(format(timestamp: transaction?.Timestamp))"), - textColor: nil - ), - TransactionDetails( - title: "Status", - value: NSMutableAttributedString(string:status), - textColor: textColor - ), - TransactionDetails( - title: "Amount", - value: Utils.getAttributedString(str: "\(amount.round(8))", siz: 13, TexthexColor: GlobalConstants.Colors.TextAmount), - textColor: nil - ), - TransactionDetails( - title: "Fee", - value: Utils.getAttributedString(str: "\(fee.round(8))", siz: 13, TexthexColor: GlobalConstants.Colors.TextAmount), - textColor: nil - ), - TransactionDetails( - title: "Type", - value: NSMutableAttributedString(string: "\(txType)"), - textColor: nil - ), - TransactionDetails( - title: "Confirmation", - value: NSMutableAttributedString(string:"\(confirmations)"), - textColor: nil - ), - TransactionDetails( - title: "Hash", - value: NSMutableAttributedString(string:(transaction?.Hash)!), - textColor: #colorLiteral(red: 0.1607843137, green: 0.4392156863, blue: 1, alpha: 1) - ) - ] - - if(transaction?.Type.lowercased() == "vote"){ - - let lastBlockValid = TransactionDetails( - title: "Last Block Valid", - value: NSMutableAttributedString(string: String(describing: (decodedTransaction?.LastBlockValid.string)!)), - textColor: nil - ) - details.append(lastBlockValid) - - let voteVersion = TransactionDetails( - title: "Version", - value: NSAttributedString(string: String(describing: (decodedTransaction?.VoteVersion)!)), - textColor: nil - ) - details.append(voteVersion) - - let voteBits = TransactionDetails( - title: "Vote Bits", - value: NSAttributedString(string: String(describing: (decodedTransaction?.VoteBits)!)), - textColor: nil - ) - details.append(voteBits) - } - } - - func openLink(urlString: String) { - if let url = URL(string: urlString) { - let viewController = SFSafariViewController(url: url, entersReaderIfAvailable: true) - viewController.delegate = self as SFSafariViewControllerDelegate - self.navigationController?.pushViewController(viewController, animated: true) - } - } - - fileprivate func format(timestamp:UInt64?) -> String { - let formatter = DateFormatter() - formatter.dateFormat = "MMM dd, yyyy / hh:mm:ss a" - let date = Date(timeIntervalSince1970: Double(timestamp!)) - return formatter.string(from: date) - } -} - -extension String { - - func base64Encoded() -> String? { - return data(using: .utf8)?.base64EncodedString() - } - - func base64Decoded() -> String? { - var st = self; - if (self.count % 4 <= 2){ - st += String(repeating: "=", count: (self.count % 4)) - } - guard let data = Data(base64Encoded: st) else { return nil } - return String(data: data, encoding: .utf8) - } -} diff --git a/decred_wallet/OverviewViewController.swift/WalletLogViewController.swift b/decred_wallet/OverviewViewController.swift/WalletLogViewController.swift deleted file mode 100644 index 7c4396561..000000000 --- a/decred_wallet/OverviewViewController.swift/WalletLogViewController.swift +++ /dev/null @@ -1,34 +0,0 @@ -// -// WalletLogViewController.swift -// Decred Wallet -// -// Copyright (c) 2018-2019 The Decred developers -// Use of this source code is governed by an ISC -// license that can be found in the LICENSE file. - -import UIKit -import os - -class WalletLogViewController: UIViewController { - - @IBOutlet weak var logTextView: UITextView! - - override func viewDidLoad() { - super.viewDidLoad() - self.navigationItem.title = "Wallet Log" - load() - } - - fileprivate func load(){ - let netType = Utils.infoForKey(GlobalConstants.Strings.NetType)! - let logPath = NSHomeDirectory()+"/Documents/dcrlibwallet/logs/\(netType)/dcrlibwallet.log" - let logContent = try? String(contentsOf: URL(fileURLWithPath: logPath)) - let aLogs = logContent?.split(separator: "\n") - var cutOffLogFlow = aLogs?.suffix(from: 0) - if (aLogs?.count)! > 500 { - cutOffLogFlow = aLogs?.suffix(from: (aLogs?.count)! - 500) - } - - logTextView.text = cutOffLogFlow?.joined(separator: ";\n") - } -} diff --git a/decred_wallet/OverviewViewController.swift/certificateViewController.swift b/decred_wallet/OverviewViewController.swift/certificateViewController.swift deleted file mode 100644 index b84e91ce0..000000000 --- a/decred_wallet/OverviewViewController.swift/certificateViewController.swift +++ /dev/null @@ -1,55 +0,0 @@ -// -// certificateViewController.swift -// Decred Wallet -// -// Copyright (c) 2018-2019 The Decred developers -// Use of this source code is governed by an ISC -// license that can be found in the LICENSE file. - -import UIKit - -class certificateViewController: UIViewController { - - @IBOutlet weak var certificate: UITextView! - override func viewDidLoad() { - super.viewDidLoad() - self.navigationItem.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: .cancel, target: self, action: #selector(cancel)) - self.navigationItem.title = "Certificate" - self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .save, target: self, action: #selector(save)) - // Do any additional setup after loading the view. - - loadCert() - } - - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - - @objc func save() -> Void { - // save here - guard certificate.text.length > 0 else { return } - - Utils.saveCertificate(secretKey: self.certificate.text) - self.navigationController?.popViewController(animated: true) - } - - @objc func cancel() -> Void { - self.navigationController?.popViewController(animated: true) - } - - func loadCert(){ - guard let cerContent = try? Utils.loadCertificate() else { return } - self.certificate.text = cerContent - } - - /* - // MARK: - Navigation - - // In a storyboard-based application, you will often want to do a little preparation before navigation - override func prepare(for segue: UIStoryboardSegue, sender: Any?) { - // Get the new view controller using segue.destinationViewController. - // Pass the selected object to the new view controller. - } - */ -} diff --git a/decred_wallet/Storage/Entities.swift b/decred_wallet/Storage/Entities.swift deleted file mode 100644 index c15ace439..000000000 --- a/decred_wallet/Storage/Entities.swift +++ /dev/null @@ -1,16 +0,0 @@ -// -// Entities.swift -// Decred Wallet -// -// Copyright (c) 2018, The Decred developers -// See LICENSE for details. -// - -import Foundation -import RealmSwift - -class WalletEntity : Object { - @objc dynamic var id = "" - @objc dynamic var seed = "" -} - diff --git a/decred_wallet/Storage/StorageProtocols.swift b/decred_wallet/Storage/StorageProtocols.swift deleted file mode 100644 index 6b1e7c4e3..000000000 --- a/decred_wallet/Storage/StorageProtocols.swift +++ /dev/null @@ -1,33 +0,0 @@ -// -// StorageProtocols.swift -// Decred Wallet -// -// Copyright (c) 2018, The Decred developers -// See LICENSE for details. -// - -import Foundation -import RealmSwift - - -protocol StorageBaseProtocol { - var realm : Realm? { get } -} - -extension StorageBaseProtocol{ - var realm : Realm? { get{ return try! Realm() } } -} - -protocol StorageWalletProtocol { - func isWalletCreated() -> Bool -} - -extension StorageWalletProtocol { - func isWalletCreated() -> Bool { - return false - } -} - -protocol StorageProtocol: StorageBaseProtocol, StorageWalletProtocol {} - -class Storage : StorageProtocol {} diff --git a/decred_wallet/SubContentsViewController.storyboard b/decred_wallet/SubContentsViewController.storyboard deleted file mode 100644 index 8bc9a2567..000000000 --- a/decred_wallet/SubContentsViewController.storyboard +++ /dev/null @@ -1,4 +0,0 @@ - - - - 0 { - suggestionLabel1?.text = newValue[0] - }else{ - suggestionLabel1?.text = "" - } - if newValue.count > 1{ - suggestionLabel2?.text = newValue[1] - }else{ - suggestionLabel2?.text = "" - } - if newValue.count > 2{ - suggestionLabel3?.text = newValue[2] - }else{ - suggestionLabel3?.text = "" - } - suggestionWords = newValue - } - get{ - return suggestionWords - } - } - - override func viewDidLoad() { - super.viewDidLoad() - tableView?.dataSource = self - allWords = loadSeedWordsList() - } - - @IBAction func onConfirm(_ sender: Any) { - checkupSeed() - } - - @IBAction func onClear(_ sender: Any) { - seedWords = [] - currentSeedIndex = 0 - tableView?.reloadData() - tableView?.scrollToRow(at: IndexPath(row: currentSeedIndex, section: 0), at: .bottom, animated: true) - } - - func onCommitSeedWord(text:String) { - seedWords.append(text) - textFields[currentSeedIndex]?.text = text - currentSeedIndex += 1 - tableView?.reloadData() - if currentSeedIndex < 33{ - //tableView?.scrollToRow(at: IndexPath(row: currentSeedIndex, section: 0), at: .bottom, animated: true) - } - } - - // MARK: - Table view data source - - func numberOfSections(in tableView: UITableView) -> Int { - return 1 - } - - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return 33 - } - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell = tableView.dequeueReusableCell(withIdentifier: "confirmSeedCell", for: indexPath) as? ConfirmSeedViewCell - cell?.setup(wordNum: indexPath.row, word: seedWords.count <= indexPath.row ? "" : seedWords[indexPath.row] ?? "", seed: self.seedToVerify) - cell?.tfSeedWord.isEnabled = (indexPath.row == 0 || textFields.count < indexPath.row ) - if indexPath.row > textFields.count{ - textFields[indexPath.row] = cell?.tfSeedWord - }else{ - textFields.append(cell?.tfSeedWord) - } - - return cell! - } - - - func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - currentSeedIndex = indexPath.row - performSegue(withIdentifier: "showSuggestionsPopover", sender: indexPath) - } - - - private func checkupSeed(){ - let seed = seedWords.reduce("", { x, y in x + " " + y!}) - let flag = SingleInstance.shared.wallet?.verifySeed(seed) - if flag! { - self.performSegue(withIdentifier: "createPasswordSegue", sender: nil) - } - } - - - - private func loadSeedWordsList() -> [String]{ - let seedWordsPath = Bundle.main.path(forResource: "wordlist", ofType: "txt") - let seedWords = try? String(contentsOfFile: seedWordsPath ?? "") - return seedWords?.split{$0 == "\n"}.map(String.init) ?? [] - } - - override func prepare(for segue: UIStoryboardSegue, sender: Any?) { - if segue.identifier == "showSuggestionsPopover" { - let popup = segue.destination as? SeedSuggestionsViewController - popup?.suggestions = prepareSuggestions(for: (sender as! IndexPath).row) - popup?.onSuggestionPicked = {(text) in - self.onCommitSeedWord(text: text) - } - } - } - - private func prepareSuggestions(for row:Int) -> [String]{ - var suggestionsWithFake: [String] = ["","",""] - let trueSeedIndex = Int.random(in: 0...2) - let trueSeed = seedToVerify[currentSeedIndex] - suggestionsWithFake[trueSeedIndex] = trueSeed - let fakeWordsSet = allWords?.filter({ - return ($0.lowercased().hasPrefix((String(trueSeed.first!)).lowercased())) - }) - let fakes = [fakeWordsSet?[Int.random(in: 0...(fakeWordsSet?.count)!-1)], fakeWordsSet?[Int.random(in: 0...(fakeWordsSet?.count)!-1)]] - var fakeIndex = 0 - for i in 0...2 { - if i != trueSeedIndex { - suggestionsWithFake[i] = fakes[fakeIndex]! - fakeIndex += 1 - } - } - return suggestionsWithFake - } -} diff --git a/decred_wallet/view_controller/HelpViewController.swift b/decred_wallet/view_controller/HelpViewController.swift index a8c27adee..cce43bc91 100644 --- a/decred_wallet/view_controller/HelpViewController.swift +++ b/decred_wallet/view_controller/HelpViewController.swift @@ -33,7 +33,12 @@ class HelpViewController: UIViewController,SFSafariViewControllerDelegate { func openLink(urlString: String) { if let url = URL(string: urlString) { - let viewController = SFSafariViewController(url: url, entersReaderIfAvailable: true) + var viewController: SFSafariViewController + if #available(iOS 11.0, *) { + viewController = SFSafariViewController(url: url) + } else { + viewController = SFSafariViewController(url: url, entersReaderIfAvailable: true) + } viewController.delegate = self as SFSafariViewControllerDelegate self.present(viewController, animated: true) diff --git a/decred_wallet/view_controller/RecoverWalletSeedSuggestionsViewController.swift b/decred_wallet/view_controller/RecoverWalletSeedSuggestionsViewController.swift deleted file mode 100644 index d3184d5c6..000000000 --- a/decred_wallet/view_controller/RecoverWalletSeedSuggestionsViewController.swift +++ /dev/null @@ -1,56 +0,0 @@ -// -// RecoverWalletSeedSuggestionsViewController.swift -// Decred Wallet -// Copyright © 2018 The Decred developers. -// see LICENSE for details. -// - -import UIKit -//obsolete -class RecoverWalletSeedSuggestionsViewController: UIViewController, UITabBarDelegate { - var popupVerticalPosition : Int = 0 - var suggestions : [String] = [] - - @IBOutlet weak var popupTabBar: UITabBar! - @IBOutlet weak var suggestion1: UITabBarItem! - @IBOutlet weak var suggestion2: UITabBarItem! - @IBOutlet weak var suggestion3: UITabBarItem! - @IBOutlet weak var verticalSpacing: NSLayoutConstraint! - var onSuggestionPick:((String)->Void)? - - @IBAction func onMisTap(_ sender: Any) { - dismiss(animated: false, completion: nil) - } - - override func viewDidLoad() { - super.viewDidLoad() - popupTabBar.delegate = self - suggestion1.setTitleTextAttributes([ - .font: UIFont(name: "Source Sans Pro", size: 16)!, - .foregroundColor: #colorLiteral(red: 0.4196078431, green: 0.737254902, blue: 1, alpha: 1)], for: .normal) - suggestion2.setTitleTextAttributes([ - .font: UIFont(name: "Source Sans Pro", size: 16)!, - .foregroundColor: #colorLiteral(red: 0.4196078431, green: 0.737254902, blue: 1, alpha: 1)], for: .normal) - suggestion3.setTitleTextAttributes([ - .font: UIFont(name: "Source Sans Pro", size: 16)!, - .foregroundColor: #colorLiteral(red: 0.4196078431, green: 0.737254902, blue: 1, alpha: 1)], for: .normal) - } - - override func viewWillAppear(_ animated: Bool) { - verticalSpacing.constant = CGFloat(popupVerticalPosition) - - if suggestions.count > 0{ - suggestion1.title = suggestions[0] - } - if suggestions.count > 1{ - suggestion2.title = suggestions[1] - } - if suggestions.count > 2{ - suggestion3.title = suggestions[2] - } - } - - func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) { - onSuggestionPick?(item.title!) - } -} diff --git a/decred_wallet/view_controller/RecoverWalletViewController.swift b/decred_wallet/view_controller/RecoverWalletViewController.swift deleted file mode 100644 index b92573b3a..000000000 --- a/decred_wallet/view_controller/RecoverWalletViewController.swift +++ /dev/null @@ -1,208 +0,0 @@ -// RecoverWalletViewController.swift -// Decred Wallet -// -// Created by rails on 18/05/18. -// Copyright © 2018 The Decred developers. All rights reserved. -// - -import UIKit -import Mobilewallet - -class RecoverWalletViewController: UIViewController { - @IBOutlet var txSeedCheckCombined: UITextView! - @IBOutlet var tfSeedCheckWord: DropDownSearchField! - @IBOutlet var txtInputView: UIView! - @IBOutlet var btnConfirm: UIButton! - @IBOutlet var btnDelete: UIButton! - @IBOutlet var btnClear: UIButton! - @IBOutlet var txtFieldContainer: UIView! - - var arrSeed = Array() - var seedWords: String! = "" - let seedtmp = "reform aftermath printer warranty gremlin paragraph beehive stethoscope regain disruptive regain Bradbury chisel October trouble forever Algol applicant island infancy physique paragraph woodlark hydraulic snapshot backwater ratchet surrender revenge customer retouch intention minnow" - var recognizer:UIGestureRecognizer? - - override func viewDidLoad() { - super.viewDidLoad() - addAccessory() - self.btnConfirm.isEnabled = true - txSeedCheckCombined!.text = "" - recognizer = UILongPressGestureRecognizer(target: self, action: #selector(longPressHappened)) - self.btnConfirm.addGestureRecognizer(recognizer!) - addSearchWords() - tfSeedCheckWord.searchResult?.onSelect = { [weak self] _, item in - guard let this = self else { return } - this.txSeedCheckCombined.text.append("\(item) ") - this.tfSeedCheckWord.clean() - let count = this.txSeedCheckCombined!.text!.components(separatedBy: " ").count - this.btnConfirm.isEnabled = count >= 25 - this.arrSeed.append(item) - } - - } - - override func viewDidAppear(_ animated: Bool) { - super.viewDidAppear(animated) - tfSeedCheckWord.becomeFirstResponder() - count = 0 - } - - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - var count = 0 - @objc func longPressHappened(){ - view.endEditing(true) - print("button pressed long tap") - count = count + 1 - if count == 1{ - self.btnConfirm.isEnabled = false - txSeedCheckCombined.text = seedtmp - let flag = SingleInstance.shared.wallet?.verifySeed(txSeedCheckCombined.text) - if flag! { - performSegue(withIdentifier: "createPassword", sender: nil) - return - } else { - showError(error: "Seed was not verifed!") - } - } - - } - - func addSearchWords() { - let bundle = Bundle.main - let path = bundle.path(forResource: "wordlist", ofType: "txt") - var list = [String]() - do { - let text2 = try String(contentsOf: URL(fileURLWithPath: path!)) - list = text2.components(separatedBy: "\n") - - print(list) - } catch { /* error handling here */ } - tfSeedCheckWord.itemsToSearch = list - tfSeedCheckWord.dropDownListPlaceholder = view - tfSeedCheckWord.searchResult?.onSelect = { _, item in - self.verifyWord(word: item) - self.tfSeedCheckWord.clean() - } - } - - // MARK: - Action Methods - - @IBAction func backAction(_ sender: UIButton) { - navigationController?.popViewController(animated: true) - } - - @IBAction func btnConfirmSeed(_ sender: Any) { - view.endEditing(true) - print("button pressed tap") - let flag = SingleInstance.shared.wallet?.verifySeed(txSeedCheckCombined.text) - if flag! { - print("true") - performSegue(withIdentifier: "createPassword", sender: nil) - } else { - print("false") - showError(error: "Seed was not verifed!") - } - } - - @IBAction func testConfirm(_ sender: Any) { - - } - func verifyWord(word: String) { - if word.length > 0 { - arrSeed.append(word) - seedWords = arrSeed.joined(separator: " ") - txSeedCheckCombined.text = seedWords - tfSeedCheckWord.text = "" - btnClear.isHidden = false - } - } - - @IBAction func clearSeed(_ sender: Any) { - txSeedCheckCombined.text = "" - seedWords = "" - arrSeed.removeAll() - btnClear.isHidden = true - } - - @IBAction func deleteLastSeed(sender: UIButton) { - if arrSeed.count > 0 { - arrSeed.removeLast() - seedWords = arrSeed.joined(separator: " ") - txSeedCheckCombined.text = seedWords - } - btnClear.isHidden = (arrSeed.count == 0) - } - - override func prepare(for segue: UIStoryboardSegue, sender: Any?) { - if segue.identifier == "createPassword"{ - var seedcheck = segue.destination as? SeedCheckupProtocol - seedcheck?.seedToVerify = txSeedCheckCombined.text - - } - - } - // MARK: - Utility Methods - - func showError(error: String) { - let alert = UIAlertController(title: "Warning", message: error, preferredStyle: .alert) - let okAction = UIAlertAction(title: "OK", style: .default) { _ in - alert.dismiss(animated: true, completion: { self.navigationController?.popToRootViewController(animated: true) }) - } - alert.addAction(okAction) - present(alert, animated: true, completion: {}) - } - - - // Input views - func addAccessory() { - let customView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: 50)) - customView.addSubview(txtInputView) - customView.backgroundColor = UIColor.red - tfSeedCheckWord.inputAccessoryView = customView - - txtInputView.translatesAutoresizingMaskIntoConstraints = false - customView.translatesAutoresizingMaskIntoConstraints = false - btnConfirm.translatesAutoresizingMaskIntoConstraints = false - btnDelete.translatesAutoresizingMaskIntoConstraints = false - - // Input view constraints - NSLayoutConstraint.activate([ - txtInputView.leadingAnchor.constraint(equalTo: - customView.leadingAnchor, constant: 0), - txtInputView.topAnchor.constraint(equalTo: - customView.topAnchor, constant: 0), - txtInputView.trailingAnchor.constraint(equalTo: - customView.trailingAnchor, constant: 0), - txtInputView.bottomAnchor.constraint(equalTo: - customView.bottomAnchor, constant: 0) - ]) - - // Button clear constraints - NSLayoutConstraint.activate([ - btnDelete.leadingAnchor.constraint(equalTo: - txtInputView.leadingAnchor, constant: 10), - btnDelete.heightAnchor.constraint(equalToConstant: 35), - btnDelete.widthAnchor.constraint(equalToConstant: 118), - btnDelete.topAnchor.constraint(equalTo: - txtInputView.topAnchor, constant: 10) - ]) - - // Button confirm constraints - NSLayoutConstraint.activate([ - btnConfirm.rightAnchor.constraint(equalTo: - txtInputView.rightAnchor, constant: -10), - btnConfirm.heightAnchor.constraint(equalToConstant: 35), - btnConfirm.widthAnchor.constraint(equalToConstant: 118), - btnConfirm.topAnchor.constraint(equalTo: - txtInputView.topAnchor, constant: 10) - ]) - } - - func enableButton() { - btnConfirm.isEnabled = true - btnConfirm.alpha = 1.0 - } -} diff --git a/decred_wallet/view_controller/SendViewController.swift b/decred_wallet/view_controller/SendViewController.swift index 70ec8cad3..33bd2c3da 100644 --- a/decred_wallet/view_controller/SendViewController.swift +++ b/decred_wallet/view_controller/SendViewController.swift @@ -518,7 +518,12 @@ class SendViewController: UIViewController, UITextFieldDelegate,UITextPasteDeleg func openLink(urlString: String) { if let url = URL(string: urlString) { - let viewController = SFSafariViewController(url: url, entersReaderIfAvailable: true) + var viewController: SFSafariViewController + if #available(iOS 11.0, *) { + viewController = SFSafariViewController(url: url) + } else { + viewController = SFSafariViewController(url: url, entersReaderIfAvailable: true) + } viewController.delegate = self as? SFSafariViewControllerDelegate self.present(viewController, animated: true) diff --git a/decred_wallet/view_controller/TransactionFullDetails/Cells/RecoveryWalletSeedWordsCell.swift b/decred_wallet/view_controller/TransactionFullDetails/Cells/RecoveryWalletSeedWordsCell.swift deleted file mode 100644 index 47575dc97..000000000 --- a/decred_wallet/view_controller/TransactionFullDetails/Cells/RecoveryWalletSeedWordsCell.swift +++ /dev/null @@ -1,48 +0,0 @@ -// -// RecoveryWalletSeedWordsCell.swift -// Decred Wallet -// -// Copyright (c) 2018, The Decred developers -// See LICENSE for details. -// - -import UIKit - -class RecoveryWalletSeedWordsCell: UITableViewCell, UITextFieldDelegate { - - @IBOutlet weak var lbWordNum: UILabel! - @IBOutlet weak var tfSeedWord: DropDownSearchField! - - var seed:[String]? - var wordNum:Int = 0 - var onPickUpSeed:((Int, String)->Void)?{ - set{ - tfSeedWord.onSelect = newValue - } - get{ - return tfSeedWord.onSelect - } - } - - func setup(wordNum:Int, word: String?, seed:[String], placeholder: UIView){ - tfSeedWord.dropDownListPlaceholder = placeholder - lbWordNum.text = "Word #\(wordNum + 1)" - tfSeedWord.text = word ?? "" - self.seed = seed - self.wordNum = wordNum - tfSeedWord.autocorrectionType = .no - tfSeedWord.itemsToSearch = seed - tfSeedWord.vertPosition = self.frame.origin.y - tfSeedWord.setupDropdownTable() - } - - - func hideDropDown(){ - tfSeedWord.hideDropDown() - tfSeedWord.clean() - } - - func updatePlaceholder(vertPosition: Int){ - tfSeedWord.updatePlaceholder(position:vertPosition) - } -} diff --git a/decred_wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift b/decred_wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift index fcb029bb7..c3d17bcb8 100644 --- a/decred_wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift +++ b/decred_wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift @@ -296,7 +296,12 @@ class TransactionFullDetailsViewController: UIViewController, UITableViewDataSou func openLink(urlString: String) { if let url = URL(string: urlString) { - let viewController = SFSafariViewController(url: url, entersReaderIfAvailable: true) + var viewController: SFSafariViewController + if #available(iOS 11.0, *) { + viewController = SFSafariViewController(url: url) + } else { + viewController = SFSafariViewController(url: url, entersReaderIfAvailable: true) + } viewController.delegate = self as SFSafariViewControllerDelegate self.navigationController?.pushViewController(viewController, animated: true) } diff --git a/decred_wallet_tests/Decred_WalletTests.swift b/decred_wallet_tests/Decred_WalletTests.swift deleted file mode 100644 index 5d6346d47..000000000 --- a/decred_wallet_tests/Decred_WalletTests.swift +++ /dev/null @@ -1,35 +0,0 @@ -// -// Decred_WalletTests.swift -// Decred WalletTests -// -// Copyright (c) 2018-2019 The Decred developers -// Use of this source code is governed by an ISC -// license that can be found in the LICENSE file. -import XCTest -@testable import Decred_Wallet - -class Decred_WalletTests: XCTestCase { - - override func setUp() { - super.setUp() - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDown() { - // Put teardown code here. This method is called after the invocation of each test method in the class. - super.tearDown() - } - - func testExample() { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. - } - - func testPerformanceExample() { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } - -} diff --git a/decred_wallet_tests/Info.plist b/decred_wallet_tests/Info.plist deleted file mode 100644 index 6c40a6cd0..000000000 --- a/decred_wallet_tests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - From 0ee80c7ecd83736e696496ed1cc04f1a3b5c141e Mon Sep 17 00:00:00 2001 From: Wisdom Arerosuoghene Date: Fri, 17 May 2019 22:03:33 +0100 Subject: [PATCH 2/8] rename target --- .../project.pbxproj | 80 +++++++++--------- .../xcschemes/Decred Wallet Testnet.xcscheme | 27 ++---- .../xcschemes/Decred Wallet.xcscheme | 27 ++---- .../contents.xcworkspacedata | 2 +- .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../Accounts/AccountsData.swift | 0 .../AppDelegate.swift | 0 .../AppIcon.appiconset/1024.png | Bin .../AppIcon.appiconset/120.png | Bin .../AppIcon.appiconset/152.png | Bin .../AppIcon.appiconset/167.png | Bin .../AppIcon.appiconset/180.png | Bin .../Assets.xcassets/AppIcon.appiconset/20.png | Bin .../Assets.xcassets/AppIcon.appiconset/29.png | Bin .../Assets.xcassets/AppIcon.appiconset/40.png | Bin .../Assets.xcassets/AppIcon.appiconset/58.png | Bin .../Assets.xcassets/AppIcon.appiconset/60.png | Bin .../Assets.xcassets/AppIcon.appiconset/76.png | Bin .../Assets.xcassets/AppIcon.appiconset/80.png | Bin .../Assets.xcassets/AppIcon.appiconset/87.png | Bin .../AppIcon.appiconset/Contents.json | 0 .../AppIconTestnet.appiconset/1024.png | Bin .../AppIconTestnet.appiconset/120.png | Bin .../AppIconTestnet.appiconset/152.png | Bin .../AppIconTestnet.appiconset/167.png | Bin .../AppIconTestnet.appiconset/180.png | Bin .../AppIconTestnet.appiconset/20.png | Bin .../AppIconTestnet.appiconset/29.png | Bin .../AppIconTestnet.appiconset/40.png | Bin .../AppIconTestnet.appiconset/58.png | Bin .../AppIconTestnet.appiconset/60.png | Bin .../AppIconTestnet.appiconset/76.png | Bin .../AppIconTestnet.appiconset/80.png | Bin .../AppIconTestnet.appiconset/87.png | Bin .../AppIconTestnet.appiconset/Contents.json | 0 .../Assets.xcassets/Contents.json | 0 .../backspace.imageset/Contents.json | 0 .../backspace.imageset/backspace.png | Bin .../bg-button.imageset/Contents.json | 0 .../bg-button.imageset/bg-button-1.png | Bin .../bg-button.imageset/bg-button@3x.png | Bin .../create-wallet.imageset/Contents.json | 0 .../create-wallet.imageset/create.png | Bin .../create-wallet.imageset/create2.png | Bin .../create-wallet.imageset/create3.png | Bin .../dcr-logo-light.imageset/Contents.json | 0 .../dcr-logo-light.png | Bin .../decredWord.imageset/Contents.json | 0 .../decredWord.imageset/decred2.png | Bin .../decred_dark.imageset/Contents.json | 0 ...logo - primary - positive - 1 color@2x.png | Bin .../decred_image.imageset/Contents.json | 0 .../decred_image.imageset/dcr-logo.png | Bin .../decred_logo.imageset/Contents.json | 0 .../decred_logo.imageset/decred_logo.png | Bin .../ic_menu_black_24dp.imageset/Contents.json | 0 .../ic_menu_black_24dp.png | Bin .../Contents.json | 0 .../ic_notifications_black_24dp.png | Bin .../img-checkmark.imageset/Contents.json | 0 .../img-checkmark.imageset/img-checkmark.png | Bin .../img-send-funds.imageset/Contents.json | 0 .../img-send-funds.imageset/send-funds.png | Bin .../img-success.imageset/Contents.json | 0 .../img-success.imageset/img-success.png | Bin .../img-tx-sent.imageset/Contents.json | 0 .../img-tx-sent.imageset/img-tx-sent.png | Bin .../left-arrow.imageset/Contents.json | 0 .../left-arrow.imageset/left-arrow.png | Bin .../left-arrow.imageset/left-arrow@2x.png | Bin .../left-arrow.imageset/left-arrow@3x.png | Bin .../left.imageset/Contents.json | 0 .../Assets.xcassets/left.imageset/left.png | Bin .../Assets.xcassets/left.imageset/left@2x.png | Bin .../Assets.xcassets/left.imageset/left@3x.png | Bin .../logo-mainnet.imageset/Contents.json | 0 .../sidepanel-logo-mainnet.png | Bin .../logo-testnet.imageset/Contents.json | 0 .../sidepanel-logo-testnet.png | Bin .../Assets.xcassets/menu/Contents.json | 0 .../menu/Image.imageset/Contents.json | 0 .../menu/account.imageset/Contents.json | 0 .../menu/account.imageset/transferred.png | Bin .../menu/account.imageset/transferred1.png | Bin .../menu/account.imageset/transferred3.png | Bin .../menu/help.imageset/Contents.json | 0 .../menu/help.imageset/help.png | Bin .../menu/history.imageset/Contents.json | 0 .../menu/history.imageset/history.png | Bin .../menu/menu-account.imageset/Contents.json | 0 .../menu-account.imageset/transferred9.png | Bin .../menu-account.imageset/transferred92.png | Bin .../menu-account.imageset/transferred93.png | Bin .../menu/overview.imageset/Contents.json | 0 .../menu/overview.imageset/overviewicon3.png | Bin .../menu/receive.imageset/Contents.json | 0 .../menu/receive.imageset/receive-1.png | Bin .../menu/receive.imageset/receive-2.png | Bin .../menu/receive.imageset/receive-3.png | Bin .../menu/security.imageset/Contents.json | 0 .../security.imageset/securitymenuicon.png | Bin .../menu/send.imageset/Contents.json | 0 .../menu/send.imageset/send-1.png | Bin .../menu/send.imageset/send-2.png | Bin .../menu/send.imageset/send-3.png | Bin .../menu/settings.imageset/Contents.json | 0 .../menu/settings.imageset/settingsicon3.png | Bin .../qr_code_filled.imageset/Contents.json | 0 .../qr_code_filled.png | Bin .../qr_code_filled@2x.png | Bin .../qr_code_filled@3x.png | Bin .../recover-wallet.imageset/Contents.json | 0 .../recover-wallet.imageset/recover.png | Bin .../recover-wallet.imageset/recover2x.png | Bin .../recover-wallet.imageset/recover3x.png | Bin .../Assets.xcassets/util/Contents.json | 0 .../arrorup.imageset/Arrow drop down-1.png | Bin .../arrorup.imageset/Arrow drop down-2.png | Bin .../util/arrorup.imageset/Arrow drop down.png | Bin .../util/arrorup.imageset/Contents.json | 0 .../arrow-1.imageset/Arrow drop down-1.png | Bin .../arrow-1.imageset/Arrow drop down-2.png | Bin .../util/arrow-1.imageset/Arrow drop down.png | Bin .../util/arrow-1.imageset/Contents.json | 0 .../util/arrow.imageset/Arrow drop down-1.png | Bin .../util/arrow.imageset/Arrow drop down-2.png | Bin .../util/arrow.imageset/Arrow drop down.png | Bin .../util/arrow.imageset/Contents.json | 0 .../util/credit.imageset/Contents.json | 0 .../util/credit.imageset/receive-1.png | Bin .../util/credit.imageset/receive-2.png | Bin .../util/credit.imageset/receive-3.png | Bin .../util/debit.imageset/Contents.json | 0 .../util/debit.imageset/sent-1.png | Bin .../util/debit.imageset/sent-2.png | Bin .../util/debit.imageset/sent-3.png | Bin .../util/dropdown-icon.imageset/Contents.json | 0 .../dropdown-icon-1.png | Bin .../dropdown-icon-2.png | Bin .../dropdown-icon.imageset/dropdown-icon.png | Bin .../util/fee.imageset/Contents.json | 0 .../util/fee.imageset/fees-1.png | Bin .../util/helpIcon.imageset/Contents.json | 0 .../util/helpIcon.imageset/helpicon-1.png | Bin .../util/helpIcon.imageset/helpicon-2.png | Bin .../util/helpIcon.imageset/helpicon.png | Bin .../util/immature.imageset/Contents.json | 0 .../util/immature.imageset/unnamed-2.png | Bin .../util/live.imageset/Contents.json | 0 .../util/live.imageset/unnamed-3.png | Bin .../util/nav-accounts.imageset/Contents.json | 0 .../util/nav-accounts.imageset/accounts.png | Bin .../util/paste.imageset/Contents.json | 0 .../util/paste.imageset/paste2.png | Bin .../util/right-menu.imageset/Contents.json | 0 .../util/right-menu.imageset/menu1.png | Bin .../util/right-menu.imageset/menu2.png | Bin .../util/right-menu.imageset/menu3.png | Bin .../util/sync.imageset/Contents.json | 0 .../util/sync.imageset/sync-1.png | Bin .../util/sync.imageset/sync.png | Bin .../util/vote.imageset/Contents.json | 0 .../util/vote.imageset/unnamed.png | Bin .../util/warning.imageset/Contents.json | 0 .../util/warning.imageset/warning-1.png | Bin .../util/warning.imageset/warning.png | Bin .../Base.lproj/LaunchScreen.storyboard | 0 .../Base.lproj/Main.storyboard | 0 .../Constants/Constants.swift | 0 .../Constants/wordlist.txt | 0 .../Custom Views/Button.swift | 0 .../DcrdConnection/JsonEntities.swift | 0 .../DcrdConnection/ObserverProxy.h | 0 .../decred_wallet-Bridging-Header.h | 0 .../Extensions/Extensions.swift | 0 .../Extensions/String.swift | 0 .../Extensions/UIColor.swift | 0 .../Extensions/UIViewController.swift | 0 .../StartScreenViewController.swift | 0 .../TransactionHistoryViewController.swift | 0 .../TransactionHistoryViewController.xib | 0 .../History/TransactionTableViewCell.swift | 0 .../History/TransactionTableViewCell.xib | 0 .../Features/Navigation Menu/MenuItem.swift | 0 .../Navigation Menu/MenuItemCell.swift | 0 .../Features/Navigation Menu/MenuItemCell.xib | 0 .../Navigation Menu/NavigationMenu.storyboard | 0 .../NavigationMenuViewController.swift | 0 .../Features/Overview/Overview.storyboard | 0 .../Overview/OverviewViewController.swift | 0 .../Overview/SyncProgressViewController.swift | 0 .../PasswordSetupViewController.swift | 0 .../Features/Security/PinInputView.swift | 0 .../Security/PinPasswordStrength.swift | 0 .../RequestPasswordViewController.swift | 0 .../Security/RequestPinViewController.swift | 0 .../Features/Security/Security.storyboard | 0 .../Security/SecurityBaseViewController.swift | 0 .../Security/SecurityViewController.swift | 0 .../ConfirmNewWalletSeedViewController.swift | 0 .../CreateNewWalletViewController.swift | 0 .../RecoverExistingWalletViewController.swift | 0 .../Wallet Setup/WalletSetup.storyboard | 0 .../WalletSetupBaseViewController.swift | 0 .../WalletSetupViewController.swift | 0 .../Wallet Utils/SpendingPinOrPassword.swift | 0 .../Wallet Utils/StartupPinOrPassword.swift | 0 .../Wallet Utils/SyncDecodableDataTypes.swift | 0 .../Features/Wallet Utils/Syncer.swift | 0 .../TransactionNotification.swift | 0 .../Features/Wallet Utils/WalletLoader.swift | 0 .../Fonts/Inconsolata/inconsolata_regular.ttf | Bin .../Source_Sans_Pro/SourceSansPro-Black.ttf | Bin .../SourceSansPro-BlackItalic.ttf | Bin .../Source_Sans_Pro/SourceSansPro-Bold.ttf | Bin .../SourceSansPro-BoldItalic.ttf | Bin .../SourceSansPro-ExtraLight.ttf | Bin .../SourceSansPro-ExtraLightItalic.ttf | Bin .../Source_Sans_Pro/SourceSansPro-Italic.ttf | Bin .../Source_Sans_Pro/SourceSansPro-Light.ttf | Bin .../SourceSansPro-LightItalic.ttf | Bin .../Source_Sans_Pro/SourceSansPro-Regular.ttf | Bin .../SourceSansPro-SemiBold.ttf | Bin .../SourceSansPro-SemiBoldItalic.ttf | Bin .../ImageHeaderView.xib | 0 {decred_wallet => Decred Wallet}/Info.plist | 0 .../Resources/bg-button.png | Bin .../Resources/bg-button@3x.png | Bin .../Resources/dcr-logo.png | Bin .../Resources/progress bar-1s-200px.gif | Bin .../SecurityMenuViewController.swift | 0 .../SingleInstance.swift | 0 .../Storyboards.swift | 0 .../UIApplication.swift | 0 {decred_wallet => Decred Wallet}/Utils.swift | 0 .../AccountsHeaderView.swift | 0 .../AccountsHeaderView/AccountsHeaderView.xib | 0 .../extra_view/ContouredButton.swift | 0 .../extra_view/DropDownSearchField.swift | 0 .../extra_view/ImageHeaderView.swift | 0 .../extra_view/TextFieldDoneButton.swift | 0 .../extra_view/UIImageView.swift | 0 .../extra_view/UITableViewExtension.swift | 0 .../extra_view/UIView.swift | 0 .../mainnet.xcconfig | 0 .../splashLoader.gif | Bin .../splashLogo.gif | Bin .../table_view_cell/AccountDataCell.swift | 0 .../table_view_cell/AccountDataCell.xib | 0 .../table_view_cell/BaseTableViewCell.swift | 0 .../table_view_cell/ConfirmSeedViewCell.swift | 0 .../RecoveryWalletSeedWordCell.swift | 0 .../SeedCheckActiveCellView.swift | 0 .../SeedConfirmTableViewCell.swift | 0 .../TransactionHistoryTableViewCell.swift | 0 .../TransactionHistoryTableViewCell.xib | 0 .../testnet.xcconfig | 0 .../AccountViewController.swift | 0 .../AddAcountViewController.swift | 0 .../ConfirmToSendFundViewController.swift | 0 .../ConfirmToSendFundViewPINController.swift | 0 .../WifiConfirmationController.swift | 0 .../CurrencyOptionTableViewController.swift | 0 .../view_controller/HelpViewController.swift | 0 .../NetworkModeTableViewController.swift | 0 .../NodeLogViewController.swift | 0 .../PeerSetTableViewController.swift | 0 .../ReceiveViewController.swift | 0 .../SendCompletedViewController.storyboard | 0 .../SendCompletedViewController.swift | 0 .../view_controller/SendViewController.swift | 0 .../ServerSetTableViewController.swift | 0 .../view_controller/SettingsController.swift | 0 .../Cells/TransactionDetailCell.swift | 0 .../Cells/TransactionDetailCell.xib | 0 .../Cells/TransactiontInputDetails.swift | 0 .../Cells/TransactiontInputDetails.xib | 0 .../Cells/TransactiontOutputDetailsCell.swift | 0 .../Cells/TransactiontOutputDetailsCell.xib | 0 ...actionFullDetailsViewController.storyboard | 0 ...TransactionFullDetailsViewController.swift | 0 .../WalletLogViewController.swift | 0 .../certificateViewController.swift | 0 .../view_util/Data.swift | 0 .../view_util/DropMenuButton.swift | 0 .../view_util/UIIMage.swift | 0 .../view_util/customUImage.swift | 0 .../view_util/keyPadButton.swift | 0 Podfile | 3 +- Podfile.lock | 2 +- .../contents.xcworkspacedata | 7 -- 291 files changed, 62 insertions(+), 86 deletions(-) rename {decred_wallet.xcodeproj => Decred Wallet.xcodeproj}/project.pbxproj (96%) rename {decred_wallet.xcodeproj => Decred Wallet.xcodeproj}/xcshareddata/xcschemes/Decred Wallet Testnet.xcscheme (75%) rename {decred_wallet.xcodeproj => Decred Wallet.xcodeproj}/xcshareddata/xcschemes/Decred Wallet.xcscheme (75%) rename {decred_wallet.xcworkspace => Decred Wallet.xcworkspace}/contents.xcworkspacedata (78%) rename {decred_wallet.xcworkspace => Decred Wallet.xcworkspace}/xcshareddata/IDEWorkspaceChecks.plist (100%) rename {decred_wallet => Decred Wallet}/Accounts/AccountsData.swift (100%) rename {decred_wallet => Decred Wallet}/AppDelegate.swift (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIcon.appiconset/1024.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIcon.appiconset/120.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIcon.appiconset/152.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIcon.appiconset/167.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIcon.appiconset/180.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIcon.appiconset/20.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIcon.appiconset/29.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIcon.appiconset/40.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIcon.appiconset/58.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIcon.appiconset/60.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIcon.appiconset/76.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIcon.appiconset/80.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIcon.appiconset/87.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIconTestnet.appiconset/1024.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIconTestnet.appiconset/120.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIconTestnet.appiconset/152.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIconTestnet.appiconset/167.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIconTestnet.appiconset/180.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIconTestnet.appiconset/20.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIconTestnet.appiconset/29.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIconTestnet.appiconset/40.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIconTestnet.appiconset/58.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIconTestnet.appiconset/60.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIconTestnet.appiconset/76.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIconTestnet.appiconset/80.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIconTestnet.appiconset/87.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/AppIconTestnet.appiconset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/backspace.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/backspace.imageset/backspace.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/bg-button.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/bg-button.imageset/bg-button-1.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/bg-button.imageset/bg-button@3x.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/create-wallet.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/create-wallet.imageset/create.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/create-wallet.imageset/create2.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/create-wallet.imageset/create3.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/dcr-logo-light.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/dcr-logo-light.imageset/dcr-logo-light.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/decredWord.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/decredWord.imageset/decred2.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/decred_dark.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/decred_dark.imageset/decred - logo - primary - positive - 1 color@2x.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/decred_image.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/decred_image.imageset/dcr-logo.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/decred_logo.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/decred_logo.imageset/decred_logo.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/ic_menu_black_24dp.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/ic_menu_black_24dp.imageset/ic_menu_black_24dp.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/ic_notifications_black_24dp.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/ic_notifications_black_24dp.imageset/ic_notifications_black_24dp.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/img-checkmark.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/img-checkmark.imageset/img-checkmark.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/img-send-funds.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/img-send-funds.imageset/send-funds.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/img-success.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/img-success.imageset/img-success.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/img-tx-sent.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/img-tx-sent.imageset/img-tx-sent.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/left-arrow.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/left-arrow.imageset/left-arrow.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/left-arrow.imageset/left-arrow@2x.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/left-arrow.imageset/left-arrow@3x.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/left.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/left.imageset/left.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/left.imageset/left@2x.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/left.imageset/left@3x.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/logo-mainnet.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/logo-mainnet.imageset/sidepanel-logo-mainnet.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/logo-testnet.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/logo-testnet.imageset/sidepanel-logo-testnet.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/Image.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/account.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/account.imageset/transferred.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/account.imageset/transferred1.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/account.imageset/transferred3.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/help.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/help.imageset/help.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/history.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/history.imageset/history.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/menu-account.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/menu-account.imageset/transferred9.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/menu-account.imageset/transferred92.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/menu-account.imageset/transferred93.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/overview.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/overview.imageset/overviewicon3.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/receive.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/receive.imageset/receive-1.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/receive.imageset/receive-2.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/receive.imageset/receive-3.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/security.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/security.imageset/securitymenuicon.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/send.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/send.imageset/send-1.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/send.imageset/send-2.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/send.imageset/send-3.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/settings.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/menu/settings.imageset/settingsicon3.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/qr_code_filled.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/qr_code_filled.imageset/qr_code_filled.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/qr_code_filled.imageset/qr_code_filled@2x.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/qr_code_filled.imageset/qr_code_filled@3x.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/recover-wallet.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/recover-wallet.imageset/recover.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/recover-wallet.imageset/recover2x.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/recover-wallet.imageset/recover3x.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/arrorup.imageset/Arrow drop down-1.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/arrorup.imageset/Arrow drop down-2.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/arrorup.imageset/Arrow drop down.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/arrorup.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/arrow-1.imageset/Arrow drop down-1.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/arrow-1.imageset/Arrow drop down-2.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/arrow-1.imageset/Arrow drop down.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/arrow-1.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/arrow.imageset/Arrow drop down-1.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/arrow.imageset/Arrow drop down-2.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/arrow.imageset/Arrow drop down.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/arrow.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/credit.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/credit.imageset/receive-1.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/credit.imageset/receive-2.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/credit.imageset/receive-3.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/debit.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/debit.imageset/sent-1.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/debit.imageset/sent-2.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/debit.imageset/sent-3.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/dropdown-icon.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/dropdown-icon.imageset/dropdown-icon-1.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/dropdown-icon.imageset/dropdown-icon-2.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/dropdown-icon.imageset/dropdown-icon.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/fee.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/fee.imageset/fees-1.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/helpIcon.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/helpIcon.imageset/helpicon-1.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/helpIcon.imageset/helpicon-2.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/helpIcon.imageset/helpicon.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/immature.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/immature.imageset/unnamed-2.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/live.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/live.imageset/unnamed-3.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/nav-accounts.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/nav-accounts.imageset/accounts.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/paste.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/paste.imageset/paste2.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/right-menu.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/right-menu.imageset/menu1.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/right-menu.imageset/menu2.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/right-menu.imageset/menu3.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/sync.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/sync.imageset/sync-1.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/sync.imageset/sync.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/vote.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/vote.imageset/unnamed.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/warning.imageset/Contents.json (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/warning.imageset/warning-1.png (100%) rename {decred_wallet => Decred Wallet}/Assets.xcassets/util/warning.imageset/warning.png (100%) rename {decred_wallet => Decred Wallet}/Base.lproj/LaunchScreen.storyboard (100%) rename {decred_wallet => Decred Wallet}/Base.lproj/Main.storyboard (100%) rename {decred_wallet => Decred Wallet}/Constants/Constants.swift (100%) rename {decred_wallet => Decred Wallet}/Constants/wordlist.txt (100%) rename {decred_wallet => Decred Wallet}/Custom Views/Button.swift (100%) rename {decred_wallet => Decred Wallet}/DcrdConnection/JsonEntities.swift (100%) rename {decred_wallet => Decred Wallet}/DcrdConnection/ObserverProxy.h (100%) rename {decred_wallet => Decred Wallet}/DcrdConnection/decred_wallet-Bridging-Header.h (100%) rename {decred_wallet => Decred Wallet}/Extensions/Extensions.swift (100%) rename {decred_wallet => Decred Wallet}/Extensions/String.swift (100%) rename {decred_wallet => Decred Wallet}/Extensions/UIColor.swift (100%) rename {decred_wallet => Decred Wallet}/Extensions/UIViewController.swift (100%) rename {decred_wallet => Decred Wallet}/Features/App Launch/StartScreenViewController.swift (100%) rename {decred_wallet => Decred Wallet}/Features/History/TransactionHistoryViewController.swift (100%) rename {decred_wallet => Decred Wallet}/Features/History/TransactionHistoryViewController.xib (100%) rename {decred_wallet => Decred Wallet}/Features/History/TransactionTableViewCell.swift (100%) rename {decred_wallet => Decred Wallet}/Features/History/TransactionTableViewCell.xib (100%) rename {decred_wallet => Decred Wallet}/Features/Navigation Menu/MenuItem.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Navigation Menu/MenuItemCell.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Navigation Menu/MenuItemCell.xib (100%) rename {decred_wallet => Decred Wallet}/Features/Navigation Menu/NavigationMenu.storyboard (100%) rename {decred_wallet => Decred Wallet}/Features/Navigation Menu/NavigationMenuViewController.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Overview/Overview.storyboard (100%) rename {decred_wallet => Decred Wallet}/Features/Overview/OverviewViewController.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Overview/SyncProgressViewController.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Security/PasswordSetupViewController.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Security/PinInputView.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Security/PinPasswordStrength.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Security/RequestPasswordViewController.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Security/RequestPinViewController.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Security/Security.storyboard (100%) rename {decred_wallet => Decred Wallet}/Features/Security/SecurityBaseViewController.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Security/SecurityViewController.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Wallet Setup/ConfirmNewWalletSeedViewController.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Wallet Setup/CreateNewWalletViewController.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Wallet Setup/RecoverExistingWalletViewController.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Wallet Setup/WalletSetup.storyboard (100%) rename {decred_wallet => Decred Wallet}/Features/Wallet Setup/WalletSetupBaseViewController.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Wallet Setup/WalletSetupViewController.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Wallet Utils/SpendingPinOrPassword.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Wallet Utils/StartupPinOrPassword.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Wallet Utils/SyncDecodableDataTypes.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Wallet Utils/Syncer.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Wallet Utils/TransactionNotification.swift (100%) rename {decred_wallet => Decred Wallet}/Features/Wallet Utils/WalletLoader.swift (100%) rename {decred_wallet => Decred Wallet}/Fonts/Inconsolata/inconsolata_regular.ttf (100%) rename {decred_wallet => Decred Wallet}/Fonts/Source_Sans_Pro/SourceSansPro-Black.ttf (100%) rename {decred_wallet => Decred Wallet}/Fonts/Source_Sans_Pro/SourceSansPro-BlackItalic.ttf (100%) rename {decred_wallet => Decred Wallet}/Fonts/Source_Sans_Pro/SourceSansPro-Bold.ttf (100%) rename {decred_wallet => Decred Wallet}/Fonts/Source_Sans_Pro/SourceSansPro-BoldItalic.ttf (100%) rename {decred_wallet => Decred Wallet}/Fonts/Source_Sans_Pro/SourceSansPro-ExtraLight.ttf (100%) rename {decred_wallet => Decred Wallet}/Fonts/Source_Sans_Pro/SourceSansPro-ExtraLightItalic.ttf (100%) rename {decred_wallet => Decred Wallet}/Fonts/Source_Sans_Pro/SourceSansPro-Italic.ttf (100%) rename {decred_wallet => Decred Wallet}/Fonts/Source_Sans_Pro/SourceSansPro-Light.ttf (100%) rename {decred_wallet => Decred Wallet}/Fonts/Source_Sans_Pro/SourceSansPro-LightItalic.ttf (100%) rename {decred_wallet => Decred Wallet}/Fonts/Source_Sans_Pro/SourceSansPro-Regular.ttf (100%) rename {decred_wallet => Decred Wallet}/Fonts/Source_Sans_Pro/SourceSansPro-SemiBold.ttf (100%) rename {decred_wallet => Decred Wallet}/Fonts/Source_Sans_Pro/SourceSansPro-SemiBoldItalic.ttf (100%) rename {decred_wallet => Decred Wallet}/ImageHeaderView.xib (100%) rename {decred_wallet => Decred Wallet}/Info.plist (100%) rename {decred_wallet => Decred Wallet}/Resources/bg-button.png (100%) rename {decred_wallet => Decred Wallet}/Resources/bg-button@3x.png (100%) rename {decred_wallet => Decred Wallet}/Resources/dcr-logo.png (100%) rename {decred_wallet => Decred Wallet}/Resources/progress bar-1s-200px.gif (100%) rename {decred_wallet => Decred Wallet}/SecurityMenuViewController.swift (100%) rename {decred_wallet => Decred Wallet}/SingleInstance.swift (100%) rename {decred_wallet => Decred Wallet}/Storyboards.swift (100%) rename {decred_wallet => Decred Wallet}/UIApplication.swift (100%) rename {decred_wallet => Decred Wallet}/Utils.swift (100%) rename {decred_wallet => Decred Wallet}/extra_view/AccountsHeaderView/AccountsHeaderView.swift (100%) rename {decred_wallet => Decred Wallet}/extra_view/AccountsHeaderView/AccountsHeaderView.xib (100%) rename {decred_wallet => Decred Wallet}/extra_view/ContouredButton.swift (100%) rename {decred_wallet => Decred Wallet}/extra_view/DropDownSearchField.swift (100%) rename {decred_wallet => Decred Wallet}/extra_view/ImageHeaderView.swift (100%) rename {decred_wallet => Decred Wallet}/extra_view/TextFieldDoneButton.swift (100%) rename {decred_wallet => Decred Wallet}/extra_view/UIImageView.swift (100%) rename {decred_wallet => Decred Wallet}/extra_view/UITableViewExtension.swift (100%) rename {decred_wallet => Decred Wallet}/extra_view/UIView.swift (100%) rename {decred_wallet => Decred Wallet}/mainnet.xcconfig (100%) rename {decred_wallet => Decred Wallet}/splashLoader.gif (100%) rename {decred_wallet => Decred Wallet}/splashLogo.gif (100%) rename {decred_wallet => Decred Wallet}/table_view_cell/AccountDataCell.swift (100%) rename {decred_wallet => Decred Wallet}/table_view_cell/AccountDataCell.xib (100%) rename {decred_wallet => Decred Wallet}/table_view_cell/BaseTableViewCell.swift (100%) rename {decred_wallet => Decred Wallet}/table_view_cell/ConfirmSeedViewCell.swift (100%) rename {decred_wallet => Decred Wallet}/table_view_cell/RecoveryWalletSeedWordCell.swift (100%) rename {decred_wallet => Decred Wallet}/table_view_cell/SeedCheckActiveCellView.swift (100%) rename {decred_wallet => Decred Wallet}/table_view_cell/SeedConfirmTableViewCell.swift (100%) rename {decred_wallet => Decred Wallet}/table_view_cell/TransactionHistoryTableViewCell.swift (100%) rename {decred_wallet => Decred Wallet}/table_view_cell/TransactionHistoryTableViewCell.xib (100%) rename {decred_wallet => Decred Wallet}/testnet.xcconfig (100%) rename {decred_wallet => Decred Wallet}/view_controller/AccountViewController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/AddAcountViewController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/ConfirmToSendFundController/ConfirmToSendFundViewController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/ConfirmToSendFundController/ConfirmToSendFundViewPINController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/ConfirmToSendFundController/WifiConfirmationController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/CurrencyOptionTableViewController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/HelpViewController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/NetworkModeTableViewController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/NodeLogViewController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/PeerSetTableViewController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/ReceiveViewController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/SendCompletedViewController/SendCompletedViewController.storyboard (100%) rename {decred_wallet => Decred Wallet}/view_controller/SendCompletedViewController/SendCompletedViewController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/SendViewController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/ServerSetTableViewController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/SettingsController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/TransactionFullDetails/Cells/TransactionDetailCell.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/TransactionFullDetails/Cells/TransactionDetailCell.xib (100%) rename {decred_wallet => Decred Wallet}/view_controller/TransactionFullDetails/Cells/TransactiontInputDetails.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/TransactionFullDetails/Cells/TransactiontInputDetails.xib (100%) rename {decred_wallet => Decred Wallet}/view_controller/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.xib (100%) rename {decred_wallet => Decred Wallet}/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.storyboard (100%) rename {decred_wallet => Decred Wallet}/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/WalletLogViewController.swift (100%) rename {decred_wallet => Decred Wallet}/view_controller/certificateViewController.swift (100%) rename {decred_wallet => Decred Wallet}/view_util/Data.swift (100%) rename {decred_wallet => Decred Wallet}/view_util/DropMenuButton.swift (100%) rename {decred_wallet => Decred Wallet}/view_util/UIIMage.swift (100%) rename {decred_wallet => Decred Wallet}/view_util/customUImage.swift (100%) rename {decred_wallet => Decred Wallet}/view_util/keyPadButton.swift (100%) delete mode 100644 decred_wallet.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/decred_wallet.xcodeproj/project.pbxproj b/Decred Wallet.xcodeproj/project.pbxproj similarity index 96% rename from decred_wallet.xcodeproj/project.pbxproj rename to Decred Wallet.xcodeproj/project.pbxproj index c91b51e03..1923339b4 100644 --- a/decred_wallet.xcodeproj/project.pbxproj +++ b/Decred Wallet.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 90D92CC00BD5D9DFA2B26DE6 /* Pods_Decred_Wallet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABCADD99AF2E986CC915F7D8 /* Pods_Decred_Wallet.framework */; }; B3B46993228F0C2E00A68EDD /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46992228F0C2E00A68EDD /* AppDelegate.swift */; }; B3B46998228F0C2E00A68EDD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B3B46996228F0C2E00A68EDD /* Main.storyboard */; }; B3B4699A228F0C2E00A68EDD /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B3B46999228F0C2E00A68EDD /* Assets.xcassets */; }; @@ -128,15 +129,16 @@ B3B46AC7228F120700A68EDD /* TransactionDetailCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B3B46AC0228F120700A68EDD /* TransactionDetailCell.xib */; }; B3B46AC8228F120700A68EDD /* TransactionDetailCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46AC1228F120700A68EDD /* TransactionDetailCell.swift */; }; B3B46AC9228F120700A68EDD /* TransactiontInputDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46AC2228F120700A68EDD /* TransactiontInputDetails.swift */; }; - C23B3FA93B9C7677C80614E8 /* Pods_decred_wallet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29A74BFFB42A1B6273EE305B /* Pods_decred_wallet.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 29A74BFFB42A1B6273EE305B /* Pods_decred_wallet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_decred_wallet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6E101B27914D446A611047FA /* Pods-decred_wallet.testnet debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-decred_wallet.testnet debug.xcconfig"; path = "Target Support Files/Pods-decred_wallet/Pods-decred_wallet.testnet debug.xcconfig"; sourceTree = ""; }; - 90F2C1496F6CB8860F23D117 /* Pods-decred_wallet.mainnet release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-decred_wallet.mainnet release.xcconfig"; path = "Target Support Files/Pods-decred_wallet/Pods-decred_wallet.mainnet release.xcconfig"; sourceTree = ""; }; + 1A9AD3D953D67328ACD9BD02 /* Pods-Decred Wallet.testnet debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred Wallet.testnet debug.xcconfig"; path = "Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet.testnet debug.xcconfig"; sourceTree = ""; }; + 254BAB0B762982CE1554D68E /* Pods-Decred Wallet.mainnet debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred Wallet.mainnet debug.xcconfig"; path = "Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet.mainnet debug.xcconfig"; sourceTree = ""; }; + 30BEBD287BA8AEC67DDB6E7D /* Pods-Decred Wallet.testnet release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred Wallet.testnet release.xcconfig"; path = "Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet.testnet release.xcconfig"; sourceTree = ""; }; + 57D9619A45DA671B36B7EAFD /* Pods-Decred Wallet.mainnet release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred Wallet.mainnet release.xcconfig"; path = "Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet.mainnet release.xcconfig"; sourceTree = ""; }; + ABCADD99AF2E986CC915F7D8 /* Pods_Decred_Wallet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Decred_Wallet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B30A37CA228F3A6100F78629 /* mainnet.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = mainnet.xcconfig; sourceTree = ""; }; - B3B4698F228F0C2D00A68EDD /* decred_wallet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = decred_wallet.app; sourceTree = BUILT_PRODUCTS_DIR; }; + B3B4698F228F0C2D00A68EDD /* Decred Wallet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Decred Wallet.app"; sourceTree = BUILT_PRODUCTS_DIR; }; B3B46992228F0C2E00A68EDD /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; B3B46997228F0C2E00A68EDD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; B3B46999228F0C2E00A68EDD /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; @@ -262,8 +264,6 @@ B3B46AC0228F120700A68EDD /* TransactionDetailCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TransactionDetailCell.xib; sourceTree = ""; }; B3B46AC1228F120700A68EDD /* TransactionDetailCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactionDetailCell.swift; sourceTree = ""; }; B3B46AC2228F120700A68EDD /* TransactiontInputDetails.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactiontInputDetails.swift; sourceTree = ""; }; - D54FC8830482A1C8089F10ED /* Pods-decred_wallet.mainnet debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-decred_wallet.mainnet debug.xcconfig"; path = "Target Support Files/Pods-decred_wallet/Pods-decred_wallet.mainnet debug.xcconfig"; sourceTree = ""; }; - E132813A7283C4AF63D571CB /* Pods-decred_wallet.testnet release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-decred_wallet.testnet release.xcconfig"; path = "Target Support Files/Pods-decred_wallet/Pods-decred_wallet.testnet release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -272,7 +272,7 @@ buildActionMask = 2147483647; files = ( B3B46ABA228F102800A68EDD /* Dcrlibwallet.framework in Frameworks */, - C23B3FA93B9C7677C80614E8 /* Pods_decred_wallet.framework in Frameworks */, + 90D92CC00BD5D9DFA2B26DE6 /* Pods_Decred_Wallet.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -283,7 +283,7 @@ isa = PBXGroup; children = ( B3B46AB9228F102800A68EDD /* Dcrlibwallet.framework */, - 29A74BFFB42A1B6273EE305B /* Pods_decred_wallet.framework */, + ABCADD99AF2E986CC915F7D8 /* Pods_Decred_Wallet.framework */, ); name = Frameworks; sourceTree = ""; @@ -291,10 +291,10 @@ 8F7CDB697B0BC7D598AC1F98 /* Pods */ = { isa = PBXGroup; children = ( - D54FC8830482A1C8089F10ED /* Pods-decred_wallet.mainnet debug.xcconfig */, - 6E101B27914D446A611047FA /* Pods-decred_wallet.testnet debug.xcconfig */, - 90F2C1496F6CB8860F23D117 /* Pods-decred_wallet.mainnet release.xcconfig */, - E132813A7283C4AF63D571CB /* Pods-decred_wallet.testnet release.xcconfig */, + 254BAB0B762982CE1554D68E /* Pods-Decred Wallet.mainnet debug.xcconfig */, + 1A9AD3D953D67328ACD9BD02 /* Pods-Decred Wallet.testnet debug.xcconfig */, + 57D9619A45DA671B36B7EAFD /* Pods-Decred Wallet.mainnet release.xcconfig */, + 30BEBD287BA8AEC67DDB6E7D /* Pods-Decred Wallet.testnet release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -302,7 +302,7 @@ B3B46986228F0C2D00A68EDD = { isa = PBXGroup; children = ( - B3B46991228F0C2E00A68EDD /* decred_wallet */, + B3B46991228F0C2E00A68EDD /* Decred Wallet */, B3B46990228F0C2D00A68EDD /* Products */, 8F7CDB697B0BC7D598AC1F98 /* Pods */, 452B0148672C448C74CB5C1E /* Frameworks */, @@ -312,12 +312,12 @@ B3B46990228F0C2D00A68EDD /* Products */ = { isa = PBXGroup; children = ( - B3B4698F228F0C2D00A68EDD /* decred_wallet.app */, + B3B4698F228F0C2D00A68EDD /* Decred Wallet.app */, ); name = Products; sourceTree = ""; }; - B3B46991228F0C2E00A68EDD /* decred_wallet */ = { + B3B46991228F0C2E00A68EDD /* Decred Wallet */ = { isa = PBXGroup; children = ( B3B469A4228F0F0700A68EDD /* Accounts */, @@ -348,7 +348,7 @@ B3B4699B228F0C2E00A68EDD /* LaunchScreen.storyboard */, B3B4699E228F0C2E00A68EDD /* Info.plist */, ); - path = decred_wallet; + path = "Decred Wallet"; sourceTree = ""; }; B3B469A4228F0F0700A68EDD /* Accounts */ = { @@ -660,23 +660,23 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - B3B4698E228F0C2D00A68EDD /* decred_wallet */ = { + B3B4698E228F0C2D00A68EDD /* Decred Wallet */ = { isa = PBXNativeTarget; - buildConfigurationList = B3B469A1228F0C2E00A68EDD /* Build configuration list for PBXNativeTarget "decred_wallet" */; + buildConfigurationList = B3B469A1228F0C2E00A68EDD /* Build configuration list for PBXNativeTarget "Decred Wallet" */; buildPhases = ( - F094CF31E5AAA1A987CFA40A /* [CP] Check Pods Manifest.lock */, + 9F51A3920AA75269667D3C97 /* [CP] Check Pods Manifest.lock */, B3B4698B228F0C2D00A68EDD /* Sources */, B3B4698C228F0C2D00A68EDD /* Frameworks */, B3B4698D228F0C2D00A68EDD /* Resources */, - 51F5DA15ED13891F67B28D00 /* [CP] Embed Pods Frameworks */, + 4F78FCD610D2365C6A93DE7C /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); dependencies = ( ); - name = decred_wallet; + name = "Decred Wallet"; productName = decred_wallet; - productReference = B3B4698F228F0C2D00A68EDD /* decred_wallet.app */; + productReference = B3B4698F228F0C2D00A68EDD /* Decred Wallet.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -694,7 +694,7 @@ }; }; }; - buildConfigurationList = B3B4698A228F0C2D00A68EDD /* Build configuration list for PBXProject "decred_wallet" */; + buildConfigurationList = B3B4698A228F0C2D00A68EDD /* Build configuration list for PBXProject "Decred Wallet" */; compatibilityVersion = "Xcode 9.3"; developmentRegion = en; hasScannedForEncodings = 0; @@ -707,7 +707,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - B3B4698E228F0C2D00A68EDD /* decred_wallet */, + B3B4698E228F0C2D00A68EDD /* Decred Wallet */, ); }; /* End PBXProject section */ @@ -762,7 +762,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 51F5DA15ED13891F67B28D00 /* [CP] Embed Pods Frameworks */ = { + 4F78FCD610D2365C6A93DE7C /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -770,7 +770,7 @@ inputFileListPaths = ( ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-decred_wallet/Pods-decred_wallet-frameworks.sh", + "${PODS_ROOT}/Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet-frameworks.sh", "${BUILT_PRODUCTS_DIR}/JGProgressHUD/JGProgressHUD.framework", "${BUILT_PRODUCTS_DIR}/QRCodeReader.swift/QRCodeReader.framework", "${BUILT_PRODUCTS_DIR}/SlideMenuControllerSwift/SlideMenuControllerSwift.framework", @@ -785,10 +785,10 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-decred_wallet/Pods-decred_wallet-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - F094CF31E5AAA1A987CFA40A /* [CP] Check Pods Manifest.lock */ = { + 9F51A3920AA75269667D3C97 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -803,7 +803,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-decred_wallet-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Decred Wallet-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -987,7 +987,7 @@ }; B30A37CD228F3AE100F78629 /* Testnet Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6E101B27914D446A611047FA /* Pods-decred_wallet.testnet debug.xcconfig */; + baseConfigurationReference = 1A9AD3D953D67328ACD9BD02 /* Pods-Decred Wallet.testnet debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "${APP_ICON}"; CODE_SIGN_STYLE = Automatic; @@ -997,7 +997,7 @@ "$(inherited)", "$(PROJECT_DIR)/libs", ); - INFOPLIST_FILE = decred_wallet/Info.plist; + INFOPLIST_FILE = "Decred Wallet/Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1067,7 +1067,7 @@ }; B30A37CF228F3AF000F78629 /* Testnet Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E132813A7283C4AF63D571CB /* Pods-decred_wallet.testnet release.xcconfig */; + baseConfigurationReference = 30BEBD287BA8AEC67DDB6E7D /* Pods-Decred Wallet.testnet release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "${APP_ICON}"; CODE_SIGN_STYLE = Automatic; @@ -1077,7 +1077,7 @@ "$(inherited)", "$(PROJECT_DIR)/libs", ); - INFOPLIST_FILE = decred_wallet/Info.plist; + INFOPLIST_FILE = "Decred Wallet/Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1209,7 +1209,7 @@ }; B3B469A2228F0C2E00A68EDD /* Mainnet Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D54FC8830482A1C8089F10ED /* Pods-decred_wallet.mainnet debug.xcconfig */; + baseConfigurationReference = 254BAB0B762982CE1554D68E /* Pods-Decred Wallet.mainnet debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "${APP_ICON}"; CODE_SIGN_STYLE = Automatic; @@ -1219,7 +1219,7 @@ "$(inherited)", "$(PROJECT_DIR)/libs", ); - INFOPLIST_FILE = decred_wallet/Info.plist; + INFOPLIST_FILE = "Decred Wallet/Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1233,7 +1233,7 @@ }; B3B469A3228F0C2E00A68EDD /* Mainnet Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 90F2C1496F6CB8860F23D117 /* Pods-decred_wallet.mainnet release.xcconfig */; + baseConfigurationReference = 57D9619A45DA671B36B7EAFD /* Pods-Decred Wallet.mainnet release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "${APP_ICON}"; CODE_SIGN_STYLE = Automatic; @@ -1243,7 +1243,7 @@ "$(inherited)", "$(PROJECT_DIR)/libs", ); - INFOPLIST_FILE = decred_wallet/Info.plist; + INFOPLIST_FILE = "Decred Wallet/Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1258,7 +1258,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - B3B4698A228F0C2D00A68EDD /* Build configuration list for PBXProject "decred_wallet" */ = { + B3B4698A228F0C2D00A68EDD /* Build configuration list for PBXProject "Decred Wallet" */ = { isa = XCConfigurationList; buildConfigurations = ( B3B4699F228F0C2E00A68EDD /* Mainnet Debug */, @@ -1269,7 +1269,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = "Mainnet Release"; }; - B3B469A1228F0C2E00A68EDD /* Build configuration list for PBXNativeTarget "decred_wallet" */ = { + B3B469A1228F0C2E00A68EDD /* Build configuration list for PBXNativeTarget "Decred Wallet" */ = { isa = XCConfigurationList; buildConfigurations = ( B3B469A2228F0C2E00A68EDD /* Mainnet Debug */, diff --git a/decred_wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet Testnet.xcscheme b/Decred Wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet Testnet.xcscheme similarity index 75% rename from decred_wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet Testnet.xcscheme rename to Decred Wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet Testnet.xcscheme index b83b33a49..fd571e9c3 100644 --- a/decred_wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet Testnet.xcscheme +++ b/Decred Wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet Testnet.xcscheme @@ -15,9 +15,9 @@ + BuildableName = "Decred Wallet.app" + BlueprintName = "Decred Wallet" + ReferencedContainer = "container:Decred Wallet.xcodeproj"> @@ -29,15 +29,6 @@ shouldUseLaunchSchemeArgsEnv = "YES"> - - - - @@ -56,9 +47,9 @@ + BuildableName = "Decred Wallet.app" + BlueprintName = "Decred Wallet" + ReferencedContainer = "container:Decred Wallet.xcodeproj"> @@ -75,9 +66,9 @@ + BuildableName = "Decred Wallet.app" + BlueprintName = "Decred Wallet" + ReferencedContainer = "container:Decred Wallet.xcodeproj"> diff --git a/decred_wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet.xcscheme b/Decred Wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet.xcscheme similarity index 75% rename from decred_wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet.xcscheme rename to Decred Wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet.xcscheme index 50981e366..2ac7f1084 100644 --- a/decred_wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet.xcscheme +++ b/Decred Wallet.xcodeproj/xcshareddata/xcschemes/Decred Wallet.xcscheme @@ -15,9 +15,9 @@ + BuildableName = "Decred Wallet.app" + BlueprintName = "Decred Wallet" + ReferencedContainer = "container:Decred Wallet.xcodeproj"> @@ -29,15 +29,6 @@ shouldUseLaunchSchemeArgsEnv = "YES"> - - - - @@ -56,9 +47,9 @@ + BuildableName = "Decred Wallet.app" + BlueprintName = "Decred Wallet" + ReferencedContainer = "container:Decred Wallet.xcodeproj"> @@ -75,9 +66,9 @@ + BuildableName = "Decred Wallet.app" + BlueprintName = "Decred Wallet" + ReferencedContainer = "container:Decred Wallet.xcodeproj"> diff --git a/decred_wallet.xcworkspace/contents.xcworkspacedata b/Decred Wallet.xcworkspace/contents.xcworkspacedata similarity index 78% rename from decred_wallet.xcworkspace/contents.xcworkspacedata rename to Decred Wallet.xcworkspace/contents.xcworkspacedata index 83301f30c..a0212bf5b 100644 --- a/decred_wallet.xcworkspace/contents.xcworkspacedata +++ b/Decred Wallet.xcworkspace/contents.xcworkspacedata @@ -2,7 +2,7 @@ + location = "group:Decred Wallet.xcodeproj"> diff --git a/decred_wallet.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Decred Wallet.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from decred_wallet.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to Decred Wallet.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/decred_wallet/Accounts/AccountsData.swift b/Decred Wallet/Accounts/AccountsData.swift similarity index 100% rename from decred_wallet/Accounts/AccountsData.swift rename to Decred Wallet/Accounts/AccountsData.swift diff --git a/decred_wallet/AppDelegate.swift b/Decred Wallet/AppDelegate.swift similarity index 100% rename from decred_wallet/AppDelegate.swift rename to Decred Wallet/AppDelegate.swift diff --git a/decred_wallet/Assets.xcassets/AppIcon.appiconset/1024.png b/Decred Wallet/Assets.xcassets/AppIcon.appiconset/1024.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIcon.appiconset/1024.png rename to Decred Wallet/Assets.xcassets/AppIcon.appiconset/1024.png diff --git a/decred_wallet/Assets.xcassets/AppIcon.appiconset/120.png b/Decred Wallet/Assets.xcassets/AppIcon.appiconset/120.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIcon.appiconset/120.png rename to Decred Wallet/Assets.xcassets/AppIcon.appiconset/120.png diff --git a/decred_wallet/Assets.xcassets/AppIcon.appiconset/152.png b/Decred Wallet/Assets.xcassets/AppIcon.appiconset/152.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIcon.appiconset/152.png rename to Decred Wallet/Assets.xcassets/AppIcon.appiconset/152.png diff --git a/decred_wallet/Assets.xcassets/AppIcon.appiconset/167.png b/Decred Wallet/Assets.xcassets/AppIcon.appiconset/167.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIcon.appiconset/167.png rename to Decred Wallet/Assets.xcassets/AppIcon.appiconset/167.png diff --git a/decred_wallet/Assets.xcassets/AppIcon.appiconset/180.png b/Decred Wallet/Assets.xcassets/AppIcon.appiconset/180.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIcon.appiconset/180.png rename to Decred Wallet/Assets.xcassets/AppIcon.appiconset/180.png diff --git a/decred_wallet/Assets.xcassets/AppIcon.appiconset/20.png b/Decred Wallet/Assets.xcassets/AppIcon.appiconset/20.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIcon.appiconset/20.png rename to Decred Wallet/Assets.xcassets/AppIcon.appiconset/20.png diff --git a/decred_wallet/Assets.xcassets/AppIcon.appiconset/29.png b/Decred Wallet/Assets.xcassets/AppIcon.appiconset/29.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIcon.appiconset/29.png rename to Decred Wallet/Assets.xcassets/AppIcon.appiconset/29.png diff --git a/decred_wallet/Assets.xcassets/AppIcon.appiconset/40.png b/Decred Wallet/Assets.xcassets/AppIcon.appiconset/40.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIcon.appiconset/40.png rename to Decred Wallet/Assets.xcassets/AppIcon.appiconset/40.png diff --git a/decred_wallet/Assets.xcassets/AppIcon.appiconset/58.png b/Decred Wallet/Assets.xcassets/AppIcon.appiconset/58.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIcon.appiconset/58.png rename to Decred Wallet/Assets.xcassets/AppIcon.appiconset/58.png diff --git a/decred_wallet/Assets.xcassets/AppIcon.appiconset/60.png b/Decred Wallet/Assets.xcassets/AppIcon.appiconset/60.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIcon.appiconset/60.png rename to Decred Wallet/Assets.xcassets/AppIcon.appiconset/60.png diff --git a/decred_wallet/Assets.xcassets/AppIcon.appiconset/76.png b/Decred Wallet/Assets.xcassets/AppIcon.appiconset/76.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIcon.appiconset/76.png rename to Decred Wallet/Assets.xcassets/AppIcon.appiconset/76.png diff --git a/decred_wallet/Assets.xcassets/AppIcon.appiconset/80.png b/Decred Wallet/Assets.xcassets/AppIcon.appiconset/80.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIcon.appiconset/80.png rename to Decred Wallet/Assets.xcassets/AppIcon.appiconset/80.png diff --git a/decred_wallet/Assets.xcassets/AppIcon.appiconset/87.png b/Decred Wallet/Assets.xcassets/AppIcon.appiconset/87.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIcon.appiconset/87.png rename to Decred Wallet/Assets.xcassets/AppIcon.appiconset/87.png diff --git a/decred_wallet/Assets.xcassets/AppIcon.appiconset/Contents.json b/Decred Wallet/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Decred Wallet/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/1024.png b/Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/1024.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/1024.png rename to Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/1024.png diff --git a/decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/120.png b/Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/120.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/120.png rename to Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/120.png diff --git a/decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/152.png b/Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/152.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/152.png rename to Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/152.png diff --git a/decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/167.png b/Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/167.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/167.png rename to Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/167.png diff --git a/decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/180.png b/Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/180.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/180.png rename to Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/180.png diff --git a/decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/20.png b/Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/20.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/20.png rename to Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/20.png diff --git a/decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/29.png b/Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/29.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/29.png rename to Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/29.png diff --git a/decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/40.png b/Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/40.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/40.png rename to Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/40.png diff --git a/decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/58.png b/Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/58.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/58.png rename to Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/58.png diff --git a/decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/60.png b/Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/60.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/60.png rename to Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/60.png diff --git a/decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/76.png b/Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/76.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/76.png rename to Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/76.png diff --git a/decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/80.png b/Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/80.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/80.png rename to Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/80.png diff --git a/decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/87.png b/Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/87.png similarity index 100% rename from decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/87.png rename to Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/87.png diff --git a/decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/Contents.json b/Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/AppIconTestnet.appiconset/Contents.json rename to Decred Wallet/Assets.xcassets/AppIconTestnet.appiconset/Contents.json diff --git a/decred_wallet/Assets.xcassets/Contents.json b/Decred Wallet/Assets.xcassets/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/Contents.json rename to Decred Wallet/Assets.xcassets/Contents.json diff --git a/decred_wallet/Assets.xcassets/backspace.imageset/Contents.json b/Decred Wallet/Assets.xcassets/backspace.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/backspace.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/backspace.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/backspace.imageset/backspace.png b/Decred Wallet/Assets.xcassets/backspace.imageset/backspace.png similarity index 100% rename from decred_wallet/Assets.xcassets/backspace.imageset/backspace.png rename to Decred Wallet/Assets.xcassets/backspace.imageset/backspace.png diff --git a/decred_wallet/Assets.xcassets/bg-button.imageset/Contents.json b/Decred Wallet/Assets.xcassets/bg-button.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/bg-button.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/bg-button.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/bg-button.imageset/bg-button-1.png b/Decred Wallet/Assets.xcassets/bg-button.imageset/bg-button-1.png similarity index 100% rename from decred_wallet/Assets.xcassets/bg-button.imageset/bg-button-1.png rename to Decred Wallet/Assets.xcassets/bg-button.imageset/bg-button-1.png diff --git a/decred_wallet/Assets.xcassets/bg-button.imageset/bg-button@3x.png b/Decred Wallet/Assets.xcassets/bg-button.imageset/bg-button@3x.png similarity index 100% rename from decred_wallet/Assets.xcassets/bg-button.imageset/bg-button@3x.png rename to Decred Wallet/Assets.xcassets/bg-button.imageset/bg-button@3x.png diff --git a/decred_wallet/Assets.xcassets/create-wallet.imageset/Contents.json b/Decred Wallet/Assets.xcassets/create-wallet.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/create-wallet.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/create-wallet.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/create-wallet.imageset/create.png b/Decred Wallet/Assets.xcassets/create-wallet.imageset/create.png similarity index 100% rename from decred_wallet/Assets.xcassets/create-wallet.imageset/create.png rename to Decred Wallet/Assets.xcassets/create-wallet.imageset/create.png diff --git a/decred_wallet/Assets.xcassets/create-wallet.imageset/create2.png b/Decred Wallet/Assets.xcassets/create-wallet.imageset/create2.png similarity index 100% rename from decred_wallet/Assets.xcassets/create-wallet.imageset/create2.png rename to Decred Wallet/Assets.xcassets/create-wallet.imageset/create2.png diff --git a/decred_wallet/Assets.xcassets/create-wallet.imageset/create3.png b/Decred Wallet/Assets.xcassets/create-wallet.imageset/create3.png similarity index 100% rename from decred_wallet/Assets.xcassets/create-wallet.imageset/create3.png rename to Decred Wallet/Assets.xcassets/create-wallet.imageset/create3.png diff --git a/decred_wallet/Assets.xcassets/dcr-logo-light.imageset/Contents.json b/Decred Wallet/Assets.xcassets/dcr-logo-light.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/dcr-logo-light.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/dcr-logo-light.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/dcr-logo-light.imageset/dcr-logo-light.png b/Decred Wallet/Assets.xcassets/dcr-logo-light.imageset/dcr-logo-light.png similarity index 100% rename from decred_wallet/Assets.xcassets/dcr-logo-light.imageset/dcr-logo-light.png rename to Decred Wallet/Assets.xcassets/dcr-logo-light.imageset/dcr-logo-light.png diff --git a/decred_wallet/Assets.xcassets/decredWord.imageset/Contents.json b/Decred Wallet/Assets.xcassets/decredWord.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/decredWord.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/decredWord.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/decredWord.imageset/decred2.png b/Decred Wallet/Assets.xcassets/decredWord.imageset/decred2.png similarity index 100% rename from decred_wallet/Assets.xcassets/decredWord.imageset/decred2.png rename to Decred Wallet/Assets.xcassets/decredWord.imageset/decred2.png diff --git a/decred_wallet/Assets.xcassets/decred_dark.imageset/Contents.json b/Decred Wallet/Assets.xcassets/decred_dark.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/decred_dark.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/decred_dark.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/decred_dark.imageset/decred - logo - primary - positive - 1 color@2x.png b/Decred Wallet/Assets.xcassets/decred_dark.imageset/decred - logo - primary - positive - 1 color@2x.png similarity index 100% rename from decred_wallet/Assets.xcassets/decred_dark.imageset/decred - logo - primary - positive - 1 color@2x.png rename to Decred Wallet/Assets.xcassets/decred_dark.imageset/decred - logo - primary - positive - 1 color@2x.png diff --git a/decred_wallet/Assets.xcassets/decred_image.imageset/Contents.json b/Decred Wallet/Assets.xcassets/decred_image.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/decred_image.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/decred_image.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/decred_image.imageset/dcr-logo.png b/Decred Wallet/Assets.xcassets/decred_image.imageset/dcr-logo.png similarity index 100% rename from decred_wallet/Assets.xcassets/decred_image.imageset/dcr-logo.png rename to Decred Wallet/Assets.xcassets/decred_image.imageset/dcr-logo.png diff --git a/decred_wallet/Assets.xcassets/decred_logo.imageset/Contents.json b/Decred Wallet/Assets.xcassets/decred_logo.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/decred_logo.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/decred_logo.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/decred_logo.imageset/decred_logo.png b/Decred Wallet/Assets.xcassets/decred_logo.imageset/decred_logo.png similarity index 100% rename from decred_wallet/Assets.xcassets/decred_logo.imageset/decred_logo.png rename to Decred Wallet/Assets.xcassets/decred_logo.imageset/decred_logo.png diff --git a/decred_wallet/Assets.xcassets/ic_menu_black_24dp.imageset/Contents.json b/Decred Wallet/Assets.xcassets/ic_menu_black_24dp.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/ic_menu_black_24dp.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/ic_menu_black_24dp.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/ic_menu_black_24dp.imageset/ic_menu_black_24dp.png b/Decred Wallet/Assets.xcassets/ic_menu_black_24dp.imageset/ic_menu_black_24dp.png similarity index 100% rename from decred_wallet/Assets.xcassets/ic_menu_black_24dp.imageset/ic_menu_black_24dp.png rename to Decred Wallet/Assets.xcassets/ic_menu_black_24dp.imageset/ic_menu_black_24dp.png diff --git a/decred_wallet/Assets.xcassets/ic_notifications_black_24dp.imageset/Contents.json b/Decred Wallet/Assets.xcassets/ic_notifications_black_24dp.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/ic_notifications_black_24dp.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/ic_notifications_black_24dp.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/ic_notifications_black_24dp.imageset/ic_notifications_black_24dp.png b/Decred Wallet/Assets.xcassets/ic_notifications_black_24dp.imageset/ic_notifications_black_24dp.png similarity index 100% rename from decred_wallet/Assets.xcassets/ic_notifications_black_24dp.imageset/ic_notifications_black_24dp.png rename to Decred Wallet/Assets.xcassets/ic_notifications_black_24dp.imageset/ic_notifications_black_24dp.png diff --git a/decred_wallet/Assets.xcassets/img-checkmark.imageset/Contents.json b/Decred Wallet/Assets.xcassets/img-checkmark.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/img-checkmark.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/img-checkmark.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/img-checkmark.imageset/img-checkmark.png b/Decred Wallet/Assets.xcassets/img-checkmark.imageset/img-checkmark.png similarity index 100% rename from decred_wallet/Assets.xcassets/img-checkmark.imageset/img-checkmark.png rename to Decred Wallet/Assets.xcassets/img-checkmark.imageset/img-checkmark.png diff --git a/decred_wallet/Assets.xcassets/img-send-funds.imageset/Contents.json b/Decred Wallet/Assets.xcassets/img-send-funds.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/img-send-funds.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/img-send-funds.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/img-send-funds.imageset/send-funds.png b/Decred Wallet/Assets.xcassets/img-send-funds.imageset/send-funds.png similarity index 100% rename from decred_wallet/Assets.xcassets/img-send-funds.imageset/send-funds.png rename to Decred Wallet/Assets.xcassets/img-send-funds.imageset/send-funds.png diff --git a/decred_wallet/Assets.xcassets/img-success.imageset/Contents.json b/Decred Wallet/Assets.xcassets/img-success.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/img-success.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/img-success.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/img-success.imageset/img-success.png b/Decred Wallet/Assets.xcassets/img-success.imageset/img-success.png similarity index 100% rename from decred_wallet/Assets.xcassets/img-success.imageset/img-success.png rename to Decred Wallet/Assets.xcassets/img-success.imageset/img-success.png diff --git a/decred_wallet/Assets.xcassets/img-tx-sent.imageset/Contents.json b/Decred Wallet/Assets.xcassets/img-tx-sent.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/img-tx-sent.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/img-tx-sent.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/img-tx-sent.imageset/img-tx-sent.png b/Decred Wallet/Assets.xcassets/img-tx-sent.imageset/img-tx-sent.png similarity index 100% rename from decred_wallet/Assets.xcassets/img-tx-sent.imageset/img-tx-sent.png rename to Decred Wallet/Assets.xcassets/img-tx-sent.imageset/img-tx-sent.png diff --git a/decred_wallet/Assets.xcassets/left-arrow.imageset/Contents.json b/Decred Wallet/Assets.xcassets/left-arrow.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/left-arrow.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/left-arrow.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/left-arrow.imageset/left-arrow.png b/Decred Wallet/Assets.xcassets/left-arrow.imageset/left-arrow.png similarity index 100% rename from decred_wallet/Assets.xcassets/left-arrow.imageset/left-arrow.png rename to Decred Wallet/Assets.xcassets/left-arrow.imageset/left-arrow.png diff --git a/decred_wallet/Assets.xcassets/left-arrow.imageset/left-arrow@2x.png b/Decred Wallet/Assets.xcassets/left-arrow.imageset/left-arrow@2x.png similarity index 100% rename from decred_wallet/Assets.xcassets/left-arrow.imageset/left-arrow@2x.png rename to Decred Wallet/Assets.xcassets/left-arrow.imageset/left-arrow@2x.png diff --git a/decred_wallet/Assets.xcassets/left-arrow.imageset/left-arrow@3x.png b/Decred Wallet/Assets.xcassets/left-arrow.imageset/left-arrow@3x.png similarity index 100% rename from decred_wallet/Assets.xcassets/left-arrow.imageset/left-arrow@3x.png rename to Decred Wallet/Assets.xcassets/left-arrow.imageset/left-arrow@3x.png diff --git a/decred_wallet/Assets.xcassets/left.imageset/Contents.json b/Decred Wallet/Assets.xcassets/left.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/left.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/left.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/left.imageset/left.png b/Decred Wallet/Assets.xcassets/left.imageset/left.png similarity index 100% rename from decred_wallet/Assets.xcassets/left.imageset/left.png rename to Decred Wallet/Assets.xcassets/left.imageset/left.png diff --git a/decred_wallet/Assets.xcassets/left.imageset/left@2x.png b/Decred Wallet/Assets.xcassets/left.imageset/left@2x.png similarity index 100% rename from decred_wallet/Assets.xcassets/left.imageset/left@2x.png rename to Decred Wallet/Assets.xcassets/left.imageset/left@2x.png diff --git a/decred_wallet/Assets.xcassets/left.imageset/left@3x.png b/Decred Wallet/Assets.xcassets/left.imageset/left@3x.png similarity index 100% rename from decred_wallet/Assets.xcassets/left.imageset/left@3x.png rename to Decred Wallet/Assets.xcassets/left.imageset/left@3x.png diff --git a/decred_wallet/Assets.xcassets/logo-mainnet.imageset/Contents.json b/Decred Wallet/Assets.xcassets/logo-mainnet.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/logo-mainnet.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/logo-mainnet.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/logo-mainnet.imageset/sidepanel-logo-mainnet.png b/Decred Wallet/Assets.xcassets/logo-mainnet.imageset/sidepanel-logo-mainnet.png similarity index 100% rename from decred_wallet/Assets.xcassets/logo-mainnet.imageset/sidepanel-logo-mainnet.png rename to Decred Wallet/Assets.xcassets/logo-mainnet.imageset/sidepanel-logo-mainnet.png diff --git a/decred_wallet/Assets.xcassets/logo-testnet.imageset/Contents.json b/Decred Wallet/Assets.xcassets/logo-testnet.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/logo-testnet.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/logo-testnet.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/logo-testnet.imageset/sidepanel-logo-testnet.png b/Decred Wallet/Assets.xcassets/logo-testnet.imageset/sidepanel-logo-testnet.png similarity index 100% rename from decred_wallet/Assets.xcassets/logo-testnet.imageset/sidepanel-logo-testnet.png rename to Decred Wallet/Assets.xcassets/logo-testnet.imageset/sidepanel-logo-testnet.png diff --git a/decred_wallet/Assets.xcassets/menu/Contents.json b/Decred Wallet/Assets.xcassets/menu/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/menu/Contents.json rename to Decred Wallet/Assets.xcassets/menu/Contents.json diff --git a/decred_wallet/Assets.xcassets/menu/Image.imageset/Contents.json b/Decred Wallet/Assets.xcassets/menu/Image.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/menu/Image.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/menu/Image.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/menu/account.imageset/Contents.json b/Decred Wallet/Assets.xcassets/menu/account.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/menu/account.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/menu/account.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/menu/account.imageset/transferred.png b/Decred Wallet/Assets.xcassets/menu/account.imageset/transferred.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/account.imageset/transferred.png rename to Decred Wallet/Assets.xcassets/menu/account.imageset/transferred.png diff --git a/decred_wallet/Assets.xcassets/menu/account.imageset/transferred1.png b/Decred Wallet/Assets.xcassets/menu/account.imageset/transferred1.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/account.imageset/transferred1.png rename to Decred Wallet/Assets.xcassets/menu/account.imageset/transferred1.png diff --git a/decred_wallet/Assets.xcassets/menu/account.imageset/transferred3.png b/Decred Wallet/Assets.xcassets/menu/account.imageset/transferred3.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/account.imageset/transferred3.png rename to Decred Wallet/Assets.xcassets/menu/account.imageset/transferred3.png diff --git a/decred_wallet/Assets.xcassets/menu/help.imageset/Contents.json b/Decred Wallet/Assets.xcassets/menu/help.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/menu/help.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/menu/help.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/menu/help.imageset/help.png b/Decred Wallet/Assets.xcassets/menu/help.imageset/help.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/help.imageset/help.png rename to Decred Wallet/Assets.xcassets/menu/help.imageset/help.png diff --git a/decred_wallet/Assets.xcassets/menu/history.imageset/Contents.json b/Decred Wallet/Assets.xcassets/menu/history.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/menu/history.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/menu/history.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/menu/history.imageset/history.png b/Decred Wallet/Assets.xcassets/menu/history.imageset/history.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/history.imageset/history.png rename to Decred Wallet/Assets.xcassets/menu/history.imageset/history.png diff --git a/decred_wallet/Assets.xcassets/menu/menu-account.imageset/Contents.json b/Decred Wallet/Assets.xcassets/menu/menu-account.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/menu/menu-account.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/menu/menu-account.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/menu/menu-account.imageset/transferred9.png b/Decred Wallet/Assets.xcassets/menu/menu-account.imageset/transferred9.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/menu-account.imageset/transferred9.png rename to Decred Wallet/Assets.xcassets/menu/menu-account.imageset/transferred9.png diff --git a/decred_wallet/Assets.xcassets/menu/menu-account.imageset/transferred92.png b/Decred Wallet/Assets.xcassets/menu/menu-account.imageset/transferred92.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/menu-account.imageset/transferred92.png rename to Decred Wallet/Assets.xcassets/menu/menu-account.imageset/transferred92.png diff --git a/decred_wallet/Assets.xcassets/menu/menu-account.imageset/transferred93.png b/Decred Wallet/Assets.xcassets/menu/menu-account.imageset/transferred93.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/menu-account.imageset/transferred93.png rename to Decred Wallet/Assets.xcassets/menu/menu-account.imageset/transferred93.png diff --git a/decred_wallet/Assets.xcassets/menu/overview.imageset/Contents.json b/Decred Wallet/Assets.xcassets/menu/overview.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/menu/overview.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/menu/overview.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/menu/overview.imageset/overviewicon3.png b/Decred Wallet/Assets.xcassets/menu/overview.imageset/overviewicon3.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/overview.imageset/overviewicon3.png rename to Decred Wallet/Assets.xcassets/menu/overview.imageset/overviewicon3.png diff --git a/decred_wallet/Assets.xcassets/menu/receive.imageset/Contents.json b/Decred Wallet/Assets.xcassets/menu/receive.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/menu/receive.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/menu/receive.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/menu/receive.imageset/receive-1.png b/Decred Wallet/Assets.xcassets/menu/receive.imageset/receive-1.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/receive.imageset/receive-1.png rename to Decred Wallet/Assets.xcassets/menu/receive.imageset/receive-1.png diff --git a/decred_wallet/Assets.xcassets/menu/receive.imageset/receive-2.png b/Decred Wallet/Assets.xcassets/menu/receive.imageset/receive-2.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/receive.imageset/receive-2.png rename to Decred Wallet/Assets.xcassets/menu/receive.imageset/receive-2.png diff --git a/decred_wallet/Assets.xcassets/menu/receive.imageset/receive-3.png b/Decred Wallet/Assets.xcassets/menu/receive.imageset/receive-3.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/receive.imageset/receive-3.png rename to Decred Wallet/Assets.xcassets/menu/receive.imageset/receive-3.png diff --git a/decred_wallet/Assets.xcassets/menu/security.imageset/Contents.json b/Decred Wallet/Assets.xcassets/menu/security.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/menu/security.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/menu/security.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/menu/security.imageset/securitymenuicon.png b/Decred Wallet/Assets.xcassets/menu/security.imageset/securitymenuicon.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/security.imageset/securitymenuicon.png rename to Decred Wallet/Assets.xcassets/menu/security.imageset/securitymenuicon.png diff --git a/decred_wallet/Assets.xcassets/menu/send.imageset/Contents.json b/Decred Wallet/Assets.xcassets/menu/send.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/menu/send.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/menu/send.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/menu/send.imageset/send-1.png b/Decred Wallet/Assets.xcassets/menu/send.imageset/send-1.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/send.imageset/send-1.png rename to Decred Wallet/Assets.xcassets/menu/send.imageset/send-1.png diff --git a/decred_wallet/Assets.xcassets/menu/send.imageset/send-2.png b/Decred Wallet/Assets.xcassets/menu/send.imageset/send-2.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/send.imageset/send-2.png rename to Decred Wallet/Assets.xcassets/menu/send.imageset/send-2.png diff --git a/decred_wallet/Assets.xcassets/menu/send.imageset/send-3.png b/Decred Wallet/Assets.xcassets/menu/send.imageset/send-3.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/send.imageset/send-3.png rename to Decred Wallet/Assets.xcassets/menu/send.imageset/send-3.png diff --git a/decred_wallet/Assets.xcassets/menu/settings.imageset/Contents.json b/Decred Wallet/Assets.xcassets/menu/settings.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/menu/settings.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/menu/settings.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/menu/settings.imageset/settingsicon3.png b/Decred Wallet/Assets.xcassets/menu/settings.imageset/settingsicon3.png similarity index 100% rename from decred_wallet/Assets.xcassets/menu/settings.imageset/settingsicon3.png rename to Decred Wallet/Assets.xcassets/menu/settings.imageset/settingsicon3.png diff --git a/decred_wallet/Assets.xcassets/qr_code_filled.imageset/Contents.json b/Decred Wallet/Assets.xcassets/qr_code_filled.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/qr_code_filled.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/qr_code_filled.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/qr_code_filled.imageset/qr_code_filled.png b/Decred Wallet/Assets.xcassets/qr_code_filled.imageset/qr_code_filled.png similarity index 100% rename from decred_wallet/Assets.xcassets/qr_code_filled.imageset/qr_code_filled.png rename to Decred Wallet/Assets.xcassets/qr_code_filled.imageset/qr_code_filled.png diff --git a/decred_wallet/Assets.xcassets/qr_code_filled.imageset/qr_code_filled@2x.png b/Decred Wallet/Assets.xcassets/qr_code_filled.imageset/qr_code_filled@2x.png similarity index 100% rename from decred_wallet/Assets.xcassets/qr_code_filled.imageset/qr_code_filled@2x.png rename to Decred Wallet/Assets.xcassets/qr_code_filled.imageset/qr_code_filled@2x.png diff --git a/decred_wallet/Assets.xcassets/qr_code_filled.imageset/qr_code_filled@3x.png b/Decred Wallet/Assets.xcassets/qr_code_filled.imageset/qr_code_filled@3x.png similarity index 100% rename from decred_wallet/Assets.xcassets/qr_code_filled.imageset/qr_code_filled@3x.png rename to Decred Wallet/Assets.xcassets/qr_code_filled.imageset/qr_code_filled@3x.png diff --git a/decred_wallet/Assets.xcassets/recover-wallet.imageset/Contents.json b/Decred Wallet/Assets.xcassets/recover-wallet.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/recover-wallet.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/recover-wallet.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/recover-wallet.imageset/recover.png b/Decred Wallet/Assets.xcassets/recover-wallet.imageset/recover.png similarity index 100% rename from decred_wallet/Assets.xcassets/recover-wallet.imageset/recover.png rename to Decred Wallet/Assets.xcassets/recover-wallet.imageset/recover.png diff --git a/decred_wallet/Assets.xcassets/recover-wallet.imageset/recover2x.png b/Decred Wallet/Assets.xcassets/recover-wallet.imageset/recover2x.png similarity index 100% rename from decred_wallet/Assets.xcassets/recover-wallet.imageset/recover2x.png rename to Decred Wallet/Assets.xcassets/recover-wallet.imageset/recover2x.png diff --git a/decred_wallet/Assets.xcassets/recover-wallet.imageset/recover3x.png b/Decred Wallet/Assets.xcassets/recover-wallet.imageset/recover3x.png similarity index 100% rename from decred_wallet/Assets.xcassets/recover-wallet.imageset/recover3x.png rename to Decred Wallet/Assets.xcassets/recover-wallet.imageset/recover3x.png diff --git a/decred_wallet/Assets.xcassets/util/Contents.json b/Decred Wallet/Assets.xcassets/util/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/Contents.json rename to Decred Wallet/Assets.xcassets/util/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/arrorup.imageset/Arrow drop down-1.png b/Decred Wallet/Assets.xcassets/util/arrorup.imageset/Arrow drop down-1.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/arrorup.imageset/Arrow drop down-1.png rename to Decred Wallet/Assets.xcassets/util/arrorup.imageset/Arrow drop down-1.png diff --git a/decred_wallet/Assets.xcassets/util/arrorup.imageset/Arrow drop down-2.png b/Decred Wallet/Assets.xcassets/util/arrorup.imageset/Arrow drop down-2.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/arrorup.imageset/Arrow drop down-2.png rename to Decred Wallet/Assets.xcassets/util/arrorup.imageset/Arrow drop down-2.png diff --git a/decred_wallet/Assets.xcassets/util/arrorup.imageset/Arrow drop down.png b/Decred Wallet/Assets.xcassets/util/arrorup.imageset/Arrow drop down.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/arrorup.imageset/Arrow drop down.png rename to Decred Wallet/Assets.xcassets/util/arrorup.imageset/Arrow drop down.png diff --git a/decred_wallet/Assets.xcassets/util/arrorup.imageset/Contents.json b/Decred Wallet/Assets.xcassets/util/arrorup.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/arrorup.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/util/arrorup.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/arrow-1.imageset/Arrow drop down-1.png b/Decred Wallet/Assets.xcassets/util/arrow-1.imageset/Arrow drop down-1.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/arrow-1.imageset/Arrow drop down-1.png rename to Decred Wallet/Assets.xcassets/util/arrow-1.imageset/Arrow drop down-1.png diff --git a/decred_wallet/Assets.xcassets/util/arrow-1.imageset/Arrow drop down-2.png b/Decred Wallet/Assets.xcassets/util/arrow-1.imageset/Arrow drop down-2.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/arrow-1.imageset/Arrow drop down-2.png rename to Decred Wallet/Assets.xcassets/util/arrow-1.imageset/Arrow drop down-2.png diff --git a/decred_wallet/Assets.xcassets/util/arrow-1.imageset/Arrow drop down.png b/Decred Wallet/Assets.xcassets/util/arrow-1.imageset/Arrow drop down.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/arrow-1.imageset/Arrow drop down.png rename to Decred Wallet/Assets.xcassets/util/arrow-1.imageset/Arrow drop down.png diff --git a/decred_wallet/Assets.xcassets/util/arrow-1.imageset/Contents.json b/Decred Wallet/Assets.xcassets/util/arrow-1.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/arrow-1.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/util/arrow-1.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/arrow.imageset/Arrow drop down-1.png b/Decred Wallet/Assets.xcassets/util/arrow.imageset/Arrow drop down-1.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/arrow.imageset/Arrow drop down-1.png rename to Decred Wallet/Assets.xcassets/util/arrow.imageset/Arrow drop down-1.png diff --git a/decred_wallet/Assets.xcassets/util/arrow.imageset/Arrow drop down-2.png b/Decred Wallet/Assets.xcassets/util/arrow.imageset/Arrow drop down-2.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/arrow.imageset/Arrow drop down-2.png rename to Decred Wallet/Assets.xcassets/util/arrow.imageset/Arrow drop down-2.png diff --git a/decred_wallet/Assets.xcassets/util/arrow.imageset/Arrow drop down.png b/Decred Wallet/Assets.xcassets/util/arrow.imageset/Arrow drop down.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/arrow.imageset/Arrow drop down.png rename to Decred Wallet/Assets.xcassets/util/arrow.imageset/Arrow drop down.png diff --git a/decred_wallet/Assets.xcassets/util/arrow.imageset/Contents.json b/Decred Wallet/Assets.xcassets/util/arrow.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/arrow.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/util/arrow.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/credit.imageset/Contents.json b/Decred Wallet/Assets.xcassets/util/credit.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/credit.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/util/credit.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/credit.imageset/receive-1.png b/Decred Wallet/Assets.xcassets/util/credit.imageset/receive-1.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/credit.imageset/receive-1.png rename to Decred Wallet/Assets.xcassets/util/credit.imageset/receive-1.png diff --git a/decred_wallet/Assets.xcassets/util/credit.imageset/receive-2.png b/Decred Wallet/Assets.xcassets/util/credit.imageset/receive-2.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/credit.imageset/receive-2.png rename to Decred Wallet/Assets.xcassets/util/credit.imageset/receive-2.png diff --git a/decred_wallet/Assets.xcassets/util/credit.imageset/receive-3.png b/Decred Wallet/Assets.xcassets/util/credit.imageset/receive-3.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/credit.imageset/receive-3.png rename to Decred Wallet/Assets.xcassets/util/credit.imageset/receive-3.png diff --git a/decred_wallet/Assets.xcassets/util/debit.imageset/Contents.json b/Decred Wallet/Assets.xcassets/util/debit.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/debit.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/util/debit.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/debit.imageset/sent-1.png b/Decred Wallet/Assets.xcassets/util/debit.imageset/sent-1.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/debit.imageset/sent-1.png rename to Decred Wallet/Assets.xcassets/util/debit.imageset/sent-1.png diff --git a/decred_wallet/Assets.xcassets/util/debit.imageset/sent-2.png b/Decred Wallet/Assets.xcassets/util/debit.imageset/sent-2.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/debit.imageset/sent-2.png rename to Decred Wallet/Assets.xcassets/util/debit.imageset/sent-2.png diff --git a/decred_wallet/Assets.xcassets/util/debit.imageset/sent-3.png b/Decred Wallet/Assets.xcassets/util/debit.imageset/sent-3.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/debit.imageset/sent-3.png rename to Decred Wallet/Assets.xcassets/util/debit.imageset/sent-3.png diff --git a/decred_wallet/Assets.xcassets/util/dropdown-icon.imageset/Contents.json b/Decred Wallet/Assets.xcassets/util/dropdown-icon.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/dropdown-icon.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/util/dropdown-icon.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/dropdown-icon.imageset/dropdown-icon-1.png b/Decred Wallet/Assets.xcassets/util/dropdown-icon.imageset/dropdown-icon-1.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/dropdown-icon.imageset/dropdown-icon-1.png rename to Decred Wallet/Assets.xcassets/util/dropdown-icon.imageset/dropdown-icon-1.png diff --git a/decred_wallet/Assets.xcassets/util/dropdown-icon.imageset/dropdown-icon-2.png b/Decred Wallet/Assets.xcassets/util/dropdown-icon.imageset/dropdown-icon-2.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/dropdown-icon.imageset/dropdown-icon-2.png rename to Decred Wallet/Assets.xcassets/util/dropdown-icon.imageset/dropdown-icon-2.png diff --git a/decred_wallet/Assets.xcassets/util/dropdown-icon.imageset/dropdown-icon.png b/Decred Wallet/Assets.xcassets/util/dropdown-icon.imageset/dropdown-icon.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/dropdown-icon.imageset/dropdown-icon.png rename to Decred Wallet/Assets.xcassets/util/dropdown-icon.imageset/dropdown-icon.png diff --git a/decred_wallet/Assets.xcassets/util/fee.imageset/Contents.json b/Decred Wallet/Assets.xcassets/util/fee.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/fee.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/util/fee.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/fee.imageset/fees-1.png b/Decred Wallet/Assets.xcassets/util/fee.imageset/fees-1.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/fee.imageset/fees-1.png rename to Decred Wallet/Assets.xcassets/util/fee.imageset/fees-1.png diff --git a/decred_wallet/Assets.xcassets/util/helpIcon.imageset/Contents.json b/Decred Wallet/Assets.xcassets/util/helpIcon.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/helpIcon.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/util/helpIcon.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/helpIcon.imageset/helpicon-1.png b/Decred Wallet/Assets.xcassets/util/helpIcon.imageset/helpicon-1.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/helpIcon.imageset/helpicon-1.png rename to Decred Wallet/Assets.xcassets/util/helpIcon.imageset/helpicon-1.png diff --git a/decred_wallet/Assets.xcassets/util/helpIcon.imageset/helpicon-2.png b/Decred Wallet/Assets.xcassets/util/helpIcon.imageset/helpicon-2.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/helpIcon.imageset/helpicon-2.png rename to Decred Wallet/Assets.xcassets/util/helpIcon.imageset/helpicon-2.png diff --git a/decred_wallet/Assets.xcassets/util/helpIcon.imageset/helpicon.png b/Decred Wallet/Assets.xcassets/util/helpIcon.imageset/helpicon.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/helpIcon.imageset/helpicon.png rename to Decred Wallet/Assets.xcassets/util/helpIcon.imageset/helpicon.png diff --git a/decred_wallet/Assets.xcassets/util/immature.imageset/Contents.json b/Decred Wallet/Assets.xcassets/util/immature.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/immature.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/util/immature.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/immature.imageset/unnamed-2.png b/Decred Wallet/Assets.xcassets/util/immature.imageset/unnamed-2.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/immature.imageset/unnamed-2.png rename to Decred Wallet/Assets.xcassets/util/immature.imageset/unnamed-2.png diff --git a/decred_wallet/Assets.xcassets/util/live.imageset/Contents.json b/Decred Wallet/Assets.xcassets/util/live.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/live.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/util/live.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/live.imageset/unnamed-3.png b/Decred Wallet/Assets.xcassets/util/live.imageset/unnamed-3.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/live.imageset/unnamed-3.png rename to Decred Wallet/Assets.xcassets/util/live.imageset/unnamed-3.png diff --git a/decred_wallet/Assets.xcassets/util/nav-accounts.imageset/Contents.json b/Decred Wallet/Assets.xcassets/util/nav-accounts.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/nav-accounts.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/util/nav-accounts.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/nav-accounts.imageset/accounts.png b/Decred Wallet/Assets.xcassets/util/nav-accounts.imageset/accounts.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/nav-accounts.imageset/accounts.png rename to Decred Wallet/Assets.xcassets/util/nav-accounts.imageset/accounts.png diff --git a/decred_wallet/Assets.xcassets/util/paste.imageset/Contents.json b/Decred Wallet/Assets.xcassets/util/paste.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/paste.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/util/paste.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/paste.imageset/paste2.png b/Decred Wallet/Assets.xcassets/util/paste.imageset/paste2.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/paste.imageset/paste2.png rename to Decred Wallet/Assets.xcassets/util/paste.imageset/paste2.png diff --git a/decred_wallet/Assets.xcassets/util/right-menu.imageset/Contents.json b/Decred Wallet/Assets.xcassets/util/right-menu.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/right-menu.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/util/right-menu.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/right-menu.imageset/menu1.png b/Decred Wallet/Assets.xcassets/util/right-menu.imageset/menu1.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/right-menu.imageset/menu1.png rename to Decred Wallet/Assets.xcassets/util/right-menu.imageset/menu1.png diff --git a/decred_wallet/Assets.xcassets/util/right-menu.imageset/menu2.png b/Decred Wallet/Assets.xcassets/util/right-menu.imageset/menu2.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/right-menu.imageset/menu2.png rename to Decred Wallet/Assets.xcassets/util/right-menu.imageset/menu2.png diff --git a/decred_wallet/Assets.xcassets/util/right-menu.imageset/menu3.png b/Decred Wallet/Assets.xcassets/util/right-menu.imageset/menu3.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/right-menu.imageset/menu3.png rename to Decred Wallet/Assets.xcassets/util/right-menu.imageset/menu3.png diff --git a/decred_wallet/Assets.xcassets/util/sync.imageset/Contents.json b/Decred Wallet/Assets.xcassets/util/sync.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/sync.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/util/sync.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/sync.imageset/sync-1.png b/Decred Wallet/Assets.xcassets/util/sync.imageset/sync-1.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/sync.imageset/sync-1.png rename to Decred Wallet/Assets.xcassets/util/sync.imageset/sync-1.png diff --git a/decred_wallet/Assets.xcassets/util/sync.imageset/sync.png b/Decred Wallet/Assets.xcassets/util/sync.imageset/sync.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/sync.imageset/sync.png rename to Decred Wallet/Assets.xcassets/util/sync.imageset/sync.png diff --git a/decred_wallet/Assets.xcassets/util/vote.imageset/Contents.json b/Decred Wallet/Assets.xcassets/util/vote.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/vote.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/util/vote.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/vote.imageset/unnamed.png b/Decred Wallet/Assets.xcassets/util/vote.imageset/unnamed.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/vote.imageset/unnamed.png rename to Decred Wallet/Assets.xcassets/util/vote.imageset/unnamed.png diff --git a/decred_wallet/Assets.xcassets/util/warning.imageset/Contents.json b/Decred Wallet/Assets.xcassets/util/warning.imageset/Contents.json similarity index 100% rename from decred_wallet/Assets.xcassets/util/warning.imageset/Contents.json rename to Decred Wallet/Assets.xcassets/util/warning.imageset/Contents.json diff --git a/decred_wallet/Assets.xcassets/util/warning.imageset/warning-1.png b/Decred Wallet/Assets.xcassets/util/warning.imageset/warning-1.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/warning.imageset/warning-1.png rename to Decred Wallet/Assets.xcassets/util/warning.imageset/warning-1.png diff --git a/decred_wallet/Assets.xcassets/util/warning.imageset/warning.png b/Decred Wallet/Assets.xcassets/util/warning.imageset/warning.png similarity index 100% rename from decred_wallet/Assets.xcassets/util/warning.imageset/warning.png rename to Decred Wallet/Assets.xcassets/util/warning.imageset/warning.png diff --git a/decred_wallet/Base.lproj/LaunchScreen.storyboard b/Decred Wallet/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from decred_wallet/Base.lproj/LaunchScreen.storyboard rename to Decred Wallet/Base.lproj/LaunchScreen.storyboard diff --git a/decred_wallet/Base.lproj/Main.storyboard b/Decred Wallet/Base.lproj/Main.storyboard similarity index 100% rename from decred_wallet/Base.lproj/Main.storyboard rename to Decred Wallet/Base.lproj/Main.storyboard diff --git a/decred_wallet/Constants/Constants.swift b/Decred Wallet/Constants/Constants.swift similarity index 100% rename from decred_wallet/Constants/Constants.swift rename to Decred Wallet/Constants/Constants.swift diff --git a/decred_wallet/Constants/wordlist.txt b/Decred Wallet/Constants/wordlist.txt similarity index 100% rename from decred_wallet/Constants/wordlist.txt rename to Decred Wallet/Constants/wordlist.txt diff --git a/decred_wallet/Custom Views/Button.swift b/Decred Wallet/Custom Views/Button.swift similarity index 100% rename from decred_wallet/Custom Views/Button.swift rename to Decred Wallet/Custom Views/Button.swift diff --git a/decred_wallet/DcrdConnection/JsonEntities.swift b/Decred Wallet/DcrdConnection/JsonEntities.swift similarity index 100% rename from decred_wallet/DcrdConnection/JsonEntities.swift rename to Decred Wallet/DcrdConnection/JsonEntities.swift diff --git a/decred_wallet/DcrdConnection/ObserverProxy.h b/Decred Wallet/DcrdConnection/ObserverProxy.h similarity index 100% rename from decred_wallet/DcrdConnection/ObserverProxy.h rename to Decred Wallet/DcrdConnection/ObserverProxy.h diff --git a/decred_wallet/DcrdConnection/decred_wallet-Bridging-Header.h b/Decred Wallet/DcrdConnection/decred_wallet-Bridging-Header.h similarity index 100% rename from decred_wallet/DcrdConnection/decred_wallet-Bridging-Header.h rename to Decred Wallet/DcrdConnection/decred_wallet-Bridging-Header.h diff --git a/decred_wallet/Extensions/Extensions.swift b/Decred Wallet/Extensions/Extensions.swift similarity index 100% rename from decred_wallet/Extensions/Extensions.swift rename to Decred Wallet/Extensions/Extensions.swift diff --git a/decred_wallet/Extensions/String.swift b/Decred Wallet/Extensions/String.swift similarity index 100% rename from decred_wallet/Extensions/String.swift rename to Decred Wallet/Extensions/String.swift diff --git a/decred_wallet/Extensions/UIColor.swift b/Decred Wallet/Extensions/UIColor.swift similarity index 100% rename from decred_wallet/Extensions/UIColor.swift rename to Decred Wallet/Extensions/UIColor.swift diff --git a/decred_wallet/Extensions/UIViewController.swift b/Decred Wallet/Extensions/UIViewController.swift similarity index 100% rename from decred_wallet/Extensions/UIViewController.swift rename to Decred Wallet/Extensions/UIViewController.swift diff --git a/decred_wallet/Features/App Launch/StartScreenViewController.swift b/Decred Wallet/Features/App Launch/StartScreenViewController.swift similarity index 100% rename from decred_wallet/Features/App Launch/StartScreenViewController.swift rename to Decred Wallet/Features/App Launch/StartScreenViewController.swift diff --git a/decred_wallet/Features/History/TransactionHistoryViewController.swift b/Decred Wallet/Features/History/TransactionHistoryViewController.swift similarity index 100% rename from decred_wallet/Features/History/TransactionHistoryViewController.swift rename to Decred Wallet/Features/History/TransactionHistoryViewController.swift diff --git a/decred_wallet/Features/History/TransactionHistoryViewController.xib b/Decred Wallet/Features/History/TransactionHistoryViewController.xib similarity index 100% rename from decred_wallet/Features/History/TransactionHistoryViewController.xib rename to Decred Wallet/Features/History/TransactionHistoryViewController.xib diff --git a/decred_wallet/Features/History/TransactionTableViewCell.swift b/Decred Wallet/Features/History/TransactionTableViewCell.swift similarity index 100% rename from decred_wallet/Features/History/TransactionTableViewCell.swift rename to Decred Wallet/Features/History/TransactionTableViewCell.swift diff --git a/decred_wallet/Features/History/TransactionTableViewCell.xib b/Decred Wallet/Features/History/TransactionTableViewCell.xib similarity index 100% rename from decred_wallet/Features/History/TransactionTableViewCell.xib rename to Decred Wallet/Features/History/TransactionTableViewCell.xib diff --git a/decred_wallet/Features/Navigation Menu/MenuItem.swift b/Decred Wallet/Features/Navigation Menu/MenuItem.swift similarity index 100% rename from decred_wallet/Features/Navigation Menu/MenuItem.swift rename to Decred Wallet/Features/Navigation Menu/MenuItem.swift diff --git a/decred_wallet/Features/Navigation Menu/MenuItemCell.swift b/Decred Wallet/Features/Navigation Menu/MenuItemCell.swift similarity index 100% rename from decred_wallet/Features/Navigation Menu/MenuItemCell.swift rename to Decred Wallet/Features/Navigation Menu/MenuItemCell.swift diff --git a/decred_wallet/Features/Navigation Menu/MenuItemCell.xib b/Decred Wallet/Features/Navigation Menu/MenuItemCell.xib similarity index 100% rename from decred_wallet/Features/Navigation Menu/MenuItemCell.xib rename to Decred Wallet/Features/Navigation Menu/MenuItemCell.xib diff --git a/decred_wallet/Features/Navigation Menu/NavigationMenu.storyboard b/Decred Wallet/Features/Navigation Menu/NavigationMenu.storyboard similarity index 100% rename from decred_wallet/Features/Navigation Menu/NavigationMenu.storyboard rename to Decred Wallet/Features/Navigation Menu/NavigationMenu.storyboard diff --git a/decred_wallet/Features/Navigation Menu/NavigationMenuViewController.swift b/Decred Wallet/Features/Navigation Menu/NavigationMenuViewController.swift similarity index 100% rename from decred_wallet/Features/Navigation Menu/NavigationMenuViewController.swift rename to Decred Wallet/Features/Navigation Menu/NavigationMenuViewController.swift diff --git a/decred_wallet/Features/Overview/Overview.storyboard b/Decred Wallet/Features/Overview/Overview.storyboard similarity index 100% rename from decred_wallet/Features/Overview/Overview.storyboard rename to Decred Wallet/Features/Overview/Overview.storyboard diff --git a/decred_wallet/Features/Overview/OverviewViewController.swift b/Decred Wallet/Features/Overview/OverviewViewController.swift similarity index 100% rename from decred_wallet/Features/Overview/OverviewViewController.swift rename to Decred Wallet/Features/Overview/OverviewViewController.swift diff --git a/decred_wallet/Features/Overview/SyncProgressViewController.swift b/Decred Wallet/Features/Overview/SyncProgressViewController.swift similarity index 100% rename from decred_wallet/Features/Overview/SyncProgressViewController.swift rename to Decred Wallet/Features/Overview/SyncProgressViewController.swift diff --git a/decred_wallet/Features/Security/PasswordSetupViewController.swift b/Decred Wallet/Features/Security/PasswordSetupViewController.swift similarity index 100% rename from decred_wallet/Features/Security/PasswordSetupViewController.swift rename to Decred Wallet/Features/Security/PasswordSetupViewController.swift diff --git a/decred_wallet/Features/Security/PinInputView.swift b/Decred Wallet/Features/Security/PinInputView.swift similarity index 100% rename from decred_wallet/Features/Security/PinInputView.swift rename to Decred Wallet/Features/Security/PinInputView.swift diff --git a/decred_wallet/Features/Security/PinPasswordStrength.swift b/Decred Wallet/Features/Security/PinPasswordStrength.swift similarity index 100% rename from decred_wallet/Features/Security/PinPasswordStrength.swift rename to Decred Wallet/Features/Security/PinPasswordStrength.swift diff --git a/decred_wallet/Features/Security/RequestPasswordViewController.swift b/Decred Wallet/Features/Security/RequestPasswordViewController.swift similarity index 100% rename from decred_wallet/Features/Security/RequestPasswordViewController.swift rename to Decred Wallet/Features/Security/RequestPasswordViewController.swift diff --git a/decred_wallet/Features/Security/RequestPinViewController.swift b/Decred Wallet/Features/Security/RequestPinViewController.swift similarity index 100% rename from decred_wallet/Features/Security/RequestPinViewController.swift rename to Decred Wallet/Features/Security/RequestPinViewController.swift diff --git a/decred_wallet/Features/Security/Security.storyboard b/Decred Wallet/Features/Security/Security.storyboard similarity index 100% rename from decred_wallet/Features/Security/Security.storyboard rename to Decred Wallet/Features/Security/Security.storyboard diff --git a/decred_wallet/Features/Security/SecurityBaseViewController.swift b/Decred Wallet/Features/Security/SecurityBaseViewController.swift similarity index 100% rename from decred_wallet/Features/Security/SecurityBaseViewController.swift rename to Decred Wallet/Features/Security/SecurityBaseViewController.swift diff --git a/decred_wallet/Features/Security/SecurityViewController.swift b/Decred Wallet/Features/Security/SecurityViewController.swift similarity index 100% rename from decred_wallet/Features/Security/SecurityViewController.swift rename to Decred Wallet/Features/Security/SecurityViewController.swift diff --git a/decred_wallet/Features/Wallet Setup/ConfirmNewWalletSeedViewController.swift b/Decred Wallet/Features/Wallet Setup/ConfirmNewWalletSeedViewController.swift similarity index 100% rename from decred_wallet/Features/Wallet Setup/ConfirmNewWalletSeedViewController.swift rename to Decred Wallet/Features/Wallet Setup/ConfirmNewWalletSeedViewController.swift diff --git a/decred_wallet/Features/Wallet Setup/CreateNewWalletViewController.swift b/Decred Wallet/Features/Wallet Setup/CreateNewWalletViewController.swift similarity index 100% rename from decred_wallet/Features/Wallet Setup/CreateNewWalletViewController.swift rename to Decred Wallet/Features/Wallet Setup/CreateNewWalletViewController.swift diff --git a/decred_wallet/Features/Wallet Setup/RecoverExistingWalletViewController.swift b/Decred Wallet/Features/Wallet Setup/RecoverExistingWalletViewController.swift similarity index 100% rename from decred_wallet/Features/Wallet Setup/RecoverExistingWalletViewController.swift rename to Decred Wallet/Features/Wallet Setup/RecoverExistingWalletViewController.swift diff --git a/decred_wallet/Features/Wallet Setup/WalletSetup.storyboard b/Decred Wallet/Features/Wallet Setup/WalletSetup.storyboard similarity index 100% rename from decred_wallet/Features/Wallet Setup/WalletSetup.storyboard rename to Decred Wallet/Features/Wallet Setup/WalletSetup.storyboard diff --git a/decred_wallet/Features/Wallet Setup/WalletSetupBaseViewController.swift b/Decred Wallet/Features/Wallet Setup/WalletSetupBaseViewController.swift similarity index 100% rename from decred_wallet/Features/Wallet Setup/WalletSetupBaseViewController.swift rename to Decred Wallet/Features/Wallet Setup/WalletSetupBaseViewController.swift diff --git a/decred_wallet/Features/Wallet Setup/WalletSetupViewController.swift b/Decred Wallet/Features/Wallet Setup/WalletSetupViewController.swift similarity index 100% rename from decred_wallet/Features/Wallet Setup/WalletSetupViewController.swift rename to Decred Wallet/Features/Wallet Setup/WalletSetupViewController.swift diff --git a/decred_wallet/Features/Wallet Utils/SpendingPinOrPassword.swift b/Decred Wallet/Features/Wallet Utils/SpendingPinOrPassword.swift similarity index 100% rename from decred_wallet/Features/Wallet Utils/SpendingPinOrPassword.swift rename to Decred Wallet/Features/Wallet Utils/SpendingPinOrPassword.swift diff --git a/decred_wallet/Features/Wallet Utils/StartupPinOrPassword.swift b/Decred Wallet/Features/Wallet Utils/StartupPinOrPassword.swift similarity index 100% rename from decred_wallet/Features/Wallet Utils/StartupPinOrPassword.swift rename to Decred Wallet/Features/Wallet Utils/StartupPinOrPassword.swift diff --git a/decred_wallet/Features/Wallet Utils/SyncDecodableDataTypes.swift b/Decred Wallet/Features/Wallet Utils/SyncDecodableDataTypes.swift similarity index 100% rename from decred_wallet/Features/Wallet Utils/SyncDecodableDataTypes.swift rename to Decred Wallet/Features/Wallet Utils/SyncDecodableDataTypes.swift diff --git a/decred_wallet/Features/Wallet Utils/Syncer.swift b/Decred Wallet/Features/Wallet Utils/Syncer.swift similarity index 100% rename from decred_wallet/Features/Wallet Utils/Syncer.swift rename to Decred Wallet/Features/Wallet Utils/Syncer.swift diff --git a/decred_wallet/Features/Wallet Utils/TransactionNotification.swift b/Decred Wallet/Features/Wallet Utils/TransactionNotification.swift similarity index 100% rename from decred_wallet/Features/Wallet Utils/TransactionNotification.swift rename to Decred Wallet/Features/Wallet Utils/TransactionNotification.swift diff --git a/decred_wallet/Features/Wallet Utils/WalletLoader.swift b/Decred Wallet/Features/Wallet Utils/WalletLoader.swift similarity index 100% rename from decred_wallet/Features/Wallet Utils/WalletLoader.swift rename to Decred Wallet/Features/Wallet Utils/WalletLoader.swift diff --git a/decred_wallet/Fonts/Inconsolata/inconsolata_regular.ttf b/Decred Wallet/Fonts/Inconsolata/inconsolata_regular.ttf similarity index 100% rename from decred_wallet/Fonts/Inconsolata/inconsolata_regular.ttf rename to Decred Wallet/Fonts/Inconsolata/inconsolata_regular.ttf diff --git a/decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-Black.ttf b/Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-Black.ttf similarity index 100% rename from decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-Black.ttf rename to Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-Black.ttf diff --git a/decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-BlackItalic.ttf b/Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-BlackItalic.ttf similarity index 100% rename from decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-BlackItalic.ttf rename to Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-BlackItalic.ttf diff --git a/decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-Bold.ttf b/Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-Bold.ttf similarity index 100% rename from decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-Bold.ttf rename to Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-Bold.ttf diff --git a/decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-BoldItalic.ttf b/Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-BoldItalic.ttf similarity index 100% rename from decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-BoldItalic.ttf rename to Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-BoldItalic.ttf diff --git a/decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-ExtraLight.ttf b/Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-ExtraLight.ttf similarity index 100% rename from decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-ExtraLight.ttf rename to Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-ExtraLight.ttf diff --git a/decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-ExtraLightItalic.ttf b/Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-ExtraLightItalic.ttf similarity index 100% rename from decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-ExtraLightItalic.ttf rename to Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-ExtraLightItalic.ttf diff --git a/decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-Italic.ttf b/Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-Italic.ttf similarity index 100% rename from decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-Italic.ttf rename to Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-Italic.ttf diff --git a/decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-Light.ttf b/Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-Light.ttf similarity index 100% rename from decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-Light.ttf rename to Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-Light.ttf diff --git a/decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-LightItalic.ttf b/Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-LightItalic.ttf similarity index 100% rename from decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-LightItalic.ttf rename to Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-LightItalic.ttf diff --git a/decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-Regular.ttf b/Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-Regular.ttf similarity index 100% rename from decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-Regular.ttf rename to Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-Regular.ttf diff --git a/decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-SemiBold.ttf b/Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-SemiBold.ttf similarity index 100% rename from decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-SemiBold.ttf rename to Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-SemiBold.ttf diff --git a/decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-SemiBoldItalic.ttf b/Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-SemiBoldItalic.ttf similarity index 100% rename from decred_wallet/Fonts/Source_Sans_Pro/SourceSansPro-SemiBoldItalic.ttf rename to Decred Wallet/Fonts/Source_Sans_Pro/SourceSansPro-SemiBoldItalic.ttf diff --git a/decred_wallet/ImageHeaderView.xib b/Decred Wallet/ImageHeaderView.xib similarity index 100% rename from decred_wallet/ImageHeaderView.xib rename to Decred Wallet/ImageHeaderView.xib diff --git a/decred_wallet/Info.plist b/Decred Wallet/Info.plist similarity index 100% rename from decred_wallet/Info.plist rename to Decred Wallet/Info.plist diff --git a/decred_wallet/Resources/bg-button.png b/Decred Wallet/Resources/bg-button.png similarity index 100% rename from decred_wallet/Resources/bg-button.png rename to Decred Wallet/Resources/bg-button.png diff --git a/decred_wallet/Resources/bg-button@3x.png b/Decred Wallet/Resources/bg-button@3x.png similarity index 100% rename from decred_wallet/Resources/bg-button@3x.png rename to Decred Wallet/Resources/bg-button@3x.png diff --git a/decred_wallet/Resources/dcr-logo.png b/Decred Wallet/Resources/dcr-logo.png similarity index 100% rename from decred_wallet/Resources/dcr-logo.png rename to Decred Wallet/Resources/dcr-logo.png diff --git a/decred_wallet/Resources/progress bar-1s-200px.gif b/Decred Wallet/Resources/progress bar-1s-200px.gif similarity index 100% rename from decred_wallet/Resources/progress bar-1s-200px.gif rename to Decred Wallet/Resources/progress bar-1s-200px.gif diff --git a/decred_wallet/SecurityMenuViewController.swift b/Decred Wallet/SecurityMenuViewController.swift similarity index 100% rename from decred_wallet/SecurityMenuViewController.swift rename to Decred Wallet/SecurityMenuViewController.swift diff --git a/decred_wallet/SingleInstance.swift b/Decred Wallet/SingleInstance.swift similarity index 100% rename from decred_wallet/SingleInstance.swift rename to Decred Wallet/SingleInstance.swift diff --git a/decred_wallet/Storyboards.swift b/Decred Wallet/Storyboards.swift similarity index 100% rename from decred_wallet/Storyboards.swift rename to Decred Wallet/Storyboards.swift diff --git a/decred_wallet/UIApplication.swift b/Decred Wallet/UIApplication.swift similarity index 100% rename from decred_wallet/UIApplication.swift rename to Decred Wallet/UIApplication.swift diff --git a/decred_wallet/Utils.swift b/Decred Wallet/Utils.swift similarity index 100% rename from decred_wallet/Utils.swift rename to Decred Wallet/Utils.swift diff --git a/decred_wallet/extra_view/AccountsHeaderView/AccountsHeaderView.swift b/Decred Wallet/extra_view/AccountsHeaderView/AccountsHeaderView.swift similarity index 100% rename from decred_wallet/extra_view/AccountsHeaderView/AccountsHeaderView.swift rename to Decred Wallet/extra_view/AccountsHeaderView/AccountsHeaderView.swift diff --git a/decred_wallet/extra_view/AccountsHeaderView/AccountsHeaderView.xib b/Decred Wallet/extra_view/AccountsHeaderView/AccountsHeaderView.xib similarity index 100% rename from decred_wallet/extra_view/AccountsHeaderView/AccountsHeaderView.xib rename to Decred Wallet/extra_view/AccountsHeaderView/AccountsHeaderView.xib diff --git a/decred_wallet/extra_view/ContouredButton.swift b/Decred Wallet/extra_view/ContouredButton.swift similarity index 100% rename from decred_wallet/extra_view/ContouredButton.swift rename to Decred Wallet/extra_view/ContouredButton.swift diff --git a/decred_wallet/extra_view/DropDownSearchField.swift b/Decred Wallet/extra_view/DropDownSearchField.swift similarity index 100% rename from decred_wallet/extra_view/DropDownSearchField.swift rename to Decred Wallet/extra_view/DropDownSearchField.swift diff --git a/decred_wallet/extra_view/ImageHeaderView.swift b/Decred Wallet/extra_view/ImageHeaderView.swift similarity index 100% rename from decred_wallet/extra_view/ImageHeaderView.swift rename to Decred Wallet/extra_view/ImageHeaderView.swift diff --git a/decred_wallet/extra_view/TextFieldDoneButton.swift b/Decred Wallet/extra_view/TextFieldDoneButton.swift similarity index 100% rename from decred_wallet/extra_view/TextFieldDoneButton.swift rename to Decred Wallet/extra_view/TextFieldDoneButton.swift diff --git a/decred_wallet/extra_view/UIImageView.swift b/Decred Wallet/extra_view/UIImageView.swift similarity index 100% rename from decred_wallet/extra_view/UIImageView.swift rename to Decred Wallet/extra_view/UIImageView.swift diff --git a/decred_wallet/extra_view/UITableViewExtension.swift b/Decred Wallet/extra_view/UITableViewExtension.swift similarity index 100% rename from decred_wallet/extra_view/UITableViewExtension.swift rename to Decred Wallet/extra_view/UITableViewExtension.swift diff --git a/decred_wallet/extra_view/UIView.swift b/Decred Wallet/extra_view/UIView.swift similarity index 100% rename from decred_wallet/extra_view/UIView.swift rename to Decred Wallet/extra_view/UIView.swift diff --git a/decred_wallet/mainnet.xcconfig b/Decred Wallet/mainnet.xcconfig similarity index 100% rename from decred_wallet/mainnet.xcconfig rename to Decred Wallet/mainnet.xcconfig diff --git a/decred_wallet/splashLoader.gif b/Decred Wallet/splashLoader.gif similarity index 100% rename from decred_wallet/splashLoader.gif rename to Decred Wallet/splashLoader.gif diff --git a/decred_wallet/splashLogo.gif b/Decred Wallet/splashLogo.gif similarity index 100% rename from decred_wallet/splashLogo.gif rename to Decred Wallet/splashLogo.gif diff --git a/decred_wallet/table_view_cell/AccountDataCell.swift b/Decred Wallet/table_view_cell/AccountDataCell.swift similarity index 100% rename from decred_wallet/table_view_cell/AccountDataCell.swift rename to Decred Wallet/table_view_cell/AccountDataCell.swift diff --git a/decred_wallet/table_view_cell/AccountDataCell.xib b/Decred Wallet/table_view_cell/AccountDataCell.xib similarity index 100% rename from decred_wallet/table_view_cell/AccountDataCell.xib rename to Decred Wallet/table_view_cell/AccountDataCell.xib diff --git a/decred_wallet/table_view_cell/BaseTableViewCell.swift b/Decred Wallet/table_view_cell/BaseTableViewCell.swift similarity index 100% rename from decred_wallet/table_view_cell/BaseTableViewCell.swift rename to Decred Wallet/table_view_cell/BaseTableViewCell.swift diff --git a/decred_wallet/table_view_cell/ConfirmSeedViewCell.swift b/Decred Wallet/table_view_cell/ConfirmSeedViewCell.swift similarity index 100% rename from decred_wallet/table_view_cell/ConfirmSeedViewCell.swift rename to Decred Wallet/table_view_cell/ConfirmSeedViewCell.swift diff --git a/decred_wallet/table_view_cell/RecoveryWalletSeedWordCell.swift b/Decred Wallet/table_view_cell/RecoveryWalletSeedWordCell.swift similarity index 100% rename from decred_wallet/table_view_cell/RecoveryWalletSeedWordCell.swift rename to Decred Wallet/table_view_cell/RecoveryWalletSeedWordCell.swift diff --git a/decred_wallet/table_view_cell/SeedCheckActiveCellView.swift b/Decred Wallet/table_view_cell/SeedCheckActiveCellView.swift similarity index 100% rename from decred_wallet/table_view_cell/SeedCheckActiveCellView.swift rename to Decred Wallet/table_view_cell/SeedCheckActiveCellView.swift diff --git a/decred_wallet/table_view_cell/SeedConfirmTableViewCell.swift b/Decred Wallet/table_view_cell/SeedConfirmTableViewCell.swift similarity index 100% rename from decred_wallet/table_view_cell/SeedConfirmTableViewCell.swift rename to Decred Wallet/table_view_cell/SeedConfirmTableViewCell.swift diff --git a/decred_wallet/table_view_cell/TransactionHistoryTableViewCell.swift b/Decred Wallet/table_view_cell/TransactionHistoryTableViewCell.swift similarity index 100% rename from decred_wallet/table_view_cell/TransactionHistoryTableViewCell.swift rename to Decred Wallet/table_view_cell/TransactionHistoryTableViewCell.swift diff --git a/decred_wallet/table_view_cell/TransactionHistoryTableViewCell.xib b/Decred Wallet/table_view_cell/TransactionHistoryTableViewCell.xib similarity index 100% rename from decred_wallet/table_view_cell/TransactionHistoryTableViewCell.xib rename to Decred Wallet/table_view_cell/TransactionHistoryTableViewCell.xib diff --git a/decred_wallet/testnet.xcconfig b/Decred Wallet/testnet.xcconfig similarity index 100% rename from decred_wallet/testnet.xcconfig rename to Decred Wallet/testnet.xcconfig diff --git a/decred_wallet/view_controller/AccountViewController.swift b/Decred Wallet/view_controller/AccountViewController.swift similarity index 100% rename from decred_wallet/view_controller/AccountViewController.swift rename to Decred Wallet/view_controller/AccountViewController.swift diff --git a/decred_wallet/view_controller/AddAcountViewController.swift b/Decred Wallet/view_controller/AddAcountViewController.swift similarity index 100% rename from decred_wallet/view_controller/AddAcountViewController.swift rename to Decred Wallet/view_controller/AddAcountViewController.swift diff --git a/decred_wallet/view_controller/ConfirmToSendFundController/ConfirmToSendFundViewController.swift b/Decred Wallet/view_controller/ConfirmToSendFundController/ConfirmToSendFundViewController.swift similarity index 100% rename from decred_wallet/view_controller/ConfirmToSendFundController/ConfirmToSendFundViewController.swift rename to Decred Wallet/view_controller/ConfirmToSendFundController/ConfirmToSendFundViewController.swift diff --git a/decred_wallet/view_controller/ConfirmToSendFundController/ConfirmToSendFundViewPINController.swift b/Decred Wallet/view_controller/ConfirmToSendFundController/ConfirmToSendFundViewPINController.swift similarity index 100% rename from decred_wallet/view_controller/ConfirmToSendFundController/ConfirmToSendFundViewPINController.swift rename to Decred Wallet/view_controller/ConfirmToSendFundController/ConfirmToSendFundViewPINController.swift diff --git a/decred_wallet/view_controller/ConfirmToSendFundController/WifiConfirmationController.swift b/Decred Wallet/view_controller/ConfirmToSendFundController/WifiConfirmationController.swift similarity index 100% rename from decred_wallet/view_controller/ConfirmToSendFundController/WifiConfirmationController.swift rename to Decred Wallet/view_controller/ConfirmToSendFundController/WifiConfirmationController.swift diff --git a/decred_wallet/view_controller/CurrencyOptionTableViewController.swift b/Decred Wallet/view_controller/CurrencyOptionTableViewController.swift similarity index 100% rename from decred_wallet/view_controller/CurrencyOptionTableViewController.swift rename to Decred Wallet/view_controller/CurrencyOptionTableViewController.swift diff --git a/decred_wallet/view_controller/HelpViewController.swift b/Decred Wallet/view_controller/HelpViewController.swift similarity index 100% rename from decred_wallet/view_controller/HelpViewController.swift rename to Decred Wallet/view_controller/HelpViewController.swift diff --git a/decred_wallet/view_controller/NetworkModeTableViewController.swift b/Decred Wallet/view_controller/NetworkModeTableViewController.swift similarity index 100% rename from decred_wallet/view_controller/NetworkModeTableViewController.swift rename to Decred Wallet/view_controller/NetworkModeTableViewController.swift diff --git a/decred_wallet/view_controller/NodeLogViewController.swift b/Decred Wallet/view_controller/NodeLogViewController.swift similarity index 100% rename from decred_wallet/view_controller/NodeLogViewController.swift rename to Decred Wallet/view_controller/NodeLogViewController.swift diff --git a/decred_wallet/view_controller/PeerSetTableViewController.swift b/Decred Wallet/view_controller/PeerSetTableViewController.swift similarity index 100% rename from decred_wallet/view_controller/PeerSetTableViewController.swift rename to Decred Wallet/view_controller/PeerSetTableViewController.swift diff --git a/decred_wallet/view_controller/ReceiveViewController.swift b/Decred Wallet/view_controller/ReceiveViewController.swift similarity index 100% rename from decred_wallet/view_controller/ReceiveViewController.swift rename to Decred Wallet/view_controller/ReceiveViewController.swift diff --git a/decred_wallet/view_controller/SendCompletedViewController/SendCompletedViewController.storyboard b/Decred Wallet/view_controller/SendCompletedViewController/SendCompletedViewController.storyboard similarity index 100% rename from decred_wallet/view_controller/SendCompletedViewController/SendCompletedViewController.storyboard rename to Decred Wallet/view_controller/SendCompletedViewController/SendCompletedViewController.storyboard diff --git a/decred_wallet/view_controller/SendCompletedViewController/SendCompletedViewController.swift b/Decred Wallet/view_controller/SendCompletedViewController/SendCompletedViewController.swift similarity index 100% rename from decred_wallet/view_controller/SendCompletedViewController/SendCompletedViewController.swift rename to Decred Wallet/view_controller/SendCompletedViewController/SendCompletedViewController.swift diff --git a/decred_wallet/view_controller/SendViewController.swift b/Decred Wallet/view_controller/SendViewController.swift similarity index 100% rename from decred_wallet/view_controller/SendViewController.swift rename to Decred Wallet/view_controller/SendViewController.swift diff --git a/decred_wallet/view_controller/ServerSetTableViewController.swift b/Decred Wallet/view_controller/ServerSetTableViewController.swift similarity index 100% rename from decred_wallet/view_controller/ServerSetTableViewController.swift rename to Decred Wallet/view_controller/ServerSetTableViewController.swift diff --git a/decred_wallet/view_controller/SettingsController.swift b/Decred Wallet/view_controller/SettingsController.swift similarity index 100% rename from decred_wallet/view_controller/SettingsController.swift rename to Decred Wallet/view_controller/SettingsController.swift diff --git a/decred_wallet/view_controller/TransactionFullDetails/Cells/TransactionDetailCell.swift b/Decred Wallet/view_controller/TransactionFullDetails/Cells/TransactionDetailCell.swift similarity index 100% rename from decred_wallet/view_controller/TransactionFullDetails/Cells/TransactionDetailCell.swift rename to Decred Wallet/view_controller/TransactionFullDetails/Cells/TransactionDetailCell.swift diff --git a/decred_wallet/view_controller/TransactionFullDetails/Cells/TransactionDetailCell.xib b/Decred Wallet/view_controller/TransactionFullDetails/Cells/TransactionDetailCell.xib similarity index 100% rename from decred_wallet/view_controller/TransactionFullDetails/Cells/TransactionDetailCell.xib rename to Decred Wallet/view_controller/TransactionFullDetails/Cells/TransactionDetailCell.xib diff --git a/decred_wallet/view_controller/TransactionFullDetails/Cells/TransactiontInputDetails.swift b/Decred Wallet/view_controller/TransactionFullDetails/Cells/TransactiontInputDetails.swift similarity index 100% rename from decred_wallet/view_controller/TransactionFullDetails/Cells/TransactiontInputDetails.swift rename to Decred Wallet/view_controller/TransactionFullDetails/Cells/TransactiontInputDetails.swift diff --git a/decred_wallet/view_controller/TransactionFullDetails/Cells/TransactiontInputDetails.xib b/Decred Wallet/view_controller/TransactionFullDetails/Cells/TransactiontInputDetails.xib similarity index 100% rename from decred_wallet/view_controller/TransactionFullDetails/Cells/TransactiontInputDetails.xib rename to Decred Wallet/view_controller/TransactionFullDetails/Cells/TransactiontInputDetails.xib diff --git a/decred_wallet/view_controller/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.swift b/Decred Wallet/view_controller/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.swift similarity index 100% rename from decred_wallet/view_controller/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.swift rename to Decred Wallet/view_controller/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.swift diff --git a/decred_wallet/view_controller/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.xib b/Decred Wallet/view_controller/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.xib similarity index 100% rename from decred_wallet/view_controller/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.xib rename to Decred Wallet/view_controller/TransactionFullDetails/Cells/TransactiontOutputDetailsCell.xib diff --git a/decred_wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.storyboard b/Decred Wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.storyboard similarity index 100% rename from decred_wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.storyboard rename to Decred Wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.storyboard diff --git a/decred_wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift b/Decred Wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift similarity index 100% rename from decred_wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift rename to Decred Wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift diff --git a/decred_wallet/view_controller/WalletLogViewController.swift b/Decred Wallet/view_controller/WalletLogViewController.swift similarity index 100% rename from decred_wallet/view_controller/WalletLogViewController.swift rename to Decred Wallet/view_controller/WalletLogViewController.swift diff --git a/decred_wallet/view_controller/certificateViewController.swift b/Decred Wallet/view_controller/certificateViewController.swift similarity index 100% rename from decred_wallet/view_controller/certificateViewController.swift rename to Decred Wallet/view_controller/certificateViewController.swift diff --git a/decred_wallet/view_util/Data.swift b/Decred Wallet/view_util/Data.swift similarity index 100% rename from decred_wallet/view_util/Data.swift rename to Decred Wallet/view_util/Data.swift diff --git a/decred_wallet/view_util/DropMenuButton.swift b/Decred Wallet/view_util/DropMenuButton.swift similarity index 100% rename from decred_wallet/view_util/DropMenuButton.swift rename to Decred Wallet/view_util/DropMenuButton.swift diff --git a/decred_wallet/view_util/UIIMage.swift b/Decred Wallet/view_util/UIIMage.swift similarity index 100% rename from decred_wallet/view_util/UIIMage.swift rename to Decred Wallet/view_util/UIIMage.swift diff --git a/decred_wallet/view_util/customUImage.swift b/Decred Wallet/view_util/customUImage.swift similarity index 100% rename from decred_wallet/view_util/customUImage.swift rename to Decred Wallet/view_util/customUImage.swift diff --git a/decred_wallet/view_util/keyPadButton.swift b/Decred Wallet/view_util/keyPadButton.swift similarity index 100% rename from decred_wallet/view_util/keyPadButton.swift rename to Decred Wallet/view_util/keyPadButton.swift diff --git a/Podfile b/Podfile index 996498012..392be58ba 100644 --- a/Podfile +++ b/Podfile @@ -1,10 +1,11 @@ # Uncomment the next line to define a global platform for your project platform :ios, '9.0' -target 'decred_wallet' do +target 'Decred Wallet' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! + # use swift5 branch pending when cocoapods gets updated with official support for swift 5 pod 'SlideMenuControllerSwift', :git => 'https://github.com/itswisdomagain/SlideMenuControllerSwift.git', :branch => 'swift5' pod 'JGProgressHUD' pod 'QRCodeReader.swift' diff --git a/Podfile.lock b/Podfile.lock index eb3d6abcd..59f631087 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -37,6 +37,6 @@ SPEC CHECKSUMS: QRCodeReader.swift: 373a389fe9a22d513c879a32a6f647c58f4ef572 SlideMenuControllerSwift: f9ec1ad1a95d211324d25b15dcdbc94881596716 -PODFILE CHECKSUM: 7a79c5bca6d524b00fa23bee2170780f4ce11048 +PODFILE CHECKSUM: 7da2d820dc0020e8a212c85fd7c1eae0ee0df943 COCOAPODS: 1.6.1 diff --git a/decred_wallet.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/decred_wallet.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 746b114cf..000000000 --- a/decred_wallet.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - From 1bbb2a067e2a0fc7f5fb8be486e1f421e1024292 Mon Sep 17 00:00:00 2001 From: Wisdom Arerosuoghene Date: Fri, 17 May 2019 22:14:48 +0100 Subject: [PATCH 3/8] restore fabric configuration --- Decred Wallet.xcodeproj/project.pbxproj | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/Decred Wallet.xcodeproj/project.pbxproj b/Decred Wallet.xcodeproj/project.pbxproj index 1923339b4..f9c2628b2 100644 --- a/Decred Wallet.xcodeproj/project.pbxproj +++ b/Decred Wallet.xcodeproj/project.pbxproj @@ -669,6 +669,7 @@ B3B4698C228F0C2D00A68EDD /* Frameworks */, B3B4698D228F0C2D00A68EDD /* Resources */, 4F78FCD610D2365C6A93DE7C /* [CP] Embed Pods Frameworks */, + B30A37D0228F59B900F78629 /* ShellScript */, ); buildRules = ( ); @@ -810,6 +811,23 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; + B30A37D0228F59B900F78629 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Fabric/run\" 7e7665339b679dfd7ad19ebb8e859867ade8ca99 295d819cb24910fa414d5e1216b56f2a5730cb0d910f1d6739d0390346d0a69a\n"; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -958,7 +976,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; @@ -1124,7 +1142,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; From eac30b84bfa297894570bf99874d37f7bb2af3f7 Mon Sep 17 00:00:00 2001 From: Wisdom Arerosuoghene Date: Fri, 17 May 2019 22:28:57 +0100 Subject: [PATCH 4/8] reduce target ios version, add istestnet swift flag --- Decred Wallet.xcodeproj/project.pbxproj | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Decred Wallet.xcodeproj/project.pbxproj b/Decred Wallet.xcodeproj/project.pbxproj index f9c2628b2..e8632ee42 100644 --- a/Decred Wallet.xcodeproj/project.pbxproj +++ b/Decred Wallet.xcodeproj/project.pbxproj @@ -993,10 +993,11 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.1; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; + OTHER_SWIFT_FLAGS = "-DIsTestnet"; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -1073,9 +1074,10 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.1; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; + OTHER_SWIFT_FLAGS = "-DIsTestnet"; SDKROOT = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; @@ -1159,7 +1161,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.1; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -1215,7 +1217,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.1; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SDKROOT = iphoneos; From 0d1e01934abc929a400fb71e3b0dc67e3017e1cb Mon Sep 17 00:00:00 2001 From: Wisdom Arerosuoghene Date: Sat, 18 May 2019 01:15:12 +0100 Subject: [PATCH 5/8] correct implementation f testnet/mainnet schemes config --- Decred Wallet.xcodeproj/project.pbxproj | 104 +++++++------- Decred Wallet/AppDelegate.swift | 25 +++- Decred Wallet/BuildConfig.swift | 21 +++ Decred Wallet/Constants/Constants.swift | 6 - Decred Wallet/DcrdConnection/ObserverProxy.h | 55 -------- .../decred_wallet-Bridging-Header.h | 5 - .../StartScreenViewController.swift | 2 +- .../History/TransactionTableViewCell.swift | 3 +- .../NavigationMenuViewController.swift | 2 +- .../Overview/SyncProgressViewController.swift | 6 +- .../RecoverExistingWalletViewController.swift | 14 +- .../WalletSetupViewController.swift | 16 +-- .../Features/Wallet Utils/WalletLoader.swift | 6 +- Decred Wallet/Info.plist | 130 ++++++++---------- Decred Wallet/UIApplication.swift | 30 ---- Decred Wallet/Utils.swift | 4 - Decred Wallet/mainnet.xcconfig | 16 --- .../table_view_cell/AccountDataCell.swift | 2 +- Decred Wallet/testnet.xcconfig | 16 --- .../view_controller/SendViewController.swift | 2 +- .../view_controller/SettingsController.swift | 12 +- .../WalletLogViewController.swift | 4 +- 22 files changed, 170 insertions(+), 311 deletions(-) create mode 100644 Decred Wallet/BuildConfig.swift delete mode 100644 Decred Wallet/DcrdConnection/ObserverProxy.h delete mode 100644 Decred Wallet/DcrdConnection/decred_wallet-Bridging-Header.h delete mode 100644 Decred Wallet/UIApplication.swift delete mode 100644 Decred Wallet/mainnet.xcconfig delete mode 100644 Decred Wallet/testnet.xcconfig diff --git a/Decred Wallet.xcodeproj/project.pbxproj b/Decred Wallet.xcodeproj/project.pbxproj index e8632ee42..a8731af23 100644 --- a/Decred Wallet.xcodeproj/project.pbxproj +++ b/Decred Wallet.xcodeproj/project.pbxproj @@ -7,7 +7,8 @@ objects = { /* Begin PBXBuildFile section */ - 90D92CC00BD5D9DFA2B26DE6 /* Pods_Decred_Wallet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABCADD99AF2E986CC915F7D8 /* Pods_Decred_Wallet.framework */; }; + 7D66B4CA3456FF02B98D7834 /* Pods_Decred_Wallet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A4F4B4098858CBBF8CB6882 /* Pods_Decred_Wallet.framework */; }; + B39BDC4D228F798300F3FB55 /* BuildConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = B39BDC4C228F798300F3FB55 /* BuildConfig.swift */; }; B3B46993228F0C2E00A68EDD /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46992228F0C2E00A68EDD /* AppDelegate.swift */; }; B3B46998228F0C2E00A68EDD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B3B46996228F0C2E00A68EDD /* Main.storyboard */; }; B3B4699A228F0C2E00A68EDD /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B3B46999228F0C2E00A68EDD /* Assets.xcassets */; }; @@ -81,7 +82,6 @@ B3B46A40228F0F6700A68EDD /* bg-button.png in Resources */ = {isa = PBXBuildFile; fileRef = B3B46A3C228F0F6700A68EDD /* bg-button.png */; }; B3B46A41228F0F6700A68EDD /* dcr-logo.png in Resources */ = {isa = PBXBuildFile; fileRef = B3B46A3D228F0F6700A68EDD /* dcr-logo.png */; }; B3B46A42228F0F6700A68EDD /* progress bar-1s-200px.gif in Resources */ = {isa = PBXBuildFile; fileRef = B3B46A3E228F0F6700A68EDD /* progress bar-1s-200px.gif */; }; - B3B46A85228F0F7D00A68EDD /* UIApplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A47228F0F7B00A68EDD /* UIApplication.swift */; }; B3B46A86228F0F7D00A68EDD /* DropMenuButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A49228F0F7B00A68EDD /* DropMenuButton.swift */; }; B3B46A87228F0F7D00A68EDD /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A4A228F0F7B00A68EDD /* Data.swift */; }; B3B46A88228F0F7D00A68EDD /* UIIMage.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B46A4B228F0F7B00A68EDD /* UIIMage.swift */; }; @@ -132,12 +132,11 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 1A9AD3D953D67328ACD9BD02 /* Pods-Decred Wallet.testnet debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred Wallet.testnet debug.xcconfig"; path = "Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet.testnet debug.xcconfig"; sourceTree = ""; }; - 254BAB0B762982CE1554D68E /* Pods-Decred Wallet.mainnet debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred Wallet.mainnet debug.xcconfig"; path = "Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet.mainnet debug.xcconfig"; sourceTree = ""; }; - 30BEBD287BA8AEC67DDB6E7D /* Pods-Decred Wallet.testnet release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred Wallet.testnet release.xcconfig"; path = "Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet.testnet release.xcconfig"; sourceTree = ""; }; - 57D9619A45DA671B36B7EAFD /* Pods-Decred Wallet.mainnet release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred Wallet.mainnet release.xcconfig"; path = "Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet.mainnet release.xcconfig"; sourceTree = ""; }; - ABCADD99AF2E986CC915F7D8 /* Pods_Decred_Wallet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Decred_Wallet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B30A37CA228F3A6100F78629 /* mainnet.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = mainnet.xcconfig; sourceTree = ""; }; + 2C755EB65E4A1B41AAD1FB0C /* Pods-Decred Wallet.mainnet release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred Wallet.mainnet release.xcconfig"; path = "Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet.mainnet release.xcconfig"; sourceTree = ""; }; + 50964E5F67D24E0B58B8D3B5 /* Pods-Decred Wallet.testnet release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred Wallet.testnet release.xcconfig"; path = "Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet.testnet release.xcconfig"; sourceTree = ""; }; + 5A4F4B4098858CBBF8CB6882 /* Pods_Decred_Wallet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Decred_Wallet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 6FE71B33B4D10159ABF72715 /* Pods-Decred Wallet.testnet debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred Wallet.testnet debug.xcconfig"; path = "Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet.testnet debug.xcconfig"; sourceTree = ""; }; + B39BDC4C228F798300F3FB55 /* BuildConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuildConfig.swift; sourceTree = ""; }; B3B4698F228F0C2D00A68EDD /* Decred Wallet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Decred Wallet.app"; sourceTree = BUILT_PRODUCTS_DIR; }; B3B46992228F0C2E00A68EDD /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; B3B46997228F0C2E00A68EDD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; @@ -167,8 +166,6 @@ B3B469C0228F0F2600A68EDD /* Constants.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; B3B469C1228F0F2600A68EDD /* wordlist.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = wordlist.txt; sourceTree = ""; }; B3B469C3228F0F2600A68EDD /* JsonEntities.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JsonEntities.swift; sourceTree = ""; }; - B3B469C4228F0F2600A68EDD /* ObserverProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObserverProxy.h; sourceTree = ""; }; - B3B469C5228F0F2600A68EDD /* decred_wallet-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "decred_wallet-Bridging-Header.h"; sourceTree = ""; }; B3B469C7228F0F2600A68EDD /* UIView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIView.swift; sourceTree = ""; }; B3B469C8228F0F2600A68EDD /* UITableViewExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UITableViewExtension.swift; sourceTree = ""; }; B3B469C9228F0F2600A68EDD /* TextFieldDoneButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldDoneButton.swift; sourceTree = ""; }; @@ -215,7 +212,6 @@ B3B46A3C228F0F6700A68EDD /* bg-button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bg-button.png"; sourceTree = ""; }; B3B46A3D228F0F6700A68EDD /* dcr-logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "dcr-logo.png"; sourceTree = ""; }; B3B46A3E228F0F6700A68EDD /* progress bar-1s-200px.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = "progress bar-1s-200px.gif"; sourceTree = ""; }; - B3B46A47228F0F7B00A68EDD /* UIApplication.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIApplication.swift; sourceTree = ""; }; B3B46A49228F0F7B00A68EDD /* DropMenuButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DropMenuButton.swift; sourceTree = ""; }; B3B46A4A228F0F7B00A68EDD /* Data.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Data.swift; sourceTree = ""; }; B3B46A4B228F0F7B00A68EDD /* UIIMage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIIMage.swift; sourceTree = ""; }; @@ -256,7 +252,6 @@ B3B46A7E228F0F7C00A68EDD /* SingleInstance.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SingleInstance.swift; sourceTree = ""; }; B3B46A7F228F0F7C00A68EDD /* Storyboards.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Storyboards.swift; sourceTree = ""; }; B3B46A80228F0F7C00A68EDD /* splashLoader.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = splashLoader.gif; sourceTree = ""; }; - B3B46A81228F0F7C00A68EDD /* testnet.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = testnet.xcconfig; sourceTree = ""; }; B3B46AB9228F102800A68EDD /* Dcrlibwallet.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Dcrlibwallet.framework; path = libs/Dcrlibwallet.framework; sourceTree = ""; }; B3B46ABD228F120700A68EDD /* TransactiontOutputDetailsCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactiontOutputDetailsCell.swift; sourceTree = ""; }; B3B46ABE228F120700A68EDD /* TransactiontInputDetails.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TransactiontInputDetails.xib; sourceTree = ""; }; @@ -264,6 +259,7 @@ B3B46AC0228F120700A68EDD /* TransactionDetailCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TransactionDetailCell.xib; sourceTree = ""; }; B3B46AC1228F120700A68EDD /* TransactionDetailCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactionDetailCell.swift; sourceTree = ""; }; B3B46AC2228F120700A68EDD /* TransactiontInputDetails.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactiontInputDetails.swift; sourceTree = ""; }; + F985372327D0001C8FDF95F1 /* Pods-Decred Wallet.mainnet debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Decred Wallet.mainnet debug.xcconfig"; path = "Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet.mainnet debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -272,7 +268,7 @@ buildActionMask = 2147483647; files = ( B3B46ABA228F102800A68EDD /* Dcrlibwallet.framework in Frameworks */, - 90D92CC00BD5D9DFA2B26DE6 /* Pods_Decred_Wallet.framework in Frameworks */, + 7D66B4CA3456FF02B98D7834 /* Pods_Decred_Wallet.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -283,7 +279,7 @@ isa = PBXGroup; children = ( B3B46AB9228F102800A68EDD /* Dcrlibwallet.framework */, - ABCADD99AF2E986CC915F7D8 /* Pods_Decred_Wallet.framework */, + 5A4F4B4098858CBBF8CB6882 /* Pods_Decred_Wallet.framework */, ); name = Frameworks; sourceTree = ""; @@ -291,10 +287,10 @@ 8F7CDB697B0BC7D598AC1F98 /* Pods */ = { isa = PBXGroup; children = ( - 254BAB0B762982CE1554D68E /* Pods-Decred Wallet.mainnet debug.xcconfig */, - 1A9AD3D953D67328ACD9BD02 /* Pods-Decred Wallet.testnet debug.xcconfig */, - 57D9619A45DA671B36B7EAFD /* Pods-Decred Wallet.mainnet release.xcconfig */, - 30BEBD287BA8AEC67DDB6E7D /* Pods-Decred Wallet.testnet release.xcconfig */, + F985372327D0001C8FDF95F1 /* Pods-Decred Wallet.mainnet debug.xcconfig */, + 6FE71B33B4D10159ABF72715 /* Pods-Decred Wallet.testnet debug.xcconfig */, + 2C755EB65E4A1B41AAD1FB0C /* Pods-Decred Wallet.mainnet release.xcconfig */, + 50964E5F67D24E0B58B8D3B5 /* Pods-Decred Wallet.testnet release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -337,9 +333,6 @@ B3B46A80228F0F7C00A68EDD /* splashLoader.gif */, B3B46A4E228F0F7B00A68EDD /* splashLogo.gif */, B3B46A7F228F0F7C00A68EDD /* Storyboards.swift */, - B30A37CA228F3A6100F78629 /* mainnet.xcconfig */, - B3B46A81228F0F7C00A68EDD /* testnet.xcconfig */, - B3B46A47228F0F7B00A68EDD /* UIApplication.swift */, B3B46A4F228F0F7B00A68EDD /* Utils.swift */, B3B469AE228F0F2600A68EDD /* ImageHeaderView.xib */, B3B46992228F0C2E00A68EDD /* AppDelegate.swift */, @@ -347,6 +340,7 @@ B3B46999228F0C2E00A68EDD /* Assets.xcassets */, B3B4699B228F0C2E00A68EDD /* LaunchScreen.storyboard */, B3B4699E228F0C2E00A68EDD /* Info.plist */, + B39BDC4C228F798300F3FB55 /* BuildConfig.swift */, ); path = "Decred Wallet"; sourceTree = ""; @@ -427,8 +421,6 @@ isa = PBXGroup; children = ( B3B469C3228F0F2600A68EDD /* JsonEntities.swift */, - B3B469C4228F0F2600A68EDD /* ObserverProxy.h */, - B3B469C5228F0F2600A68EDD /* decred_wallet-Bridging-Header.h */, ); path = DcrdConnection; sourceTree = ""; @@ -664,12 +656,12 @@ isa = PBXNativeTarget; buildConfigurationList = B3B469A1228F0C2E00A68EDD /* Build configuration list for PBXNativeTarget "Decred Wallet" */; buildPhases = ( - 9F51A3920AA75269667D3C97 /* [CP] Check Pods Manifest.lock */, + D0FA5F3FB0FB6649BF6048E9 /* [CP] Check Pods Manifest.lock */, B3B4698B228F0C2D00A68EDD /* Sources */, B3B4698C228F0C2D00A68EDD /* Frameworks */, B3B4698D228F0C2D00A68EDD /* Resources */, - 4F78FCD610D2365C6A93DE7C /* [CP] Embed Pods Frameworks */, B30A37D0228F59B900F78629 /* ShellScript */, + 69DC3A9F8E3ECEB9BD1810A3 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -763,7 +755,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 4F78FCD610D2365C6A93DE7C /* [CP] Embed Pods Frameworks */ = { + 69DC3A9F8E3ECEB9BD1810A3 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -789,7 +781,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Decred Wallet/Pods-Decred Wallet-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 9F51A3920AA75269667D3C97 /* [CP] Check Pods Manifest.lock */ = { + B30A37D0228F59B900F78629 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -797,21 +789,16 @@ inputFileListPaths = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Decred Wallet-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"${PODS_ROOT}/Fabric/run\" 7e7665339b679dfd7ad19ebb8e859867ade8ca99 295d819cb24910fa414d5e1216b56f2a5730cb0d910f1d6739d0390346d0a69a\n"; }; - B30A37D0228F59B900F78629 /* ShellScript */ = { + D0FA5F3FB0FB6649BF6048E9 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -819,14 +806,19 @@ inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Decred Wallet-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Fabric/run\" 7e7665339b679dfd7ad19ebb8e859867ade8ca99 295d819cb24910fa414d5e1216b56f2a5730cb0d910f1d6739d0390346d0a69a\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -835,7 +827,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B3B46A85228F0F7D00A68EDD /* UIApplication.swift in Sources */, B3B46A10228F0F2700A68EDD /* UIView.swift in Sources */, B3B469FE228F0F2700A68EDD /* Button.swift in Sources */, B3B46A2A228F0F2700A68EDD /* WalletSetupBaseViewController.swift in Sources */, @@ -851,6 +842,7 @@ B3B46AC9228F120700A68EDD /* TransactiontInputDetails.swift in Sources */, B3B46A99228F0F7D00A68EDD /* certificateViewController.swift in Sources */, B3B46A9E228F0F7D00A68EDD /* ReceiveViewController.swift in Sources */, + B39BDC4D228F798300F3FB55 /* BuildConfig.swift in Sources */, B3B46A9F228F0F7D00A68EDD /* WalletLogViewController.swift in Sources */, B3B46A25228F0F2700A68EDD /* TransactionHistoryViewController.swift in Sources */, B3B46AC8228F120700A68EDD /* TransactionDetailCell.swift in Sources */, @@ -943,7 +935,6 @@ /* Begin XCBuildConfiguration section */ B30A37CC228F3AE100F78629 /* Testnet Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B3B46A81228F0F7C00A68EDD /* testnet.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -1006,11 +997,11 @@ }; B30A37CD228F3AE100F78629 /* Testnet Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1A9AD3D953D67328ACD9BD02 /* Pods-Decred Wallet.testnet debug.xcconfig */; + baseConfigurationReference = 6FE71B33B4D10159ABF72715 /* Pods-Decred Wallet.testnet debug.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "${APP_ICON}"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIconTestnet; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 8PU6UQXE68; + DEVELOPMENT_TEAM = ""; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -1021,8 +1012,8 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.dcrios.decredwallet; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_BUNDLE_IDENTIFIER = com.decred.dcrios.testnet3; + PRODUCT_NAME = "$(TARGET_NAME) Testnet"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -1030,7 +1021,6 @@ }; B30A37CE228F3AF000F78629 /* Testnet Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B3B46A81228F0F7C00A68EDD /* testnet.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -1087,11 +1077,11 @@ }; B30A37CF228F3AF000F78629 /* Testnet Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 30BEBD287BA8AEC67DDB6E7D /* Pods-Decred Wallet.testnet release.xcconfig */; + baseConfigurationReference = 50964E5F67D24E0B58B8D3B5 /* Pods-Decred Wallet.testnet release.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "${APP_ICON}"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIconTestnet; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 8PU6UQXE68; + DEVELOPMENT_TEAM = ""; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -1102,8 +1092,8 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.dcrios.decredwallet; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_BUNDLE_IDENTIFIER = com.decred.dcrios.testnet3; + PRODUCT_NAME = "$(TARGET_NAME) Testnet"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -1111,7 +1101,6 @@ }; B3B4699F228F0C2E00A68EDD /* Mainnet Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B30A37CA228F3A6100F78629 /* mainnet.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -1173,7 +1162,6 @@ }; B3B469A0228F0C2E00A68EDD /* Mainnet Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B30A37CA228F3A6100F78629 /* mainnet.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -1229,11 +1217,11 @@ }; B3B469A2228F0C2E00A68EDD /* Mainnet Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 254BAB0B762982CE1554D68E /* Pods-Decred Wallet.mainnet debug.xcconfig */; + baseConfigurationReference = F985372327D0001C8FDF95F1 /* Pods-Decred Wallet.mainnet debug.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "${APP_ICON}"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 8PU6UQXE68; + DEVELOPMENT_TEAM = ""; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -1244,7 +1232,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.dcrios.decredwallet; + PRODUCT_BUNDLE_IDENTIFIER = com.decred.dcrios.mainnet; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1253,11 +1241,11 @@ }; B3B469A3228F0C2E00A68EDD /* Mainnet Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 57D9619A45DA671B36B7EAFD /* Pods-Decred Wallet.mainnet release.xcconfig */; + baseConfigurationReference = 2C755EB65E4A1B41AAD1FB0C /* Pods-Decred Wallet.mainnet release.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "${APP_ICON}"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 8PU6UQXE68; + DEVELOPMENT_TEAM = ""; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -1268,7 +1256,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.dcrios.decredwallet; + PRODUCT_BUNDLE_IDENTIFIER = com.decred.dcrios.mainnet; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/Decred Wallet/AppDelegate.swift b/Decred Wallet/AppDelegate.swift index a79554234..fdc85ed92 100644 --- a/Decred Wallet/AppDelegate.swift +++ b/Decred Wallet/AppDelegate.swift @@ -9,8 +9,12 @@ import CoreData import Dcrlibwallet import SlideMenuControllerSwift import UserNotifications + +// compile-time preprocessor, following code will only be added if compiling for testnet +#if IsTestnet import Fabric import Crashlytics +#endif @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { @@ -18,10 +22,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate { static var walletLoader: WalletLoader = WalletLoader() func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - // setup crash reporting for testnet build only - if GlobalConstants.App.IsTestnet { - Fabric.with([Crashlytics.self]) - } + // compile-time preprocessor, following code will only be added if compiling for testnet + #if IsTestnet + Fabric.with([Crashlytics.self]) + print("crashlytics set up on testnet") + #endif UNUserNotificationCenter.current().delegate = self UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge , .sound]) { (granted, error) in @@ -57,6 +62,18 @@ extension AppDelegate { return UIApplication.shared.delegate as! AppDelegate } + class var compileDate: Date { + let bundleName = Bundle.main.infoDictionary!["CFBundleName"] as? String ?? "Info.plist" + + if let infoPath = Bundle.main.path(forResource: bundleName, ofType: nil), + let infoAttr = try? FileManager.default.attributesOfItem(atPath: infoPath), + let infoDate = infoAttr[FileAttributeKey.creationDate] as? Date { + return infoDate + } + + return Date() + } + func setAndDisplayRootViewController(_ vc: UIViewController) { self.window?.rootViewController = vc self.window?.makeKeyAndVisible() diff --git a/Decred Wallet/BuildConfig.swift b/Decred Wallet/BuildConfig.swift new file mode 100644 index 000000000..059aad14d --- /dev/null +++ b/Decred Wallet/BuildConfig.swift @@ -0,0 +1,21 @@ +// +// BuildConfig.swift +// Decred Wallet +// +// Created by Wisdom Arerosuoghene on 18/05/2019. +// Copyright © 2019 Decred. All rights reserved. +// + +import Foundation + +struct BuildConfig { + #if IsTestnet + static let IsTestNet = true + static let TicketMaturity = 16 + static let NetType = "testnet3" + #else + static let IsTestNet = false + static let TicketMaturity = 256 + static let NetType = "mainnet" + #endif +} diff --git a/Decred Wallet/Constants/Constants.swift b/Decred Wallet/Constants/Constants.swift index cf79aac6d..1aa24bcd3 100644 --- a/Decred Wallet/Constants/Constants.swift +++ b/Decred Wallet/Constants/Constants.swift @@ -10,12 +10,6 @@ import Foundation import UIKit struct GlobalConstants { - struct App { - static var IsTestnet: Bool { - return Bool(Utils.infoForKey(GlobalConstants.Strings.IS_TESTNET)!)! - } - } - struct SettingsKeys { static let IsStartupSecuritySet = "startup_security_set" static let StartupSecurityType = "startup_security_type" diff --git a/Decred Wallet/DcrdConnection/ObserverProxy.h b/Decred Wallet/DcrdConnection/ObserverProxy.h deleted file mode 100644 index c9ab5934a..000000000 --- a/Decred Wallet/DcrdConnection/ObserverProxy.h +++ /dev/null @@ -1,55 +0,0 @@ -// -// ObserverProxy.h -// Decred Wallet -// -// Copyright © 2018 The Decred developers. -// see LICENSE for details. -// - -#import -#import - -/*@class TransactionResponse; - @class Transaction; - - @protocol TransactionNotificationsObserverProtocol - @property (nonatomic, strong) NSMutableArray* transactionNotificationsSubscribers; - - (void) subscribeForUpdateNotifications:(id)observer; - - (void) unsubscribeForUpdateNotifications:(id)observer; - @end - - @protocol TransactionBlockNotificationObserverProtocol - @property (nonatomic, strong) NSMutableArray* transactionBlockNotificationsSubscribers; - - (void) subscribeForBlockNotifications:(id)observer; - - (void) unsubscribeForBlockNotifications:(id)observer; - @end - - @protocol GetTransactionObserverProtocol - @property (nonatomic, strong) NSMutableArray* transactionNotificationsSubscribers; - - (void) subscribeForNotifications:(id)observer; - - (void) unsubscribeForNotifications:(id)observer; - @end - - @interface GetTransactionObserveHub: NSObject - @property (nonatomic, strong) NSMutableArray* transactionNotificationsSubscribers; - - (void) subscribeForNotifications:(id)observer; - - (void) unsubscribeForNotifications:(id)observer; - @end - - @interface TransactionBlockNotificationObserveHub : NSObject - @property (nonatomic, strong) NSMutableArray* transactionBlockNotificationsSubscribers; - - (void) subscribeForBlockNotifications:(id)observer; - - (void) unsubscribeForBlockNotifications:(id)observer; - @end - - @interface TransactionNotificationsObserveHub : NSObject - @property (nonatomic, strong) NSMutableArray* transactionNotificationsSubscribers; - - (void) subscribeForUpdateNotifications:(id)observer; - - (void) unsubscribeForUpdateNotifications:(id)observer; - @end - - @interface BlockScanObserverHub : NSObject - @property (nonatomic, strong) NSMutableArray* blockScanNotificationsSubscribers; - - (void) subscribeForBlockScanNotifications:(id)observer; - - (void) unsubscribeForBlockScanNotifications:(id)observer; - @end*/ diff --git a/Decred Wallet/DcrdConnection/decred_wallet-Bridging-Header.h b/Decred Wallet/DcrdConnection/decred_wallet-Bridging-Header.h deleted file mode 100644 index add1ce126..000000000 --- a/Decred Wallet/DcrdConnection/decred_wallet-Bridging-Header.h +++ /dev/null @@ -1,5 +0,0 @@ -// -// Use this file to import your target's public headers that you would like to expose to Swift. -// - -#include "ObserverProxy.h" diff --git a/Decred Wallet/Features/App Launch/StartScreenViewController.swift b/Decred Wallet/Features/App Launch/StartScreenViewController.swift index aff2596b9..5cfd68104 100644 --- a/Decred Wallet/Features/App Launch/StartScreenViewController.swift +++ b/Decred Wallet/Features/App Launch/StartScreenViewController.swift @@ -22,7 +22,7 @@ class StartScreenViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() - if GlobalConstants.App.IsTestnet { + if BuildConfig.IsTestNet { testnetLabel.isHidden = false } diff --git a/Decred Wallet/Features/History/TransactionTableViewCell.swift b/Decred Wallet/Features/History/TransactionTableViewCell.swift index 4ec507061..2ac0923dd 100644 --- a/Decred Wallet/Features/History/TransactionTableViewCell.swift +++ b/Decred Wallet/Features/History/TransactionTableViewCell.swift @@ -83,11 +83,10 @@ class TransactionTableViewCell: BaseTableViewCell { } else if (transaction.Type.lowercased() == "ticket_purchase") { self.dataText.text = " Ticket" self.dataImage?.image = UIImage(named: "immature") - let ticketMaturity = Int(Utils.infoForKey("TicketMaturity")!)! if (confirmations < requireConfirmation){ self.status.textColor = UIColor(hex:"#3d659c") self.status.text = "Pending" - } else if (confirmations > ticketMaturity) { + } else if (confirmations > BuildConfig.TicketMaturity) { let statusText = "Confirmed / Live" let range = (statusText as NSString).range(of: "/") let attributedString = NSMutableAttributedString(string: statusText) diff --git a/Decred Wallet/Features/Navigation Menu/NavigationMenuViewController.swift b/Decred Wallet/Features/Navigation Menu/NavigationMenuViewController.swift index babaa9775..60a6666c2 100644 --- a/Decred Wallet/Features/Navigation Menu/NavigationMenuViewController.swift +++ b/Decred Wallet/Features/Navigation Menu/NavigationMenuViewController.swift @@ -48,7 +48,7 @@ class NavigationMenuViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() - if GlobalConstants.App.IsTestnet { + if BuildConfig.IsTestNet { decredHeaderLogo?.image = UIImage(named: "logo-testnet") } diff --git a/Decred Wallet/Features/Overview/SyncProgressViewController.swift b/Decred Wallet/Features/Overview/SyncProgressViewController.swift index 259243cef..9ec4139bc 100644 --- a/Decred Wallet/Features/Overview/SyncProgressViewController.swift +++ b/Decred Wallet/Features/Overview/SyncProgressViewController.swift @@ -29,11 +29,7 @@ class SyncProgressViewController: UIViewController { self.currentSyncActionReportLabel.addGestureRecognizer(self.showOrHideDebugSyncReportLongPressGesture()) self.debugSyncInfoLabel.addGestureRecognizer(self.showOrHideDebugSyncReportLongPressGesture()) - if GlobalConstants.App.IsTestnet { - self.netType = "testnet" - } else { - self.netType = Utils.infoForKey(GlobalConstants.Strings.NetType) - } + self.netType = BuildConfig.IsTestNet ? "testnet" : BuildConfig.NetType AppDelegate.walletLoader.syncer.registerSyncProgressListener(for: "\(self)", self) } diff --git a/Decred Wallet/Features/Wallet Setup/RecoverExistingWalletViewController.swift b/Decred Wallet/Features/Wallet Setup/RecoverExistingWalletViewController.swift index 5e93a63b2..cc3d4c1af 100644 --- a/Decred Wallet/Features/Wallet Setup/RecoverExistingWalletViewController.swift +++ b/Decred Wallet/Features/Wallet Setup/RecoverExistingWalletViewController.swift @@ -19,8 +19,11 @@ class RecoverExistingWalletViewController: WalletSetupBaseViewController, UITabl var validSeedWords: [String] = [] var userEnteredSeedWords = [String](repeating: "", count: 33) + // following code will only be included if compiling for testnet + #if IsTestnet private var testSeed = "reform aftermath printer warranty gremlin paragraph beehive stethoscope regain disruptive regain Bradbury chisel October trouble forever Algol applicant island infancy physique paragraph woodlark hydraulic snapshot backwater ratchet surrender revenge customer retouch intention minnow" private var useTestSeed: Bool = false + #endif override func viewDidLoad() { super.viewDidLoad() @@ -38,10 +41,10 @@ class RecoverExistingWalletViewController: WalletSetupBaseViewController, UITabl self.wordSelectionDropDownContainer.layer.borderColor = UIColor.appColors.lightGray.cgColor // long press to proceed with test seed, only on testnet - if GlobalConstants.App.IsTestnet { - let longGesture = UILongPressGestureRecognizer(target: self, action: #selector(longPressConfirm)) - btnConfirm.addGestureRecognizer(longGesture) - } + #if IsTestnet + let longGesture = UILongPressGestureRecognizer(target: self, action: #selector(longPressConfirm)) + btnConfirm.addGestureRecognizer(longGesture) + #endif } deinit { @@ -166,6 +169,8 @@ class RecoverExistingWalletViewController: WalletSetupBaseViewController, UITabl self.invalidSeedLabel.isHidden = false } + // following code will only be included if compiling for testnet + #if IsTestnet @objc func longPressConfirm() { if self.useTestSeed { return @@ -173,6 +178,7 @@ class RecoverExistingWalletViewController: WalletSetupBaseViewController, UITabl self.useTestSeed = true self.secureWallet(self.testSeed) } + #endif func secureWallet(_ seed: String) { let securityVC = SecurityViewController.instantiate() diff --git a/Decred Wallet/Features/Wallet Setup/WalletSetupViewController.swift b/Decred Wallet/Features/Wallet Setup/WalletSetupViewController.swift index 939cba5c2..623c788af 100644 --- a/Decred Wallet/Features/Wallet Setup/WalletSetupViewController.swift +++ b/Decred Wallet/Features/Wallet Setup/WalletSetupViewController.swift @@ -21,22 +21,10 @@ class WalletSetupViewController: WalletSetupBaseViewController { createWallet.text = "Create a New \n Wallet" restoreWallet.text = "Restore Existing \n Wallet" infoText.text = "Create or recover your wallet and \nstart managing your decred." - - var compileDate: Date { - let bundleName = Bundle.main.infoDictionary!["CFBundleName"] as? String ?? "Info.plist" - - if let infoPath = Bundle.main.path(forResource: bundleName, ofType: nil), - let infoAttr = try? FileManager.default.attributesOfItem(atPath: infoPath), - let infoDate = infoAttr[FileAttributeKey.creationDate] as? Date { - return infoDate - } - - return Date() - } let dateformater = DateFormatter() dateformater.dateFormat = "yyyy-MM-dd" - let netType = GlobalConstants.App.IsTestnet ? "testnet" : Utils.infoForKey(GlobalConstants.Strings.NetType)! - build?.text = "build \(netType) " + dateformater.string(from: compileDate) + let netType = BuildConfig.IsTestNet ? "testnet" : BuildConfig.NetType + build?.text = "build \(netType) " + dateformater.string(from: AppDelegate.compileDate) } } diff --git a/Decred Wallet/Features/Wallet Utils/WalletLoader.swift b/Decred Wallet/Features/Wallet Utils/WalletLoader.swift index 2cfaae3c5..b591eb655 100644 --- a/Decred Wallet/Features/Wallet Utils/WalletLoader.swift +++ b/Decred Wallet/Features/Wallet Utils/WalletLoader.swift @@ -10,6 +10,8 @@ import Foundation import Dcrlibwallet class WalletLoader: NSObject { + static let appDataDir = NSHomeDirectory() + "/Documents/dcrlibwallet" + var wallet: DcrlibwalletLibWallet? var syncer: Syncer var notification: TransactionNotification @@ -21,10 +23,8 @@ class WalletLoader: NSObject { } func initWallet() -> NSError? { - let netType = Utils.infoForKey(GlobalConstants.Strings.NetType) - var initWalletError: NSError? - self.wallet = DcrlibwalletNewLibWallet(NSHomeDirectory() + "/Documents/dcrlibwallet/", "bdb", netType!, &initWalletError) + self.wallet = DcrlibwalletNewLibWallet(WalletLoader.appDataDir, "bdb", BuildConfig.NetType, &initWalletError) return initWalletError } diff --git a/Decred Wallet/Info.plist b/Decred Wallet/Info.plist index f702c255c..ac8cbbccd 100644 --- a/Decred Wallet/Info.plist +++ b/Decred Wallet/Info.plist @@ -1,79 +1,67 @@ + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 0.9.0 + CFBundleVersion + 3 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIStatusBarStyle + UIStatusBarStyleLightContent + NSCameraUsageDescription + To scan QR code + NSPhotoLibraryAddUsageDescription + dcrios needs permission to save photos + Fabric - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - $(APP_NAME) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(APP_BUNDLE_ID) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(APP_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 0.9.0 - CFBundleVersion - 3 - Fabric - - APIKey - 7e7665339b679dfd7ad19ebb8e859867ade8ca99 - Kits - - - KitInfo - - KitName - Crashlytics - - - - IS_TESTNET - $(IS_TESTNET) - LSRequiresIPhoneOS - - LogDir - $(LogDir) - NSCameraUsageDescription - To scan QR code - NSPhotoLibraryAddUsageDescription - dcrios needs permission to save photos - NetType - $(NetType) - TargetTimePerBlock - $(TargetTimePerBlock) - TicketMaturity - $(TicketMaturity) - UIAppFonts + APIKey + 7e7665339b679dfd7ad19ebb8e859867ade8ca99 + Kits - inconsolata_regular.ttf - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UIRequiredDeviceCapabilities - - armv7 - - UIStatusBarStyle - UIStatusBarStyleLightContent - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight + + KitInfo + + KitName + Crashlytics + + UIAppFonts + + inconsolata_regular.ttf + + diff --git a/Decred Wallet/UIApplication.swift b/Decred Wallet/UIApplication.swift deleted file mode 100644 index afd535106..000000000 --- a/Decred Wallet/UIApplication.swift +++ /dev/null @@ -1,30 +0,0 @@ -// -// UIApplication.swift -// Decred Wallet -// -// Copyright (c) 2018-2019 The Decred developers -// Use of this source code is governed by an ISC -// license that can be found in the LICENSE file. -import SlideMenuControllerSwift - -extension UIApplication { - - class func topViewController(_ viewController: UIViewController? = UIApplication.shared.keyWindow?.rootViewController) -> UIViewController? { - if let nav = viewController as? UINavigationController { - return topViewController(nav.visibleViewController) - } - if let tab = viewController as? UITabBarController { - if let selected = tab.selectedViewController { - return topViewController(selected) - } - } - if let presented = viewController?.presentedViewController { - return topViewController(presented) - } - - if let slide = viewController as? SlideMenuController { - return topViewController(slide.mainViewController) - } - return viewController - } -} diff --git a/Decred Wallet/Utils.swift b/Decred Wallet/Utils.swift index 5a4fd3d2a..8a8bb5b2c 100644 --- a/Decred Wallet/Utils.swift +++ b/Decred Wallet/Utils.swift @@ -100,8 +100,4 @@ struct Utils { return NSMutableAttributedString(string: tmpString.appending(" DCR") as String) } - - static func infoForKey(_ key: String) -> String? { - return (Bundle.main.infoDictionary?[key] as? String)?.replacingOccurrences(of: "\\", with: "") - } } diff --git a/Decred Wallet/mainnet.xcconfig b/Decred Wallet/mainnet.xcconfig deleted file mode 100644 index af806b207..000000000 --- a/Decred Wallet/mainnet.xcconfig +++ /dev/null @@ -1,16 +0,0 @@ -// -// mainnet.xcconfig -// decred_wallet -// -// Created by Collins Olanrewaju on 11/04/2019. -// Copyright © 2019 The Decred developers. All rights reserved. -// - -APP_NAME = Decred Wallet -APP_ICON = AppIcon -APP_BUNDLE_ID = com.decred.dcrios.mainnet -IS_TESTNET = false -TicketMaturity = 256 -TargetTimePerBlock = 300 -LogDir = wallet/logs/mainnet/dcrlibwallet.log -NetType = mainnet diff --git a/Decred Wallet/table_view_cell/AccountDataCell.swift b/Decred Wallet/table_view_cell/AccountDataCell.swift index 3a60760d3..e3e156c60 100644 --- a/Decred Wallet/table_view_cell/AccountDataCell.swift +++ b/Decred Wallet/table_view_cell/AccountDataCell.swift @@ -56,7 +56,7 @@ class AccountDataCell: UITableViewCell, AccountDetailsCellProtocol { labelAccountNoValue.text = "\(account.Number)" labelKeysValue.text = "\(account.ExternalKeyCount) External, \(account.InternalKeyCount) Internal, \(account.ImportedKeyCount) Imported" - if GlobalConstants.App.IsTestnet { + if BuildConfig.IsTestNet { labelHDPathValue.text = "\(GlobalConstants.Strings.TESTNET_HD_PATH) \(account.Number)'" }else { labelHDPathValue.text = "\(GlobalConstants.Strings.MAINNET_HD_PATH) \(account.Number)'" diff --git a/Decred Wallet/testnet.xcconfig b/Decred Wallet/testnet.xcconfig deleted file mode 100644 index 35be646be..000000000 --- a/Decred Wallet/testnet.xcconfig +++ /dev/null @@ -1,16 +0,0 @@ -// -// testnet.xcconfig -// decred_wallet -// -// Created by Collins Olanrewaju on 11/04/2019. -// Copyright © 2019 The Decred developers. All rights reserved. -// - -APP_NAME = Decred Wallet Testnet -APP_ICON = AppIconTestnet -APP_BUNDLE_ID = com.decred.dcrios.testnet3 -IS_TESTNET = true -TicketMaturity = 16 -TargetTimePerBlock = 120 -LogDir = wallet/logs/testnet3/dcrlibwallet.log -NetType = testnet3 diff --git a/Decred Wallet/view_controller/SendViewController.swift b/Decred Wallet/view_controller/SendViewController.swift index 33bd2c3da..71d7aaa2d 100644 --- a/Decred Wallet/view_controller/SendViewController.swift +++ b/Decred Wallet/view_controller/SendViewController.swift @@ -559,7 +559,7 @@ class SendViewController: UIViewController, UITextFieldDelegate,UITextPasteDeleg self.showDefaultAccount() } - if GlobalConstants.App.IsTestnet { + if BuildConfig.IsTestNet { self.openLink(urlString: "https://testnet.dcrdata.org/tx/" + hashe! ) }else{ self.openLink(urlString: "https://mainnet.dcrdata.org/tx/" + hashe! ) diff --git a/Decred Wallet/view_controller/SettingsController.swift b/Decred Wallet/view_controller/SettingsController.swift index d2cc154cb..06535521f 100644 --- a/Decred Wallet/view_controller/SettingsController.swift +++ b/Decred Wallet/view_controller/SettingsController.swift @@ -105,19 +105,9 @@ class SettingsController: UITableViewController { let currency_value = UserDefaults.standard.integer(forKey: "currency") version?.text = UserDefaults.standard.string(forKey: "app_version") ?? "Pre-release" - var compileDate:Date - { - let bundleName = Bundle.main.infoDictionary!["CFBundleName"] as? String ?? "Info.plist" - if let infoPath = Bundle.main.path(forResource: bundleName, ofType: nil), - let infoAttr = try? FileManager.default.attributesOfItem(atPath: infoPath), - let infoDate = infoAttr[FileAttributeKey.creationDate] as? Date - { return infoDate } - return Date() - } - let dateformater = DateFormatter() dateformater.dateFormat = "yyyy-MM-dd" - build?.text = dateformater.string(from: compileDate as Date) + build?.text = dateformater.string(from: AppDelegate.compileDate as Date) debu_msg?.setOn((UserDefaults.standard.bool(forKey: "pref_debug_switch") ), animated: false) spend_uncon_fund?.setOn(UserDefaults.standard.bool(forKey: "pref_spend_fund_switch"), animated: false) connect_peer_ip?.text = UserDefaults.standard.string(forKey: GlobalConstants.SettingsKeys.SPVPeerIP) ?? "" diff --git a/Decred Wallet/view_controller/WalletLogViewController.swift b/Decred Wallet/view_controller/WalletLogViewController.swift index e3cebc38f..25c4a5b22 100644 --- a/Decred Wallet/view_controller/WalletLogViewController.swift +++ b/Decred Wallet/view_controller/WalletLogViewController.swift @@ -24,10 +24,8 @@ class WalletLogViewController: UIViewController { } private func readLog() -> String { - let netType = Utils.infoForKey(GlobalConstants.Strings.NetType)! - let logPath = NSHomeDirectory()+"/Documents/dcrlibwallet/\(netType)/dcrlibwallet.log" - do { + let logPath = "\(WalletLoader.appDataDir)/\(BuildConfig.NetType)/dcrlibwallet.log" let logContent = try String(contentsOf: URL(fileURLWithPath: logPath)) let logEntries = logContent.split(separator: "\n") if logEntries.count > 500 { From 03cef78caa61e33185357df5382ca8506deb1fef Mon Sep 17 00:00:00 2001 From: Wisdom Arerosuoghene Date: Sat, 18 May 2019 01:24:40 +0100 Subject: [PATCH 6/8] format plist --- Decred Wallet/Info.plist | 48 ++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/Decred Wallet/Info.plist b/Decred Wallet/Info.plist index ac8cbbccd..32258a696 100644 --- a/Decred Wallet/Info.plist +++ b/Decred Wallet/Info.plist @@ -18,8 +18,30 @@ 0.9.0 CFBundleVersion 3 + Fabric + + APIKey + 7e7665339b679dfd7ad19ebb8e859867ade8ca99 + Kits + + + KitInfo + + KitName + Crashlytics + + + LSRequiresIPhoneOS + NSCameraUsageDescription + To scan QR code + NSPhotoLibraryAddUsageDescription + dcrios needs permission to save photos + UIAppFonts + + inconsolata_regular.ttf + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile @@ -28,6 +50,8 @@ armv7 + UIStatusBarStyle + UIStatusBarStyleLightContent UISupportedInterfaceOrientations UIInterfaceOrientationPortrait @@ -39,29 +63,5 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIStatusBarStyle - UIStatusBarStyleLightContent - NSCameraUsageDescription - To scan QR code - NSPhotoLibraryAddUsageDescription - dcrios needs permission to save photos - Fabric - - APIKey - 7e7665339b679dfd7ad19ebb8e859867ade8ca99 - Kits - - - KitInfo - - KitName - Crashlytics - - - - UIAppFonts - - inconsolata_regular.ttf - From 06c06fda721c576a29ca3480ba20bb8995b21d8e Mon Sep 17 00:00:00 2001 From: Wisdom Arerosuoghene Date: Sat, 18 May 2019 01:42:23 +0100 Subject: [PATCH 7/8] correct SFSafariViewController usage --- Decred Wallet/view_controller/HelpViewController.swift | 7 +------ Decred Wallet/view_controller/SendViewController.swift | 7 +------ .../TransactionFullDetailsViewController.swift | 6 +----- 3 files changed, 3 insertions(+), 17 deletions(-) diff --git a/Decred Wallet/view_controller/HelpViewController.swift b/Decred Wallet/view_controller/HelpViewController.swift index cce43bc91..f28b86e6e 100644 --- a/Decred Wallet/view_controller/HelpViewController.swift +++ b/Decred Wallet/view_controller/HelpViewController.swift @@ -33,12 +33,7 @@ class HelpViewController: UIViewController,SFSafariViewControllerDelegate { func openLink(urlString: String) { if let url = URL(string: urlString) { - var viewController: SFSafariViewController - if #available(iOS 11.0, *) { - viewController = SFSafariViewController(url: url) - } else { - viewController = SFSafariViewController(url: url, entersReaderIfAvailable: true) - } + let viewController = SFSafariViewController(url: url) viewController.delegate = self as SFSafariViewControllerDelegate self.present(viewController, animated: true) diff --git a/Decred Wallet/view_controller/SendViewController.swift b/Decred Wallet/view_controller/SendViewController.swift index 71d7aaa2d..381bbb83b 100644 --- a/Decred Wallet/view_controller/SendViewController.swift +++ b/Decred Wallet/view_controller/SendViewController.swift @@ -518,12 +518,7 @@ class SendViewController: UIViewController, UITextFieldDelegate,UITextPasteDeleg func openLink(urlString: String) { if let url = URL(string: urlString) { - var viewController: SFSafariViewController - if #available(iOS 11.0, *) { - viewController = SFSafariViewController(url: url) - } else { - viewController = SFSafariViewController(url: url, entersReaderIfAvailable: true) - } + let viewController = SFSafariViewController(url: url) viewController.delegate = self as? SFSafariViewControllerDelegate self.present(viewController, animated: true) diff --git a/Decred Wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift b/Decred Wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift index c3d17bcb8..bdb01655c 100644 --- a/Decred Wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift +++ b/Decred Wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift @@ -297,11 +297,7 @@ class TransactionFullDetailsViewController: UIViewController, UITableViewDataSou func openLink(urlString: String) { if let url = URL(string: urlString) { var viewController: SFSafariViewController - if #available(iOS 11.0, *) { - viewController = SFSafariViewController(url: url) - } else { - viewController = SFSafariViewController(url: url, entersReaderIfAvailable: true) - } + let viewController = SFSafariViewController(url: url) viewController.delegate = self as SFSafariViewControllerDelegate self.navigationController?.pushViewController(viewController, animated: true) } From 37f815270796b214dd0a21b759721376f937afbc Mon Sep 17 00:00:00 2001 From: Wisdom Arerosuoghene Date: Sat, 18 May 2019 01:42:51 +0100 Subject: [PATCH 8/8] correct SFSafariViewController usage --- .../TransactionFullDetailsViewController.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/Decred Wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift b/Decred Wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift index bdb01655c..d86058dbc 100644 --- a/Decred Wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift +++ b/Decred Wallet/view_controller/TransactionFullDetails/TransactionFullDetailsViewController.swift @@ -296,7 +296,6 @@ class TransactionFullDetailsViewController: UIViewController, UITableViewDataSou func openLink(urlString: String) { if let url = URL(string: urlString) { - var viewController: SFSafariViewController let viewController = SFSafariViewController(url: url) viewController.delegate = self as SFSafariViewControllerDelegate self.navigationController?.pushViewController(viewController, animated: true)