ZcashLightClientKit/Tests/TestUtils/SDKSynchronizer+Utils.swift

38 lines
1.4 KiB
Swift

//
// SDKSynchronizer+Utils.swift
//
//
// Created by Francisco Gindre on 3/31/23.
//
import Foundation
@testable import ZcashLightClientKit
extension SDKSynchronizer {
convenience init(initializer: Initializer, sessionGenerator: SyncSessionIDGenerator, sessionTicker: SessionTicker) {
let metrics = SDKMetrics()
let latestBlocksDataProvider = LatestBlocksDataProviderImpl(
service: initializer.lightWalletService,
transactionRepository: initializer.transactionRepository
)
self.init(
status: .unprepared,
initializer: initializer,
transactionEncoder: WalletTransactionEncoder(initializer: initializer),
transactionRepository: initializer.transactionRepository,
utxoRepository: UTXORepositoryBuilder.build(initializer: initializer),
blockProcessor: CompactBlockProcessor(
initializer: initializer,
metrics: metrics,
logger: initializer.logger,
latestBlocksDataProvider: latestBlocksDataProvider,
walletBirthdayProvider: { initializer.walletBirthday }
),
metrics: metrics,
syncSessionIDGenerator: sessionGenerator,
syncSessionTicker: sessionTicker,
latestBlocksDataProvider: latestBlocksDataProvider
)
}
}