| 107 | } |
| 108 | |
| 109 | fn deserialize_txin<R: borsh::io::Read>(reader: &mut R) -> borsh::io::Result<TxIn> { |
| 110 | let txid = bitcoin::Txid::from_byte_array(<[u8; 32]>::deserialize_reader(reader)?); |
| 111 | let vout = u32::deserialize_reader(reader)?; |
| 112 | let script_sig = ScriptBuf::from_bytes(Vec::<u8>::deserialize_reader(reader)?); |
| 113 | let sequence = Sequence(u32::deserialize_reader(reader)?); |
| 114 | let witness = Witness::from(Vec::<Vec<u8>>::deserialize_reader(reader)?); |
| 115 | |
| 116 | Ok(TxIn { |
| 117 | previous_output: OutPoint { txid, vout }, |
| 118 | script_sig, |
| 119 | sequence, |
| 120 | witness, |
| 121 | }) |
| 122 | } |
| 123 | |
| 124 | fn serialize_txout<W: borsh::io::Write>(txout: &TxOut, writer: &mut W) -> borsh::io::Result<()> { |
| 125 | BorshSerialize::serialize(&txout.value.to_sat(), writer)?; |