Skip to content

Commit 158f4c6

Browse files
Support (de)ser for Path::blinded_tails in events
1 parent 19f3830 commit 158f4c6

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)]
@@ -901,6 +901,7 @@ impl Writeable for Event {
901901
(0, payment_id, required),
902902
(2, payment_hash, option),
903903
(4, path.hops, vec_type),
904+
(6, path.blinded_tail, option),
904905
})
905906
},
906907
&Event::PaymentFailed { ref payment_id, ref payment_hash } => {
@@ -930,6 +931,7 @@ impl Writeable for Event {
930931
(0, payment_id, required),
931932
(2, payment_hash, required),
932933
(4, path.hops, vec_type),
934+
(6, path.blinded_tail, option),
933935
})
934936
},
935937
&Event::ProbeFailed { ref payment_id, ref payment_hash, ref path, ref short_channel_id } => {
@@ -939,6 +941,7 @@ impl Writeable for Event {
939941
(2, payment_hash, required),
940942
(4, path.hops, vec_type),
941943
(6, short_channel_id, option),
944+
(8, path.blinded_tail, option),
942945
})
943946
},
944947
&Event::HTLCHandlingFailed { ref prev_channel_id, ref failed_next_destination } => {
@@ -1066,6 +1069,7 @@ impl MaybeReadable for Event {
10661069
let mut payment_hash = PaymentHash([0; 32]);
10671070
let mut payment_failed_permanently = false;
10681071
let mut network_update = None;
1072+
let mut blinded_tail: Option<BlindedTail> = None;
10691073
let mut path: Option<Vec<RouteHop>> = Some(vec![]);
10701074
let mut short_channel_id = None;
10711075
let mut payment_id = None;
@@ -1074,6 +1078,7 @@ impl MaybeReadable for Event {
10741078
(0, payment_hash, required),
10751079
(1, network_update, upgradable_option),
10761080
(2, payment_failed_permanently, required),
1081+
(4, blinded_tail, option),
10771082
(5, path, vec_type),
10781083
(7, short_channel_id, option),
10791084
(11, payment_id, option),
@@ -1085,7 +1090,7 @@ impl MaybeReadable for Event {
10851090
payment_hash,
10861091
payment_failed_permanently,
10871092
failure,
1088-
path: Path { hops: path.unwrap(), blinded_tail: None },
1093+
path: Path { hops: path.unwrap(), blinded_tail },
10891094
short_channel_id,
10901095
#[cfg(test)]
10911096
error_code,
@@ -1188,18 +1193,16 @@ impl MaybeReadable for Event {
11881193
},
11891194
13u8 => {
11901195
let f = || {
1191-
let mut payment_id = PaymentId([0; 32]);
1192-
let mut payment_hash = None;
1193-
let mut path: Option<Vec<RouteHop>> = Some(vec![]);
1194-
read_tlv_fields!(reader, {
1196+
_init_and_read_tlv_fields!(reader, {
11951197
(0, payment_id, required),
11961198
(2, payment_hash, option),
11971199
(4, path, vec_type),
1200+
(6, blinded_tail, option),
11981201
});
11991202
Ok(Some(Event::PaymentPathSuccessful {
1200-
payment_id,
1203+
payment_id: payment_id.0.unwrap(),
12011204
payment_hash,
1202-
path: Path { hops: path.unwrap(), blinded_tail: None },
1205+
path: Path { hops: path.unwrap(), blinded_tail },
12031206
}))
12041207
};
12051208
f()
@@ -1246,38 +1249,33 @@ impl MaybeReadable for Event {
12461249
},
12471250
21u8 => {
12481251
let f = || {
1249-
let mut payment_id = PaymentId([0; 32]);
1250-
let mut payment_hash = PaymentHash([0; 32]);
1251-
let mut path: Option<Vec<RouteHop>> = Some(vec![]);
1252-
read_tlv_fields!(reader, {
1252+
_init_and_read_tlv_fields!(reader, {
12531253
(0, payment_id, required),
12541254
(2, payment_hash, required),
12551255
(4, path, vec_type),
1256+
(6, blinded_tail, option),
12561257
});
12571258
Ok(Some(Event::ProbeSuccessful {
1258-
payment_id,
1259-
payment_hash,
1260-
path: Path { hops: path.unwrap(), blinded_tail: None },
1259+
payment_id: payment_id.0.unwrap(),
1260+
payment_hash: payment_hash.0.unwrap(),
1261+
path: Path { hops: path.unwrap(), blinded_tail },
12611262
}))
12621263
};
12631264
f()
12641265
},
12651266
23u8 => {
12661267
let f = || {
1267-
let mut payment_id = PaymentId([0; 32]);
1268-
let mut payment_hash = PaymentHash([0; 32]);
1269-
let mut path: Option<Vec<RouteHop>> = Some(vec![]);
1270-
let mut short_channel_id = None;
1271-
read_tlv_fields!(reader, {
1268+
_init_and_read_tlv_fields!(reader, {
12721269
(0, payment_id, required),
12731270
(2, payment_hash, required),
12741271
(4, path, vec_type),
12751272
(6, short_channel_id, option),
1273+
(8, blinded_tail, option),
12761274
});
12771275
Ok(Some(Event::ProbeFailed {
1278-
payment_id,
1279-
payment_hash,
1280-
path: Path { hops: path.unwrap(), blinded_tail: None },
1276+
payment_id: payment_id.0.unwrap(),
1277+
payment_hash: payment_hash.0.unwrap(),
1278+
path: Path { hops: path.unwrap(), blinded_tail },
12811279
short_channel_id,
12821280
}))
12831281
};

0 commit comments

Comments
 (0)