diff --git a/Sources/ZcashLightClientKit/Block/Processor/CompactBlockScanning.swift b/Sources/ZcashLightClientKit/Block/Processor/CompactBlockScanning.swift index f85f1b8d..45b2b34c 100644 --- a/Sources/ZcashLightClientKit/Block/Processor/CompactBlockScanning.swift +++ b/Sources/ZcashLightClientKit/Block/Processor/CompactBlockScanning.swift @@ -13,7 +13,9 @@ extension CompactBlockProcessor { try Task.checkCancellation() setState(.scanning) - let batchSize = UInt32(config.scanningBatchSize) + + // TODO: remove this arbitrary batch size https://github.com/zcash/ZcashLightClientKit/issues/576 + let batchSize = scanBatchSize(for: range, network: self.config.network.networkType) do { if batchSize == 0 { @@ -92,6 +94,17 @@ extension CompactBlockProcessor { throw error } } + + fileprivate func scanBatchSize(for range: CompactBlockRange, network: NetworkType) -> UInt32 { + guard network == .mainnet else { + return UInt32(config.scanningBatchSize) + } + if range.lowerBound > 1_600_000 { + return 5 + } + + return UInt32(config.scanningBatchSize) + } } extension CompactBlockProcessor { diff --git a/ZcashLightClientKit.podspec b/ZcashLightClientKit.podspec index 6b23ca6c..f1163102 100644 --- a/ZcashLightClientKit.podspec +++ b/ZcashLightClientKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'ZcashLightClientKit' - s.version = '0.16.10-beta' + s.version = '0.17.0-alpha.1' s.summary = 'Zcash Light Client wallet SDK for iOS' s.description = <<-DESC