From c02ae62a8d8a5b05a35c0753a4b33b289bc9a2ba Mon Sep 17 00:00:00 2001 From: Mikunj Date: Fri, 3 May 2019 11:21:47 +1000 Subject: [PATCH] Added lokikit --- LokiKit/LokiKit.podspec | 50 ++ LokiKit/LokiKit.xcodeproj/project.pbxproj | 579 ++++++++++++++++++ LokiKit/LokiKit/Info.plist | 22 + LokiKit/LokiKit/LokiKit.h | 16 + LokiKit/{ => LokiKit/src}/ECKeyPair.h | 0 LokiKit/{ => LokiKit/src}/ECKeyPair.m | 1 + LokiKit/{ => LokiKit/src}/ECKeyPair.swift | 2 +- .../{ => LokiKit/src}/Mnemonic/Mnemonic.swift | 20 +- .../{ => LokiKit/src}/Mnemonic/english.txt | 0 .../{ => LokiKit/src}/Mnemonic/japanese.txt | 0 .../{ => LokiKit/src}/Mnemonic/portuguese.txt | 0 .../{ => LokiKit/src}/Mnemonic/spanish.txt | 0 LokiKit/{ => LokiKit/src}/ProofOfWork.swift | 0 LokiKit/LokiKitTests/Info.plist | 22 + LokiKit/LokiKitTests/LokiKitTests.swift | 30 + Podfile | 19 + Podfile.lock | 19 +- Signal.xcodeproj/project.pbxproj | 72 +-- .../xcschemes/Signal-Internal.xcscheme | 8 +- .../xcshareddata/xcschemes/Signal.xcscheme | 26 +- .../xcschemes/SignalShareExtension.xcscheme | 6 +- Signal.xcworkspace/contents.xcworkspacedata | 3 + Signal/src/Signal-Bridging-Header.h | 2 +- .../OnboardingKeyPairViewController.swift | 1 + .../src/util/LokiUtil}/LokiMessagingAPI.swift | 1 + SignalServiceKit.podspec | 1 + 26 files changed, 818 insertions(+), 82 deletions(-) create mode 100644 LokiKit/LokiKit.podspec create mode 100644 LokiKit/LokiKit.xcodeproj/project.pbxproj create mode 100644 LokiKit/LokiKit/Info.plist create mode 100644 LokiKit/LokiKit/LokiKit.h rename LokiKit/{ => LokiKit/src}/ECKeyPair.h (100%) rename LokiKit/{ => LokiKit/src}/ECKeyPair.m (96%) rename LokiKit/{ => LokiKit/src}/ECKeyPair.swift (89%) rename LokiKit/{ => LokiKit/src}/Mnemonic/Mnemonic.swift (90%) rename LokiKit/{ => LokiKit/src}/Mnemonic/english.txt (100%) rename LokiKit/{ => LokiKit/src}/Mnemonic/japanese.txt (100%) rename LokiKit/{ => LokiKit/src}/Mnemonic/portuguese.txt (100%) rename LokiKit/{ => LokiKit/src}/Mnemonic/spanish.txt (100%) rename LokiKit/{ => LokiKit/src}/ProofOfWork.swift (100%) create mode 100644 LokiKit/LokiKitTests/Info.plist create mode 100644 LokiKit/LokiKitTests/LokiKitTests.swift rename {LokiKit => Signal/src/util/LokiUtil}/LokiMessagingAPI.swift (99%) diff --git a/LokiKit/LokiKit.podspec b/LokiKit/LokiKit.podspec new file mode 100644 index 000000000..e16e29303 --- /dev/null +++ b/LokiKit/LokiKit.podspec @@ -0,0 +1,50 @@ +# +# Be sure to run `pod spec lint LokiKit.podspec' to ensure this is a +# valid spec and to remove all comments including this before submitting the spec. +# +# To learn more about Podspec attributes see http://docs.cocoapods.org/specification.html +# To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/ +# + +Pod::Spec.new do |s| + + s.name = "LokiKit" + s.version = "0.0.1" + s.summary = "A library used to add loki functionality to the messenger" + + s.description = <<-DESC + A library used to add loki functionality to the messenger + DESC + + s.homepage = "https://loki.network/" + s.license = "GPLv3" + s.source = { :path => '.' } + # s.license = { :type => "MIT", :file => "FILE_LICENSE" } + + s.author = { "Loki Network" => "team@loki.network" } + + s.platform = :ios, '9.0' + s.requires_arc = true + s.source_files = 'src/**/*.{h,m,mm,swift}' + + # We want to use modules to avoid clobbering CocoaLumberjack macros defined + # by other OWS modules which *also* import CocoaLumberjack. But because we + # also use Objective-C++, modules are disabled unless we explicitly enable + # them + + # s.compiler_flags = "-fcxx-modules" + + # s.prefix_header_file = 'SignalServiceKit/src/TSPrefix.h' + # s.xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_HAS_CODEC' } + + # s.resources = ["SignalServiceKit/Resources/Certificates/*"] + + s.dependency 'Curve25519Kit' + s.dependency 'CryptoSwift' + s.dependency 'SignalCoreKit' + + s.test_spec 'Tests' do |test_spec| + test_spec.source_files = 'LokiKitTests/**/*.{h,m,swift}' + end + +end diff --git a/LokiKit/LokiKit.xcodeproj/project.pbxproj b/LokiKit/LokiKit.xcodeproj/project.pbxproj new file mode 100644 index 000000000..ab8dacf34 --- /dev/null +++ b/LokiKit/LokiKit.xcodeproj/project.pbxproj @@ -0,0 +1,579 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + 24B23964227BBA2D008EFC1C /* LokiKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 24B2395A227BBA2D008EFC1C /* LokiKit.framework */; }; + 24B23969227BBA2D008EFC1C /* LokiKitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24B23968227BBA2D008EFC1C /* LokiKitTests.swift */; }; + 24B2396B227BBA2D008EFC1C /* LokiKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 24B2395D227BBA2D008EFC1C /* LokiKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 24B23981227BBA8C008EFC1C /* ECKeyPair.h in Headers */ = {isa = PBXBuildFile; fileRef = 24B23976227BBA8C008EFC1C /* ECKeyPair.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 24B23982227BBA8C008EFC1C /* ECKeyPair.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24B23977227BBA8C008EFC1C /* ECKeyPair.swift */; }; + 24B23983227BBA8C008EFC1C /* japanese.txt in Resources */ = {isa = PBXBuildFile; fileRef = 24B23979227BBA8C008EFC1C /* japanese.txt */; }; + 24B23984227BBA8C008EFC1C /* Mnemonic.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24B2397A227BBA8C008EFC1C /* Mnemonic.swift */; }; + 24B23985227BBA8C008EFC1C /* english.txt in Resources */ = {isa = PBXBuildFile; fileRef = 24B2397B227BBA8C008EFC1C /* english.txt */; }; + 24B23986227BBA8C008EFC1C /* spanish.txt in Resources */ = {isa = PBXBuildFile; fileRef = 24B2397C227BBA8C008EFC1C /* spanish.txt */; }; + 24B23987227BBA8C008EFC1C /* portuguese.txt in Resources */ = {isa = PBXBuildFile; fileRef = 24B2397D227BBA8C008EFC1C /* portuguese.txt */; }; + 24B23988227BBA8C008EFC1C /* ProofOfWork.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24B2397E227BBA8C008EFC1C /* ProofOfWork.swift */; }; + 24B23989227BBA8C008EFC1C /* ECKeyPair.m in Sources */ = {isa = PBXBuildFile; fileRef = 24B2397F227BBA8C008EFC1C /* ECKeyPair.m */; }; + F61025585B2E8A504887E1F9 /* Pods_LokiKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 090A2756AF3B96A1A6F7208C /* Pods_LokiKit.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 24B23965227BBA2D008EFC1C /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24B23951227BBA2D008EFC1C /* Project object */; + proxyType = 1; + remoteGlobalIDString = 24B23959227BBA2D008EFC1C; + remoteInfo = LokiKit; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 090A2756AF3B96A1A6F7208C /* Pods_LokiKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LokiKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 24B2395A227BBA2D008EFC1C /* LokiKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LokiKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 24B2395D227BBA2D008EFC1C /* LokiKit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LokiKit.h; sourceTree = ""; }; + 24B2395E227BBA2D008EFC1C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 24B23963227BBA2D008EFC1C /* LokiKitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LokiKitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 24B23968227BBA2D008EFC1C /* LokiKitTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LokiKitTests.swift; sourceTree = ""; }; + 24B2396A227BBA2D008EFC1C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 24B23976227BBA8C008EFC1C /* ECKeyPair.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ECKeyPair.h; sourceTree = ""; }; + 24B23977227BBA8C008EFC1C /* ECKeyPair.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ECKeyPair.swift; sourceTree = ""; }; + 24B23979227BBA8C008EFC1C /* japanese.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = japanese.txt; sourceTree = ""; }; + 24B2397A227BBA8C008EFC1C /* Mnemonic.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Mnemonic.swift; sourceTree = ""; }; + 24B2397B227BBA8C008EFC1C /* english.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = english.txt; sourceTree = ""; }; + 24B2397C227BBA8C008EFC1C /* spanish.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = spanish.txt; sourceTree = ""; }; + 24B2397D227BBA8C008EFC1C /* portuguese.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = portuguese.txt; sourceTree = ""; }; + 24B2397E227BBA8C008EFC1C /* ProofOfWork.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProofOfWork.swift; sourceTree = ""; }; + 24B2397F227BBA8C008EFC1C /* ECKeyPair.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ECKeyPair.m; sourceTree = ""; }; + 24B2398B227BBB21008EFC1C /* LokiKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; fileEncoding = 4; path = LokiKit.podspec; sourceTree = SOURCE_ROOT; }; + 24B2398E227BBEDA008EFC1C /* CryptoSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 24B23990227BBEDC008EFC1C /* Curve25519Kit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Curve25519Kit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 24B23992227BBEE2008EFC1C /* SignalServiceKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SignalServiceKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D5C29CCA1A7CDF6063649ED2 /* Pods-LokiKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LokiKit.release.xcconfig"; path = "../Pods/Target Support Files/Pods-LokiKit/Pods-LokiKit.release.xcconfig"; sourceTree = ""; }; + E08CB8D0C89F4717B2D51D41 /* Pods-LokiKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LokiKit.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-LokiKit/Pods-LokiKit.debug.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 24B23957227BBA2D008EFC1C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F61025585B2E8A504887E1F9 /* Pods_LokiKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 24B23960227BBA2D008EFC1C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 24B23964227BBA2D008EFC1C /* LokiKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 24B23950227BBA2D008EFC1C = { + isa = PBXGroup; + children = ( + 24B2395C227BBA2D008EFC1C /* LokiKit */, + 24B23967227BBA2D008EFC1C /* LokiKitTests */, + 24B2395B227BBA2D008EFC1C /* Products */, + 24B2398D227BBED9008EFC1C /* Frameworks */, + E103B305EE1E5ECDD2D72DDC /* Pods */, + ); + sourceTree = ""; + }; + 24B2395B227BBA2D008EFC1C /* Products */ = { + isa = PBXGroup; + children = ( + 24B2395A227BBA2D008EFC1C /* LokiKit.framework */, + 24B23963227BBA2D008EFC1C /* LokiKitTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 24B2395C227BBA2D008EFC1C /* LokiKit */ = { + isa = PBXGroup; + children = ( + 24B2398A227BBB14008EFC1C /* Pod */, + 24B23974227BBA8C008EFC1C /* src */, + 24B2395D227BBA2D008EFC1C /* LokiKit.h */, + 24B2395E227BBA2D008EFC1C /* Info.plist */, + ); + path = LokiKit; + sourceTree = ""; + }; + 24B23967227BBA2D008EFC1C /* LokiKitTests */ = { + isa = PBXGroup; + children = ( + 24B23968227BBA2D008EFC1C /* LokiKitTests.swift */, + 24B2396A227BBA2D008EFC1C /* Info.plist */, + ); + path = LokiKitTests; + sourceTree = ""; + }; + 24B23974227BBA8C008EFC1C /* src */ = { + isa = PBXGroup; + children = ( + 24B23976227BBA8C008EFC1C /* ECKeyPair.h */, + 24B23977227BBA8C008EFC1C /* ECKeyPair.swift */, + 24B23978227BBA8C008EFC1C /* Mnemonic */, + 24B2397E227BBA8C008EFC1C /* ProofOfWork.swift */, + 24B2397F227BBA8C008EFC1C /* ECKeyPair.m */, + ); + path = src; + sourceTree = ""; + }; + 24B23978227BBA8C008EFC1C /* Mnemonic */ = { + isa = PBXGroup; + children = ( + 24B23979227BBA8C008EFC1C /* japanese.txt */, + 24B2397A227BBA8C008EFC1C /* Mnemonic.swift */, + 24B2397B227BBA8C008EFC1C /* english.txt */, + 24B2397C227BBA8C008EFC1C /* spanish.txt */, + 24B2397D227BBA8C008EFC1C /* portuguese.txt */, + ); + path = Mnemonic; + sourceTree = ""; + }; + 24B2398A227BBB14008EFC1C /* Pod */ = { + isa = PBXGroup; + children = ( + 24B2398B227BBB21008EFC1C /* LokiKit.podspec */, + ); + name = Pod; + sourceTree = ""; + }; + 24B2398D227BBED9008EFC1C /* Frameworks */ = { + isa = PBXGroup; + children = ( + 24B23992227BBEE2008EFC1C /* SignalServiceKit.framework */, + 24B23990227BBEDC008EFC1C /* Curve25519Kit.framework */, + 24B2398E227BBEDA008EFC1C /* CryptoSwift.framework */, + 090A2756AF3B96A1A6F7208C /* Pods_LokiKit.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + E103B305EE1E5ECDD2D72DDC /* Pods */ = { + isa = PBXGroup; + children = ( + E08CB8D0C89F4717B2D51D41 /* Pods-LokiKit.debug.xcconfig */, + D5C29CCA1A7CDF6063649ED2 /* Pods-LokiKit.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 24B23955227BBA2D008EFC1C /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 24B23981227BBA8C008EFC1C /* ECKeyPair.h in Headers */, + 24B2396B227BBA2D008EFC1C /* LokiKit.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 24B23959227BBA2D008EFC1C /* LokiKit */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24B2396E227BBA2D008EFC1C /* Build configuration list for PBXNativeTarget "LokiKit" */; + buildPhases = ( + 3BE8E7BCCD2DD9377DDC1A50 /* [CP] Check Pods Manifest.lock */, + 24B23955227BBA2D008EFC1C /* Headers */, + 24B23956227BBA2D008EFC1C /* Sources */, + 24B23957227BBA2D008EFC1C /* Frameworks */, + 24B23958227BBA2D008EFC1C /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = LokiKit; + productName = LokiKit; + productReference = 24B2395A227BBA2D008EFC1C /* LokiKit.framework */; + productType = "com.apple.product-type.framework"; + }; + 24B23962227BBA2D008EFC1C /* LokiKitTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24B23971227BBA2D008EFC1C /* Build configuration list for PBXNativeTarget "LokiKitTests" */; + buildPhases = ( + 24B2395F227BBA2D008EFC1C /* Sources */, + 24B23960227BBA2D008EFC1C /* Frameworks */, + 24B23961227BBA2D008EFC1C /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 24B23966227BBA2D008EFC1C /* PBXTargetDependency */, + ); + name = LokiKitTests; + productName = LokiKitTests; + productReference = 24B23963227BBA2D008EFC1C /* LokiKitTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 24B23951227BBA2D008EFC1C /* Project object */ = { + isa = PBXProject; + attributes = { + DefaultBuildSystemTypeForWorkspace = Original; + LastSwiftUpdateCheck = 1020; + LastUpgradeCheck = 1020; + ORGANIZATIONNAME = "loki network"; + TargetAttributes = { + 24B23959227BBA2D008EFC1C = { + CreatedOnToolsVersion = 10.2.1; + }; + 24B23962227BBA2D008EFC1C = { + CreatedOnToolsVersion = 10.2.1; + }; + }; + }; + buildConfigurationList = 24B23954227BBA2D008EFC1C /* Build configuration list for PBXProject "LokiKit" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 24B23950227BBA2D008EFC1C; + productRefGroup = 24B2395B227BBA2D008EFC1C /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 24B23959227BBA2D008EFC1C /* LokiKit */, + 24B23962227BBA2D008EFC1C /* LokiKitTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 24B23958227BBA2D008EFC1C /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 24B23983227BBA8C008EFC1C /* japanese.txt in Resources */, + 24B23986227BBA8C008EFC1C /* spanish.txt in Resources */, + 24B23985227BBA8C008EFC1C /* english.txt in Resources */, + 24B23987227BBA8C008EFC1C /* portuguese.txt in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 24B23961227BBA2D008EFC1C /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3BE8E7BCCD2DD9377DDC1A50 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-LokiKit-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; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 24B23956227BBA2D008EFC1C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 24B23984227BBA8C008EFC1C /* Mnemonic.swift in Sources */, + 24B23988227BBA8C008EFC1C /* ProofOfWork.swift in Sources */, + 24B23982227BBA8C008EFC1C /* ECKeyPair.swift in Sources */, + 24B23989227BBA8C008EFC1C /* ECKeyPair.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 24B2395F227BBA2D008EFC1C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 24B23969227BBA2D008EFC1C /* LokiKitTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 24B23966227BBA2D008EFC1C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 24B23959227BBA2D008EFC1C /* LokiKit */; + targetProxy = 24B23965227BBA2D008EFC1C /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 24B2396C227BBA2D008EFC1C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + 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; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + 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"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 24B2396D227BBA2D008EFC1C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + 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; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 24B2396F227BBA2D008EFC1C /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E08CB8D0C89F4717B2D51D41 /* Pods-LokiKit.debug.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Automatic; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = LokiKit/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.loki-network.Loki-Messenger.LokiKit"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 24B23970227BBA2D008EFC1C /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D5C29CCA1A7CDF6063649ED2 /* Pods-LokiKit.release.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Automatic; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = LokiKit/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.loki-network.Loki-Messenger.LokiKit"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + 24B23972227BBA2D008EFC1C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = LokiKitTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.loki-network.Loki-Messenger.LokiKitTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 24B23973227BBA2D008EFC1C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = LokiKitTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.loki-network.Loki-Messenger.LokiKitTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 24B23954227BBA2D008EFC1C /* Build configuration list for PBXProject "LokiKit" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24B2396C227BBA2D008EFC1C /* Debug */, + 24B2396D227BBA2D008EFC1C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 24B2396E227BBA2D008EFC1C /* Build configuration list for PBXNativeTarget "LokiKit" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24B2396F227BBA2D008EFC1C /* Debug */, + 24B23970227BBA2D008EFC1C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 24B23971227BBA2D008EFC1C /* Build configuration list for PBXNativeTarget "LokiKitTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24B23972227BBA2D008EFC1C /* Debug */, + 24B23973227BBA2D008EFC1C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 24B23951227BBA2D008EFC1C /* Project object */; +} diff --git a/LokiKit/LokiKit/Info.plist b/LokiKit/LokiKit/Info.plist new file mode 100644 index 000000000..e1fe4cfb7 --- /dev/null +++ b/LokiKit/LokiKit/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + + diff --git a/LokiKit/LokiKit/LokiKit.h b/LokiKit/LokiKit/LokiKit.h new file mode 100644 index 000000000..87d17e152 --- /dev/null +++ b/LokiKit/LokiKit/LokiKit.h @@ -0,0 +1,16 @@ +// +// Copyright (c) 2018 Open Whisper Systems. All rights reserved. +// + +#import + +//! Project version number for LokiKit. +FOUNDATION_EXPORT double LokiKitVersionNumber; + +//! Project version string for LokiKit. +FOUNDATION_EXPORT const unsigned char LokiKitVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import +#import "ECKeyPair.h" + + diff --git a/LokiKit/ECKeyPair.h b/LokiKit/LokiKit/src/ECKeyPair.h similarity index 100% rename from LokiKit/ECKeyPair.h rename to LokiKit/LokiKit/src/ECKeyPair.h diff --git a/LokiKit/ECKeyPair.m b/LokiKit/LokiKit/src/ECKeyPair.m similarity index 96% rename from LokiKit/ECKeyPair.m rename to LokiKit/LokiKit/src/ECKeyPair.m index 9a385ff21..ab88812cc 100644 --- a/LokiKit/ECKeyPair.m +++ b/LokiKit/LokiKit/src/ECKeyPair.m @@ -1,4 +1,5 @@ #import "ECKeyPair.h" +#import extern void curve25519_donna(unsigned char *output, const unsigned char *a, const unsigned char *b); diff --git a/LokiKit/ECKeyPair.swift b/LokiKit/LokiKit/src/ECKeyPair.swift similarity index 89% rename from LokiKit/ECKeyPair.swift rename to LokiKit/LokiKit/src/ECKeyPair.swift index e31c2bcb2..4fd48b16d 100644 --- a/LokiKit/ECKeyPair.swift +++ b/LokiKit/LokiKit/src/ECKeyPair.swift @@ -1,5 +1,5 @@ -extension ECKeyPair { +public extension ECKeyPair { var hexEncodedPrivateKey: String { return privateKey.map { String(format: "%02hhx", $0) }.joined() diff --git a/LokiKit/Mnemonic/Mnemonic.swift b/LokiKit/LokiKit/src/Mnemonic/Mnemonic.swift similarity index 90% rename from LokiKit/Mnemonic/Mnemonic.swift rename to LokiKit/LokiKit/src/Mnemonic/Mnemonic.swift index e636f7395..4ede5079f 100644 --- a/LokiKit/Mnemonic/Mnemonic.swift +++ b/LokiKit/LokiKit/src/Mnemonic/Mnemonic.swift @@ -1,16 +1,16 @@ import CryptoSwift /// Based on [mnemonic.js](https://github.com/loki-project/loki-messenger/blob/development/libloki/modules/mnemonic.js) . -enum Mnemonic { +public enum Mnemonic { - struct Language : Hashable { + public struct Language : Hashable { let filename: String let prefixLength: Int - static let english = Language(filename: "english", prefixLength: 3) - static let japanese = Language(filename: "japanese", prefixLength: 3) - static let portuguese = Language(filename: "portuguese", prefixLength: 4) - static let spanish = Language(filename: "spanish", prefixLength: 4) + public static let english = Language(filename: "english", prefixLength: 3) + public static let japanese = Language(filename: "japanese", prefixLength: 3) + public static let portuguese = Language(filename: "portuguese", prefixLength: 4) + public static let spanish = Language(filename: "spanish", prefixLength: 4) private static var wordSetCache: [Language:[String]] = [:] private static var truncatedWordSetCache: [Language:[String]] = [:] @@ -43,10 +43,10 @@ enum Mnemonic { } } - enum DecodingError : Error { + public enum DecodingError : Error { case generic, inputTooShort, missingLastWord, invalidWord, verificationFailed - var description: String { + public var description: String { switch self { case .generic: return NSLocalizedString("Something went wrong. Please check your mnemonic and try again.", comment: "") case .inputTooShort: return NSLocalizedString("Looks like you didn't enter enough words. Please check your mnemonic and try again.", comment: "") @@ -57,7 +57,7 @@ enum Mnemonic { } } - static func encode(hexEncodedString string: String, language: Language = .english) -> String { + public static func encode(hexEncodedString string: String, language: Language = .english) -> String { var string = string let wordSet = language.loadWordSet() let prefixLength = language.prefixLength @@ -87,7 +87,7 @@ enum Mnemonic { return result.joined(separator: " ") } - static func decode(mnemonic: String, language: Language = .english) throws -> String { + public static func decode(mnemonic: String, language: Language = .english) throws -> String { var words = mnemonic.split(separator: " ").map { String($0) } let truncatedWordSet = language.loadTruncatedWordSet() let prefixLength = language.prefixLength diff --git a/LokiKit/Mnemonic/english.txt b/LokiKit/LokiKit/src/Mnemonic/english.txt similarity index 100% rename from LokiKit/Mnemonic/english.txt rename to LokiKit/LokiKit/src/Mnemonic/english.txt diff --git a/LokiKit/Mnemonic/japanese.txt b/LokiKit/LokiKit/src/Mnemonic/japanese.txt similarity index 100% rename from LokiKit/Mnemonic/japanese.txt rename to LokiKit/LokiKit/src/Mnemonic/japanese.txt diff --git a/LokiKit/Mnemonic/portuguese.txt b/LokiKit/LokiKit/src/Mnemonic/portuguese.txt similarity index 100% rename from LokiKit/Mnemonic/portuguese.txt rename to LokiKit/LokiKit/src/Mnemonic/portuguese.txt diff --git a/LokiKit/Mnemonic/spanish.txt b/LokiKit/LokiKit/src/Mnemonic/spanish.txt similarity index 100% rename from LokiKit/Mnemonic/spanish.txt rename to LokiKit/LokiKit/src/Mnemonic/spanish.txt diff --git a/LokiKit/ProofOfWork.swift b/LokiKit/LokiKit/src/ProofOfWork.swift similarity index 100% rename from LokiKit/ProofOfWork.swift rename to LokiKit/LokiKit/src/ProofOfWork.swift diff --git a/LokiKit/LokiKitTests/Info.plist b/LokiKit/LokiKitTests/Info.plist new file mode 100644 index 000000000..6c40a6cd0 --- /dev/null +++ b/LokiKit/LokiKitTests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/LokiKit/LokiKitTests/LokiKitTests.swift b/LokiKit/LokiKitTests/LokiKitTests.swift new file mode 100644 index 000000000..0559a5d7b --- /dev/null +++ b/LokiKit/LokiKitTests/LokiKitTests.swift @@ -0,0 +1,30 @@ +// +// Copyright (c) 2018 Open Whisper Systems. All rights reserved. +// + +import XCTest +@testable import LokiKit + +class LokiKitTests: XCTestCase { + + override func 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. + } + + 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/Podfile b/Podfile index 42d28eb88..754da6ff6 100644 --- a/Podfile +++ b/Podfile @@ -5,6 +5,12 @@ use_frameworks! def shared_pods + ### + # Loki Kit + ### + + pod 'LokiKit', path: './LokiKit', testspecs: ["Tests"] + ### # OWS Pods ### @@ -64,7 +70,12 @@ def shared_pods pod 'CryptoSwift', :inhibit_warnings => true end +workspace 'Signal' +project 'Signal' +project 'LokiKit/LokiKit' + target 'Signal' do + project 'Signal' shared_pods pod 'SSZipArchive', :inhibit_warnings => true @@ -74,13 +85,21 @@ target 'Signal' do end target 'SignalShareExtension' do + project 'Signal' shared_pods end target 'SignalMessaging' do + project 'Signal' shared_pods end +target 'LokiKit' do + project 'LokiKit/LokiKit' + pod 'Curve25519Kit', git: 'https://github.com/signalapp/Curve25519Kit', testspecs: ["Tests"] + pod 'CryptoSwift', :inhibit_warnings => true +end + post_install do |installer| enable_extension_support_for_purelayout(installer) end diff --git a/Podfile.lock b/Podfile.lock index 8439c483d..5956f2925 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -44,6 +44,14 @@ PODS: - CocoaLumberjack - SignalCoreKit - libPhoneNumber-iOS (0.9.13) + - LokiKit (0.0.1): + - CryptoSwift + - Curve25519Kit + - SignalCoreKit + - LokiKit/Tests (0.0.1): + - CryptoSwift + - Curve25519Kit + - SignalCoreKit - Mantle (2.1.0): - Mantle/extobjc (= 2.1.0) - Mantle/extobjc (2.1.0) @@ -86,6 +94,7 @@ PODS: - Curve25519Kit - GRKOpenSSLFramework - libPhoneNumber-iOS + - LokiKit - Mantle - PromiseKit (~> 6.0) - Reachability @@ -102,6 +111,7 @@ PODS: - Curve25519Kit - GRKOpenSSLFramework - libPhoneNumber-iOS + - LokiKit - Mantle - PromiseKit (~> 6.0) - Reachability @@ -195,6 +205,8 @@ DEPENDENCIES: - GRKOpenSSLFramework (from `https://github.com/signalapp/GRKOpenSSLFramework`) - HKDFKit (from `https://github.com/signalapp/HKDFKit.git`) - HKDFKit/Tests (from `https://github.com/signalapp/HKDFKit.git`) + - LokiKit (from `./LokiKit`) + - LokiKit/Tests (from `./LokiKit`) - Mantle (from `https://github.com/signalapp/Mantle`, branch `signal-master`) - PromiseKit (= 6.5.3) - PureLayout @@ -236,6 +248,8 @@ EXTERNAL SOURCES: :git: https://github.com/signalapp/GRKOpenSSLFramework HKDFKit: :git: https://github.com/signalapp/HKDFKit.git + LokiKit: + :path: "./LokiKit" Mantle: :branch: signal-master :git: https://github.com/signalapp/Mantle @@ -290,6 +304,7 @@ SPEC CHECKSUMS: GRKOpenSSLFramework: 8a3735ad41e7dc1daff460467bccd32ca5d6ae3e HKDFKit: 3b6dbbb9d59c221cc6c52c3aa915700cbf24e376 libPhoneNumber-iOS: e444379ac18bbfbdefad571da735b2cd7e096caa + LokiKit: e18a5ac18b9f2b788b0fa7d0619d9a2a0511dd54 Mantle: 2fa750afa478cd625a94230fbf1c13462f29395b PromiseKit: c609029bdd801f792551a504c695c7d3098b42cd PureLayout: f08c01b8dec00bb14a1fefa3de4c7d9c265df85e @@ -297,7 +312,7 @@ SPEC CHECKSUMS: SAMKeychain: 483e1c9f32984d50ca961e26818a534283b4cd5c SignalCoreKit: c2d8132cdedb95d35eb2f8ae7eac0957695d0a8b SignalMetadataKit: 6fa5e9a53c7f104568662521a2f3874672ff7a02 - SignalServiceKit: c637b66e485538dda76836a1ec560dc556035430 + SignalServiceKit: 81b569196f3da6c3964f33b688f7b9ea2bc9a271 SQLCipher: efbdb52cdbe340bcd892b1b14297df4e07241b7f SSZipArchive: cefe1364104a0231268a5deb8495bdf2861f52f0 Starscream: ef3ece99d765eeccb67de105bfa143f929026cf5 @@ -305,6 +320,6 @@ SPEC CHECKSUMS: YapDatabase: b418a4baa6906e8028748938f9159807fd039af4 YYImage: 1e1b62a9997399593e4b9c4ecfbbabbf1d3f3b54 -PODFILE CHECKSUM: 71de0ab6116c92a1a144e5889d07cc57a0d61f77 +PODFILE CHECKSUM: f115e396f48fe7258fe9ef23b31730a26cf2c17d COCOAPODS: 1.5.3 diff --git a/Signal.xcodeproj/project.pbxproj b/Signal.xcodeproj/project.pbxproj index e024d5731..25bc38ee5 100644 --- a/Signal.xcodeproj/project.pbxproj +++ b/Signal.xcodeproj/project.pbxproj @@ -7,7 +7,7 @@ objects = { /* Begin PBXBuildFile section */ - 242D3F4B227966A30035F945 /* ProofOfWork.swift in Sources */ = {isa = PBXBuildFile; fileRef = 242D3F4A227966A20035F945 /* ProofOfWork.swift */; }; + 247A8440227BC43F0057C088 /* LokiMessagingAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 247A843F227BC43F0057C088 /* LokiMessagingAPI.swift */; }; 2AE2882E4C2B96BFFF9EE27C /* Pods_SignalShareExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0F94C85CB0B235DA37F68ED0 /* Pods_SignalShareExtension.framework */; }; 3403B95D20EA9527001A1F44 /* OWSContactShareButtonsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3403B95B20EA9526001A1F44 /* OWSContactShareButtonsView.m */; }; 34074F61203D0CBE004596AE /* OWSSounds.m in Sources */ = {isa = PBXBuildFile; fileRef = 34074F5F203D0CBD004596AE /* OWSSounds.m */; }; @@ -558,14 +558,6 @@ B6FE7EB71ADD62FA00A6D22F /* PushKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6FE7EB61ADD62FA00A6D22F /* PushKit.framework */; }; B821F2F82272CED3002C88C0 /* OnboardingAccountDetailsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B821F2F72272CED3002C88C0 /* OnboardingAccountDetailsViewController.swift */; }; B821F2FA2272CEEE002C88C0 /* OnboardingKeyPairViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B821F2F92272CEEE002C88C0 /* OnboardingKeyPairViewController.swift */; }; - B8DC3D7722795E2400D909D6 /* ECKeyPair.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8DC3D7422795E2300D909D6 /* ECKeyPair.swift */; }; - B8DC3D7822795E2400D909D6 /* ECKeyPair.m in Sources */ = {isa = PBXBuildFile; fileRef = B8DC3D7522795E2300D909D6 /* ECKeyPair.m */; }; - B8DC3D7922795E2400D909D6 /* LokiMessagingAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8DC3D7622795E2400D909D6 /* LokiMessagingAPI.swift */; }; - B8DC3D8022795E4000D909D6 /* portuguese.txt in Resources */ = {isa = PBXBuildFile; fileRef = B8DC3D7B22795E4000D909D6 /* portuguese.txt */; }; - B8DC3D8122795E4000D909D6 /* spanish.txt in Resources */ = {isa = PBXBuildFile; fileRef = B8DC3D7C22795E4000D909D6 /* spanish.txt */; }; - B8DC3D8222795E4000D909D6 /* Mnemonic.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8DC3D7D22795E4000D909D6 /* Mnemonic.swift */; }; - B8DC3D8322795E4000D909D6 /* english.txt in Resources */ = {isa = PBXBuildFile; fileRef = B8DC3D7E22795E4000D909D6 /* english.txt */; }; - B8DC3D8422795E4000D909D6 /* japanese.txt in Resources */ = {isa = PBXBuildFile; fileRef = B8DC3D7F22795E4000D909D6 /* japanese.txt */; }; B90418E6183E9DD40038554A /* DateUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = B90418E5183E9DD40038554A /* DateUtil.m */; }; B9EB5ABD1884C002007CBB57 /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9EB5ABC1884C002007CBB57 /* MessageUI.framework */; }; BFF3FB9730634F37D25903F4 /* Pods_Signal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D17BB5C25D615AB49813100C /* Pods_Signal.framework */; }; @@ -660,7 +652,7 @@ 0F94C85CB0B235DA37F68ED0 /* Pods_SignalShareExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SignalShareExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1C93CF3971B64E8B6C1F9AC1 /* Pods-SignalShareExtension.test.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SignalShareExtension.test.xcconfig"; path = "Pods/Target Support Files/Pods-SignalShareExtension/Pods-SignalShareExtension.test.xcconfig"; sourceTree = ""; }; 1CE3CD5C23334683BDD3D78C /* Pods-Signal.test.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Signal.test.xcconfig"; path = "Pods/Target Support Files/Pods-Signal/Pods-Signal.test.xcconfig"; sourceTree = ""; }; - 242D3F4A227966A20035F945 /* ProofOfWork.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProofOfWork.swift; sourceTree = ""; }; + 247A843F227BC43F0057C088 /* LokiMessagingAPI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LokiMessagingAPI.swift; sourceTree = ""; }; 264242150E87D10A357DB07B /* Pods_SignalMessaging.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SignalMessaging.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3403B95B20EA9526001A1F44 /* OWSContactShareButtonsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSContactShareButtonsView.m; sourceTree = ""; }; 3403B95C20EA9527001A1F44 /* OWSContactShareButtonsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSContactShareButtonsView.h; sourceTree = ""; }; @@ -1351,15 +1343,6 @@ B6FE7EB61ADD62FA00A6D22F /* PushKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PushKit.framework; path = System/Library/Frameworks/PushKit.framework; sourceTree = SDKROOT; }; B821F2F72272CED3002C88C0 /* OnboardingAccountDetailsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingAccountDetailsViewController.swift; sourceTree = ""; }; B821F2F92272CEEE002C88C0 /* OnboardingKeyPairViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingKeyPairViewController.swift; sourceTree = ""; }; - B8DC3D7322795E2300D909D6 /* ECKeyPair.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ECKeyPair.h; sourceTree = ""; }; - B8DC3D7422795E2300D909D6 /* ECKeyPair.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ECKeyPair.swift; sourceTree = ""; }; - B8DC3D7522795E2300D909D6 /* ECKeyPair.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ECKeyPair.m; sourceTree = ""; }; - B8DC3D7622795E2400D909D6 /* LokiMessagingAPI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LokiMessagingAPI.swift; sourceTree = ""; }; - B8DC3D7B22795E4000D909D6 /* portuguese.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = portuguese.txt; sourceTree = ""; }; - B8DC3D7C22795E4000D909D6 /* spanish.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = spanish.txt; sourceTree = ""; }; - B8DC3D7D22795E4000D909D6 /* Mnemonic.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Mnemonic.swift; sourceTree = ""; }; - B8DC3D7E22795E4000D909D6 /* english.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = english.txt; sourceTree = ""; }; - B8DC3D7F22795E4000D909D6 /* japanese.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = japanese.txt; sourceTree = ""; }; B90418E4183E9DD40038554A /* DateUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DateUtil.h; sourceTree = ""; }; B90418E5183E9DD40038554A /* DateUtil.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DateUtil.m; sourceTree = ""; }; B97940251832BD2400BD66CB /* UIUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIUtil.h; sourceTree = ""; }; @@ -1473,6 +1456,14 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 247A843E227BC4260057C088 /* LokiUtil */ = { + isa = PBXGroup; + children = ( + 247A843F227BC43F0057C088 /* LokiMessagingAPI.swift */, + ); + path = LokiUtil; + sourceTree = ""; + }; 34074F54203D0722004596AE /* Sounds */ = { isa = PBXGroup; children = ( @@ -2435,9 +2426,10 @@ isa = PBXGroup; children = ( 4CC1ECFA211A553000CC13BE /* AppUpdateNag.swift */, - B90418E4183E9DD40038554A /* DateUtil.h */, 3496956121A301A100DCFE74 /* Backup */, + B90418E4183E9DD40038554A /* DateUtil.h */, B90418E5183E9DD40038554A /* DateUtil.m */, + 247A843E227BC4260057C088 /* LokiUtil */, 34B0796C1FCF46B000E248C2 /* MainAppContext.h */, 34B0796B1FCF46B000E248C2 /* MainAppContext.m */, 34D99C911F2937CC00D284D6 /* OWSAnalytics.swift */, @@ -2612,35 +2604,9 @@ name = Translations; sourceTree = ""; }; - B8DC3D7222795D7000D909D6 /* LokiKit */ = { - isa = PBXGroup; - children = ( - B8DC3D7A22795E2C00D909D6 /* Mnemonic */, - B8DC3D7322795E2300D909D6 /* ECKeyPair.h */, - B8DC3D7522795E2300D909D6 /* ECKeyPair.m */, - B8DC3D7422795E2300D909D6 /* ECKeyPair.swift */, - B8DC3D7622795E2400D909D6 /* LokiMessagingAPI.swift */, - 242D3F4A227966A20035F945 /* ProofOfWork.swift */, - ); - path = LokiKit; - sourceTree = ""; - }; - B8DC3D7A22795E2C00D909D6 /* Mnemonic */ = { - isa = PBXGroup; - children = ( - B8DC3D7E22795E4000D909D6 /* english.txt */, - B8DC3D7F22795E4000D909D6 /* japanese.txt */, - B8DC3D7B22795E4000D909D6 /* portuguese.txt */, - B8DC3D7C22795E4000D909D6 /* spanish.txt */, - B8DC3D7D22795E4000D909D6 /* Mnemonic.swift */, - ); - path = Mnemonic; - sourceTree = ""; - }; D221A07E169C9E5E00537ABF = { isa = PBXGroup; children = ( - B8DC3D7222795D7000D909D6 /* LokiKit */, D221A093169C9E5E00537ABF /* Signal */, 453518691FC635DD00210559 /* SignalShareExtension */, 453518931FC63DBF00210559 /* SignalMessaging */, @@ -3139,11 +3105,9 @@ 45B74A812044AAB600CD42F8 /* chord-quiet.aifc in Resources */, 45B74A832044AAB600CD42F8 /* circles.aifc in Resources */, 45B74A892044AAB600CD42F8 /* circles-quiet.aifc in Resources */, - B8DC3D8022795E4000D909D6 /* portuguese.txt in Resources */, 4503F1BF20470A5B00CEE724 /* classic.aifc in Resources */, 4503F1BE20470A5B00CEE724 /* classic-quiet.aifc in Resources */, 45B74A7E2044AAB600CD42F8 /* complete.aifc in Resources */, - B8DC3D8322795E4000D909D6 /* english.txt in Resources */, 45B74A872044AAB600CD42F8 /* complete-quiet.aifc in Resources */, 45B74A772044AAB600CD42F8 /* hello.aifc in Resources */, 4C61819F219E1796009BD6B5 /* typing-animation-dark.gif in Resources */, @@ -3151,13 +3115,11 @@ 45B74A792044AAB600CD42F8 /* input.aifc in Resources */, 45B74A8C2044AAB600CD42F8 /* input-quiet.aifc in Resources */, 45B74A7A2044AAB600CD42F8 /* keys.aifc in Resources */, - B8DC3D8122795E4000D909D6 /* spanish.txt in Resources */, 45B74A762044AAB600CD42F8 /* keys-quiet.aifc in Resources */, 45B74A862044AAB600CD42F8 /* note.aifc in Resources */, 45B74A7F2044AAB600CD42F8 /* note-quiet.aifc in Resources */, 45B74A842044AAB600CD42F8 /* popcorn.aifc in Resources */, 45B74A7D2044AAB600CD42F8 /* popcorn-quiet.aifc in Resources */, - B8DC3D8422795E4000D909D6 /* japanese.txt in Resources */, 45B74A822044AAB600CD42F8 /* pulse.aifc in Resources */, 34B6A90B218BA1D1007C4606 /* typing-animation.gif in Resources */, 45B74A802044AAB600CD42F8 /* pulse-quiet.aifc in Resources */, @@ -3291,6 +3253,7 @@ "${BUILT_PRODUCTS_DIR}/Curve25519Kit/Curve25519Kit.framework", "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin/openssl.framework", "${BUILT_PRODUCTS_DIR}/HKDFKit/HKDFKit.framework", + "${BUILT_PRODUCTS_DIR}/LokiKit/LokiKit.framework", "${BUILT_PRODUCTS_DIR}/Mantle/Mantle.framework", "${BUILT_PRODUCTS_DIR}/PromiseKit/PromiseKit.framework", "${BUILT_PRODUCTS_DIR}/PureLayout/PureLayout.framework", @@ -3316,6 +3279,7 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Curve25519Kit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/openssl.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HKDFKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LokiKit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mantle.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PromiseKit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PureLayout.framework", @@ -3369,6 +3333,7 @@ "${BUILT_PRODUCTS_DIR}/Curve25519Kit/Curve25519Kit.framework", "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin/openssl.framework", "${BUILT_PRODUCTS_DIR}/HKDFKit/HKDFKit.framework", + "${BUILT_PRODUCTS_DIR}/LokiKit/LokiKit.framework", "${BUILT_PRODUCTS_DIR}/Mantle/Mantle.framework", "${BUILT_PRODUCTS_DIR}/PromiseKit/PromiseKit.framework", "${BUILT_PRODUCTS_DIR}/PureLayout/PureLayout.framework", @@ -3393,6 +3358,7 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Curve25519Kit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/openssl.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HKDFKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LokiKit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mantle.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PromiseKit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PureLayout.framework", @@ -3616,7 +3582,6 @@ 4C1885D2218F8E1C00B67051 /* PhotoGridViewCell.swift in Sources */, 45C9DEB81DF4E35A0065CA84 /* WebRTCCallMessageHandler.swift in Sources */, 34D1F0501F7D45A60066283D /* GifPickerCell.swift in Sources */, - B8DC3D8222795E4000D909D6 /* Mnemonic.swift in Sources */, 3496957421A301A100DCFE74 /* OWSBackupAPI.swift in Sources */, 34D99C931F2937CC00D284D6 /* OWSAnalytics.swift in Sources */, 340FC8B8204DAC8D007AEB0F /* AddToGroupViewController.m in Sources */, @@ -3627,7 +3592,6 @@ 340FC8B4204DAC8D007AEB0F /* OWSBackupSettingsViewController.m in Sources */, 34D1F0871F8678AA0066283D /* ConversationViewItem.m in Sources */, 451A13B11E13DED2000A50FD /* AppNotifications.swift in Sources */, - B8DC3D7822795E2400D909D6 /* ECKeyPair.m in Sources */, 34D99CE4217509C2000AFB39 /* AppEnvironment.swift in Sources */, 348570A820F67575004FF32B /* OWSMessageHeaderView.m in Sources */, 450DF2091E0DD2C6003D14BE /* UserNotificationsAdaptee.swift in Sources */, @@ -3644,7 +3608,6 @@ 34D2CCE0206939B400CB1A14 /* DebugUIMessagesAssetLoader.m in Sources */, 4CEB78C92178EBAB00F315D2 /* OWSSessionResetJobRecord.m in Sources */, 45794E861E00620000066731 /* CallUIAdapter.swift in Sources */, - 242D3F4B227966A30035F945 /* ProofOfWork.swift in Sources */, 340FC8BA204DAC8D007AEB0F /* FingerprintViewScanController.m in Sources */, 4585C4681ED8F8D200896AEA /* SafetyNumberConfirmationAlert.swift in Sources */, 4C20B2B920CA10DE001BAC90 /* ConversationSearchViewController.swift in Sources */, @@ -3781,7 +3744,6 @@ 340FC8B6204DAC8D007AEB0F /* OWSQRCodeScanningViewController.m in Sources */, 4CB5F26920F7D060004D1B42 /* MessageActions.swift in Sources */, 340FC8B5204DAC8D007AEB0F /* AboutTableViewController.m in Sources */, - B8DC3D7722795E2400D909D6 /* ECKeyPair.swift in Sources */, 34BECE2B1F74C12700D7438D /* DebugUIStress.m in Sources */, 340FC8B9204DAC8D007AEB0F /* UpdateGroupViewController.m in Sources */, 3448E1662215B313004B052E /* OnboardingCaptchaViewController.swift in Sources */, @@ -3803,13 +3765,13 @@ 45A663C51F92EC760027B59E /* GroupTableViewCell.swift in Sources */, 34CA631B2097806F00E526A0 /* OWSContactShareView.m in Sources */, 34D1F0861F8678AA0066283D /* ConversationViewController.m in Sources */, + 247A8440227BC43F0057C088 /* LokiMessagingAPI.swift in Sources */, 3427C64320F500E000EEC730 /* OWSMessageTimerView.m in Sources */, B90418E6183E9DD40038554A /* DateUtil.m in Sources */, 3448E15E221333F5004B052E /* OnboardingController.swift in Sources */, 340FC8BD204DAC8D007AEB0F /* ShowGroupMembersViewController.m in Sources */, 3496956F21A301A100DCFE74 /* OWSBackupLazyRestore.swift in Sources */, 459311FC1D75C948008DD4F0 /* OWSDeviceTableViewCell.m in Sources */, - B8DC3D7922795E2400D909D6 /* LokiMessagingAPI.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Signal.xcodeproj/xcshareddata/xcschemes/Signal-Internal.xcscheme b/Signal.xcodeproj/xcshareddata/xcschemes/Signal-Internal.xcscheme index 572fd60ab..c5583e4d9 100644 --- a/Signal.xcodeproj/xcshareddata/xcschemes/Signal-Internal.xcscheme +++ b/Signal.xcodeproj/xcshareddata/xcschemes/Signal-Internal.xcscheme @@ -15,7 +15,7 @@ @@ -33,7 +33,7 @@ @@ -56,7 +56,7 @@ @@ -87,7 +87,7 @@ diff --git a/Signal.xcodeproj/xcshareddata/xcschemes/Signal.xcscheme b/Signal.xcodeproj/xcshareddata/xcschemes/Signal.xcscheme index a274fca29..a52676373 100644 --- a/Signal.xcodeproj/xcshareddata/xcschemes/Signal.xcscheme +++ b/Signal.xcodeproj/xcshareddata/xcschemes/Signal.xcscheme @@ -15,7 +15,7 @@ @@ -28,12 +28,26 @@ buildForAnalyzing = "YES"> + + + + @@ -117,7 +131,7 @@ @@ -152,7 +166,7 @@ @@ -193,7 +207,7 @@ diff --git a/Signal.xcodeproj/xcshareddata/xcschemes/SignalShareExtension.xcscheme b/Signal.xcodeproj/xcshareddata/xcschemes/SignalShareExtension.xcscheme index cc64d8a0e..77ad0a66b 100644 --- a/Signal.xcodeproj/xcshareddata/xcschemes/SignalShareExtension.xcscheme +++ b/Signal.xcodeproj/xcshareddata/xcschemes/SignalShareExtension.xcscheme @@ -30,7 +30,7 @@ @@ -72,7 +72,7 @@ @@ -92,7 +92,7 @@ diff --git a/Signal.xcworkspace/contents.xcworkspacedata b/Signal.xcworkspace/contents.xcworkspacedata index 3f3596e9a..3a05699dd 100644 --- a/Signal.xcworkspace/contents.xcworkspacedata +++ b/Signal.xcworkspace/contents.xcworkspacedata @@ -1,6 +1,9 @@ + + diff --git a/Signal/src/Signal-Bridging-Header.h b/Signal/src/Signal-Bridging-Header.h index 2f2edc86e..2f510d438 100644 --- a/Signal/src/Signal-Bridging-Header.h +++ b/Signal/src/Signal-Bridging-Header.h @@ -17,7 +17,6 @@ #import "DateUtil.h" #import "DebugUIPage.h" #import "DebugUITableViewController.h" -#import "ECKeyPair.h" #import "FingerprintViewController.h" #import "HomeViewCell.h" #import "HomeViewController.h" @@ -126,3 +125,4 @@ #import #import #import +#import diff --git a/Signal/src/ViewControllers/Registration/OnboardingKeyPairViewController.swift b/Signal/src/ViewControllers/Registration/OnboardingKeyPairViewController.swift index c20b93e15..feafe3179 100644 --- a/Signal/src/ViewControllers/Registration/OnboardingKeyPairViewController.swift +++ b/Signal/src/ViewControllers/Registration/OnboardingKeyPairViewController.swift @@ -1,3 +1,4 @@ +import LokiKit final class OnboardingKeyPairViewController : OnboardingBaseViewController { private var mode: Mode = .register { didSet { if mode != oldValue { handleModeChanged() } } } diff --git a/LokiKit/LokiMessagingAPI.swift b/Signal/src/util/LokiUtil/LokiMessagingAPI.swift similarity index 99% rename from LokiKit/LokiMessagingAPI.swift rename to Signal/src/util/LokiUtil/LokiMessagingAPI.swift index a0731f33c..b80e6aed2 100644 --- a/LokiKit/LokiMessagingAPI.swift +++ b/Signal/src/util/LokiUtil/LokiMessagingAPI.swift @@ -1,4 +1,5 @@ import PromiseKit +import LokiKit public struct LokiMessagingAPI { diff --git a/SignalServiceKit.podspec b/SignalServiceKit.podspec index ae42758ae..40849cb0d 100644 --- a/SignalServiceKit.podspec +++ b/SignalServiceKit.podspec @@ -52,6 +52,7 @@ An Objective-C library for communicating with the Signal messaging service. s.dependency 'SwiftProtobuf' s.dependency 'SignalCoreKit' s.dependency 'SignalMetadataKit' + s.dependency 'LokiKit' s.dependency 'PromiseKit', "~> 6.0"