From ed19e92251f704d55bdd0fe4027fb083aded45b1 Mon Sep 17 00:00:00 2001 From: pankcuf Date: Thu, 18 Jul 2024 17:10:49 +0700 Subject: [PATCH 01/33] fix: we should store default currency initially --- .../shared/Models/Managers/Service Managers/DSPriceManager.m | 1 + 1 file changed, 1 insertion(+) diff --git a/DashSync/shared/Models/Managers/Service Managers/DSPriceManager.m b/DashSync/shared/Models/Managers/Service Managers/DSPriceManager.m index 59fbebdd..badf8fbb 100644 --- a/DashSync/shared/Models/Managers/Service Managers/DSPriceManager.m +++ b/DashSync/shared/Models/Managers/Service Managers/DSPriceManager.m @@ -207,6 +207,7 @@ - (instancetype)init { if (_pricesByCode[systemCurrencyCode] == nil) { // if we don't have currency in our plist fallback to default systemCurrencyCode = DEFAULT_CURRENCY_CODE; + [defaults setObject:systemCurrencyCode forKey:LOCAL_CURRENCY_CODE_KEY]; } self.localCurrencyCode = (userCurrencyCode) ? userCurrencyCode : systemCurrencyCode; From 4db59f793051ac2fec74a4bbf12db00f1cb2bb39 Mon Sep 17 00:00:00 2001 From: pankcuf Date: Wed, 7 Aug 2024 10:01:37 +0700 Subject: [PATCH 02/33] chore: bump up protocol version 70233 --- DashSync/shared/Models/Chain/DSChainConstants.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/DashSync/shared/Models/Chain/DSChainConstants.h b/DashSync/shared/Models/Chain/DSChainConstants.h index 4420efbf..1a8b5f9b 100644 --- a/DashSync/shared/Models/Chain/DSChainConstants.h +++ b/DashSync/shared/Models/Chain/DSChainConstants.h @@ -31,13 +31,13 @@ #define TESTNET_DAPI_GRPC_STANDARD_PORT 3010 #define DEVNET_DAPI_GRPC_STANDARD_PORT 3010 -#define PROTOCOL_VERSION_MAINNET 70232 +#define PROTOCOL_VERSION_MAINNET 70233 #define DEFAULT_MIN_PROTOCOL_VERSION_MAINNET 70228 -#define PROTOCOL_VERSION_TESTNET 70232 +#define PROTOCOL_VERSION_TESTNET 70233 #define DEFAULT_MIN_PROTOCOL_VERSION_TESTNET 70228 -#define PROTOCOL_VERSION_DEVNET 70232 +#define PROTOCOL_VERSION_DEVNET 70233 #define DEFAULT_MIN_PROTOCOL_VERSION_DEVNET 70228 #define PLATFORM_PROTOCOL_VERSION_MAINNET 1 From 5f60be6f042a9b9654ea6cdc8a86074aa591b49d Mon Sep 17 00:00:00 2001 From: pankcuf Date: Tue, 24 Sep 2024 17:42:59 +0700 Subject: [PATCH 03/33] chore: disable max proto version check --- DashSync/shared/Models/Network/DSPeer.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DashSync/shared/Models/Network/DSPeer.m b/DashSync/shared/Models/Network/DSPeer.m index 62f4b48f..5a3cadb0 100644 --- a/DashSync/shared/Models/Network/DSPeer.m +++ b/DashSync/shared/Models/Network/DSPeer.m @@ -883,7 +883,7 @@ - (void)acceptVersionMessage:(NSData *)message { } _lastBlockHeight = [message UInt32AtOffset:80 + l.unsignedIntegerValue]; - if (self.version < self.chain.minProtocolVersion || self.version > self.chain.protocolVersion) { + if (self.version < self.chain.minProtocolVersion /*|| self.version > self.chain.protocolVersion*/) { #if MESSAGE_LOGGING DSLogWithLocation(self, @"protocol version %u not supported, valid versions are: [%u, %u], useragent:\"%@\", ", self.version, self.chain.minProtocolVersion, self.chain.protocolVersion, self.useragent); #endif From 0f50cd802e4ed08a14e38fef8b911c4a12cc7ad1 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 3 Oct 2024 16:06:14 +0300 Subject: [PATCH 04/33] fix: switch to upload-artifact v3 --- .github/workflows/network.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/network.yml b/.github/workflows/network.yml index 753b49d4..7b87dbb0 100644 --- a/.github/workflows/network.yml +++ b/.github/workflows/network.yml @@ -71,7 +71,7 @@ jobs: run: | ./NetworkInfo -outputDir ~/ - name: Archive network ping results - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 # Updated from v2 to v3 with: name: testnet-network-report path: ~/networkHealth.json From 7c7e44614d3350b2c6d3e78e3071964ca2c67b9d Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 3 Oct 2024 16:11:51 +0300 Subject: [PATCH 05/33] bumped to v4 --- .github/workflows/network.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/network.yml b/.github/workflows/network.yml index 7b87dbb0..c3500fec 100644 --- a/.github/workflows/network.yml +++ b/.github/workflows/network.yml @@ -71,7 +71,9 @@ jobs: run: | ./NetworkInfo -outputDir ~/ - name: Archive network ping results - uses: actions/upload-artifact@v3 # Updated from v2 to v3 + uses: actions/upload-artifact@v4 # Updated to v4 with: name: testnet-network-report path: ~/networkHealth.json + retention-days: 30 + compression-level: 6 # Default, adjust as needed \ No newline at end of file From fda5d9d009351adbb390eb8d0b55daa58ffa64af Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Tue, 1 Oct 2024 22:45:49 +0300 Subject: [PATCH 06/33] fix: xcode 16 build --- Example/Podfile | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/Example/Podfile b/Example/Podfile index 85e92f96..b753ad79 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -25,17 +25,21 @@ target 'NetworkInfo' do end post_install do |installer| - installer.pods_project.targets.each do |target| - # fixes warnings about unsupported Deployment Target in Xcode 10 - target.build_configurations.each do |config| - config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0' - end - # Hide warnings for specific pods - if ["gRPC"].include? target.name - target.build_configurations.each do |config| - config.build_settings['GCC_WARN_INHIBIT_ALL_WARNINGS'] = 'YES' - end + installer.pods_project.targets.each do |target| + # fixes warnings about unsupported Deployment Target in Xcode 10 + target.build_configurations.each do |config| + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0' + end + + # Ensure the GCC_WARN_INHIBIT_ALL_WARNINGS flag is removed for BoringSSL-GRPC and BoringSSL-GRPC-iOS + if ['BoringSSL-GRPC', 'BoringSSL-GRPC-iOS'].include? target.name + target.source_build_phase.files.each do |file| + if file.settings && file.settings['COMPILER_FLAGS'] + flags = file.settings['COMPILER_FLAGS'].split + flags.reject! { |flag| flag == '-GCC_WARN_INHIBIT_ALL_WARNINGS' } + file.settings['COMPILER_FLAGS'] = flags.join(' ') + end end + end end -end - +end \ No newline at end of file From 413ea3fa6d11aa1161cb9f13992425ff8506a592 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Wed, 9 Oct 2024 16:26:31 +0300 Subject: [PATCH 07/33] build fix for macOS NetworkInfo build --- .../Models/Managers/Chain Managers/DSBackgroundManager.m | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/DashSync/shared/Models/Managers/Chain Managers/DSBackgroundManager.m b/DashSync/shared/Models/Managers/Chain Managers/DSBackgroundManager.m index e579e6a1..a9a9bf89 100644 --- a/DashSync/shared/Models/Managers/Chain Managers/DSBackgroundManager.m +++ b/DashSync/shared/Models/Managers/Chain Managers/DSBackgroundManager.m @@ -86,7 +86,11 @@ - (void)stopBackgroundActivities { } - (BOOL)hasValidHeadersTask { +#if TARGET_OS_IOS return self.terminalHeadersSaveTaskId != UIBackgroundTaskInvalid || [UIApplication sharedApplication].applicationState != UIApplicationStateBackground; +#else + return FALSE; +#endif } @end From 5a9e2e61b7f1356d34ce86f263cfb540df27299e Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Wed, 9 Oct 2024 16:26:51 +0300 Subject: [PATCH 08/33] bumped DashSharedCore --- DashSync.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DashSync.podspec b/DashSync.podspec index 98e8e450..331d0eb1 100644 --- a/DashSync.podspec +++ b/DashSync.podspec @@ -34,7 +34,7 @@ Pod::Spec.new do |s| s.ios.framework = 'UIKit' s.macos.framework = 'Cocoa' s.compiler_flags = '-Wno-comma' - s.dependency 'DashSharedCore', '0.4.16' + s.dependency 'DashSharedCore', '0.4.17' s.dependency 'CocoaLumberjack', '3.7.2' s.ios.dependency 'DWAlertController', '0.2.1' s.dependency 'DSDynamicOptions', '0.1.2' From de1a18e494f9ea716d5fbf951a1a22d93ee06e0f Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Wed, 9 Oct 2024 16:27:01 +0300 Subject: [PATCH 09/33] linker fixes --- Example/DashSync.xcodeproj/project.pbxproj | 238 ++++++++++++++------- 1 file changed, 165 insertions(+), 73 deletions(-) diff --git a/Example/DashSync.xcodeproj/project.pbxproj b/Example/DashSync.xcodeproj/project.pbxproj index c3888555..c7677296 100644 --- a/Example/DashSync.xcodeproj/project.pbxproj +++ b/Example/DashSync.xcodeproj/project.pbxproj @@ -51,7 +51,7 @@ 2AF8A95622847ACB00F8C72D /* TextViewFormCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AF8A95522847ACB00F8C72D /* TextViewFormCellModel.m */; }; 2AF8A95A22847E5300F8C72D /* DSContactProfileViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AF8A95922847E5200F8C72D /* DSContactProfileViewController.m */; }; 2AF8A95D2284820F00F8C72D /* DSContactProfileAvatarView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AF8A95C2284820F00F8C72D /* DSContactProfileAvatarView.m */; }; - 404946170FF870F9FBA4B3C7 /* libPods-NetworkInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6675EA01A2AC0589160069A4 /* libPods-NetworkInfo.a */; }; + 328A9569D5871E42CA5F9D57 /* libPods-DashSync_Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C5041A303DA8005AF8D8C194 /* libPods-DashSync_Tests.a */; }; 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; }; 6003F592195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; @@ -65,12 +65,13 @@ 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; 6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5B8195388D20070C39A /* InfoPlist.strings */; }; 71719F9F1E33DC2100824A3D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */; }; - 798A60FA627EC43C0AB39611 /* libPods-DashSync-DashSync_Example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 192956F40996DE819B9D64AC /* libPods-DashSync-DashSync_Example.a */; }; - 83CFCA70892A5DF9F64BA1AA /* libPods-DashSync_Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 955D615511918752AF099181 /* libPods-DashSync_Tests.a */; }; + 7400A509F640A9FA1A4AFD1E /* libPods-NetworkInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E8BD218D7500924A42F48A67 /* libPods-NetworkInfo.a */; }; 873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */; }; 93099D7228E7275400160709 /* MNLIST_1746460.dat in Resources */ = {isa = PBXBuildFile; fileRef = 93099D7028E7275300160709 /* MNLIST_1746460.dat */; }; 93099D7328E7275400160709 /* MNL_1746460_1746516.dat in Resources */ = {isa = PBXBuildFile; fileRef = 93099D7128E7275400160709 /* MNL_1746460_1746516.dat */; }; 937619A526E22E360023BE64 /* BackgroundTasks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 937619A326E22DCD0023BE64 /* BackgroundTasks.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; + A826AD0C6E7D15144036CB3E /* libPods-DashSync-DashSync_Example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C8FE4F7E21F52E59ADB43E69 /* libPods-DashSync-DashSync_Example.a */; }; + B8D9D66B2CB5A33300D289A9 /* libDashSync-macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B8D9D66A2CB5A33300D289A9 /* libDashSync-macOS.a */; }; FB0955CC244BBDC400A93675 /* DSContactRelationshipInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FB0955CB244BBDC400A93675 /* DSContactRelationshipInfoViewController.m */; }; FB0F15A2210490C3000272E6 /* DSTransactionDetailTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = FB0F15A1210490C3000272E6 /* DSTransactionDetailTableViewCell.m */; }; FB0F15A521049432000272E6 /* DSTransactionStatusTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = FB0F15A421049432000272E6 /* DSTransactionStatusTableViewCell.m */; }; @@ -520,8 +521,6 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 131B02E9F838D9B0B88342E6 /* Pods-NetworkInfo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NetworkInfo.release.xcconfig"; path = "Pods/Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo.release.xcconfig"; sourceTree = ""; }; - 192956F40996DE819B9D64AC /* libPods-DashSync-DashSync_Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DashSync-DashSync_Example.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 27552411E6D7D4041AC16526 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; }; 2A1AC63A20F9012A00B3B79F /* FormSectionModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FormSectionModel.h; sourceTree = ""; }; 2A1AC63B20F9012A00B3B79F /* FormSectionModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FormSectionModel.m; sourceTree = ""; }; @@ -592,8 +591,7 @@ 2AF8A95922847E5200F8C72D /* DSContactProfileViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DSContactProfileViewController.m; sourceTree = ""; }; 2AF8A95B2284820F00F8C72D /* DSContactProfileAvatarView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DSContactProfileAvatarView.h; sourceTree = ""; }; 2AF8A95C2284820F00F8C72D /* DSContactProfileAvatarView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DSContactProfileAvatarView.m; sourceTree = ""; }; - 2CB0B2B92A8EA70CAE7DC362 /* Pods-DashSync_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-DashSync_Example/Pods-DashSync_Example.release.xcconfig"; sourceTree = ""; }; - 425B12FE369253E7F3A93D58 /* Pods-DashSync-DashSync_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync-DashSync_Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example.debug.xcconfig"; sourceTree = ""; }; + 5797F9A5E0D453E1AE6AD191 /* Pods-NetworkInfo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NetworkInfo.debug.xcconfig"; path = "Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo.debug.xcconfig"; sourceTree = ""; }; 6003F58A195388D20070C39A /* DashSync_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DashSync_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 6003F58D195388D20070C39A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 6003F58F195388D20070C39A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; @@ -613,19 +611,23 @@ 6003F5B9195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Prefix.pch"; sourceTree = ""; }; 64A245673BBAE1DA7DAB4907 /* DashSync.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = DashSync.podspec; path = ../DashSync.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 6675EA01A2AC0589160069A4 /* libPods-NetworkInfo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NetworkInfo.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 65579A860882BE9A628B6FE7 /* Pods-DashSync-DashSync_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync-DashSync_Example.release.xcconfig"; path = "Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example.release.xcconfig"; sourceTree = ""; }; 71719F9E1E33DC2100824A3D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 74FDA0D6BCD2D779E20B58FC /* Pods-DashSync-DashSync_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync-DashSync_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example.release.xcconfig"; sourceTree = ""; }; 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Main.storyboard; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 93099D7028E7275300160709 /* MNLIST_1746460.dat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MNLIST_1746460.dat; sourceTree = ""; }; 93099D7128E7275400160709 /* MNL_1746460_1746516.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = MNL_1746460_1746516.dat; sourceTree = ""; }; 937619A326E22DCD0023BE64 /* BackgroundTasks.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BackgroundTasks.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/BackgroundTasks.framework; sourceTree = DEVELOPER_DIR; }; - 955D615511918752AF099181 /* libPods-DashSync_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DashSync_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 98472781BAD8800EFF391FA4 /* Pods-DashSync_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync_Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-DashSync_Example/Pods-DashSync_Example.debug.xcconfig"; sourceTree = ""; }; - C90A9AD2C32828341F0E6915 /* Pods-DashSync_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync_Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-DashSync_Tests/Pods-DashSync_Tests.debug.xcconfig"; sourceTree = ""; }; - D1B8FECBB1652E781A9E4620 /* Pods-NetworkInfo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NetworkInfo.debug.xcconfig"; path = "Pods/Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo.debug.xcconfig"; sourceTree = ""; }; - DFA886AB709D97089A70E82A /* Pods-DashSync_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync_Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-DashSync_Tests/Pods-DashSync_Tests.release.xcconfig"; sourceTree = ""; }; + 95BFAE93B5BDC98E3FF7D339 /* Pods-DashSync_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync_Tests.debug.xcconfig"; path = "Target Support Files/Pods-DashSync_Tests/Pods-DashSync_Tests.debug.xcconfig"; sourceTree = ""; }; + B79C23546B08F6CBE27B009B /* Pods-DashSync_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync_Tests.release.xcconfig"; path = "Target Support Files/Pods-DashSync_Tests/Pods-DashSync_Tests.release.xcconfig"; sourceTree = ""; }; + B8D9D6682CB5A11B00D289A9 /* libDashSync-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libDashSync-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + B8D9D66A2CB5A33300D289A9 /* libDashSync-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libDashSync-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + B8D9D66C2CB5A36600D289A9 /* DashSharedCore.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = DashSharedCore.xcframework; path = "../../dash-shared-core/dash-spv-apple-bindings/DashSharedCore/framework/DashSharedCore.xcframework"; sourceTree = ""; }; + C5041A303DA8005AF8D8C194 /* libPods-DashSync_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DashSync_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + C8FE4F7E21F52E59ADB43E69 /* libPods-DashSync-DashSync_Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DashSync-DashSync_Example.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + CB469E015A96AA6F4E3E28CB /* Pods-NetworkInfo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NetworkInfo.release.xcconfig"; path = "Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo.release.xcconfig"; sourceTree = ""; }; + CD6B1FC65F799AAD2D4AEC1A /* Pods-DashSync-DashSync_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync-DashSync_Example.debug.xcconfig"; path = "Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example.debug.xcconfig"; sourceTree = ""; }; E47ABFD6469F1FD556CDA6C7 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; + E8BD218D7500924A42F48A67 /* libPods-NetworkInfo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NetworkInfo.a"; sourceTree = BUILT_PRODUCTS_DIR; }; FB0955CA244BBDC400A93675 /* DSContactRelationshipInfoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DSContactRelationshipInfoViewController.h; sourceTree = ""; }; FB0955CB244BBDC400A93675 /* DSContactRelationshipInfoViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DSContactRelationshipInfoViewController.m; sourceTree = ""; }; FB0F15A0210490C3000272E6 /* DSTransactionDetailTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DSTransactionDetailTableViewCell.h; sourceTree = ""; }; @@ -1200,7 +1202,7 @@ 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */, 6003F592195388D20070C39A /* UIKit.framework in Frameworks */, 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */, - 798A60FA627EC43C0AB39611 /* libPods-DashSync-DashSync_Example.a in Frameworks */, + A826AD0C6E7D15144036CB3E /* libPods-DashSync-DashSync_Example.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1212,7 +1214,7 @@ 6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */, 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */, 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */, - 83CFCA70892A5DF9F64BA1AA /* libPods-DashSync_Tests.a in Frameworks */, + 328A9569D5871E42CA5F9D57 /* libPods-DashSync_Tests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1220,13 +1222,27 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 404946170FF870F9FBA4B3C7 /* libPods-NetworkInfo.a in Frameworks */, + B8D9D66B2CB5A33300D289A9 /* libDashSync-macOS.a in Frameworks */, + 7400A509F640A9FA1A4AFD1E /* libPods-NetworkInfo.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 15D149D9AD161D779756AC18 /* Pods */ = { + isa = PBXGroup; + children = ( + CD6B1FC65F799AAD2D4AEC1A /* Pods-DashSync-DashSync_Example.debug.xcconfig */, + 65579A860882BE9A628B6FE7 /* Pods-DashSync-DashSync_Example.release.xcconfig */, + 95BFAE93B5BDC98E3FF7D339 /* Pods-DashSync_Tests.debug.xcconfig */, + B79C23546B08F6CBE27B009B /* Pods-DashSync_Tests.release.xcconfig */, + 5797F9A5E0D453E1AE6AD191 /* Pods-NetworkInfo.debug.xcconfig */, + CB469E015A96AA6F4E3E28CB /* Pods-NetworkInfo.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; 2A1B55BC2226B15A008FED65 /* Contacts */ = { isa = PBXGroup; children = ( @@ -1360,7 +1376,7 @@ FB974F3125AE7A2200A1DCE7 /* CI */, FB974F5025AE8E7000A1DCE7 /* Docs */, FB974F0F25AE595700A1DCE7 /* Linting */, - 83DC6095687FDE098549FF30 /* Pods */, + 15D149D9AD161D779756AC18 /* Pods */, ); sourceTree = ""; }; @@ -1377,14 +1393,17 @@ 6003F58C195388D20070C39A /* Frameworks */ = { isa = PBXGroup; children = ( + B8D9D66C2CB5A36600D289A9 /* DashSharedCore.xcframework */, + B8D9D66A2CB5A33300D289A9 /* libDashSync-macOS.a */, + B8D9D6682CB5A11B00D289A9 /* libDashSync-macOS.a */, 937619A326E22DCD0023BE64 /* BackgroundTasks.framework */, 6003F58D195388D20070C39A /* Foundation.framework */, 6003F58F195388D20070C39A /* CoreGraphics.framework */, 6003F591195388D20070C39A /* UIKit.framework */, 6003F5AF195388D20070C39A /* XCTest.framework */, - 955D615511918752AF099181 /* libPods-DashSync_Tests.a */, - 6675EA01A2AC0589160069A4 /* libPods-NetworkInfo.a */, - 192956F40996DE819B9D64AC /* libPods-DashSync-DashSync_Example.a */, + C8FE4F7E21F52E59ADB43E69 /* libPods-DashSync-DashSync_Example.a */, + C5041A303DA8005AF8D8C194 /* libPods-DashSync_Tests.a */, + E8BD218D7500924A42F48A67 /* libPods-NetworkInfo.a */, ); name = Frameworks; sourceTree = ""; @@ -1470,21 +1489,6 @@ name = "Podspec Metadata"; sourceTree = ""; }; - 83DC6095687FDE098549FF30 /* Pods */ = { - isa = PBXGroup; - children = ( - 98472781BAD8800EFF391FA4 /* Pods-DashSync_Example.debug.xcconfig */, - 2CB0B2B92A8EA70CAE7DC362 /* Pods-DashSync_Example.release.xcconfig */, - C90A9AD2C32828341F0E6915 /* Pods-DashSync_Tests.debug.xcconfig */, - DFA886AB709D97089A70E82A /* Pods-DashSync_Tests.release.xcconfig */, - D1B8FECBB1652E781A9E4620 /* Pods-NetworkInfo.debug.xcconfig */, - 131B02E9F838D9B0B88342E6 /* Pods-NetworkInfo.release.xcconfig */, - 425B12FE369253E7F3A93D58 /* Pods-DashSync-DashSync_Example.debug.xcconfig */, - 74FDA0D6BCD2D779E20B58FC /* Pods-DashSync-DashSync_Example.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; FB0F15B421090405000272E6 /* Blockchain Identities */ = { isa = PBXGroup; children = ( @@ -2333,12 +2337,12 @@ isa = PBXNativeTarget; buildConfigurationList = 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "DashSync_Example" */; buildPhases = ( - BA464DCB59BC59A2B2C9AAD7 /* [CP] Check Pods Manifest.lock */, + 636CBC1607A7FD4D9970E0EA /* [CP] Check Pods Manifest.lock */, FB5A0FA7219506140079CF42 /* ShellScript */, 6003F586195388D20070C39A /* Sources */, 6003F587195388D20070C39A /* Frameworks */, 6003F588195388D20070C39A /* Resources */, - F3524DD5332FD019D466B225 /* [CP] Copy Pods Resources */, + 6A93D030A59173C490ED4687 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2353,7 +2357,7 @@ isa = PBXNativeTarget; buildConfigurationList = 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "DashSync_Tests" */; buildPhases = ( - 1A450F2773F81BAA9F430A99 /* [CP] Check Pods Manifest.lock */, + 40F5766E7B3EC70AE9F83DBD /* [CP] Check Pods Manifest.lock */, 6003F5AA195388D20070C39A /* Sources */, 6003F5AB195388D20070C39A /* Frameworks */, 6003F5AC195388D20070C39A /* Resources */, @@ -2372,11 +2376,11 @@ isa = PBXNativeTarget; buildConfigurationList = FB9C9EFE25B80DB40039880E /* Build configuration list for PBXNativeTarget "NetworkInfo" */; buildPhases = ( - 2B9966A4344269C863326096 /* [CP] Check Pods Manifest.lock */, + 6E2E127DC5DC7C920C279245 /* [CP] Check Pods Manifest.lock */, FB9C9EF625B80DB40039880E /* Sources */, FB9C9EF725B80DB40039880E /* Frameworks */, FB9C9EF825B80DB40039880E /* CopyFiles */, - 2B57EF3BDD3D325283813C84 /* [CP] Copy Pods Resources */, + 286FA0E8B0A7E6D3F8B6703C /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2406,7 +2410,7 @@ }; FB9C9EF925B80DB40039880E = { CreatedOnToolsVersion = 12.3; - DevelopmentTeam = 44RJ69WHFF; + DevelopmentTeam = VYNC8YJV73; ProvisioningStyle = Automatic; }; }; @@ -2760,25 +2764,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 1A450F2773F81BAA9F430A99 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-DashSync_Tests-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; - }; - 2B57EF3BDD3D325283813C84 /* [CP] Copy Pods Resources */ = { + 286FA0E8B0A7E6D3F8B6703C /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2800,7 +2786,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 2B9966A4344269C863326096 /* [CP] Check Pods Manifest.lock */ = { + 40F5766E7B3EC70AE9F83DBD /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2815,23 +2801,27 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-NetworkInfo-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-DashSync_Tests-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; }; - BA464DCB59BC59A2B2C9AAD7 /* [CP] Check Pods Manifest.lock */ = { + 636CBC1607A7FD4D9970E0EA /* [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-DashSync-DashSync_Example-checkManifestLockResult.txt", ); @@ -2840,7 +2830,7 @@ 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; }; - F3524DD5332FD019D466B225 /* [CP] Copy Pods Resources */ = { + 6A93D030A59173C490ED4687 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2862,6 +2852,28 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example-resources.sh\"\n"; showEnvVarsInLog = 0; }; + 6E2E127DC5DC7C920C279245 /* [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-NetworkInfo-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; + }; FB5A0FA7219506140079CF42 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -3219,7 +3231,7 @@ }; 6003F5C0195388D20070C39A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 425B12FE369253E7F3A93D58 /* Pods-DashSync-DashSync_Example.debug.xcconfig */; + baseConfigurationReference = CD6B1FC65F799AAD2D4AEC1A /* Pods-DashSync-DashSync_Example.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; DEVELOPMENT_TEAM = 44RJ69WHFF; @@ -3279,7 +3291,7 @@ }; 6003F5C1195388D20070C39A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 74FDA0D6BCD2D779E20B58FC /* Pods-DashSync-DashSync_Example.release.xcconfig */; + baseConfigurationReference = 65579A860882BE9A628B6FE7 /* Pods-DashSync-DashSync_Example.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; DEVELOPMENT_TEAM = 44RJ69WHFF; @@ -3339,7 +3351,7 @@ }; 6003F5C3195388D20070C39A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C90A9AD2C32828341F0E6915 /* Pods-DashSync_Tests.debug.xcconfig */; + baseConfigurationReference = 95BFAE93B5BDC98E3FF7D339 /* Pods-DashSync_Tests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; DEVELOPMENT_TEAM = 44RJ69WHFF; @@ -3361,7 +3373,7 @@ }; 6003F5C4195388D20070C39A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DFA886AB709D97089A70E82A /* Pods-DashSync_Tests.release.xcconfig */; + baseConfigurationReference = B79C23546B08F6CBE27B009B /* Pods-DashSync_Tests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; DEVELOPMENT_TEAM = 44RJ69WHFF; @@ -3379,7 +3391,7 @@ }; FB9C9EFF25B80DB40039880E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D1B8FECBB1652E781A9E4620 /* Pods-NetworkInfo.debug.xcconfig */; + baseConfigurationReference = 5797F9A5E0D453E1AE6AD191 /* Pods-NetworkInfo.debug.xcconfig */; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -3390,13 +3402,53 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = 44RJ69WHFF; + DEVELOPMENT_TEAM = VYNC8YJV73; ENABLE_HARDENED_RUNTIME = YES; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; GCC_C_LANGUAGE_STANDARD = gnu11; MACOSX_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-l\"BoringSSL-GRPC-macOS\"", + "-l\"CocoaImageHashing-macOS\"", + "-l\"CocoaLumberjack-macOS\"", + "-l\"DAPI-GRPC-macOS\"", + "-l\"DSDynamicOptions-macOS\"", + "-l\"DashSync-macOS\"", + "-l\"Protobuf-macOS\"", + "-l\"SDWebImage-macOS\"", + "-l\"TinyCborObjc-macOS\"", + "-l\"abseil-macOS\"", + "-l\"bz2\"", + "-l\"c++\"", + "-l\"dash_shared_core_macos\"", + "-l\"gRPC-Core-macOS\"", + "-l\"gRPC-ProtoRPC-macOS\"", + "-l\"gRPC-RxLibrary-macOS\"", + "-l\"gRPC-macOS\"", + "-l\"resolv\"", + "-l\"sqlite3\"", + "-l\"tinycbor-macOS\"", + "-l\"z\"", + "-framework", + "\"BackgroundTasks\"", + "-framework", + "\"Cocoa\"", + "-framework", + "\"CoreData\"", + "-framework", + "\"Foundation\"", + "-framework", + "\"ImageIO\"", + "-framework", + "\"Security\"", + "-framework", + "\"SystemConfiguration\"", + "\"-ld_classic\"", + ); PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; @@ -3405,7 +3457,7 @@ }; FB9C9F0025B80DB40039880E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 131B02E9F838D9B0B88342E6 /* Pods-NetworkInfo.release.xcconfig */; + baseConfigurationReference = CB469E015A96AA6F4E3E28CB /* Pods-NetworkInfo.release.xcconfig */; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -3417,13 +3469,53 @@ CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = 44RJ69WHFF; + DEVELOPMENT_TEAM = VYNC8YJV73; ENABLE_HARDENED_RUNTIME = YES; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; GCC_C_LANGUAGE_STANDARD = gnu11; MACOSX_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-l\"BoringSSL-GRPC-macOS\"", + "-l\"CocoaImageHashing-macOS\"", + "-l\"CocoaLumberjack-macOS\"", + "-l\"DAPI-GRPC-macOS\"", + "-l\"DSDynamicOptions-macOS\"", + "-l\"DashSync-macOS\"", + "-l\"Protobuf-macOS\"", + "-l\"SDWebImage-macOS\"", + "-l\"TinyCborObjc-macOS\"", + "-l\"abseil-macOS\"", + "-l\"bz2\"", + "-l\"c++\"", + "-l\"dash_shared_core_macos\"", + "-l\"gRPC-Core-macOS\"", + "-l\"gRPC-ProtoRPC-macOS\"", + "-l\"gRPC-RxLibrary-macOS\"", + "-l\"gRPC-macOS\"", + "-l\"resolv\"", + "-l\"sqlite3\"", + "-l\"tinycbor-macOS\"", + "-l\"z\"", + "-framework", + "\"BackgroundTasks\"", + "-framework", + "\"Cocoa\"", + "-framework", + "\"CoreData\"", + "-framework", + "\"Foundation\"", + "-framework", + "\"ImageIO\"", + "-framework", + "\"Security\"", + "-framework", + "\"SystemConfiguration\"", + "\"-ld_classic\"", + ); PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; From f17c047333b7b2325781a3e69a8c5a21ca37c875 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Wed, 9 Oct 2024 16:27:11 +0300 Subject: [PATCH 10/33] Podfile adjustements --- Example/Podfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Example/Podfile b/Example/Podfile index b753ad79..085513a4 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -1,6 +1,7 @@ def common_pods # pod 'DashSharedCore', :git => 'https://github.com/dashpay/dash-shared-core.git', :branch => 'fix/core-20-test-additional' -# pod 'DashSharedCore', :git => 'https://github.com/dashpay/dash-shared-core.git', :commit => 'e2dc943' + pod 'DashSharedCore', :git => 'https://github.com/dashpay/dash-shared-core.git', :commit => 'b424aa0b0f8289fca00508a50daefffbec2f98dc' +# pod 'DashSharedCore', :path => '../../dash-shared-core/' pod 'DashSync', :path => '../' pod 'SDWebImage', '5.14.3' pod 'CocoaImageHashing', :git => 'https://github.com/ameingast/cocoaimagehashing.git', :commit => 'ad01eee' @@ -32,7 +33,7 @@ post_install do |installer| end # Ensure the GCC_WARN_INHIBIT_ALL_WARNINGS flag is removed for BoringSSL-GRPC and BoringSSL-GRPC-iOS - if ['BoringSSL-GRPC', 'BoringSSL-GRPC-iOS'].include? target.name + if ['BoringSSL-GRPC', 'BoringSSL-GRPC-iOS', 'BoringSSL-GRPC-macOS'].include? target.name target.source_build_phase.files.each do |file| if file.settings && file.settings['COMPILER_FLAGS'] flags = file.settings['COMPILER_FLAGS'].split From 246cbef9071e12ccb45eea13e3d852967ac7de98 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 10 Oct 2024 11:31:48 +0300 Subject: [PATCH 11/33] chore: bumped dash-shared-core --- DashSync.podspec | 2 +- Example/DashSync.xcodeproj/project.pbxproj | 152 ++++++++++----------- Example/Podfile | 2 +- 3 files changed, 78 insertions(+), 78 deletions(-) diff --git a/DashSync.podspec b/DashSync.podspec index 331d0eb1..f61f85ad 100644 --- a/DashSync.podspec +++ b/DashSync.podspec @@ -34,7 +34,7 @@ Pod::Spec.new do |s| s.ios.framework = 'UIKit' s.macos.framework = 'Cocoa' s.compiler_flags = '-Wno-comma' - s.dependency 'DashSharedCore', '0.4.17' + s.dependency 'DashSharedCore', '0.4.18' s.dependency 'CocoaLumberjack', '3.7.2' s.ios.dependency 'DWAlertController', '0.2.1' s.dependency 'DSDynamicOptions', '0.1.2' diff --git a/Example/DashSync.xcodeproj/project.pbxproj b/Example/DashSync.xcodeproj/project.pbxproj index c7677296..6fa060f1 100644 --- a/Example/DashSync.xcodeproj/project.pbxproj +++ b/Example/DashSync.xcodeproj/project.pbxproj @@ -51,7 +51,8 @@ 2AF8A95622847ACB00F8C72D /* TextViewFormCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AF8A95522847ACB00F8C72D /* TextViewFormCellModel.m */; }; 2AF8A95A22847E5300F8C72D /* DSContactProfileViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AF8A95922847E5200F8C72D /* DSContactProfileViewController.m */; }; 2AF8A95D2284820F00F8C72D /* DSContactProfileAvatarView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AF8A95C2284820F00F8C72D /* DSContactProfileAvatarView.m */; }; - 328A9569D5871E42CA5F9D57 /* libPods-DashSync_Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C5041A303DA8005AF8D8C194 /* libPods-DashSync_Tests.a */; }; + 2F5E40C2D9889BA0A1050512 /* libPods-NetworkInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A472C095454625CDB8C64A6 /* libPods-NetworkInfo.a */; }; + 4C20F7670B15BB3F4F7716A2 /* libPods-DashSync_Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 263FED967C4FB152D8B4D783 /* libPods-DashSync_Tests.a */; }; 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; }; 6003F592195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; @@ -65,13 +66,12 @@ 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; 6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5B8195388D20070C39A /* InfoPlist.strings */; }; 71719F9F1E33DC2100824A3D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */; }; - 7400A509F640A9FA1A4AFD1E /* libPods-NetworkInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E8BD218D7500924A42F48A67 /* libPods-NetworkInfo.a */; }; 873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */; }; 93099D7228E7275400160709 /* MNLIST_1746460.dat in Resources */ = {isa = PBXBuildFile; fileRef = 93099D7028E7275300160709 /* MNLIST_1746460.dat */; }; 93099D7328E7275400160709 /* MNL_1746460_1746516.dat in Resources */ = {isa = PBXBuildFile; fileRef = 93099D7128E7275400160709 /* MNL_1746460_1746516.dat */; }; 937619A526E22E360023BE64 /* BackgroundTasks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 937619A326E22DCD0023BE64 /* BackgroundTasks.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - A826AD0C6E7D15144036CB3E /* libPods-DashSync-DashSync_Example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C8FE4F7E21F52E59ADB43E69 /* libPods-DashSync-DashSync_Example.a */; }; B8D9D66B2CB5A33300D289A9 /* libDashSync-macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B8D9D66A2CB5A33300D289A9 /* libDashSync-macOS.a */; }; + B9BF3E8F8236AD6E7E3A1B83 /* libPods-DashSync-DashSync_Example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0731CDBFEC5046743137CCB5 /* libPods-DashSync-DashSync_Example.a */; }; FB0955CC244BBDC400A93675 /* DSContactRelationshipInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FB0955CB244BBDC400A93675 /* DSContactRelationshipInfoViewController.m */; }; FB0F15A2210490C3000272E6 /* DSTransactionDetailTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = FB0F15A1210490C3000272E6 /* DSTransactionDetailTableViewCell.m */; }; FB0F15A521049432000272E6 /* DSTransactionStatusTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = FB0F15A421049432000272E6 /* DSTransactionStatusTableViewCell.m */; }; @@ -521,6 +521,10 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 038B8B25F7F40A2448FAB877 /* Pods-DashSync-DashSync_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync-DashSync_Example.debug.xcconfig"; path = "Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example.debug.xcconfig"; sourceTree = ""; }; + 0390824C4EEB495E475CAB59 /* Pods-DashSync_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync_Tests.release.xcconfig"; path = "Target Support Files/Pods-DashSync_Tests/Pods-DashSync_Tests.release.xcconfig"; sourceTree = ""; }; + 0731CDBFEC5046743137CCB5 /* libPods-DashSync-DashSync_Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DashSync-DashSync_Example.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 263FED967C4FB152D8B4D783 /* libPods-DashSync_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DashSync_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 27552411E6D7D4041AC16526 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; }; 2A1AC63A20F9012A00B3B79F /* FormSectionModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FormSectionModel.h; sourceTree = ""; }; 2A1AC63B20F9012A00B3B79F /* FormSectionModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FormSectionModel.m; sourceTree = ""; }; @@ -551,6 +555,7 @@ 2A3B3EAA20F893F4002962FB /* BaseFormCellModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseFormCellModel.h; sourceTree = ""; }; 2A3B3EAB20F893F4002962FB /* FormTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormTableViewController.h; sourceTree = ""; }; 2A3B3EB220F893F4002962FB /* BaseFormCellModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseFormCellModel.m; sourceTree = ""; }; + 2A472C095454625CDB8C64A6 /* libPods-NetworkInfo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NetworkInfo.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 2A5C601322BFC65E00C6003F /* ML_at_122088.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = ML_at_122088.dat; sourceTree = ""; }; 2A5C601522BFE0D000C6003F /* MNL_0_122064.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = MNL_0_122064.dat; sourceTree = ""; }; 2A5C601622BFE0D100C6003F /* MNL_122064_122088.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = MNL_122064_122088.dat; sourceTree = ""; }; @@ -591,7 +596,7 @@ 2AF8A95922847E5200F8C72D /* DSContactProfileViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DSContactProfileViewController.m; sourceTree = ""; }; 2AF8A95B2284820F00F8C72D /* DSContactProfileAvatarView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DSContactProfileAvatarView.h; sourceTree = ""; }; 2AF8A95C2284820F00F8C72D /* DSContactProfileAvatarView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DSContactProfileAvatarView.m; sourceTree = ""; }; - 5797F9A5E0D453E1AE6AD191 /* Pods-NetworkInfo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NetworkInfo.debug.xcconfig"; path = "Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo.debug.xcconfig"; sourceTree = ""; }; + 465173F50F99156A403A8507 /* Pods-DashSync-DashSync_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync-DashSync_Example.release.xcconfig"; path = "Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example.release.xcconfig"; sourceTree = ""; }; 6003F58A195388D20070C39A /* DashSync_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DashSync_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 6003F58D195388D20070C39A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 6003F58F195388D20070C39A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; @@ -611,23 +616,18 @@ 6003F5B9195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Prefix.pch"; sourceTree = ""; }; 64A245673BBAE1DA7DAB4907 /* DashSync.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = DashSync.podspec; path = ../DashSync.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 65579A860882BE9A628B6FE7 /* Pods-DashSync-DashSync_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync-DashSync_Example.release.xcconfig"; path = "Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example.release.xcconfig"; sourceTree = ""; }; 71719F9E1E33DC2100824A3D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 76D24CDDC18A984CA2631A04 /* Pods-NetworkInfo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NetworkInfo.release.xcconfig"; path = "Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo.release.xcconfig"; sourceTree = ""; }; 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Main.storyboard; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 93099D7028E7275300160709 /* MNLIST_1746460.dat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MNLIST_1746460.dat; sourceTree = ""; }; 93099D7128E7275400160709 /* MNL_1746460_1746516.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = MNL_1746460_1746516.dat; sourceTree = ""; }; 937619A326E22DCD0023BE64 /* BackgroundTasks.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BackgroundTasks.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/BackgroundTasks.framework; sourceTree = DEVELOPER_DIR; }; - 95BFAE93B5BDC98E3FF7D339 /* Pods-DashSync_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync_Tests.debug.xcconfig"; path = "Target Support Files/Pods-DashSync_Tests/Pods-DashSync_Tests.debug.xcconfig"; sourceTree = ""; }; - B79C23546B08F6CBE27B009B /* Pods-DashSync_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync_Tests.release.xcconfig"; path = "Target Support Files/Pods-DashSync_Tests/Pods-DashSync_Tests.release.xcconfig"; sourceTree = ""; }; + 96A8ADA8763651727971BF11 /* Pods-NetworkInfo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NetworkInfo.debug.xcconfig"; path = "Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo.debug.xcconfig"; sourceTree = ""; }; B8D9D6682CB5A11B00D289A9 /* libDashSync-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libDashSync-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; B8D9D66A2CB5A33300D289A9 /* libDashSync-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libDashSync-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; B8D9D66C2CB5A36600D289A9 /* DashSharedCore.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = DashSharedCore.xcframework; path = "../../dash-shared-core/dash-spv-apple-bindings/DashSharedCore/framework/DashSharedCore.xcframework"; sourceTree = ""; }; - C5041A303DA8005AF8D8C194 /* libPods-DashSync_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DashSync_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - C8FE4F7E21F52E59ADB43E69 /* libPods-DashSync-DashSync_Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DashSync-DashSync_Example.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - CB469E015A96AA6F4E3E28CB /* Pods-NetworkInfo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NetworkInfo.release.xcconfig"; path = "Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo.release.xcconfig"; sourceTree = ""; }; - CD6B1FC65F799AAD2D4AEC1A /* Pods-DashSync-DashSync_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync-DashSync_Example.debug.xcconfig"; path = "Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example.debug.xcconfig"; sourceTree = ""; }; + DE41D5AFF36EAC9F55D916DD /* Pods-DashSync_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync_Tests.debug.xcconfig"; path = "Target Support Files/Pods-DashSync_Tests/Pods-DashSync_Tests.debug.xcconfig"; sourceTree = ""; }; E47ABFD6469F1FD556CDA6C7 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; - E8BD218D7500924A42F48A67 /* libPods-NetworkInfo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NetworkInfo.a"; sourceTree = BUILT_PRODUCTS_DIR; }; FB0955CA244BBDC400A93675 /* DSContactRelationshipInfoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DSContactRelationshipInfoViewController.h; sourceTree = ""; }; FB0955CB244BBDC400A93675 /* DSContactRelationshipInfoViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DSContactRelationshipInfoViewController.m; sourceTree = ""; }; FB0F15A0210490C3000272E6 /* DSTransactionDetailTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DSTransactionDetailTableViewCell.h; sourceTree = ""; }; @@ -1202,7 +1202,7 @@ 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */, 6003F592195388D20070C39A /* UIKit.framework in Frameworks */, 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */, - A826AD0C6E7D15144036CB3E /* libPods-DashSync-DashSync_Example.a in Frameworks */, + B9BF3E8F8236AD6E7E3A1B83 /* libPods-DashSync-DashSync_Example.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1214,7 +1214,7 @@ 6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */, 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */, 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */, - 328A9569D5871E42CA5F9D57 /* libPods-DashSync_Tests.a in Frameworks */, + 4C20F7670B15BB3F4F7716A2 /* libPods-DashSync_Tests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1223,7 +1223,7 @@ buildActionMask = 2147483647; files = ( B8D9D66B2CB5A33300D289A9 /* libDashSync-macOS.a in Frameworks */, - 7400A509F640A9FA1A4AFD1E /* libPods-NetworkInfo.a in Frameworks */, + 2F5E40C2D9889BA0A1050512 /* libPods-NetworkInfo.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1233,12 +1233,12 @@ 15D149D9AD161D779756AC18 /* Pods */ = { isa = PBXGroup; children = ( - CD6B1FC65F799AAD2D4AEC1A /* Pods-DashSync-DashSync_Example.debug.xcconfig */, - 65579A860882BE9A628B6FE7 /* Pods-DashSync-DashSync_Example.release.xcconfig */, - 95BFAE93B5BDC98E3FF7D339 /* Pods-DashSync_Tests.debug.xcconfig */, - B79C23546B08F6CBE27B009B /* Pods-DashSync_Tests.release.xcconfig */, - 5797F9A5E0D453E1AE6AD191 /* Pods-NetworkInfo.debug.xcconfig */, - CB469E015A96AA6F4E3E28CB /* Pods-NetworkInfo.release.xcconfig */, + 038B8B25F7F40A2448FAB877 /* Pods-DashSync-DashSync_Example.debug.xcconfig */, + 465173F50F99156A403A8507 /* Pods-DashSync-DashSync_Example.release.xcconfig */, + DE41D5AFF36EAC9F55D916DD /* Pods-DashSync_Tests.debug.xcconfig */, + 0390824C4EEB495E475CAB59 /* Pods-DashSync_Tests.release.xcconfig */, + 96A8ADA8763651727971BF11 /* Pods-NetworkInfo.debug.xcconfig */, + 76D24CDDC18A984CA2631A04 /* Pods-NetworkInfo.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -1401,9 +1401,9 @@ 6003F58F195388D20070C39A /* CoreGraphics.framework */, 6003F591195388D20070C39A /* UIKit.framework */, 6003F5AF195388D20070C39A /* XCTest.framework */, - C8FE4F7E21F52E59ADB43E69 /* libPods-DashSync-DashSync_Example.a */, - C5041A303DA8005AF8D8C194 /* libPods-DashSync_Tests.a */, - E8BD218D7500924A42F48A67 /* libPods-NetworkInfo.a */, + 0731CDBFEC5046743137CCB5 /* libPods-DashSync-DashSync_Example.a */, + 263FED967C4FB152D8B4D783 /* libPods-DashSync_Tests.a */, + 2A472C095454625CDB8C64A6 /* libPods-NetworkInfo.a */, ); name = Frameworks; sourceTree = ""; @@ -2337,12 +2337,12 @@ isa = PBXNativeTarget; buildConfigurationList = 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "DashSync_Example" */; buildPhases = ( - 636CBC1607A7FD4D9970E0EA /* [CP] Check Pods Manifest.lock */, + 06F30795E4BD00161F28E823 /* [CP] Check Pods Manifest.lock */, FB5A0FA7219506140079CF42 /* ShellScript */, 6003F586195388D20070C39A /* Sources */, 6003F587195388D20070C39A /* Frameworks */, 6003F588195388D20070C39A /* Resources */, - 6A93D030A59173C490ED4687 /* [CP] Copy Pods Resources */, + 238DB649B9DCB3334DCF8BB0 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2357,7 +2357,7 @@ isa = PBXNativeTarget; buildConfigurationList = 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "DashSync_Tests" */; buildPhases = ( - 40F5766E7B3EC70AE9F83DBD /* [CP] Check Pods Manifest.lock */, + 762E7136E691E8FDB4A47DCA /* [CP] Check Pods Manifest.lock */, 6003F5AA195388D20070C39A /* Sources */, 6003F5AB195388D20070C39A /* Frameworks */, 6003F5AC195388D20070C39A /* Resources */, @@ -2376,11 +2376,11 @@ isa = PBXNativeTarget; buildConfigurationList = FB9C9EFE25B80DB40039880E /* Build configuration list for PBXNativeTarget "NetworkInfo" */; buildPhases = ( - 6E2E127DC5DC7C920C279245 /* [CP] Check Pods Manifest.lock */, + B54592A9AB8366AE6B5E1C87 /* [CP] Check Pods Manifest.lock */, FB9C9EF625B80DB40039880E /* Sources */, FB9C9EF725B80DB40039880E /* Frameworks */, FB9C9EF825B80DB40039880E /* CopyFiles */, - 286FA0E8B0A7E6D3F8B6703C /* [CP] Copy Pods Resources */, + 56E9C13DD3CDDA92D41DD66D /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2764,29 +2764,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 286FA0E8B0A7E6D3F8B6703C /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/DashSync-macOS/DashSync.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/Protobuf-macOS/Protobuf_Privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-macOS/gRPCCertificates.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DashSync.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Protobuf_Privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/gRPCCertificates.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 40F5766E7B3EC70AE9F83DBD /* [CP] Check Pods Manifest.lock */ = { + 06F30795E4BD00161F28E823 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2801,45 +2779,45 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-DashSync_Tests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-DashSync-DashSync_Example-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; }; - 636CBC1607A7FD4D9970E0EA /* [CP] Check Pods Manifest.lock */ = { + 238DB649B9DCB3334DCF8BB0 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/DashSync-iOS/DashSync.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/Protobuf-iOS/Protobuf_Privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-iOS/gRPCCertificates.bundle", ); + name = "[CP] Copy Pods Resources"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-DashSync-DashSync_Example-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DashSync.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Protobuf_Privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/gRPCCertificates.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 6A93D030A59173C490ED4687 /* [CP] Copy Pods Resources */ = { + 56E9C13DD3CDDA92D41DD66D /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/DashSync-iOS/DashSync.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/Protobuf-iOS/Protobuf_Privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-iOS/gRPCCertificates.bundle", + "${PODS_ROOT}/Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/DashSync-macOS/DashSync.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/Protobuf-macOS/Protobuf_Privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-macOS/gRPCCertificates.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( @@ -2849,10 +2827,32 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 762E7136E691E8FDB4A47DCA /* [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-DashSync_Tests-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; }; - 6E2E127DC5DC7C920C279245 /* [CP] Check Pods Manifest.lock */ = { + B54592A9AB8366AE6B5E1C87 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3231,7 +3231,7 @@ }; 6003F5C0195388D20070C39A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CD6B1FC65F799AAD2D4AEC1A /* Pods-DashSync-DashSync_Example.debug.xcconfig */; + baseConfigurationReference = 038B8B25F7F40A2448FAB877 /* Pods-DashSync-DashSync_Example.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; DEVELOPMENT_TEAM = 44RJ69WHFF; @@ -3291,7 +3291,7 @@ }; 6003F5C1195388D20070C39A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 65579A860882BE9A628B6FE7 /* Pods-DashSync-DashSync_Example.release.xcconfig */; + baseConfigurationReference = 465173F50F99156A403A8507 /* Pods-DashSync-DashSync_Example.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; DEVELOPMENT_TEAM = 44RJ69WHFF; @@ -3351,7 +3351,7 @@ }; 6003F5C3195388D20070C39A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 95BFAE93B5BDC98E3FF7D339 /* Pods-DashSync_Tests.debug.xcconfig */; + baseConfigurationReference = DE41D5AFF36EAC9F55D916DD /* Pods-DashSync_Tests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; DEVELOPMENT_TEAM = 44RJ69WHFF; @@ -3373,7 +3373,7 @@ }; 6003F5C4195388D20070C39A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B79C23546B08F6CBE27B009B /* Pods-DashSync_Tests.release.xcconfig */; + baseConfigurationReference = 0390824C4EEB495E475CAB59 /* Pods-DashSync_Tests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; DEVELOPMENT_TEAM = 44RJ69WHFF; @@ -3391,7 +3391,7 @@ }; FB9C9EFF25B80DB40039880E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5797F9A5E0D453E1AE6AD191 /* Pods-NetworkInfo.debug.xcconfig */; + baseConfigurationReference = 96A8ADA8763651727971BF11 /* Pods-NetworkInfo.debug.xcconfig */; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -3457,7 +3457,7 @@ }; FB9C9F0025B80DB40039880E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CB469E015A96AA6F4E3E28CB /* Pods-NetworkInfo.release.xcconfig */; + baseConfigurationReference = 76D24CDDC18A984CA2631A04 /* Pods-NetworkInfo.release.xcconfig */; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; diff --git a/Example/Podfile b/Example/Podfile index 085513a4..91798102 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -1,6 +1,6 @@ def common_pods # pod 'DashSharedCore', :git => 'https://github.com/dashpay/dash-shared-core.git', :branch => 'fix/core-20-test-additional' - pod 'DashSharedCore', :git => 'https://github.com/dashpay/dash-shared-core.git', :commit => 'b424aa0b0f8289fca00508a50daefffbec2f98dc' + pod 'DashSharedCore', :git => 'https://github.com/dashpay/dash-shared-core.git', :commit => '7dda9489a1d23221032e2b050c31a317a6e95631' # pod 'DashSharedCore', :path => '../../dash-shared-core/' pod 'DashSync', :path => '../' pod 'SDWebImage', '5.14.3' From 089805683c311500838ab44523d00e523a999afe Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 10 Oct 2024 12:09:32 +0300 Subject: [PATCH 12/33] added clear deps task --- .github/workflows/network.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/network.yml b/.github/workflows/network.yml index c3500fec..d24f22ca 100644 --- a/.github/workflows/network.yml +++ b/.github/workflows/network.yml @@ -44,7 +44,10 @@ jobs: run: cargo install cargo-lipo - name: Rustup add targets run: rustup target add x86_64-apple-darwin - - name: Dependencies + - name: Clear dependencies + working-directory: ./dashsync/Example + run: rm -rf Podfile.lock Pods/ *.xcworkspace + - name: Build Dependencies working-directory: ./dashsync/Example run: pod install --repo-update - name: Cache network info build From ba7ea1f766dc5c60267408d6f018d80ae5760df8 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 10 Oct 2024 12:45:47 +0300 Subject: [PATCH 13/33] moved clear deps into build workflow and updated checkout acctions --- .github/workflows/build.yml | 7 +++++-- .github/workflows/network.yml | 5 +---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 349893bc..369d29eb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,7 +20,7 @@ jobs: run: | brew install automake - name: Checkout DashSync - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: path: dashsync submodules: recursive @@ -48,7 +48,10 @@ jobs: xcode-version: '15.4' - name: Rustup add targets run: rustup target add aarch64-apple-ios x86_64-apple-ios aarch64-apple-ios-sim - - name: Dependencies + - name: Clear dependencies + working-directory: ./dashsync/Example + run: rm -rf Podfile.lock Pods/ *.xcworkspace + - name: Build dependencies working-directory: ./dashsync/Example run: pod install --repo-update --verbose - name: Build diff --git a/.github/workflows/network.yml b/.github/workflows/network.yml index d24f22ca..342edf1b 100644 --- a/.github/workflows/network.yml +++ b/.github/workflows/network.yml @@ -17,7 +17,7 @@ jobs: run: | brew install automake - name: Checkout DashSync - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: path: dashsync submodules: recursive @@ -44,9 +44,6 @@ jobs: run: cargo install cargo-lipo - name: Rustup add targets run: rustup target add x86_64-apple-darwin - - name: Clear dependencies - working-directory: ./dashsync/Example - run: rm -rf Podfile.lock Pods/ *.xcworkspace - name: Build Dependencies working-directory: ./dashsync/Example run: pod install --repo-update From c6cd896413b310409a7e65da5cfca7fb5aa47615 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 10 Oct 2024 13:52:06 +0300 Subject: [PATCH 14/33] bumped checkout actions to v3 --- .github/workflows/coverage.yml | 2 +- .github/workflows/e2eTestsTestnet.yml | 2 +- .github/workflows/lint.yml | 2 +- .github/workflows/syncTestMainnet.yml | 2 +- .github/workflows/test.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 172ddfba..6504c8e6 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -18,7 +18,7 @@ jobs: run: | brew install automake - name: Checkout DashSync - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: path: dashsync submodules: recursive diff --git a/.github/workflows/e2eTestsTestnet.yml b/.github/workflows/e2eTestsTestnet.yml index 5592daf8..3ea6c547 100644 --- a/.github/workflows/e2eTestsTestnet.yml +++ b/.github/workflows/e2eTestsTestnet.yml @@ -20,7 +20,7 @@ jobs: run: | brew install automake - name: Checkout DashSync - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: path: dashsync submodules: recursive diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index f92e7d6a..2afc376d 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -20,7 +20,7 @@ jobs: run: | brew install automake - name: Checkout DashSync - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: path: dashsync submodules: recursive diff --git a/.github/workflows/syncTestMainnet.yml b/.github/workflows/syncTestMainnet.yml index 7e12492f..54aa929e 100644 --- a/.github/workflows/syncTestMainnet.yml +++ b/.github/workflows/syncTestMainnet.yml @@ -19,7 +19,7 @@ jobs: run: | brew install automake - name: Checkout DashSync - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: path: dashsync submodules: recursive diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 85707001..fda40d54 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,7 +20,7 @@ jobs: run: | brew install automake - name: Checkout DashSync - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: path: dashsync submodules: recursive From 40807aaf6175ecc83e6c05ef1614e237af80d72d Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 10 Oct 2024 13:52:20 +0300 Subject: [PATCH 15/33] clear deps in network as well --- .github/workflows/network.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/network.yml b/.github/workflows/network.yml index 342edf1b..24755fd4 100644 --- a/.github/workflows/network.yml +++ b/.github/workflows/network.yml @@ -44,6 +44,9 @@ jobs: run: cargo install cargo-lipo - name: Rustup add targets run: rustup target add x86_64-apple-darwin + - name: Clear dependencies + working-directory: ./dashsync/Example + run: rm -rf Podfile.lock Pods/ *.xcworkspace - name: Build Dependencies working-directory: ./dashsync/Example run: pod install --repo-update From 9b0a9ebf75825283ba6e859261d62a3d48a7965d Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 10 Oct 2024 14:32:11 +0300 Subject: [PATCH 16/33] Added -allowProvisioningUpdates --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 369d29eb..2e6e6690 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,4 +60,4 @@ jobs: scheme: ${{ 'default' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild build -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" + xcodebuild build -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" -allowProvisioningUpdates From 003da1b70498df7541a198278cf95de1161736e8 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 10 Oct 2024 15:21:38 +0300 Subject: [PATCH 17/33] Adjusted Podfile.lock --- .github/workflows/build.yml | 3 --- .github/workflows/network.yml | 3 --- Example/Podfile.lock | 22 ++++++++++++++-------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2e6e6690..9ea0bcb3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,9 +48,6 @@ jobs: xcode-version: '15.4' - name: Rustup add targets run: rustup target add aarch64-apple-ios x86_64-apple-ios aarch64-apple-ios-sim - - name: Clear dependencies - working-directory: ./dashsync/Example - run: rm -rf Podfile.lock Pods/ *.xcworkspace - name: Build dependencies working-directory: ./dashsync/Example run: pod install --repo-update --verbose diff --git a/.github/workflows/network.yml b/.github/workflows/network.yml index 24755fd4..342edf1b 100644 --- a/.github/workflows/network.yml +++ b/.github/workflows/network.yml @@ -44,9 +44,6 @@ jobs: run: cargo install cargo-lipo - name: Rustup add targets run: rustup target add x86_64-apple-darwin - - name: Clear dependencies - working-directory: ./dashsync/Example - run: rm -rf Podfile.lock Pods/ *.xcworkspace - name: Build Dependencies working-directory: ./dashsync/Example run: pod install --repo-update diff --git a/Example/Podfile.lock b/Example/Podfile.lock index b0fb2e24..0dd922b4 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -586,11 +586,11 @@ PODS: - "!ProtoCompiler-gRPCPlugin (~> 1.0)" - DAPI-GRPC/Messages - gRPC-ProtoRPC - - DashSharedCore (0.4.16) + - DashSharedCore (0.4.18) - DashSync (0.1.0): - CocoaLumberjack (= 3.7.2) - DAPI-GRPC (= 0.22.0-dev.8) - - DashSharedCore (= 0.4.16) + - DashSharedCore (= 0.4.18) - DSDynamicOptions (= 0.1.2) - DWAlertController (= 0.2.1) - TinyCborObjc (= 0.4.6) @@ -657,7 +657,7 @@ PODS: - gRPC/Interface-Legacy (1.49.0): - gRPC-RxLibrary/Interface (= 1.49.0) - KVO-MVVM (0.5.1) - - Protobuf (3.27.2) + - Protobuf (3.28.2) - SDWebImage (5.14.3): - SDWebImage/Core (= 5.14.3) - SDWebImage/Core (5.14.3) @@ -667,6 +667,7 @@ PODS: DEPENDENCIES: - CocoaImageHashing (from `https://github.com/ameingast/cocoaimagehashing.git`, commit `ad01eee`) + - DashSharedCore (from `https://github.com/dashpay/dash-shared-core.git`, commit `7dda9489a1d23221032e2b050c31a317a6e95631`) - DashSync (from `../`) - KVO-MVVM (= 0.5.1) - SDWebImage (= 5.14.3) @@ -679,7 +680,6 @@ SPEC REPOS: - BoringSSL-GRPC - CocoaLumberjack - DAPI-GRPC - - DashSharedCore - DSDynamicOptions - DWAlertController - gRPC @@ -696,6 +696,9 @@ EXTERNAL SOURCES: CocoaImageHashing: :commit: ad01eee :git: https://github.com/ameingast/cocoaimagehashing.git + DashSharedCore: + :commit: 7dda9489a1d23221032e2b050c31a317a6e95631 + :git: https://github.com/dashpay/dash-shared-core.git DashSync: :path: "../" @@ -703,6 +706,9 @@ CHECKOUT OPTIONS: CocoaImageHashing: :commit: ad01eee :git: https://github.com/ameingast/cocoaimagehashing.git + DashSharedCore: + :commit: 7dda9489a1d23221032e2b050c31a317a6e95631 + :git: https://github.com/dashpay/dash-shared-core.git SPEC CHECKSUMS: "!ProtoCompiler": e9c09244955a8565817aa59a4787b6bb849a63c6 @@ -712,8 +718,8 @@ SPEC CHECKSUMS: CocoaImageHashing: 8656031d0899abe6c1c415827de43e9798189c53 CocoaLumberjack: b7e05132ff94f6ae4dfa9d5bce9141893a21d9da DAPI-GRPC: 138d62523bbfe7e88a39896f1053c0bc12390d9f - DashSharedCore: 81d3327cbea4103114b768eed4d36e742417b63b - DashSync: 5c4dea6e4ef83df33f23f85b7f2b97ef6843de87 + DashSharedCore: 39b477a8cb43f01ffb1a3e18a3ecc0c2bf38481b + DashSync: fea23e18c188a4c79852d1c6816b33a8b9852414 DSDynamicOptions: 347cc5d2c4e080eb3de6a86719ad3d861b82adfc DWAlertController: 5f4cd8adf90336331c054857f709f5f8d4b16a5b gRPC: 64f36d689b2ecd99c4351f74e6f91347cdc65d9f @@ -721,11 +727,11 @@ SPEC CHECKSUMS: gRPC-ProtoRPC: 1c223e0f1732bb8d0b9e9e0ea60cc0fe995b8e2d gRPC-RxLibrary: 92327f150e11cf3b1c0f52e083944fd9f5cb5d1e KVO-MVVM: 4df3afd1f7ebcb69735458b85db59c4271ada7c6 - Protobuf: fb2c13674723f76ff6eede14f78847a776455fa2 + Protobuf: 28c89b24435762f60244e691544ed80f50d82701 SDWebImage: 9c36e66c8ce4620b41a7407698dda44211a96764 tinycbor: d4d71dddda1f8392fbb4249f63faf8552f327590 TinyCborObjc: 5204540fb90ff0c40fb22d408fa51bab79d78a80 -PODFILE CHECKSUM: 8cb419eb95422ed65fbdc41960e405e8cc54dda7 +PODFILE CHECKSUM: 2b3437e89ea617e5578cf4e8071a4bb1cc5edd31 COCOAPODS: 1.15.2 From 6e190786a95c9830e644d140162739e4e7710b20 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 10 Oct 2024 16:24:22 +0300 Subject: [PATCH 18/33] disable signing in CI --- .github/workflows/build.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9ea0bcb3..dac065ec 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,5 +1,4 @@ name: Continuous Integration - on: push: branches: @@ -10,7 +9,6 @@ on: branches: - master - develop - jobs: build: name: Build @@ -51,10 +49,14 @@ jobs: - name: Build dependencies working-directory: ./dashsync/Example run: pod install --repo-update --verbose - - name: Build + - name: Build for iOS Simulator (without code signing) working-directory: ./dashsync/Example env: - scheme: ${{ 'default' }} + scheme: ${{ 'DashSync-Example' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild build -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" -allowProvisioningUpdates + xcodebuild build \ + -scheme "DashSync-Example" \ + -workspace "DashSync.xcworkspace" \ + -destination "platform=$platform,name=iPhone 13" \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO \ No newline at end of file From 34d86bb15d2883099d392321d1c140d3303c6a5d Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 10 Oct 2024 17:52:22 +0300 Subject: [PATCH 19/33] disable signing in all flows --- .github/workflows/e2eTestsTestnet.yml | 19 +++-- .github/workflows/syncTestTestnet.yml | 21 ++++-- .github/workflows/test.yml | 100 ++++++++++++++++++++------ 3 files changed, 106 insertions(+), 34 deletions(-) diff --git a/.github/workflows/e2eTestsTestnet.yml b/.github/workflows/e2eTestsTestnet.yml index 3ea6c547..990f8095 100644 --- a/.github/workflows/e2eTestsTestnet.yml +++ b/.github/workflows/e2eTestsTestnet.yml @@ -48,17 +48,26 @@ jobs: - name: Dependencies working-directory: ./dashsync/Example run: pod install --repo-update - - name: Build + - name: Build for testing (without code signing) working-directory: ./dashsync/Example env: - scheme: ${{ 'default' }} + scheme: ${{ 'DashSync-Example' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild build-for-testing -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" + xcodebuild build-for-testing \ + -scheme "DashSync-Example" \ + -workspace "DashSync.xcworkspace" \ + -destination "platform=$platform,name=iPhone 13" \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO - name: Test Syncing Chain working-directory: ./dashsync/Example env: - scheme: ${{ 'default' }} + scheme: ${{ 'DashSync-Example' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild test-without-building -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" -testPlan TestnetE2ETests + xcodebuild test-without-building \ + -scheme "DashSync-Example" \ + -workspace "DashSync.xcworkspace" \ + -destination "platform=$platform,name=iPhone 13" \ + -testPlan TestnetE2ETests \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO \ No newline at end of file diff --git a/.github/workflows/syncTestTestnet.yml b/.github/workflows/syncTestTestnet.yml index 85c69d42..d5570361 100644 --- a/.github/workflows/syncTestTestnet.yml +++ b/.github/workflows/syncTestTestnet.yml @@ -29,7 +29,7 @@ jobs: git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id working-directory: ./dashsync - name: Restore LFS cache - uses: actions/cache@v2 + uses: actions/cache@v3 id: lfs-cache with: path: dashsync/.git/lfs @@ -48,17 +48,26 @@ jobs: - name: Dependencies working-directory: ./dashsync/Example run: pod install --repo-update - - name: Build + - name: Build for testing (without code signing) working-directory: ./dashsync/Example env: - scheme: ${{ 'default' }} + scheme: ${{ 'DashSync-Example' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild build-for-testing -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" + xcodebuild build-for-testing \ + -scheme "DashSync-Example" \ + -workspace "DashSync.xcworkspace" \ + -destination "platform=$platform,name=iPhone 13" \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO - name: Test Syncing Chain working-directory: ./dashsync/Example env: - scheme: ${{ 'default' }} + scheme: ${{ 'DashSync-Example' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild test-without-building -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" -testPlan TestnetSyncTests + xcodebuild test-without-building \ + -scheme "DashSync-Example" \ + -workspace "DashSync.xcworkspace" \ + -destination "platform=$platform,name=iPhone 13" \ + -testPlan TestnetSyncTests \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fda40d54..05ef4828 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -48,80 +48,134 @@ jobs: - name: Dependencies working-directory: ./dashsync/Example run: pod install --repo-update - - name: Build + - name: Build for testing (without code signing) working-directory: ./dashsync/Example env: - scheme: ${{ 'default' }} + scheme: ${{ 'DashSync-Example' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild build-for-testing -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" + xcodebuild build-for-testing \ + -scheme "DashSync-Example" \ + -workspace "DashSync.xcworkspace" \ + -destination "platform=$platform,name=iPhone 13" \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO - name: Test Crypto working-directory: ./dashsync/Example env: - scheme: ${{ 'default' }} + scheme: ${{ 'DashSync-Example' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild test-without-building -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" -testPlan CryptoTests + xcodebuild test-without-building \ + -scheme "DashSync-Example" \ + -workspace "DashSync.xcworkspace" \ + -destination "platform=$platform,name=iPhone 13" \ + -testPlan CryptoTests \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO - name: Test Derivations working-directory: ./dashsync/Example env: - scheme: ${{ 'default' }} + scheme: ${{ 'DashSync-Example' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild test-without-building -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" -testPlan DerivationTests + xcodebuild test-without-building \ + -scheme "DashSync-Example" \ + -workspace "DashSync.xcworkspace" \ + -destination "platform=$platform,name=iPhone 13" \ + -testPlan DerivationTests \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO - name: Test Libraries working-directory: ./dashsync/Example env: - scheme: ${{ 'default' }} + scheme: ${{ 'DashSync-Example' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild test-without-building -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" -testPlan LibraryTests + xcodebuild test-without-building \ + -scheme "DashSync-Example" \ + -workspace "DashSync.xcworkspace" \ + -destination "platform=$platform,name=iPhone 13" \ + -testPlan LibraryTests \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO - name: Test Governance working-directory: ./dashsync/Example env: - scheme: ${{ 'default' }} + scheme: ${{ 'DashSync-Example' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild test-without-building -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" -testPlan GovernanceTests + xcodebuild test-without-building \ + -scheme "DashSync-Example" \ + -workspace "DashSync.xcworkspace" \ + -destination "platform=$platform,name=iPhone 13" \ + -testPlan GovernanceTests \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO - name: Test Payments working-directory: ./dashsync/Example env: - scheme: ${{ 'default' }} + scheme: ${{ 'DashSync-Example' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild test-without-building -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" -testPlan PaymentTests + xcodebuild test-without-building \ + -scheme "DashSync-Example" \ + -workspace "DashSync.xcworkspace" \ + -destination "platform=$platform,name=iPhone 13" \ + -testPlan PaymentTests \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO - name: Test Masternode Lists working-directory: ./dashsync/Example env: - scheme: ${{ 'default' }} + scheme: ${{ 'DashSync-Example' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild test-without-building -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" -testPlan MasternodeListTests + xcodebuild test-without-building \ + -scheme "DashSync-Example" \ + -workspace "DashSync.xcworkspace" \ + -destination "platform=$platform,name=iPhone 13" \ + -testPlan MasternodeListTests \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO - name: Test Wallet working-directory: ./dashsync/Example env: - scheme: ${{ 'default' }} + scheme: ${{ 'DashSync-Example' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild test-without-building -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" -testPlan WalletTests + xcodebuild test-without-building \ + -scheme "DashSync-Example" \ + -workspace "DashSync.xcworkspace" \ + -destination "platform=$platform,name=iPhone 13" \ + -testPlan WalletTests \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO - name: Test Platform Transitions working-directory: ./dashsync/Example env: - scheme: ${{ 'default' }} + scheme: ${{ 'DashSync-Example' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild test-without-building -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" -testPlan PlatformTransitionTests + xcodebuild test-without-building \ + -scheme "DashSync-Example" \ + -workspace "DashSync.xcworkspace" \ + -destination "platform=$platform,name=iPhone 13" \ + -testPlan PlatformTransitionTests \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO - name: Test Transactions working-directory: ./dashsync/Example env: - scheme: ${{ 'default' }} + scheme: ${{ 'DashSync-Example' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild test-without-building -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" -testPlan TransactionTests + xcodebuild test-without-building \ + -scheme "DashSync-Example" \ + -workspace "DashSync.xcworkspace" \ + -destination "platform=$platform,name=iPhone 13" \ + -testPlan TransactionTests \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO - name: Test Locks working-directory: ./dashsync/Example env: - scheme: ${{ 'default' }} + scheme: ${{ 'DashSync-Example' }} platform: ${{ 'iOS Simulator' }} run: | - xcodebuild test-without-building -scheme "DashSync-Example" -workspace "DashSync.xcworkspace" -destination "platform=$platform,name=iPhone 13" -testPlan LockTests + xcodebuild test-without-building \ + -scheme "DashSync-Example" \ + -workspace "DashSync.xcworkspace" \ + -destination "platform=$platform,name=iPhone 13" \ + -testPlan LockTests \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO \ No newline at end of file From 2229d2d6f1119c8d2e0e67d908245d68fec96571 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 10 Oct 2024 18:57:33 +0300 Subject: [PATCH 20/33] test adhoc e2e --- .github/workflows/e2eTestsTestnet.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/e2eTestsTestnet.yml b/.github/workflows/e2eTestsTestnet.yml index 990f8095..debb9919 100644 --- a/.github/workflows/e2eTestsTestnet.yml +++ b/.github/workflows/e2eTestsTestnet.yml @@ -48,7 +48,7 @@ jobs: - name: Dependencies working-directory: ./dashsync/Example run: pod install --repo-update - - name: Build for testing (without code signing) + - name: Build for testing (with ad-hoc code signing) working-directory: ./dashsync/Example env: scheme: ${{ 'DashSync-Example' }} @@ -58,7 +58,7 @@ jobs: -scheme "DashSync-Example" \ -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ - CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO + CODE_SIGN_IDENTITY="-" CODE_SIGNING_REQUIRED=YES CODE_SIGNING_ALLOWED=YES - name: Test Syncing Chain working-directory: ./dashsync/Example env: @@ -69,5 +69,4 @@ jobs: -scheme "DashSync-Example" \ -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ - -testPlan TestnetE2ETests \ - CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO \ No newline at end of file + -testPlan TestnetE2ETests \ No newline at end of file From db4f77a1548907b1925b8a5ad7bf9e794102f013 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 10 Oct 2024 22:29:37 +0300 Subject: [PATCH 21/33] test automatic sign --- .github/workflows/test.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 05ef4828..cb4ef7e9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -58,7 +58,7 @@ jobs: -scheme "DashSync-Example" \ -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ - CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO + CODE_SIGN_STYLE=Automatic - name: Test Crypto working-directory: ./dashsync/Example env: @@ -70,7 +70,7 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan CryptoTests \ - CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO + CODE_SIGN_STYLE=Automatic - name: Test Derivations working-directory: ./dashsync/Example env: @@ -82,7 +82,7 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan DerivationTests \ - CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO + CODE_SIGN_STYLE=Automatic - name: Test Libraries working-directory: ./dashsync/Example env: @@ -94,7 +94,7 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan LibraryTests \ - CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO + CODE_SIGN_STYLE=Automatic - name: Test Governance working-directory: ./dashsync/Example env: @@ -106,7 +106,7 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan GovernanceTests \ - CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO + CODE_SIGN_STYLE=Automatic - name: Test Payments working-directory: ./dashsync/Example env: @@ -118,7 +118,7 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan PaymentTests \ - CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO + CODE_SIGN_STYLE=Automatic - name: Test Masternode Lists working-directory: ./dashsync/Example env: @@ -130,7 +130,7 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan MasternodeListTests \ - CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO + CODE_SIGN_STYLE=Automatic - name: Test Wallet working-directory: ./dashsync/Example env: @@ -142,7 +142,7 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan WalletTests \ - CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO + CODE_SIGN_STYLE=Automatic - name: Test Platform Transitions working-directory: ./dashsync/Example env: @@ -154,7 +154,7 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan PlatformTransitionTests \ - CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO + CODE_SIGN_STYLE=Automatic - name: Test Transactions working-directory: ./dashsync/Example env: @@ -166,7 +166,7 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan TransactionTests \ - CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO + CODE_SIGN_STYLE=Automatic - name: Test Locks working-directory: ./dashsync/Example env: @@ -178,4 +178,4 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan LockTests \ - CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED=NO \ No newline at end of file + CODE_SIGN_STYLE=Automatic \ No newline at end of file From c23adcb62691b68326d3a23486cdd3c50e01dd4d Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 10 Oct 2024 22:39:52 +0300 Subject: [PATCH 22/33] ad-hoc signing --- .github/workflows/test.yml | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cb4ef7e9..d201f537 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -48,7 +48,7 @@ jobs: - name: Dependencies working-directory: ./dashsync/Example run: pod install --repo-update - - name: Build for testing (without code signing) + - name: Build for testing (with ad-hoc code signing) working-directory: ./dashsync/Example env: scheme: ${{ 'DashSync-Example' }} @@ -58,7 +58,8 @@ jobs: -scheme "DashSync-Example" \ -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ - CODE_SIGN_STYLE=Automatic + CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_IDENTITY="-" - name: Test Crypto working-directory: ./dashsync/Example env: @@ -70,7 +71,8 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan CryptoTests \ - CODE_SIGN_STYLE=Automatic + CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_IDENTITY="-" - name: Test Derivations working-directory: ./dashsync/Example env: @@ -82,7 +84,8 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan DerivationTests \ - CODE_SIGN_STYLE=Automatic + CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_IDENTITY="-" - name: Test Libraries working-directory: ./dashsync/Example env: @@ -94,7 +97,8 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan LibraryTests \ - CODE_SIGN_STYLE=Automatic + CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_IDENTITY="-" - name: Test Governance working-directory: ./dashsync/Example env: @@ -106,7 +110,8 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan GovernanceTests \ - CODE_SIGN_STYLE=Automatic + CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_IDENTITY="-" - name: Test Payments working-directory: ./dashsync/Example env: @@ -118,7 +123,8 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan PaymentTests \ - CODE_SIGN_STYLE=Automatic + CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_IDENTITY="-" - name: Test Masternode Lists working-directory: ./dashsync/Example env: @@ -130,7 +136,8 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan MasternodeListTests \ - CODE_SIGN_STYLE=Automatic + CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_IDENTITY="-" - name: Test Wallet working-directory: ./dashsync/Example env: @@ -142,7 +149,8 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan WalletTests \ - CODE_SIGN_STYLE=Automatic + CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_IDENTITY="-" - name: Test Platform Transitions working-directory: ./dashsync/Example env: @@ -154,7 +162,8 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan PlatformTransitionTests \ - CODE_SIGN_STYLE=Automatic + CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_IDENTITY="-" - name: Test Transactions working-directory: ./dashsync/Example env: @@ -166,7 +175,8 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan TransactionTests \ - CODE_SIGN_STYLE=Automatic + CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_IDENTITY="-" - name: Test Locks working-directory: ./dashsync/Example env: @@ -178,4 +188,5 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan LockTests \ - CODE_SIGN_STYLE=Automatic \ No newline at end of file + CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_IDENTITY="-" \ No newline at end of file From b092395c07b292bc0866f6a97d5fbe7d7dc5b659 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 10 Oct 2024 23:01:20 +0300 Subject: [PATCH 23/33] sign to run locally --- .github/workflows/test.yml | 90 +++++++++++++++++++------------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d201f537..dd6fc05a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -48,145 +48,145 @@ jobs: - name: Dependencies working-directory: ./dashsync/Example run: pod install --repo-update - - name: Build for testing (with ad-hoc code signing) + - name: Build for testing (with "Sign to Run Locally" code signing) working-directory: ./dashsync/Example env: - scheme: ${{ 'DashSync-Example' }} - platform: ${{ 'iOS Simulator' }} + scheme: 'DashSync-Example' + platform: 'iOS Simulator' run: | xcodebuild build-for-testing \ - -scheme "DashSync-Example" \ + -scheme "$scheme" \ -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ CODE_SIGN_STYLE=Automatic \ - CODE_SIGN_IDENTITY="-" + CODE_SIGN_IDENTITY="Sign to Run Locally" - name: Test Crypto working-directory: ./dashsync/Example env: - scheme: ${{ 'DashSync-Example' }} - platform: ${{ 'iOS Simulator' }} + scheme: 'DashSync-Example' + platform: 'iOS Simulator' run: | xcodebuild test-without-building \ - -scheme "DashSync-Example" \ + -scheme "$scheme" \ -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan CryptoTests \ CODE_SIGN_STYLE=Automatic \ - CODE_SIGN_IDENTITY="-" + CODE_SIGN_IDENTITY="Sign to Run Locally" - name: Test Derivations working-directory: ./dashsync/Example env: - scheme: ${{ 'DashSync-Example' }} - platform: ${{ 'iOS Simulator' }} + scheme: 'DashSync-Example' + platform: 'iOS Simulator' run: | xcodebuild test-without-building \ - -scheme "DashSync-Example" \ + -scheme "$scheme" \ -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan DerivationTests \ CODE_SIGN_STYLE=Automatic \ - CODE_SIGN_IDENTITY="-" + CODE_SIGN_IDENTITY="Sign to Run Locally" - name: Test Libraries working-directory: ./dashsync/Example env: - scheme: ${{ 'DashSync-Example' }} - platform: ${{ 'iOS Simulator' }} + scheme: 'DashSync-Example' + platform: 'iOS Simulator' run: | xcodebuild test-without-building \ - -scheme "DashSync-Example" \ + -scheme "$scheme" \ -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan LibraryTests \ CODE_SIGN_STYLE=Automatic \ - CODE_SIGN_IDENTITY="-" + CODE_SIGN_IDENTITY="Sign to Run Locally" - name: Test Governance working-directory: ./dashsync/Example env: - scheme: ${{ 'DashSync-Example' }} - platform: ${{ 'iOS Simulator' }} + scheme: 'DashSync-Example' + platform: 'iOS Simulator' run: | xcodebuild test-without-building \ - -scheme "DashSync-Example" \ + -scheme "$scheme" \ -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan GovernanceTests \ CODE_SIGN_STYLE=Automatic \ - CODE_SIGN_IDENTITY="-" + CODE_SIGN_IDENTITY="Sign to Run Locally" - name: Test Payments working-directory: ./dashsync/Example env: - scheme: ${{ 'DashSync-Example' }} - platform: ${{ 'iOS Simulator' }} + scheme: 'DashSync-Example' + platform: 'iOS Simulator' run: | xcodebuild test-without-building \ - -scheme "DashSync-Example" \ + -scheme "$scheme" \ -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan PaymentTests \ CODE_SIGN_STYLE=Automatic \ - CODE_SIGN_IDENTITY="-" + CODE_SIGN_IDENTITY="Sign to Run Locally" - name: Test Masternode Lists working-directory: ./dashsync/Example env: - scheme: ${{ 'DashSync-Example' }} - platform: ${{ 'iOS Simulator' }} + scheme: 'DashSync-Example' + platform: 'iOS Simulator' run: | xcodebuild test-without-building \ - -scheme "DashSync-Example" \ + -scheme "$scheme" \ -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan MasternodeListTests \ CODE_SIGN_STYLE=Automatic \ - CODE_SIGN_IDENTITY="-" + CODE_SIGN_IDENTITY="Sign to Run Locally" - name: Test Wallet working-directory: ./dashsync/Example env: - scheme: ${{ 'DashSync-Example' }} - platform: ${{ 'iOS Simulator' }} + scheme: 'DashSync-Example' + platform: 'iOS Simulator' run: | xcodebuild test-without-building \ - -scheme "DashSync-Example" \ + -scheme "$scheme" \ -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan WalletTests \ CODE_SIGN_STYLE=Automatic \ - CODE_SIGN_IDENTITY="-" + CODE_SIGN_IDENTITY="Sign to Run Locally" - name: Test Platform Transitions working-directory: ./dashsync/Example env: - scheme: ${{ 'DashSync-Example' }} - platform: ${{ 'iOS Simulator' }} + scheme: 'DashSync-Example' + platform: 'iOS Simulator' run: | xcodebuild test-without-building \ - -scheme "DashSync-Example" \ + -scheme "$scheme" \ -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan PlatformTransitionTests \ CODE_SIGN_STYLE=Automatic \ - CODE_SIGN_IDENTITY="-" + CODE_SIGN_IDENTITY="Sign to Run Locally" - name: Test Transactions working-directory: ./dashsync/Example env: - scheme: ${{ 'DashSync-Example' }} - platform: ${{ 'iOS Simulator' }} + scheme: 'DashSync-Example' + platform: 'iOS Simulator' run: | xcodebuild test-without-building \ - -scheme "DashSync-Example" \ + -scheme "$scheme" \ -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan TransactionTests \ CODE_SIGN_STYLE=Automatic \ - CODE_SIGN_IDENTITY="-" + CODE_SIGN_IDENTITY="Sign to Run Locally" - name: Test Locks working-directory: ./dashsync/Example env: - scheme: ${{ 'DashSync-Example' }} - platform: ${{ 'iOS Simulator' }} + scheme: 'DashSync-Example' + platform: 'iOS Simulator' run: | xcodebuild test-without-building \ - -scheme "DashSync-Example" \ + -scheme "$scheme" \ -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan LockTests \ CODE_SIGN_STYLE=Automatic \ - CODE_SIGN_IDENTITY="-" \ No newline at end of file + CODE_SIGN_IDENTITY="Sign to Run Locally" \ No newline at end of file From 6c12bcb63ef595b9e19695e9e5ff404a3a120e1b Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 10 Oct 2024 23:09:50 +0300 Subject: [PATCH 24/33] manual --- .github/workflows/test.yml | 42 +++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index dd6fc05a..205e3595 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,36 +19,44 @@ jobs: - name: Install automake run: | brew install automake + - name: Checkout DashSync uses: actions/checkout@v3 with: path: dashsync submodules: recursive + - name: Create LFS file list run: | git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id working-directory: ./dashsync + - name: Restore LFS cache uses: actions/cache@v3 id: lfs-cache with: path: dashsync/.git/lfs key: lfs-${{ hashFiles('.lfs-assets-id') }}-v1 + - name: Git LFS Pull run: git lfs pull working-directory: ./dashsync + - uses: actions/cache@v3 with: path: ./dashsync/Example/Pods key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} restore-keys: | ${{ runner.os }}-pods- + - name: Rustup add targets run: rustup target add aarch64-apple-ios x86_64-apple-ios aarch64-apple-ios-sim + - name: Dependencies working-directory: ./dashsync/Example run: pod install --repo-update - - name: Build for testing (with "Sign to Run Locally" code signing) + + - name: Build for testing (with manual code signing) working-directory: ./dashsync/Example env: scheme: 'DashSync-Example' @@ -58,8 +66,9 @@ jobs: -scheme "$scheme" \ -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ - CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_STYLE=Manual \ CODE_SIGN_IDENTITY="Sign to Run Locally" + - name: Test Crypto working-directory: ./dashsync/Example env: @@ -71,8 +80,9 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan CryptoTests \ - CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_STYLE=Manual \ CODE_SIGN_IDENTITY="Sign to Run Locally" + - name: Test Derivations working-directory: ./dashsync/Example env: @@ -84,8 +94,9 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan DerivationTests \ - CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_STYLE=Manual \ CODE_SIGN_IDENTITY="Sign to Run Locally" + - name: Test Libraries working-directory: ./dashsync/Example env: @@ -97,8 +108,9 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan LibraryTests \ - CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_STYLE=Manual \ CODE_SIGN_IDENTITY="Sign to Run Locally" + - name: Test Governance working-directory: ./dashsync/Example env: @@ -110,8 +122,9 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan GovernanceTests \ - CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_STYLE=Manual \ CODE_SIGN_IDENTITY="Sign to Run Locally" + - name: Test Payments working-directory: ./dashsync/Example env: @@ -123,8 +136,9 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan PaymentTests \ - CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_STYLE=Manual \ CODE_SIGN_IDENTITY="Sign to Run Locally" + - name: Test Masternode Lists working-directory: ./dashsync/Example env: @@ -136,8 +150,9 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan MasternodeListTests \ - CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_STYLE=Manual \ CODE_SIGN_IDENTITY="Sign to Run Locally" + - name: Test Wallet working-directory: ./dashsync/Example env: @@ -149,8 +164,9 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan WalletTests \ - CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_STYLE=Manual \ CODE_SIGN_IDENTITY="Sign to Run Locally" + - name: Test Platform Transitions working-directory: ./dashsync/Example env: @@ -162,8 +178,9 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan PlatformTransitionTests \ - CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_STYLE=Manual \ CODE_SIGN_IDENTITY="Sign to Run Locally" + - name: Test Transactions working-directory: ./dashsync/Example env: @@ -175,8 +192,9 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan TransactionTests \ - CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_STYLE=Manual \ CODE_SIGN_IDENTITY="Sign to Run Locally" + - name: Test Locks working-directory: ./dashsync/Example env: @@ -188,5 +206,5 @@ jobs: -workspace "DashSync.xcworkspace" \ -destination "platform=$platform,name=iPhone 13" \ -testPlan LockTests \ - CODE_SIGN_STYLE=Automatic \ + CODE_SIGN_STYLE=Manual \ CODE_SIGN_IDENTITY="Sign to Run Locally" \ No newline at end of file From 56b262319774e97d354a3f7011491a4d546515f3 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 10 Oct 2024 23:50:02 +0300 Subject: [PATCH 25/33] test --- Example/DashSync.xcodeproj/project.pbxproj | 142 +++++++++++---------- 1 file changed, 75 insertions(+), 67 deletions(-) diff --git a/Example/DashSync.xcodeproj/project.pbxproj b/Example/DashSync.xcodeproj/project.pbxproj index 6fa060f1..53cc4cd0 100644 --- a/Example/DashSync.xcodeproj/project.pbxproj +++ b/Example/DashSync.xcodeproj/project.pbxproj @@ -51,8 +51,7 @@ 2AF8A95622847ACB00F8C72D /* TextViewFormCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AF8A95522847ACB00F8C72D /* TextViewFormCellModel.m */; }; 2AF8A95A22847E5300F8C72D /* DSContactProfileViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AF8A95922847E5200F8C72D /* DSContactProfileViewController.m */; }; 2AF8A95D2284820F00F8C72D /* DSContactProfileAvatarView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AF8A95C2284820F00F8C72D /* DSContactProfileAvatarView.m */; }; - 2F5E40C2D9889BA0A1050512 /* libPods-NetworkInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A472C095454625CDB8C64A6 /* libPods-NetworkInfo.a */; }; - 4C20F7670B15BB3F4F7716A2 /* libPods-DashSync_Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 263FED967C4FB152D8B4D783 /* libPods-DashSync_Tests.a */; }; + 4BBAD0ED05B8F29532D1887E /* libPods-NetworkInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FCDB05396B2E9593183904E8 /* libPods-NetworkInfo.a */; }; 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; }; 6003F592195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; @@ -65,13 +64,14 @@ 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; 6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5B8195388D20070C39A /* InfoPlist.strings */; }; + 65F8D081B17C5F08E6BBF4A8 /* libPods-DashSync-DashSync_Example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F6B6FEB4981DE6989D82EB0 /* libPods-DashSync-DashSync_Example.a */; }; 71719F9F1E33DC2100824A3D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */; }; 873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */; }; 93099D7228E7275400160709 /* MNLIST_1746460.dat in Resources */ = {isa = PBXBuildFile; fileRef = 93099D7028E7275300160709 /* MNLIST_1746460.dat */; }; 93099D7328E7275400160709 /* MNL_1746460_1746516.dat in Resources */ = {isa = PBXBuildFile; fileRef = 93099D7128E7275400160709 /* MNL_1746460_1746516.dat */; }; 937619A526E22E360023BE64 /* BackgroundTasks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 937619A326E22DCD0023BE64 /* BackgroundTasks.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; B8D9D66B2CB5A33300D289A9 /* libDashSync-macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B8D9D66A2CB5A33300D289A9 /* libDashSync-macOS.a */; }; - B9BF3E8F8236AD6E7E3A1B83 /* libPods-DashSync-DashSync_Example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0731CDBFEC5046743137CCB5 /* libPods-DashSync-DashSync_Example.a */; }; + D233D44D64AE2AA230F44AA7 /* libPods-DashSync_Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DE90F593715182564EB9A7E8 /* libPods-DashSync_Tests.a */; }; FB0955CC244BBDC400A93675 /* DSContactRelationshipInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FB0955CB244BBDC400A93675 /* DSContactRelationshipInfoViewController.m */; }; FB0F15A2210490C3000272E6 /* DSTransactionDetailTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = FB0F15A1210490C3000272E6 /* DSTransactionDetailTableViewCell.m */; }; FB0F15A521049432000272E6 /* DSTransactionStatusTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = FB0F15A421049432000272E6 /* DSTransactionStatusTableViewCell.m */; }; @@ -521,10 +521,6 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 038B8B25F7F40A2448FAB877 /* Pods-DashSync-DashSync_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync-DashSync_Example.debug.xcconfig"; path = "Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example.debug.xcconfig"; sourceTree = ""; }; - 0390824C4EEB495E475CAB59 /* Pods-DashSync_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync_Tests.release.xcconfig"; path = "Target Support Files/Pods-DashSync_Tests/Pods-DashSync_Tests.release.xcconfig"; sourceTree = ""; }; - 0731CDBFEC5046743137CCB5 /* libPods-DashSync-DashSync_Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DashSync-DashSync_Example.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 263FED967C4FB152D8B4D783 /* libPods-DashSync_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DashSync_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 27552411E6D7D4041AC16526 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; }; 2A1AC63A20F9012A00B3B79F /* FormSectionModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FormSectionModel.h; sourceTree = ""; }; 2A1AC63B20F9012A00B3B79F /* FormSectionModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FormSectionModel.m; sourceTree = ""; }; @@ -555,7 +551,6 @@ 2A3B3EAA20F893F4002962FB /* BaseFormCellModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseFormCellModel.h; sourceTree = ""; }; 2A3B3EAB20F893F4002962FB /* FormTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormTableViewController.h; sourceTree = ""; }; 2A3B3EB220F893F4002962FB /* BaseFormCellModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseFormCellModel.m; sourceTree = ""; }; - 2A472C095454625CDB8C64A6 /* libPods-NetworkInfo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NetworkInfo.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 2A5C601322BFC65E00C6003F /* ML_at_122088.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = ML_at_122088.dat; sourceTree = ""; }; 2A5C601522BFE0D000C6003F /* MNL_0_122064.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = MNL_0_122064.dat; sourceTree = ""; }; 2A5C601622BFE0D100C6003F /* MNL_122064_122088.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = MNL_122064_122088.dat; sourceTree = ""; }; @@ -596,7 +591,8 @@ 2AF8A95922847E5200F8C72D /* DSContactProfileViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DSContactProfileViewController.m; sourceTree = ""; }; 2AF8A95B2284820F00F8C72D /* DSContactProfileAvatarView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DSContactProfileAvatarView.h; sourceTree = ""; }; 2AF8A95C2284820F00F8C72D /* DSContactProfileAvatarView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DSContactProfileAvatarView.m; sourceTree = ""; }; - 465173F50F99156A403A8507 /* Pods-DashSync-DashSync_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync-DashSync_Example.release.xcconfig"; path = "Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example.release.xcconfig"; sourceTree = ""; }; + 3024E8DE0B1B84642E65E70D /* Pods-DashSync_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync_Tests.debug.xcconfig"; path = "Target Support Files/Pods-DashSync_Tests/Pods-DashSync_Tests.debug.xcconfig"; sourceTree = ""; }; + 37CF4766B1F8739167BAFE02 /* Pods-NetworkInfo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NetworkInfo.debug.xcconfig"; path = "Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo.debug.xcconfig"; sourceTree = ""; }; 6003F58A195388D20070C39A /* DashSync_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DashSync_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 6003F58D195388D20070C39A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 6003F58F195388D20070C39A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; @@ -615,18 +611,21 @@ 6003F5B7195388D20070C39A /* Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tests-Info.plist"; sourceTree = ""; }; 6003F5B9195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Prefix.pch"; sourceTree = ""; }; + 61730B1B3737895F96BE6A54 /* Pods-DashSync-DashSync_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync-DashSync_Example.debug.xcconfig"; path = "Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example.debug.xcconfig"; sourceTree = ""; }; 64A245673BBAE1DA7DAB4907 /* DashSync.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = DashSync.podspec; path = ../DashSync.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 6F6B6FEB4981DE6989D82EB0 /* libPods-DashSync-DashSync_Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DashSync-DashSync_Example.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 71719F9E1E33DC2100824A3D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 76D24CDDC18A984CA2631A04 /* Pods-NetworkInfo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NetworkInfo.release.xcconfig"; path = "Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo.release.xcconfig"; sourceTree = ""; }; + 77374E9036662C743187A1DA /* Pods-DashSync_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync_Tests.release.xcconfig"; path = "Target Support Files/Pods-DashSync_Tests/Pods-DashSync_Tests.release.xcconfig"; sourceTree = ""; }; 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Main.storyboard; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 93099D7028E7275300160709 /* MNLIST_1746460.dat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MNLIST_1746460.dat; sourceTree = ""; }; 93099D7128E7275400160709 /* MNL_1746460_1746516.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = MNL_1746460_1746516.dat; sourceTree = ""; }; 937619A326E22DCD0023BE64 /* BackgroundTasks.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BackgroundTasks.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/BackgroundTasks.framework; sourceTree = DEVELOPER_DIR; }; - 96A8ADA8763651727971BF11 /* Pods-NetworkInfo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NetworkInfo.debug.xcconfig"; path = "Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo.debug.xcconfig"; sourceTree = ""; }; B8D9D6682CB5A11B00D289A9 /* libDashSync-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libDashSync-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; B8D9D66A2CB5A33300D289A9 /* libDashSync-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libDashSync-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; B8D9D66C2CB5A36600D289A9 /* DashSharedCore.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = DashSharedCore.xcframework; path = "../../dash-shared-core/dash-spv-apple-bindings/DashSharedCore/framework/DashSharedCore.xcframework"; sourceTree = ""; }; - DE41D5AFF36EAC9F55D916DD /* Pods-DashSync_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync_Tests.debug.xcconfig"; path = "Target Support Files/Pods-DashSync_Tests/Pods-DashSync_Tests.debug.xcconfig"; sourceTree = ""; }; + BD44FCB7175424B2BE7993BB /* Pods-DashSync-DashSync_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DashSync-DashSync_Example.release.xcconfig"; path = "Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example.release.xcconfig"; sourceTree = ""; }; + D97E3B2F9438560328BFE431 /* Pods-NetworkInfo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NetworkInfo.release.xcconfig"; path = "Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo.release.xcconfig"; sourceTree = ""; }; + DE90F593715182564EB9A7E8 /* libPods-DashSync_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DashSync_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; E47ABFD6469F1FD556CDA6C7 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; FB0955CA244BBDC400A93675 /* DSContactRelationshipInfoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DSContactRelationshipInfoViewController.h; sourceTree = ""; }; FB0955CB244BBDC400A93675 /* DSContactRelationshipInfoViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DSContactRelationshipInfoViewController.m; sourceTree = ""; }; @@ -1192,6 +1191,7 @@ FBF31B6D2231C53900393301 /* DSSignPayloadViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DSSignPayloadViewController.h; sourceTree = ""; }; FBF31B6E2231C53900393301 /* DSSignPayloadViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DSSignPayloadViewController.m; sourceTree = ""; }; FBF31B7022328AA800393301 /* DSProviderTransactionsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DSProviderTransactionsTests.m; sourceTree = ""; }; + FCDB05396B2E9593183904E8 /* libPods-NetworkInfo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NetworkInfo.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -1202,7 +1202,7 @@ 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */, 6003F592195388D20070C39A /* UIKit.framework in Frameworks */, 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */, - B9BF3E8F8236AD6E7E3A1B83 /* libPods-DashSync-DashSync_Example.a in Frameworks */, + 65F8D081B17C5F08E6BBF4A8 /* libPods-DashSync-DashSync_Example.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1214,7 +1214,7 @@ 6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */, 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */, 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */, - 4C20F7670B15BB3F4F7716A2 /* libPods-DashSync_Tests.a in Frameworks */, + D233D44D64AE2AA230F44AA7 /* libPods-DashSync_Tests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1223,7 +1223,7 @@ buildActionMask = 2147483647; files = ( B8D9D66B2CB5A33300D289A9 /* libDashSync-macOS.a in Frameworks */, - 2F5E40C2D9889BA0A1050512 /* libPods-NetworkInfo.a in Frameworks */, + 4BBAD0ED05B8F29532D1887E /* libPods-NetworkInfo.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1233,12 +1233,12 @@ 15D149D9AD161D779756AC18 /* Pods */ = { isa = PBXGroup; children = ( - 038B8B25F7F40A2448FAB877 /* Pods-DashSync-DashSync_Example.debug.xcconfig */, - 465173F50F99156A403A8507 /* Pods-DashSync-DashSync_Example.release.xcconfig */, - DE41D5AFF36EAC9F55D916DD /* Pods-DashSync_Tests.debug.xcconfig */, - 0390824C4EEB495E475CAB59 /* Pods-DashSync_Tests.release.xcconfig */, - 96A8ADA8763651727971BF11 /* Pods-NetworkInfo.debug.xcconfig */, - 76D24CDDC18A984CA2631A04 /* Pods-NetworkInfo.release.xcconfig */, + 61730B1B3737895F96BE6A54 /* Pods-DashSync-DashSync_Example.debug.xcconfig */, + BD44FCB7175424B2BE7993BB /* Pods-DashSync-DashSync_Example.release.xcconfig */, + 3024E8DE0B1B84642E65E70D /* Pods-DashSync_Tests.debug.xcconfig */, + 77374E9036662C743187A1DA /* Pods-DashSync_Tests.release.xcconfig */, + 37CF4766B1F8739167BAFE02 /* Pods-NetworkInfo.debug.xcconfig */, + D97E3B2F9438560328BFE431 /* Pods-NetworkInfo.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -1401,9 +1401,9 @@ 6003F58F195388D20070C39A /* CoreGraphics.framework */, 6003F591195388D20070C39A /* UIKit.framework */, 6003F5AF195388D20070C39A /* XCTest.framework */, - 0731CDBFEC5046743137CCB5 /* libPods-DashSync-DashSync_Example.a */, - 263FED967C4FB152D8B4D783 /* libPods-DashSync_Tests.a */, - 2A472C095454625CDB8C64A6 /* libPods-NetworkInfo.a */, + 6F6B6FEB4981DE6989D82EB0 /* libPods-DashSync-DashSync_Example.a */, + DE90F593715182564EB9A7E8 /* libPods-DashSync_Tests.a */, + FCDB05396B2E9593183904E8 /* libPods-NetworkInfo.a */, ); name = Frameworks; sourceTree = ""; @@ -2337,12 +2337,12 @@ isa = PBXNativeTarget; buildConfigurationList = 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "DashSync_Example" */; buildPhases = ( - 06F30795E4BD00161F28E823 /* [CP] Check Pods Manifest.lock */, + E5F7123626737B797889229A /* [CP] Check Pods Manifest.lock */, FB5A0FA7219506140079CF42 /* ShellScript */, 6003F586195388D20070C39A /* Sources */, 6003F587195388D20070C39A /* Frameworks */, 6003F588195388D20070C39A /* Resources */, - 238DB649B9DCB3334DCF8BB0 /* [CP] Copy Pods Resources */, + CD1F79E08B3F4F0921F064A8 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2357,7 +2357,7 @@ isa = PBXNativeTarget; buildConfigurationList = 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "DashSync_Tests" */; buildPhases = ( - 762E7136E691E8FDB4A47DCA /* [CP] Check Pods Manifest.lock */, + D4B84AE4F85D9FB04692A770 /* [CP] Check Pods Manifest.lock */, 6003F5AA195388D20070C39A /* Sources */, 6003F5AB195388D20070C39A /* Frameworks */, 6003F5AC195388D20070C39A /* Resources */, @@ -2376,11 +2376,11 @@ isa = PBXNativeTarget; buildConfigurationList = FB9C9EFE25B80DB40039880E /* Build configuration list for PBXNativeTarget "NetworkInfo" */; buildPhases = ( - B54592A9AB8366AE6B5E1C87 /* [CP] Check Pods Manifest.lock */, + 8CDF557444C449CF3402DD40 /* [CP] Check Pods Manifest.lock */, FB9C9EF625B80DB40039880E /* Sources */, FB9C9EF725B80DB40039880E /* Frameworks */, FB9C9EF825B80DB40039880E /* CopyFiles */, - 56E9C13DD3CDDA92D41DD66D /* [CP] Copy Pods Resources */, + 544387655732F2E6FFDFAD9D /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2402,10 +2402,11 @@ ORGANIZATIONNAME = "Dash Core Group"; TargetAttributes = { 6003F589195388D20070C39A = { - DevelopmentTeam = 44RJ69WHFF; + ProvisioningStyle = Manual; }; 6003F5AD195388D20070C39A = { DevelopmentTeam = 44RJ69WHFF; + ProvisioningStyle = Manual; TestTargetID = 6003F589195388D20070C39A; }; FB9C9EF925B80DB40039880E = { @@ -2764,7 +2765,29 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 06F30795E4BD00161F28E823 /* [CP] Check Pods Manifest.lock */ = { + 544387655732F2E6FFDFAD9D /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/DashSync-macOS/DashSync.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/Protobuf-macOS/Protobuf_Privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-macOS/gRPCCertificates.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DashSync.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Protobuf_Privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/gRPCCertificates.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 8CDF557444C449CF3402DD40 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2779,14 +2802,14 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-DashSync-DashSync_Example-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-NetworkInfo-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; }; - 238DB649B9DCB3334DCF8BB0 /* [CP] Copy Pods Resources */ = { + CD1F79E08B3F4F0921F064A8 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2808,29 +2831,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DashSync-DashSync_Example/Pods-DashSync-DashSync_Example-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 56E9C13DD3CDDA92D41DD66D /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/DashSync-macOS/DashSync.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/Protobuf-macOS/Protobuf_Privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-macOS/gRPCCertificates.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DashSync.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Protobuf_Privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/gRPCCertificates.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 762E7136E691E8FDB4A47DCA /* [CP] Check Pods Manifest.lock */ = { + D4B84AE4F85D9FB04692A770 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2852,7 +2853,7 @@ 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; }; - B54592A9AB8366AE6B5E1C87 /* [CP] Check Pods Manifest.lock */ = { + E5F7123626737B797889229A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2867,7 +2868,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-NetworkInfo-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-DashSync-DashSync_Example-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -3231,10 +3232,12 @@ }; 6003F5C0195388D20070C39A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 038B8B25F7F40A2448FAB877 /* Pods-DashSync-DashSync_Example.debug.xcconfig */; + baseConfigurationReference = 61730B1B3737895F96BE6A54 /* Pods-DashSync-DashSync_Example.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - DEVELOPMENT_TEAM = 44RJ69WHFF; + CODE_SIGN_IDENTITY = "Sign to Run Locally"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; EXCLUDED_ARCHS = ""; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "DashSync/DashSync-Prefix.pch"; @@ -3285,16 +3288,18 @@ ); PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; WRAPPER_EXTENSION = app; }; name = Debug; }; 6003F5C1195388D20070C39A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 465173F50F99156A403A8507 /* Pods-DashSync-DashSync_Example.release.xcconfig */; + baseConfigurationReference = BD44FCB7175424B2BE7993BB /* Pods-DashSync-DashSync_Example.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - DEVELOPMENT_TEAM = 44RJ69WHFF; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; EXCLUDED_ARCHS = ""; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "DashSync/DashSync-Prefix.pch"; @@ -3345,16 +3350,19 @@ ); PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; WRAPPER_EXTENSION = app; }; name = Release; }; 6003F5C3195388D20070C39A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DE41D5AFF36EAC9F55D916DD /* Pods-DashSync_Tests.debug.xcconfig */; + baseConfigurationReference = 3024E8DE0B1B84642E65E70D /* Pods-DashSync_Tests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - DEVELOPMENT_TEAM = 44RJ69WHFF; + CODE_SIGN_IDENTITY = "Sign to Run Locally"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch"; @@ -3373,7 +3381,7 @@ }; 6003F5C4195388D20070C39A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0390824C4EEB495E475CAB59 /* Pods-DashSync_Tests.release.xcconfig */; + baseConfigurationReference = 77374E9036662C743187A1DA /* Pods-DashSync_Tests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; DEVELOPMENT_TEAM = 44RJ69WHFF; @@ -3391,7 +3399,7 @@ }; FB9C9EFF25B80DB40039880E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 96A8ADA8763651727971BF11 /* Pods-NetworkInfo.debug.xcconfig */; + baseConfigurationReference = 37CF4766B1F8739167BAFE02 /* Pods-NetworkInfo.debug.xcconfig */; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -3457,7 +3465,7 @@ }; FB9C9F0025B80DB40039880E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 76D24CDDC18A984CA2631A04 /* Pods-NetworkInfo.release.xcconfig */; + baseConfigurationReference = D97E3B2F9438560328BFE431 /* Pods-NetworkInfo.release.xcconfig */; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; From 399b88c974e551f3b933cd6cb610c368c312449c Mon Sep 17 00:00:00 2001 From: pankcuf Date: Tue, 5 Nov 2024 00:24:27 +0700 Subject: [PATCH 26/33] feat: asset lock/unlock tx --- .../DashSync.xcdatamodeld/.xccurrentversion | 2 +- .../DashSync 21.xcdatamodel/contents | 529 ++++++++++++++++++ ...AssetLockTransactionEntity+CoreDataClass.h | 43 ++ ...AssetLockTransactionEntity+CoreDataClass.m | 77 +++ ...LockTransactionEntity+CoreDataProperties.h | 31 + ...LockTransactionEntity+CoreDataProperties.m | 28 + ...setUnlockTransactionEntity+CoreDataClass.h | 29 + ...setUnlockTransactionEntity+CoreDataClass.m | 64 +++ ...lockTransactionEntity+CoreDataProperties.h | 35 ++ ...lockTransactionEntity+CoreDataProperties.m | 32 ++ .../Masternode/DSMasternodeListService.m | 8 +- .../shared/Models/Notifications/DSSyncState.m | 2 +- .../Internal/DSCoreDataMigrationVersion.h | 1 + .../Internal/DSCoreDataMigrationVersion.m | 3 +- .../Base/DSAssetLockTransaction.h | 31 + .../Base/DSAssetLockTransaction.m | 61 ++ .../Base/DSAssetUnlockTransaction.h | 34 ++ .../Base/DSAssetUnlockTransaction.m | 64 +++ .../Transactions/DSTransactionFactory.h | 4 +- .../Transactions/DSTransactionFactory.m | 10 +- .../DSSpecialTransactionsWalletHolder.m | 22 + .../DSTransactionDetailViewController.m | 6 + Example/Podfile.lock | 4 +- 23 files changed, 1107 insertions(+), 13 deletions(-) create mode 100644 DashSync/shared/DashSync.xcdatamodeld/DashSync 21.xcdatamodel/contents create mode 100644 DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataClass.h create mode 100644 DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataClass.m create mode 100644 DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataProperties.h create mode 100644 DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataProperties.m create mode 100644 DashSync/shared/Models/Entities/DSAssetUnlockTransactionEntity+CoreDataClass.h create mode 100644 DashSync/shared/Models/Entities/DSAssetUnlockTransactionEntity+CoreDataClass.m create mode 100644 DashSync/shared/Models/Entities/DSAssetUnlockTransactionEntity+CoreDataProperties.h create mode 100644 DashSync/shared/Models/Entities/DSAssetUnlockTransactionEntity+CoreDataProperties.m create mode 100644 DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.h create mode 100644 DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.m create mode 100644 DashSync/shared/Models/Transactions/Base/DSAssetUnlockTransaction.h create mode 100644 DashSync/shared/Models/Transactions/Base/DSAssetUnlockTransaction.m diff --git a/DashSync/shared/DashSync.xcdatamodeld/.xccurrentversion b/DashSync/shared/DashSync.xcdatamodeld/.xccurrentversion index 5cbe4fe8..9697cdad 100644 --- a/DashSync/shared/DashSync.xcdatamodeld/.xccurrentversion +++ b/DashSync/shared/DashSync.xcdatamodeld/.xccurrentversion @@ -3,6 +3,6 @@ _XCCurrentVersionName - DashSync 20.xcdatamodel + DashSync 21.xcdatamodel diff --git a/DashSync/shared/DashSync.xcdatamodeld/DashSync 21.xcdatamodel/contents b/DashSync/shared/DashSync.xcdatamodeld/DashSync 21.xcdatamodel/contents new file mode 100644 index 00000000..e8661f27 --- /dev/null +++ b/DashSync/shared/DashSync.xcdatamodeld/DashSync 21.xcdatamodel/contents @@ -0,0 +1,529 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataClass.h b/DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataClass.h new file mode 100644 index 00000000..f543fb53 --- /dev/null +++ b/DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataClass.h @@ -0,0 +1,43 @@ +// +// Created by Vladimir Pirogov +// Copyright © 2024 Dash Core Group. All rights reserved. +// +// Licensed under the MIT License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://opensource.org/licenses/MIT +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import "DSSpecialTransactionEntity+CoreDataClass.h" +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DSAssetLockTransactionEntity : DSSpecialTransactionEntity +@end + +@interface DSAssetLockTransactionEntity (CoreDataGeneratedAccessors) + +- (void)insertObject:(DSTxOutputEntity *)value inCreditOutputsAtIndex:(NSUInteger)idx; +- (void)removeObjectFromCreditOutputsAtIndex:(NSUInteger)idx; +- (void)insertCreditOutputs:(NSArray *)value atIndexes:(NSIndexSet *)indexes; +- (void)removeCreditOutputsAtIndexes:(NSIndexSet *)indexes; +- (void)replaceObjectInCreditOutputsAtIndex:(NSUInteger)idx withObject:(DSTxOutputEntity *)value; +- (void)replaceCreditOutputsAtIndexes:(NSIndexSet *)indexes withOutputs:(NSArray *)values; +- (void)addCreditOutputsObject:(DSTxOutputEntity *)value; +- (void)removeCreditOutputsObject:(DSTxOutputEntity *)value; +- (void)addCreditOutputs:(NSOrderedSet *)values; +- (void)removeCreditOutputs:(NSOrderedSet *)values; + +@end + +NS_ASSUME_NONNULL_END + +#import "DSAssetLockTransactionEntity+CoreDataProperties.h" diff --git a/DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataClass.m b/DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataClass.m new file mode 100644 index 00000000..6a162436 --- /dev/null +++ b/DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataClass.m @@ -0,0 +1,77 @@ +// +// Created by Vladimir Pirogov +// Copyright © 2024 Dash Core Group. All rights reserved. +// +// Licensed under the MIT License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://opensource.org/licenses/MIT +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import "DSAddressEntity+CoreDataClass.h" +#import "DSAssetLockTransaction.h" +#import "DSAssetLockTransactionEntity+CoreDataClass.h" +#import "DSChain+Protected.h" +#import "DSChainEntity+CoreDataClass.h" +#import "DSKeyManager.h" +#import "DSTransactionFactory.h" +#import "DSTransactionOutput.h" +#import "DSTxOutputEntity+CoreDataClass.h" +#import "NSData+Dash.h" +#import "NSManagedObject+Sugar.h" +#import "NSString+Dash.h" + +@implementation DSAssetLockTransactionEntity + +- (instancetype)setAttributesFromTransaction:(DSTransaction *)transaction { + [self.managedObjectContext performBlockAndWait:^{ + [super setAttributesFromTransaction:transaction]; + DSAssetLockTransaction *tx = (DSAssetLockTransaction *)transaction; + self.specialTransactionVersion = tx.specialTransactionVersion; + NSMutableOrderedSet *creditOutputs = [self mutableOrderedSetValueForKey:@"creditOutputs"]; + while (creditOutputs.count < tx.creditOutputs.count) { + [creditOutputs addObject:[DSTxOutputEntity managedObjectInBlockedContext:self.managedObjectContext]]; + } + while (creditOutputs.count > tx.creditOutputs.count) { + + [self removeObjectFromCreditOutputsAtIndex:creditOutputs.count - 1]; + } + NSUInteger idx = 0; + for (DSTxOutputEntity *e in creditOutputs) { + [e setAttributesFromTransaction:tx outputIndex:idx++ forTransactionEntity:self]; + } + }]; + + return self; +} + +- (DSTransaction *)transactionForChain:(DSChain *)chain { + DSAssetLockTransaction *tx = (DSAssetLockTransaction *)[super transactionForChain:chain]; + tx.type = DSTransactionType_AssetLock; + [self.managedObjectContext performBlockAndWait:^{ + tx.specialTransactionVersion = self.specialTransactionVersion; + for (DSTxOutputEntity *e in self.creditOutputs) { + NSString *address = e.address; + if (!address && e.script) { + address = [DSKeyManager addressWithScriptPubKey:e.script forChain:tx.chain]; + } + DSTransactionOutput *transactionOutput = [DSTransactionOutput transactionOutputWithAmount:e.value address:address outScript:e.script onChain:tx.chain]; + [tx.creditOutputs addObject:transactionOutput]; + } + }]; + + return tx; +} + +- (Class)transactionClass { + return [DSAssetLockTransactionEntity class]; +} + +@end diff --git a/DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataProperties.h b/DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataProperties.h new file mode 100644 index 00000000..fafef85b --- /dev/null +++ b/DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataProperties.h @@ -0,0 +1,31 @@ +// +// Created by Vladimir Pirogov +// Copyright © 2024 Dash Core Group. All rights reserved. +// +// Licensed under the MIT License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://opensource.org/licenses/MIT +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import "DSAssetLockTransactionEntity+CoreDataClass.h" + + +NS_ASSUME_NONNULL_BEGIN + +@interface DSAssetLockTransactionEntity (CoreDataProperties) + ++ (NSFetchRequest *)fetchRequest; + +@property (nonatomic, retain) NSOrderedSet *creditOutputs; + +@end + +NS_ASSUME_NONNULL_END diff --git a/DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataProperties.m b/DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataProperties.m new file mode 100644 index 00000000..3b8e838d --- /dev/null +++ b/DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataProperties.m @@ -0,0 +1,28 @@ +// +// Created by Vladimir Pirogov +// Copyright © 2024 Dash Core Group. All rights reserved. +// +// Licensed under the MIT License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://opensource.org/licenses/MIT +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import "DSAssetLockTransactionEntity+CoreDataProperties.h" + +@implementation DSAssetLockTransactionEntity (CoreDataProperties) + ++ (NSFetchRequest *)fetchRequest { + return [NSFetchRequest fetchRequestWithEntityName:@"DSAssetLockTransactionEntity"]; +} + +@dynamic creditOutputs; + +@end diff --git a/DashSync/shared/Models/Entities/DSAssetUnlockTransactionEntity+CoreDataClass.h b/DashSync/shared/Models/Entities/DSAssetUnlockTransactionEntity+CoreDataClass.h new file mode 100644 index 00000000..da8899d0 --- /dev/null +++ b/DashSync/shared/Models/Entities/DSAssetUnlockTransactionEntity+CoreDataClass.h @@ -0,0 +1,29 @@ +// +// Created by Vladimir Pirogov +// Copyright © 2024 Dash Core Group. All rights reserved. +// +// Licensed under the MIT License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://opensource.org/licenses/MIT +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import "DSSpecialTransactionEntity+CoreDataClass.h" +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DSAssetUnlockTransactionEntity : DSSpecialTransactionEntity + +@end + +NS_ASSUME_NONNULL_END + +#import "DSAssetUnlockTransactionEntity+CoreDataProperties.h" diff --git a/DashSync/shared/Models/Entities/DSAssetUnlockTransactionEntity+CoreDataClass.m b/DashSync/shared/Models/Entities/DSAssetUnlockTransactionEntity+CoreDataClass.m new file mode 100644 index 00000000..aa67b730 --- /dev/null +++ b/DashSync/shared/Models/Entities/DSAssetUnlockTransactionEntity+CoreDataClass.m @@ -0,0 +1,64 @@ +// +// Created by Vladimir Pirogov +// Copyright © 2024 Dash Core Group. All rights reserved. +// +// Licensed under the MIT License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://opensource.org/licenses/MIT +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import "DSAddressEntity+CoreDataClass.h" +#import "DSAssetUnlockTransaction.h" +#import "DSAssetUnlockTransactionEntity+CoreDataClass.h" +#import "DSChain+Protected.h" +#import "DSChainEntity+CoreDataClass.h" +#import "DSTransaction.h" +#import "DSTransactionFactory.h" +#import "NSData+Dash.h" +#import "NSManagedObject+Sugar.h" + +@implementation DSAssetUnlockTransactionEntity + +- (instancetype)setAttributesFromTransaction:(DSTransaction *)transaction { + [self.managedObjectContext performBlockAndWait:^{ + [super setAttributesFromTransaction:transaction]; + DSAssetUnlockTransaction *tx = (DSAssetUnlockTransaction *)transaction; + self.specialTransactionVersion = tx.specialTransactionVersion; + self.index = tx.index; + self.fee = tx.fee; + self.requestedHeight = tx.requestedHeight; + self.quorumHash = uint256_data(tx.quorumHash); + self.quorumSignature = uint768_data(tx.quorumSignature); + }]; + + return self; +} + +- (DSTransaction *)transactionForChain:(DSChain *)chain { + DSAssetUnlockTransaction *tx = (DSAssetUnlockTransaction *)[super transactionForChain:chain]; + tx.type = DSTransactionType_AssetUnlock; + [self.managedObjectContext performBlockAndWait:^{ + tx.specialTransactionVersion = self.specialTransactionVersion; + tx.index = self.index; + tx.fee = self.fee; + tx.requestedHeight = self.requestedHeight; + tx.quorumHash = self.quorumHash.UInt256; + tx.quorumSignature = self.quorumSignature.UInt768; + }]; + + return tx; +} + +- (Class)transactionClass { + return [DSAssetUnlockTransaction class]; +} + +@end diff --git a/DashSync/shared/Models/Entities/DSAssetUnlockTransactionEntity+CoreDataProperties.h b/DashSync/shared/Models/Entities/DSAssetUnlockTransactionEntity+CoreDataProperties.h new file mode 100644 index 00000000..9c2a7baa --- /dev/null +++ b/DashSync/shared/Models/Entities/DSAssetUnlockTransactionEntity+CoreDataProperties.h @@ -0,0 +1,35 @@ +// +// Created by Vladimir Pirogov +// Copyright © 2024 Dash Core Group. All rights reserved. +// +// Licensed under the MIT License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://opensource.org/licenses/MIT +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import "DSAssetUnlockTransactionEntity+CoreDataClass.h" + + +NS_ASSUME_NONNULL_BEGIN + +@interface DSAssetUnlockTransactionEntity (CoreDataProperties) + ++ (NSFetchRequest *)fetchRequest; + +@property (nonatomic, assign) uint64_t index; +@property (nonatomic, assign) uint32_t fee; +@property (nonatomic, assign) uint32_t requestedHeight; +@property (nullable, nonatomic, retain) NSData *quorumHash; +@property (nullable, nonatomic, retain) NSData *quorumSignature; + +@end + +NS_ASSUME_NONNULL_END diff --git a/DashSync/shared/Models/Entities/DSAssetUnlockTransactionEntity+CoreDataProperties.m b/DashSync/shared/Models/Entities/DSAssetUnlockTransactionEntity+CoreDataProperties.m new file mode 100644 index 00000000..b5d9b60d --- /dev/null +++ b/DashSync/shared/Models/Entities/DSAssetUnlockTransactionEntity+CoreDataProperties.m @@ -0,0 +1,32 @@ +// +// Created by Vladimir Pirogov +// Copyright © 2024 Dash Core Group. All rights reserved. +// +// Licensed under the MIT License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://opensource.org/licenses/MIT +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import "DSAssetUnlockTransactionEntity+CoreDataProperties.h" + +@implementation DSAssetUnlockTransactionEntity (CoreDataProperties) + ++ (NSFetchRequest *)fetchRequest { + return [NSFetchRequest fetchRequestWithEntityName:@"DSAssetUnlockTransactionEntity"]; +} + +@dynamic index; +@dynamic fee; +@dynamic requestedHeight; +@dynamic quorumHash; +@dynamic quorumSignature; + +@end diff --git a/DashSync/shared/Models/Masternode/DSMasternodeListService.m b/DashSync/shared/Models/Masternode/DSMasternodeListService.m index 3c8c1570..17c7dd74 100644 --- a/DashSync/shared/Models/Masternode/DSMasternodeListService.m +++ b/DashSync/shared/Models/Masternode/DSMasternodeListService.m @@ -261,7 +261,7 @@ - (void)removeFromRetrievalQueue:(NSData *)masternodeBlockHashData { double count = self.retrievalQueue.count; @synchronized (self.chain.chainManager.syncState) { self.chain.chainManager.syncState.masternodeListSyncInfo.retrievalQueueCount = count; - self.chain.chainManager.syncState.masternodeListSyncInfo.retrievalQueueMaxAmount = self.retrievalQueueMaxAmount; + self.chain.chainManager.syncState.masternodeListSyncInfo.retrievalQueueMaxAmount = (uint32_t) self.retrievalQueueMaxAmount; DSLog(@"[%@] Masternode list queue updated: %f/%lu", self.chain.name, count, self.retrievalQueueMaxAmount); [self.chain.chainManager notifySyncStateChanged]; } @@ -275,7 +275,7 @@ - (void)cleanListsRetrievalQueue { [self.retrievalQueue removeAllObjects]; @synchronized (self.chain.chainManager.syncState) { self.chain.chainManager.syncState.masternodeListSyncInfo.retrievalQueueCount = 0; - self.chain.chainManager.syncState.masternodeListSyncInfo.retrievalQueueMaxAmount = self.retrievalQueueMaxAmount; + self.chain.chainManager.syncState.masternodeListSyncInfo.retrievalQueueMaxAmount = (uint32_t) self.retrievalQueueMaxAmount; DSLog(@"[%@] Masternode list queue cleaned up: 0/%lu", self.chain.name, self.retrievalQueueMaxAmount); [self.chain.chainManager notifySyncStateChanged]; } @@ -302,8 +302,8 @@ - (void)updateMasternodeRetrievalQueue { return [self.store heightForBlockHash:obj1.UInt256] < [self.store heightForBlockHash:obj2.UInt256] ? NSOrderedAscending : NSOrderedDescending; }]; @synchronized (self.chain.chainManager.syncState) { - self.chain.chainManager.syncState.masternodeListSyncInfo.retrievalQueueCount = currentCount; - self.chain.chainManager.syncState.masternodeListSyncInfo.retrievalQueueMaxAmount = self.retrievalQueueMaxAmount; + self.chain.chainManager.syncState.masternodeListSyncInfo.retrievalQueueCount = (uint32_t) currentCount; + self.chain.chainManager.syncState.masternodeListSyncInfo.retrievalQueueMaxAmount = (uint32_t) self.retrievalQueueMaxAmount; DSLog(@"[%@] Masternode list queue updated: %lu/%lu", self.chain.name, currentCount, self.retrievalQueueMaxAmount); [self.chain.chainManager notifySyncStateChanged]; } diff --git a/DashSync/shared/Models/Notifications/DSSyncState.m b/DashSync/shared/Models/Notifications/DSSyncState.m index 8b548148..09f03a4f 100644 --- a/DashSync/shared/Models/Notifications/DSSyncState.m +++ b/DashSync/shared/Models/Notifications/DSSyncState.m @@ -28,7 +28,7 @@ - (id)copyWithZone:(NSZone *)zone { return copy; } - (NSString *)description { - return [NSString stringWithFormat:@"%u/%u/%u/%u", + return [NSString stringWithFormat:@"%u/%u/%f/%u", self.retrievalQueueCount, self.retrievalQueueMaxAmount, self.storedCount, diff --git a/DashSync/shared/Models/Persistence/Migration/Internal/DSCoreDataMigrationVersion.h b/DashSync/shared/Models/Persistence/Migration/Internal/DSCoreDataMigrationVersion.h index 06647254..ac5cb654 100644 --- a/DashSync/shared/Models/Persistence/Migration/Internal/DSCoreDataMigrationVersion.h +++ b/DashSync/shared/Models/Persistence/Migration/Internal/DSCoreDataMigrationVersion.h @@ -41,6 +41,7 @@ typedef NS_ENUM(NSInteger, DSCoreDataMigrationVersionValue) DSCoreDataMigrationVersionValue_18 = 18, DSCoreDataMigrationVersionValue_19 = 19, DSCoreDataMigrationVersionValue_20 = 20, + DSCoreDataMigrationVersionValue_21 = 21, }; @interface DSCoreDataMigrationVersion : NSObject diff --git a/DashSync/shared/Models/Persistence/Migration/Internal/DSCoreDataMigrationVersion.m b/DashSync/shared/Models/Persistence/Migration/Internal/DSCoreDataMigrationVersion.m index 5703cf18..e6526f1f 100644 --- a/DashSync/shared/Models/Persistence/Migration/Internal/DSCoreDataMigrationVersion.m +++ b/DashSync/shared/Models/Persistence/Migration/Internal/DSCoreDataMigrationVersion.m @@ -20,7 +20,7 @@ @implementation DSCoreDataMigrationVersion + (DSCoreDataMigrationVersionValue)current { - return DSCoreDataMigrationVersionValue_20; + return DSCoreDataMigrationVersionValue_21; } + (NSString *)modelResourceForVersion:(DSCoreDataMigrationVersionValue)version { @@ -45,6 +45,7 @@ + (NSString *)modelResourceForVersion:(DSCoreDataMigrationVersionValue)version { case DSCoreDataMigrationVersionValue_18: return @"DashSync 18"; case DSCoreDataMigrationVersionValue_19: return @"DashSync 19"; case DSCoreDataMigrationVersionValue_20: return @"DashSync 20"; + case DSCoreDataMigrationVersionValue_21: return @"DashSync 21"; default: return [NSString stringWithFormat:@"DashSync %ld", (long)version]; } diff --git a/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.h b/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.h new file mode 100644 index 00000000..01349ba3 --- /dev/null +++ b/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.h @@ -0,0 +1,31 @@ +// +// Created by Vladimir Pirogov +// Copyright © 2024 Dash Core Group. All rights reserved. +// +// Licensed under the MIT License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://opensource.org/licenses/MIT +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import +#import "DSTransaction.h" +#import "DSTransactionOutput.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface DSAssetLockTransaction : DSTransaction + +@property (nonatomic, assign) uint8_t specialTransactionVersion; +@property (nonatomic, assign) NSMutableArray *creditOutputs; + +@end + +NS_ASSUME_NONNULL_END diff --git a/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.m b/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.m new file mode 100644 index 00000000..1ce845e2 --- /dev/null +++ b/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.m @@ -0,0 +1,61 @@ +// +// Created by Vladimir Pirogov +// Copyright © 2024 Dash Core Group. All rights reserved. +// +// Licensed under the MIT License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://opensource.org/licenses/MIT +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import "DSAssetLockTransaction.h" +#import "DSChain.h" +#import "DSTransactionFactory.h" +#import "NSData+Dash.h" + +@implementation DSAssetLockTransaction + +- (instancetype)initWithMessage:(NSData *)message onChain:(DSChain *)chain { + if (!(self = [super initWithMessage:message onChain:chain])) + return nil; + self.type = DSTransactionType_AssetLock; + NSUInteger length = message.length; + uint32_t off = self.payloadOffset; + + if (length - off < 1) return nil; + NSNumber *payloadLengthSize = nil; + __unused uint64_t payloadLength = [message varIntAtOffset:off length:&payloadLengthSize]; + off += payloadLengthSize.unsignedLongValue; + + if (length - off < 1) return nil; + self.specialTransactionVersion = [message UInt8AtOffset:off]; + off += 1; + + NSNumber *l = 0; + if (length - off < 1) return nil; + uint64_t count = (NSUInteger)[message varIntAtOffset:off length:&l]; // output count + off += l.unsignedIntegerValue; + + NSMutableArray *creditOutputs = [NSMutableArray arrayWithCapacity:count]; + for (NSUInteger i = 0; i < count; i++) { // outputs + uint64_t amount = [message UInt64AtOffset:off]; // output amount + off += sizeof(uint64_t); + NSData *outScript = [message dataAtOffset:off length:&l]; // output script + off += l.unsignedIntegerValue; + DSTransactionOutput *transactionOutput = [DSTransactionOutput transactionOutputWithAmount:amount outScript:outScript onChain:self.chain]; + [creditOutputs addObject:transactionOutput]; + } + self.creditOutputs = creditOutputs; + self.payloadOffset = off; + self.txHash = self.data.SHA256_2; + + return self; +} +@end diff --git a/DashSync/shared/Models/Transactions/Base/DSAssetUnlockTransaction.h b/DashSync/shared/Models/Transactions/Base/DSAssetUnlockTransaction.h new file mode 100644 index 00000000..2a825a4d --- /dev/null +++ b/DashSync/shared/Models/Transactions/Base/DSAssetUnlockTransaction.h @@ -0,0 +1,34 @@ +// +// Created by Vladimir Pirogov +// Copyright © 2024 Dash Core Group. All rights reserved. +// +// Licensed under the MIT License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://opensource.org/licenses/MIT +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import +#import "BigIntTypes.h" +#import "DSTransaction.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface DSAssetUnlockTransaction : DSTransaction +@property (nonatomic, assign) uint8_t specialTransactionVersion; +@property (nonatomic, assign) uint64_t index; +@property (nonatomic, assign) uint32_t fee; +@property (nonatomic, assign) uint32_t requestedHeight; +@property (nonatomic, assign) UInt256 quorumHash; +@property (nonatomic, assign) UInt768 quorumSignature; + +@end + +NS_ASSUME_NONNULL_END diff --git a/DashSync/shared/Models/Transactions/Base/DSAssetUnlockTransaction.m b/DashSync/shared/Models/Transactions/Base/DSAssetUnlockTransaction.m new file mode 100644 index 00000000..8a217ff7 --- /dev/null +++ b/DashSync/shared/Models/Transactions/Base/DSAssetUnlockTransaction.m @@ -0,0 +1,64 @@ +// +// Created by Vladimir Pirogov +// Copyright © 2024 Dash Core Group. All rights reserved. +// +// Licensed under the MIT License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://opensource.org/licenses/MIT +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import "DSAssetUnlockTransaction.h" +#import "DSChain.h" +#import "DSTransactionFactory.h" +#import "NSData+Dash.h" + +@implementation DSAssetUnlockTransaction + +- (instancetype)initWithMessage:(NSData *)message onChain:(DSChain *)chain { + if (!(self = [super initWithMessage:message onChain:chain])) + return nil; + self.type = DSTransactionType_AssetUnlock; + NSUInteger length = message.length; + uint32_t off = self.payloadOffset; + + if (length - off < 1) return nil; + NSNumber *payloadLengthSize = nil; + __unused uint64_t payloadLength = [message varIntAtOffset:off length:&payloadLengthSize]; + off += payloadLengthSize.unsignedLongValue; + + if (length - off < 1) return nil; + self.specialTransactionVersion = [message UInt8AtOffset:off]; + off += 1; + if (length - off < 8) return nil; + self.index = [message UInt64AtOffset:off]; + off += 8; + if (length - off < 4) return nil; + self.fee = [message UInt32AtOffset:off]; + off += 4; + if (length - off < 4) return nil; + self.requestedHeight = [message UInt32AtOffset:off]; + off += 4; + + if (length - off < 32) return nil; + self.quorumHash = [message UInt256AtOffset:off]; + off += 32; + if (length - off < 96) return nil; + self.quorumSignature = [message UInt768AtOffset:off]; + off += 96; + + self.payloadOffset = off; + self.txHash = self.data.SHA256_2; + + return self; + +} + +@end diff --git a/DashSync/shared/Models/Transactions/DSTransactionFactory.h b/DashSync/shared/Models/Transactions/DSTransactionFactory.h index a31f8c34..6f2e876a 100644 --- a/DashSync/shared/Models/Transactions/DSTransactionFactory.h +++ b/DashSync/shared/Models/Transactions/DSTransactionFactory.h @@ -20,8 +20,8 @@ typedef NS_ENUM(NSUInteger, DSTransactionType) DSTransactionType_ProviderUpdateRevocation = 4, DSTransactionType_Coinbase = 5, DSTransactionType_QuorumCommitment = 6, - DSTransactionType_SubscriptionRegistration = 8, - DSTransactionType_SubscriptionTopUp = 9, + DSTransactionType_AssetLock = 8, + DSTransactionType_AssetUnlock = 9, DSTransactionType_SubscriptionResetKey = 10, DSTransactionType_SubscriptionCloseAccount = 11, DSTransactionType_Transition = 12, diff --git a/DashSync/shared/Models/Transactions/DSTransactionFactory.m b/DashSync/shared/Models/Transactions/DSTransactionFactory.m index e47c7d11..4bc66e4d 100644 --- a/DashSync/shared/Models/Transactions/DSTransactionFactory.m +++ b/DashSync/shared/Models/Transactions/DSTransactionFactory.m @@ -5,6 +5,8 @@ // Created by Sam Westrich on 7/12/18. // +#import "DSAssetLockTransaction.h" +#import "DSAssetUnlockTransaction.h" #import "DSTransactionFactory.h" #import "DSBlockchainIdentityCloseTransition.h" #import "DSBlockchainIdentityRegistrationTransition.h" @@ -56,6 +58,10 @@ + (DSTransaction *)transactionWithMessage:(NSData *)message onChain:(DSChain *)c return [DSProviderUpdateRegistrarTransaction transactionWithMessage:message onChain:chain]; case DSTransactionType_ProviderUpdateRevocation: return [DSProviderUpdateRevocationTransaction transactionWithMessage:message onChain:chain]; + case DSTransactionType_AssetLock: + return [DSAssetLockTransaction transactionWithMessage:message onChain:chain]; + case DSTransactionType_AssetUnlock: + return [DSAssetUnlockTransaction transactionWithMessage:message onChain:chain]; case DSTransactionType_QuorumCommitment: return [DSQuorumCommitmentTransaction transactionWithMessage:message onChain:chain]; default: @@ -69,9 +75,9 @@ + (BOOL)ignoreMessagesOfTransactionType:(DSTransactionType)transactionType { return FALSE; case DSTransactionType_Coinbase: return FALSE; - case DSTransactionType_SubscriptionRegistration: + case DSTransactionType_AssetLock: return FALSE; - case DSTransactionType_SubscriptionTopUp: + case DSTransactionType_AssetUnlock: return FALSE; case DSTransactionType_SubscriptionCloseAccount: return FALSE; diff --git a/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m b/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m index 60509ae7..0a21d20d 100644 --- a/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m +++ b/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m @@ -5,6 +5,8 @@ // Created by Sam Westrich on 3/5/19. // +#import "DSAssetLockTransaction.h" +#import "DSAssetUnlockTransaction.h" #import "DSSpecialTransactionsWalletHolder.h" #import "DSAddressEntity+CoreDataClass.h" #import "DSChain.h" @@ -37,6 +39,8 @@ @interface DSSpecialTransactionsWalletHolder () @property (nonatomic, strong) NSMutableDictionary *providerUpdateRegistrarTransactions; @property (nonatomic, strong) NSMutableDictionary *providerUpdateRevocationTransactions; @property (nonatomic, strong) NSMutableDictionary *creditFundingTransactions; +@property (nonatomic, strong) NSMutableDictionary *assetLockTransactions; +@property (nonatomic, strong) NSMutableDictionary *assetUnlockTransactions; @property (nonatomic, strong) NSMutableArray *transactionsToSave; @property (nonatomic, strong) NSMutableDictionary *> *transactionsToSaveInBlockSave; @@ -154,6 +158,18 @@ - (BOOL)registerTransaction:(DSTransaction *)transaction saveImmediately:(BOOL)s [self.creditFundingTransactions setObject:transaction forKey:uint256_data(creditFundingTransaction.creditBurnIdentityIdentifier)]; added = TRUE; } + } else if ([transaction isMemberOfClass:[DSAssetLockTransaction class]]) { + DSAssetLockTransaction *assetLockTransaction = (DSAssetLockTransaction *)transaction; + if (![self.assetLockTransactions objectForKey:uint256_data(assetLockTransaction.creditBurnIdentityIdentifier)]) { + [self.assetLockTransactions setObject:transaction forKey:uint256_data(assetLockTransaction.txHash)]; + added = TRUE; + } + } else if ([transaction isMemberOfClass:[DSAssetUnlockTransaction class]]) { + DSAssetUnlockTransaction *assetUnlockTransaction = (DSAssetUnlockTransaction *)transaction; + if (![self.assetUnlockTransactions objectForKey:uint256_data(assetUnlockTransaction.creditBurnIdentityIdentifier)]) { + [self.assetUnlockTransactions setObject:transaction forKey:uint256_data(assetUnlockTransaction.txHash)]; + added = TRUE; + } } else { NSAssert(FALSE, @"unknown transaction type being registered"); return NO; @@ -198,6 +214,12 @@ - (void)loadTransactions { } else if ([transaction isMemberOfClass:[DSCreditFundingTransaction class]]) { DSCreditFundingTransaction *creditFundingTransaction = (DSCreditFundingTransaction *)transaction; [self.creditFundingTransactions setObject:transaction forKey:uint256_data(creditFundingTransaction.creditBurnIdentityIdentifier)]; + } else if ([transaction isMemberOfClass:[DSAssetLockTransaction class]]) { + DSAssetLockTransaction *assetLockTransaction = (DSAssetLockTransaction *)transaction; + [self.assetLockTransactions setObject:transaction forKey:uint256_data(assetLockTransaction.txHash)]; + } else if ([transaction isMemberOfClass:[DSAssetUnlockTransaction class]]) { + DSAssetUnlockTransaction *assetUnlockTransaction = (DSAssetUnlockTransaction *)transaction; + [self.assetUnlockTransactions setObject:transaction forKey:uint256_data(assetUnlockTransaction.txHash)]; } else { //the other ones don't have addresses in payload NSAssert(FALSE, @"Unknown special transaction type"); } diff --git a/Example/DashSync/DSTransactionDetailViewController.m b/Example/DashSync/DSTransactionDetailViewController.m index 8ba0bbde..ed455270 100644 --- a/Example/DashSync/DSTransactionDetailViewController.m +++ b/Example/DashSync/DSTransactionDetailViewController.m @@ -6,6 +6,8 @@ // Copyright © 2018 Dash Core Group. All rights reserved. // +#import "DSAssetLockTransaction.h" +#import "DSAssetUnlockTransaction.h" #import "DSTransactionDetailViewController.h" #import "BRCopyLabel.h" #import "DSTransactionAmountTableViewCell.h" @@ -286,6 +288,10 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N cell.statusLabel.text = @"Coinbase Transaction"; } else if ([self.transaction isMemberOfClass:[DSCreditFundingTransaction class]]) { cell.statusLabel.text = @"Classical Credit Funding Transaction"; + } else if ([self.transaction isMemberOfClass:[DSAssetLockTransaction class]]) { + cell.statusLabel.text = @"Asset Lock Transaction"; + } else if ([self.transaction isMemberOfClass:[DSAssetUnlockTransaction class]]) { + cell.statusLabel.text = @"Asset Unlock Transaction"; } else { cell.statusLabel.text = @"Classical Transaction"; } diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 0dd922b4..27ed1c62 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -657,7 +657,7 @@ PODS: - gRPC/Interface-Legacy (1.49.0): - gRPC-RxLibrary/Interface (= 1.49.0) - KVO-MVVM (0.5.1) - - Protobuf (3.28.2) + - Protobuf (3.28.3) - SDWebImage (5.14.3): - SDWebImage/Core (= 5.14.3) - SDWebImage/Core (5.14.3) @@ -727,7 +727,7 @@ SPEC CHECKSUMS: gRPC-ProtoRPC: 1c223e0f1732bb8d0b9e9e0ea60cc0fe995b8e2d gRPC-RxLibrary: 92327f150e11cf3b1c0f52e083944fd9f5cb5d1e KVO-MVVM: 4df3afd1f7ebcb69735458b85db59c4271ada7c6 - Protobuf: 28c89b24435762f60244e691544ed80f50d82701 + Protobuf: 5a8a7781d8e1004302f108977ac2d5b99323146f SDWebImage: 9c36e66c8ce4620b41a7407698dda44211a96764 tinycbor: d4d71dddda1f8392fbb4249f63faf8552f327590 TinyCborObjc: 5204540fb90ff0c40fb22d408fa51bab79d78a80 From cbae8e97ab34514d14b3232c2ea3c5c71749bc4f Mon Sep 17 00:00:00 2001 From: pankcuf Date: Tue, 5 Nov 2024 19:49:49 +0700 Subject: [PATCH 27/33] fix: tx hashing + add simple unit test --- .../Base/DSAssetUnlockTransaction.m | 33 ++++++++++++++++++- .../Models/Transactions/Base/DSTransaction.m | 3 +- .../DSSpecialTransactionsWalletHolder.m | 4 +-- Example/Tests/DSTransactionTests.m | 6 ++++ 4 files changed, 42 insertions(+), 4 deletions(-) diff --git a/DashSync/shared/Models/Transactions/Base/DSAssetUnlockTransaction.m b/DashSync/shared/Models/Transactions/Base/DSAssetUnlockTransaction.m index 8a217ff7..01824db3 100644 --- a/DashSync/shared/Models/Transactions/Base/DSAssetUnlockTransaction.m +++ b/DashSync/shared/Models/Transactions/Base/DSAssetUnlockTransaction.m @@ -19,6 +19,7 @@ #import "DSChain.h" #import "DSTransactionFactory.h" #import "NSData+Dash.h" +#import "NSMutableData+Dash.h" @implementation DSAssetUnlockTransaction @@ -31,7 +32,7 @@ - (instancetype)initWithMessage:(NSData *)message onChain:(DSChain *)chain { if (length - off < 1) return nil; NSNumber *payloadLengthSize = nil; - __unused uint64_t payloadLength = [message varIntAtOffset:off length:&payloadLengthSize]; + uint64_t payloadLength = [message varIntAtOffset:off length:&payloadLengthSize]; off += payloadLengthSize.unsignedLongValue; if (length - off < 1) return nil; @@ -55,10 +56,40 @@ - (instancetype)initWithMessage:(NSData *)message onChain:(DSChain *)chain { off += 96; self.payloadOffset = off; + if ([self payloadData].length != payloadLength) return nil; self.txHash = self.data.SHA256_2; return self; } +- (BOOL)transactionTypeRequiresInputs { + return NO; +} +- (NSData *)payloadData { + return [self basePayloadData]; +} + +- (NSData *)basePayloadData { + NSMutableData *data = [NSMutableData data]; + [data appendUInt8:self.specialTransactionVersion]; + [data appendUInt64:self.index]; + [data appendUInt32:self.fee]; + [data appendUInt32:self.requestedHeight]; + [data appendUInt256:self.quorumHash]; + [data appendUInt768:self.quorumSignature]; + return data; +} + +- (NSData *)toDataWithSubscriptIndex:(NSUInteger)subscriptIndex { + @synchronized(self) { + NSMutableData *data = [[super toDataWithSubscriptIndex:subscriptIndex] mutableCopy]; + [data appendCountedData:[self payloadData]]; + if (subscriptIndex != NSNotFound) [data appendUInt32:SIGHASH_ALL]; + return data; + } +} +- (size_t)size { + return [super size] + [self payloadData].length; +} @end diff --git a/DashSync/shared/Models/Transactions/Base/DSTransaction.m b/DashSync/shared/Models/Transactions/Base/DSTransaction.m index f6f0e1f9..428853fb 100644 --- a/DashSync/shared/Models/Transactions/Base/DSTransaction.m +++ b/DashSync/shared/Models/Transactions/Base/DSTransaction.m @@ -28,6 +28,7 @@ #import "DSAccount.h" #import "DSAddressEntity+CoreDataClass.h" +#import "DSAssetUnlockTransaction.h" #import "DSChain.h" #import "DSChainEntity+CoreDataClass.h" #import "DSChainManager.h" @@ -408,7 +409,7 @@ - (NSData *)toDataWithSubscriptIndex:(NSUInteger)subscriptIndex { NSArray *outputs = self.outputs; NSUInteger inputsCount = inputs.count; NSUInteger outputsCount = outputs.count; - BOOL forSigHash = ([self isMemberOfClass:[DSTransaction class]] || [self isMemberOfClass:[DSCreditFundingTransaction class]]) && subscriptIndex != NSNotFound; + BOOL forSigHash = ([self isMemberOfClass:[DSTransaction class]] || [self isMemberOfClass:[DSCreditFundingTransaction class]] || [self isMemberOfClass:[DSAssetUnlockTransaction class]]) && subscriptIndex != NSNotFound; NSUInteger dataSize = 8 + [NSMutableData sizeOfVarInt:inputsCount] + [NSMutableData sizeOfVarInt:outputsCount] + TX_INPUT_SIZE * inputsCount + TX_OUTPUT_SIZE * outputsCount + (forSigHash ? 4 : 0); NSMutableData *d = [NSMutableData dataWithCapacity:dataSize]; diff --git a/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m b/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m index 0a21d20d..ba087139 100644 --- a/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m +++ b/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m @@ -160,13 +160,13 @@ - (BOOL)registerTransaction:(DSTransaction *)transaction saveImmediately:(BOOL)s } } else if ([transaction isMemberOfClass:[DSAssetLockTransaction class]]) { DSAssetLockTransaction *assetLockTransaction = (DSAssetLockTransaction *)transaction; - if (![self.assetLockTransactions objectForKey:uint256_data(assetLockTransaction.creditBurnIdentityIdentifier)]) { + if (![self.assetLockTransactions objectForKey:uint256_data(assetLockTransaction.txHash)]) { [self.assetLockTransactions setObject:transaction forKey:uint256_data(assetLockTransaction.txHash)]; added = TRUE; } } else if ([transaction isMemberOfClass:[DSAssetUnlockTransaction class]]) { DSAssetUnlockTransaction *assetUnlockTransaction = (DSAssetUnlockTransaction *)transaction; - if (![self.assetUnlockTransactions objectForKey:uint256_data(assetUnlockTransaction.creditBurnIdentityIdentifier)]) { + if (![self.assetUnlockTransactions objectForKey:uint256_data(assetUnlockTransaction.txHash)]) { [self.assetUnlockTransactions setObject:transaction forKey:uint256_data(assetUnlockTransaction.txHash)]; added = TRUE; } diff --git a/Example/Tests/DSTransactionTests.m b/Example/Tests/DSTransactionTests.m index 7ae28a40..200cf6dc 100644 --- a/Example/Tests/DSTransactionTests.m +++ b/Example/Tests/DSTransactionTests.m @@ -8,6 +8,7 @@ #import +#import "DSAssetUnlockTransaction.h" #import "DSAuthenticationKeysDerivationPath.h" #import "DSBlockchainIdentityCloseTransition.h" #import "DSBlockchainIdentityRegistrationTransition.h" @@ -91,6 +92,11 @@ - (void)testTransaction { XCTAssertEqualObjects(d, tx.data, @"[DSTransaction transactionWithMessage:]"); processor_destroy_opaque_key(k); } +- (void)testAssetUnlockTx { + NSData *transactionData = @"030009000001a02ffa0d000000001976a9146641c13e0ee2ce2cdf70852bb7ae9853c01f29a988ac0000000091014e00000000000000be000000273e11004130304f40d1820b5e239baecd35249263b1206a1c76e66053ec39a04501000093d3851b6bda0518da51ff8932ef3570be20e7978369dd312947326e135004915c10b5fe0e31e572c40f41cdd941bed8115e314573faf472e1065ca370bdff486db8eaa6bbcba3943e6e5ada6a3c30dee70e39811814e59e1ffc54f3c9fca04f".hexToData; + DSAssetUnlockTransaction *tx = [[DSAssetUnlockTransaction alloc] initWithMessage:transactionData onChain:[DSChain testnet]]; + XCTAssert(tx, @"Bad Asset Unlock Tx"); +} - (void)testBlockchainIdentityFundingTransactionUniqueId { NSData *transactionData = @"0300000002b74030bbda6edd804d4bfb2bdbbb7c207a122f3af2f6283de17074a42c6a5417020000006b483045022100815b175ab1a8fde7d651d78541ba73d2e9b297e6190f5244e1957004aa89d3c902207e1b164499569c1f282fe5533154495186484f7db22dc3dc1ccbdc9b47d997250121027f69794d6c4c942392b1416566aef9eaade43fbf07b63323c721b4518127baadffffffffb74030bbda6edd804d4bfb2bdbbb7c207a122f3af2f6283de17074a42c6a5417010000006b483045022100a7c94fe1bb6ffb66d2bb90fd8786f5bd7a0177b0f3af20342523e64291f51b3e02201f0308f1034c0f6024e368ca18949be42a896dda434520fa95b5651dc5ad3072012102009e3f2eb633ee12c0143f009bf773155a6c1d0f14271d30809b1dc06766aff0ffffffff031027000000000000166a1414ec6c36e6c39a9181f3a261a08a5171425ac5e210270000000000001976a91414ec6c36e6c39a9181f3a261a08a5171425ac5e288acc443953b000000001976a9140d1775b9ed85abeb19fd4a7d8cc88b08a29fe6de88ac00000000".hexToData; From bd8595d723e50bcddcde0fe5cb19693a22fe2f6e Mon Sep 17 00:00:00 2001 From: pankcuf Date: Wed, 6 Nov 2024 17:26:04 +0700 Subject: [PATCH 28/33] chore: bump up DashSharedCore to 0.4.19 --- DashSync.podspec | 2 +- Example/Podfile | 4 ++-- Example/Podfile.lock | 18 ++++++------------ 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/DashSync.podspec b/DashSync.podspec index f61f85ad..f052a94a 100644 --- a/DashSync.podspec +++ b/DashSync.podspec @@ -34,7 +34,7 @@ Pod::Spec.new do |s| s.ios.framework = 'UIKit' s.macos.framework = 'Cocoa' s.compiler_flags = '-Wno-comma' - s.dependency 'DashSharedCore', '0.4.18' + s.dependency 'DashSharedCore', '0.4.19' s.dependency 'CocoaLumberjack', '3.7.2' s.ios.dependency 'DWAlertController', '0.2.1' s.dependency 'DSDynamicOptions', '0.1.2' diff --git a/Example/Podfile b/Example/Podfile index 91798102..575852f6 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -1,6 +1,6 @@ def common_pods # pod 'DashSharedCore', :git => 'https://github.com/dashpay/dash-shared-core.git', :branch => 'fix/core-20-test-additional' - pod 'DashSharedCore', :git => 'https://github.com/dashpay/dash-shared-core.git', :commit => '7dda9489a1d23221032e2b050c31a317a6e95631' +# pod 'DashSharedCore', :git => 'https://github.com/dashpay/dash-shared-core.git', :commit => '7dda9489a1d23221032e2b050c31a317a6e95631' # pod 'DashSharedCore', :path => '../../dash-shared-core/' pod 'DashSync', :path => '../' pod 'SDWebImage', '5.14.3' @@ -43,4 +43,4 @@ post_install do |installer| end end end -end \ No newline at end of file +end diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 27ed1c62..c1211121 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -586,11 +586,11 @@ PODS: - "!ProtoCompiler-gRPCPlugin (~> 1.0)" - DAPI-GRPC/Messages - gRPC-ProtoRPC - - DashSharedCore (0.4.18) + - DashSharedCore (0.4.19) - DashSync (0.1.0): - CocoaLumberjack (= 3.7.2) - DAPI-GRPC (= 0.22.0-dev.8) - - DashSharedCore (= 0.4.18) + - DashSharedCore (= 0.4.19) - DSDynamicOptions (= 0.1.2) - DWAlertController (= 0.2.1) - TinyCborObjc (= 0.4.6) @@ -667,7 +667,6 @@ PODS: DEPENDENCIES: - CocoaImageHashing (from `https://github.com/ameingast/cocoaimagehashing.git`, commit `ad01eee`) - - DashSharedCore (from `https://github.com/dashpay/dash-shared-core.git`, commit `7dda9489a1d23221032e2b050c31a317a6e95631`) - DashSync (from `../`) - KVO-MVVM (= 0.5.1) - SDWebImage (= 5.14.3) @@ -680,6 +679,7 @@ SPEC REPOS: - BoringSSL-GRPC - CocoaLumberjack - DAPI-GRPC + - DashSharedCore - DSDynamicOptions - DWAlertController - gRPC @@ -696,9 +696,6 @@ EXTERNAL SOURCES: CocoaImageHashing: :commit: ad01eee :git: https://github.com/ameingast/cocoaimagehashing.git - DashSharedCore: - :commit: 7dda9489a1d23221032e2b050c31a317a6e95631 - :git: https://github.com/dashpay/dash-shared-core.git DashSync: :path: "../" @@ -706,9 +703,6 @@ CHECKOUT OPTIONS: CocoaImageHashing: :commit: ad01eee :git: https://github.com/ameingast/cocoaimagehashing.git - DashSharedCore: - :commit: 7dda9489a1d23221032e2b050c31a317a6e95631 - :git: https://github.com/dashpay/dash-shared-core.git SPEC CHECKSUMS: "!ProtoCompiler": e9c09244955a8565817aa59a4787b6bb849a63c6 @@ -718,8 +712,8 @@ SPEC CHECKSUMS: CocoaImageHashing: 8656031d0899abe6c1c415827de43e9798189c53 CocoaLumberjack: b7e05132ff94f6ae4dfa9d5bce9141893a21d9da DAPI-GRPC: 138d62523bbfe7e88a39896f1053c0bc12390d9f - DashSharedCore: 39b477a8cb43f01ffb1a3e18a3ecc0c2bf38481b - DashSync: fea23e18c188a4c79852d1c6816b33a8b9852414 + DashSharedCore: 009f29640756017406ee2b0ab5f1073f1856f85e + DashSync: f0ee76fe1409c9071bcee21202cc8002944c801d DSDynamicOptions: 347cc5d2c4e080eb3de6a86719ad3d861b82adfc DWAlertController: 5f4cd8adf90336331c054857f709f5f8d4b16a5b gRPC: 64f36d689b2ecd99c4351f74e6f91347cdc65d9f @@ -732,6 +726,6 @@ SPEC CHECKSUMS: tinycbor: d4d71dddda1f8392fbb4249f63faf8552f327590 TinyCborObjc: 5204540fb90ff0c40fb22d408fa51bab79d78a80 -PODFILE CHECKSUM: 2b3437e89ea617e5578cf4e8071a4bb1cc5edd31 +PODFILE CHECKSUM: 426e3f03a062ea4c149b0500478f0fe6bbe5bab5 COCOAPODS: 1.15.2 From 99cdcc85725370fa5a967cdfc8e05be2f1828524 Mon Sep 17 00:00:00 2001 From: "Vladimir P." Date: Fri, 8 Nov 2024 15:46:11 +0700 Subject: [PATCH 29/33] Update DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.h Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .../shared/Models/Transactions/Base/DSAssetLockTransaction.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.h b/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.h index 01349ba3..24151877 100644 --- a/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.h +++ b/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.h @@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN @interface DSAssetLockTransaction : DSTransaction @property (nonatomic, assign) uint8_t specialTransactionVersion; -@property (nonatomic, assign) NSMutableArray *creditOutputs; +@property (nonatomic, strong) NSMutableArray *creditOutputs; @end From d82ad57258bd4221583897293ed62fdaa1fd3127 Mon Sep 17 00:00:00 2001 From: "Vladimir P." Date: Fri, 8 Nov 2024 15:51:08 +0700 Subject: [PATCH 30/33] Update DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataClass.m Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .../Entities/DSAssetLockTransactionEntity+CoreDataClass.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataClass.m b/DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataClass.m index 6a162436..8633ceca 100644 --- a/DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataClass.m +++ b/DashSync/shared/Models/Entities/DSAssetLockTransactionEntity+CoreDataClass.m @@ -71,7 +71,7 @@ - (DSTransaction *)transactionForChain:(DSChain *)chain { } - (Class)transactionClass { - return [DSAssetLockTransactionEntity class]; + return [DSAssetLockTransaction class]; } @end From 928aeefe98971761453b61cb0fe1e6132ae76f15 Mon Sep 17 00:00:00 2001 From: "Vladimir P." Date: Fri, 8 Nov 2024 15:52:57 +0700 Subject: [PATCH 31/33] Update DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .../Wallet/DSSpecialTransactionsWalletHolder.m | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m b/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m index ba087139..eed32017 100644 --- a/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m +++ b/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m @@ -39,8 +39,22 @@ @interface DSSpecialTransactionsWalletHolder () @property (nonatomic, strong) NSMutableDictionary *providerUpdateRegistrarTransactions; @property (nonatomic, strong) NSMutableDictionary *providerUpdateRevocationTransactions; @property (nonatomic, strong) NSMutableDictionary *creditFundingTransactions; -@property (nonatomic, strong) NSMutableDictionary *assetLockTransactions; -@property (nonatomic, strong) NSMutableDictionary *assetUnlockTransactions; + - (instancetype)initWithWallet:(DSWallet *)wallet inContext:(NSManagedObjectContext *)managedObjectContext { + if (!(self = [super init])) return nil; + + self.providerRegistrationTransactions = [NSMutableDictionary dictionary]; + self.providerUpdateServiceTransactions = [NSMutableDictionary dictionary]; + self.providerUpdateRegistrarTransactions = [NSMutableDictionary dictionary]; + self.providerUpdateRevocationTransactions = [NSMutableDictionary dictionary]; + self.creditFundingTransactions = [NSMutableDictionary dictionary]; + self.assetLockTransactions = [NSMutableDictionary dictionary]; + self.assetUnlockTransactions = [NSMutableDictionary dictionary]; + self.managedObjectContext = [NSManagedObjectContext chainContext]; + self.wallet = wallet; + self.transactionsToSave = [NSMutableArray array]; + self.transactionsToSaveInBlockSave = [NSMutableDictionary dictionary]; + return self; + } @property (nonatomic, strong) NSMutableArray *transactionsToSave; @property (nonatomic, strong) NSMutableDictionary *> *transactionsToSaveInBlockSave; From f494e2840bd767eff492acbfd8f36e842fc561e4 Mon Sep 17 00:00:00 2001 From: pankcuf Date: Fri, 8 Nov 2024 16:05:35 +0700 Subject: [PATCH 32/33] chore: revert coderabbit stuff --- .../Wallet/DSSpecialTransactionsWalletHolder.m | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m b/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m index eed32017..ba087139 100644 --- a/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m +++ b/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m @@ -39,22 +39,8 @@ @interface DSSpecialTransactionsWalletHolder () @property (nonatomic, strong) NSMutableDictionary *providerUpdateRegistrarTransactions; @property (nonatomic, strong) NSMutableDictionary *providerUpdateRevocationTransactions; @property (nonatomic, strong) NSMutableDictionary *creditFundingTransactions; - - (instancetype)initWithWallet:(DSWallet *)wallet inContext:(NSManagedObjectContext *)managedObjectContext { - if (!(self = [super init])) return nil; - - self.providerRegistrationTransactions = [NSMutableDictionary dictionary]; - self.providerUpdateServiceTransactions = [NSMutableDictionary dictionary]; - self.providerUpdateRegistrarTransactions = [NSMutableDictionary dictionary]; - self.providerUpdateRevocationTransactions = [NSMutableDictionary dictionary]; - self.creditFundingTransactions = [NSMutableDictionary dictionary]; - self.assetLockTransactions = [NSMutableDictionary dictionary]; - self.assetUnlockTransactions = [NSMutableDictionary dictionary]; - self.managedObjectContext = [NSManagedObjectContext chainContext]; - self.wallet = wallet; - self.transactionsToSave = [NSMutableArray array]; - self.transactionsToSaveInBlockSave = [NSMutableDictionary dictionary]; - return self; - } +@property (nonatomic, strong) NSMutableDictionary *assetLockTransactions; +@property (nonatomic, strong) NSMutableDictionary *assetUnlockTransactions; @property (nonatomic, strong) NSMutableArray *transactionsToSave; @property (nonatomic, strong) NSMutableDictionary *> *transactionsToSaveInBlockSave; From 1828f755c499de14261343e0426c83f2aa88a9bd Mon Sep 17 00:00:00 2001 From: pankcuf Date: Fri, 8 Nov 2024 16:14:55 +0700 Subject: [PATCH 33/33] chore: coderabbitai fix --- .../shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m b/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m index ba087139..31a6a65a 100644 --- a/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m +++ b/DashSync/shared/Models/Wallet/DSSpecialTransactionsWalletHolder.m @@ -57,6 +57,8 @@ - (instancetype)initWithWallet:(DSWallet *)wallet inContext:(NSManagedObjectCont self.providerUpdateServiceTransactions = [NSMutableDictionary dictionary]; self.providerUpdateRegistrarTransactions = [NSMutableDictionary dictionary]; self.providerUpdateRevocationTransactions = [NSMutableDictionary dictionary]; + self.assetLockTransactions = [NSMutableDictionary dictionary]; + self.assetUnlockTransactions = [NSMutableDictionary dictionary]; self.creditFundingTransactions = [NSMutableDictionary dictionary]; self.managedObjectContext = [NSManagedObjectContext chainContext]; self.wallet = wallet; @@ -66,7 +68,7 @@ - (instancetype)initWithWallet:(DSWallet *)wallet inContext:(NSManagedObjectCont } - (NSArray *)transactionDictionaries { - return @[self.providerRegistrationTransactions, self.providerUpdateServiceTransactions, self.providerUpdateRegistrarTransactions, self.providerUpdateRevocationTransactions, self.creditFundingTransactions]; + return @[self.providerRegistrationTransactions, self.providerUpdateServiceTransactions, self.providerUpdateRegistrarTransactions, self.providerUpdateRevocationTransactions, self.creditFundingTransactions, self.assetLockTransactions, self.assetUnlockTransactions]; }