Skip to content

Commit 16ed31a

Browse files
OttoAllmendingerllm-git
andcommitted
feat(wasm-utxo): add final script sig and witness to PSBT parsing
Add support for parsing final_script_sig and final_script_witness fields from PSBT inputs, enhancing transaction debugging capabilities. Issue: BTC-0 Co-authored-by: llm-git <llm-git@ttll.de>
1 parent b747706 commit 16ed31a

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

  • packages/wasm-utxo/src/parse_node

packages/wasm-utxo/src/parse_node/psbt.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,24 @@ fn psbt_input_to_node(input: &crate::bitcoin::psbt::Input, index: usize, network
356356
input_node.add_child(script_buf_to_node("witness_script", witness_script))
357357
}
358358

359+
if let Some(final_script_sig) = &input.final_script_sig {
360+
input_node.add_child(script_buf_to_node("final_script_sig", final_script_sig));
361+
}
362+
363+
if let Some(final_script_witness) = &input.final_script_witness {
364+
let mut witness_node = Node::new(
365+
"final_script_witness",
366+
Primitive::U64(final_script_witness.len() as u64),
367+
);
368+
for (i, item) in final_script_witness.iter().enumerate() {
369+
witness_node.add_child(Node::new(
370+
format!("item_{}", i),
371+
Primitive::Buffer(item.to_vec()),
372+
));
373+
}
374+
input_node.add_child(witness_node);
375+
}
376+
359377
let mut sigs_node = Node::new(
360378
"signatures",
361379
Primitive::U64(input.partial_sigs.len() as u64),

0 commit comments

Comments
 (0)