diff --git a/.circleci/config.yml b/.circleci/config.yml
index 78af0f9..ce14b32 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -7,6 +7,14 @@ jobs:
steps:
- checkout
+ - run:
+ name: "Install tooling"
+ command: brew install swiftlint
+
- run:
name: "Run Node SDK Demo"
command: cd node && npm i && node src/index.js
+
+ - run:
+ name: "Run Swift SDK Demo"
+ command: cd swift && carthage bootstrap --platform mac && set -o pipefail && xcodebuild build -scheme Demo ONLY_ACTIVE_ARCH=YES
diff --git a/.gitmodules b/.gitmodules
index d99c1cf..e69de29 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,9 +0,0 @@
-[submodule "Carthage/Checkouts/XpringKit"]
- path = swift/Carthage/Checkouts/XpringKit
- url = https://github.com/xpring-eng/XpringKit.git
-[submodule "Carthage/Checkouts/grpc-swift"]
- path = swift/Carthage/Checkouts/grpc-swift
- url = https://github.com/grpc/grpc-swift.git
-[submodule "Carthage/Checkouts/swift-protobuf"]
- path = swift/Carthage/Checkouts/swift-protobuf
- url = https://github.com/apple/swift-protobuf.git
diff --git a/swift/.gitignore b/swift/.gitignore
index 0c5dcef..9560981 100755
--- a/swift/.gitignore
+++ b/swift/.gitignore
@@ -5,8 +5,8 @@
# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
-# Carthage/Checkouts
+Carthage/Checkouts
Carthage/Build
### CocoaPods ###
@@ -98,4 +98,4 @@ iOSInjectionProject/
## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
-# End of https://www.gitignore.io/api/swift,xcode,carthage,cocoapods
\ No newline at end of file
+# End of https://www.gitignore.io/api/swift,xcode,carthage,cocoapods
diff --git a/swift/Cartfile b/swift/Cartfile
old mode 100755
new mode 100644
index 897e076..211c313
--- a/swift/Cartfile
+++ b/swift/Cartfile
@@ -1,3 +1,2 @@
github "xpring-eng/XpringKit"
-github "apple/swift-protobuf" "1.6.0"
-github "grpc/grpc-swift" "0.9.1"
+
diff --git a/swift/Cartfile.resolved b/swift/Cartfile.resolved
index 31a2b57..082cf18 100644
--- a/swift/Cartfile.resolved
+++ b/swift/Cartfile.resolved
@@ -1,3 +1,3 @@
github "apple/swift-protobuf" "1.6.0"
github "grpc/grpc-swift" "0.9.1"
-github "xpring-eng/XpringKit" "1.0.2"
+github "xpring-eng/XpringKit" "1.3.0"
diff --git a/swift/Carthage/Checkouts/XpringKit b/swift/Carthage/Checkouts/XpringKit
deleted file mode 160000
index 85140bc..0000000
--- a/swift/Carthage/Checkouts/XpringKit
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 85140bc51db715231796402ea429c6edddad9609
diff --git a/swift/Carthage/Checkouts/XpringKit/Carthage/Build b/swift/Carthage/Checkouts/XpringKit/Carthage/Build
new file mode 120000
index 0000000..76f9ba2
--- /dev/null
+++ b/swift/Carthage/Checkouts/XpringKit/Carthage/Build
@@ -0,0 +1 @@
+../../../../Carthage/Build
\ No newline at end of file
diff --git a/swift/Carthage/Checkouts/XpringKit/Carthage/Checkouts/grpc-swift b/swift/Carthage/Checkouts/XpringKit/Carthage/Checkouts/grpc-swift
new file mode 120000
index 0000000..6459268
--- /dev/null
+++ b/swift/Carthage/Checkouts/XpringKit/Carthage/Checkouts/grpc-swift
@@ -0,0 +1 @@
+../../../../../Carthage/Checkouts/grpc-swift
\ No newline at end of file
diff --git a/swift/Carthage/Checkouts/XpringKit/Carthage/Checkouts/swift-protobuf b/swift/Carthage/Checkouts/XpringKit/Carthage/Checkouts/swift-protobuf
new file mode 120000
index 0000000..c573df8
--- /dev/null
+++ b/swift/Carthage/Checkouts/XpringKit/Carthage/Checkouts/swift-protobuf
@@ -0,0 +1 @@
+../../../../../Carthage/Checkouts/swift-protobuf
\ No newline at end of file
diff --git a/swift/Carthage/Checkouts/grpc-swift b/swift/Carthage/Checkouts/grpc-swift
deleted file mode 160000
index 8eac348..0000000
--- a/swift/Carthage/Checkouts/grpc-swift
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 8eac348c1108e8acbe70e24970dc1fd3c384aad6
diff --git a/swift/Carthage/Checkouts/swift-protobuf b/swift/Carthage/Checkouts/swift-protobuf
deleted file mode 160000
index 3a3594f..0000000
--- a/swift/Carthage/Checkouts/swift-protobuf
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 3a3594f84b746793c84c2ab2f1e855aaa9d3a593
diff --git a/swift/README.md b/swift/README.md
old mode 100755
new mode 100644
index a5f8e90..a134073
--- a/swift/README.md
+++ b/swift/README.md
@@ -1 +1,20 @@
-# XpringKit demo
+# Swift Demo
+
+
+
+Demonstrates [XpringKit](http://github.com/xpring-eng/xpringkit).
+
+This demo builds using [Carthage](https://github.com/Carthage/Carthage) but it is also possible to build XpringKit with [CocoaPods](https://cocoapods.org/).
+
+To build:
+```shell
+# Install required tooling
+brew install carthage swiftlint
+
+# Install dependencies
+carthage bootsrap
+
+# Run in XCode.
+open XpringKit.xcodeproj
+```
+
diff --git a/swift/Sources/main.swift b/swift/Sources/main.swift
new file mode 100644
index 0000000..e256cef
--- /dev/null
+++ b/swift/Sources/main.swift
@@ -0,0 +1,35 @@
+import Foundation
+import XpringKit
+
+// A URL to reach the remote rippled node at.
+let grpcAddress = "3.14.64.116:50051"
+
+// A wallet that exists on Testnet.
+let seed = "snYP7oArxKepd3GPDcrjMsJYiJeJB";
+guard let wallet = Wallet(seed: seed) else {
+ print("The given seed is not valid: \(seed)")
+ exit(0)
+}
+
+// A recipient address.
+let recipientAddress = "X7cBcY4bdTTzk3LHmrKAK6GyrirkXfLHGFxzke5zTmYMfw4"
+let dropsToSend: UInt64 = 10
+
+print("\nUsing rippled node located at: \(grpcAddress)\n")
+let xrpClient = XpringClient(grpcURL: grpcAddress, useNewProtocolBuffers: true)
+
+print("Retrieving balance for \(wallet.address) ..")
+let balance = try xrpClient.getBalance(for: wallet.address)
+
+print("Balance was \(balance) drops!\n")
+
+print("Sending:")
+print("- Drops \(dropsToSend)")
+print("- To: \(recipientAddress)")
+print("- From: \(wallet.address)\n")
+let hash = try xrpClient.send(dropsToSend, to: recipientAddress, from: wallet)
+
+print("Hash for transaction:\n\(hash)\n")
+
+let status = try xrpClient.getTransactionStatus(for: hash)
+print("Result for transaction is:\n\(status)\n");
diff --git a/swift/XpringKitDemo.xcodeproj/project.pbxproj b/swift/XpringKitDemo.xcodeproj/project.pbxproj
deleted file mode 100644
index 12379cd..0000000
--- a/swift/XpringKitDemo.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,336 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 50;
- objects = {
-
-/* Begin PBXBuildFile section */
- 8C1BABF323427A9700FBD608 /* XpringKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C1BABF223427A9700FBD608 /* XpringKit.framework */; };
- 8C1BABF423427B0200FBD608 /* XpringKit.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8C1BABF223427A9700FBD608 /* XpringKit.framework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
- 8C1BABF923427D1700FBD608 /* CgRPC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C1BABF523427D1700FBD608 /* CgRPC.framework */; };
- 8C1BABFA23427D1700FBD608 /* SwiftProtobuf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C1BABF623427D1700FBD608 /* SwiftProtobuf.framework */; };
- 8C1BABFB23427D1700FBD608 /* BoringSSL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C1BABF723427D1700FBD608 /* BoringSSL.framework */; };
- 8C1BABFC23427D1700FBD608 /* SwiftGRPC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C1BABF823427D1700FBD608 /* SwiftGRPC.framework */; };
- 8C1BABFD23427D2000FBD608 /* BoringSSL.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8C1BABF723427D1700FBD608 /* BoringSSL.framework */; };
- 8C1BABFE23427D2000FBD608 /* CgRPC.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8C1BABF523427D1700FBD608 /* CgRPC.framework */; };
- 8C1BABFF23427D2000FBD608 /* SwiftGRPC.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8C1BABF823427D1700FBD608 /* SwiftGRPC.framework */; };
- 8C1BAC0023427D2000FBD608 /* SwiftProtobuf.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8C1BABF623427D1700FBD608 /* SwiftProtobuf.framework */; };
- 8CE51CF72342791D0002DB38 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CE51CF62342791D0002DB38 /* main.swift */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXCopyFilesBuildPhase section */
- 8CE51CF12342791D0002DB38 /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 12;
- dstPath = "";
- dstSubfolderSpec = 16;
- files = (
- 8C1BABFD23427D2000FBD608 /* BoringSSL.framework in CopyFiles */,
- 8C1BABFE23427D2000FBD608 /* CgRPC.framework in CopyFiles */,
- 8C1BABFF23427D2000FBD608 /* SwiftGRPC.framework in CopyFiles */,
- 8C1BAC0023427D2000FBD608 /* SwiftProtobuf.framework in CopyFiles */,
- 8C1BABF423427B0200FBD608 /* XpringKit.framework in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
- 8C1BABF023427A7B00FBD608 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; };
- 8C1BABF223427A9700FBD608 /* XpringKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XpringKit.framework; path = Carthage/Build/Mac/XpringKit.framework; sourceTree = ""; };
- 8C1BABF523427D1700FBD608 /* CgRPC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CgRPC.framework; path = Carthage/Build/Mac/CgRPC.framework; sourceTree = ""; };
- 8C1BABF623427D1700FBD608 /* SwiftProtobuf.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftProtobuf.framework; path = Carthage/Build/Mac/SwiftProtobuf.framework; sourceTree = ""; };
- 8C1BABF723427D1700FBD608 /* BoringSSL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BoringSSL.framework; path = Carthage/Build/Mac/BoringSSL.framework; sourceTree = ""; };
- 8C1BABF823427D1700FBD608 /* SwiftGRPC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftGRPC.framework; path = Carthage/Build/Mac/SwiftGRPC.framework; sourceTree = ""; };
- 8CE51CF32342791D0002DB38 /* XpringKitDemo */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = XpringKitDemo; sourceTree = BUILT_PRODUCTS_DIR; };
- 8CE51CF62342791D0002DB38 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 8CE51CF02342791D0002DB38 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 8C1BABF923427D1700FBD608 /* CgRPC.framework in Frameworks */,
- 8C1BABFA23427D1700FBD608 /* SwiftProtobuf.framework in Frameworks */,
- 8C1BABFB23427D1700FBD608 /* BoringSSL.framework in Frameworks */,
- 8C1BABFC23427D1700FBD608 /* SwiftGRPC.framework in Frameworks */,
- 8C1BABF323427A9700FBD608 /* XpringKit.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 8CE51CEA2342791D0002DB38 = {
- isa = PBXGroup;
- children = (
- 8CE51CF52342791D0002DB38 /* XpringKitDemo */,
- 8CE51CF42342791D0002DB38 /* Products */,
- 8CE51CFD234279430002DB38 /* Frameworks */,
- );
- sourceTree = "";
- };
- 8CE51CF42342791D0002DB38 /* Products */ = {
- isa = PBXGroup;
- children = (
- 8CE51CF32342791D0002DB38 /* XpringKitDemo */,
- );
- name = Products;
- sourceTree = "";
- };
- 8CE51CF52342791D0002DB38 /* XpringKitDemo */ = {
- isa = PBXGroup;
- children = (
- 8CE51CF62342791D0002DB38 /* main.swift */,
- );
- path = XpringKitDemo;
- sourceTree = "";
- };
- 8CE51CFD234279430002DB38 /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- 8C1BABF723427D1700FBD608 /* BoringSSL.framework */,
- 8C1BABF523427D1700FBD608 /* CgRPC.framework */,
- 8C1BABF823427D1700FBD608 /* SwiftGRPC.framework */,
- 8C1BABF623427D1700FBD608 /* SwiftProtobuf.framework */,
- 8C1BABF223427A9700FBD608 /* XpringKit.framework */,
- 8C1BABF023427A7B00FBD608 /* README.md */,
- );
- name = Frameworks;
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 8CE51CF22342791D0002DB38 /* XpringKitDemo */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 8CE51CFA2342791D0002DB38 /* Build configuration list for PBXNativeTarget "XpringKitDemo" */;
- buildPhases = (
- 8CE51CEF2342791D0002DB38 /* Sources */,
- 8CE51CF02342791D0002DB38 /* Frameworks */,
- 8CE51CF12342791D0002DB38 /* CopyFiles */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = XpringKitDemo;
- productName = XpringKitDemo;
- productReference = 8CE51CF32342791D0002DB38 /* XpringKitDemo */;
- productType = "com.apple.product-type.tool";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 8CE51CEB2342791D0002DB38 /* Project object */ = {
- isa = PBXProject;
- attributes = {
- LastSwiftUpdateCheck = 1030;
- LastUpgradeCheck = 1030;
- ORGANIZATIONNAME = Ripple;
- TargetAttributes = {
- 8CE51CF22342791D0002DB38 = {
- CreatedOnToolsVersion = 10.3;
- };
- };
- };
- buildConfigurationList = 8CE51CEE2342791D0002DB38 /* Build configuration list for PBXProject "XpringKitDemo" */;
- compatibilityVersion = "Xcode 9.3";
- developmentRegion = en;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- );
- mainGroup = 8CE51CEA2342791D0002DB38;
- productRefGroup = 8CE51CF42342791D0002DB38 /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- 8CE51CF22342791D0002DB38 /* XpringKitDemo */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXSourcesBuildPhase section */
- 8CE51CEF2342791D0002DB38 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 8CE51CF72342791D0002DB38 /* main.swift in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- 8CE51CF82342791D0002DB38 /* 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 = "-";
- COPY_PHASE_STRIP = NO;
- 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;
- MACOSX_DEPLOYMENT_TARGET = 10.14;
- MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
- MTL_FAST_MATH = YES;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = macosx;
- SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- };
- name = Debug;
- };
- 8CE51CF92342791D0002DB38 /* 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 = "-";
- COPY_PHASE_STRIP = NO;
- 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;
- MACOSX_DEPLOYMENT_TARGET = 10.14;
- MTL_ENABLE_DEBUG_INFO = NO;
- MTL_FAST_MATH = YES;
- SDKROOT = macosx;
- SWIFT_COMPILATION_MODE = wholemodule;
- SWIFT_OPTIMIZATION_LEVEL = "-O";
- };
- name = Release;
- };
- 8CE51CFB2342791D0002DB38 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CODE_SIGN_STYLE = Automatic;
- FRAMEWORK_SEARCH_PATHS = (
- "$(inherited)",
- "$(PROJECT_DIR)/Carthage/Build/Mac",
- );
- MACOSX_DEPLOYMENT_TARGET = 10.15;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 5.0;
- };
- name = Debug;
- };
- 8CE51CFC2342791D0002DB38 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CODE_SIGN_STYLE = Automatic;
- FRAMEWORK_SEARCH_PATHS = (
- "$(inherited)",
- "$(PROJECT_DIR)/Carthage/Build/Mac",
- );
- MACOSX_DEPLOYMENT_TARGET = 10.15;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 5.0;
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 8CE51CEE2342791D0002DB38 /* Build configuration list for PBXProject "XpringKitDemo" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 8CE51CF82342791D0002DB38 /* Debug */,
- 8CE51CF92342791D0002DB38 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 8CE51CFA2342791D0002DB38 /* Build configuration list for PBXNativeTarget "XpringKitDemo" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 8CE51CFB2342791D0002DB38 /* Debug */,
- 8CE51CFC2342791D0002DB38 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 8CE51CEB2342791D0002DB38 /* Project object */;
-}
diff --git a/swift/XpringKitDemo/main.swift b/swift/XpringKitDemo/main.swift
deleted file mode 100644
index 3788b15..0000000
--- a/swift/XpringKitDemo/main.swift
+++ /dev/null
@@ -1,27 +0,0 @@
-import Foundation
-import XpringKit
-
-// An address on TestNet that has a balance.
-let testNetAddress = "rD7zai6QQQVvWc39ZVAhagDgtH5xwEoeXD"
-
-// The expected address of the gRPC server.
-let grpcURL = "grpc.xpring.tech:80"
-let wallet = Wallet(seed: "snYP7oArxKepd3GPDcrjMsJYiJeJB")!
-
-// An address to receive XRP.
-let recipientAddress = "rsegqrgSP8XmhCYwL9enkZ9BNDNawfPZnn"
-
-// An amount of XRP to send.
-let amount = Io_Xpring_XRPAmount.with { $0.drops = "1" }
-
-// A client for the XRP Ledger.
-let xrpClient = XpringClient(grpcURL: grpcURL)
-
-// Get the balance of an account.
-print("Retrieving balance for " + testNetAddress)
-let balance = try! xrpClient.getBalance(for: testNetAddress)
-print("Balance was: " + balance.drops)
-
-print("Sending " + amount.drops + " drop of XRP to " + recipientAddress + " from " + wallet.address)
-let result = try! xrpClient.send(amount, to: recipientAddress, from: wallet)
-print("Sent with result: \(result.engineResultMessage)")
diff --git a/swift/tmp/XpringKitDemo/XpringKitDemo.xcodeproj/project.pbxproj b/swift/XpringSDKDemo.xcodeproj/project.pbxproj
similarity index 56%
rename from swift/tmp/XpringKitDemo/XpringKitDemo.xcodeproj/project.pbxproj
rename to swift/XpringSDKDemo.xcodeproj/project.pbxproj
index bf37cf3..3b452f3 100644
--- a/swift/tmp/XpringKitDemo/XpringKitDemo.xcodeproj/project.pbxproj
+++ b/swift/XpringSDKDemo.xcodeproj/project.pbxproj
@@ -3,167 +3,163 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 50;
+ objectVersion = 51;
objects = {
/* Begin PBXBuildFile section */
- 8CE51CF72342791D0002DB38 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CE51CF62342791D0002DB38 /* main.swift */; };
- 8CE51CFF234279430002DB38 /* XpringKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CE51CFE234279430002DB38 /* XpringKit.framework */; };
- 8CE51D01234279F20002DB38 /* XpringKit.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8CE51CFE234279430002DB38 /* XpringKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+ 44B2D181A4C9A0068061C7BE /* SwiftProtobuf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CFF1585449D11C6939D7D624 /* SwiftProtobuf.framework */; };
+ 572378EC8408C174E2CB7407 /* XpringKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC1538E2E17772942A5517C3 /* XpringKit.framework */; };
+ 8E54FF0222A061B750F68D69 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3602E00EBA4D5EF0E2C8B7B7 /* main.swift */; };
+ E87D72F80089140EC2374387 /* SwiftGRPC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF40EB4F37E027A22E6604B8 /* SwiftGRPC.framework */; };
/* End PBXBuildFile section */
-/* Begin PBXCopyFilesBuildPhase section */
- 8CE51CF12342791D0002DB38 /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = usr/share/man/man1;
- dstSubfolderSpec = 10;
- files = (
- 8CE51D01234279F20002DB38 /* XpringKit.framework in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 1;
- };
-/* End PBXCopyFilesBuildPhase section */
-
/* Begin PBXFileReference section */
- 8CE51CF32342791D0002DB38 /* XpringKitDemo */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = XpringKitDemo; sourceTree = BUILT_PRODUCTS_DIR; };
- 8CE51CF62342791D0002DB38 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; };
- 8CE51CFE234279430002DB38 /* XpringKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XpringKit.framework; path = ../../Carthage/Build/Mac/XpringKit.framework; sourceTree = ""; };
+ 3602E00EBA4D5EF0E2C8B7B7 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; };
+ 95FB0B055D1A34858C0A97C1 /* Demo */ = {isa = PBXFileReference; includeInIndex = 0; path = Demo; sourceTree = BUILT_PRODUCTS_DIR; };
+ AF40EB4F37E027A22E6604B8 /* SwiftGRPC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SwiftGRPC.framework; sourceTree = ""; };
+ CFF1585449D11C6939D7D624 /* SwiftProtobuf.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SwiftProtobuf.framework; sourceTree = ""; };
+ DC1538E2E17772942A5517C3 /* XpringKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = XpringKit.framework; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
- 8CE51CF02342791D0002DB38 /* Frameworks */ = {
+ 153518613112692DCD87EE93 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 8CE51CFF234279430002DB38 /* XpringKit.framework in Frameworks */,
+ 572378EC8408C174E2CB7407 /* XpringKit.framework in Frameworks */,
+ 44B2D181A4C9A0068061C7BE /* SwiftProtobuf.framework in Frameworks */,
+ E87D72F80089140EC2374387 /* SwiftGRPC.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
- 8CE51CEA2342791D0002DB38 = {
+ 22A1EC6A355F39F4E4E1CC4B /* Sources */ = {
isa = PBXGroup;
children = (
- 8CE51CF52342791D0002DB38 /* XpringKitDemo */,
- 8CE51CF42342791D0002DB38 /* Products */,
- 8CE51CFD234279430002DB38 /* Frameworks */,
+ 3602E00EBA4D5EF0E2C8B7B7 /* main.swift */,
);
+ path = Sources;
sourceTree = "";
};
- 8CE51CF42342791D0002DB38 /* Products */ = {
+ 42131D72FA16AEEBDD18AE11 = {
isa = PBXGroup;
children = (
- 8CE51CF32342791D0002DB38 /* XpringKitDemo */,
+ 22A1EC6A355F39F4E4E1CC4B /* Sources */,
+ F36B7758D7899E35B52F881D /* Frameworks */,
+ EAB36AFD08909959219DD230 /* Products */,
);
- name = Products;
sourceTree = "";
};
- 8CE51CF52342791D0002DB38 /* XpringKitDemo */ = {
+ E876459C1B932E983E6158AD /* Mac */ = {
+ isa = PBXGroup;
+ children = (
+ AF40EB4F37E027A22E6604B8 /* SwiftGRPC.framework */,
+ CFF1585449D11C6939D7D624 /* SwiftProtobuf.framework */,
+ DC1538E2E17772942A5517C3 /* XpringKit.framework */,
+ );
+ path = Mac;
+ sourceTree = "";
+ };
+ EAB36AFD08909959219DD230 /* Products */ = {
isa = PBXGroup;
children = (
- 8CE51CF62342791D0002DB38 /* main.swift */,
+ 95FB0B055D1A34858C0A97C1 /* Demo */,
);
- path = XpringKitDemo;
+ name = Products;
sourceTree = "";
};
- 8CE51CFD234279430002DB38 /* Frameworks */ = {
+ F36B7758D7899E35B52F881D /* Frameworks */ = {
isa = PBXGroup;
children = (
- 8CE51CFE234279430002DB38 /* XpringKit.framework */,
+ F9B74DDFAE6552A9A7C709EF /* Carthage */,
);
name = Frameworks;
sourceTree = "";
};
+ F9B74DDFAE6552A9A7C709EF /* Carthage */ = {
+ isa = PBXGroup;
+ children = (
+ E876459C1B932E983E6158AD /* Mac */,
+ );
+ name = Carthage;
+ path = Carthage/Build;
+ sourceTree = "";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
- 8CE51CF22342791D0002DB38 /* XpringKitDemo */ = {
+ 4EB4304EA4489A33BC7585F2 /* Demo */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 8CE51CFA2342791D0002DB38 /* Build configuration list for PBXNativeTarget "XpringKitDemo" */;
+ buildConfigurationList = 26A776BBD07585318D32CC0F /* Build configuration list for PBXNativeTarget "Demo" */;
buildPhases = (
- 8CE51CEF2342791D0002DB38 /* Sources */,
- 8CE51CF02342791D0002DB38 /* Frameworks */,
- 8CE51CF12342791D0002DB38 /* CopyFiles */,
- 8CE51D002342798E0002DB38 /* ShellScript */,
+ 7851253FBF03E4885BF04CCD /* Sources */,
+ 153518613112692DCD87EE93 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
- name = XpringKitDemo;
- productName = XpringKitDemo;
- productReference = 8CE51CF32342791D0002DB38 /* XpringKitDemo */;
+ name = Demo;
+ productName = Demo;
+ productReference = 95FB0B055D1A34858C0A97C1 /* Demo */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
- 8CE51CEB2342791D0002DB38 /* Project object */ = {
+ 28CE01C71E465FC27A81327D /* Project object */ = {
isa = PBXProject;
attributes = {
- LastSwiftUpdateCheck = 1030;
- LastUpgradeCheck = 1030;
- ORGANIZATIONNAME = Ripple;
+ LastUpgradeCheck = 1020;
TargetAttributes = {
- 8CE51CF22342791D0002DB38 = {
- CreatedOnToolsVersion = 10.3;
- };
};
};
- buildConfigurationList = 8CE51CEE2342791D0002DB38 /* Build configuration list for PBXProject "XpringKitDemo" */;
- compatibilityVersion = "Xcode 9.3";
+ buildConfigurationList = 514ADDBB9CF5356ADD7D461C /* Build configuration list for PBXProject "XpringSDKDemo" */;
+ compatibilityVersion = "Xcode 10.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
+ Base,
en,
);
- mainGroup = 8CE51CEA2342791D0002DB38;
- productRefGroup = 8CE51CF42342791D0002DB38 /* Products */;
+ mainGroup = 42131D72FA16AEEBDD18AE11;
projectDirPath = "";
projectRoot = "";
targets = (
- 8CE51CF22342791D0002DB38 /* XpringKitDemo */,
+ 4EB4304EA4489A33BC7585F2 /* Demo */,
);
};
/* End PBXProject section */
-/* Begin PBXShellScriptBuildPhase section */
- 8CE51D002342798E0002DB38 /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- "$(SRCROOT)/../../Carthage/Build/macOS/XpringKit.framework",
- );
- outputFileListPaths = (
- );
- outputPaths = (
- "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/XpringKit.framework",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "/usr/local/bin/carthage copy-frameworks\n";
- };
-/* End PBXShellScriptBuildPhase section */
-
/* Begin PBXSourcesBuildPhase section */
- 8CE51CEF2342791D0002DB38 /* Sources */ = {
+ 7851253FBF03E4885BF04CCD /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 8CE51CF72342791D0002DB38 /* main.swift in Sources */,
+ 8E54FF0222A061B750F68D69 /* main.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
- 8CE51CF82342791D0002DB38 /* Debug */ = {
+ 9AC5311EE938F9D39444046E /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COMBINE_HIDPI_IMAGES = YES;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Carthage/Build/Mac",
+ );
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks $(PROJECT_DIR)/Carthage/Build/Mac";
+ PRODUCT_BUNDLE_IDENTIFIER = io.xpring.Demo;
+ SDKROOT = macosx;
+ };
+ name = Release;
+ };
+ BED661692A9F40F7242D77BC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -173,7 +169,6 @@
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;
@@ -195,7 +190,6 @@
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -205,8 +199,8 @@
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
"$(inherited)",
+ "DEBUG=1",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
@@ -214,17 +208,31 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.14;
- MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
- MTL_FAST_MATH = YES;
+ MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
+ PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ };
+ name = Debug;
+ };
+ C2FB737933676A349C4B4A49 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COMBINE_HIDPI_IMAGES = YES;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Carthage/Build/Mac",
+ );
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks $(PROJECT_DIR)/Carthage/Build/Mac";
+ PRODUCT_BUNDLE_IDENTIFIER = io.xpring.Demo;
+ SDKROOT = macosx;
};
name = Debug;
};
- 8CE51CF92342791D0002DB38 /* Release */ = {
+ D4730AD7D8CAAA6797C22B0A /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -234,7 +242,6 @@
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;
@@ -256,7 +263,6 @@
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
@@ -269,55 +275,36 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.14;
- MTL_ENABLE_DEBUG_INFO = NO;
- MTL_FAST_MATH = YES;
+ PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
- SWIFT_OPTIMIZATION_LEVEL = "-O";
- };
- name = Release;
- };
- 8CE51CFB2342791D0002DB38 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CODE_SIGN_STYLE = Automatic;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 5.0;
- };
- name = Debug;
- };
- 8CE51CFC2342791D0002DB38 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CODE_SIGN_STYLE = Automatic;
- PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
+ VALIDATE_PRODUCT = YES;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
- 8CE51CEE2342791D0002DB38 /* Build configuration list for PBXProject "XpringKitDemo" */ = {
+ 26A776BBD07585318D32CC0F /* Build configuration list for PBXNativeTarget "Demo" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- 8CE51CF82342791D0002DB38 /* Debug */,
- 8CE51CF92342791D0002DB38 /* Release */,
+ C2FB737933676A349C4B4A49 /* Debug */,
+ 9AC5311EE938F9D39444046E /* Release */,
);
defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
+ defaultConfigurationName = "";
};
- 8CE51CFA2342791D0002DB38 /* Build configuration list for PBXNativeTarget "XpringKitDemo" */ = {
+ 514ADDBB9CF5356ADD7D461C /* Build configuration list for PBXProject "XpringSDKDemo" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- 8CE51CFB2342791D0002DB38 /* Debug */,
- 8CE51CFC2342791D0002DB38 /* Release */,
+ BED661692A9F40F7242D77BC /* Debug */,
+ D4730AD7D8CAAA6797C22B0A /* Release */,
);
defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
+ defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
- rootObject = 8CE51CEB2342791D0002DB38 /* Project object */;
+ rootObject = 28CE01C71E465FC27A81327D /* Project object */;
}
diff --git a/swift/XpringKitDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/swift/XpringSDKDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 68%
rename from swift/XpringKitDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to swift/XpringSDKDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
index 45a0163..919434a 100644
--- a/swift/XpringKitDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ b/swift/XpringSDKDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -2,6 +2,6 @@
+ location = "self:">
diff --git a/swift/XpringKitDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/swift/XpringSDKDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
similarity index 100%
rename from swift/XpringKitDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
rename to swift/XpringSDKDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
diff --git a/swift/build_osx.sh b/swift/build_osx.sh
deleted file mode 100755
index 0dff521..0000000
--- a/swift/build_osx.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-
-echo "This script will build TrustLine on OSX. It will require a password to move frameworks to the correct location."
-echo "This script assumes you have carthage and xcodebuild installed."
-
-echo "Building dependencies"
-carthage update --platform macOS
-
-echo "Building binary"
-xcodebuild -scheme Trustline
-
-echo "Moving frameworks"
-sudo mv Carthage/Build/Mac/Criollo.framework /Library/Frameworks/
\ No newline at end of file
diff --git a/swift/project.yml b/swift/project.yml
new file mode 100644
index 0000000..85033eb
--- /dev/null
+++ b/swift/project.yml
@@ -0,0 +1,15 @@
+name: XpringSDKDemo
+options:
+ bundleIdPrefix: io.xpring
+targets:
+ Demo:
+ type: tool
+ platform: macOS
+ sources: [Sources]
+ dependencies:
+ - carthage: XpringKit
+ - carthage: SwiftProtobuf
+ - carthage: SwiftGRPC
+ settings:
+ LD_RUNPATH_SEARCH_PATHS: "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks $(PROJECT_DIR)/Carthage/Build/Mac"
+
diff --git a/swift/swift-demo.png b/swift/swift-demo.png
new file mode 100644
index 0000000..8cf4cdf
Binary files /dev/null and b/swift/swift-demo.png differ
diff --git a/swift/tmp/Servers.swift b/swift/tmp/Servers.swift
deleted file mode 100755
index 2bf16bc..0000000
--- a/swift/tmp/Servers.swift
+++ /dev/null
@@ -1,9 +0,0 @@
-//
-// Servers.swift
-// Trustline
-//
-// Created by Keefer Taylor on 5/14/19.
-// Copyright © 2019 Keefer Taylor. All rights reserved.
-//
-
-import Foundation
diff --git a/swift/tmp/XpringKitDemo/XpringKitDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/swift/tmp/XpringKitDemo/XpringKitDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 45a0163..0000000
--- a/swift/tmp/XpringKitDemo/XpringKitDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/swift/tmp/XpringKitDemo/XpringKitDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/swift/tmp/XpringKitDemo/XpringKitDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d9810..0000000
--- a/swift/tmp/XpringKitDemo/XpringKitDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEDidComputeMac32BitWarning
-
-
-
diff --git a/swift/tmp/XpringKitDemo/XpringKitDemo/main.swift b/swift/tmp/XpringKitDemo/XpringKitDemo/main.swift
deleted file mode 100644
index 651a60a..0000000
--- a/swift/tmp/XpringKitDemo/XpringKitDemo/main.swift
+++ /dev/null
@@ -1,4 +0,0 @@
-import Foundation
-
-print("Hello, World!")
-
diff --git a/swift/tmp/main.swift b/swift/tmp/main.swift
deleted file mode 100755
index cfb3b53..0000000
--- a/swift/tmp/main.swift
+++ /dev/null
@@ -1,5 +0,0 @@
-// Copyright Xpring Engineering, 2019.
-
-import Foundation
-
-print("Hello, XpringKit")