diff --git a/node/src/actors/chain_manager/handlers.rs b/node/src/actors/chain_manager/handlers.rs index e8505b2b6..693b9584d 100644 --- a/node/src/actors/chain_manager/handlers.rs +++ b/node/src/actors/chain_manager/handlers.rs @@ -1306,25 +1306,17 @@ impl Handler for ChainManager { Box::pin(actix::fut::err(e.into())) } Ok(vtt) => { - let fut = signature_mngr::sign_transaction(&vtt, vtt.inputs.len()) - .into_actor(self) - .then(|s, _act, _ctx| match s { - Ok(_signatures) => { - let multi_sig_witness = witnet_stack::encode(vec![]).unwrap(); - let num_inputs = vtt.inputs.len(); - let transaction = Transaction::ValueTransfer(VTTransaction { - body: vtt, - witness: vec![multi_sig_witness; num_inputs], - }); - actix::fut::result(Ok(transaction)) - } - Err(e) => { - log::error!("Failed to sign value transfer transaction: {}", e); - actix::fut::result(Err(e)) - } - }); + // Script transactions are not signed by this method because the witness may need + // something more aside from a single signature, so script transactions need to be + // manually signed using other methods. + let empty_witness = witnet_stack::encode(vec![]).unwrap(); + let num_inputs = vtt.inputs.len(); + let transaction = Transaction::ValueTransfer(VTTransaction { + body: vtt, + witness: vec![empty_witness; num_inputs], + }); - Box::pin(fut) + Box::pin(actix::fut::result(Ok(transaction))) } } }