Skip to content

Commit 99b0246

Browse files
Support (de)ser for Path::blinded_tails in events
1 parent 48d2095 commit 99b0246

File tree

1 file changed

+21
-23
lines changed

1 file changed

+21
-23
lines changed

lightning/src/events/mod.rs

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ use crate::routing::gossip::NetworkUpdate;
3030
use crate::util::errors::APIError;
3131
use crate::util::ser::{BigSize, FixedLengthReader, Writeable, Writer, MaybeReadable, Readable, RequiredWrapper, UpgradableRequired, WithoutLength};
3232
use crate::util::string::UntrustedString;
33-
use crate::routing::router::{Path, RouteHop, RouteParameters};
33+
use crate::routing::router::{BlindedTail, Path, RouteHop, RouteParameters};
3434

3535
use bitcoin::{PackedLockTime, Transaction, OutPoint};
3636
#[cfg(anchors)]
@@ -941,6 +941,7 @@ impl Writeable for Event {
941941
(0, payment_id, required),
942942
(2, payment_hash, option),
943943
(4, path.hops, vec_type),
944+
(6, path.blinded_tail, option),
944945
})
945946
},
946947
&Event::PaymentFailed { ref payment_id, ref payment_hash, ref reason } => {
@@ -971,6 +972,7 @@ impl Writeable for Event {
971972
(0, payment_id, required),
972973
(2, payment_hash, required),
973974
(4, path.hops, vec_type),
975+
(6, path.blinded_tail, option),
974976
})
975977
},
976978
&Event::ProbeFailed { ref payment_id, ref payment_hash, ref path, ref short_channel_id } => {
@@ -980,6 +982,7 @@ impl Writeable for Event {
980982
(2, payment_hash, required),
981983
(4, path.hops, vec_type),
982984
(6, short_channel_id, option),
985+
(8, path.blinded_tail, option),
983986
})
984987
},
985988
&Event::HTLCHandlingFailed { ref prev_channel_id, ref failed_next_destination } => {
@@ -1107,6 +1110,7 @@ impl MaybeReadable for Event {
11071110
let mut payment_hash = PaymentHash([0; 32]);
11081111
let mut payment_failed_permanently = false;
11091112
let mut network_update = None;
1113+
let mut blinded_tail: Option<BlindedTail> = None;
11101114
let mut path: Option<Vec<RouteHop>> = Some(vec![]);
11111115
let mut short_channel_id = None;
11121116
let mut payment_id = None;
@@ -1115,6 +1119,7 @@ impl MaybeReadable for Event {
11151119
(0, payment_hash, required),
11161120
(1, network_update, upgradable_option),
11171121
(2, payment_failed_permanently, required),
1122+
(4, blinded_tail, option),
11181123
(5, path, vec_type),
11191124
(7, short_channel_id, option),
11201125
(11, payment_id, option),
@@ -1126,7 +1131,7 @@ impl MaybeReadable for Event {
11261131
payment_hash,
11271132
payment_failed_permanently,
11281133
failure,
1129-
path: Path { hops: path.unwrap(), blinded_tail: None },
1134+
path: Path { hops: path.unwrap(), blinded_tail },
11301135
short_channel_id,
11311136
#[cfg(test)]
11321137
error_code,
@@ -1229,18 +1234,16 @@ impl MaybeReadable for Event {
12291234
},
12301235
13u8 => {
12311236
let f = || {
1232-
let mut payment_id = PaymentId([0; 32]);
1233-
let mut payment_hash = None;
1234-
let mut path: Option<Vec<RouteHop>> = Some(vec![]);
1235-
read_tlv_fields!(reader, {
1237+
_init_and_read_tlv_fields!(reader, {
12361238
(0, payment_id, required),
12371239
(2, payment_hash, option),
12381240
(4, path, vec_type),
1241+
(6, blinded_tail, option),
12391242
});
12401243
Ok(Some(Event::PaymentPathSuccessful {
1241-
payment_id,
1244+
payment_id: payment_id.0.unwrap(),
12421245
payment_hash,
1243-
path: Path { hops: path.unwrap(), blinded_tail: None },
1246+
path: Path { hops: path.unwrap(), blinded_tail },
12441247
}))
12451248
};
12461249
f()
@@ -1290,38 +1293,33 @@ impl MaybeReadable for Event {
12901293
},
12911294
21u8 => {
12921295
let f = || {
1293-
let mut payment_id = PaymentId([0; 32]);
1294-
let mut payment_hash = PaymentHash([0; 32]);
1295-
let mut path: Option<Vec<RouteHop>> = Some(vec![]);
1296-
read_tlv_fields!(reader, {
1296+
_init_and_read_tlv_fields!(reader, {
12971297
(0, payment_id, required),
12981298
(2, payment_hash, required),
12991299
(4, path, vec_type),
1300+
(6, blinded_tail, option),
13001301
});
13011302
Ok(Some(Event::ProbeSuccessful {
1302-
payment_id,
1303-
payment_hash,
1304-
path: Path { hops: path.unwrap(), blinded_tail: None },
1303+
payment_id: payment_id.0.unwrap(),
1304+
payment_hash: payment_hash.0.unwrap(),
1305+
path: Path { hops: path.unwrap(), blinded_tail },
13051306
}))
13061307
};
13071308
f()
13081309
},
13091310
23u8 => {
13101311
let f = || {
1311-
let mut payment_id = PaymentId([0; 32]);
1312-
let mut payment_hash = PaymentHash([0; 32]);
1313-
let mut path: Option<Vec<RouteHop>> = Some(vec![]);
1314-
let mut short_channel_id = None;
1315-
read_tlv_fields!(reader, {
1312+
_init_and_read_tlv_fields!(reader, {
13161313
(0, payment_id, required),
13171314
(2, payment_hash, required),
13181315
(4, path, vec_type),
13191316
(6, short_channel_id, option),
1317+
(8, blinded_tail, option),
13201318
});
13211319
Ok(Some(Event::ProbeFailed {
1322-
payment_id,
1323-
payment_hash,
1324-
path: Path { hops: path.unwrap(), blinded_tail: None },
1320+
payment_id: payment_id.0.unwrap(),
1321+
payment_hash: payment_hash.0.unwrap(),
1322+
path: Path { hops: path.unwrap(), blinded_tail },
13251323
short_channel_id,
13261324
}))
13271325
};

0 commit comments

Comments
 (0)