@@ -303,16 +303,20 @@ public class BitcoinCoreBuilder {
303303 var transactionCreator : TransactionCreator ?
304304
305305 if let hdWallet {
306- let ecdsaInputSigner = EcdsaInputSigner ( hdWallet: hdWallet, network: network)
307- let schnorrInputSigner = SchnorrInputSigner ( hdWallet: hdWallet)
308306 let transactionSizeCalculatorInstance = TransactionSizeCalculator ( )
307+ if ( self . signer == nil ) {
308+ let ecdsaInputSigner = EcdsaInputSigner ( hdWallet: hdWallet, network: network)
309+ let schnorrInputSigner = SchnorrInputSigner ( hdWallet: hdWallet)
310+ let transactionSigner = TransactionSigner ( ecdsaInputSigner: ecdsaInputSigner, schnorrInputSigner: schnorrInputSigner)
311+ self . signer = transactionSigner
312+ }
313+
309314 let dustCalculatorInstance = DustCalculator ( dustRelayTxFee: network. dustRelayTxFee, sizeCalculator: transactionSizeCalculatorInstance)
310315 let recipientSetter = RecipientSetter ( addressConverter: addressConverter, pluginManager: pluginManager)
311316 let outputSetter = OutputSetter ( outputSorterFactory: transactionDataSorterFactory, factory: factory)
312317 let inputSetter = InputSetter ( unspentOutputSelector: unspentOutputSelector, transactionSizeCalculator: transactionSizeCalculatorInstance, addressConverter: addressConverter, publicKeyManager: publicKeyManager, factory: factory, pluginManager: pluginManager, dustCalculator: dustCalculatorInstance, changeScriptType: purpose. scriptType, inputSorterFactory: transactionDataSorterFactory)
313318 let lockTimeSetter = LockTimeSetter ( storage: storage)
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) )
319+ let transactionBuilder = TransactionBuilder ( recipientSetter: recipientSetter, inputSetter: inputSetter, lockTimeSetter: lockTimeSetter, outputSetter: outputSetter, signer: self . signer!)
316320 transactionFeeCalculator = TransactionFeeCalculator ( recipientSetter: recipientSetter, inputSetter: inputSetter, addressConverter: addressConverter, publicKeyManager: publicKeyManager, changeScriptType: purpose. scriptType)
317321 let transactionSendTimer = TransactionSendTimer ( interval: 60 )
318322 let transactionSenderInstance = TransactionSender ( transactionSyncer: pendingTransactionSyncer, initialBlockDownload: initialDownload, peerManager: peerManager, storage: storage, timer: transactionSendTimer, logger: logger)
@@ -323,7 +327,7 @@ public class BitcoinCoreBuilder {
323327
324328 transactionSendTimer. delegate = transactionSender
325329
326- transactionCreator = TransactionCreator ( transactionBuilder: transactionBuilder, transactionProcessor: pendingTransactionProcessor, transactionSender: transactionSenderInstance, bloomFilterManager: bloomFilterManager, signer: self . signer ?? TransactionSigner ( ecdsaInputSigner : ecdsaInputSigner , schnorrInputSigner : schnorrInputSigner ) )
330+ transactionCreator = TransactionCreator ( transactionBuilder: transactionBuilder, transactionProcessor: pendingTransactionProcessor, transactionSender: transactionSenderInstance, bloomFilterManager: bloomFilterManager, signer: self . signer! )
327331 }
328332 let mempoolTransactions = MempoolTransactions ( transactionSyncer: pendingTransactionSyncer, transactionSender: transactionSender)
329333
0 commit comments