Skip to content

Commit 71d90e1

Browse files
committed
f try clean up TxAddInput Readable impl
1 parent cfbedb1 commit 71d90e1

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

lightning/src/ln/msgs.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
//! raw socket events into your non-internet-facing system and then send routing events back to
2525
//! track the network on the less-secure system.
2626
27-
use bitcoin::consensus::deserialize;
2827
use bitcoin::secp256k1::PublicKey;
2928
use bitcoin::secp256k1::ecdsa::Signature;
3029
use bitcoin::{secp256k1, Witness, Transaction};
@@ -1586,12 +1585,10 @@ impl Readable for TxAddInput {
15861585
fn read<R: Read>(r: &mut R) -> Result<Self, DecodeError> {
15871586
let channel_id = Readable::read(r)?;
15881587
let serial_id = Readable::read(r)?;
1589-
let prevtx_len: u16 = Readable::read(r)?;
1590-
let mut prevtx_bytes: Vec<u8> = Vec::with_capacity(prevtx_len as usize);
1591-
for _ in 0..prevtx_len {
1592-
prevtx_bytes.push(Readable::read(r)?);
1593-
}
1594-
let prevtx = deserialize(&prevtx_bytes).map_err(|_| DecodeError::InvalidValue)?;
1588+
let prevtx_len = <u16 as Readable>::read(r)? as usize;
1589+
let mut prevtx_buf = vec![0; prevtx_len];
1590+
r.read_exact(&mut prevtx_buf)?;
1591+
let prevtx: Transaction = Readable::read(&mut prevtx_buf.as_slice())?;
15951592
let prevtx_out = Readable::read(r)?;
15961593
let sequence = Readable::read(r)?;
15971594

0 commit comments

Comments
 (0)