Skip to content

Commit 760e6a8

Browse files
committed
f - support downgrades
1 parent 1cc96c8 commit 760e6a8

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

lightning/src/events/mod.rs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1553,10 +1553,15 @@ impl Writeable for Event {
15531553
},
15541554
&Event::PaymentFailed { ref payment_id, ref payment_hash, ref reason } => {
15551555
15u8.write(writer)?;
1556+
let (payment_hash, invoice_received) = match payment_hash {
1557+
Some(payment_hash) => (payment_hash, true),
1558+
None => (&PaymentHash([0; 32]), false),
1559+
};
15561560
write_tlv_fields!(writer, {
15571561
(0, payment_id, required),
15581562
(1, reason, option),
1559-
(2, payment_hash, option),
1563+
(2, payment_hash, required),
1564+
(3, invoice_received, required),
15601565
})
15611566
},
15621567
&Event::OpenChannelRequest { .. } => {
@@ -1927,17 +1932,19 @@ impl MaybeReadable for Event {
19271932
},
19281933
15u8 => {
19291934
let mut f = || {
1930-
let mut payment_hash = None;
1935+
let mut payment_hash = PaymentHash([0; 32]);
19311936
let mut payment_id = PaymentId([0; 32]);
19321937
let mut reason = None;
1938+
let mut invoice_received = true;
19331939
read_tlv_fields!(reader, {
19341940
(0, payment_id, required),
19351941
(1, reason, upgradable_option),
1936-
(2, payment_hash, option),
1942+
(2, payment_hash, required),
1943+
(3, invoice_received, (default_value, true)),
19371944
});
19381945
Ok(Some(Event::PaymentFailed {
19391946
payment_id,
1940-
payment_hash,
1947+
payment_hash: invoice_received.then(|| payment_hash),
19411948
reason,
19421949
}))
19431950
};

0 commit comments

Comments
 (0)