diff --git a/Blockchain.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
similarity index 70%
rename from Blockchain.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
index 616dc89..919434a 100644
--- a/Blockchain.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
@@ -2,6 +2,6 @@
+ location = "self:">
diff --git a/Blockchain.xcodeproj/xcuserdata/vbodinaud.xcuserdatad/xcschemes/xcschememanagement.plist b/.swiftpm/xcode/xcuserdata/vbodinaud.xcuserdatad/xcschemes/xcschememanagement.plist
similarity index 61%
rename from Blockchain.xcodeproj/xcuserdata/vbodinaud.xcuserdatad/xcschemes/xcschememanagement.plist
rename to .swiftpm/xcode/xcuserdata/vbodinaud.xcuserdatad/xcschemes/xcschememanagement.plist
index e854d9d..5026709 100644
--- a/Blockchain.xcodeproj/xcuserdata/vbodinaud.xcuserdatad/xcschemes/xcschememanagement.plist
+++ b/.swiftpm/xcode/xcuserdata/vbodinaud.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -10,5 +10,18 @@
0
+ SuppressBuildableAutocreation
+
+ Blockchain
+
+ primary
+
+
+ BlockchainTests
+
+ primary
+
+
+
diff --git a/Blockchain.xcodeproj/project.pbxproj b/Blockchain.xcodeproj/project.pbxproj
deleted file mode 100644
index b3ae72c..0000000
--- a/Blockchain.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,305 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 50;
- objects = {
-
-/* Begin PBXBuildFile section */
- B5E66EBD2407FDE000E89D17 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E66EBC2407FDE000E89D17 /* main.swift */; };
- B5E66EC52407FE0900E89D17 /* Block.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E66EC42407FE0900E89D17 /* Block.swift */; };
- B5E66EC72407FEC800E89D17 /* Blockchain.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E66EC62407FEC800E89D17 /* Blockchain.swift */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXCopyFilesBuildPhase section */
- B5E66EB72407FDE000E89D17 /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = /usr/share/man/man1/;
- dstSubfolderSpec = 0;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 1;
- };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
- B5E66EB92407FDE000E89D17 /* Blockchain */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Blockchain; sourceTree = BUILT_PRODUCTS_DIR; };
- B5E66EBC2407FDE000E89D17 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; };
- B5E66EC42407FE0900E89D17 /* Block.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Block.swift; sourceTree = ""; };
- B5E66EC62407FEC800E89D17 /* Blockchain.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Blockchain.swift; sourceTree = ""; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- B5E66EB62407FDE000E89D17 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- B5E66EB02407FDE000E89D17 = {
- isa = PBXGroup;
- children = (
- B5E66EBB2407FDE000E89D17 /* Blockchain */,
- B5E66EBA2407FDE000E89D17 /* Products */,
- );
- sourceTree = "";
- };
- B5E66EBA2407FDE000E89D17 /* Products */ = {
- isa = PBXGroup;
- children = (
- B5E66EB92407FDE000E89D17 /* Blockchain */,
- );
- name = Products;
- sourceTree = "";
- };
- B5E66EBB2407FDE000E89D17 /* Blockchain */ = {
- isa = PBXGroup;
- children = (
- B5E66EC32407FDEC00E89D17 /* Models */,
- B5E66EBC2407FDE000E89D17 /* main.swift */,
- );
- path = Blockchain;
- sourceTree = "";
- };
- B5E66EC32407FDEC00E89D17 /* Models */ = {
- isa = PBXGroup;
- children = (
- B5E66EC42407FE0900E89D17 /* Block.swift */,
- B5E66EC62407FEC800E89D17 /* Blockchain.swift */,
- );
- path = Models;
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- B5E66EB82407FDE000E89D17 /* Blockchain */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = B5E66EC02407FDE000E89D17 /* Build configuration list for PBXNativeTarget "Blockchain" */;
- buildPhases = (
- B5E66EB52407FDE000E89D17 /* Sources */,
- B5E66EB62407FDE000E89D17 /* Frameworks */,
- B5E66EB72407FDE000E89D17 /* CopyFiles */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = Blockchain;
- productName = Blockchain;
- productReference = B5E66EB92407FDE000E89D17 /* Blockchain */;
- productType = "com.apple.product-type.tool";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- B5E66EB12407FDE000E89D17 /* Project object */ = {
- isa = PBXProject;
- attributes = {
- LastSwiftUpdateCheck = 1130;
- LastUpgradeCheck = 1130;
- ORGANIZATIONNAME = "Victor BODINAUD";
- TargetAttributes = {
- B5E66EB82407FDE000E89D17 = {
- CreatedOnToolsVersion = 11.3.1;
- };
- };
- };
- buildConfigurationList = B5E66EB42407FDE000E89D17 /* Build configuration list for PBXProject "Blockchain" */;
- compatibilityVersion = "Xcode 9.3";
- developmentRegion = en;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- Base,
- );
- mainGroup = B5E66EB02407FDE000E89D17;
- productRefGroup = B5E66EBA2407FDE000E89D17 /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- B5E66EB82407FDE000E89D17 /* Blockchain */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXSourcesBuildPhase section */
- B5E66EB52407FDE000E89D17 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- B5E66EBD2407FDE000E89D17 /* main.swift in Sources */,
- B5E66EC52407FE0900E89D17 /* Block.swift in Sources */,
- B5E66EC72407FEC800E89D17 /* Blockchain.swift in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- B5E66EBE2407FDE000E89D17 /* 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;
- 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.15;
- 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;
- };
- B5E66EBF2407FDE000E89D17 /* 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;
- 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.15;
- MTL_ENABLE_DEBUG_INFO = NO;
- MTL_FAST_MATH = YES;
- SDKROOT = macosx;
- SWIFT_COMPILATION_MODE = wholemodule;
- SWIFT_OPTIMIZATION_LEVEL = "-O";
- };
- name = Release;
- };
- B5E66EC12407FDE000E89D17 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CODE_SIGN_STYLE = Automatic;
- DEVELOPMENT_TEAM = WVH3Y23X7X;
- ENABLE_HARDENED_RUNTIME = YES;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 5.0;
- };
- name = Debug;
- };
- B5E66EC22407FDE000E89D17 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CODE_SIGN_STYLE = Automatic;
- DEVELOPMENT_TEAM = WVH3Y23X7X;
- ENABLE_HARDENED_RUNTIME = YES;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 5.0;
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- B5E66EB42407FDE000E89D17 /* Build configuration list for PBXProject "Blockchain" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- B5E66EBE2407FDE000E89D17 /* Debug */,
- B5E66EBF2407FDE000E89D17 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- B5E66EC02407FDE000E89D17 /* Build configuration list for PBXNativeTarget "Blockchain" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- B5E66EC12407FDE000E89D17 /* Debug */,
- B5E66EC22407FDE000E89D17 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = B5E66EB12407FDE000E89D17 /* Project object */;
-}
diff --git a/Blockchain.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Blockchain.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d9810..0000000
--- a/Blockchain.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEDidComputeMac32BitWarning
-
-
-
diff --git a/Blockchain.xcodeproj/xcuserdata/vbodinaud.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Blockchain.xcodeproj/xcuserdata/vbodinaud.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
deleted file mode 100644
index 27d5527..0000000
--- a/Blockchain.xcodeproj/xcuserdata/vbodinaud.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
diff --git a/Blockchain/.gitignore b/Blockchain/.gitignore
deleted file mode 100644
index 95c4320..0000000
--- a/Blockchain/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-.DS_Store
-/.build
-/Packages
-/*.xcodeproj
-xcuserdata/
diff --git a/Blockchain/Package.swift b/Package.swift
similarity index 100%
rename from Blockchain/Package.swift
rename to Package.swift
diff --git a/Blockchain/README.md b/README.md
similarity index 100%
rename from Blockchain/README.md
rename to README.md
diff --git a/Blockchain/Sources/Blockchain/Models/Block.swift b/Sources/Blockchain/Models/Block.swift
similarity index 100%
rename from Blockchain/Sources/Blockchain/Models/Block.swift
rename to Sources/Blockchain/Models/Block.swift
diff --git a/Blockchain/Sources/Blockchain/Models/Blockchain.swift b/Sources/Blockchain/Models/Blockchain.swift
similarity index 100%
rename from Blockchain/Sources/Blockchain/Models/Blockchain.swift
rename to Sources/Blockchain/Models/Blockchain.swift
diff --git a/Blockchain/Sources/Blockchain/main.swift b/Sources/Blockchain/main.swift
similarity index 100%
rename from Blockchain/Sources/Blockchain/main.swift
rename to Sources/Blockchain/main.swift
diff --git a/Blockchain/Tests/BlockchainTests/BlockchainTests.swift b/Tests/BlockchainTests/BlockchainTests.swift
similarity index 100%
rename from Blockchain/Tests/BlockchainTests/BlockchainTests.swift
rename to Tests/BlockchainTests/BlockchainTests.swift
diff --git a/Blockchain/Tests/BlockchainTests/XCTestManifests.swift b/Tests/BlockchainTests/XCTestManifests.swift
similarity index 100%
rename from Blockchain/Tests/BlockchainTests/XCTestManifests.swift
rename to Tests/BlockchainTests/XCTestManifests.swift
diff --git a/Blockchain/Tests/LinuxMain.swift b/Tests/LinuxMain.swift
similarity index 100%
rename from Blockchain/Tests/LinuxMain.swift
rename to Tests/LinuxMain.swift