@@ -3880,11 +3880,12 @@ impl<ChanSigner: ChannelKeys> Channel<ChanSigner> {
3880
3880
htlcs. push ( htlc) ;
3881
3881
}
3882
3882
3883
- let pre_remote_keys = PreCalculatedTxCreationKeys :: new ( remote_keys. clone ( ) ) ;
3883
+ let pre_remote_keys = PreCalculatedTxCreationKeys :: new ( remote_keys) ;
3884
3884
let res = self . local_keys . sign_remote_commitment ( feerate_per_kw, & remote_commitment_tx. 0 , & pre_remote_keys, & htlcs, & self . secp_ctx )
3885
3885
. map_err ( |_| ChannelError :: Close ( "Failed to get signatures for new commitment_signed" . to_owned ( ) ) ) ?;
3886
3886
signature = res. 0 ;
3887
3887
htlc_signatures = res. 1 ;
3888
+ let remote_keys = pre_remote_keys. trust_key_derivation ( ) ;
3888
3889
3889
3890
log_trace ! ( logger, "Signed remote commitment tx {} with redeemscript {} -> {}" ,
3890
3891
encode:: serialize_hex( & remote_commitment_tx. 0 ) ,
@@ -3894,7 +3895,7 @@ impl<ChanSigner: ChannelKeys> Channel<ChanSigner> {
3894
3895
for ( ref htlc_sig, ref htlc) in htlc_signatures. iter ( ) . zip ( htlcs) {
3895
3896
log_trace ! ( logger, "Signed remote HTLC tx {} with redeemscript {} with pubkey {} -> {}" ,
3896
3897
encode:: serialize_hex( & chan_utils:: build_htlc_transaction( & remote_commitment_tx. 0 . txid( ) , feerate_per_kw, self . our_to_self_delay, htlc, & remote_keys. a_delayed_payment_key, & remote_keys. revocation_key) ) ,
3897
- encode:: serialize_hex( & chan_utils:: get_htlc_redeemscript( & htlc, & remote_keys) ) ,
3898
+ encode:: serialize_hex( & chan_utils:: get_htlc_redeemscript( & htlc, remote_keys) ) ,
3898
3899
log_bytes!( remote_keys. a_htlc_key. serialize( ) ) ,
3899
3900
log_bytes!( htlc_sig. serialize_compact( ) [ ..] ) ) ;
3900
3901
}
0 commit comments