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_data.stats.tx.htlcs().len())));
3542
3542
}
3543
3543
3544
-
// Up to LDK 0.0.115, HTLC information was required to be duplicated in the
3545
-
// `htlcs_and_sigs` vec and in the `holder_commitment_tx` itself, both of which were passed
3546
-
// in the `ChannelMonitorUpdate`. In 0.0.115, support for having a separate set of
3547
-
// outbound-non-dust-HTLCSources in the `ChannelMonitorUpdate` was added, however for
3548
-
// backwards compatibility, we never use it in production. To provide test coverage, here,
3549
-
// we randomly decide (in test/fuzzing builds) to use the new vec sometimes.
0 commit comments