mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-02-25 15:20:24 +01:00
Add a ChannelValueStat getter to simplify tests
This commit is contained in:
parent
dc4a8c1de2
commit
c6cc30d9d7
1 changed files with 35 additions and 0 deletions
|
@ -44,6 +44,17 @@ pub struct ChannelKeys {
|
|||
pub commitment_seed: [u8; 32],
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
pub struct ChannelValueStat {
|
||||
pub value_to_self_msat: u64,
|
||||
pub channel_value_msat: u64,
|
||||
pub channel_reserve_msat: u64,
|
||||
pub pending_outbound_htlcs_amount_msat: u64,
|
||||
pub pending_inbound_htlcs_amount_msat: u64,
|
||||
pub holding_cell_outbound_amount_msat: u64,
|
||||
pub their_max_htlc_value_in_flight_msat: u64, // outgoing
|
||||
}
|
||||
|
||||
impl ChannelKeys {
|
||||
pub fn new_from_seed(seed: &[u8; 32]) -> Result<ChannelKeys, secp256k1::Error> {
|
||||
let mut prk = [0; 32];
|
||||
|
@ -2352,6 +2363,30 @@ impl Channel {
|
|||
&self.local_keys
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
pub fn get_value_stat(&self) -> ChannelValueStat {
|
||||
ChannelValueStat {
|
||||
value_to_self_msat: self.value_to_self_msat,
|
||||
channel_value_msat: self.channel_value_satoshis * 1000,
|
||||
channel_reserve_msat: self.their_channel_reserve_satoshis * 1000,
|
||||
pending_outbound_htlcs_amount_msat: self.pending_outbound_htlcs.iter().map(|ref h| h.amount_msat).sum::<u64>(),
|
||||
pending_inbound_htlcs_amount_msat: self.pending_inbound_htlcs.iter().map(|ref h| h.amount_msat).sum::<u64>(),
|
||||
holding_cell_outbound_amount_msat: {
|
||||
let mut res = 0;
|
||||
for h in self.holding_cell_htlc_updates.iter() {
|
||||
match &h {
|
||||
&HTLCUpdateAwaitingACK::AddHTLC{amount_msat, .. } => {
|
||||
res += amount_msat;
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
res
|
||||
},
|
||||
their_max_htlc_value_in_flight_msat: self.their_max_htlc_value_in_flight_msat,
|
||||
}
|
||||
}
|
||||
|
||||
/// Allowed in any state (including after shutdown)
|
||||
pub fn get_channel_update_count(&self) -> u32 {
|
||||
self.channel_update_count
|
||||
|
|
Loading…
Add table
Reference in a new issue