You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Provide non-dust HTLC sources separately for holder commitment updates
Currently, non-dust HTLCs are duplicated across the commitment
transaction itself, and the full set of HTLCs (dust & non-dust) along
with their `HTLCSource` considered in the commitment transaction. As of
v0.0.15, we've had support for providing non-dust HTLC sources
separately such that we no longer track duplicate non-dust HTLC data,
but only enabled it under testing environments. This commit enables it
such that it always happens.
Note that we still need to support reading
`ChannelMonitorUpdateStep::LatestHolderCommitmentTXInfo` updates that
did not separate the non-dust HTLC sources in case they were written in
an older version and they've yet to be processed.
return Err(ChannelError::close(format!("Got wrong number of HTLC signatures ({}) from remote. It must be {}", msg.htlc_signatures.len(), commitment_stats.num_nondust_htlcs)));
3532
3532
}
3533
3533
3534
-
// Up to LDK 0.0.115, HTLC information was required to be duplicated in the
3535
-
// `htlcs_and_sigs` vec and in the `holder_commitment_tx` itself, both of which were passed
3536
-
// in the `ChannelMonitorUpdate`. In 0.0.115, support for having a separate set of
3537
-
// outbound-non-dust-HTLCSources in the `ChannelMonitorUpdate` was added, however for
3538
-
// backwards compatibility, we never use it in production. To provide test coverage, here,
3539
-
// we randomly decide (in test/fuzzing builds) to use the new vec sometimes.
0 commit comments