@@ -32,6 +32,7 @@ public class BitcoinCoreBuilder {
3232 private var storage : IStorage ?
3333 private var checkpoint : Checkpoint ?
3434 private var apiSyncStateManager : ApiSyncStateManager ?
35+ private var signer : ITransactionSigner ?
3536
3637 @discardableResult public func set( extendedKey: HDExtendedKey ? ) -> BitcoinCoreBuilder {
3738 self . extendedKey = extendedKey
@@ -42,6 +43,11 @@ public class BitcoinCoreBuilder {
4243 self . watchAddressPublicKey = watchAddressPublicKey
4344 return self
4445 }
46+
47+ public func set( signer: ITransactionSigner ? ) -> BitcoinCoreBuilder {
48+ self . signer = signer
49+ return self
50+ }
4551
4652 public func set( network: INetwork ) -> BitcoinCoreBuilder {
4753 self . network = network
@@ -305,8 +311,8 @@ public class BitcoinCoreBuilder {
305311 let outputSetter = OutputSetter ( outputSorterFactory: transactionDataSorterFactory, factory: factory)
306312 let inputSetter = InputSetter ( unspentOutputSelector: unspentOutputSelector, transactionSizeCalculator: transactionSizeCalculatorInstance, addressConverter: addressConverter, publicKeyManager: publicKeyManager, factory: factory, pluginManager: pluginManager, dustCalculator: dustCalculatorInstance, changeScriptType: purpose. scriptType, inputSorterFactory: transactionDataSorterFactory)
307313 let lockTimeSetter = LockTimeSetter ( storage: storage)
308- let transactionSigner = TransactionSigner ( ecdsaInputSigner: ecdsaInputSigner, schnorrInputSigner: schnorrInputSigner)
309- let transactionBuilder = TransactionBuilder ( recipientSetter: recipientSetter, inputSetter: inputSetter, lockTimeSetter: lockTimeSetter, outputSetter: outputSetter, signer: transactionSigner )
314+ // let transactionSigner = TransactionSigner(ecdsaInputSigner: ecdsaInputSigner, schnorrInputSigner: schnorrInputSigner)
315+ let transactionBuilder = TransactionBuilder ( recipientSetter: recipientSetter, inputSetter: inputSetter, lockTimeSetter: lockTimeSetter, outputSetter: outputSetter, signer: self . signer ?? TransactionSigner ( ecdsaInputSigner : ecdsaInputSigner , schnorrInputSigner : schnorrInputSigner ) )
310316 transactionFeeCalculator = TransactionFeeCalculator ( recipientSetter: recipientSetter, inputSetter: inputSetter, addressConverter: addressConverter, publicKeyManager: publicKeyManager, changeScriptType: purpose. scriptType)
311317 let transactionSendTimer = TransactionSendTimer ( interval: 60 )
312318 let transactionSenderInstance = TransactionSender ( transactionSyncer: pendingTransactionSyncer, initialBlockDownload: initialDownload, peerManager: peerManager, storage: storage, timer: transactionSendTimer, logger: logger)
@@ -317,7 +323,7 @@ public class BitcoinCoreBuilder {
317323
318324 transactionSendTimer. delegate = transactionSender
319325
320- transactionCreator = TransactionCreator ( transactionBuilder: transactionBuilder, transactionProcessor: pendingTransactionProcessor, transactionSender: transactionSenderInstance, bloomFilterManager: bloomFilterManager)
326+ transactionCreator = TransactionCreator ( transactionBuilder: transactionBuilder, transactionProcessor: pendingTransactionProcessor, transactionSender: transactionSenderInstance, bloomFilterManager: bloomFilterManager, signer : self . signer ?? TransactionSigner ( ecdsaInputSigner : ecdsaInputSigner , schnorrInputSigner : schnorrInputSigner ) )
321327 }
322328 let mempoolTransactions = MempoolTransactions ( transactionSyncer: pendingTransactionSyncer, transactionSender: transactionSender)
323329
0 commit comments