From ec2a99861765e63804868014418ce28326e9f392 Mon Sep 17 00:00:00 2001 From: pankcuf Date: Tue, 25 Mar 2025 21:23:54 +0800 Subject: [PATCH 1/5] fix: here should be reversed block hash --- .../Models/Managers/Chain Managers/DSTransactionManager.m | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/DashSync/shared/Models/Managers/Chain Managers/DSTransactionManager.m b/DashSync/shared/Models/Managers/Chain Managers/DSTransactionManager.m index bfb818c5..636ca59d 100644 --- a/DashSync/shared/Models/Managers/Chain Managers/DSTransactionManager.m +++ b/DashSync/shared/Models/Managers/Chain Managers/DSTransactionManager.m @@ -1754,13 +1754,9 @@ - (void)peer:(DSPeer *)peer relayedTooManyOrphanBlocks:(NSUInteger)orphanBlockCo - (void)peer:(DSPeer *)peer relayedChainLock:(DSChainLock *)chainLock { BOOL verified = [chainLock verifySignature]; - UInt256 clBlockHash = chainLock.blockHash; - UInt256 clBlockHashRev = uint256_reverse(clBlockHash); - DSLog(@"[%@: %@:%d] relayed chain lock %@", self.chain.name, peer.host, peer.port, uint256_hex(clBlockHash)); - + UInt256 clBlockHash = uint256_reverse(chainLock.blockHash); DSMerkleBlock *block = [self.chain blockForBlockHash:clBlockHash]; - if (!block) - block = [self.chain blockForBlockHash:clBlockHashRev]; + DSLog(@"[%@: %@:%d] relayed chain lock %@", self.chain.name, peer.host, peer.port, uint256_hex(clBlockHash)); if (block) { [self.chain addChainLock:chainLock]; From 4e39cfe5c4a4b9b5b76d5b60eef5c7881fab0d83 Mon Sep 17 00:00:00 2001 From: pankcuf Date: Tue, 25 Mar 2025 21:36:43 +0800 Subject: [PATCH 2/5] chore: add verified to logs --- .../Models/Managers/Chain Managers/DSTransactionManager.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DashSync/shared/Models/Managers/Chain Managers/DSTransactionManager.m b/DashSync/shared/Models/Managers/Chain Managers/DSTransactionManager.m index 636ca59d..349286cb 100644 --- a/DashSync/shared/Models/Managers/Chain Managers/DSTransactionManager.m +++ b/DashSync/shared/Models/Managers/Chain Managers/DSTransactionManager.m @@ -1756,7 +1756,7 @@ - (void)peer:(DSPeer *)peer relayedChainLock:(DSChainLock *)chainLock { BOOL verified = [chainLock verifySignature]; UInt256 clBlockHash = uint256_reverse(chainLock.blockHash); DSMerkleBlock *block = [self.chain blockForBlockHash:clBlockHash]; - DSLog(@"[%@: %@:%d] relayed chain lock %@", self.chain.name, peer.host, peer.port, uint256_hex(clBlockHash)); + DSLog(@"[%@: %@:%d] relayed chain lock %@ (verified: %u)", self.chain.name, peer.host, peer.port, uint256_hex(clBlockHash), verified); if (block) { [self.chain addChainLock:chainLock]; From cb8c882e25f44c3131b03d0fc6a081514032bf03 Mon Sep 17 00:00:00 2001 From: pankcuf Date: Wed, 26 Mar 2025 21:25:01 +0800 Subject: [PATCH 3/5] chore: new list engine initializer --- DashSync/shared/DSDashSharedCore.m | 11 +++++- .../mn_list_diff_0_2227096.bin | Bin 0 -> 523465 bytes DashSync/shared/Models/Chain/DSChain.m | 2 +- .../Managers/Chain Managers/DSKeyManager.h | 2 ++ .../Chain Managers/DSMasternodeManager.m | 13 ++++--- .../Masternode/DSMasternodeListDiffService.m | 32 ++++++++++++++---- .../Masternode/DSMasternodeListService.m | 2 +- .../Masternode/DSQuorumRotationService.m | 2 +- 8 files changed, 49 insertions(+), 15 deletions(-) create mode 100644 DashSync/shared/MasternodeLists/mn_list_diff_0_2227096.bin diff --git a/DashSync/shared/DSDashSharedCore.m b/DashSync/shared/DSDashSharedCore.m index a6601099..6fe83b75 100644 --- a/DashSync/shared/DSDashSharedCore.m +++ b/DashSync/shared/DSDashSharedCore.m @@ -178,8 +178,17 @@ - (instancetype)initOnChain:(DSChain *)chain { break; } Vec_ *address_list = [NSArray ffi_to_vec:addresses]; + dash_spv_apple_bindings_DiffConfig *diff_config = NULL; + if ([chain isMainnet]) { + NSString *bundlePath = [[NSBundle bundleForClass:self.class] pathForResource:@"DashSync" ofType:@"bundle"]; + NSBundle *bundle = [NSBundle bundleWithPath:bundlePath]; + NSString *filePath = [bundle pathForResource:@"mn_list_diff_0_2227096" ofType:@"bin"]; + NSData *data = [NSData dataWithContentsOfFile:filePath]; + + diff_config = dash_spv_apple_bindings_DiffConfig_ctor(bytes_ctor(data), 2227096); + } - self.core = dash_spv_apple_bindings_DashSPVCore_with_callbacks(chain.chainType, address_list, get_data_contract, get_platform_activation_height, callback_signer, callback_can_sign, get_block_height_by_hash, get_block_hash_by_height, get_cl_signature_by_block_hash, update_address_usage_of_masternodes, issue_with_masternode_list_from_peer, notify_sync_state, context); + self.core = dash_spv_apple_bindings_DashSPVCore_with_callbacks(chain.chainType, diff_config, address_list, get_data_contract, get_platform_activation_height, callback_signer, callback_can_sign, get_block_height_by_hash, get_block_hash_by_height, get_cl_signature_by_block_hash, update_address_usage_of_masternodes, issue_with_masternode_list_from_peer, notify_sync_state, context); return self; } diff --git a/DashSync/shared/MasternodeLists/mn_list_diff_0_2227096.bin b/DashSync/shared/MasternodeLists/mn_list_diff_0_2227096.bin new file mode 100644 index 0000000000000000000000000000000000000000..a75870c796d3b9f18548dd4e24406022577f36a8 GIT binary patch literal 523465 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%0DYLPF$p*dE|ZFt@-MDw7CpCL6a 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≤f4_SlX_#2le(YV= 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%0D2#IbQ~KIUc~Y3iU7Ld)r(UjWBi5aeaCEUY2y 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�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%0D?YP0Ua($K{&^=I^LRc2|C1y= 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

P|4@G5~CfToF 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 eGFM!ok; + DSLog(@"%@ qrinfo: OK: %ul", self.logPrefix, (uint16_t) missed_hashes->count); if (missed_hashes->count > 0) { + [self.quorumRotationService cleanListsRetrievalQueue]; NSArray *missedHashes = [NSArray ffi_from_block_hash_btree_set:missed_hashes]; [self.masternodeListDiffService addToRetrievalQueueArray:missedHashes]; + [self.masternodeListDiffService dequeueMasternodeListRequest]; + } else { + [self.quorumRotationService cleanListsRetrievalQueue]; + [self.quorumRotationService dequeueMasternodeListRequest]; + [self.chain.chainManager.transactionManager checkWaitingForQuorums]; } //#if SAVE_MASTERNODE_DIFF_TO_FILE @@ -584,11 +592,6 @@ - (void)tryToProcessQrInfo:(DSPeer *)peer message:(NSData *)message attempt:(uin //#endif // [self.quorumRotationService updateAfterProcessingMasternodeListWithBlockHash:NSDataFromPtr(block_hash) fromPeer:peer]; - [self.quorumRotationService cleanListsRetrievalQueue]; - [self.quorumRotationService dequeueMasternodeListRequest]; - if (missed_hashes->count == 0) - [self.chain.chainManager.transactionManager checkWaitingForQuorums]; - [[NSUserDefaults standardUserDefaults] removeObjectForKey:CHAIN_FAULTY_DML_MASTERNODE_PEERS]; DQRInfoResultDtor(result); diff --git a/DashSync/shared/Models/Masternode/DSMasternodeListDiffService.m b/DashSync/shared/Models/Masternode/DSMasternodeListDiffService.m index 7221514e..ee9ed00d 100644 --- a/DashSync/shared/Models/Masternode/DSMasternodeListDiffService.m +++ b/DashSync/shared/Models/Masternode/DSMasternodeListDiffService.m @@ -27,17 +27,39 @@ @interface DSMasternodeListDiffService () -@property (nonatomic, assign) NSMutableOrderedSet *retrievalQueue; +@property (nonatomic, strong) NSMutableOrderedSet *retrievalQueue; @end @implementation DSMasternodeListDiffService +- (instancetype)initWithChain:(DSChain *)chain { + NSParameterAssert(chain); + if (!(self = [super initWithChain:chain])) return nil; + _retrievalQueue = [NSMutableOrderedSet orderedSet]; + return self; +} + - (NSString *)logPrefix { - return [NSString stringWithFormat:@"[%@] [MLDiffService] ", self.chain.name]; + return [NSString stringWithFormat:@"[%@] [MasternodeManager::DiffService] ", self.chain.name]; } - (void)composeMasternodeListRequest:(NSOrderedSet *)list { + NSMutableString *debugString = [NSMutableString stringWithString:@"Needed:\n"]; + for (NSData *data in list) { + uint32_t h = [self.chain heightForBlockHash:data.UInt256]; + [debugString appendFormat:@"%u: %@\n", h, data.hexString]; + } + [debugString appendFormat:@"KnownLists:\n"]; + DKnownMasternodeLists *lists = dash_spv_masternode_processor_processing_processor_MasternodeProcessor_masternode_lists(self.chain.sharedProcessorObj); + for (int i = 0; i < lists->count; i++) { + dashcore_prelude_CoreBlockHeight *core_block_height = lists->keys[i]; + DMasternodeList *list = lists->values[i]; + u256 *block_hash = dashcore_hash_types_BlockHash_inner(list->block_hash); + [debugString appendFormat:@"%u: %@\n", core_block_height->_0, u256_hex(block_hash)]; + } + DKnownMasternodeListsDtor(lists); + DSLog(@"%@ composeMasternodeListRequest: \n%@", self.logPrefix, debugString); for (NSData *blockHashData in list) { // we should check the associated block still exists if ([self.chain.masternodeManager hasBlockForBlockHash:blockHashData]) { @@ -47,9 +69,8 @@ - (void)composeMasternodeListRequest:(NSOrderedSet *)list { BOOL success = [self.chain.masternodeManager processRequestFromFileForBlockHash:blockHash]; if (success) { [self removeFromRetrievalQueue:blockHashData]; - if (![self retrievalQueueCount]) { + if (![self retrievalQueueCount]) [self.chain.chainManager.transactionManager checkWaitingForQuorums]; - } } else { // we need to go get it uint32_t blockHeight = [self.chain heightForBlockHash:blockHash]; @@ -59,8 +80,6 @@ - (void)composeMasternodeListRequest:(NSOrderedSet *)list { u256 *prev_in_queue_block_hash = u256_ctor_u(prevInQueueBlockHash); uint32_t prevKnownHeight = [self.chain heightForBlockHash:u256_cast(prev_known_block_hash)]; uint32_t prevInQueueBlockHeight = [self.chain heightForBlockHash:u256_cast(prev_in_queue_block_hash)]; -// uint32_t prevKnownHeight = DHeightForBlockHash(self.chain.sharedProcessorObj, prev_known_block_hash); -// uint32_t prevInQueueBlockHeight = DHeightForBlockHash(self.chain.sharedProcessorObj, prev_in_queue_block_hash); UInt256 previousBlockHash = pos ? (prevKnownHeight > prevInQueueBlockHeight ? prevKnownBlockHash : prevInQueueBlockHash) : prevKnownBlockHash; // request at: every new block // NSAssert(([self.store heightForBlockHash:previousBlockHash] != UINT32_MAX) || uint256_is_zero(previousBlockHash), @"This block height should be known"); @@ -194,6 +213,7 @@ - (void)requestMasternodeListDiff:(UInt256)previousBlockHash forBlockHash:(UInt2 } - (void)notifyQueueChange:(NSUInteger)newCount maxAmount:(NSUInteger)maxAmount { + DSLog(@"%@ Queue Changed: %u/%u ", self.logPrefix, (uint32_t)newCount, (uint32_t)maxAmount); @synchronized (self.chain.chainManager.syncState) { self.chain.chainManager.syncState.masternodeListSyncInfo.retrievalQueueCount = (uint32_t) newCount; self.chain.chainManager.syncState.masternodeListSyncInfo.retrievalQueueMaxAmount = (uint32_t) maxAmount; diff --git a/DashSync/shared/Models/Masternode/DSMasternodeListService.m b/DashSync/shared/Models/Masternode/DSMasternodeListService.m index 7e9f9374..c37d48f6 100644 --- a/DashSync/shared/Models/Masternode/DSMasternodeListService.m +++ b/DashSync/shared/Models/Masternode/DSMasternodeListService.m @@ -59,7 +59,7 @@ - (void)startTimeOutObserver { // uintptr_t masternodeListCount = DKnownMasternodeListsCount(self.chain.sharedCacheObj); self.timeOutObserverTry++; uint16_t timeOutObserverTry = self.timeOutObserverTry; - dispatch_time_t timeout = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(20 * (self.timedOutAttempt + 1) * NSEC_PER_SEC)); + dispatch_time_t timeout = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(40 * (self.timedOutAttempt + 1) * NSEC_PER_SEC)); self.timeoutTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, self.chain.networkingQueue); if (self.timeoutTimer) { dispatch_source_set_timer(self.timeoutTimer, timeout, DISPATCH_TIME_FOREVER, 1ull * NSEC_PER_SEC); diff --git a/DashSync/shared/Models/Masternode/DSQuorumRotationService.m b/DashSync/shared/Models/Masternode/DSQuorumRotationService.m index 08fd4809..02bf00f7 100644 --- a/DashSync/shared/Models/Masternode/DSQuorumRotationService.m +++ b/DashSync/shared/Models/Masternode/DSQuorumRotationService.m @@ -32,7 +32,7 @@ @interface DSQuorumRotationService () @implementation DSQuorumRotationService - (NSString *)logPrefix { - return [NSString stringWithFormat:@"[%@] [QRInfoService] ", self.chain.name]; + return [NSString stringWithFormat:@"[%@] [MasternodeManager::QRInfoService] ", self.chain.name]; } - (BOOL)hasRecentQrInfoSync { From d096dc94e3e31d56e8b369bee759cfb10c0316a7 Mon Sep 17 00:00:00 2001 From: pankcuf Date: Wed, 26 Mar 2025 23:17:54 +0800 Subject: [PATCH 4/5] chore: no validate quorums for diffs --- .../Models/Managers/Chain Managers/DSMasternodeManager.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DashSync/shared/Models/Managers/Chain Managers/DSMasternodeManager.m b/DashSync/shared/Models/Managers/Chain Managers/DSMasternodeManager.m index b6c00a19..db564a8b 100644 --- a/DashSync/shared/Models/Managers/Chain Managers/DSMasternodeManager.m +++ b/DashSync/shared/Models/Managers/Chain Managers/DSMasternodeManager.m @@ -453,7 +453,7 @@ - (void)peer:(DSPeer *)peer relayedMasternodeDiffMessage:(NSData *)message { dispatch_group_enter(self.processingGroup); Slice_u8 *message_slice = slice_ctor(message); - DMnDiffResult *result = DMnDiffFromMessage(self.processor, message_slice, nil, true); + DMnDiffResult *result = DMnDiffFromMessage(self.processor, message_slice, nil, false); if (result->error) { NSError *error = [NSError ffi_from_processing_error:result->error]; @@ -514,7 +514,7 @@ - (void)tryToProcessQrInfo:(DSPeer *)peer message:(NSData *)message attempt:(uin dispatch_group_enter(self.processingGroup); Slice_u8 *slice_msg = slice_ctor(message); - DQRInfoResult *result = dash_spv_masternode_processor_processing_processor_MasternodeProcessor_process_qr_info_result_from_message(self.processor, slice_msg, true, true); + DQRInfoResult *result = dash_spv_masternode_processor_processing_processor_MasternodeProcessor_process_qr_info_result_from_message(self.processor, slice_msg, false, true); if (result->error) { NSError *error = [NSError ffi_from_processing_error:result->error]; DSLog(@"%@ qrinfo: Error: %@", self.logPrefix, error); From b2fc2d045d4b840357e6c1d70fb7eacd62a2895c Mon Sep 17 00:00:00 2001 From: pankcuf Date: Fri, 4 Apr 2025 17:02:25 +0800 Subject: [PATCH 5/5] chore: continuation --- DashSync/shared/DashSync.h | 2 + .../Others/NSError+Platform.h | 11 +- .../Others/NSError+Platform.m | 114 +++++++++--------- DashSync/shared/Models/Chain/DSChain+Params.m | 4 +- .../shared/Models/Chain/DSChain+Transaction.m | 13 +- DashSync/shared/Models/Chain/DSChain.h | 1 + DashSync/shared/Models/Chain/DSChain.m | 9 +- .../Models/CoinJoin/DSCoinJoinManager.m | 6 +- .../Models/CoinJoin/DSCoinJoinWrapper.h | 2 + .../Models/CoinJoin/DSCoinJoinWrapper.m | 8 +- DashSync/shared/Models/CoinJoin/DSInputCoin.m | 4 +- .../Models/CoinJoin/Utils/DSMasternodeGroup.m | 13 +- .../DSAuthenticationKeysDerivationPath.h | 1 + .../DSAuthenticationKeysDerivationPath.m | 5 + .../DSInstantSendLockEntity+CoreDataClass.m | 16 +-- DashSync/shared/Models/Identity/DSIdentity.h | 5 +- DashSync/shared/Models/Identity/DSIdentity.m | 5 +- .../shared/Models/Identity/DSInvitation.h | 2 +- .../shared/Models/Identity/DSInvitation.m | 9 +- .../Chain Managers/DSIdentitiesManager.h | 2 +- .../Managers/Chain Managers/DSKeyManager.h | 29 ++--- .../Chain Managers/DSMasternodeManager.h | 2 + .../Chain Managers/DSMasternodeManager.m | 88 ++++++-------- .../Service Managers/DSPriceManager.m | 34 +++--- .../Masternode/DSMasternodeListDiffService.m | 2 +- .../Masternode/DSQuorumRotationService.h | 8 +- .../Masternode/DSQuorumRotationService.m | 14 +-- .../shared/Models/Messages/DSMessageRequest.h | 1 + .../shared/Models/Messages/DSMessageRequest.m | 4 +- .../Messages/Masternodes/DSGetQRInfoRequest.m | 3 + DashSync/shared/Models/Network/DSPeer.m | 3 +- .../shared/Models/Payment/DSPaymentProtocol.m | 89 ++++++-------- .../Base/DSAssetLockTransaction.h | 17 ++- .../Base/DSAssetLockTransaction.m | 77 +++++++++--- .../Base/DSInstantSendTransactionLock.m | 1 - .../Base/DSTransaction+FFI.h} | 5 +- .../Base/DSTransaction+FFI.m} | 57 +++++++-- .../Models/Transactions/Base/DSTransaction.h | 2 +- .../Models/Transactions/Base/DSTransaction.m | 5 +- .../Base/DSTransactionInput+FFI.h} | 2 +- .../Base/DSTransactionInput+FFI.m} | 4 +- .../Base/DSTransactionOutput+FFI.h | 31 +++++ .../Base/DSTransactionOutput+FFI.m | 31 +++++ DashSync/shared/Models/Wallet/DSAccount.m | 2 +- .../shared/Models/Wallet/DSWallet+Tests.h | 7 -- .../shared/Models/Wallet/DSWallet+Tests.m | 12 -- DashSync/shared/Models/Wallet/DSWallet.h | 15 ++- DashSync/shared/Models/Wallet/DSWallet.m | 22 ++++ Example/DashSync.xcodeproj/project.pbxproj | 27 ++--- Example/DashSync/Actions.storyboard | 6 +- .../DashSync/BlockchainIdentities.storyboard | 9 +- Example/DashSync/DSAddDevnetViewController.m | 14 +-- Example/DashSync/DSChainsViewController.m | 2 +- .../DSDAPIGetAddressSummaryViewController.m | 2 +- ...IGetTransactionInformationViewController.m | 1 + .../DSMasternodeListsViewController.m | 4 +- Example/DashSync/DSMasternodeViewController.m | 6 +- Example/DashSync/DSQuorumListViewController.m | 2 +- Example/DashSync/Invitations.storyboard | 28 ++--- Example/DashSync/Masternodes.storyboard | 32 ++--- Example/DashSync/SearchIdentity.storyboard | 3 +- Example/DashSync/Wallets.storyboard | 18 +-- Example/Podfile | 10 +- Example/Podfile.lock | 20 +-- Example/Tests/DSCoinJoinSessionTest.m | 19 +-- 65 files changed, 552 insertions(+), 450 deletions(-) rename DashSync/shared/Models/{CoinJoin/DSTransaction+CoinJoin.h => Transactions/Base/DSTransaction+FFI.h} (87%) rename DashSync/shared/Models/{CoinJoin/DSTransaction+CoinJoin.m => Transactions/Base/DSTransaction+FFI.m} (56%) rename DashSync/shared/Models/{CoinJoin/DSTransactionInput+CoinJoin.h => Transactions/Base/DSTransactionInput+FFI.h} (96%) rename DashSync/shared/Models/{CoinJoin/DSTransactionInput+CoinJoin.m => Transactions/Base/DSTransactionInput+FFI.m} (94%) create mode 100644 DashSync/shared/Models/Transactions/Base/DSTransactionOutput+FFI.h create mode 100644 DashSync/shared/Models/Transactions/Base/DSTransactionOutput+FFI.m diff --git a/DashSync/shared/DashSync.h b/DashSync/shared/DashSync.h index a2e36243..001cf001 100644 --- a/DashSync/shared/DashSync.h +++ b/DashSync/shared/DashSync.h @@ -102,6 +102,8 @@ #import "DSProviderUpdateRegistrarTransaction.h" #import "DSProviderUpdateRevocationTransaction.h" #import "DSProviderUpdateServiceTransaction.h" +#import "DSAssetLockTransaction.h" +#import "DSAssetUnlockTransaction.h" #import "DSPaymentProtocol.h" #import "DSPaymentRequest.h" diff --git a/DashSync/shared/Libraries/AdvancedOperations/Others/NSError+Platform.h b/DashSync/shared/Libraries/AdvancedOperations/Others/NSError+Platform.h index 8ab4c7d9..2547afe1 100644 --- a/DashSync/shared/Libraries/AdvancedOperations/Others/NSError+Platform.h +++ b/DashSync/shared/Libraries/AdvancedOperations/Others/NSError+Platform.h @@ -16,22 +16,21 @@ // #import -#import "dash_spv_apple_bindings.h" #import "DSKeyManager.h" NS_ASSUME_NONNULL_BEGIN -@interface NSError (dash_spv_platform_error_Error) -+ (NSError *)ffi_from_platform_error:(dash_spv_platform_error_Error *)ffi_ref; +@interface NSError (DPlatformError) ++ (NSError *)ffi_from_platform_error:(DPlatformError *)ffi_ref; @end -@interface NSError (dash_spv_crypto_keys_KeyError) +@interface NSError (DKeyError) + (NSError *)ffi_from_key_error:(DKeyError *)ffi_ref; @end -@interface NSError (dash_spv_masternode_processor_processing_core_provider_CoreProviderError) -+ (NSError *)ffi_from_core_provider_error:(dash_spv_masternode_processor_processing_core_provider_CoreProviderError *)ffi_ref; +@interface NSError (DCoreProviderError) ++ (NSError *)ffi_from_core_provider_error:(DCoreProviderError *)ffi_ref; @end @interface NSError (DProcessingError) diff --git a/DashSync/shared/Libraries/AdvancedOperations/Others/NSError+Platform.m b/DashSync/shared/Libraries/AdvancedOperations/Others/NSError+Platform.m index d6b2c772..1215cef0 100644 --- a/DashSync/shared/Libraries/AdvancedOperations/Others/NSError+Platform.m +++ b/DashSync/shared/Libraries/AdvancedOperations/Others/NSError+Platform.m @@ -19,9 +19,9 @@ #import "NSError+Dash.h" #import "NSError+Platform.h" -@implementation NSError (dash_spv_platform_error_Error) +@implementation NSError (DPlatformError) -+ (nonnull NSError *)ffi_from_platform_error:(nonnull dash_spv_platform_error_Error *)ffi_ref { ++ (nonnull NSError *)ffi_from_platform_error:(nonnull DPlatformError *)ffi_ref { switch (ffi_ref->tag) { case dash_spv_platform_error_Error_KeyError: return [NSError ffi_from_key_error:ffi_ref->key_error]; @@ -38,7 +38,7 @@ + (nonnull NSError *)ffi_from_platform_error:(nonnull dash_spv_platform_error_Er @end -@implementation NSError (dash_spv_crypto_keys_KeyError) +@implementation NSError (DKeyError) + (nonnull NSError *)ffi_from_key_error:(nonnull DKeyError *)ffi_ref { switch (ffi_ref->tag) { @@ -59,7 +59,7 @@ + (nonnull NSError *)ffi_from_key_error:(nonnull DKeyError *)ffi_ref { case dash_spv_crypto_keys_KeyError_Product: return [NSError errorWithCode:0 localizedDescriptionKey:@"Can't multiple keys"]; case dash_spv_crypto_keys_KeyError_Any: - return [NSError errorWithCode:0 localizedDescriptionKey:NSStringFromPtr(ffi_ref->any)]; + return [NSError errorWithCode:0 descriptionKey:NSStringFromPtr(ffi_ref->any)]; } } @@ -74,14 +74,14 @@ + (nonnull NSError *)ffi_from_client_data_retrieval_error:(nonnull dashcore_sml_ NSString *blockHashString = u256_hex(block_hash); NSString *blockHashRevString = u256_reversed_hex(block_hash); u256_dtor(block_hash); - return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"Required Block Not Present %@ (%@)", nil, blockHashString, blockHashRevString)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"ClientDataRetrievalError::RequiredBlockNotPresent: %@ (%@)", nil, blockHashString, blockHashRevString)]; } case dashcore_sml_quorum_validation_error_ClientDataRetrievalError_CoinbaseNotFoundOnBlock: { u256 *block_hash = dashcore_hash_types_BlockHash_inner(ffi_ref->coinbase_not_found_on_block); NSString *blockHashString = u256_hex(block_hash); NSString *blockHashRevString = u256_reversed_hex(block_hash); u256_dtor(block_hash); - return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"Coinbase Not Found On Block %@ (%@)", nil, blockHashString, blockHashRevString)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"ClientDataRetrievalError::CoinbaseNotFoundOnBlock: %@ (%@)", nil, blockHashString, blockHashRevString)]; } } } @@ -93,90 +93,90 @@ + (NSError *)ffi_from_quorum_validation_error:(dashcore_sml_quorum_validation_er switch (ffi_ref->tag) { case dashcore_sml_quorum_validation_error_QuorumValidationError_RequiredBlockNotPresent: { u256 *block_hash = dashcore_hash_types_BlockHash_inner(ffi_ref->required_block_not_present); - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Required block %@ (%@) not present", nil, u256_hex(block_hash), u256_reversed_hex(block_hash))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::RequiredBlockNotPresent: %@ (%@)", nil, u256_hex(block_hash), u256_reversed_hex(block_hash))]; } case dashcore_sml_quorum_validation_error_QuorumValidationError_RequiredBlockHeightNotPresent: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Required block height (%u) not present", nil, ffi_ref->required_block_height_not_present->_0)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::RequiredBlockHeightNotPresent: %u", nil, ffi_ref->required_block_height_not_present->_0)]; case dashcore_sml_quorum_validation_error_QuorumValidationError_VerifyingMasternodeListNotPresent: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Verifying MasternodeList (%u) not present", nil, ffi_ref->verifying_masternode_list_not_present->_0)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::VerifyingMasternodeListNotPresent: %u", nil, ffi_ref->verifying_masternode_list_not_present->_0)]; case dashcore_sml_quorum_validation_error_QuorumValidationError_RequiredMasternodeListNotPresent: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Required MasternodeList (%u) not present", nil, ffi_ref->required_masternode_list_not_present->_0)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::RequiredMasternodeListNotPresent: %u", nil, ffi_ref->required_masternode_list_not_present->_0)]; case dashcore_sml_quorum_validation_error_QuorumValidationError_RequiredChainLockNotPresent: { u256 *block_hash = dashcore_hash_types_BlockHash_inner(ffi_ref->required_chain_lock_not_present._1); - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Required ChainLock %u: %@ (%@) not present", nil, ffi_ref->required_chain_lock_not_present._0->_0, u256_hex(block_hash), u256_reversed_hex(block_hash))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::RequiredChainLockNotPresent: %u: %@ (%@)", nil, ffi_ref->required_chain_lock_not_present._0->_0, u256_hex(block_hash), u256_reversed_hex(block_hash))]; } case dashcore_sml_quorum_validation_error_QuorumValidationError_RequiredRotatedChainLockSigNotPresent: { uint8_t index = ffi_ref->required_rotated_chain_lock_sig_not_present._0; u256 *block_hash = dashcore_hash_types_BlockHash_inner(ffi_ref->required_rotated_chain_lock_sig_not_present._1); - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Required Rotated ChainLock Signature at index: %u: %@ (%@) not present", nil, index, u256_hex(block_hash), u256_reversed_hex(block_hash))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::RequiredRotatedChainLockSigNotPresent: %u: %@ (%@)", nil, index, u256_hex(block_hash), u256_reversed_hex(block_hash))]; } case dashcore_sml_quorum_validation_error_QuorumValidationError_RequiredRotatedChainLockSigsNotPresent: { u256 *block_hash = dashcore_hash_types_BlockHash_inner(ffi_ref->required_rotated_chain_lock_sigs_not_present); - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Required ChainLock Signatures %@ (%@) not present", nil, u256_hex(block_hash), u256_reversed_hex(block_hash))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::RequiredRotatedChainLockSigsNotPresent: %@ (%@)", nil, u256_hex(block_hash), u256_reversed_hex(block_hash))]; } case dashcore_sml_quorum_validation_error_QuorumValidationError_InsufficientSigners: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Insufficient Signers (%llu/%llu)", nil, ffi_ref->insufficient_signers.found, ffi_ref->insufficient_signers.required)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::InsufficientSigners (%llu/%llu)", nil, ffi_ref->insufficient_signers.found, ffi_ref->insufficient_signers.required)]; case dashcore_sml_quorum_validation_error_QuorumValidationError_InsufficientValidMembers: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Insufficient Valid Members (%llu/%llu)", nil, ffi_ref->insufficient_valid_members.found, ffi_ref->insufficient_valid_members.required)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::InsufficientValidMembers (%llu/%llu)", nil, ffi_ref->insufficient_valid_members.found, ffi_ref->insufficient_valid_members.required)]; case dashcore_sml_quorum_validation_error_QuorumValidationError_MismatchedBitsetLengths: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Mismatched Bitset Lengths (%lu/%lu)", nil, ffi_ref->mismatched_bitset_lengths.signers_len, ffi_ref->mismatched_bitset_lengths.valid_members_len)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::MismatchedBitsetLengths (%lu/%lu)", nil, ffi_ref->mismatched_bitset_lengths.signers_len, ffi_ref->mismatched_bitset_lengths.valid_members_len)]; case dashcore_sml_quorum_validation_error_QuorumValidationError_InvalidQuorumPublicKey: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Invalid Quorum PublicKey", nil)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::InvalidQuorumPublicKey", nil)]; case dashcore_sml_quorum_validation_error_QuorumValidationError_InvalidBLSPublicKey: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Invalid BLS PublicKey (%@)", nil, NSStringFromPtr(ffi_ref->invalid_bls_public_key))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::InvalidBLSPublicKey: %@", nil, NSStringFromPtr(ffi_ref->invalid_bls_public_key))]; case dashcore_sml_quorum_validation_error_QuorumValidationError_InvalidBLSSignature: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Invalid BLS Signature (%@)", nil, NSStringFromPtr(ffi_ref->invalid_bls_signature))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::InvalidBLSSignature: %@", nil, NSStringFromPtr(ffi_ref->invalid_bls_signature))]; case dashcore_sml_quorum_validation_error_QuorumValidationError_InvalidQuorumSignature: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Invalid Quorum Signature", nil)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::InvalidQuorumSignature", nil)]; case dashcore_sml_quorum_validation_error_QuorumValidationError_InvalidFinalSignature: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Invalid Final Signature", nil)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::InvalidFinalSignature", nil)]; case dashcore_sml_quorum_validation_error_QuorumValidationError_AllCommitmentAggregatedSignatureNotValid: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"All Commitment Aggregated Signature Not Valid (%@)", nil, NSStringFromPtr(ffi_ref->all_commitment_aggregated_signature_not_valid))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::AllCommitmentAggregatedSignatureNotValid: %@", nil, NSStringFromPtr(ffi_ref->all_commitment_aggregated_signature_not_valid))]; case dashcore_sml_quorum_validation_error_QuorumValidationError_ThresholdSignatureNotValid: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Threshold Signature Not Valid (%@)", nil, NSStringFromPtr(ffi_ref->threshold_signature_not_valid))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::ThresholdSignatureNotValid: %@", nil, NSStringFromPtr(ffi_ref->threshold_signature_not_valid))]; case dashcore_sml_quorum_validation_error_QuorumValidationError_CommitmentHashNotPresent: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Commitment Hash not present", nil)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::CommitmentHashNotPresent", nil)]; case dashcore_sml_quorum_validation_error_QuorumValidationError_RequiredSnapshotNotPresent: { u256 *block_hash = dashcore_hash_types_BlockHash_inner(ffi_ref->required_snapshot_not_present); - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Required Snapshot (%@) not present", nil, u256_hex(block_hash))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::RequiredSnapshotNotPresent: %@", nil, u256_hex(block_hash))]; } case dashcore_sml_quorum_validation_error_QuorumValidationError_SMLError: return [NSError ffi_from_sml_error:ffi_ref->sml_error]; case dashcore_sml_quorum_validation_error_QuorumValidationError_RequiredQuorumIndexNotPresent: { u256 *quorum_hash = dashcore_hash_types_QuorumHash_inner(ffi_ref->required_quorum_index_not_present); - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Required Quorum Index (%@) not present", nil, u256_hex(quorum_hash))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::RequiredQuorumIndexNotPresent: %@", nil, u256_hex(quorum_hash))]; } case dashcore_sml_quorum_validation_error_QuorumValidationError_CorruptedCodeExecution: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Corruped Code Execution (%@)", nil, NSStringFromPtr(ffi_ref->all_commitment_aggregated_signature_not_valid))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::CorruptedCodeExecution: %@", nil, NSStringFromPtr(ffi_ref->corrupted_code_execution))]; case dashcore_sml_quorum_validation_error_QuorumValidationError_ExpectedOnlyRotatedQuorums: { u256 *quorum_hash = dashcore_hash_types_QuorumHash_inner(ffi_ref->expected_only_rotated_quorums._0); - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Expected Only Rotated Quorums (%u: %@)", nil, dashcore_sml_llmq_type_LLMQType_index(ffi_ref->expected_only_rotated_quorums._1), u256_hex(quorum_hash))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::ExpectedOnlyRotatedQuorums: %u: %@", nil, DLLMQTypeIndex(ffi_ref->expected_only_rotated_quorums._1), u256_hex(quorum_hash))]; } case dashcore_sml_quorum_validation_error_QuorumValidationError_ClientDataRetrievalError: return [NSError ffi_from_client_data_retrieval_error:ffi_ref->client_data_retrieval_error]; case dashcore_sml_quorum_validation_error_QuorumValidationError_FeatureNotTurnedOn: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Feature Not Turned On (%@)", nil, NSStringFromPtr(ffi_ref->feature_not_turned_on))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"QuorumValidationError::FeatureNotTurnedOn: %@", nil, NSStringFromPtr(ffi_ref->feature_not_turned_on))]; } } @end -@implementation NSError (dash_spv_masternode_processor_processing_core_provider_CoreProviderError) -+ (NSError *)ffi_from_core_provider_error:(dash_spv_masternode_processor_processing_core_provider_CoreProviderError *)ffi_ref { +@implementation NSError (DCoreProviderError) ++ (NSError *)ffi_from_core_provider_error:(DCoreProviderError *)ffi_ref { switch (ffi_ref->tag) { case dash_spv_masternode_processor_processing_core_provider_CoreProviderError_NullResult: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedString(@"Core Provider Null Result", nil)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedString(@"Core Provider Null Result", nil)]; case dash_spv_masternode_processor_processing_core_provider_CoreProviderError_BadBlockHash: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Bad Block Hash (%@)", nil, u256_hex(ffi_ref->bad_block_hash))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"Bad Block Hash (%@)", nil, u256_hex(ffi_ref->bad_block_hash))]; case dash_spv_masternode_processor_processing_core_provider_CoreProviderError_UnknownBlockHeightForHash: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Unknown height for Hash (%@)", nil, u256_hex(ffi_ref->unknown_block_height_for_hash))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"Unknown height for Hash (%@)", nil, u256_hex(ffi_ref->unknown_block_height_for_hash))]; case dash_spv_masternode_processor_processing_core_provider_CoreProviderError_BlockHashNotFoundAt: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Block hash for height %u not found", nil, ffi_ref->block_hash_not_found_at)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"Block hash for height %u not found", nil, ffi_ref->block_hash_not_found_at)]; case dash_spv_masternode_processor_processing_core_provider_CoreProviderError_NoSnapshot: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedString(@"Quorum Snapshot not found", nil)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedString(@"Quorum Snapshot not found", nil)]; case dash_spv_masternode_processor_processing_core_provider_CoreProviderError_HexError: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedString(@"Parse Hex Error", nil)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedString(@"Parse Hex Error", nil)]; case dash_spv_masternode_processor_processing_core_provider_CoreProviderError_MissedMasternodeListAt: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Missed Masternode List at (%@)", nil, u256_hex(ffi_ref->missed_masternode_list_at))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"Missed Masternode List at (%@)", nil, u256_hex(ffi_ref->missed_masternode_list_at))]; } } @end @@ -185,25 +185,25 @@ @implementation NSError (DProcessingError) + (NSError *)ffi_from_processing_error:(DProcessingError *)ffi_ref { switch (ffi_ref->tag) { case dash_spv_masternode_processor_processing_processor_processing_error_ProcessingError_PersistInRetrieval: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Unexpected Diff Processing (%@..%@)", nil, u256_hex(ffi_ref->persist_in_retrieval._0), u256_hex(ffi_ref->persist_in_retrieval._1))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"Unexpected Diff Processing (%@..%@)", nil, u256_hex(ffi_ref->persist_in_retrieval._0), u256_hex(ffi_ref->persist_in_retrieval._1))]; case dash_spv_masternode_processor_processing_processor_processing_error_ProcessingError_LocallyStored: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Masternode List already stored for %u: %@", nil, ffi_ref->locally_stored._0, u256_hex(ffi_ref->locally_stored._1))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"Masternode List already stored for %u: %@", nil, ffi_ref->locally_stored._0, u256_hex(ffi_ref->locally_stored._1))]; case dash_spv_masternode_processor_processing_processor_processing_error_ProcessingError_ParseError: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Message Parse Error", nil, NSStringFromPtr(ffi_ref->parse_error))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"Message Parse Error", nil, NSStringFromPtr(ffi_ref->parse_error))]; case dash_spv_masternode_processor_processing_processor_processing_error_ProcessingError_HasNoBaseBlockHash: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Unknown base block hash", nil, u256_hex(ffi_ref->has_no_base_block_hash))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"Unknown base block hash", nil, u256_hex(ffi_ref->has_no_base_block_hash))]; case dash_spv_masternode_processor_processing_processor_processing_error_ProcessingError_UnknownBlockHash: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Unknown block hash %@", nil, u256_hex(ffi_ref->unknown_block_hash))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"Unknown block hash %@", nil, u256_hex(ffi_ref->unknown_block_hash))]; case dash_spv_masternode_processor_processing_processor_processing_error_ProcessingError_InvalidResult: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Invalid Result", nil, NSStringFromPtr(ffi_ref->invalid_result))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"Invalid Result", nil, NSStringFromPtr(ffi_ref->invalid_result))]; case dash_spv_masternode_processor_processing_processor_processing_error_ProcessingError_CoreProvider: return [NSError ffi_from_core_provider_error:ffi_ref->core_provider]; case dash_spv_masternode_processor_processing_processor_processing_error_ProcessingError_MissingLists: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Missing Masternode Lists: %@", nil, NSStringFromPtr(ffi_ref->missing_lists))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"Missing Masternode Lists: %@", nil, NSStringFromPtr(ffi_ref->missing_lists))]; case dash_spv_masternode_processor_processing_processor_processing_error_ProcessingError_EncodeError: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Encode Error: %@", nil, NSStringFromPtr(ffi_ref->encode_error))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"Encode Error: %@", nil, NSStringFromPtr(ffi_ref->encode_error))]; case dash_spv_masternode_processor_processing_processor_processing_error_ProcessingError_DecodeError: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"Decode Error: %@", nil, NSStringFromPtr(ffi_ref->decode_error))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"Decode Error: %@", nil, NSStringFromPtr(ffi_ref->decode_error))]; case dash_spv_masternode_processor_processing_processor_processing_error_ProcessingError_QuorumValidationError: return [NSError ffi_from_quorum_validation_error:ffi_ref->quorum_validation_error]; } @@ -215,33 +215,33 @@ + (NSError *)ffi_from_sml_error:(dashcore_sml_error_SmlError *)ffi_ref { switch (ffi_ref->tag) { case dashcore_sml_error_SmlError_BaseBlockNotGenesis: { u256 *block_hash = dashcore_hash_types_BlockHash_inner(ffi_ref->base_block_not_genesis); - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"SmlError::BaseBlockNotGenesis %@ (%@)", nil, u256_hex(block_hash), u256_reversed_hex(block_hash))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"SmlError::BaseBlockNotGenesis %@ (%@)", nil, u256_hex(block_hash), u256_reversed_hex(block_hash))]; } case dashcore_sml_error_SmlError_BlockHashLookupFailed: { u256 *block_hash = dashcore_hash_types_BlockHash_inner(ffi_ref->block_hash_lookup_failed); - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"SmlError::BlockHashLookupFailed %@ (%@)", nil, u256_hex(block_hash), u256_reversed_hex(block_hash))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"SmlError::BlockHashLookupFailed %@ (%@)", nil, u256_hex(block_hash), u256_reversed_hex(block_hash))]; } case dashcore_sml_error_SmlError_IncompleteMnListDiff: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"SmlError::IncompleteMnListDiff", nil)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"SmlError::IncompleteMnListDiff", nil)]; case dashcore_sml_error_SmlError_MissingStartMasternodeList: { u256 *block_hash = dashcore_hash_types_BlockHash_inner(ffi_ref->missing_start_masternode_list); - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"SmlError::MissingStartMasternodeList %@ (%@)", nil, u256_hex(block_hash), u256_reversed_hex(block_hash))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"SmlError::MissingStartMasternodeList %@ (%@)", nil, u256_hex(block_hash), u256_reversed_hex(block_hash))]; } case dashcore_sml_error_SmlError_BaseBlockHashMismatch: { u256 *block_hash_expected = dashcore_hash_types_BlockHash_inner(ffi_ref->base_block_hash_mismatch.expected); u256 *block_hash_found = dashcore_hash_types_BlockHash_inner(ffi_ref->base_block_hash_mismatch.found); - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"SmlError::BaseBlockHashMismatch: expected: %@ (%@), found: %@ (%@)", nil, u256_hex(block_hash_expected), u256_hex(block_hash_expected), u256_hex(block_hash_found), u256_hex(block_hash_found))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"SmlError::BaseBlockHashMismatch: expected: %@ (%@), found: %@ (%@)", nil, u256_hex(block_hash_expected), u256_hex(block_hash_expected), u256_hex(block_hash_found), u256_hex(block_hash_found))]; } case dashcore_sml_error_SmlError_UnknownError: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"SmlError::UnknownError", nil)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"SmlError::UnknownError", nil)]; case dashcore_sml_error_SmlError_CorruptedCodeExecution: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"SmlError::CorruptedCodeExecution: %@", nil, NSStringFromPtr(ffi_ref->corrupted_code_execution))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"SmlError::CorruptedCodeExecution: %@", nil, NSStringFromPtr(ffi_ref->corrupted_code_execution))]; case dashcore_sml_error_SmlError_FeatureNotTurnedOn: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"SmlError::FeatureNotTurnedOn: %@", nil, NSStringFromPtr(ffi_ref->feature_not_turned_on))]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"SmlError::FeatureNotTurnedOn: %@", nil, NSStringFromPtr(ffi_ref->feature_not_turned_on))]; case dashcore_sml_error_SmlError_InvalidIndexInSignatureSet: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"SmlError::InvalidIndexInSignatureSet: %u", nil, ffi_ref->invalid_index_in_signature_set)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"SmlError::InvalidIndexInSignatureSet: %u", nil, ffi_ref->invalid_index_in_signature_set)]; case dashcore_sml_error_SmlError_IncompleteSignatureSet: - return [NSError errorWithCode:0 localizedDescriptionKey:DSLocalizedFormat(@"SmlError::IncompleteSignatureSet", nil)]; + return [NSError errorWithCode:0 descriptionKey:DSLocalizedFormat(@"SmlError::IncompleteSignatureSet", nil)]; } } @end diff --git a/DashSync/shared/Models/Chain/DSChain+Params.m b/DashSync/shared/Models/Chain/DSChain+Params.m index cb8dc509..0acd1b7d 100644 --- a/DashSync/shared/Models/Chain/DSChain+Params.m +++ b/DashSync/shared/Models/Chain/DSChain+Params.m @@ -315,8 +315,8 @@ - (BOOL)allowMinDifficultyBlocks { } - (uint64_t)baseReward { - if (dash_spv_crypto_network_chain_type_ChainType_is_mainnet(self.chainType)) return 5 * DUFFS; - return 50 * DUFFS; + if (dash_spv_crypto_network_chain_type_ChainType_is_mainnet(self.chainType)) return 5 * DUFFS_OBJC; + return 50 * (unsigned long long) DUFFS_OBJC; } - (uint32_t)coinType { return dash_spv_crypto_network_chain_type_ChainType_coin_type(self.chainType); diff --git a/DashSync/shared/Models/Chain/DSChain+Transaction.m b/DashSync/shared/Models/Chain/DSChain+Transaction.m index b48606d0..00a7cb87 100644 --- a/DashSync/shared/Models/Chain/DSChain+Transaction.m +++ b/DashSync/shared/Models/Chain/DSChain+Transaction.m @@ -314,8 +314,9 @@ - (void)triggerUpdatesForLocalReferences:(DSTransaction *)transaction { UInt160 creditBurnPublicKeyHash = tx.creditBurnPublicKeyHash; uint32_t index; DSWallet *wallet = [self walletHavingIdentityAssetLockRegistrationHash:creditBurnPublicKeyHash foundAtIndex:&index]; + UInt256 identityId = tx.creditBurnIdentityIdentifier; if (wallet) { - DSIdentity *identity = [wallet identityForUniqueId:tx.creditBurnIdentityIdentifier]; + DSIdentity *identity = [wallet identityForUniqueId:identityId]; if (!identity) { identity = [[DSIdentity alloc] initAtIndex:index withAssetLockTransaction:tx inWallet:wallet]; [identity registerInWalletForAssetLockTransaction:tx]; @@ -323,13 +324,17 @@ - (void)triggerUpdatesForLocalReferences:(DSTransaction *)transaction { } else { wallet = [self walletHavingIdentityAssetLockTopupHash:creditBurnPublicKeyHash foundAtIndex:&index]; if (wallet) { - DSIdentity *identity = [wallet identityForUniqueId:tx.creditBurnIdentityIdentifier]; -// [identity r] + DSIdentity *identity = [wallet identityForUniqueId:identityId]; + if (identity) { + [identity registerInWalletForAssetLockTopupTransaction:tx]; + } else { + NSAssert(NO, @"Topup unknown identity %@", uint256_hex(identityId)); + } } else { wallet = [self walletHavingIdentityAssetLockInvitationHash:creditBurnPublicKeyHash foundAtIndex:&index]; if (wallet) { - DSInvitation *invitation = [wallet invitationForUniqueId:tx.creditBurnIdentityIdentifier]; + DSInvitation *invitation = [wallet invitationForUniqueId:identityId]; if (!invitation) { invitation = [[DSInvitation alloc] initAtIndex:index withAssetLockTransaction:tx inWallet:wallet]; [invitation registerInWalletForAssetLockTransaction:tx]; diff --git a/DashSync/shared/Models/Chain/DSChain.h b/DashSync/shared/Models/Chain/DSChain.h index 6463e631..c37e5128 100644 --- a/DashSync/shared/Models/Chain/DSChain.h +++ b/DashSync/shared/Models/Chain/DSChain.h @@ -169,6 +169,7 @@ typedef NS_ENUM(uint16_t, DSChainSyncPhase) /*! @brief Returns a known block with a given distance from the chain tip. A null result would mean that the given distance exceeded the number of blocks kept locally. */ - (DSMerkleBlock *_Nullable)blockFromChainTip:(NSUInteger)blocksAgo; +- (UInt256)chainTipHash; - (uint32_t)chainTipHeight; // MARK: Chain Sync diff --git a/DashSync/shared/Models/Chain/DSChain.m b/DashSync/shared/Models/Chain/DSChain.m index 50151958..de416103 100644 --- a/DashSync/shared/Models/Chain/DSChain.m +++ b/DashSync/shared/Models/Chain/DSChain.m @@ -155,7 +155,7 @@ - (instancetype)initAsDevnetWithIdentifier:(dash_spv_crypto_network_chain_type_D checkpoints:(NSArray *)checkpoints { //for devnet the genesis checkpoint is really the second block if (!(self = [self init])) return nil; - self.chainType = dash_spv_crypto_network_chain_type_ChainType_DevNet_ctor(devnetType); + self.chainType = DChainTypeDevnet(devnetType); if (!checkpoints || ![checkpoints count]) { DSCheckpoint *genesisCheckpoint = [DSCheckpoint genesisDevnetCheckpoint]; DSCheckpoint *secondCheckpoint = [self createDevNetGenesisBlockCheckpointForParentCheckpoint:genesisCheckpoint withIdentifier:devnetType onProtocolVersion:protocolVersion]; @@ -246,7 +246,7 @@ + (DSChain *)mainnet { static dispatch_once_t mainnetToken = 0; __block BOOL inSetUp = FALSE; dispatch_once(&mainnetToken, ^{ - _mainnet = [[DSChain alloc] initWithType:dash_spv_crypto_network_chain_type_ChainType_MainNet_ctor() checkpoints:[DSChain createCheckpointsArrayFromCheckpoints:mainnet_checkpoint_array count:(sizeof(mainnet_checkpoint_array) / sizeof(*mainnet_checkpoint_array))]]; + _mainnet = [[DSChain alloc] initWithType:DChainTypeMainnet() checkpoints:[DSChain createCheckpointsArrayFromCheckpoints:mainnet_checkpoint_array count:(sizeof(mainnet_checkpoint_array) / sizeof(*mainnet_checkpoint_array))]]; inSetUp = TRUE; }); if (inSetUp) { @@ -270,7 +270,7 @@ + (DSChain *)testnet { static dispatch_once_t testnetToken = 0; __block BOOL inSetUp = FALSE; dispatch_once(&testnetToken, ^{ - _testnet = [[DSChain alloc] initWithType:dash_spv_crypto_network_chain_type_ChainType_TestNet_ctor() checkpoints:[DSChain createCheckpointsArrayFromCheckpoints:testnet_checkpoint_array count:(sizeof(testnet_checkpoint_array) / sizeof(*testnet_checkpoint_array))]]; + _testnet = [[DSChain alloc] initWithType:DChainTypeTestnet() checkpoints:[DSChain createCheckpointsArrayFromCheckpoints:testnet_checkpoint_array count:(sizeof(testnet_checkpoint_array) / sizeof(*testnet_checkpoint_array))]]; inSetUp = TRUE; }); if (inSetUp) { @@ -557,6 +557,9 @@ - (NSTimeInterval)startSyncFromTime { - (NSString *)chainTip { return [NSData dataWithUInt256:self.lastTerminalBlock.blockHash].shortHexString; } +- (UInt256)chainTipHash { + return self.lastTerminalBlock.blockHash; +} - (uint32_t)chainTipHeight { return self.lastTerminalBlock.height; } diff --git a/DashSync/shared/Models/CoinJoin/DSCoinJoinManager.m b/DashSync/shared/Models/CoinJoin/DSCoinJoinManager.m index de3f7844..af77a0c9 100644 --- a/DashSync/shared/Models/CoinJoin/DSCoinJoinManager.m +++ b/DashSync/shared/Models/CoinJoin/DSCoinJoinManager.m @@ -97,7 +97,7 @@ - (void)initMasternodeGroup { } - (DCoinJoinClientOptions *)createOptions { - DCoinJoinClientOptions *options = dash_spv_coinjoin_models_coinjoin_client_options_CoinJoinClientOptions_ctor(true, DUFFS / 8, 6, 1, COINJOIN_RANDOM_ROUNDS, DEFAULT_COINJOIN_DENOMS_GOAL, DEFAULT_COINJOIN_DENOMS_HARDCAP, false, self.chain.chainType, false); + DCoinJoinClientOptions *options = dash_spv_coinjoin_models_coinjoin_client_options_CoinJoinClientOptions_ctor(true, DUFFS_OBJC / 8, 6, 1, COINJOIN_RANDOM_ROUNDS, DEFAULT_COINJOIN_DENOMS_GOAL, DEFAULT_COINJOIN_DENOMS_HARDCAP, false, self.chain.chainType, false); return options; } @@ -586,7 +586,7 @@ - (uint32_t)countInputsWithAmount:(uint64_t)inputAmount { } found = !dash_spv_coinjoin_coinjoin_CoinJoin_is_denominated_amount(value); } else if (coinType == dash_spv_coinjoin_models_coin_control_CoinType_OnlyMasternodeCollateral) { - found = value == 1000 * DUFFS; + found = value == 1000 * DUFFS_OBJC; } else if (coinType == dash_spv_coinjoin_models_coin_control_CoinType_OnlyCoinJoinCollateral) { found = dash_spv_coinjoin_coinjoin_CoinJoin_is_collateral_amount(value); } else { @@ -626,7 +626,7 @@ - (uint32_t)countInputsWithAmount:(uint64_t)inputAmount { [vCoins addObject:[[DSInputCoin alloc] initWithTx:coin index:i]]; // Checks the sum amount of all UTXO's. - if (minimumSumAmount != MAX_MONEY) { + if (minimumSumAmount != MAX_MONEY_OBJC) { total += value; if (total >= minimumSumAmount) { diff --git a/DashSync/shared/Models/CoinJoin/DSCoinJoinWrapper.h b/DashSync/shared/Models/CoinJoin/DSCoinJoinWrapper.h index f818167d..cfd44ba6 100644 --- a/DashSync/shared/Models/CoinJoin/DSCoinJoinWrapper.h +++ b/DashSync/shared/Models/CoinJoin/DSCoinJoinWrapper.h @@ -43,6 +43,8 @@ NS_ASSUME_NONNULL_BEGIN #define DCoinJoinTransactionType dash_spv_coinjoin_models_coinjoin_tx_type_CoinJoinTransactionType #define DCoinJoinTransactionTypeIndex(ptr) dash_spv_coinjoin_models_coinjoin_tx_type_CoinJoinTransactionType_index(ptr) #define DCoinJoinClientOptions dash_spv_coinjoin_models_coinjoin_client_options_CoinJoinClientOptions +#define DCoinJoinClientOptionsCtor(enable, amount, sessions, rounds, random_rounds, denoms_goal, denoms_hardcap, multi_session, chain_type, denom_only) dash_spv_coinjoin_models_coinjoin_client_options_CoinJoinClientOptions_ctor(enable, amount, sessions, rounds, random_rounds, denoms_goal, denoms_hardcap, multi_session, chain_type, denom_only) +#define DCoinJoinClientOptionsDtor(ptr) dash_spv_coinjoin_models_coinjoin_client_options_CoinJoinClientOptions_destroy(ptr) #define DInputCoin dash_spv_coinjoin_coin_selection_input_coin_InputCoin #define DInputCoinCtor(outpoint, out, value) dash_spv_coinjoin_coin_selection_input_coin_InputCoin_ctor(outpoint, out, value) #define DInputCoinDtor(ptr) dash_spv_coinjoin_coin_selection_input_coin_InputCoin_destroy(ptr) diff --git a/DashSync/shared/Models/CoinJoin/DSCoinJoinWrapper.m b/DashSync/shared/Models/CoinJoin/DSCoinJoinWrapper.m index db67ef88..12966147 100644 --- a/DashSync/shared/Models/CoinJoin/DSCoinJoinWrapper.m +++ b/DashSync/shared/Models/CoinJoin/DSCoinJoinWrapper.m @@ -17,7 +17,7 @@ #import "DSCoinJoinManager.h" #import "DSWallet.h" -#import "DSTransaction+CoinJoin.h" +#import "DSTransaction+FFI.h" #import "DSAccount.h" #import "DSChain+Params.h" #import "DSChain+Transaction.h" @@ -393,8 +393,8 @@ bool isMineInput(const void *context, DOutPoint *outpoint) { onlySafe:onlySafe coinControl:cc minimumAmount:1 - maximumAmount:MAX_MONEY - minimumSumAmount:MAX_MONEY + maximumAmount:MAX_MONEY_OBJC + minimumSumAmount:MAX_MONEY_OBJC maximumCount:0]; DCoinControlDtor(coinControl); NSUInteger count = coins.count; @@ -435,7 +435,7 @@ bool isMineInput(const void *context, DOutPoint *outpoint) { DTransaction* signTransaction(const void *context, DTransaction *transaction, bool anyoneCanPay) { @synchronized (context) { DSCoinJoinWrapper *wrapper = AS_OBJC(context); - DSTransaction *tx = [[DSTransaction alloc] initWithTransaction:transaction onChain:wrapper.chain]; + DSTransaction *tx = [DSTransaction ffi_from:transaction onChain:wrapper.chain]; DTransactionDtor(transaction); BOOL isSigned = [wrapper.chain.wallets.firstObject.accounts.firstObject signTransaction:tx anyoneCanPay:anyoneCanPay]; if (isSigned) { diff --git a/DashSync/shared/Models/CoinJoin/DSInputCoin.m b/DashSync/shared/Models/CoinJoin/DSInputCoin.m index 285b96ff..e63789f8 100644 --- a/DashSync/shared/Models/CoinJoin/DSInputCoin.m +++ b/DashSync/shared/Models/CoinJoin/DSInputCoin.m @@ -16,6 +16,7 @@ // #import "DSInputCoin.h" +#import "DSTransactionOutput+FFI.h" @implementation DSInputCoin @@ -33,8 +34,7 @@ - (instancetype)initWithTx:(DSTransaction *)tx index:(int32_t)i { - (DInputCoin *)ffi_malloc:(DChainType *)type { // TODO: check outpoint hash reverse or not DOutPoint *outpoint = DOutPointCtorU(self.outpointHash, self.outpointIndex); - DTxOut *tx_out = DTxOutCtor(self.output.amount, DScriptBufCtor(bytes_ctor(self.output.outScript))); - return DInputCoinCtor(outpoint, tx_out, self.effectiveValue); + return DInputCoinCtor(outpoint, [self.output ffi_malloc], self.effectiveValue); } + (void)ffi_free:(DInputCoin *)inputCoin { diff --git a/DashSync/shared/Models/CoinJoin/Utils/DSMasternodeGroup.m b/DashSync/shared/Models/CoinJoin/Utils/DSMasternodeGroup.m index 3f41c15a..c431ee2f 100644 --- a/DashSync/shared/Models/CoinJoin/Utils/DSMasternodeGroup.m +++ b/DashSync/shared/Models/CoinJoin/Utils/DSMasternodeGroup.m @@ -448,14 +448,15 @@ - (BOOL)connectTo:(DSPeer *)peer { DSLog(@"[%@] CoinJoin: session is not connected to a masternode, sessionId: %@", self.chain.name, uint256_hex(sessionId)); return NO; } - + DSChainManager *chainManager = self.chain.chainManager; DSLog(@"[%@] CoinJoin: masternode[connecting] %@: %@; %@", self.chain.name, peer.location, uint256_hex(proTxHash), uint256_hex(sessionId)); - [peer setChainDelegate:self.chain.chainManager - peerDelegate:self transactionDelegate:self.chain.chainManager.transactionManager - governanceDelegate:self.chain.chainManager.governanceSyncManager - sporkDelegate:self.chain.chainManager.sporkManager - masternodeDelegate:self.chain.chainManager.masternodeManager + [peer setChainDelegate:chainManager + peerDelegate:self + transactionDelegate:(id) chainManager.transactionManager + governanceDelegate:(id) chainManager.governanceSyncManager + sporkDelegate:(id) chainManager.sporkManager + masternodeDelegate:chainManager.masternodeManager queue:self.networkingQueue]; peer.earliestKeyTime = self.chain.earliestWalletCreationTime;; diff --git a/DashSync/shared/Models/Derivation Paths/DSAuthenticationKeysDerivationPath.h b/DashSync/shared/Models/Derivation Paths/DSAuthenticationKeysDerivationPath.h index ab32972f..d9922c08 100644 --- a/DashSync/shared/Models/Derivation Paths/DSAuthenticationKeysDerivationPath.h +++ b/DashSync/shared/Models/Derivation Paths/DSAuthenticationKeysDerivationPath.h @@ -29,6 +29,7 @@ NS_ASSUME_NONNULL_BEGIN - (DMaybeOpaqueKey *_Nullable)privateKeyAtIndexPath:(NSIndexPath *)indexPath; +- (UInt256)keyIdAtIndex:(uint32_t)index; @end NS_ASSUME_NONNULL_END diff --git a/DashSync/shared/Models/Derivation Paths/DSAuthenticationKeysDerivationPath.m b/DashSync/shared/Models/Derivation Paths/DSAuthenticationKeysDerivationPath.m index 22c29585..1da0f824 100644 --- a/DashSync/shared/Models/Derivation Paths/DSAuthenticationKeysDerivationPath.m +++ b/DashSync/shared/Models/Derivation Paths/DSAuthenticationKeysDerivationPath.m @@ -313,4 +313,9 @@ - (void)storeNewAddressInContext:(NSString *)address }]; } +- (UInt256)keyIdAtIndex:(uint32_t)index { + NSData *data = [self publicKeyDataAtIndexPath:[NSIndexPath indexPathWithIndex:index]]; + return [data SHA256]; +} + @end diff --git a/DashSync/shared/Models/Entities/DSInstantSendLockEntity+CoreDataClass.m b/DashSync/shared/Models/Entities/DSInstantSendLockEntity+CoreDataClass.m index f5674ff3..751219b1 100644 --- a/DashSync/shared/Models/Entities/DSInstantSendLockEntity+CoreDataClass.m +++ b/DashSync/shared/Models/Entities/DSInstantSendLockEntity+CoreDataClass.m @@ -11,7 +11,7 @@ #import "DSInstantSendLockEntity+CoreDataClass.h" #import "DSInstantSendTransactionLock.h" #import "DSTransactionEntity+CoreDataClass.h" -#import "DSTransactionHashEntity+CoreDataClass.m" +#import "DSTransactionHashEntity+CoreDataClass.h" #import "DSTxInputEntity+CoreDataClass.h" #import "NSData+Dash.h" #import "NSManagedObject+Sugar.h" @@ -50,13 +50,13 @@ - (DSInstantSendTransactionLock *)instantSendTransactionLockForChain:(DSChain *) [inputOutpoints addObject:dsutxo_data(input.outpoint)]; } return [[DSInstantSendTransactionLock alloc] initWithTransactionHash:self.transaction.transactionHash.txHash - withInputOutpoints:inputOutpoints - version:self.version - signature:self.signature - cycleHash:self.cycleHash - signatureVerified:TRUE - quorumVerified:TRUE - onChain:chain]; + withInputOutpoints:inputOutpoints + version:self.version + signature:self.signature + cycleHash:self.cycleHash + signatureVerified:TRUE + quorumVerified:TRUE + onChain:chain]; } @end diff --git a/DashSync/shared/Models/Identity/DSIdentity.h b/DashSync/shared/Models/Identity/DSIdentity.h index 7139dafb..7977e18e 100644 --- a/DashSync/shared/Models/Identity/DSIdentity.h +++ b/DashSync/shared/Models/Identity/DSIdentity.h @@ -203,11 +203,14 @@ NSString * DSIdentityQueryStepsDescription(DSIdentityQueryStep step); */ - (BOOL)unregisterLocally; -/*! @brief Register the blockchain identity to its wallet from a credit funding registration transaction. This should only be done once on the creation of the blockchain identity. +/*! @brief Register the blockchain identity to its wallet from a asset lock transaction. This should only be done once on the creation of the blockchain identity. @param transaction The asset lock transaction used to initially fund the blockchain identity. */ - (void)registerInWalletForAssetLockTransaction:(DSAssetLockTransaction *)transaction; + +- (void)registerInWalletForAssetLockTopupTransaction:(DSAssetLockTransaction *)transaction; + // MARK: - Keys /*! @brief Register the blockchain identity to its wallet from a credit funding registration transaction. This should only be done once on the creation of the blockchain identity. diff --git a/DashSync/shared/Models/Identity/DSIdentity.m b/DashSync/shared/Models/Identity/DSIdentity.m index e691b0c3..a4b40f01 100644 --- a/DashSync/shared/Models/Identity/DSIdentity.m +++ b/DashSync/shared/Models/Identity/DSIdentity.m @@ -32,6 +32,7 @@ #import "DSFriendRequestEntity+CoreDataClass.h" #import "DSMerkleBlock.h" #import "DSOptionsManager.h" +#import "DSTransactionOutput+FFI.h" #import "DSTransactionHashEntity+CoreDataClass.h" #import "DSWallet+Identity.h" #import "NSData+Encryption.h" @@ -1317,7 +1318,7 @@ - (DAssetLockProof *)createInstantProof:(DInstantLock *)isLock { DTxOut **tx_outputs = malloc(sizeof(DTxOut *) * outputsCount); for (int i = 0; i < outputs.count; i++) { DSTransactionOutput *o = outputs[i]; - tx_outputs[i] = DTxOutCtor(o.amount, DScriptBufCtor(o.outScript ? bytes_ctor(o.outScript) : bytes_ctor([NSData data]))); + tx_outputs[i] = [o ffi_malloc]; } uint8_t asset_lock_payload_version = self.registrationAssetLockTransaction.specialTransactionVersion; @@ -1326,7 +1327,7 @@ - (DAssetLockProof *)createInstantProof:(DInstantLock *)isLock { DTxOut **credit_outputs = malloc(sizeof(DTxOut *) * creditOutputsCount); for (int i = 0; i < creditOutputsCount; i++) { DSTransactionOutput *o = creditOutputs[i]; - credit_outputs[i] = DTxOutCtor(o.amount, DScriptBufCtor(o.outScript ? bytes_ctor(o.outScript) : bytes_ctor([NSData data]))); + credit_outputs[i] = [o ffi_malloc]; } DTxInputs *input_vec = DTxInputsCtor(inputsCount, tx_inputs); diff --git a/DashSync/shared/Models/Identity/DSInvitation.h b/DashSync/shared/Models/Identity/DSInvitation.h index 428d8f21..1f4996e1 100644 --- a/DashSync/shared/Models/Identity/DSInvitation.h +++ b/DashSync/shared/Models/Identity/DSInvitation.h @@ -47,7 +47,7 @@ FOUNDATION_EXPORT NSString *const DSInvitationUpdateEventLink; @property (nonatomic, weak, readonly) DSWallet *wallet; /*! @brief A name for locally created invitation. */ -@property (nonatomic, copy) NSString *name; +@property (nonatomic, nullable, copy) NSString *name; /*! @brief A tag for locally created invitation. */ @property (nonatomic, copy) NSString *tag; diff --git a/DashSync/shared/Models/Identity/DSInvitation.m b/DashSync/shared/Models/Identity/DSInvitation.m index afc18d8a..aca7f3e8 100644 --- a/DashSync/shared/Models/Identity/DSInvitation.m +++ b/DashSync/shared/Models/Identity/DSInvitation.m @@ -16,17 +16,18 @@ // #import "DSInvitation.h" +#import "DSAssetLockDerivationPath.h" #import "DSAuthenticationManager.h" -#import "DSIdentity+Profile.h" -#import "DSIdentity+Protected.h" -#import "DSIdentity+Username.h" #import "DSBlockchainInvitationEntity+CoreDataClass.h" #import "DSChain+Params.h" #import "DSChainManager.h" -#import "DSAssetLockDerivationPath.h" #import "DSDerivationPathFactory.h" #import "DSIdentitiesManager+Protected.h" +#import "DSIdentity+Profile.h" +#import "DSIdentity+Protected.h" +#import "DSIdentity+Username.h" #import "DSInstantSendTransactionLock.h" +#import "DSTransaction+FFI.h" #import "DSWallet.h" #import "DSWallet+Identity.h" #import "DSWallet+Invitation.h" diff --git a/DashSync/shared/Models/Managers/Chain Managers/DSIdentitiesManager.h b/DashSync/shared/Models/Managers/Chain Managers/DSIdentitiesManager.h index 137e61af..52e82a6c 100644 --- a/DashSync/shared/Models/Managers/Chain Managers/DSIdentitiesManager.h +++ b/DashSync/shared/Models/Managers/Chain Managers/DSIdentitiesManager.h @@ -22,7 +22,7 @@ NS_ASSUME_NONNULL_BEGIN @class DSChain, DSIdentity, DSAssetLockTransaction, DSTransientDashpayUser; -@protocol DSDAPINetworkServiceRequest; +//@protocol DSDAPINetworkServiceRequest; typedef void (^IdentitiesSuccessCompletionBlock)(NSArray *_Nullable identities); typedef void (^IdentitiesCompletionBlock)(BOOL success, NSArray *_Nullable identities, NSArray *errors); diff --git a/DashSync/shared/Models/Managers/Chain Managers/DSKeyManager.h b/DashSync/shared/Models/Managers/Chain Managers/DSKeyManager.h index 20f8f143..0b192533 100644 --- a/DashSync/shared/Models/Managers/Chain Managers/DSKeyManager.h +++ b/DashSync/shared/Models/Managers/Chain Managers/DSKeyManager.h @@ -183,21 +183,6 @@ #define DCoreProviderError dash_spv_masternode_processor_processing_core_provider_CoreProviderError #define DCoreProviderErrorNullResultCtor(message) dash_spv_masternode_processor_processing_core_provider_CoreProviderError_NullResult_ctor(message) -#define MaybeBool Result_ok_bool_err_dash_spv_masternode_processor_processing_core_provider_CoreProviderError -#define MaybeLLMQSnapshot Result_ok_dash_spv_masternode_processor_models_snapshot_LLMQSnapshot_err_dash_spv_masternode_processor_processing_core_provider_CoreProviderError - -#define DBlock dash_spv_masternode_processor_common_block_Block -#define DBlockCtor(height, hash) dash_spv_masternode_processor_common_block_Block_ctor(height, hash) - -#define DMBlock dash_spv_masternode_processor_common_block_MBlock -#define DMBlockCtor(height, hash, merkle_root) dash_spv_masternode_processor_common_block_MBlock_ctor(height, hash, merkle_root) - -#define DMaybeBlock Result_ok_dash_spv_masternode_processor_common_block_Block_err_dash_spv_masternode_processor_processing_core_provider_CoreProviderError -#define DMaybeBlockCtor(ok, err) Result_ok_dash_spv_masternode_processor_common_block_Block_err_dash_spv_masternode_processor_processing_core_provider_CoreProviderError_ctor(ok, err) -#define DMaybeBlockDtor(ptr) Result_ok_dash_spv_masternode_processor_common_block_Block_err_dash_spv_masternode_processor_processing_core_provider_CoreProviderError_destroy(ptr) - -#define DMaybeMBlock Result_ok_dash_spv_masternode_processor_common_block_MBlock_err_dash_spv_masternode_processor_processing_core_provider_CoreProviderError -#define DMaybeMBlockCtor(ok, err) Result_ok_dash_spv_masternode_processor_common_block_MBlock_err_dash_spv_masternode_processor_processing_core_provider_CoreProviderError_ctor(ok, err) #define DMasternodeList dashcore_sml_masternode_list_MasternodeList #define DMasternodeListDtor(ptr) dashcore_sml_masternode_list_MasternodeList_destroy(ptr) @@ -212,11 +197,12 @@ #define DLLMQEntry dashcore_sml_quorum_entry_qualified_quorum_entry_QualifiedQuorumEntry #define DLLMQEntryDtor(ptr) dashcore_sml_quorum_entry_qualified_quorum_entry_QualifiedQuorumEntry_destroy(ptr) -#define DLLMQEntryList Vec_dash_spv_crypto_llmq_entry_LLMQEntry -#define DLLMQEntryListCtor(count, list) Vec_dash_spv_crypto_llmq_entry_LLMQEntry_ctor(count, list) +#define DLLMQType dashcore_sml_llmq_type_LLMQType +#define DLLMQTypeIndex(ptr) dashcore_sml_llmq_type_LLMQType_index(ptr) +#define DLLMQSnapshot dashcore_network_message_qrinfo_QuorumSnapshot + +#define DPlatformError dash_spv_platform_error_Error -#define DLLMQType dash_spv_crypto_network_llmq_type_LLMQType -#define DLLMQSnapshot dash_spv_masternode_processor_models_snapshot_LLMQSnapshot #define DKeyError dash_spv_crypto_keys_KeyError #define DKeyKind dash_spv_crypto_keys_key_KeyKind #define DKeyKindIndex(kind) dash_spv_crypto_keys_key_KeyKind_index(kind) @@ -326,6 +312,11 @@ #define DMaybeKeyString Result_ok_String_err_dash_spv_crypto_keys_KeyError #define DChainType dash_spv_crypto_network_chain_type_ChainType #define DDevnetType dash_spv_crypto_network_chain_type_DevnetType +#define DChainTypeMainnet() dash_spv_crypto_network_chain_type_ChainType_MainNet_ctor() +#define DChainTypeTestnet() dash_spv_crypto_network_chain_type_ChainType_TestNet_ctor() +#define DChainTypeDevnet(devnet) dash_spv_crypto_network_chain_type_ChainType_DevNet_ctor(devnet) +#define DChainTypeDevnetFromID(identifier) dash_spv_crypto_network_chain_type_devnet_type_from_identifier(identifier) + #define DIndexPathU256 dash_spv_crypto_keys_key_IndexPathU256 #define DMaybeOpaqueKeyDtor(ptr) Result_ok_dash_spv_crypto_keys_key_OpaqueKey_err_dash_spv_crypto_keys_KeyError_destroy(ptr) #define DMaybeKeyDataDtor(ptr) Result_ok_Vec_u8_err_dash_spv_crypto_keys_KeyError_destroy(ptr) diff --git a/DashSync/shared/Models/Managers/Chain Managers/DSMasternodeManager.h b/DashSync/shared/Models/Managers/Chain Managers/DSMasternodeManager.h index 7f6694fa..1a08e6e4 100644 --- a/DashSync/shared/Models/Managers/Chain Managers/DSMasternodeManager.h +++ b/DashSync/shared/Models/Managers/Chain Managers/DSMasternodeManager.h @@ -101,6 +101,8 @@ FOUNDATION_EXPORT NSString *const DSQuorumListDidChangeNotification; - (NSSet *)blockHashesUsedByMasternodeLists; +- (uintptr_t)currentQuorumsOfType:(DLLMQType)type; +- (uintptr_t)currentValidQuorumsOfType:(DLLMQType)type; @end NS_ASSUME_NONNULL_END diff --git a/DashSync/shared/Models/Managers/Chain Managers/DSMasternodeManager.m b/DashSync/shared/Models/Managers/Chain Managers/DSMasternodeManager.m index db564a8b..0105b8fb 100644 --- a/DashSync/shared/Models/Managers/Chain Managers/DSMasternodeManager.m +++ b/DashSync/shared/Models/Managers/Chain Managers/DSMasternodeManager.m @@ -63,6 +63,7 @@ @interface DSMasternodeManager () @property (nonatomic, strong) NSManagedObjectContext *managedObjectContext; @property (nonatomic) BOOL isSyncing; @property (nonatomic) BOOL isRestored; +@property (nonatomic, strong) NSData* baseBlockHashWaitingForDiffs; @end @@ -103,7 +104,10 @@ - (BOOL)hasCurrentMasternodeListInLast30Days { - (void)masternodeListServiceEmptiedRetrievalQueue:(DSMasternodeListService *)service { - [self.chain.chainManager chainFinishedSyncingMasternodeListsAndQuorums:self.chain]; + if (self.baseBlockHashWaitingForDiffs) + [self getRecentMasternodeList]; + else + [self.chain.chainManager chainFinishedSyncingMasternodeListsAndQuorums:self.chain]; } @@ -332,10 +336,8 @@ - (void)stopSync { DSLog(@"%@ [Stop]", self.logPrefix); self.isSyncing = NO; [self cancelMasternodeListTimer]; - - if (self.chain.isRotatedQuorumsPresented) { + if (self.chain.isRotatedQuorumsPresented) [self.quorumRotationService stop]; - } [self.masternodeListDiffService stop]; } @@ -452,9 +454,7 @@ - (void)peer:(DSPeer *)peer relayedMasternodeDiffMessage:(NSData *)message { dispatch_async(self.processingQueue, ^{ dispatch_group_enter(self.processingGroup); Slice_u8 *message_slice = slice_ctor(message); - DMnDiffResult *result = DMnDiffFromMessage(self.processor, message_slice, nil, false); - if (result->error) { NSError *error = [NSError ffi_from_processing_error:result->error]; DSLog(@"%@ mnlistdiff: Error: %@", self.logPrefix, error.description); @@ -464,51 +464,38 @@ - (void)peer:(DSPeer *)peer relayedMasternodeDiffMessage:(NSData *)message { break; case dash_spv_masternode_processor_processing_processor_processing_error_ProcessingError_InvalidResult: [self.masternodeListDiffService cleanRequestsInRetrieval]; - DSLog(@"%@ mnlistdiff: InvalidResult -> dequeueMasternodeListRequest (mn)", self.chain.name); [self.masternodeListDiffService dequeueMasternodeListRequest]; default: [self issueWithMasternodeListFromPeer:peer]; break; } -//#if SAVE_MASTERNODE_DIFF_TO_FILE -// NSString *fileName = [NSString stringWithFormat:@"MNL_ERR__%d.dat", peer.version]; -// DSLog(@"%@ •-• File %@ saved", self.logPrefix, fileName); -// [message saveToFile:fileName inDirectory:NSCachesDirectory]; -//#endif - + #if SAVE_MASTERNODE_DIFF_TO_FILE + [self writeToDisk:[NSString stringWithFormat:@"MNL_ERR__%d_%lu.dat", peer.version, [NSDate timeIntervalSinceReferenceDate]] data:message]; + #endif DMnDiffResultDtor(result); dispatch_group_leave(self.processingGroup); return; } + [[NSUserDefaults standardUserDefaults] removeObjectForKey:CHAIN_FAULTY_DML_MASTERNODE_PEERS]; if (self.isSyncing) { u256 *block_hash = dashcore_hash_types_BlockHash_inner(result->ok->o_1); NSData *blockHashData = NSDataFromPtr(block_hash); u256_dtor(block_hash); [self.masternodeListDiffService removeFromRetrievalQueue:blockHashData]; - [self.masternodeListDiffService dequeueMasternodeListRequest]; - if (![self.masternodeListDiffService retrievalQueueCount]) - [self.chain.chainManager.transactionManager checkWaitingForQuorums]; - [[NSUserDefaults standardUserDefaults] removeObjectForKey:CHAIN_FAULTY_DML_MASTERNODE_PEERS]; - -// [self.masternodeListDiffService updateAfterProcessingMasternodeListWithBlockHash:masternodeListBlockHashData fromPeer:peer]; + + if ([self.masternodeListDiffService retrievalQueueCount]) { + [self.masternodeListDiffService dequeueMasternodeListRequest]; + } else { + DSLog(@"%@: All diffs are here -> Re-request QRINFO for", self.logPrefix, self.baseBlockHashWaitingForDiffs.hexString); + [self getRecentMasternodeList]; + } } -//#if SAVE_MASTERNODE_DIFF_TO_FILE -// u256 *base_block_hash = result->ok->o_0; -// uint32_t base_block_height = DHeightForBlockHash(self.processor, base_block_hash); -// uint32_t block_height = DHeightForBlockHash(self.processor, block_hash); -// NSString *fileName = [NSString stringWithFormat:@"MNL_%@_%@__%d.dat", @(base_block_height), @(block_height), peer.version]; -// DSLog(@"%@ •-• File %@ saved", self.logPrefix, fileName); -// [message saveToFile:fileName inDirectory:NSCachesDirectory]; -//#endif -// DMnDiffResultDtor(result); DMnDiffResultDtor(result); - dispatch_group_leave(self.processingGroup); }); } - (void)tryToProcessQrInfo:(DSPeer *)peer message:(NSData *)message attempt:(uint8_t)attempt { - // uint32_t protocol_version = peer ? peer.version : self.chain.protocolVersion; __block NSUInteger numOfAttempt = attempt; dispatch_async(self.processingQueue, ^{ dispatch_group_enter(self.processingGroup); @@ -530,13 +517,11 @@ - (void)tryToProcessQrInfo:(DSPeer *)peer message:(NSData *)message attempt:(uin case dash_spv_masternode_processor_processing_processor_processing_error_ProcessingError_QuorumValidationError: switch (result->error->quorum_validation_error->tag) { case dashcore_sml_quorum_validation_error_QuorumValidationError_RequiredBlockNotPresent: { -// DBlockHash *unknown_block_hash = result->error->quorum_validation_error->required_block_not_present; - // TODO: it can be tip so we can wait for 300ms and try again if (attempt < 3) { - sleep(10); - numOfAttempt++; - dispatch_group_leave(self.processingGroup); - [self tryToProcessQrInfo:peer message:message attempt:attempt]; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), self.processingQueue, ^{ + numOfAttempt++; + [self tryToProcessQrInfo:peer message:message attempt:attempt]; + }); } break; } @@ -548,9 +533,7 @@ - (void)tryToProcessQrInfo:(DSPeer *)peer message:(NSData *)message attempt:(uin break; } #if SAVE_MASTERNODE_DIFF_TO_FILE - NSString *fileName = [NSString stringWithFormat:@"QRINFO_ERR_%d.dat", peer.version]; - DSLog(@"%@ •-• File %@ saved", self.logPrefix, fileName); - [message saveToFile:fileName inDirectory:NSCachesDirectory]; + [self writeToDisk:[NSString stringWithFormat:@"QRINFO_ERR_%d_%lu.dat", peer.version, [NSDate timeIntervalSinceReferenceDate]] data:message]; #endif #if SAVE_ERROR_STATE Result_ok_Vec_u8_err_dash_spv_masternode_processor_processing_processor_processing_error_ProcessingError *bincode = dash_spv_masternode_processor_processing_processor_MasternodeProcessor_serialize_engine(self.processor); @@ -572,28 +555,18 @@ - (void)tryToProcessQrInfo:(DSPeer *)peer message:(NSData *)message attempt:(uin DSLog(@"%@ qrinfo: OK: %ul", self.logPrefix, (uint16_t) missed_hashes->count); if (missed_hashes->count > 0) { - [self.quorumRotationService cleanListsRetrievalQueue]; + self.baseBlockHashWaitingForDiffs = [self.quorumRotationService retrievalBlockHash]; + [self.quorumRotationService cleanAllLists]; NSArray *missedHashes = [NSArray ffi_from_block_hash_btree_set:missed_hashes]; [self.masternodeListDiffService addToRetrievalQueueArray:missedHashes]; [self.masternodeListDiffService dequeueMasternodeListRequest]; } else { - [self.quorumRotationService cleanListsRetrievalQueue]; + self.baseBlockHashWaitingForDiffs = nil; + [self.quorumRotationService cleanAllLists]; [self.quorumRotationService dequeueMasternodeListRequest]; [self.chain.chainManager.transactionManager checkWaitingForQuorums]; } - //#if SAVE_MASTERNODE_DIFF_TO_FILE - // u256 *base_block_hash = result->ok->o_0; - // uint32_t base_block_height = DHeightForBlockHash(self.processor, base_block_hash); - // uint32_t block_height = DHeightForBlockHash(self.processor, block_hash); - // NSString *fileName = [NSString stringWithFormat:@"QRINFO_%@_%@__%d.dat", @(base_block_height), @(block_height), peer.version]; - // DSLog(@"%@ •-• File %@ saved", self.logPrefix, fileName); - // [message saveToFile:fileName inDirectory:NSCachesDirectory]; - //#endif - // [self.quorumRotationService updateAfterProcessingMasternodeListWithBlockHash:NSDataFromPtr(block_hash) fromPeer:peer]; - - - DQRInfoResultDtor(result); dispatch_group_leave(self.processingGroup); }); @@ -604,7 +577,6 @@ - (void)peer:(DSPeer *)peer relayedQuorumRotationInfoMessage:(NSData *)message { @synchronized (self.quorumRotationService) { self.quorumRotationService.timedOutAttempt = 0; } - [self tryToProcessQrInfo:peer message:message attempt:0]; } @@ -626,4 +598,12 @@ - (void)checkPingTimesForCurrentMasternodeListInContext:(NSManagedObjectContext } +- (uintptr_t)currentQuorumsOfType:(DLLMQType)type { + return dash_spv_masternode_processor_processing_processor_MasternodeProcessor_current_quorums_of_type_count(self.processor, &type); + +} +- (uintptr_t)currentValidQuorumsOfType:(DLLMQType)type { + return dash_spv_masternode_processor_processing_processor_MasternodeProcessor_current_valid_quorums_of_type_count(self.processor, &type); +} + @end diff --git a/DashSync/shared/Models/Managers/Service Managers/DSPriceManager.m b/DashSync/shared/Models/Managers/Service Managers/DSPriceManager.m index 0cc2cc92..b72fc207 100644 --- a/DashSync/shared/Models/Managers/Service Managers/DSPriceManager.m +++ b/DashSync/shared/Models/Managers/Service Managers/DSPriceManager.m @@ -58,7 +58,7 @@ #define VOLATILE_RATES_CUTTOFF_PERIOD 7 * 24 * 60 * 60 // 7 Days #define DEFAULT_CURRENCY_CODE @"USD" -#define DEFAULT_SPENT_LIMIT DUFFS +#define DEFAULT_SPENT_LIMIT DUFFS_OBJC #define LOCAL_CURRENCY_CODE_KEY @"LOCAL_CURRENCY_CODE" @@ -113,7 +113,7 @@ - (instancetype)init { self.dashFormat.currencySymbol = DASH; self.dashFormat.maximumFractionDigits = 8; self.dashFormat.minimumFractionDigits = 0; // iOS 8 bug, minimumFractionDigits now has to be set after currencySymbol - self.dashFormat.maximum = @(MAX_MONEY / (int64_t)pow(10.0, self.dashFormat.maximumFractionDigits)); + self.dashFormat.maximum = @(MAX_MONEY_OBJC / (int64_t)pow(10.0, self.dashFormat.maximumFractionDigits)); _csvDashFormat = [self.dashFormat copy]; self.csvDashFormat.currencyCode = @""; @@ -137,7 +137,7 @@ - (instancetype)init { self.dashSignificantFormat.maximumSignificantDigits = 6; self.dashSignificantFormat.maximumFractionDigits = 8; self.dashSignificantFormat.minimumFractionDigits = 0; // iOS 8 bug, minimumFractionDigits now has to be set after currencySymbol - self.dashSignificantFormat.maximum = @(MAX_MONEY / (int64_t)pow(10.0, self.dashFormat.maximumFractionDigits)); + self.dashSignificantFormat.maximum = @(MAX_MONEY_OBJC / (int64_t)pow(10.0, self.dashFormat.maximumFractionDigits)); _bitcoinFormat = [NSNumberFormatter new]; self.bitcoinFormat.lenient = YES; @@ -153,7 +153,7 @@ - (instancetype)init { self.bitcoinFormat.currencySymbol = BTC; self.bitcoinFormat.maximumFractionDigits = 8; self.bitcoinFormat.minimumFractionDigits = 0; // iOS 8 bug, minimumFractionDigits now has to be set after currencySymbol - self.bitcoinFormat.maximum = @(MAX_MONEY / (int64_t)pow(10.0, self.bitcoinFormat.maximumFractionDigits)); + self.bitcoinFormat.maximum = @(MAX_MONEY_OBJC / (int64_t)pow(10.0, self.bitcoinFormat.maximumFractionDigits)); _unknownFormat = [NSNumberFormatter new]; self.unknownFormat.lenient = YES; @@ -243,7 +243,7 @@ - (void)setLocalCurrencyCode:(NSString *)code { self.localFormat.currencyCode = _localCurrencyCode; self.localFormat.maximum = [[NSDecimalNumber decimalNumberWithDecimal:self.localCurrencyDashPrice.decimalValue] - decimalNumberByMultiplyingBy:(id)[NSDecimalNumber numberWithLongLong:MAX_MONEY / DUFFS]]; + decimalNumberByMultiplyingBy:(id)[NSDecimalNumber numberWithLongLong:MAX_MONEY_OBJC / DUFFS_OBJC]]; if ([self.localCurrencyCode isEqual:[NSLocale currentLocale].currencyCode]) { [defs removeObjectForKey:LOCAL_CURRENCY_CODE_KEY]; @@ -445,13 +445,13 @@ - (int64_t)amountForLocalCurrencyString:(NSString *)string overflowbits = 0, p = 10, min, max, amount; if (local == 0 || price < 1) return 0; - while (llabs(local) + 1 > INT64_MAX / DUFFS) local /= 2, overflowbits++; // make sure we won't overflow an int64_t - min = llabs(local) * DUFFS / price + 1; // minimum amount that safely matches local currency string - max = (llabs(local) + 1) * DUFFS / price - 1; // maximum amount that safely matches local currency string + while (llabs(local) + 1 > INT64_MAX / DUFFS_OBJC) local /= 2, overflowbits++; // make sure we won't overflow an int64_t + min = llabs(local) * DUFFS_OBJC / price + 1; // minimum amount that safely matches local currency string + max = (llabs(local) + 1) * DUFFS_OBJC / price - 1; // maximum amount that safely matches local currency string amount = (min + max) / 2; // average min and max while (overflowbits > 0) local *= 2, min *= 2, max *= 2, amount *= 2, overflowbits--; - if (amount >= MAX_MONEY) return (local < 0) ? -MAX_MONEY : MAX_MONEY; + if (amount >= MAX_MONEY_OBJC) return (local < 0) ? -MAX_MONEY_OBJC : MAX_MONEY_OBJC; while ((amount / p) * p >= min && p <= INT64_MAX / 10) p *= 10; // lowest decimal precision matching local currency string p /= 10; return (local < 0) ? -(amount / p) * p : (amount / p) * p; @@ -475,14 +475,14 @@ - (int64_t)amountForBitcoinCurrencyString:(NSString *)string { int64_t local = amt + DBL_EPSILON * amt, overflowbits = 0; if (local == 0) return 0; - while (llabs(local) + 1 > INT64_MAX / DUFFS) local /= 2, overflowbits++; // make sure we won't overflow an int64_t - int64_t min = llabs(local) * DUFFS / (int64_t)(price + DBL_EPSILON * price) + 1, - max = (llabs(local) + 1) * DUFFS / (int64_t)(price + DBL_EPSILON * price) - 1, + while (llabs(local) + 1 > INT64_MAX / DUFFS_OBJC) local /= 2, overflowbits++; // make sure we won't overflow an int64_t + int64_t min = llabs(local) * DUFFS_OBJC / (int64_t)(price + DBL_EPSILON * price) + 1, + max = (llabs(local) + 1) * DUFFS_OBJC / (int64_t)(price + DBL_EPSILON * price) - 1, amount = (min + max) / 2, p = 10; while (overflowbits > 0) local *= 2, min *= 2, max *= 2, amount *= 2, overflowbits--; - if (amount >= MAX_MONEY) return (local < 0) ? -MAX_MONEY : MAX_MONEY; + if (amount >= MAX_MONEY_OBJC) return (local < 0) ? -MAX_MONEY_OBJC : MAX_MONEY_OBJC; while ((amount / p) * p >= min && p <= INT64_MAX / 10) p *= 10; // lowest decimal precision matching local currency string p /= 10; return (local < 0) ? -(amount / p) * p : (amount / p) * p; @@ -494,7 +494,7 @@ - (NSString *)bitcoinCurrencyStringForAmount:(int64_t)amount { NSDecimalNumber *n = [[[NSDecimalNumber decimalNumberWithDecimal:self.bitcoinDashPrice.decimalValue] decimalNumberByMultiplyingBy:(id)[NSDecimalNumber numberWithLongLong:llabs(amount)]] - decimalNumberByDividingBy:(id)[NSDecimalNumber numberWithLongLong:DUFFS]], + decimalNumberByDividingBy:(id)[NSDecimalNumber numberWithLongLong:DUFFS_OBJC]], *min = [[NSDecimalNumber one] decimalNumberByMultiplyingByPowerOf10:-self.bitcoinFormat.maximumFractionDigits]; @@ -534,7 +534,7 @@ - (NSString *)localCurrencyStringForBitcoinAmount:(int64_t)amount { NSDecimalNumber *n = [[[NSDecimalNumber decimalNumberWithDecimal:self.localCurrencyBitcoinPrice.decimalValue] decimalNumberByMultiplyingBy:(id)[NSDecimalNumber numberWithLongLong:llabs(amount)]] - decimalNumberByDividingBy:(id)[NSDecimalNumber numberWithLongLong:DUFFS]], + decimalNumberByDividingBy:(id)[NSDecimalNumber numberWithLongLong:DUFFS_OBJC]], *min = [[NSDecimalNumber one] decimalNumberByMultiplyingByPowerOf10:-self.localFormat.maximumFractionDigits]; @@ -557,7 +557,7 @@ - (NSNumber *_Nullable)localCurrencyNumberForDashAmount:(int64_t)amount { NSDecimalNumber *n = [[[NSDecimalNumber decimalNumberWithDecimal:local.decimalValue] decimalNumberByMultiplyingBy:(id)[NSDecimalNumber numberWithLongLong:llabs(amount)]] - decimalNumberByDividingBy:(id)[NSDecimalNumber numberWithLongLong:DUFFS]], + decimalNumberByDividingBy:(id)[NSDecimalNumber numberWithLongLong:DUFFS_OBJC]], *min = [[NSDecimalNumber one] decimalNumberByMultiplyingByPowerOf10:-self.localFormat.maximumFractionDigits]; @@ -583,7 +583,7 @@ - (NSNumber *_Nullable)fiatCurrencyNumber:(NSString *)currencyCode forDashAmount NSDecimalNumber *n = [[[NSDecimalNumber decimalNumberWithDecimal:@(price).decimalValue] decimalNumberByMultiplyingBy:(id)[NSDecimalNumber numberWithLongLong:llabs(amount)]] - decimalNumberByDividingBy:(id)[NSDecimalNumber numberWithLongLong:DUFFS]], + decimalNumberByDividingBy:(id)[NSDecimalNumber numberWithLongLong:DUFFS_OBJC]], *min = [[NSDecimalNumber one] decimalNumberByMultiplyingByPowerOf10:-self.localFormat.maximumFractionDigits]; diff --git a/DashSync/shared/Models/Masternode/DSMasternodeListDiffService.m b/DashSync/shared/Models/Masternode/DSMasternodeListDiffService.m index ee9ed00d..a772e300 100644 --- a/DashSync/shared/Models/Masternode/DSMasternodeListDiffService.m +++ b/DashSync/shared/Models/Masternode/DSMasternodeListDiffService.m @@ -100,7 +100,7 @@ - (void)fetchMasternodeListsToRetrieve:(void (^)(NSOrderedSet *listsTo return; } if ([self.requestsInRetrieval count]) { - DSLog(@"%@ Already in retrieval", self.logPrefix); + //DSLog(@"%@ Already in retrieval", self.logPrefix); return; } if ([self peerIsDisconnected]) { diff --git a/DashSync/shared/Models/Masternode/DSQuorumRotationService.h b/DashSync/shared/Models/Masternode/DSQuorumRotationService.h index 93055e0a..2a6bc546 100644 --- a/DashSync/shared/Models/Masternode/DSQuorumRotationService.h +++ b/DashSync/shared/Models/Masternode/DSQuorumRotationService.h @@ -24,14 +24,10 @@ NS_ASSUME_NONNULL_BEGIN @interface DSQuorumRotationService : DSMasternodeListService @property (nonatomic, assign) NSTimeInterval lastSyncedTimestamp; -//@property (nonatomic, assign, nullable) DMasternodeList *masternodeListAtTip; -//@property (nonatomic, assign, nullable) DMasternodeList *masternodeListAtH; -//@property (nonatomic, assign, nullable) DMasternodeList *masternodeListAtHC; -//@property (nonatomic, assign, nullable) DMasternodeList *masternodeListAtH2C; -//@property (nonatomic, assign, nullable) DMasternodeList *masternodeListAtH3C; -//@property (nonatomic, assign, nullable) DMasternodeList *masternodeListAtH4C; +@property (nonatomic, strong, readonly) NSData *retrievalBlockHash; - (void)getRecent:(UInt256)blockHash; - (void)fetchMasternodeListToRetrieve:(void (^)(NSData *listsToRetrieve))completion; +- (void)requestQuorumRotationInfo:(UInt256)previousBlockHash forBlockHash:(UInt256)blockHash; @end diff --git a/DashSync/shared/Models/Masternode/DSQuorumRotationService.m b/DashSync/shared/Models/Masternode/DSQuorumRotationService.m index 02bf00f7..0bceb27e 100644 --- a/DashSync/shared/Models/Masternode/DSQuorumRotationService.m +++ b/DashSync/shared/Models/Masternode/DSQuorumRotationService.m @@ -22,10 +22,11 @@ #import "DSQuorumRotationService.h" #import "DSMasternodeListService+Protected.h" #import "DSMasternodeManager.h" +#import "NSString+Bitcoin.h" @interface DSQuorumRotationService () -@property (nonatomic, strong) NSData *retrievalBlockHash; +@property (nonatomic, strong, nullable) NSData *retrievalBlockHash; @end @@ -48,6 +49,7 @@ - (void)composeMasternodeListRequest:(NSData *)blockHashData { UInt256 blockHash = blockHashData.UInt256; uint32_t blockHeight = [self.chain heightForBlockHash:blockHash]; UInt256 previousBlockHash = [self closestKnownBlockHashForBlockHeight:blockHeight]; +// @"000000000000000899fdcd85241296146c365b238a655517da8dcd08a8a79b98".hexToData; // NSAssert(([self.store heightForBlockHash:previousBlockHash] != UINT32_MAX) || uint256_is_zero(previousBlockHash), @"This block height should be known"); [self requestQuorumRotationInfo:previousBlockHash forBlockHash:blockHash]; } else { @@ -82,15 +84,8 @@ - (void)fetchMasternodeListToRetrieve:(void (^)(NSData *listsToRetrieve))complet } - (void)getRecent:(UInt256)blockHash { -// if (self.retrievalBlockHash) -// BOOL hasLatestBlockWithHash = uint256_eq(self.retrievalBlockHash.UInt256, blockHash); -// if (hasLatestBlockWithHash || [self hasRecentQrInfoSync]) -// return; self.retrievalBlockHash = uint256_data(blockHash); [self dequeueMasternodeListRequest]; -// NSUInteger newCount = [self addToRetrievalQueue:uint256_data(blockHash)]; -// if (newCount == 1) { -// } } - (void)cleanListsRetrievalQueue { @@ -109,9 +104,6 @@ - (void)requestQuorumRotationInfo:(UInt256)previousBlockHash forBlockHash:(UInt2 DSGetQRInfoRequest *request = [DSGetQRInfoRequest requestWithBaseBlockHashes:baseBlockHashes blockHash:blockHash extraShare:YES]; uint32_t prev_h = [self.chain heightForBlockHash:previousBlockHash]; uint32_t h = [self.chain heightForBlockHash:blockHash]; - -// uint32_t prev_h = DHeightForBlockHash(self.chain.sharedProcessorObj, u256_ctor_u(previousBlockHash)); -// uint32_t h = DHeightForBlockHash(self.chain.sharedProcessorObj, u256_ctor_u(blockHash)); DSLog(@"%@ Request: %u..%u %@ .. %@", self.logPrefix, prev_h, h, uint256_hex(previousBlockHash), uint256_hex(blockHash)); [self sendMasternodeListRequest:request]; } diff --git a/DashSync/shared/Models/Messages/DSMessageRequest.h b/DashSync/shared/Models/Messages/DSMessageRequest.h index f99bb249..37a14ca5 100644 --- a/DashSync/shared/Models/Messages/DSMessageRequest.h +++ b/DashSync/shared/Models/Messages/DSMessageRequest.h @@ -21,6 +21,7 @@ NS_ASSUME_NONNULL_BEGIN @interface DSMessageRequest : NSObject +@property (nonatomic, readonly) BOOL logging; @property (nonatomic, readonly) NSString *type; + (instancetype)requestWithType:(NSString *)type; diff --git a/DashSync/shared/Models/Messages/DSMessageRequest.m b/DashSync/shared/Models/Messages/DSMessageRequest.m index fa2dd6e0..4784d639 100644 --- a/DashSync/shared/Models/Messages/DSMessageRequest.m +++ b/DashSync/shared/Models/Messages/DSMessageRequest.m @@ -62,6 +62,8 @@ + (BOOL)supportsSecureCoding { return YES; } - +- (BOOL)logging { + return NO; +} @end diff --git a/DashSync/shared/Models/Messages/Masternodes/DSGetQRInfoRequest.m b/DashSync/shared/Models/Messages/Masternodes/DSGetQRInfoRequest.m index c12b5d9e..31b0ecc3 100644 --- a/DashSync/shared/Models/Messages/Masternodes/DSGetQRInfoRequest.m +++ b/DashSync/shared/Models/Messages/Masternodes/DSGetQRInfoRequest.m @@ -92,4 +92,7 @@ - (NSString *)logWithBlockHeightLookup:(BlockHeightFinder)blockHeightLookup { return [NSString stringWithFormat:@"%u: %@ .. %u: %@", blockHeightLookup(self.baseBlockHashes[0].UInt256), self.baseBlockHashes[0].hexString, blockHeightLookup(self.blockHash), uint256_hex(self.blockHash)]; } +- (BOOL)logging { + return YES; +} @end diff --git a/DashSync/shared/Models/Network/DSPeer.m b/DashSync/shared/Models/Network/DSPeer.m index b376adca..49c06ebb 100644 --- a/DashSync/shared/Models/Network/DSPeer.m +++ b/DashSync/shared/Models/Network/DSPeer.m @@ -376,7 +376,8 @@ - (void)receivedOrphanBlock { - (void)sendRequest:(DSMessageRequest *)request { NSString *type = [request type]; NSData *payload = [request toData]; -// DSLog(@"%@:%u sendRequest: [%@]: %@", self.host, self.port, type, [payload hexString]); + if ([request logging]) + DSLog(@"%@:%u sendRequest: [%@]: %@", self.host, self.port, type, [payload hexString]); [self sendMessage:payload type:type]; } diff --git a/DashSync/shared/Models/Payment/DSPaymentProtocol.m b/DashSync/shared/Models/Payment/DSPaymentProtocol.m index 3bc4608a..6da2a2a3 100644 --- a/DashSync/shared/Models/Payment/DSPaymentProtocol.m +++ b/DashSync/shared/Models/Payment/DSPaymentProtocol.m @@ -456,79 +456,68 @@ - (NSArray *)certs { - (BOOL)isValid { BOOL r = YES; - if (![self.pkiType isEqual:@"none"]) { NSMutableArray *certs = [NSMutableArray array]; - NSArray *policies = @[CFBridgingRelease(SecPolicyCreateBasicX509())]; + NSArray *policies = @[(__bridge_transfer id)SecPolicyCreateBasicX509()]; SecTrustRef trust = NULL; - for (NSData *d in self.certs) { SecCertificateRef cert = SecCertificateCreateWithData(NULL, (__bridge CFDataRef)d); - - if (cert) [certs addObject:CFBridgingRelease(cert)]; - } - - if (certs.count > 0) { - _commonName = CFBridgingRelease(SecCertificateCopySubjectSummary((__bridge SecCertificateRef)certs[0])); + if (cert) [certs addObject:(__bridge_transfer id)cert]; } - + if (certs.count > 0) + _commonName = (__bridge_transfer NSString *)SecCertificateCopySubjectSummary((__bridge SecCertificateRef)certs[0]); SecTrustCreateWithCertificates((__bridge CFArrayRef)certs, (__bridge CFArrayRef)policies, &trust); CFErrorRef error = NULL; - BOOL isValid = FALSE; - if (trust) { - isValid = SecTrustEvaluateWithError(trust, &error); // verify certificate chain - } - + // verify certificate chain + BOOL isValid = trust ? SecTrustEvaluateWithError(trust, &error) : NO; // kSecTrustResultUnspecified indicates a positive result that wasn't decided by the user - if (error) { - _errorMessage = (certs.count > 0) ? DSLocalizedString(@"Untrusted certificate", nil) : - DSLocalizedString(@"Missing certificate", nil); - - if (trust) { - for (NSDictionary *property in CFBridgingRelease(SecTrustCopyProperties(trust))) { - if ([property[@"type"] isEqual:(__bridge id)kSecPropertyTypeError]) { - _errorMessage = [_errorMessage stringByAppendingFormat:@" - %@", property[@"value"]]; - break; - } - } + if (!isValid || error) { + _errorMessage = DSLocalizedString(certs.count > 0 ? @"Untrusted certificate" : @"Missing certificate", nil); + if (error) { + NSString *errStr = CFBridgingRelease(CFErrorCopyDescription(error)); + _errorMessage = [_errorMessage stringByAppendingFormat:@" - %@", errStr ?: @"Unknown error"]; + CFRelease(error); } - r = NO; } - SecKeyRef pubKey = (trust) ? SecTrustCopyPublicKey(trust) : NULL; - OSStatus status = errSecUnimplemented; - NSData *sig = _signature; - - _signature = [NSData data]; // set signature to 0 bytes, a signature can't sign itself - - if (pubKey && [self.pkiType isEqual:@"x509+sha256"]) { - status = SecKeyRawVerify(pubKey, kSecPaddingPKCS1SHA256, self.data.SHA256.u8, sizeof(UInt256), sig.bytes, - sig.length); - } else if (pubKey && [self.pkiType isEqual:@"x509+sha1"]) { - status = SecKeyRawVerify(pubKey, kSecPaddingPKCS1SHA1, self.data.SHA1.u8, sizeof(UInt160), sig.bytes, - sig.length); - } + if (trust) { + SecKeyRef pubKey = SecTrustCopyKey(trust); + NSData *sig = _signature; + _signature = [NSData data]; // set signature to 0 bytes, a signature can't sign itself + + SecKeyAlgorithm algorithm = NULL; + NSData *hashData = nil; + + if ([self.pkiType isEqualToString:@"x509+sha256"]) { + algorithm = kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA256; + hashData = uint256_data(self.data.SHA256); + } else if ([self.pkiType isEqualToString:@"x509+sha1"]) { + algorithm = kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA1; + hashData = uint160_data(self.data.SHA1); + } - _signature = sig; - if (pubKey) CFRelease(pubKey); - if (trust) CFRelease(trust); + _signature = sig; - if (status != errSecSuccess) { - if (status == errSecUnimplemented) { + if (pubKey && algorithm && SecKeyIsAlgorithmSupported(pubKey, kSecKeyOperationTypeVerify, algorithm)) { + BOOL verified = SecKeyVerifySignature(pubKey, algorithm, (__bridge CFDataRef)hashData, (__bridge CFDataRef)sig, NULL); + if (!verified) { + _errorMessage = DSLocalizedString(@"Invalid signature", nil); + DSLog(@"%@", _errorMessage); + r = NO; + } + } else if (pubKey) { _errorMessage = DSLocalizedString(@"Unsupported signature type", nil); DSLog(@"%@", _errorMessage); - } else { - _errorMessage = [NSError osStatusErrorWithCode:status].localizedDescription; - DSLog(@"SecKeyRawVerify error: %@", _errorMessage); + r = NO; } - r = NO; + if (pubKey) CFRelease(pubKey); + CFRelease(trust); } } else if (self.certs.firstObject) { // non-standard extention to include an un-certified request name _commonName = [[NSString alloc] initWithData:self.certs.firstObject encoding:NSUTF8StringEncoding]; } - if (r && self.details.expires >= 1 && [NSDate timeIntervalSince1970] > self.details.expires) { _errorMessage = DSLocalizedString(@"Request expired", nil); r = NO; diff --git a/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.h b/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.h index d1e9db21..de2946e6 100644 --- a/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.h +++ b/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.h @@ -28,7 +28,18 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, readonly) UInt160 creditBurnPublicKeyHash; @property (nonatomic, readonly) DSUTXO lockedOutpoint; -- (instancetype)initOnChain:(DSChain *)chain withCreditOutputs:(NSArray *)creditOutputs; +- (instancetype)initOnChain:(DSChain *)chain withCreditOutputs:(NSArray *)creditOutputs payloadVersion:(uint8_t)payloadVersion; + +- (instancetype)initWithInputHashes:(NSArray *)hashes + inputIndexes:(NSArray *)indexes + inputScripts:(NSArray *)scripts + inputSequences:(NSArray *)inputSequences + outputAddresses:(NSArray *)addresses + outputAmounts:(NSArray *)amounts + creditOutputs:(NSArray *)creditOutputs + payloadVersion:(uint8_t)payloadVersion + onChain:(DSChain *)chain; + - (BOOL)checkInvitationDerivationPathIndexForWallet:(DSWallet *)wallet isIndex:(uint32_t)index; - (BOOL)checkDerivationPathIndexForWallet:(DSWallet *)wallet isIndex:(uint32_t)index; @@ -38,8 +49,4 @@ NS_ASSUME_NONNULL_BEGIN @end -@interface DSAssetLockTransaction (FFI) -+ (instancetype)ffi_from:(dashcore_blockdata_transaction_Transaction *)transaction onChain:(DSChain *)chain; -@end - NS_ASSUME_NONNULL_END diff --git a/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.m b/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.m index e99ceb3e..dcda82a0 100644 --- a/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.m +++ b/DashSync/shared/Models/Transactions/Base/DSAssetLockTransaction.m @@ -21,23 +21,50 @@ #import "DSAssetLockTransactionEntity+CoreDataClass.h" #import "DSDerivationPathFactory.h" #import "DSGapLimit.h" +#import "DSTransaction+FFI.h" #import "DSTransactionFactory.h" #import "NSData+Dash.h" #import "NSMutableData+Dash.h" @implementation DSAssetLockTransaction -- (instancetype)initOnChain:(DSChain *)chain withCreditOutputs:(NSArray *)creditOutputs { +- (instancetype)initOnChain:(DSChain *)chain withCreditOutputs:(NSArray *)creditOutputs payloadVersion:(uint8_t)payloadVersion { self = [super initOnChain:chain]; if (self) { self.type = DSTransactionType_AssetLock; self.version = SPECIAL_TX_VERSION; self.creditOutputs = [creditOutputs mutableCopy]; - self.specialTransactionVersion = 1; + self.specialTransactionVersion = payloadVersion; } return self; } +- (instancetype)initWithInputHashes:(NSArray *)hashes + inputIndexes:(NSArray *)indexes + inputScripts:(NSArray *)scripts + inputSequences:(NSArray *)inputSequences + outputAddresses:(NSArray *)addresses + outputAmounts:(NSArray *)amounts + creditOutputs:(NSArray *)creditOutputs + payloadVersion:(uint8_t)payloadVersion + onChain:(DSChain *)chain { + self = [super initWithInputHashes:hashes + inputIndexes:indexes + inputScripts:scripts + inputSequences:inputSequences + outputAddresses:addresses + outputAmounts:amounts + onChain:chain]; + if (self) { + self.type = DSTransactionType_AssetLock; + self.version = SPECIAL_TX_VERSION; + self.creditOutputs = [creditOutputs mutableCopy]; + self.specialTransactionVersion = payloadVersion; + } + return self; + +} + - (instancetype)initWithMessage:(NSData *)message onChain:(DSChain *)chain { if (!(self = [super initWithMessage:message onChain:chain])) return nil; @@ -170,21 +197,31 @@ - (Class)entityClass { @end -@implementation DSAssetLockTransaction (FFI) -+ (instancetype)ffi_from:(dashcore_blockdata_transaction_Transaction *)transaction onChain:(DSChain *)chain { - if (!transaction->special_transaction_payload) { - return nil; - } - // TODO: it's used just for ui - switch (transaction->special_transaction_payload->tag) { - case dashcore_blockdata_transaction_special_transaction_TransactionPayload_AssetLockPayloadType: { - dashcore_blockdata_transaction_special_transaction_asset_lock_AssetLockPayload *payload = transaction->special_transaction_payload->asset_lock_payload_type; - // TODO: implement it - DSAssetLockTransaction *tx = [[DSAssetLockTransaction alloc] initOnChain:chain]; -// tx. - return tx; - } - default: return nil; - } -} -@end +//@implementation DSAssetLockTransaction (FFI) +//+ (instancetype)ffi_from:(DTransaction *)transaction onChain:(DSChain *)chain { +// if (!transaction->special_transaction_payload) { +// return nil; +// } +// +// DSAssetLockTransaction *tx = (DSAssetLockTransaction *) [DSTransaction ffi_from:transaction onChain:chain]; +// +// // TODO: it's used just for ui +// switch (transaction->special_transaction_payload->tag) { +// case dashcore_blockdata_transaction_special_transaction_TransactionPayload_AssetLockPayloadType: { +// dashcore_blockdata_transaction_special_transaction_asset_lock_AssetLockPayload *payload = transaction->special_transaction_payload->asset_lock_payload_type; +// // TODO: implement it +// NSMutableArray *creditOutputs = [NSMutableArray arrayWithCapacity:payload->credit_outputs->count]; +// for (int i = 0; i < payload->credit_outputs->count; i++) { +// DTxOut *output = payload->credit_outputs->values[i]; +// NSData *script = NSDataFromPtr(output->script_pubkey->_0); +// [creditOutputs addObject:[DSTransactionOutput transactionOutputWithAmount:output->value outScript:script onChain:chain]]; +// } +// +// DSAssetLockTransaction *tx = [[DSAssetLockTransaction alloc] initOnChain:chain withCreditOutputs:creditOutputs payloadVersion:payload->version]; +//// tx. +// return tx; +// } +// default: return nil; +// } +//} +//@end diff --git a/DashSync/shared/Models/Transactions/Base/DSInstantSendTransactionLock.m b/DashSync/shared/Models/Transactions/Base/DSInstantSendTransactionLock.m index cbc445c7..0e8c11e5 100644 --- a/DashSync/shared/Models/Transactions/Base/DSInstantSendTransactionLock.m +++ b/DashSync/shared/Models/Transactions/Base/DSInstantSendTransactionLock.m @@ -14,7 +14,6 @@ #import "DSMasternodeManager.h" #import "DSSporkManager.h" #import "DSTransactionEntity+CoreDataClass.h" -#import "DSTransactionHashEntity+CoreDataClass.h" #import "NSData+Dash.h" #import "NSManagedObject+Sugar.h" #import "NSMutableData+Dash.h" diff --git a/DashSync/shared/Models/CoinJoin/DSTransaction+CoinJoin.h b/DashSync/shared/Models/Transactions/Base/DSTransaction+FFI.h similarity index 87% rename from DashSync/shared/Models/CoinJoin/DSTransaction+CoinJoin.h rename to DashSync/shared/Models/Transactions/Base/DSTransaction+FFI.h index d895a7ad..00c2fd84 100644 --- a/DashSync/shared/Models/CoinJoin/DSTransaction+CoinJoin.h +++ b/DashSync/shared/Models/Transactions/Base/DSTransaction+FFI.h @@ -21,10 +21,9 @@ NS_ASSUME_NONNULL_BEGIN -@interface DSTransaction (CoinJoin) - -- (DSTransaction *)initWithTransaction:(DTransaction *)transaction onChain:(DSChain *)chain; +@interface DSTransaction (FFI) ++ (instancetype)ffi_from:(DTransaction *)transaction onChain:(DSChain *)chain; - (DTransaction *)ffi_malloc:(DChainType *)chainType; + (void)ffi_free:(DTransaction *)tx; diff --git a/DashSync/shared/Models/CoinJoin/DSTransaction+CoinJoin.m b/DashSync/shared/Models/Transactions/Base/DSTransaction+FFI.m similarity index 56% rename from DashSync/shared/Models/CoinJoin/DSTransaction+CoinJoin.m rename to DashSync/shared/Models/Transactions/Base/DSTransaction+FFI.m index 84a86f97..e5081690 100644 --- a/DashSync/shared/Models/CoinJoin/DSTransaction+CoinJoin.m +++ b/DashSync/shared/Models/Transactions/Base/DSTransaction+FFI.m @@ -17,15 +17,16 @@ #import "BigIntTypes.h" #import "DSChain+Transaction.h" -#import "DSTransaction.h" -#import "DSTransaction+CoinJoin.h" -#import "DSTransactionInput+CoinJoin.h" +#import "DSAssetLockTransaction.h" +#import "DSTransaction+FFI.h" +#import "DSTransactionInput+FFI.h" +#import "DSTransactionOutput+FFI.h" #import "NSData+Dash.h" #import "DSKeyManager.h" -@implementation DSTransaction (CoinJoin) +@implementation DSTransaction (FFI) -- (DSTransaction *)initWithTransaction:(DTransaction *)transaction onChain:(DSChain *)chain { ++ (nonnull instancetype)ffi_from:(nonnull DTransaction *)transaction onChain:(nonnull DSChain *)chain { NSMutableArray *hashes = [NSMutableArray array]; NSMutableArray *indexes = [NSMutableArray array]; NSMutableArray *scripts = [NSMutableArray array]; @@ -61,13 +62,41 @@ - (DSTransaction *)initWithTransaction:(DTransaction *)transaction onChain:(DSCh [amounts addObject:amount]; } - DSTransaction *tx = [[DSTransaction alloc] initWithInputHashes:hashes - inputIndexes:indexes - inputScripts:scripts - inputSequences:inputSequences - outputAddresses:addresses - outputAmounts:amounts - onChain:chain]; + DSTransaction *tx; + switch (transaction->special_transaction_payload->tag) { + case dashcore_blockdata_transaction_special_transaction_TransactionPayload_AssetLockPayloadType: { + dashcore_blockdata_transaction_special_transaction_asset_lock_AssetLockPayload *payload = transaction->special_transaction_payload->asset_lock_payload_type; + NSMutableArray *creditOutputs = [NSMutableArray arrayWithCapacity:payload->credit_outputs->count]; + for (int i = 0; i < payload->credit_outputs->count; i++) { + DTxOut *output = payload->credit_outputs->values[i]; + NSData *script = NSDataFromPtr(output->script_pubkey->_0); + [creditOutputs addObject:[DSTransactionOutput transactionOutputWithAmount:output->value outScript:script onChain:chain]]; + } + + tx = [[DSAssetLockTransaction alloc] initWithInputHashes:hashes + inputIndexes:indexes + inputScripts:scripts + inputSequences:inputSequences + outputAddresses:addresses + outputAmounts:amounts + creditOutputs:creditOutputs + payloadVersion:payload->version + onChain:chain]; + } + default: { + // TODO: implement other transactions types + tx = [[DSTransaction alloc] initWithInputHashes:hashes + inputIndexes:indexes + inputScripts:scripts + inputSequences:inputSequences + outputAddresses:addresses + outputAmounts:amounts + onChain:chain]; + + }; + } + + tx.version = transaction->version; return tx; @@ -84,7 +113,7 @@ - (DTransaction *)ffi_malloc:(DChainType *)chainType { for (uintptr_t i = 0; i < outputsCount; ++i) { DSTransactionOutput *output = self.outputs[i]; - output_values[i] = DTxOutCtor(output.amount, DScriptBufCtor(bytes_ctor(output.outScript))); + output_values[i] = [output ffi_malloc]; } DTransaction *transaction = DTransactionCtor(self.version, self.lockTime, DTxInputsCtor(inputsCount, input_values), DTxOutputsCtor(outputsCount, output_values), NULL); return transaction; @@ -95,5 +124,7 @@ + (void)ffi_free:(DTransaction *)tx { DTransactionDtor(tx); } + + @end diff --git a/DashSync/shared/Models/Transactions/Base/DSTransaction.h b/DashSync/shared/Models/Transactions/Base/DSTransaction.h index 04dbb7ae..595a8f9e 100644 --- a/DashSync/shared/Models/Transactions/Base/DSTransaction.h +++ b/DashSync/shared/Models/Transactions/Base/DSTransaction.h @@ -41,7 +41,7 @@ NS_ASSUME_NONNULL_BEGIN #define TX_FEE_PER_INPUT 10000ULL // standard ix fee per input #define TX_OUTPUT_SIZE 34 // estimated size for a typical transaction output #define TX_INPUT_SIZE 148 // estimated size for a typical compact pubkey transaction input -#define TX_MIN_OUTPUT_AMOUNT (TX_FEE_PER_B * 3 * (TX_OUTPUT_SIZE + TX_INPUT_SIZE)) //no txout can be below this amount +//#define TX_MIN_OUTPUT_AMOUNT (TX_FEE_PER_B * 3 * (TX_OUTPUT_SIZE + TX_INPUT_SIZE)) //no txout can be below this amount #define TX_MAX_SIZE 100000 // no tx can be larger than this size in bytes //#define TX_UNCONFIRMED INT32_MAX // block height indicating transaction is unconfirmed #define TX_MAX_LOCK_HEIGHT 500000000 // a lockTime below this value is a block height, otherwise a timestamp diff --git a/DashSync/shared/Models/Transactions/Base/DSTransaction.m b/DashSync/shared/Models/Transactions/Base/DSTransaction.m index f38577a1..037676c5 100644 --- a/DashSync/shared/Models/Transactions/Base/DSTransaction.m +++ b/DashSync/shared/Models/Transactions/Base/DSTransaction.m @@ -73,7 +73,7 @@ + (instancetype)transactionWithMessage:(NSData *)message onChain:(DSChain *)chai return [[self alloc] initWithMessage:message onChain:chain]; } -+ (UInt256)devnetGenesisCoinbaseTxHash:(dash_spv_crypto_network_chain_type_DevnetType *)devnetType ++ (UInt256)devnetGenesisCoinbaseTxHash:(DDevnetType *)devnetType onProtocolVersion:(uint32_t)protocolVersion forChain:(DSChain *)chain { DSTransaction *transaction = [[self alloc] initOnChain:chain]; @@ -966,9 +966,6 @@ - (BOOL)saveInitialInContext:(NSManagedObjectContext *)context { return YES; } -@end - -@implementation DSTransaction (Extensions) - (DSTransactionDirection)direction { if (self.cachedDirection != DSTransactionDirection_NotAccountFunds) { return self.cachedDirection; diff --git a/DashSync/shared/Models/CoinJoin/DSTransactionInput+CoinJoin.h b/DashSync/shared/Models/Transactions/Base/DSTransactionInput+FFI.h similarity index 96% rename from DashSync/shared/Models/CoinJoin/DSTransactionInput+CoinJoin.h rename to DashSync/shared/Models/Transactions/Base/DSTransactionInput+FFI.h index 08cba834..d7dfbd8b 100644 --- a/DashSync/shared/Models/CoinJoin/DSTransactionInput+CoinJoin.h +++ b/DashSync/shared/Models/Transactions/Base/DSTransactionInput+FFI.h @@ -21,7 +21,7 @@ NS_ASSUME_NONNULL_BEGIN -@interface DSTransactionInput (CoinJoin) +@interface DSTransactionInput (FFI) - (DTxIn *)ffi_malloc; + (void)ffi_free:(DTxIn *)input; diff --git a/DashSync/shared/Models/CoinJoin/DSTransactionInput+CoinJoin.m b/DashSync/shared/Models/Transactions/Base/DSTransactionInput+FFI.m similarity index 94% rename from DashSync/shared/Models/CoinJoin/DSTransactionInput+CoinJoin.m rename to DashSync/shared/Models/Transactions/Base/DSTransactionInput+FFI.m index 971587e5..3681e5dc 100644 --- a/DashSync/shared/Models/CoinJoin/DSTransactionInput+CoinJoin.m +++ b/DashSync/shared/Models/Transactions/Base/DSTransactionInput+FFI.m @@ -17,10 +17,10 @@ #import "BigIntTypes.h" #import "DSTransactionInput.h" -#import "DSTransactionInput+CoinJoin.h" +#import "DSTransactionInput+FFI.h" #import "NSData+Dash.h" -@implementation DSTransactionInput (CoinJoin) +@implementation DSTransactionInput (FFI) - (DTxIn *)ffi_malloc { DOutPoint *outpoint = DOutPointCtorU(self.inputHash, self.index); diff --git a/DashSync/shared/Models/Transactions/Base/DSTransactionOutput+FFI.h b/DashSync/shared/Models/Transactions/Base/DSTransactionOutput+FFI.h new file mode 100644 index 00000000..568cc45e --- /dev/null +++ b/DashSync/shared/Models/Transactions/Base/DSTransactionOutput+FFI.h @@ -0,0 +1,31 @@ +// +// Created by Vladimir Pirogov +// Copyright © 2025 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 "DSKeyManager.h" +#import "DSTransactionOutput.h" +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DSTransactionOutput (FFI) + +- (DTxOut *)ffi_malloc; ++ (void)ffi_free:(DTxOut *)output; + +@end + +NS_ASSUME_NONNULL_END diff --git a/DashSync/shared/Models/Transactions/Base/DSTransactionOutput+FFI.m b/DashSync/shared/Models/Transactions/Base/DSTransactionOutput+FFI.m new file mode 100644 index 00000000..ff47d870 --- /dev/null +++ b/DashSync/shared/Models/Transactions/Base/DSTransactionOutput+FFI.m @@ -0,0 +1,31 @@ +// +// Created by Vladimir Pirogov +// Copyright © 2025 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 "DSTransactionOutput+FFI.h" + +@implementation DSTransactionOutput (FFI) + +- (DTxOut *)ffi_malloc { + return DTxOutCtor(self.amount, DScriptBufCtor(self.outScript ? bytes_ctor(self.outScript) : bytes_ctor([NSData data]))); +} + ++ (void)ffi_free:(DTxOut *)output { + if (!output) return; + DTxOutDtor(output); +} + +@end diff --git a/DashSync/shared/Models/Wallet/DSAccount.m b/DashSync/shared/Models/Wallet/DSAccount.m index dd338bb4..a98ab42f 100644 --- a/DashSync/shared/Models/Wallet/DSAccount.m +++ b/DashSync/shared/Models/Wallet/DSAccount.m @@ -1044,7 +1044,7 @@ - (DSAssetLockTransaction *)assetLockTransactionFor:(uint64_t)amount NSParameterAssert(address); NSData *script = [NSData scriptPubKeyForAddress:address forChain:self.wallet.chain]; DSTransactionOutput *creditOutput = [DSTransactionOutput transactionOutputWithAmount:amount outScript:script onChain:self.wallet.chain]; - DSAssetLockTransaction *transaction = [[DSAssetLockTransaction alloc] initOnChain:self.wallet.chain withCreditOutputs:@[creditOutput]]; + DSAssetLockTransaction *transaction = [[DSAssetLockTransaction alloc] initOnChain:self.wallet.chain withCreditOutputs:@[creditOutput] payloadVersion:1]; return (DSAssetLockTransaction *)[self updateTransaction:transaction forAmounts:@[@(amount)] toOutputScripts:@[[NSData assetLockOutputScript]] diff --git a/DashSync/shared/Models/Wallet/DSWallet+Tests.h b/DashSync/shared/Models/Wallet/DSWallet+Tests.h index bcaf9711..52e663bf 100644 --- a/DashSync/shared/Models/Wallet/DSWallet+Tests.h +++ b/DashSync/shared/Models/Wallet/DSWallet+Tests.h @@ -26,13 +26,6 @@ NS_ASSUME_NONNULL_BEGIN + (DSWallet *)transientWalletWithDerivedKeyData:(NSData *)derivedData forChain:(DSChain *)chain; -+ (DSWallet *_Nullable)standardWalletWithRandomSeedPhraseForChain:(DSChain *)chain - storeSeedPhrase:(BOOL)store - isTransient:(BOOL)isTransient; -+ (DSWallet *_Nullable)standardWalletWithRandomSeedPhraseInLanguage:(DSBIP39Language)language - forChain:(DSChain *)chain - storeSeedPhrase:(BOOL)store - isTransient:(BOOL)isTransient; @end diff --git a/DashSync/shared/Models/Wallet/DSWallet+Tests.m b/DashSync/shared/Models/Wallet/DSWallet+Tests.m index de6c4a05..f8e3060f 100644 --- a/DashSync/shared/Models/Wallet/DSWallet+Tests.m +++ b/DashSync/shared/Models/Wallet/DSWallet+Tests.m @@ -52,18 +52,6 @@ + (DSWallet *)transientWalletWithDerivedKeyData:(NSData *)derivedData forChain:( return wallet; } -+ (DSWallet *)standardWalletWithRandomSeedPhraseForChain:(DSChain *)chain storeSeedPhrase:(BOOL)store isTransient:(BOOL)isTransient { - NSParameterAssert(chain); - - return [self standardWalletWithRandomSeedPhraseInLanguage:DSBIP39Language_Default forChain:chain storeSeedPhrase:store isTransient:isTransient]; -} - -+ (DSWallet *)standardWalletWithRandomSeedPhraseInLanguage:(DSBIP39Language)language forChain:(DSChain *)chain storeSeedPhrase:(BOOL)store isTransient:(BOOL)isTransient { - NSParameterAssert(chain); - - return [self standardWalletWithSeedPhrase:[self generateRandomSeedPhraseForLanguage:language] setCreationDate:[NSDate timeIntervalSince1970] forChain:chain storeSeedPhrase:store isTransient:isTransient]; -} - + (NSString *)setTransientDerivedKeyData:(NSData *)derivedKeyData withAccounts:(NSArray *)accounts forChain:(DSChain *)chain { if (!derivedKeyData) return nil; NSString *uniqueID = nil; diff --git a/DashSync/shared/Models/Wallet/DSWallet.h b/DashSync/shared/Models/Wallet/DSWallet.h index 2a6ade3c..03ccbf3b 100644 --- a/DashSync/shared/Models/Wallet/DSWallet.h +++ b/DashSync/shared/Models/Wallet/DSWallet.h @@ -35,8 +35,8 @@ typedef void (^SecureSeedRequestBlock)(NSString *_Nullable authprompt, uint64_t FOUNDATION_EXPORT NSString *_Nonnull const DSWalletBalanceDidChangeNotification; -#define DUFFS 100000000LL -#define MAX_MONEY (21000000LL * DUFFS) +#define DUFFS_OBJC 100000000LL +#define MAX_MONEY_OBJC (21000000LL * DUFFS_OBJC) @class DSChain, DSAccount, DSTransaction, DSDerivationPath, DSLocalMasternode, DSSpecialTransactionsWalletHolder, DSInvitation; @@ -91,6 +91,14 @@ FOUNDATION_EXPORT NSString *_Nonnull const DSWalletBalanceDidChangeNotification; - (void)authPrivateKey:(void (^_Nullable)(NSString *_Nullable authKey))completion; ++ (DSWallet *_Nullable)standardWalletWithRandomSeedPhraseForChain:(DSChain *)chain + storeSeedPhrase:(BOOL)store + isTransient:(BOOL)isTransient; ++ (DSWallet *_Nullable)standardWalletWithRandomSeedPhraseInLanguage:(DSBIP39Language)language + forChain:(DSChain *)chain + storeSeedPhrase:(BOOL)store + isTransient:(BOOL)isTransient; + + (DSWallet *_Nullable)standardWalletWithSeedPhrase:(NSString *)seedPhrase setCreationDate:(NSTimeInterval)creationDate forChain:(DSChain *)chain @@ -182,6 +190,9 @@ FOUNDATION_EXPORT NSString *_Nonnull const DSWalletBalanceDidChangeNotification; fromSeed:(NSData *_Nonnull)seed; - (NSString *_Nullable)privateKeyAddressForAddress:(NSString *)address fromSeed:(NSData *)seed; +- (NSData *_Nullable)signDigest:(UInt256)digest + usingPrivateKeyForAddress:(NSString *)address + fromSeed:(NSData *)seed; //generate a random Mnemonic seed + (NSString *_Nullable)generateRandomSeedPhrase; diff --git a/DashSync/shared/Models/Wallet/DSWallet.m b/DashSync/shared/Models/Wallet/DSWallet.m index 355ea2e0..5d71896e 100644 --- a/DashSync/shared/Models/Wallet/DSWallet.m +++ b/DashSync/shared/Models/Wallet/DSWallet.m @@ -86,6 +86,16 @@ @interface DSWallet () { @implementation DSWallet ++ (DSWallet *)standardWalletWithRandomSeedPhraseForChain:(DSChain *)chain storeSeedPhrase:(BOOL)store isTransient:(BOOL)isTransient { + NSParameterAssert(chain); + return [self standardWalletWithRandomSeedPhraseInLanguage:DSBIP39Language_Default forChain:chain storeSeedPhrase:store isTransient:isTransient]; +} + ++ (DSWallet *)standardWalletWithRandomSeedPhraseInLanguage:(DSBIP39Language)language forChain:(DSChain *)chain storeSeedPhrase:(BOOL)store isTransient:(BOOL)isTransient { + NSParameterAssert(chain); + return [self standardWalletWithSeedPhrase:[self generateRandomSeedPhraseForLanguage:language] setCreationDate:[NSDate timeIntervalSince1970] forChain:chain storeSeedPhrase:store isTransient:isTransient]; +} + + (DSWallet *)standardWalletWithSeedPhrase:(NSString *)seedPhrase setCreationDate:(NSTimeInterval)creationDate forChain:(DSChain *)chain storeSeedPhrase:(BOOL)store isTransient:(BOOL)isTransient { NSParameterAssert(seedPhrase); NSParameterAssert(chain); @@ -976,6 +986,18 @@ - (NSString *)privateKeyAddressForAddress:(NSString *)address fromSeed:(NSData * return keyAddress; } +- (NSData *_Nullable)signDigest:(UInt256)digest + usingPrivateKeyForAddress:(NSString *)address + fromSeed:(NSData *)seed { + DMaybeOpaqueKey *opaque_key = [self privateKeyForAddress:address fromSeed:seed]; + if (opaque_key->error) { + return nil; + } + NSData *signature = [DSKeyManager signMesasageDigest:opaque_key->ok digest:digest]; + DMaybeOpaqueKeyDtor(opaque_key); + return signature; +} + - (void)reloadDerivationPaths { for (DSAccount *account in self.accounts) { for (DSDerivationPath *derivationPath in account.fundDerivationPaths) { diff --git a/Example/DashSync.xcodeproj/project.pbxproj b/Example/DashSync.xcodeproj/project.pbxproj index 9ce7e5e9..e6c62fe4 100644 --- a/Example/DashSync.xcodeproj/project.pbxproj +++ b/Example/DashSync.xcodeproj/project.pbxproj @@ -2423,6 +2423,7 @@ ORGANIZATIONNAME = "Dash Core Group"; TargetAttributes = { 6003F589195388D20070C39A = { + DevelopmentTeam = 44RJ69WHFF; ProvisioningStyle = Automatic; }; 6003F5AD195388D20070C39A = { @@ -2794,10 +2795,12 @@ inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-NetworkInfo/Pods-NetworkInfo-resources.sh", "${PODS_CONFIGURATION_BUILD_DIR}/DashSync-macOS/DashSync.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage-macOS/SDWebImage.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DashSync.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SDWebImage.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -2834,10 +2837,12 @@ 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}/SDWebImage-iOS/SDWebImage.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DashSync.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SDWebImage.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -3255,7 +3260,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 44RJ69WHFF; EXCLUDED_ARCHS = ""; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "DashSync/DashSync-Prefix.pch"; @@ -3316,7 +3321,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 44RJ69WHFF; EXCLUDED_ARCHS = ""; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "DashSync/DashSync-Prefix.pch"; @@ -3443,26 +3448,18 @@ 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\"", @@ -3478,7 +3475,6 @@ "\"Security\"", "-framework", "\"SystemConfiguration\"", - "\"-ld_classic\"", ); PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -3510,26 +3506,18 @@ 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\"", @@ -3545,7 +3533,6 @@ "\"Security\"", "-framework", "\"SystemConfiguration\"", - "\"-ld_classic\"", ); PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/Example/DashSync/Actions.storyboard b/Example/DashSync/Actions.storyboard index e3e8991a..7d3c9317 100644 --- a/Example/DashSync/Actions.storyboard +++ b/Example/DashSync/Actions.storyboard @@ -1,9 +1,9 @@ - + - + @@ -745,7 +745,7 @@ - + diff --git a/Example/DashSync/BlockchainIdentities.storyboard b/Example/DashSync/BlockchainIdentities.storyboard index 11beb7f8..b71ec673 100644 --- a/Example/DashSync/BlockchainIdentities.storyboard +++ b/Example/DashSync/BlockchainIdentities.storyboard @@ -2,6 +2,7 @@ + @@ -335,7 +336,7 @@ - - + - + -