Skip to content

Commit 6823642

Browse files
committed
add amount_forwarded_msat field to PaymentForwarded event
1 parent 3c02e50 commit 6823642

File tree

4 files changed

+16
-6
lines changed

4 files changed

+16
-6
lines changed

lightning/src/ln/channelmanager.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4151,6 +4151,7 @@ where
41514151
claim_from_onchain_tx: from_onchain,
41524152
prev_channel_id,
41534153
next_channel_id,
4154+
amount_forwarded_msat: forwarded_htlc_value_msat,
41544155
}})
41554156
} else { None }
41564157
});

lightning/src/ln/functional_test_utils.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1781,7 +1781,7 @@ macro_rules! expect_payment_forwarded {
17811781
let events = $node.node.get_and_clear_pending_events();
17821782
assert_eq!(events.len(), 1);
17831783
match events[0] {
1784-
Event::PaymentForwarded { fee_earned_msat, prev_channel_id, claim_from_onchain_tx, next_channel_id } => {
1784+
Event::PaymentForwarded { fee_earned_msat, prev_channel_id, claim_from_onchain_tx, next_channel_id, amount_forwarded_msat } => {
17851785
assert_eq!(fee_earned_msat, $expected_fee);
17861786
if fee_earned_msat.is_some() {
17871787
// Is the event prev_channel_id in one of the channels between the two nodes?

lightning/src/ln/functional_tests.rs

+6-3
Original file line numberDiff line numberDiff line change
@@ -2731,20 +2731,22 @@ fn test_htlc_on_chain_success() {
27312731
}
27322732
let chan_id = Some(chan_1.2);
27332733
match forwarded_events[1] {
2734-
Event::PaymentForwarded { fee_earned_msat, prev_channel_id, claim_from_onchain_tx, next_channel_id } => {
2734+
Event::PaymentForwarded { fee_earned_msat, prev_channel_id, claim_from_onchain_tx, next_channel_id, amount_forwarded_msat } => {
27352735
assert_eq!(fee_earned_msat, Some(1000));
27362736
assert_eq!(prev_channel_id, chan_id);
27372737
assert_eq!(claim_from_onchain_tx, true);
27382738
assert_eq!(next_channel_id, Some(chan_2.2));
2739+
assert_eq!(amount_forwarded_msat, Some(3000000));
27392740
},
27402741
_ => panic!()
27412742
}
27422743
match forwarded_events[2] {
2743-
Event::PaymentForwarded { fee_earned_msat, prev_channel_id, claim_from_onchain_tx, next_channel_id } => {
2744+
Event::PaymentForwarded { fee_earned_msat, prev_channel_id, claim_from_onchain_tx, next_channel_id, amount_forwarded_msat } => {
27442745
assert_eq!(fee_earned_msat, Some(1000));
27452746
assert_eq!(prev_channel_id, chan_id);
27462747
assert_eq!(claim_from_onchain_tx, true);
27472748
assert_eq!(next_channel_id, Some(chan_2.2));
2749+
assert_eq!(amount_forwarded_msat, Some(3000000));
27482750
},
27492751
_ => panic!()
27502752
}
@@ -4653,11 +4655,12 @@ fn test_onchain_to_onchain_claim() {
46534655
_ => panic!("Unexpected event"),
46544656
}
46554657
match events[1] {
4656-
Event::PaymentForwarded { fee_earned_msat, prev_channel_id, claim_from_onchain_tx, next_channel_id } => {
4658+
Event::PaymentForwarded { fee_earned_msat, prev_channel_id, claim_from_onchain_tx, next_channel_id, amount_forwarded_msat } => {
46574659
assert_eq!(fee_earned_msat, Some(1000));
46584660
assert_eq!(prev_channel_id, Some(chan_1.2));
46594661
assert_eq!(claim_from_onchain_tx, true);
46604662
assert_eq!(next_channel_id, Some(chan_2.2));
4663+
assert_eq!(amount_forwarded_msat, Some(3000000));
46614664
},
46624665
_ => panic!("Unexpected event"),
46634666
}

lightning/src/util/events.rs

+8-2
Original file line numberDiff line numberDiff line change
@@ -821,6 +821,9 @@ pub enum Event {
821821
/// If this is `true`, the forwarded HTLC was claimed by our counterparty via an on-chain
822822
/// transaction.
823823
claim_from_onchain_tx: bool,
824+
/// The final amount forwarded, in milli-satoshis, after the fee is deducted.
825+
/// The caveat described above the `fee_earned_msat` field applies here as well.
826+
amount_forwarded_msat: Option<u64>,
824827
},
825828
/// Used to indicate that a channel with the given `channel_id` is ready to
826829
/// be used. This event is emitted either when the funding transaction has been confirmed
@@ -1038,13 +1041,14 @@ impl Writeable for Event {
10381041
(8, expected_outbound_amount_msat, required),
10391042
});
10401043
}
1041-
&Event::PaymentForwarded { fee_earned_msat, prev_channel_id, claim_from_onchain_tx, next_channel_id } => {
1044+
&Event::PaymentForwarded { fee_earned_msat, prev_channel_id, claim_from_onchain_tx, next_channel_id, amount_forwarded_msat } => {
10421045
7u8.write(writer)?;
10431046
write_tlv_fields!(writer, {
10441047
(0, fee_earned_msat, option),
10451048
(1, prev_channel_id, option),
10461049
(2, claim_from_onchain_tx, required),
10471050
(3, next_channel_id, option),
1051+
(4, amount_forwarded_msat, option),
10481052
});
10491053
},
10501054
&Event::ChannelClosed { ref channel_id, ref user_channel_id, ref reason } => {
@@ -1296,13 +1300,15 @@ impl MaybeReadable for Event {
12961300
let mut prev_channel_id = None;
12971301
let mut claim_from_onchain_tx = false;
12981302
let mut next_channel_id = None;
1303+
let mut amount_forwarded_msat = None;
12991304
read_tlv_fields!(reader, {
13001305
(0, fee_earned_msat, option),
13011306
(1, prev_channel_id, option),
13021307
(2, claim_from_onchain_tx, required),
13031308
(3, next_channel_id, option),
1309+
(4, amount_forwarded_msat, option),
13041310
});
1305-
Ok(Some(Event::PaymentForwarded { fee_earned_msat, prev_channel_id, claim_from_onchain_tx, next_channel_id }))
1311+
Ok(Some(Event::PaymentForwarded { fee_earned_msat, prev_channel_id, claim_from_onchain_tx, next_channel_id, amount_forwarded_msat }))
13061312
};
13071313
f()
13081314
},

0 commit comments

Comments
 (0)